#config Scanner=2 #config Weapon=2 #config Armor=5 #config Engine=3 #config Heatsinks=0 #def turnOffset MOV turnOffset 32 MOV AX 1 INT I_KEEPSHIFT !scanArc64 OUT P_SCANARC 64 !rescan64 OUT P_STEERING 8 OUT P_THROTTLE 100 IN P_SCAN AX MOV BX @3 ADD BX 6402 JNE BX JEQ BX :6402 CMP AX MAXINT JNE !scanArc16 OUT P_OFS_TURRET 128 JEQ !rescan64 :6400 ; -2 OUT P_OFS_TURRET -52 JNE !scanArc8 JEQ !scanArc8 :6404 ; 2 OUT P_OFS_TURRET 52 JNE !scanArc8 JEQ !scanArc8 :6401 ; -1 OUT P_OFS_TURRET -32 JNE !scanArc16 JEQ !scanArc16 :6403 ; 1 OUT P_OFS_TURRET 32 JNE !scanArc16 JEQ !scanArc16 !scanArc16 OUT P_SCANARC 16 !rescan16 IN P_SCAN AX MOV BX @3 ADD BX 1602 JNE BX JEQ BX :1602 CMP AX MAXINT JEQ !scanArc64 JNE !scanArc4 :1600 ; -2 OUT P_OFS_TURRET -13 JNE !scanArc4 JEQ !scanArc4 :1604 ; 2 OUT P_OFS_TURRET 13 JNE !scanArc4 JEQ !scanArc4 :1601 ; -1 OUT P_OFS_TURRET -8 JNE !scanArc4 JEQ !scanArc4 :1603 ; 1 OUT P_OFS_TURRET 8 JNE !scanArc4 JEQ !scanArc4 !scanArc8 OUT P_SCANARC 8 !rescan8 IN P_SCAN AX MOV BX @3 ADD BX 802 JNE BX JEQ BX :802 CMP AX MAXINT JEQ !scanArc16 JNE !scanArc4 :800 ; -2 OUT P_OFS_TURRET -7 JNE !scanArc4 JEQ !scanArc4 :804 ; 2 OUT P_OFS_TURRET 7 JNE !scanArc4 JEQ !scanArc4 :801 ; -1 OUT P_OFS_TURRET -4 JNE !scanArc4 JEQ !scanArc4 :803 ; 1 OUT P_OFS_TURRET 4 JNE !scanArc4 JEQ !scanArc4 !scanArc4 OUT P_SCANARC 4 !rescan4 OUT P_THROTTLE 100 !justrescan4 INT I_ROBOTINFO CMP EX 16 JGR !okay ADD turnOffset 20 !okay MOV AX @2 ADD AX turnOffset OUT P_STEERING AX IN P_SCAN AX MOV BX @3 ADD BX 402 JNE BX JEQ BX :402 CMP AX MAXINT JEQ !scanArc8 !turretAdjust4 IN P_HEAT DX CMP DX 270 JGR !justrescan4 Mov BX @6 Shr BX 3 Add BX 500 Jeq BX Jne BX !directionAdjust CMP DX 230 JGR !justFire INT I_OVERBURN OUT P_FIRE 0 !justFire OUT P_FIRE AX DEC AX OUT P_OFS_TURRET AX MOV AX 0 INT I_OVERBURN Jne !rescan4 Jeq !rescan4 :400 ; -2 OUT P_OFS_TURRET -3 CMP DX 230 JNE !turretAdjust4 JEQ !turretAdjust4 :404 ; 2 OUT P_OFS_TURRET 3 JNE !turretAdjust4 JEQ !turretAdjust4 :401 ; -1 OUT P_OFS_TURRET -1 JNE !turretAdjust4 JEQ !turretAdjust4 :403 ; 1 OUT P_OFS_TURRET -1 JNE !turretAdjust4 JEQ !turretAdjust4 :531 :515 :500 Mov AX 0 Jeq !directionAdjust Jne !directionAdjust :501 :514 Mov AX 1 Jeq !directionAdjust Jne !directionAdjust :502 :503 :512 :513 Mov AX 2 Jeq !directionAdjust Jne !directionAdjust :504 :505 :510 :511 Mov AX 3 Jeq !directionAdjust Jne !directionAdjust :506 :507 :508 :509 Mov AX 4 Jeq !directionAdjust Jne !directionAdjust :516 :517 :529 :530 Mov AX -1 Jeq !directionAdjust Jne !directionAdjust :518 :528 Mov AX -2 Jeq !directionAdjust Jne !directionAdjust :519 :520 :526 :527 Mov AX -3 Jeq !directionAdjust Jne !directionAdjust :521 :522 :523 :524 :525 Mov AX -4 Jeq !directionAdjust Jne !directionAdjust