Вы ищете значение "шага" вашего робота.
Например, этот относительно простой сегмент кода находит ближайший TargetBot, а затем использует значение основного тона плюс некоторую базовую тригонометрию для подачи правильного значения в aim ()
//our variables
object KillMe;
float range;
float ZDif;
float absoluteElevation;
float correctedElevation;
//calculate the angle we need to adjust our cannon
range = distance(this.position, KillMe.position);
absoluteElevation = atan((KillMe.position.z - position.z)/distance(this.position,KillMe.position));
correctedElevation = absoluteElevation - pitch;
aim(correctedElevation);
fire(0.1);
Очевидно, что он не учитывает минимальные / максимальные высоты для конкретного оружия бота, которое вы используете, или минимальную максимальную дальность его применения.