its random but maby this will help The spin force changes at random speeds and it lands where it lands when the movement stops.
public void DoSpin()
{
if ((double) this.velocity > 0.0)
return;
this.velocity += UnityEngine.Random.Range(7f, 10f);
++this.spinNumber;
this.SetTerminalsLocked(true);
}
here is how it gets where it landed.
public HitNumber GetCurrentHitType()
{
HitNumber hitNumber1 = (HitNumber) null;
float num1 = float.PositiveInfinity;
foreach (HitNumber hitNumber2 in this.hitNumbers)
{
float num2 = Vector3.Distance(this.indicator.transform.position, hitNumber2.transform.position);
if ((double) num2 < (double) num1)
{
hitNumber1 = hitNumber2;
num1 = num2;
}
}
return hitNumber1;
}