home *** CD-ROM | disk | FTP | other *** search
/ Game.EXE 2005 May / My Disc.iso / patch / Cossacks 2 / C2_Patch_v1_1.exe / %MAINDIR% / Data / AI / BrigadeAI / Rules.ai < prev   
Encoding:
Text File  |  2005-05-10  |  102.2 KB  |  1,282 lines

  1. #PEHOTASTRELKI UnitFuzNG(EG)
  2. if GetLastCommTime > 0 GetLastCommTime > 1 St_ReadyToFire = 0 DistToMT < 1200 UnitsAmount > 31
  3. do SetReadyToFire 600
  4. if GetLastCommTime > 0 St_ReadyToFire = 1 DistToMT > 1500 GetAloneEnmUnits > 5 UnitsAmount > 31
  5. do SetNotReadyToFire 45
  6. if GetLastCommTime > 0 St_LineFormation = 0 DistToMT < 950 GetTired > 20 UnitsAmount > 31
  7. do FormateToLine 110
  8. if GetLastCommTime > 0 St_March = 1 St_SquareFormation = 0 DistToAim > 1800 DistToMT > 1100 IsEnemOnWay = 0 UnitsAmount > 31
  9. do FormateToSquare 46
  10. if GetLastCommTime > 0 St_March = 1 DistToMT < 1250 St_LineFormation = 0 UnitsAmount > 31
  11. do FormateToLine 111
  12. if GetLastCommTime > 0 St_March = 1 DistToMT < 1250 St_LineFormation = 0 UnitsAmount > 31
  13. do FormateToLine 112
  14. if GetLastCommTime > 2 DistToMT < 750 St_EnableFire = 0 GetFireReady > 80 UnitsAmount > 31
  15. do EnableFire 90
  16. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 IsInBatter > 0 GetTired > 40 DistToMT < 1000 FireForceDifference > -40 UnitsAmount > 31 GetBarrierToMT < 180 GetFrontage > 900
  17. do AttackMT 80
  18. if GetLastCommTime > 0 St_Attack = 0 GetFOOD < 5000 DistToMT < 3000 GetTired > 40 UnitsAmount > 31 GetBarrierToMT < 180
  19. do AttackMT 1
  20. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 DistToMT < 1000 GetTired > 40 IsStandGround = 0 UnitsAmount > 31 FireDanger < 140 GetMeleeForceDiff > 300 GetBarrierToMT < 180 GetFrontage > 900
  21. do AttackMT 81
  22. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 FireReadyMT < 30 GetFireReady > 80 DistToMT < 1000 GetTired > 40 UnitsAmount > 31 GetBarrierToMT < 180 GetFrontage > 900
  23. do AttackMT 82
  24. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 FireReadyMT < 44 GetFireReady > 80 DistToMT < 1000 GetTired > 40 UnitsAmount > 31 GetBarrierToMT < 180 GetFrontage > 900
  25. do AttackMT 83
  26. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 UnitsAmountMT < 80 UnitsAmount > 100 FireReadyMT < 50 GetFireReady > 50 DistToMT < 900 GetTired > 40 UnitsAmount > 31 GetBarrierToMT < 180 GetFrontage > 900
  27. do AttackMT 84
  28. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 St_EnableFire = 0 GetFireReady > 20 GetTired > 40 UnitsAmount > 31 DistToMT < 1000 FireDanger < 20 Encircle > 54 GetBarrierToMT < 180 GetFrontage > 900
  29. do AttackMT 85
  30. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 GetFireReady > 80 DistToMT < 1000 DistToMT > 300 GetTired > 40 UnitsAmount > 31 FireForceDifference > -40 GetBarrierToMT < 180 GetFrontage > 900
  31. do AttackMT 86
  32. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 GetMeleeForceDiff > 120 DistToMT < 1000 GetTired > 40 UnitsAmount > 31 FireForceDifference > 12 GetBarrierToMT < 180 GetFrontage > 900
  33. do AttackMT 87
  34. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 St_EnableFire = 0 GetFireReady > 80 DistToMT < 1000 UnitsAmount > 31 FireDanger < 10 GetTired > 40 GetBarrierToMT < 180 GetFrontage > 900
  35. do AttackMT 88
  36. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 DistToMT < 700 Moral > 70 St_EnableFire = 0 FireReadyMT < 20 HaveReserv = 1 DistToMT < 1000 UnitsAmount > 31 GetTired > 20 GetBarrierToMT < 180 GetFrontage > 900
  37. do AttackMT 89
  38. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 St_EnableFire = 0 GetFireReady < 40 DistToMT < 1000 UnitsAmountMT < 31 GetTired > 40 MoralMT > 700 UnitsAmount > 31 GetBarrierToMT < 180 GetFrontage > 900
  39. do AttackMT 80
  40. if GetLastCommTime > 0 GetLastCommTime > 4 GetStandTime < 1 GetTired < 15 DistToMT > 400 UnitsAmount > 31
  41. do Stop 140
  42. if GetLastCommTime > 0 St_March = 1 GetLastCommTime > 4 St_March = 1 DistToAim < 200 UnitsAmount > 31
  43. do Stop 150
  44. if GetLastCommTime > 0 GetStandTime > 2 IsInBatter > 0 GetTired > 40 DistToMT > 1000 UnitsAmount > 31 GetBarrierToMT < 180
  45. do MoveBack 60
  46. if GetLastCommTime > 0 GetStandTime > 2 IsInBatter > 0 GetTired > 40 DistToMT > 1000 UnitsAmount > 31 GetBarrierToMT < 180
  47. do MoveBack 61
  48. if GetLastCommTime > 0 GetLastCommTime > 1 St_Reserv = 0 GetTired > 40 DistToMT < 700 St_EnableFire = 0 UnitsAmount > 31 GetBarrierToMT < 180 GetMeleeForceDiff < 90
  49. do MoveBack 61
  50. if GetLastCommTime > 0 GetLastCommTime > 1 St_Reserv = 0 GetTired > 40 DistToMT < 700 St_EnableFire = 0 UnitsAmount > 31 GetBarrierToMT < 180 GetMeleeForceDiff > 90 FireReadyMT > 20
  51. do MoveBack 61
  52. if GetLastCommTime > 0 St_Attack = 1 DistToMT < 900 DistToMT > 400 UnitsAmount > 31 Moral < 150 FireDanger > 30 FireForceDifference < -200 GetTired > 30 GetBarrierToMT < 180
  53. do MoveBack 62
  54. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT < 900 DistToMT > 400 UnitsAmount > 31 Moral < 150 FireDanger > 30 FireForceDifference < -200 GetTired > 30 GetBarrierToMT < 180
  55. do MoveBack 62
  56. if GetLastCommTime > 0 St_Attack = 1 DistToMT > 600 DistToMT < 900 UnitsAmount > 31 Moral < 150 FireDanger > 200 GetTired > 30 GetBarrierToMT < 180
  57. do MoveBack 63
  58. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT > 600 DistToMT < 900 UnitsAmount > 31 Moral < 150 FireDanger > 200 GetTired > 30 GetBarrierToMT < 180
  59. do MoveBack 63
  60. if GetLastCommTime > 0 GetStandTime > 2 IsInBatter > 0 GetTired > 40 DistToMT > 1000 UnitsAmount > 31 GetBarrierToMT < 180
  61. do MoveBack 64
  62. if GetLastCommTime > 0 St_Attack = 1 DistToMT < 900 DistToMT > 400 UnitsAmount > 31 Moral < 150 FireDanger > 30 FireForceDifference < -200 GetTired > 30 GetBarrierToMT < 180
  63. do MoveBack 65
  64. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT < 900 DistToMT > 400 UnitsAmount > 31 Moral < 150 FireDanger > 30 FireForceDifference < -200 GetTired > 30 GetBarrierToMT < 180
  65. do MoveBack 65
  66. if GetLastCommTime > 0 St_Attack = 1 DistToMT > 600 DistToMT < 900 UnitsAmount > 31 Moral < 150 FireDanger > 200 GetTired > 30 GetBarrierToMT < 180
  67. do MoveBack 66
  68. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT > 600 DistToMT < 900 UnitsAmount > 31 Moral < 150 FireDanger > 200 GetTired > 30 GetBarrierToMT < 180
  69. do MoveBack 66
  70. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT < 700 GetFireReady < 5 FireDanger > 100 GetTired > 20 UnitsAmount > 31 GetBarrierToMT < 180
  71. do MoveBack 67
  72. if GetLastCommTime > 0 St_Attack = 1 GetFireReady < 5 FireDanger > 40 DistToMT < 1000 Moral < 50 UnitsAmountMT > 31 UnitsAmount > 31 GetBarrierToMT < 180
  73. do MoveBack 68
  74. if GetLastCommTime > 0 GetLastCommTime > 4 GetFireReady < 5 FireDanger > 60 DistToMT < 1000 Moral < 50 UnitsAmountMT > 31 UnitsAmount > 31 GetBarrierToMT < 180
  75. do MoveBack 68
  76. if GetLastCommTime > 0 IsStandGround = 0 St_Reserv = 0 GetStandTime > 2 GetFireReady < 5 DistToMT < 800 DistToMT > 300 FireReadyMT > 90 UnitsAmountMT > 31 GetBarrierToMT < 180
  77. do MoveBack 69
  78. if GetLastCommTime > 0 GetLastCommTime > 4 IsStandGround = 0 St_Attack = 0 Encircle > 54 FireDanger > 100 UnitsAmount > 31 GetFireReady < 30 GetBarrierToMT < 180
  79. do MoveBack 60
  80. if GetLastCommTime > 0 IsStandGround = 1 St_Attack = 0 Encircle > 90 FireDanger > 100 UnitsAmount > 31 GetFireReady < 30 GetBarrierToMT < 180
  81. do MoveBack 61
  82. if GetLastCommTime > 0 St_Attack = 1 IsStandGround = 0 MoralDiff < 70 FireDanger > 100 DistToMT < 1200 DistToMT > 600 GetFireReady < 20 UnitsAmount > 31 GetBarrierToMT < 180
  83. do MoveBack 62
  84. if GetLastCommTime > 0 GetLastCommTime > 4 IsStandGround = 0 MoralDiff < 70 FireDanger > 100 DistToMT < 1200 DistToMT > 600 GetFireReady < 20 UnitsAmount > 31 GetBarrierToMT < 180
  85. do MoveBack 62
  86. if GetLastCommTime > 0 IsStandGround = 1 Moral < 120 MoralDiff < 70 FireDanger > 100 DistToMT < 1200 DistToMT > 600 GetFireReady < 20 UnitsAmount > 31 GetBarrierToMT < 180
  87. do MoveBack 63
  88. if GetLastCommTime > 0 St_Attack = 1 IsStandGround = 0 MoralDiff < 70 FireDanger > 100 DistToMT < 1200 DistToMT > 600 GetFireReady < 20 UnitsAmount > 31 GetBarrierToMT < 180
  89. do MoveBack 64
  90. if GetLastCommTime > 0 GetLastCommTime > 4 IsStandGround = 0 MoralDiff < 70 FireDanger > 100 DistToMT < 1200 DistToMT > 600 GetFireReady < 20 UnitsAmount > 31 GetBarrierToMT < 180
  91. do MoveBack 64
  92. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 DistToMT < 950 DistToMT > 400 IsMTCannon = 1 KartechDanger > 20 UnitsAmount > 31 GetBarrierToMT < 180
  93. do MoveBack 65
  94. ///if GetLastCommTime > 0 St_March = 0 GetTired > 60 DistToMT > 1000 GetFireReady > 98 DistToAim > 200 UnitsAmount > 31
  95. ///do MoveToAim 40
  96. if GetLastCommTime > 0 St_EnableFire = 1 DistToMT > 1500 UnitsAmount > 31
  97. do DisableFire 30
  98. if GetLastCommTime > 0 St_EnableFire = 1 GetFireReady < 2 UnitsAmount > 31
  99. do DisableFire 31
  100. /if GetStandTime > 10 GetLastCommTime > 10 St_Front = 1 DistToMT > 1000 HaveReserv = 1 UnitsAmountMT > 31 UnitsAmount > 31
  101. /do Castle 20
  102. if GetStandTime > 10 GetLastCommTime > 10 St_LineFormation = 1 St_Front = 1 DistToMT < 2500 HaveReserv = 1 UnitsAmountMT > 31 UnitsAmount > 31
  103. do Castle 21
  104. /if GetLastCommTime > 0 IsMTStandGround = 1 FireReadyMT > 20 GetFireReady > 20 IsStandGround = 0 GetStandTime > 2 GetTired > 40 DistToMT < 1100 DistToMT > 500 UnitsAmount > 31 GetBarrierToMT < 180 GetFrontage > 1100
  105. /do TakeInTheRear 18
  106. /if GetLastCommTime > 0 St_Reserv = 1 GetStandTime > 20 IsStandGround = 0 GetFireReady > 20 IsStandGround = 0 GetStandTime > 2 GetTired > 40 DistToMT < 1100 DistToMT > 500 UnitsAmount > 31 GetBarrierToMT < 180 GetFrontage > 1100
  107. /do TakeInTheRear 19
  108. if GetLastCommTime > 0 GetStandTime < 1 St_EnableFire = 0 DistToMT > 1000 GetFireReady < 40 GetAloneEnmUnits > 5 UnitsAmount > 31 GetTired > 40
  109. do AttackAloneEnmUnits 15
  110. if GetLastCommTime > 0 GetStandTime > 2 St_EnableFire = 0 DistToMT > 1000 GetFireReady < 40 GetAloneEnmUnits > 5 UnitsAmount > 31 GetTired > 40
  111. do AttackAloneEnmUnits 15
  112. if GetLastCommTime > 0 GetStandTime > 2 St_EnableFire = 1 DistToMT > 1000 GetFireReady < 40 GetAloneEnmUnits > 5 UnitsAmount > 31 GetTired > 40
  113. do AttackAloneEnmUnits 15
  114. if GetLastCommTime > 0 GetLastCommTime > 2 St_EnableFire = 0 GetFireReady > 90 GetAloneEnmUnits > 25 UnitsAmount > 31 GetTired > 40
  115. do EnableFire 91
  116. if GetLastCommTime > 0 GetStandTime < 1 GetNGrenades > 2 DistToMT < 500 St_Attack = 1 UnitsAmount > 31 IsMTStandGround = 0 GetMTStandTime > 20
  117. do ThrowGrenade 120
  118. if GetLastCommTime > 0 GetStandTime > 2 GetNGrenades > 2 DistToMT < 500 UnitsAmount > 31 IsMTStandGround = 0 GetMTStandTime > 20
  119. do ThrowGrenade 120
  120.  
  121. if GetLastCommTime > 0 GetStandTime > 5 St_Reserv = 1 St_Attack = 0 GetFireReady > 80 GetTired > 70 UnitsAmount > 31 DistInReserv < 70 DistToMT < 2200 DistToMT > 500
  122. do KeepDistInReserv 13
  123. if GetLastCommTime > 0 GetStandTime > 5 St_Reserv = 1 St_Attack = 0 GetTired > 70 GetFireReady > 80 UnitsAmount > 31 DistInReserv > 130 DistToMT < 2200 DistToMT > 500
  124. do KeepDistInReserv 14
  125. /if GetLastCommTime > 0 GetStandTime > 5 St_Attack = 0 DistToMT < 2200 St_Front = 1 DistInFront > 130 GetFireReady > 80 GetTired > 70 UnitsAmount > 31 DistToMT > 500
  126. /do KeepDistInFront 15
  127. /if GetLastCommTime > 0 GetStandTime > 5 St_Attack = 0 DistToMT < 2200 St_Front = 1 DistInFront < 70 GetFireReady > 80 GetTired > 70 UnitsAmount > 31 DistToMT > 500
  128. /do KeepDistInFront 16
  129. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 DistToMT < 900 GetFireReady > 80 GetTired > 40 AngToMT > 42 IsStandGround = 0 UnitsAmount > 31
  130. do TurnToMT 50
  131. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 GetTired > 40 DistToMT < 900 GetFireReady > 70 IsStandGround = 0 AngToMT > 42 UnitsAmount > 31
  132. do TurnToMT 51
  133. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 GetTired > 40 DistToMT < 900 GetFireReady > 70 IsStandGround = 1 AngToMT > 42 UnitsAmount > 31
  134. do TurnToMT 52
  135. ///if GetLastCommTime > 0 St_March = 1 DistToAim > 200 GetLastCommTime > 20 UnitsAmount > 31
  136. ///do MoveToAim 91
  137. if GetLastCommTime > 0 GetStandTime > 2 GetDistToFriendlyForm < 200 GetTired > 70 St_Attack = 0 GetLastCommTime > 5 UnitsAmount > 31 DistToMT > 900
  138. do KeepDistInReserv 17
  139. /if GetLastCommTime > 0 GetStandTime > 2 GetDistToFriendlyForm < 200 GetTired > 70 St_Attack = 0 St_Reserv = 1 HaveReserv = 1 GetLastCommTime > 5 UnitsAmount > 31 DistToMT > 500
  140. /do KeepDistInFront 18
  141. /if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT > 700 DistToMT < 1700 GetStandTime > 12 GetTired > 70 GetFireReady > 80 Moral > 75 IsStandGround = 0 UnitsAmount > 31 GetBarrierToMT < 180 GetFrontage > 900 IsStandGround = 0
  142. /do StepForward 11
  143. /if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT > 700 DistToMT < 1700 GetStandTime > 25 GetTired > 70 GetFireReady > 80 Moral > 75 IsStandGround = 1 UnitsAmount > 31 GetBarrierToMT < 180 GetFrontage > 900 IsStandGround = 0
  144. /do StepForward 12
  145. #
  146. #HORSE UnitKDrg(FR) UnitKKir(FR) UnitKGre(FR) UnitKKar(FR) UnitKDrg(RU) UnitKKir(RU) UnitKKir(PR) UnitKDrg(PR) UnitKKar(PR) UnitKDrg(EN) UnitKKar(EN) UnitKDrg(AU) UnitKKir(AU)
  147. if GetLastCommTime > 0 St_SquareFormation = 0 DistToMT < 1500
  148. do FormateToSquare 110
  149. if GetLastCommTime > 0 St_March = 1 St_KareFormation = 0 DistToAim > 1800 IsEnemOnWay = 0 GetTired > 20
  150. do FormateToKare 46
  151. ///if GetLastCommTime > 0 St_Attack = 0 St_March = 0 DistToAim > 200 GetTired > 70 DistToMT > 1200
  152. ///do MoveToAim 41
  153. ///if GetLastCommTime > 0 St_Attack = 0 St_March = 0 DistToAim > 200 GetTired > 70 DistToMT > 1200
  154. ///do MoveToAim 40
  155. ///if GetLastCommTime > 0 St_Attack = 0 St_March = 0 DistToAim > 200 GetTired > 70 DistToMT > 1200 GetFireReady > 98
  156. ///do MoveToAim 42
  157. if GetLastCommTime > 0 GetLastCommTime > 4 St_Attack = 0 DistToMT < 700 Moral < 45 FireReadyMT > 80 GetBarrierToMT < 180
  158. do MoveBack 60
  159. if GetLastCommTime > 0 St_Attack = 1 UnitsAmount < 10 Moral < 100 GetTired > 30 DistToMT < 700 GetBarrierToMT < 180
  160. do MoveBack 61
  161. if GetLastCommTime > 0 GetLastCommTime > 4 UnitsAmount < 10 Moral < 100 GetTired > 30 DistToMT < 700 GetBarrierToMT < 180
  162. do MoveBack 61
  163. if GetLastCommTime > 0 GetLastCommTime > 4 St_Attack = 0 DistToMT < 500 GetFireReady < 5 FireReadyMT > 80 GetBarrierToMT < 180
  164. do MoveBack 62
  165. if GetLastCommTime > 0 GetLastCommTime > 4 St_Attack = 0 GetMeleeForceDiff > 90 FireReadyMT < 10 DistToMT < 300 GetBarrierToMT < 180 GetFireReady < 20
  166. do MoveBack 63
  167. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 DistToMT < 1100 Encircle > 55 GetBarrierToMT < 180
  168. do MoveBack 64
  169. if GetLastCommTime > 0 St_Attack = 1 DistToMT < 900 DistToMT > 600 FireDanger > 200 GetTired > 20 GetBarrierToMT < 180
  170. do MoveBack 65
  171. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT < 900 DistToMT > 600 FireDanger > 200 GetTired > 20 GetBarrierToMT < 180
  172. do MoveBack 65
  173. if GetLastCommTime > 0 GetStandTime > 2 IsInBatter > 0 GetTired > 40 DistToMT > 1000 GetBarrierToMT < 180
  174. do MoveBack 66
  175. if GetLastCommTime > 0 GetLastCommTime > 4 St_Attack = 0 GetTired > 15 DistToMT < 600 FireDanger > 95 GetBarrierToMT < 180
  176. do MoveBack 67
  177. if GetLastCommTime > 0 GetLastCommTime > 2 DistToMT < 300 Moral > 36 GetTired > 10 IsStandGround = 0 FireDanger < 10 GetMeleeForceDiff < 111 GetBarrierToMT < 180
  178. do MoveBack 68
  179. if GetLastCommTime > 0 GetLastCommTime > 2 DistToMT < 300 Moral < 37 GetTired > 10 IsStandGround = 0 FireDanger < 10 GetMeleeForceDiff > 110 GetBarrierToMT < 180
  180. do MoveBack 69
  181. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 DistToMT < 900 GetFireReady > 80 GetTired > 40 AngToMT > 42 IsStandGround = 0
  182. do TurnToMT 50
  183. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 GetTired > 40 DistToMT < 900 GetFireReady > 70 IsStandGround = 0 AngToMT > 42
  184. do TurnToMT 51
  185. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 GetTired > 40 DistToMT < 900 GetFireReady > 70 IsStandGround = 1 AngToMT > 42
  186. do TurnToMT 52
  187. if GetLastCommTime > 0 DistToMT < 900 St_EnableFire = 0 GetFireReady > 80 GetMTForestDensity < 40 MoralMTAfterFire < 37
  188. do EnableFire 90
  189. if GetLastCommTime > 0 GetStandTime < 1 St_Attack = 1 St_EnableFire = 0 FireReadyMT > 30 GetFireReady > 60 MoralMT > 140 DistToMT < 450 KillAmoMT > 0 GetMTForestDensity < 40 IsMTStandGround = 0
  190. do EnableFire 91
  191. if GetLastCommTime > 0 St_EnableFire = 0 GetFireReady > 60 DistToMT < 250 GetMeleeForceDiff < 150
  192. do EnableFire 92
  193. if GetLastCommTime > 0 St_EnableFire = 0 DistToMT < 750 GetFireReady > 20 FireReadyMT > 40 Moral < 40
  194. do EnableFire 93
  195. if GetLastCommTime > 0 St_EnableFire = 0 Moral < 150 MoralMT < 120 FireDanger > 200 DistToMT < 600 UnitsAmount > 31 GetFireReady > 20 
  196. do EnableFire 94
  197. if GetLastCommTime > 0 IsMTStandGround = 1 DistToMT < 800 St_EnableFire = 0 GetFireReady > 20 GetMTForestDensity < 40 MoralMTAfterFire < 35
  198. do EnableFire 95
  199. if GetLastCommTime > 0 IsMTStandGround = 1 DistToMT < 800 St_EnableFire = 0 GetFireReady > 20 KillAmoMT > 5 GetMTForestDensity < 40
  200. do EnableFire 96
  201. if GetLastCommTime > 0 St_EnableFire = 0 DistToMT < 900 Moral < 60 MoralDiff > 150 GetFireReady > 80 FireReadyMT > 50 KillAmoMT > 0 GetMTForestDensity < 40 UnitsAmount > 31
  202. do EnableFire 97
  203. if GetLastCommTime > 0 GetStandTime > 2 St_EnableFire = 0 DistToMT > 1000 GetFireReady > 70 GetAloneEnmUnits > 15
  204. do EnableFire 98
  205. if GetLastCommTime > 0 DistToMT < 250 St_EnableFire = 0 GetFireReady > 50 GetMeleeForceDiff < 150
  206. do EnableFire 99
  207. if GetLastCommTime > 0 GetLastCommTime > 2 IsMTCannon = 1 DistToMT < 300 GetFireReady > 30
  208. do EnableFire 90
  209. if GetLastCommTime > 0 St_Attack = 0 GetFOOD < 5000 DistToMT < 3000 GetBarrierToMT < 180
  210. do AttackMT 1
  211. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 FireReadyMT < 30 GetFireReady > 80 DistToMT < 1200 GetTired > 40 GetBarrierToMT < 180
  212. do AttackMT 82
  213. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 FireReadyMT < 30 GetFireReady > 80 DistToMT < 1200 GetTired > 40 GetBarrierToMT < 180
  214. do AttackMT 83
  215. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 UnitsAmountMT < 90 UnitsAmount > 25 FireReadyMT < 30 GetFireReady > 50 DistToMT < 900 GetTired > 40 GetBarrierToMT < 180
  216. do AttackMT 84
  217. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 St_EnableFire = 0 GetFireReady > 40 GetTired > 40 DistToMT < 1200 FireDanger < 20 Encircle > 54 GetBarrierToMT < 180
  218. do AttackMT 85
  219. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 St_Attack = 0 St_EnableFire = 0 GetFireReady > 80 DistToMT < 1200 FireDanger < 10 GetTired > 40 GetBarrierToMT < 180
  220. do AttackMT 88
  221. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 DistToMT < 900 Moral > 60 St_EnableFire = 0 FireReadyMT < 20 HaveReserv = 1 DistToMT < 1200 GetBarrierToMT < 180
  222. do AttackMT 89
  223. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 DistToMT < 900 Moral > 160 UnitsAmount > 29 St_EnableFire = 0 HaveReserv = 1 DistToMT < 1200 GetBarrierToMT < 180
  224. do AttackMT 89
  225. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 St_EnableFire = 0 DistToMT < 1200 UnitsAmountMT < 31 GetTired > 40 MoralMT > 700 GetBarrierToMT < 180
  226. do AttackMT 80
  227. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT < 800 Moral > 35 GetTired > 40 IsStandGround = 0 FireDanger < 20 GetMeleeForceDiff > 180 IsMTStandGround = 0 GetBarrierToMT < 180
  228. do MeleeAttack 100
  229. if GetLastCommTime > 0 GetLastCommTime > 4 GetTired > 40 DistToMT < 800 UnitsAmount > 70 IsStandGround = 0 GetFireReady < 30 FireDanger < 10 GetMeleeForceDiff > 90 IsMTStandGround = 0 GetBarrierToMT < 180
  230. do MeleeAttack 101
  231. if GetLastCommTime > 0 GetLastCommTime > 2 DistToMT < 300 Moral > 50 GetTired > 10 IsStandGround = 0 FireDanger < 10 GetMeleeForceDiff > 110 GetBarrierToMT < 180 IsMTStandGround = 0
  232. do MeleeAttack 102
  233. if GetLastCommTime > 0 GetLastCommTime > 3 GetFireReady < 5 DistToMT < 1200 UnitsAmountMT < 31 GetTired > 40 Moral > 40 IsMTStandGround = 0 GetBarrierToMT < 180 IsMTStandGround = 0
  234. do MeleeAttack 69
  235. if GetLastCommTime > 0 GetLastCommTime > 4 GetFireReady < 10 FireReadyMT > 80 MoralMT < 38 DistToMT < 350 Moral > 45 IsStandGround = 0 GetBarrierToMT < 180 IsMTStandGround = 0
  236. do MeleeAttack 103
  237. if GetLastCommTime > 0 GetStandTime > 5 DistToMT < 250 UnitsAmount > 31 IsMTStandGround = 0 IsStandGround = 0
  238. do MeleeAttack 104
  239. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 St_EnableFire = 0 GetTired > 40 DistToMT < 1200 FireDanger < 20 Encircle > 54 GetMeleeForceDiff > 140 GetBarrierToMT < 180
  240. do AttackMT 104
  241. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 UnitsAmountMT < 90 UnitsAmount > 25 FireReadyMT < 30 DistToMT < 900 GetTired > 40 GetMeleeForceDiff > 140 GetBarrierToMT < 180
  242. do AttackMT 105
  243. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 DistToMT < 1200 GetTired > 40 IsStandGround = 0 FireDanger < 140 FireReadyMT < 30 GetMeleeForceDiff > 140 GetBarrierToMT < 180
  244. do AttackMT 106
  245. if GetLastCommTime > 0 GetLastCommTime > 4 IsMTCannon = 1 St_Attack = 0 DistToMT < 1200 GetFireReady > 70 FireDanger < 30 GetTired > 40 GetBarrierToMT < 180
  246. do ArmAttack 108
  247. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT < 150 IsStandGround = 0 GetBarrierToMT < 180 IsMTStandGround = 0
  248. do MeleeAttack 107
  249. if GetLastCommTime > 0 St_March = 1 GetLastCommTime > 4 GetStandTime < 1 GetTired < 15 DistToMT > 300
  250. do Stop 70
  251. if GetLastCommTime > 0 St_March = 1 GetLastCommTime > 4 GetStandTime < 1 GetTired < 13 DistToMT > 300 UnitsAmountMT < 31
  252. do Stop 120
  253. if GetLastCommTime > 0 St_March = 1 GetLastCommTime > 4 St_March = 1 DistToAim < 200
  254. do Stop 150
  255. if GetLastCommTime > 0 St_EnableFire = 1 DistToMT > 1200
  256. do DisableFire 30
  257. if GetLastCommTime > 0 St_EnableFire = 1 GetFireReady < 10
  258. do DisableFire 31
  259. if GetLastCommTime > 0 GetLastCommTime > 4 St_Front = 1 DistToMT > 1000 GetFireReady < 15 HaveReserv = 1 MoralMT < 700
  260. do Castle 20
  261. if GetLastCommTime > 0 GetLastCommTime > 4 St_Front = 1 DistToMT < 1200 GetFireReady < 15 HaveReserv = 1 FireReadyMT < 70 MoralMT < 700
  262. do Castle 21
  263. if GetLastCommTime > 0 GetStandTime > 2 IsMTStandGround = 1 FireReadyMT > 20 GetFireReady > 60 IsStandGround = 0 GetTired > 40 DistToMT < 1100 DistToMT > 500 GetBarrierToMT < 180
  264. do TakeInTheRear 18
  265. if GetLastCommTime > 0 GetStandTime > 10 IsStandGround = 0 GetFireReady > 20 GetStandTime > 2 GetTired > 40 DistToMT < 1100 DistToMT > 500 UnitsAmount > 31 GetBarrierToMT < 180 GetPolkCommand > 5
  266. do TakeInTheRear 19
  267. if GetLastCommTime > 0 GetStandTime > 5 St_Attack = 0 DistToMT < 1400 St_Front = 1 DistInFront > 200 GetFireReady > 80 GetTired > 90 DistToMT > 500
  268. do KeepDistInFront 16
  269. if GetLastCommTime > 0 GetStandTime > 5 St_Attack = 0 DistToMT < 1400 St_Front = 1 DistInFront < 60 GetFireReady > 80 GetTired > 50 DistToMT > 500
  270. do KeepDistInFront 16
  271. if GetLastCommTime > 0 DistToMT > 1000 GetFireReady < 70 GetAloneEnmUnits > 5 UnitsAmount > 31 GetTired > 40
  272. do AttackAloneEnmUnits 15
  273. if GetLastCommTime > 0 GetStandTime > 5 St_Reserv = 1 St_Attack = 0 GetFireReady > 80 GetTired > 80 UnitsAmount > 31 DistInReserv < 70 DistToMT > 500
  274. do KeepDistInReserv 14
  275. if GetLastCommTime > 0 GetStandTime > 5 St_Reserv = 1 St_Attack = 0 GetTired > 50 GetFireReady > 80 UnitsAmount > 31 DistInReserv > 130 DistToMT > 500
  276. do KeepDistInReserv 14
  277. /if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT > 700 DistToMT < 1700 GetStandTime > 12 GetTired > 70 GetFireReady > 80 Moral > 75 IsStandGround = 0 GetBarrierToMT < 180
  278. /do StepForward 11
  279. /if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT > 700 DistToMT < 1700 GetStandTime > 25 GetTired > 70 GetFireReady > 80 Moral > 75 IsStandGround = 1 GetBarrierToMT < 180
  280. /do StepForward 12
  281. #
  282. #HORSE UnitKUln(FR) UnitKEgr(FR) UnitKGus(FR) UnitKMam(FR) UnitKEgr(RU) UnitKGus(RU) UnitKMam(RU) UnitKUln(RU) UnitKEgr(PR) UnitKDrg(PR) UnitKKir(PR) UnitKKar(PR) UnitKFlg(PR) UnitKGus(PR) UnitKEgr(EN) UnitKMam(EG) UnitKDrg(EG) UnitKUln(AU) UnitKGus(AU) UnitKEgr(AU) UnitKArb(EG) UnitKDKoz(RU)
  283. if GetLastCommTime > 0 St_SquareFormation = 0 DistToMT < 1500
  284. do FormateToSquare 110
  285. if GetLastCommTime > 0 St_March = 1 St_KareFormation = 0 DistToAim > 1800 IsEnemOnWay = 0 GetTired > 20
  286. do FormateToKare 46
  287. ///if GetLastCommTime > 0 St_Attack = 0 St_March = 0 DistToAim > 200 GetTired > 60 DistToMT > 1200
  288. ///do MoveToAim 41
  289. ///if GetLastCommTime > 0 St_Attack = 0 St_March = 0 DistToAim > 200 GetTired > 60 DistToMT > 1200
  290. ///do MoveToAim 40
  291. ///if GetLastCommTime > 0 St_Attack = 0 St_March = 0 DistToAim > 200 GetTired > 60 DistToMT > 1200 GetFireReady > 98
  292. ///do MoveToAim 42
  293. if GetLastCommTime > 0 GetLastCommTime > 4 St_Attack = 0 DistToMT < 700 Moral < 45 FireReadyMT > 80 GetBarrierToMT < 180
  294. do MoveBack 60
  295. if GetLastCommTime > 0 St_Attack = 1 UnitsAmount < 10 Moral < 100 GetTired > 30 DistToMT < 700 GetBarrierToMT < 180
  296. do MoveBack 61
  297. if GetLastCommTime > 0 GetLastCommTime > 4 UnitsAmount < 10 Moral < 100 GetTired > 30 DistToMT < 700 GetBarrierToMT < 180
  298. do MoveBack 61
  299. if GetLastCommTime > 0 GetLastCommTime > 4 St_Attack = 0 DistToMT < 500 GetFireReady < 5 FireReadyMT > 80 GetBarrierToMT < 180
  300. do MoveBack 62
  301. if GetLastCommTime > 0 GetLastCommTime > 4 St_Attack = 0 GetMeleeForceDiff > 90 FireReadyMT < 10 DistToMT < 300 GetBarrierToMT < 180
  302. do MoveBack 63
  303. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 DistToMT < 1100 Encircle > 55 GetBarrierToMT < 180
  304. do MoveBack 64
  305. if GetLastCommTime > 0 St_Attack = 1 DistToMT < 900 DistToMT > 600 FireDanger > 200 GetTired > 20 GetBarrierToMT < 180
  306. do MoveBack 65
  307. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT < 900 DistToMT > 600 FireDanger > 200 GetTired > 20 GetBarrierToMT < 180
  308. do MoveBack 65
  309. if GetLastCommTime > 0 GetStandTime > 2 IsInBatter > 0 GetTired > 40 DistToMT > 1000 GetBarrierToMT < 180
  310. do MoveBack 66
  311. if GetLastCommTime > 0 GetLastCommTime > 4 St_Attack = 0 GetTired > 15 DistToMT < 600 FireDanger > 95 GetBarrierToMT < 180
  312. do MoveBack 67
  313. if GetLastCommTime > 0 GetLastCommTime > 2 DistToMT < 300 Moral > 35 GetTired > 10 IsStandGround = 0 FireDanger < 10 GetMeleeForceDiff < 111 GetBarrierToMT < 180
  314. do MoveBack 68
  315. if GetLastCommTime > 0 GetLastCommTime > 2 DistToMT < 300 Moral < 36 GetTired > 10 IsStandGround = 0 FireDanger < 10 GetMeleeForceDiff > 110 GetBarrierToMT < 180
  316. do MoveBack 69
  317. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 DistToMT < 900 GetFireReady > 80 GetTired > 40 AngToMT > 42 IsStandGround = 0
  318. do TurnToMT 50
  319. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 GetTired > 40 DistToMT < 900 GetFireReady > 70 IsStandGround = 0 AngToMT > 42
  320. do TurnToMT 51
  321. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 GetTired > 40 DistToMT < 900 GetFireReady > 70 IsStandGround = 1 AngToMT > 42
  322. do TurnToMT 52
  323. if GetLastCommTime > 0 DistToMT < 900 St_EnableFire = 0 GetFireReady > 80 GetMTForestDensity < 40 MoralMTAfterFire < 37
  324. do EnableFire 90
  325. if GetLastCommTime > 0 GetStandTime < 1 St_Attack = 1 St_EnableFire = 0 FireReadyMT > 30 GetFireReady > 60 MoralMT > 140 DistToMT < 450 KillAmoMT > 0 GetMTForestDensity < 40 IsMTStandGround = 0
  326. do EnableFire 91
  327. if GetLastCommTime > 0 St_EnableFire = 0 GetFireReady > 60 DistToMT < 250 GetMeleeForceDiff < 150
  328. do EnableFire 92
  329. if GetLastCommTime > 0 St_EnableFire = 0 DistToMT < 750 GetFireReady > 20 FireReadyMT > 40 Moral < 40
  330. do EnableFire 93
  331. if GetLastCommTime > 0 St_EnableFire = 0 Moral < 150 MoralMT < 120 FireDanger > 200 DistToMT < 600 UnitsAmount > 31 GetFireReady > 20 
  332. do EnableFire 94
  333. if GetLastCommTime > 0 IsMTStandGround = 1 DistToMT < 800 St_EnableFire = 0 GetFireReady > 20 GetMTForestDensity < 40 MoralMTAfterFire < 35
  334. do EnableFire 95
  335. if GetLastCommTime > 0 IsMTStandGround = 1 DistToMT < 800 St_EnableFire = 0 GetFireReady > 20 KillAmoMT > 5 GetMTForestDensity < 40
  336. do EnableFire 96
  337. if GetLastCommTime > 0 St_EnableFire = 0 DistToMT < 900 Moral < 60 MoralDiff > 150 GetFireReady > 80 FireReadyMT > 50 KillAmoMT > 0 GetMTForestDensity < 40 UnitsAmount > 31
  338. do EnableFire 97
  339. if GetLastCommTime > 0 GetStandTime > 2 St_EnableFire = 0 DistToMT > 1000 GetFireReady > 70 GetAloneEnmUnits > 15
  340. do EnableFire 98
  341. if GetLastCommTime > 0 DistToMT < 250 St_EnableFire = 0 GetFireReady > 50 GetMeleeForceDiff < 150
  342. do EnableFire 99
  343. if GetLastCommTime > 0 GetLastCommTime > 2 IsMTCannon = 1 DistToMT < 300 GetFireReady > 30
  344. do EnableFire 90
  345. if GetLastCommTime > 0 St_Attack = 0 GetFOOD < 5000 DistToMT < 3000 GetBarrierToMT < 180
  346. do AttackMT 1
  347. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 FireReadyMT < 30 GetFireReady > 80 DistToMT < 1200 GetTired > 40 GetBarrierToMT < 180
  348. do AttackMT 82
  349. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 FireReadyMT < 30 GetFireReady > 80 DistToMT < 1200 GetTired > 40 GetBarrierToMT < 180
  350. do AttackMT 83
  351. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 UnitsAmountMT < 90 UnitsAmount > 25 FireReadyMT < 30 GetFireReady > 50 DistToMT < 900 GetTired > 40 GetBarrierToMT < 180
  352. do AttackMT 84
  353. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 St_EnableFire = 0 GetFireReady > 40 GetTired > 40 DistToMT < 1200 FireDanger < 20 Encircle > 54 GetBarrierToMT < 180
  354. do AttackMT 85
  355. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 St_EnableFire = 0 GetFireReady > 80 DistToMT < 1200 FireDanger < 10 GetTired > 40 GetBarrierToMT < 180
  356. do AttackMT 88
  357. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 DistToMT < 900 Moral > 60 St_EnableFire = 0 FireReadyMT < 20 HaveReserv = 1 DistToMT < 1200 GetBarrierToMT < 180
  358. do AttackMT 89
  359. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 DistToMT < 900 Moral > 160 UnitsAmount > 29 St_EnableFire = 0 HaveReserv = 1 DistToMT < 1200 GetBarrierToMT < 180
  360. do AttackMT 89
  361. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 St_EnableFire = 0 DistToMT < 1200 UnitsAmountMT < 31 GetTired > 40 MoralMT > 700 GetBarrierToMT < 180
  362. do AttackMT 80
  363. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT < 800 Moral > 45 GetTired > 40 IsStandGround = 0 FireDanger < 20 GetMeleeForceDiff > 180 IsMTStandGround = 0 GetBarrierToMT < 180
  364. do MeleeAttack 100
  365. if GetLastCommTime > 0 GetLastCommTime > 4 GetTired > 40 DistToMT < 800 UnitsAmount > 70 IsStandGround = 0 GetFireReady < 30 FireDanger < 10 GetMeleeForceDiff > 90 IsMTStandGround = 0 GetBarrierToMT < 180
  366. do MeleeAttack 101
  367. if GetLastCommTime > 0 GetLastCommTime > 2 DistToMT < 300 Moral > 50 GetTired > 10 IsStandGround = 0 FireDanger < 10 GetMeleeForceDiff > 110 GetBarrierToMT < 180 IsMTStandGround = 0
  368. do MeleeAttack 102
  369. if GetLastCommTime > 0 GetLastCommTime > 4 GetFireReady < 5 DistToMT < 1200 UnitsAmountMT < 31 GetTired > 40 Moral > 40 IsMTStandGround = 0 GetBarrierToMT < 180
  370. do MeleeAttack 69
  371. if GetLastCommTime > 0 GetLastCommTime > 4 GetFireReady < 10 FireReadyMT > 80 MoralMT < 38 DistToMT < 350 Moral > 45 IsStandGround = 0 GetBarrierToMT < 180
  372. do MeleeAttack 103
  373. if GetLastCommTime > 0 GetStandTime > 5 DistToMT < 250 UnitsAmount > 31 IsMTStandGround = 0 IsStandGround = 0 
  374. do MeleeAttack 104
  375. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 St_EnableFire = 0 GetTired > 35 DistToMT < 1200 FireDanger < 20 Encircle > 54 GetMeleeForceDiff > 140 GetBarrierToMT < 180
  376. do AttackMT 104
  377. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 UnitsAmountMT < 90 UnitsAmount > 25 FireReadyMT < 30 DistToMT < 900 GetTired > 40 GetMeleeForceDiff > 140 GetBarrierToMT < 180
  378. do AttackMT 105
  379. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 DistToMT < 1200 GetTired > 40 IsStandGround = 0 FireDanger < 140 FireReadyMT < 30 GetMeleeForceDiff > 140 GetBarrierToMT < 180
  380. do AttackMT 106
  381. if GetLastCommTime > 0 GetLastCommTime > 4 IsMTCannon = 1 St_Attack = 0 DistToMT < 1200 GetFireReady > 70 FireDanger < 30 GetTired > 40 GetBarrierToMT < 180
  382. do ArmAttack 108
  383. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT < 150 IsStandGround = 0 GetBarrierToMT < 180 IsMTStandGround = 0
  384. do MeleeAttack 107
  385. if GetLastCommTime > 0 St_March = 1 GetLastCommTime > 4 GetStandTime < 1 GetTired < 13 DistToMT > 300
  386. do Stop 70
  387. if GetLastCommTime > 0 St_March = 1 GetLastCommTime > 4 GetStandTime < 1 GetTired < 13 DistToMT > 300 UnitsAmountMT < 31
  388. do Stop 120
  389. if GetLastCommTime > 0 St_March = 1 GetLastCommTime > 4 St_March = 1 DistToAim < 200
  390. do Stop 150
  391. if GetLastCommTime > 0 St_EnableFire = 1 DistToMT > 1200
  392. do DisableFire 30
  393. if GetLastCommTime > 0 St_EnableFire = 1 GetFireReady < 10
  394. do DisableFire 31
  395. if GetLastCommTime > 0 GetLastCommTime > 4 St_Front = 1 DistToMT > 1000 GetFireReady < 15 HaveReserv = 1 MoralMT < 700
  396. do Castle 20
  397. if GetLastCommTime > 0 GetLastCommTime > 4 St_Front = 1 DistToMT < 1200 GetFireReady < 15 HaveReserv = 1 FireReadyMT < 70 MoralMT < 700
  398. do Castle 21
  399. if GetLastCommTime > 0 GetStandTime > 10 IsStandGround = 0 GetFireReady > 20 IsStandGround = 0 GetStandTime > 2 GetTired > 40 DistToMT < 1100 DistToMT > 500 UnitsAmount > 31 GetBarrierToMT < 180 GetPolkCommand > 5
  400. do TakeInTheRear 18
  401. if GetLastCommTime > 0 GetStandTime > 2 IsMTStandGround = 1 FireReadyMT > 20 GetFireReady > 60 IsStandGround = 0 GetTired > 40 DistToMT < 1100 DistToMT > 500 UnitsAmount > 31 GetBarrierToMT < 180
  402. do TakeInTheRear 19
  403. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 DistToMT < 1400 St_Front = 1 DistInFront > 200 GetFireReady > 80 GetTired > 90 UnitsAmount > 31 DistToMT > 500
  404. do KeepDistInFront 16
  405. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 DistToMT < 1400 St_Front = 1 DistInFront < 60 GetFireReady > 80 GetTired > 50 UnitsAmount > 31 DistToMT > 500
  406. do KeepDistInFront 16
  407. if GetLastCommTime > 0 DistToMT > 1000 GetFireReady < 70 GetAloneEnmUnits > 5 UnitsAmount > 31 GetTired > 40 UnitsAmount > 31
  408. do AttackAloneEnmUnits 15
  409. if GetLastCommTime > 0 GetStandTime > 2 St_Reserv = 1 St_Attack = 0 GetFireReady > 80 GetTired > 80 UnitsAmount > 31 DistInReserv < 70 UnitsAmount > 31 DistToMT > 500
  410. do KeepDistInReserv 14
  411. if GetLastCommTime > 0 GetStandTime > 2 St_Reserv = 1 St_Attack = 0 GetTired > 50 GetFireReady > 80 UnitsAmount > 31 DistInReserv > 130 UnitsAmount > 31 DistToMT > 500
  412. do KeepDistInReserv 14
  413. /if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT > 700 DistToMT < 1700 GetStandTime > 12 GetTired > 70 GetFireReady > 80 Moral > 75 IsStandGround = 0 UnitsAmount > 31 GetBarrierToMT < 180
  414. /do StepForward 11
  415. /if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT > 700 DistToMT < 1700 GetStandTime > 25 GetTired > 70 GetFireReady > 80 Moral > 75 IsStandGround = 1 UnitsAmount > 31 GetBarrierToMT < 180
  416. /do StepForward 12
  417. #
  418. #PEHOTASTRELKI UnitFuz(FR) UnitFuzNG(FR) UnitVol(FR) UnitGre(FR) UnitSap(FR) UnitGre(PR) UnitVol(PR) UnitFuz(PR) UnitOf(PR) UnitBar(PR) UnitFlg(PR) UnitSap(PR) UnitFuz(EG) UnitOf(EG) UnitBar(EG) UnitVol(EN) UnitFuz(EN) UnitGre(EN) UnitOf(EN) UnitBar(EN) UnitFlg(EN) UnitSap(EN) UnitFuzNG(AU) UnitFuz(AU) UnitVol(AU) UnitGre(AU) UnitOf(AU) UnitBar(AU) UnitFlg(AU) UnitSap(AU) UnitOf(PR) UnitBar(PR) UnitFlg(PR) UnitSap(PR) UnitFuz(RU) UnitGre(RU) UnitOf(RU) UnitBar(RU) UnitFlg(RU) UnitSap(RU) UnitFuz(EG) UnitOf(EG) UnitBar(EG) UnitOf(EG) UnitBar(EG) TempMent(FR) TempMent(NE)
  419. if GetLastCommTime > 4 GetStandTime > 10 FireForceDifference > 70 FireDanger < 40 Moral > 64 GetFireReady > 80 UnitsAmount > 31 GetBarrierToMT < 180 
  420. do TakeInTheRear 19
  421. if GetMeleeForceDiff > 180 GetLastCommTime > 5 GetDistToEnmBuilding < 600 GetNGrenades > 2 DistToMT > 900 UnitsAmount > 31
  422. do ThrowGrenade 222
  423. /if GetLastCommTime > 0 St_Reserv = 1 GetLastCommTime > 3 IsStandGround = 0 GetFireReady > 70 GetMTStandTime < 2 GetTired > 30 DistToMT < 1500 DistToMT > 600 UnitsAmount > 31 GetBarrierToMT < 180 GetFrontage > 1100
  424. /do TakeInTheRear 20
  425. if UnitsAmount > 31 St_Attack = 0 GetLastCommTime > 0 St_KareFormation = 0 St_Attack = 0 GetTired < 25 DistToMT < 1600 DistToMT > 600 GetPolkCommand < 4
  426. do FormateToKare 141
  427. //if GetLastCommTime > 0 St_SquareFormation = 0 St_Attack = 0 St_March = 0 GetStandTime > 5 GetTired < 15 DistToMT < 1600 DistToMT > 600 GetPolkCommand < 3 GetFrontage > 900
  428. //do FormateToKare 144
  429. if UnitsAmount > 31 GetLastCommTime > 0 St_KareFormation = 1 St_Attack = 0 GetTired > 95 GetStandTime > 9 DistToMT > 400
  430. do FormateToLine 143
  431. if GetStandTime > 1 GetLastCommTime > 1 St_ReadyToFire = 0 DistToMT < 1100 UnitsAmount > 31
  432. do SetReadyToFire 600
  433. if GetLastCommTime > 0 St_ReadyToFire = 1 DistToMT > 1500 GetAloneEnmUnits > 5 UnitsAmount > 31
  434. do SetNotReadyToFire 45
  435. if GetLastCommTime > 0 GetPolkCommand > 3 St_March = 1 DistToMT < 1250 St_LineFormation = 0 St_KareFormation = 0 UnitsAmount > 31 UnitsAmountMT > 31
  436. do FormateToLine 112
  437. if GetLastCommTime > 0 GetPolkCommand > 3 St_March = 0 DistToMT > 600 DistToMT < 1250 St_LineFormation = 0 UnitsAmount > 31 UnitsAmountMT > 31
  438. do FormateToLine 112
  439. if GetLastCommTime > 0 St_KareFormation = 0 St_LineFormation = 0 DistToMT < 3000 GetTired > 20 UnitsAmount > 31 GetPolkCommand < 6 UnitsAmountMT > 31
  440. do FormateToLine 113
  441. /if GetLastCommTime > 0 St_KareFormation = 0 St_LineFormation = 0 DistToMT < 950 GetTired > 20 UnitsAmount > 31 GetFrontage > 400
  442. /do FormateToLine 111
  443. /if GetLastCommTime > 0 St_KareFormation = 0 St_LineFormation = 0 DistToMT < 950 GetTired > 20 UnitsAmount > 31 GetFrontage < 400
  444. /do FormateToKare 110
  445. //PATCH//if St_SquareFormation = 0 GetLastCommTime > 1 St_Attack = 0 St_March = 0 GetTired > 60 DistToMT > 3000 GetFireReady > 98 DistToAim > 200 UnitsAmount > 31 GetPolkCommand < 6
  446. //PATCH//do FormateToSquare 47
  447. //PATCH//if St_SquareFormation = 0 GetLastCommTime > 1 St_Attack = 0 St_March = 0 GetTired > 60 DistToMT > 1250 GetFireReady > 98 DistToAim > 200 UnitsAmount > 31 GetPolkCommand > 5
  448. //PATCH//do FormateToSquare 48
  449. //PATCH//if GetLastCommTime > 0 St_March = 1 St_SquareFormation = 0 DistToAim > 1800 DistToMT > 1100 IsEnemOnWay = 0 UnitsAmount > 31
  450. //PATCH//do FormateToSquare 46
  451. /if GetLastCommTime > 0 St_LineFormation = 1 DistToMT < 1100 GetFrontage < 300 UnitsAmount > 31
  452. /do FormateToSquare 114
  453. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT < 950 Moral > 45 GetTired > 40 IsStandGround = 0 UnitsAmount > 31 FireDanger < 20 GetMeleeForceDiff > 180 GetBarrierToMT < 180
  454. do ArmAttack 100
  455. if GetLastCommTime > 0 GetLastCommTime > 4 GetTired > 40 DistToMT < 950 UnitsAmount > 70 IsStandGround = 0 GetFireReady < 30 FireDanger < 10 GetMeleeForceDiff > 80 GetBarrierToMT < 180 UnitsAmount > 31
  456. do ArmAttack 101
  457. if GetLastCommTime > 0 GetLastCommTime > 4 GetStandTime > 2 DistToMT < 300 Moral > MoralMT GetTired > 10 IsStandGround = 0 UnitsAmount > 31 FireDanger < 10 GetMeleeForceDiff > 110 GetBarrierToMT < 180
  458. do MeleeAttack 102
  459. if GetLastCommTime > 0 GetLastCommTime > 4 GetFireReady < 5 DistToMT < 1200 UnitsAmountMT < 31 GetTired > 70 Moral > 40 UnitsAmount > 31 GetBarrierToMT < 180
  460. do ArmAttack 103
  461. if GetLastCommTime > 0 GetLastCommTime > 4 GetFireReady < 10 FireReadyMT > 80 MoralMT < 38 DistToMT < 250 Moral > 45 IsStandGround = 0 UnitsAmount > 31 GetBarrierToMT < 180 IsMTStandGround = 0
  462. do MeleeAttack 104
  463. if GetLastCommTime > 0 IsStandGround = 0 St_EnableFire = 0 DistToMT < 250 GetFireReady > 40 FireReadyMT < 10 GetMeleeForceDiff > 190 Moral > 70 MoralMT < 100 UnitsAmount > 31 FireDanger < 60 GetBarrierToMT < 180
  464. do MeleeAttack 105
  465. if GetLastCommTime > 0 GetStandTime > 5 DistToMT < 250 UnitsAmount > 31 IsStandGround = 0 IsMTStandGround = 0
  466. do MeleeAttack 106
  467. if GetLastCommTime > 0 DistToMT < 900 St_EnableFire = 0 GetFireReady > 20 GetMTForestDensity < 40 MoralMTAfterFire < 40 UnitsAmount > 31
  468. do EnableFire 91
  469. if GetLastCommTime > 0 DistToMT < 900 St_EnableFire = 0 GetFireReady > 20 GetMTForestDensity < 40 MoralMTAfterFire < 40 FireReadyMT > 10 UnitsAmount > 31
  470. do EnableFire 92
  471. if GetLastCommTime > 0 DistToMT < 900 St_EnableFire = 0 GetFireReady > 20 GetMTForestDensity < 40 MoralMTAfterFire < 40 GetTired < 15 FireReadyMT < 10 UnitsAmount > 31
  472. do EnableFire 92
  473. if GetLastCommTime > 0 GetStandTime < 1 St_Attack = 1 St_EnableFire = 0 FireReadyMT > 30 GetFireReady > 20 MoralMT > 130 DistToMT < 600 KillAmoMT > 0 GetMTForestDensity < 40 UnitsAmount > 31
  474. do EnableFire 93
  475. if GetLastCommTime > 0 St_EnableFire = 0 DistToMT < 800 GetFireReady > 20 FireReadyMT > 15 Moral < 45 UnitsAmount > 31 UnitsAmountMT > 31
  476. do EnableFire 94
  477. if GetLastCommTime > 0 St_EnableFire = 0 DistToMT < 450 GetFireReady > 20 FireReadyMT < 15 Moral < 55 UnitsAmount > 31 UnitsAmountMT > 31
  478. do EnableFire 95
  479. if GetLastCommTime > 0 St_EnableFire = 0 DistToMT < 700 GetFireReady > 20 FireReadyMT > 15 Moral < 45 UnitsAmount > 31 UnitsAmountMT < 31
  480. do OneLineShot 94
  481. if GetLastCommTime > 0 St_EnableFire = 0 GetStandTime < 1 Moral < 45 DistToMT < 750 GetFireReady > 10 FireReadyMT > 15 UnitsAmount > 31
  482. do EnableFire 95
  483. if GetLastCommTime > 0 St_EnableFire = 0 GetStandTime > 2 Moral < 45 DistToMT < 750 GetFireReady > 10 FireReadyMT > 15 UnitsAmount > 31
  484. do EnableFire 96
  485. if GetLastCommTime > 0 St_EnableFire = 0 Moral < 60 MoralMT > 180 DistToMT < 600 GetFireReady > 10 UnitsAmount > 31 St_LineFormation = 1
  486. do OneLineShot 97
  487. if GetLastCommTime > 0 St_EnableFire = 0 Moral < 60 MoralMT > 180 DistToMT < 900 GetFireReady > 10 FireReadyMT > 30 UnitsAmount > 31 UnitsAmountMT > 31
  488. do EnableFire 98
  489. if GetLastCommTime > 0 St_Attack = 0 St_EnableFire = 0 DistToMT < 350 FireReadyMT > 20 GetFireReady > 40 UnitsAmount > 31
  490. do EnableFire 99
  491. if GetLastCommTime > 0 St_Attack = 1 St_EnableFire = 0 DistToMT < 350 FireReadyMT > 20 GetFireReady > 40 UnitsAmount > 31
  492. do EnableFire 90
  493. if GetLastCommTime > 0 St_EnableFire = 0 Moral < 150 FireDanger > 240 DistToMT < 700 UnitsAmount > 31 GetFireReady > 20 
  494. do EnableFire 91
  495. if GetLastCommTime > 0 St_EnableFire = 0 Moral < 150 MoralMT < 120 FireDanger > 240 DistToMT < 600 UnitsAmount > 31 GetFireReady > 20 
  496. do EnableFire 92
  497. if GetLastCommTime > 0 IsMTStandGround = 1 St_EnableFire = 0 GetFireReady > 20 GetMTForestDensity < 40 MoralMTAfterFire < 35 UnitsAmount > 31 DistToMT < 800
  498. do EnableFire 93
  499. if GetLastCommTime > 0 IsMTStandGround = 1 St_EnableFire = 0 GetFireReady > 20 KillAmoMT > 15 GetMTForestDensity < 40 UnitsAmount > 31 DistToMT < 800
  500. do EnableFire 94
  501. if GetLastCommTime > 0 GetStandTime > 2 DistToMT < 600 St_EnableFire = 0 St_Reserv = 1 St_Attack = 0 GetFireReady > 80 UnitsAmount > 31
  502. do EnableFire 95
  503. if GetLastCommTime > 0 St_EnableFire = 0 DistToMT < 250 GetFireReady > 40 FireReadyMT > 20 UnitsAmount > 31
  504. do EnableFire 96
  505. if GetLastCommTime > 0 St_EnableFire = 0 DistToMT < 250 GetFireReady > 40 FireReadyMT < 10 GetMeleeForceDiff < 190 UnitsAmount > 31
  506. do EnableFire 97
  507. if GetLastCommTime > 0 St_EnableFire = 0 DistToMT < 400 GetTired < 20 GetFireReady > 80 UnitsAmount > 31 IsMTStandGround = 0
  508. do EnableFire 98
  509. if GetLastCommTime > 0 St_EnableFire = 0 DistToMT < 200 GetTired < 20 GetFireReady > 80 UnitsAmount > 31 IsMTStandGround = 1
  510. do EnableFire 98
  511. if GetLastCommTime > 0 GetStandTime < 1 St_Attack = 1 St_EnableFire = 0 DistToMT < 200 FireReadyMT < 5 GetFireReady > 40 GetMTForestDensity < 40 GetMeleeForceDiff < 190 UnitsAmount > 31
  512. do EnableFire 99
  513. if GetLastCommTime > 0 GetStandTime > 2 GetMTStandTime > 2 DistToMT < 750 St_Attack = 0 St_EnableFire = 0 GetFireReady > 60 KillAmoMT > 0 HaveReserv = 1 GetMTForestDensity < 40 UnitsAmount > 31
  514. do EnableFire 90
  515. if GetLastCommTime > 0 St_EnableFire = 0 DistToMT < 900 Moral < 60 MoralDiff > 150 GetFireReady > 80 FireReadyMT > 50 KillAmoMT > 0 GetMTForestDensity < 40 UnitsAmount > 31
  516. do EnableFire 91
  517. if GetLastCommTime > 0 DistToMT < 700 St_Attack = 0 St_EnableFire = 0 GetFireReady > 60 GetMTForestDensity < 40 KillAmoMT > 45 UnitsAmount > 31
  518. do EnableFire 92
  519. if GetLastCommTime > 0 St_EnableFire = 0 DistToMT < 700 GetFireReady > 20 IsMTCannon = 1 KartechDanger > 20 UnitsAmount > 31
  520. do EnableFire 93
  521. if GetLastCommTime > 0 St_EnableFire = 0 DistToMT < 400 GetFireReady > 60 IsMTCannon = 1 UnitsAmount > 31
  522. do OneLineShot 94
  523. if GetLastCommTime > 0 St_EnableFire = 0 Moral < 150 FireDanger > 100 DistToMT < 500 UnitsAmount > 31 GetFireReady > 60 
  524. do EnableFire 94
  525. if GetLastCommTime > 0 GetStandTime > 2 St_EnableFire = 0 DistToMT > 1000 GetFireReady > 30 GetAloneEnmUnits > 5 UnitsAmount > 31 St_LineFormation = 1
  526. do OneLineShot 99
  527. if GetLastCommTime > 0 St_LineFormation = 1 GetStandTime > 2 IsInBatter > 0 GetTired > 70 DistToMT < 1400 FireForceDifference > 40 SumDangAndForce > 150 UnitsAmount > 31 GetBarrierToMT < 180 GetFrontage > 900
  528. do AttackMT 82
  529. if GetLastCommTime > 0 St_LineFormation = 1 St_Attack = 0 St_Attack = 0 GetFOOD < 5000 DistToMT < 3000 GetTired > 40 UnitsAmount > 31 GetBarrierToMT < 180
  530. do AttackMT 1
  531. if GetLastCommTime > 0 St_LineFormation = 1 St_Attack = 0 GetStandTime > 2 DistToMT < 1000 GetTired > 40 IsStandGround = 0 UnitsAmount > 31 FireDanger < 140 GetMeleeForceDiff > 300 GetPolkCommand > 5 GetBarrierToMT < 180 GetFrontage > 900
  532. do AttackMT 81
  533. if GetLastCommTime > 0 St_LineFormation = 1 St_Attack = 0 GetStandTime > 2 FireReadyMT < 30 GetFireReady > 80 DistToMT < 1000 GetTired > 40 UnitsAmount > 31 GetPolkCommand > 1 GetBarrierToMT < 180 GetFrontage > 900
  534. do AttackMT 82
  535. if GetLastCommTime > 0 St_LineFormation = 1 St_Attack = 0 GetStandTime > 2 FireReadyMT < 44 GetFireReady > 80 DistToMT < 1000 GetTired > 40 UnitsAmount > 31 GetPolkCommand > 1 GetBarrierToMT < 180 GetFrontage > 900
  536. do AttackMT 83
  537. if GetLastCommTime > 0 St_LineFormation = 1 St_Attack = 0 GetStandTime > 2 UnitsAmountMT < 80 UnitsAmount > 100 FireReadyMT < 50 GetFireReady > 50 DistToMT < 900 GetTired > 40 UnitsAmount > 31 GetPolkCommand > 5 GetBarrierToMT < 180 GetFrontage > 900
  538. do AttackMT 84
  539. if GetLastCommTime > 0 St_LineFormation = 1 St_Attack = 0 GetStandTime > 2 St_EnableFire = 0 GetFireReady > 20 GetTired > 40 UnitsAmount > 31 DistToMT < 1000 FireDanger < 20 Encircle > 54 GetPolkCommand > 5 GetBarrierToMT < 180 GetFrontage > 900
  540. do AttackMT 85
  541. /if GetLastCommTime > 0 St_LineFormation = 1 St_Attack = 0 GetStandTime > 2 GetFireReady > 80 DistToMT < 1000 DistToMT > 300 GetTired > 40 UnitsAmount > 31 FireForceDifference > -40 GetPolkCommand > 5 GetBarrierToMT < 180 GetFrontage > 900
  542. /do AttackMT 86
  543. if GetLastCommTime > 0 St_LineFormation = 1 St_Attack = 0 GetStandTime > 2 GetMeleeForceDiff > 120 DistToMT < 1000 GetTired > 40 UnitsAmount > 31 FireForceDifference > 12 GetPolkCommand > 5 GetBarrierToMT < 180 GetFrontage > 900
  544. do AttackMT 87
  545. if GetLastCommTime > 0 St_LineFormation = 1 GetStandTime > 2 St_Attack = 0 St_EnableFire = 0 GetFireReady > 80 DistToMT < 1000 UnitsAmount > 31 FireDanger < 10 GetTired > 40 GetPolkCommand > 5 GetBarrierToMT < 180 GetFrontage > 900
  546. do AttackMT 88
  547. if GetLastCommTime > 0 St_LineFormation = 1 St_Attack = 0 GetStandTime > 2 DistToMT < 700 Moral > 70 St_EnableFire = 0 FireReadyMT < 20 HaveReserv = 1 DistToMT < 1000 UnitsAmount > 31 GetTired > 30 GetPolkCommand > 2 GetBarrierToMT < 180 GetFrontage > 900
  548. do AttackMT 89
  549. if GetLastCommTime > 0 St_LineFormation = 1 St_Attack = 0 GetStandTime > 2 St_EnableFire = 0 DistToMT < 1000 UnitsAmountMT < 31 GetTired > 40 MoralMT > 700 UnitsAmount > 31 GetBarrierToMT < 180
  550. do AttackMT 80
  551. if GetLastCommTime > 0 St_LineFormation = 1 St_Attack = 0 GetStandTime > 2 St_EnableFire = 0 DistToMT < 900 UnitsAmountMT < 31 MoralMT < 130 UnitsAmount > 31 GetBarrierToMT < 180 FireReadyMT < 10 GetFireReady > 80 FireDanger < 35
  552. do AttackMT 81
  553.  
  554. if GetStandTime > 15 GetLastCommTime > 5 St_LineFormation = 1 St_Attack = 0 GetNApparentEnemyForm < 2 GetNApparentFriendlyForm > 2 GetFireReady > 80 GetTired > 60 DistToMT < 1200 GetBarrierToMT < 180 UnitsAmount > 31 UnitsAmountMT > 31
  555. do AttackMT 80
  556. if GetStandTime > 15 GetLastCommTime > 5 St_LineFormation = 1 St_Attack = 0 GetNApparentEnemyForm < 2 GetNApparentFriendlyForm > 1 GetPolkCommand > 6 GetFireReady > 80 GetTired > 60 DistToMT < 1200 GetBarrierToMT < 180 UnitsAmount > 31 UnitsAmountMT > 31
  557. do AttackMT 81
  558. if GetStandTime > 15 GetLastCommTime > 5 St_LineFormation = 1 St_Attack = 0 GetNApparentEnemyForm < 3 GetNApparentFriendlyForm > 3  GetFireReady > 80 GetTired > 60 DistToMT < 1200 GetBarrierToMT < 180 UnitsAmount > 31 UnitsAmountMT > 31
  559. do AttackMT 82
  560. if GetStandTime > 15 GetLastCommTime > 5 St_LineFormation = 1 St_Attack = 0 GetNApparentEnemyForm < 3 GetNApparentFriendlyForm > 2 GetPolkCommand > 6 GetFireReady > 80 GetTired > 60 DistToMT < 1200 GetBarrierToMT < 180 UnitsAmount > 31 UnitsAmountMT > 31
  561. do AttackMT 83
  562. if GetStandTime > 15 GetLastCommTime > 5 St_LineFormation = 1 St_Attack = 0 GetNApparentEnemyForm < 4 GetNApparentFriendlyForm > 4  GetFireReady > 80 GetTired > 60 DistToMT < 1200 GetBarrierToMT < 180 UnitsAmount > 31 UnitsAmountMT > 31
  563. do AttackMT 84
  564. if GetStandTime > 15 GetLastCommTime > 5 St_LineFormation = 1 St_Attack = 0 GetNApparentEnemyForm < 4 GetNApparentFriendlyForm > 3 GetPolkCommand > 6 GetFireReady > 80 GetTired > 60 DistToMT < 1200 GetBarrierToMT < 180 UnitsAmount > 31 UnitsAmountMT > 31
  565. do AttackMT 85
  566. if GetStandTime > 15 GetLastCommTime > 5 St_LineFormation = 1 St_Attack = 0 GetNApparentEnemyForm < 5 GetNApparentFriendlyForm > 5  GetFireReady > 80 GetTired > 60 DistToMT < 1200 GetBarrierToMT < 180 UnitsAmount > 31 UnitsAmountMT > 31
  567. do AttackMT 86
  568. if GetStandTime > 15 GetLastCommTime > 5 St_LineFormation = 1 St_Attack = 0 GetNApparentEnemyForm < 5 GetNApparentFriendlyForm > 4 GetPolkCommand > 6 GetFireReady > 80 GetTired > 60 DistToMT < 1200 GetBarrierToMT < 180 UnitsAmount > 31 UnitsAmountMT > 31
  569. do AttackMT 87
  570.  
  571. if GetLastCommTime > 0 St_SquareFormation = 1 GetStandTime > 2 IsInBatter > 0 GetTired > 70 DistToMT < 1400 FireForceDifference > 40 SumDangAndForce > 150 UnitsAmount > 31 GetBarrierToMT < 180 GetFrontage > 240
  572. do AttackMT 82
  573. if GetLastCommTime > 0 St_SquareFormation = 1 St_Attack = 0 St_Attack = 0 GetFOOD < 5000 DistToMT < 3000 GetTired > 40 UnitsAmount > 31 GetBarrierToMT < 180
  574. do AttackMT 1
  575. if GetLastCommTime > 0 St_SquareFormation = 1 St_Attack = 0 GetStandTime > 2 DistToMT < 1000 GetTired > 40 IsStandGround = 0 UnitsAmount > 31 FireDanger < 140 GetMeleeForceDiff > 300 GetPolkCommand > 5 GetBarrierToMT < 180 GetFrontage > 240
  576. do AttackMT 81
  577. if GetLastCommTime > 0 St_SquareFormation = 1 St_Attack = 0 GetStandTime > 2 FireReadyMT < 30 GetFireReady > 80 DistToMT < 1000 GetTired > 40 UnitsAmount > 31 GetPolkCommand > 0 GetBarrierToMT < 180 GetFrontage > 240
  578. do AttackMT 82
  579. if GetLastCommTime > 0 St_SquareFormation = 1 St_Attack = 0 GetStandTime > 2 FireReadyMT < 44 GetFireReady > 80 DistToMT < 1000 GetTired > 40 UnitsAmount > 31 GetPolkCommand > 0 GetBarrierToMT < 180 GetFrontage > 240
  580. do AttackMT 83
  581. if GetLastCommTime > 0 St_SquareFormation = 1 St_Attack = 0 GetStandTime > 2 UnitsAmountMT < 80 UnitsAmount > 100 FireReadyMT < 50 GetFireReady > 50 DistToMT < 900 GetTired > 40 UnitsAmount > 31 GetPolkCommand > 5 GetBarrierToMT < 180 GetFrontage > 240
  582. do AttackMT 84
  583. if GetLastCommTime > 0 St_SquareFormation = 1 St_Attack = 0 GetStandTime > 2 St_EnableFire = 0 GetFireReady > 20 GetTired > 40 UnitsAmount > 31 DistToMT < 1000 FireDanger < 20 Encircle > 54 GetPolkCommand > 5 GetBarrierToMT < 180 GetFrontage > 240
  584. do AttackMT 85
  585. /if GetLastCommTime > 0 St_SquareFormation = 1 St_Attack = 0 GetStandTime > 2 GetFireReady > 80 DistToMT < 1000 DistToMT > 300 GetTired > 40 UnitsAmount > 31 FireForceDifference > -40 GetPolkCommand > 5 GetBarrierToMT < 180 GetFrontage > 240
  586. /do AttackMT 86
  587. if GetLastCommTime > 0 St_SquareFormation = 1 St_Attack = 0 GetStandTime > 2 GetMeleeForceDiff > 120 DistToMT < 1000 GetTired > 40 UnitsAmount > 31 FireForceDifference > 12 GetPolkCommand > 5 GetBarrierToMT < 180 GetFrontage > 240
  588. do AttackMT 87
  589. if GetLastCommTime > 0 St_SquareFormation = 1 GetStandTime > 2 St_Attack = 0 St_EnableFire = 0 GetFireReady > 80 DistToMT < 1000 UnitsAmount > 31 FireDanger < 10 GetTired > 40 GetPolkCommand > 5 GetBarrierToMT < 180 GetFrontage > 240
  590. do AttackMT 88
  591. if GetLastCommTime > 0 St_SquareFormation = 1 St_Attack = 0 GetStandTime > 2 DistToMT < 700 Moral > 70 St_EnableFire = 0 FireReadyMT < 20 HaveReserv = 1 DistToMT < 1000 UnitsAmount > 31 GetTired > 30 GetPolkCommand > 2 GetBarrierToMT < 180 GetFrontage > 240
  592. do AttackMT 89
  593. if GetLastCommTime > 0 St_SquareFormation = 1 St_Attack = 0 GetStandTime > 2 St_EnableFire = 0 DistToMT < 1000 UnitsAmountMT < 31 GetTired > 40 MoralMT > 700 UnitsAmount > 31 GetBarrierToMT < 180
  594. do AttackMT 80
  595. if GetLastCommTime > 0 GetLastCommTime > 3 GetStandTime < 1 GetTired < 15 DistToMT > 400 UnitsAmount > 31
  596. do Stop 140
  597. if GetLastCommTime > 0 St_March = 1 GetLastCommTime > 3 St_March = 1 DistToAim < 200 UnitsAmount > 31
  598. do Stop 150
  599. if GetLastCommTime > 0 FireForceDifference < 40 SumDangAndForce < 150 GetStandTime > 2 IsInBatter > 0 GetTired > 40 DistToMT > 1000 UnitsAmount > 31 GetBarrierToMT < 180
  600. do MoveBack 60
  601. if GetLastCommTime > 0 FireForceDifference < 40 SumDangAndForce < 150 GetStandTime > 2 IsInBatter > 0 GetTired > 40 DistToMT > 1000 UnitsAmount > 31 GetBarrierToMT < 180
  602. do MoveBack 60
  603. if GetLastCommTime > 0 St_Attack = 1 DistToMT < 900 DistToMT > 400 UnitsAmount > 31 Moral < 150 FireDanger > 30 FireForceDifference < -200 GetTired > 30 GetBarrierToMT < 180
  604. do MoveBack 62
  605. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT < 900 DistToMT > 400 UnitsAmount > 31 Moral < 150 FireDanger > 30 FireForceDifference < -200 GetTired > 30 GetBarrierToMT < 180
  606. do MoveBack 62
  607. if GetLastCommTime > 0 St_Attack = 1 DistToMT > 600 DistToMT < 900 UnitsAmount > 31 Moral < 150 FireDanger > 250 GetTired > 30 GetBarrierToMT < 180
  608. do MoveBack 63
  609. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT > 600 DistToMT < 900 UnitsAmount > 31 Moral < 150 FireDanger > 250 GetTired > 30 GetBarrierToMT < 180
  610. do MoveBack 63
  611. if GetLastCommTime > 0 St_Attack = 1 DistToMT < 900 DistToMT > 400 UnitsAmount > 31 Moral < 150 FireDanger > 30 FireForceDifference < -200 GetTired > 30 GetBarrierToMT < 180
  612. do MoveBack 65
  613. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT < 900 DistToMT > 400 UnitsAmount > 31 Moral < 150 FireDanger > 30 FireForceDifference < -200 GetTired > 30 GetBarrierToMT < 180
  614. do MoveBack 65
  615. if GetLastCommTime > 0 St_Attack = 1 DistToMT > 600 DistToMT < 900 UnitsAmount > 31 Moral < 150 FireDanger > 250 GetTired > 30 GetBarrierToMT < 180
  616. do MoveBack 66
  617. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT > 600 DistToMT < 900 UnitsAmount > 31 Moral < 150 FireDanger > 250 GetTired > 30 GetBarrierToMT < 180
  618. do MoveBack 66
  619. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT < 700 GetFireReady < 5 FireReadyMT > 60 GetTired > 20 UnitsAmount > 31 GetBarrierToMT < 180
  620. do MoveBack 67
  621. if GetLastCommTime > 0 St_Attack = 1 GetFireReady < 5 FireDanger > 40 DistToMT < 1000 Moral < 50 UnitsAmountMT > 31 UnitsAmount > 31 GetBarrierToMT < 180
  622. do MoveBack 68
  623. if GetLastCommTime > 0 GetLastCommTime > 4 GetFireReady < 5 FireDanger > 40 DistToMT < 1000 Moral < 50 UnitsAmountMT > 31 UnitsAmount > 31 GetBarrierToMT < 180
  624. do MoveBack 68
  625. if GetLastCommTime > 0 IsStandGround = 0 GetStandTime > 2 GetFireReady < 5 DistToMT < 800 DistToMT > 300 FireReadyMT > 90 UnitsAmountMT > 31 GetBarrierToMT < 180 UnitsAmount > 31
  626. do MoveBack 69
  627. if GetLastCommTime > 0 GetLastCommTime > 5 IsStandGround = 0 St_Attack = 0 Encircle > 54 FireDanger > 120 UnitsAmount > 31 GetFireReady < 30 GetBarrierToMT < 180
  628. do MoveBack 60
  629. if GetLastCommTime > 0 IsStandGround = 1 St_Attack = 0 Encircle > 90 FireDanger > 100 UnitsAmount > 31 GetFireReady < 30 GetBarrierToMT < 180
  630. do MoveBack 61
  631. if GetLastCommTime > 0 St_Attack = 1 IsStandGround = 0 MoralDiff < 70 FireDanger > 100 DistToMT < 1200 DistToMT > 600 GetFireReady < 20 UnitsAmount > 31 GetBarrierToMT < 180
  632. do MoveBack 62
  633. if GetLastCommTime > 0 GetLastCommTime > 4 IsStandGround = 0 MoralDiff < 70 FireDanger > 100 DistToMT < 1200 DistToMT > 600 GetFireReady < 20 UnitsAmount > 31 GetBarrierToMT < 180
  634. do MoveBack 62
  635. if GetLastCommTime > 0 IsStandGround = 1 Moral < 120 MoralDiff < 70 FireDanger > 100 DistToMT < 1200 DistToMT > 600 GetFireReady < 20 UnitsAmount > 31 GetBarrierToMT < 180
  636. do MoveBack 63
  637. if GetLastCommTime > 0 St_Attack = 1 IsStandGround = 0 MoralDiff < 70 FireDanger > 100 DistToMT < 1200 DistToMT > 600 GetFireReady < 20 UnitsAmount > 31 GetBarrierToMT < 180
  638. do MoveBack 64
  639. if GetLastCommTime > 0 GetLastCommTime > 4 IsStandGround = 0 MoralDiff < 70 FireDanger > 100 DistToMT < 1200 DistToMT > 600 GetFireReady < 20 UnitsAmount > 31 GetBarrierToMT < 180
  640. do MoveBack 64
  641. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 DistToMT < 950 DistToMT > 400 IsMTCannon = 1 KartechDanger > 20 UnitsAmount > 31 GetBarrierToMT < 180
  642. do MoveBack 65
  643. if GetLastCommTime > 0 DistToMT < 250 GetFireReady < 10 GetMeleeForceDiff < 130 UnitsAmount > 31
  644. do MoveBack 66
  645. /if GetLastCommTime > 0 St_EnableFire = 1 DistToMT > 1500 UnitsAmount > 31 GetAloneEnmUnits > 5
  646. /do DisableFire 30
  647. /if GetLastCommTime > 0 St_EnableFire = 1 GetFireReady < 2 UnitsAmount > 31
  648. /do DisableFire 31
  649. if GetLastCommTime > 0 GetLastCommTime > 4 St_Front = 1 DistToMT > 1000 GetFireReady < 5 HaveReserv = 1 UnitsAmountMT > 31 UnitsAmount > 31
  650. do Castle 20
  651. if GetLastCommTime > 0 GetLastCommTime > 4 St_Front = 1 DistToMT < 1000 GetFireReady < 5 HaveReserv = 1 FireReadyMT < 70 UnitsAmountMT > 31 UnitsAmount > 31
  652. do Castle 21
  653. /if GetLastCommTime > 3 IsMTStandGround = 1 FireReadyMT > 20 GetFireReady > 20 IsStandGround = 0 GetStandTime > 2 GetTired > 40 DistToMT < 1100 DistToMT > 500 UnitsAmount > 31 GetBarrierToMT < 180 GetFrontage > 1100
  654. /do TakeInTheRear 18
  655. /if GetLastCommTime > 3 St_Reserv = 1 GetStandTime > 20 IsStandGround = 0 GetFireReady > 20 GetStandTime > 2 GetTired > 40 DistToMT < 1100 DistToMT > 500 UnitsAmount > 31 GetBarrierToMT < 180 GetFrontage > 1100
  656. /do TakeInTheRear 19
  657. if GetLastCommTime > 0 GetStandTime < 1 St_EnableFire = 0 DistToMT > 1000 GetFireReady < 40 GetAloneEnmUnits > 5 UnitsAmount > 31 GetTired > 40
  658. do AttackAloneEnmUnits 15
  659. if GetLastCommTime > 0 GetStandTime > 2 St_EnableFire = 0 DistToMT > 1000 GetFireReady < 40 GetAloneEnmUnits > 5 UnitsAmount > 31 GetTired > 40
  660. do AttackAloneEnmUnits 15
  661. if GetLastCommTime > 0 GetStandTime > 2 St_EnableFire = 1 DistToMT > 1000 GetFireReady < 40 GetAloneEnmUnits > 5 UnitsAmount > 31 GetTired > 40
  662. do AttackAloneEnmUnits 15
  663. if GetLastCommTime > 0 GetStandTime < 1 GetNGrenades > 2 DistToMT < 500 St_Attack = 1 UnitsAmount > 31 IsMTStandGround = 0 GetMTStandTime > 5
  664. do ThrowGrenade 120
  665. if GetLastCommTime > 0 GetStandTime > 2 GetNGrenades > 2 DistToMT < 500 UnitsAmount > 31 IsMTStandGround = 0 GetMTStandTime > 5
  666. do ThrowGrenade 120
  667.  
  668. if GetLastCommTime > 5 St_March = 0 GetStandTime > 5 St_Reserv = 1 St_Attack = 0 GetFireReady > 80 GetTired > 50 UnitsAmount > 31 DistInReserv < 70 DistToMT < 2200 DistToMT > 600
  669. do KeepDistInReserv 13
  670. if GetLastCommTime > 5 St_March = 0 GetStandTime > 5 St_Reserv = 1 St_Attack = 0 GetTired > 50 GetFireReady > 80 UnitsAmount > 31 DistInReserv > 130 DistToMT < 2200 DistToMT > 600
  671. do KeepDistInReserv 14
  672. if GetLastCommTime > 5 St_March = 0 GetStandTime > 5 St_Attack = 0 DistToMT < 2200 St_Front = 1 DistInFront > 130 GetFireReady > 80 GetTired > 50 UnitsAmount > 31 DistToMT > 600
  673. do KeepDistInFront 15
  674. if GetLastCommTime > 5 St_March = 0 GetStandTime > 5 St_Attack = 0 DistToMT < 2200 St_Front = 1 DistInFront < 70 GetFireReady > 80 GetTired > 50 UnitsAmount > 31 DistToMT > 600
  675. do KeepDistInFront 16
  676. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 DistToMT < 900 GetFireReady > 80 GetTired > 40 AngToMT > 42 IsStandGround = 0 UnitsAmount > 31
  677. do TurnToMT 50
  678. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 GetTired > 40 DistToMT < 900 GetFireReady > 70 IsStandGround = 0 AngToMT > 42 UnitsAmount > 31
  679. do TurnToMT 51
  680. if GetLastCommTime > 0 GetStandTime > 2 GetTired > 40 DistToMT < 900 GetFireReady > 70 IsStandGround = 1 AngToMT > 42 UnitsAmount > 31
  681. do TurnToMT 52
  682. if St_SquareFormation = 1 GetLastCommTime > 6 St_Attack = 0 St_March = 0 GetTired > 60 DistToMT > 1250 GetFireReady > 98 DistToAim > 200 UnitsAmount > 31 GetPolkCommand > 5
  683. do MoveToAim 41
  684. if St_March = 1 DistToAim > 200 GetLastCommTime > 20 UnitsAmount > 31
  685. do MoveToAim 91
  686. if GetLastCommTime > 1 St_March = 1 GetTired < 10 UnitsAmount > 31
  687. do Stop 50
  688. if GetLastCommTime > 5 GetStandTime > 2 St_March = 0 GetDistToFriendlyForm < 100 GetTired > 40 St_Attack = 0 DistToMT < 1500 UnitsAmount > 31 DistToMT > 600
  689. do KeepDistInReserv 17
  690.  
  691. if GetLastCommTime > 5 GetStandTime > 2 St_March = 0 GetDistToFriendlyForm < 100 GetTired > 40 St_Attack = 0 St_Reserv = 1 HaveReserv = 1 GetLastCommTime > 5 DistToMT < 2000 UnitsAmount > 31 DistToMT > 600
  692. do KeepDistInFront 18
  693. if GetLastCommTime > 0 GetLastCommTime > 5 St_March = 0 DistToMT < 2000 GetTired > 40 St_Attack = 0 St_Reserv = 1 DistInFront > 150 GetLastCommTime > 5 UnitsAmount > 31 DistToMT < 600
  694. do KeepDistInFront 19
  695. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT > 600 DistToMT < 2000 GetStandTime > 12 GetTired > 70 GetFireReady > 80 Moral > 75 IsStandGround = 0 UnitsAmount > 31 GetBarrierToMT < 180 GetFrontage > 900 GetPolkCommand > 4
  696. do StepForward 11
  697. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT > 600 DistToMT < 2000 GetStandTime > 25 GetTired > 70 GetFireReady > 80 Moral > 75 IsStandGround = 1 UnitsAmount > 31 GetBarrierToMT < 180 GetFrontage > 900 GetPolkCommand > 6
  698. do StepForward 12
  699. if GetLastCommTime > 6 DistToMT > 600 DistToMT < 1500 GetStandTime > 10 GetTired > 70 GetFireReady > 80 IsStandGround = 0 UnitsAmount > 31 GetBarrierToMT < 180 GetFrontage > 900 GetPolkCommand > 4
  700. do StepForward 13
  701. if GetLastCommTime > 6 DistToMT > 600 DistToMT < 1500 GetStandTime > 10 GetTired > 70 GetFireReady > 80 IsStandGround = 0 UnitsAmount > 31 GetBarrierToMT < 180 GetPolkCommand > 6
  702. do StepForward 14
  703. //ment
  704. if GetLastCommTime > 0 St_EnableFire = 0 DistToMT < 700 GetFireReady > 10 UnitsAmount < 31 MoralMTAfterFire < 40
  705. do EnableFire 71
  706. /if GetLastCommTime > 5 DistToMT > 900 UnitsAmount < 31 
  707. /do FormateToLine 60
  708. if GetLastCommTime > 0 St_EnableFire = 0 DistToMT < 350 GetFireReady > 10 UnitsAmount < 31
  709. do EnableFire 60
  710. if GetLastCommTime > 0 St_Attack = 0 St_EnableFire = 0 DistToMT < 250 FireReadyMT < 10 GetFireReady > 10 GetMTForestDensity < 40 UnitsAmount < 31
  711. do EnableFire 60
  712. if GetLastCommTime > 0 St_Attack = 0 St_EnableFire = 0 DistToMT < 250 FireReadyMT < 10 GetFireReady > 10 GetMTForestDensity < 40 UnitsAmount < 31
  713. do EnableFire 60
  714. if GetLastCommTime > 0 St_Attack = 1 St_EnableFire = 0 DistToMT < 250 FireReadyMT < 10 GetFireReady > 10 GetMTForestDensity < 40 UnitsAmount < 31
  715. do EnableFire 60
  716. if GetLastCommTime > 3 GetStandTime < 1 St_EnableFire = 0 DistToMT > 1000 GetAloneEnmUnits > 5 UnitsAmount < 31 GetTired > 40 GetGameTime > 30
  717. do AttackAloneEnmUnits 133
  718. if GetLastCommTime > 0 GetStandTime > 2 St_EnableFire = 0 DistToMT > 1000 GetAloneEnmUnits > 5 UnitsAmount < 31 GetTired > 40 GetGameTime > 30
  719. do AttackAloneEnmUnits 133
  720. if GetLastCommTime > 0 GetStandTime > 2 St_EnableFire = 1 DistToMT > 1000 GetAloneEnmUnits > 5 UnitsAmount < 31 GetTired > 40 GetGameTime > 30
  721. do AttackAloneEnmUnits 133
  722. if GetLastCommTime > 0 GetAloneEnmUnits > 15 DistToMT > 900 St_EnableFire = 0 GetFireReady > 10 GetMTForestDensity < 40 UnitsAmount < 31
  723. do EnableFire 44
  724. if GetLastCommTime > 0 GetLastCommTime > 1 St_Attack = 0 GetFireReady > 20 UnitsAmount < 31 DistToMT < 450 DistToAim < 1200
  725. do MeleeAttack 64
  726. if GetLastCommTime > 0 GetLastCommTime > 2 St_Attack = 0 GetFireReady > 20 UnitsAmount < 31 DistToMT < 1000 DistToAim < 1200 GetMTStandTime > 2 GetGameTime > 30 GetBarrierToMT < 180
  727. do ArmAttack 61
  728. if GetLastCommTime > 0 GetLastCommTime > 2 St_Attack = 0 UnitsAmount < 31 DistToMT < 1000 DistToAim < 800 GetMTStandTime > 2 GetGameTime > 30 GetBarrierToMT < 180
  729. do ArmAttack 62
  730. if GetLastCommTime > 0 GetLastCommTime > 2 St_Attack = 0 UnitsAmount < 31 DistToMT < 1000 GetMTStandTime > 2 GetGameTime > 30 GetBarrierToMT < 180
  731. do ArmAttack 63
  732. if GetLastCommTime > 0 St_EnableFire = 0 GetFireReady > 10 KillAmoMT > 10 UnitsAmount < 31 FireReadyMT > 70
  733. do EnableFire 71
  734. if GetLastCommTime > 0 GetLastCommTime > 4 GetFireReady < 5 DistToMT < 250 UnitsAmount < 31 GetBarrierToMT < 180
  735. do MeleeAttack 40
  736. ///if GetLastCommTime > 0 St_March = 0 DistToAim > 1200 GetLastCommTime > 2 UnitsAmount < 31 
  737. ///do MoveToAim 110
  738. ///if GetLastCommTime > 0 St_March = 1 DistToAim > 1200 GetLastCommTime > 2 UnitsAmount < 31 
  739. ///do MoveToAim 109
  740. ///if GetLastCommTime > 0 St_March = 0 DistToAim > 900 GetStandTime > 2 UnitsAmount < 31 
  741. ///do MoveToAim 60
  742. ///if GetLastCommTime > 0 St_March = 0 DistToAim > 800 GetStandTime > 2 UnitsAmount < 31 GetFireReady > 10
  743. ///do MoveToAim 20
  744. if GetLastCommTime > 0 St_EnableFire = 0 DistToMT < 700 GetFireReady > 10 UnitsAmount < 31 DistToAim > 800
  745. do EnableFire 80
  746. if GetLastCommTime > 0 St_EnableFire = 0 DistToMT < 450 GetFireReady > 10 UnitsAmount < 31
  747. do EnableFire 81
  748. if GetLastCommTime > 0 GetLastCommTime > 1 St_EnableFire = 0 St_ReadyToFire = 0 DistToMT < 1100 UnitsAmount < 31
  749. do SetReadyToFire 160
  750. if GetLastCommTime > 0 St_ReadyToFire = 1 DistToMT > 1300 GetAloneEnmUnits > 5 UnitsAmount < 31
  751. do SetNotReadyToFire 6
  752. if GetLastCommTime > 0 St_EnableFire = 1 DistToMT > 800 UnitsAmount < 31 GetAloneEnmUnits < 5
  753. do DisableFire 5
  754. if GetLastCommTime > 0 St_EnableFire = 1 GetFireReady < 5 UnitsAmount < 31 
  755. do DisableFire 5
  756. if GetLastCommTime > 0 GetLastCommTime > 4 St_Front = 1 DistToMT > 1000 GetFireReady < 15 HaveReserv = 1 UnitsAmountMT > 31 UnitsAmount < 31
  757. do Castle 75
  758. if GetLastCommTime > 0 GetLastCommTime > 4 St_Front = 1 DistToMT < 1000 GetFireReady < 15 HaveReserv = 1 FireReadyMT < 70 UnitsAmountMT > 31 UnitsAmount < 31 
  759. do Castle 75
  760. if GetLastCommTime > 0 GetLastCommTime > 1 GetStandTime > 2 DistToMT < 700 GetFireReady > 90 KillAmoMT > 1 UnitsAmount < 31 
  761. do OneLineShot 15
  762. if GetLastCommTime > 0 GetLastCommTime > 1 GetStandTime > 2 DistToMT < 600 GetFireReady < 70 KillAmoMT > 1 UnitsAmount < 31 
  763. do OneLineShot 15
  764. if GetLastCommTime > 0 GetLastCommTime > 1 GetStandTime > 2 DistToMT < 500 GetFireReady < 40 KillAmoMT > 1 UnitsAmount < 31 
  765. do OneLineShot 15
  766. if GetLastCommTime > 0 GetStandTime > 2 St_Reserv = 1 St_Attack = 0 DistInReserv < 70 GetFireReady > 80 GetTired > 80 UnitsAmount < 31 DistToMT < 500
  767. do KeepDistInReserv 15
  768. if GetLastCommTime > 0 GetStandTime > 2 St_Reserv = 1 St_Attack = 0 DistInReserv > 130 GetTired > 50 GetFireReady > 80 UnitsAmount < 31 DistToMT < 500
  769. do KeepDistInReserv 15
  770. if GetLastCommTime > 0 GetStandTime > 6 St_Attack = 0 DistToMT > 600 DistToMT < 1300 GetTired > 40 AngToMT > 16 UnitsAmount < 31
  771. do TurnToMT 16
  772. if GetLastCommTime > 0 GetStandTime > 7 St_Attack = 0 DistToMT < 1300 GetFireReady > 80 GetTired > 40 AngToMT > 42 UnitsAmount < 31
  773. do TurnToMT 10
  774. if GetLastCommTime > 0 GetStandTime > 8 St_Attack = 0 GetTired > 40 AngToMT > 42 DistToMT < 1400 GetFireReady > 70 UnitsAmount < 31
  775. do TurnToMT 11
  776. if GetLastCommTime > 0 GetStandTime > 9 St_Attack = 0 DistToMT < 1300 GetFireReady > 80 GetTired > 40 AngToMT > 50 UnitsAmount < 31
  777. do TurnToMT 12
  778. if GetLastCommTime > 0 GetStandTime > 10 St_Attack = 0 GetTired > 40 AngToMT > 50 DistToMT < 1400 GetFireReady > 70 UnitsAmount < 31
  779. do TurnToMT 13
  780. if GetLastCommTime > 15 DistToMT < 2500 DistToMT > 1000 UnitsAmount < 31
  781. do TurnToMT 11
  782. #
  783. #PEHOTASTRELKI UnitVol(EG) 
  784. if GetMeleeForceDiff > 180 St_Attack = 0 GetLastCommTime > 0 St_KareFormation = 0 St_Attack = 0 GetTired < 25 DistToMT < 1600 DistToMT > 600 GetPolkCommand < 4
  785. do FormateToKare 141
  786. if GetLastCommTime > 0 St_KareFormation = 1 St_Attack = 0 GetTired > 95 GetStandTime > 9 DistToMT > 600
  787. do FormateToLine 143
  788. if GetLastCommTime > 0 GetPolkCommand > 3 St_March = 1 DistToMT < 1250 St_LineFormation = 0 St_KareFormation = 0 UnitsAmount > 31 UnitsAmountMT > 31
  789. do FormateToLine 112
  790. if GetLastCommTime > 0 GetPolkCommand > 3 St_March = 0 DistToMT > 600 DistToMT < 1250 St_LineFormation = 0 UnitsAmount > 31 UnitsAmountMT > 31
  791. do FormateToLine 112
  792. if GetLastCommTime > 0 St_KareFormation = 0 St_LineFormation = 0 DistToMT < 3000 GetTired > 20 UnitsAmount > 31 GetPolkCommand < 6 UnitsAmountMT > 31
  793. do FormateToLine 113
  794. /if GetLastCommTime > 0 St_KareFormation = 0 St_LineFormation = 0 DistToMT < 950 GetTired > 20 UnitsAmount > 31 GetFrontage > 600
  795. /do FormateToLine 111
  796. /if GetLastCommTime > 0 St_KareFormation = 0 St_LineFormation = 0 DistToMT < 950 GetTired > 20 UnitsAmount > 31 GetFrontage < 600
  797. /do FormateToKare 110
  798.  
  799. if GetStandTime > 1 GetLastCommTime > 1 St_ReadyToFire = 0 DistToMT < 1200 UnitsAmount > 31
  800. do SetReadyToFire 600
  801. if GetLastCommTime > 0 St_ReadyToFire = 1 DistToMT > 1500 GetAloneEnmUnits > 5 UnitsAmount > 31
  802. do SetNotReadyToFire 45
  803. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT < 950 Moral > 45 GetTired > 40 IsStandGround = 0 UnitsAmount > 31 FireDanger < 20 GetMeleeForceDiff > 180 GetBarrierToMT < 180
  804. do ArmAttack 100
  805. if GetLastCommTime > 0 GetLastCommTime > 4 GetTired > 40 DistToMT < 950 UnitsAmount > 70 IsStandGround = 0 FireDanger < 10 GetMeleeForceDiff > 90 GetBarrierToMT < 180
  806. do ArmAttack 101
  807. if GetLastCommTime > 0 DistToMT < 150 IsStandGround = 0 UnitsAmount > 31 GetBarrierToMT < 180 IsMTStandGround = 0
  808. do MeleeAttack 102
  809. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT < 1200 UnitsAmountMT < 31 GetTired > 60 Moral > 40 UnitsAmount > 31 GetBarrierToMT < 180
  810. do ArmAttack 103
  811. if GetLastCommTime > 0 GetLastCommTime > 4 FireReadyMT > 80 MoralMT < 38 DistToMT < 250 Moral > 45 IsStandGround = 0 UnitsAmount > 31 GetBarrierToMT < 180 IsMTStandGround = 0
  812. do MeleeAttack 104
  813. if GetLastCommTime > 0 IsStandGround = 0 GetStandTime > 5 DistToMT < 250 UnitsAmount > 31 IsMTStandGround = 0
  814. do MeleeAttack 105
  815. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 IsInBatter > 0 GetTired > 40 DistToMT < 1000 FireForceDifference > -40 UnitsAmount > 31 GetBarrierToMT < 180 GetFrontage > 900
  816. do AttackMT 80
  817. if GetLastCommTime > 0 St_Attack = 0 St_Attack = 0 GetFOOD < 5000 DistToMT < 3000 UnitsAmount > 31 GetBarrierToMT < 180
  818. do AttackMT 1
  819. if GetLastCommTime > 0 FireReadyMT < 60 St_Attack = 0 GetStandTime > 2 DistToMT < 1000 GetTired > 40 IsStandGround = 0 UnitsAmount > 31 FireDanger < 140 GetMeleeForceDiff > 300 GetBarrierToMT < 180 GetFrontage > 900
  820. do AttackMT 81
  821. if GetLastCommTime > 0 IsStandGround = 0 FireReadyMT < 60 St_Attack = 0 GetStandTime > 2 GetMeleeForceDiff > 120 DistToMT < 1000 GetTired > 40 UnitsAmount > 31 FireForceDifference > 12 GetBarrierToMT < 180 GetFrontage > 900
  822. do AttackMT 87
  823. if GetLastCommTime > 0 IsStandGround = 0 St_Attack = 0 GetStandTime > 2 DistToMT < 700 Moral > 70 St_EnableFire = 0 FireReadyMT < 20 HaveReserv = 1 DistToMT < 1000 UnitsAmount > 31 GetBarrierToMT < 180 GetFrontage > 900
  824. do AttackMT 89
  825. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 St_EnableFire = 0 DistToMT < 1000 UnitsAmountMT < 31 GetTired > 60 MoralMT > 700 UnitsAmount > 31 GetBarrierToMT < 180
  826. do AttackMT 80
  827. if GetLastCommTime > 0 GetLastCommTime > 4 GetStandTime < 1 St_Attack = 0 GetTired < 15 DistToMT > 400 UnitsAmount > 31
  828. do Stop 140
  829. if GetLastCommTime > 0 St_March = 1 GetLastCommTime > 4 St_March = 1 DistToAim < 200 UnitsAmount > 31
  830. do Stop 150
  831. if HaveReserv = 0 GetLastCommTime > 0 GetStandTime > 2 IsInBatter > 0 GetTired > 40 DistToMT > 1000 UnitsAmount > 31 GetBarrierToMT < 180
  832. do MoveBack 60
  833. if HaveReserv = 0 GetLastCommTime > 0 GetStandTime > 2 IsInBatter > 0 GetTired > 40 DistToMT > 1000 UnitsAmount > 31 GetBarrierToMT < 180
  834. do MoveBack 61
  835. if HaveReserv = 0 GetLastCommTime > 0 St_Attack = 1 DistToMT < 900 DistToMT > 400 UnitsAmount > 31 Moral < 150 FireDanger > 30 FireForceDifference < -200 GetTired > 30 GetBarrierToMT < 180
  836. do MoveBack 62
  837. if HaveReserv = 0 GetLastCommTime > 0 GetLastCommTime > 4 DistToMT < 900 DistToMT > 400 UnitsAmount > 31 Moral < 150 FireDanger > 30 FireForceDifference < -200 GetTired > 30 GetBarrierToMT < 180
  838. do MoveBack 62
  839. if HaveReserv = 0 GetLastCommTime > 0 St_Attack = 1 DistToMT > 600 DistToMT < 900 UnitsAmount > 31 Moral < 150 FireDanger > 200 GetTired > 30 GetBarrierToMT < 180
  840. do MoveBack 63
  841. if HaveReserv = 0 GetLastCommTime > 0 GetLastCommTime > 4 DistToMT > 600 DistToMT < 900 UnitsAmount > 31 Moral < 150 FireDanger > 200 GetTired > 30 GetBarrierToMT < 180
  842. do MoveBack 63
  843. /if GetLastCommTime > 0 GetStandTime > 2 IsInBatter > 0 GetTired > 40 DistToMT > 1000 UnitsAmount > 31 GetBarrierToMT < 180
  844. /do MoveBack 64
  845. if HaveReserv = 0 GetLastCommTime > 0 St_Attack = 1 DistToMT < 900 DistToMT > 400 UnitsAmount > 31 Moral < 150 FireDanger > 30 FireForceDifference < -200 GetTired > 30 GetBarrierToMT < 180
  846. do MoveBack 65
  847. if HaveReserv = 0 GetLastCommTime > 0 GetLastCommTime > 4 DistToMT < 900 DistToMT > 400 UnitsAmount > 31 Moral < 150 FireDanger > 30 FireForceDifference < -200 GetTired > 30 GetBarrierToMT < 180
  848. do MoveBack 65
  849. if HaveReserv = 0 GetLastCommTime > 0 St_Attack = 1 DistToMT > 600 DistToMT < 900 UnitsAmount > 31 Moral < 150 FireDanger > 200 GetTired > 30 GetBarrierToMT < 180
  850. do MoveBack 66
  851. if HaveReserv = 0 GetLastCommTime > 0 GetLastCommTime > 4 DistToMT > 600 DistToMT < 900 UnitsAmount > 31 Moral < 150 FireDanger > 200 GetTired > 30 GetBarrierToMT < 180
  852. do MoveBack 66
  853. if HaveReserv = 0 IsStandGround = 0 GetLastCommTime > 0 GetLastCommTime > 4 DistToMT < 700 GetFireReady > 100 GetTired > 10 UnitsAmount > 31 GetBarrierToMT < 180
  854. do MoveBack 67
  855. if HaveReserv = 0 GetLastCommTime > 0 St_Attack = 1 FireDanger > 40 DistToMT < 1000 Moral < 50 UnitsAmountMT > 31 UnitsAmount > 31 GetBarrierToMT < 180
  856. do MoveBack 68
  857. if HaveReserv = 0 GetLastCommTime > 0 IsStandGround = 0 GetStandTime > 2 DistToMT < 800 DistToMT > 300 FireDanger > 100 UnitsAmountMT > 31 UnitsAmount > 31 GetBarrierToMT < 180
  858. do MoveBack 69
  859. if HaveReserv = 0 GetLastCommTime > 0 GetLastCommTime > 4 IsStandGround = 0 St_Attack = 0 Encircle > 54 FireDanger > 100 UnitsAmount > 31 GetBarrierToMT < 180
  860. do MoveBack 60
  861. if HaveReserv = 0 GetLastCommTime > 0 IsStandGround = 1 St_Attack = 0 Encircle > 90 FireDanger > 100 UnitsAmount > 31 GetBarrierToMT < 180
  862. do MoveBack 61
  863. if HaveReserv = 0 GetLastCommTime > 0 IsStandGround = 1 Moral < 120 MoralDiff < 70 FireDanger > 100 DistToMT < 1000 DistToMT > 600 UnitsAmount > 31 GetBarrierToMT < 180
  864. do MoveBack 63
  865. if HaveReserv = 0 GetLastCommTime > 0 St_Attack = 1 IsStandGround = 0 Moral < 80 MoralDiff < 70 FireDanger > 100 DistToMT < 1000 DistToMT > 600 UnitsAmount > 31 GetBarrierToMT < 180
  866. do MoveBack 64
  867. if HaveReserv = 0 GetLastCommTime > 0 GetLastCommTime > 4 IsStandGround = 0 Moral < 80 MoralDiff < 70 FireDanger > 100 DistToMT < 1000 DistToMT > 600 UnitsAmount > 31 GetBarrierToMT < 180
  868. do MoveBack 64
  869. if HaveReserv = 0 GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 DistToMT < 950 DistToMT > 400 IsMTCannon = 1 KartechDanger > 20 UnitsAmount > 31 GetBarrierToMT < 180
  870. do MoveBack 65
  871. ///if HaveReserv = 0 GetLastCommTime > 0 St_Attack = 0 St_March = 0 GetTired > 60 DistToMT > 1000 DistToAim > 200 UnitsAmount > 31
  872. ///do MoveToAim 40
  873. ///if HaveReserv = 0 GetLastCommTime > 0 St_Attack = 0 St_March = 0 GetTired > 60 DistToAim > 200 UnitsAmount > 31
  874. ///do MoveToAim 41
  875. ///if HaveReserv = 0 GetLastCommTime > 0 St_March = 1 DistToAim > 200 GetLastCommTime > 20 UnitsAmount > 31
  876. ///do MoveToAim 91
  877. if GetLastCommTime > 0 GetStandTime < 1 St_EnableFire = 0 DistToMT > 1000 GetAloneEnmUnits > 5 UnitsAmount > 31 GetTired > 40
  878. do AttackAloneEnmUnits 15
  879. if GetLastCommTime > 0 GetStandTime > 2 St_EnableFire = 0 DistToMT > 1000 GetAloneEnmUnits > 5 UnitsAmount > 31 GetTired > 40
  880. do AttackAloneEnmUnits 15
  881. if GetLastCommTime > 0 GetStandTime > 2 St_EnableFire = 1 DistToMT > 1000 GetAloneEnmUnits > 5 UnitsAmount > 31 GetTired > 40
  882. do AttackAloneEnmUnits 15
  883. if GetLastCommTime > 0 GetStandTime < 1 GetNGrenades > 2 DistToMT < 500 St_Attack = 1 UnitsAmount > 31 IsMTStandGround = 0 GetMTStandTime > 20
  884. do ThrowGrenade 120
  885. if GetLastCommTime > 0 GetStandTime > 2 GetNGrenades > 2 DistToMT < 500 UnitsAmount > 31 IsMTStandGround = 0 GetMTStandTime > 20
  886. do ThrowGrenade 120
  887.  
  888. if GetLastCommTime > 0 GetStandTime > 5 St_Reserv = 1 St_Attack = 0 GetTired > 50 UnitsAmount > 31 DistInReserv < 70 DistToMT < 2200 DistToMT > 500
  889. do KeepDistInReserv 13
  890. if GetLastCommTime > 0 GetStandTime > 5 St_Reserv = 1 St_Attack = 0 GetTired > 50 UnitsAmount > 31 DistInReserv > 130 DistToMT < 2200 DistToMT > 500
  891. do KeepDistInReserv 14
  892. if GetLastCommTime > 0 GetStandTime > 5 St_Attack = 0 DistToMT < 2200 DistToMT > 500 St_Front = 1 DistInFront > 130 GetTired > 50 UnitsAmount > 31 DistToMT < 500
  893. do KeepDistInFront 15
  894. if GetLastCommTime > 0 GetStandTime > 5 St_Attack = 0 DistToMT < 2200 DistToMT > 500 St_Front = 1 DistInFront < 70 GetTired > 50 UnitsAmount > 31 DistToMT < 500
  895. do KeepDistInFront 16
  896. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 DistToMT < 900 GetTired > 40 AngToMT > 40 IsStandGround = 0 UnitsAmount > 31
  897. do TurnToMT 50
  898. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 GetTired > 40 DistToMT < 900 IsStandGround = 0 AngToMT > 42 UnitsAmount > 31
  899. do TurnToMT 51
  900. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 GetTired > 40 DistToMT < 900 IsStandGround = 1 AngToMT > 42 UnitsAmount > 31
  901. do TurnToMT 52
  902. ///if GetLastCommTime > 0 St_March = 1 DistToAim > 200 GetLastCommTime > 20 UnitsAmount > 31
  903. ///do MoveToAim 91
  904. if GetLastCommTime > 0 GetStandTime > 5 GetDistToFriendlyForm < 200 GetTired > 40 St_Attack = 0 GetLastCommTime > 5 UnitsAmount > 31 DistToMT < 500
  905. do KeepDistInReserv 17
  906. /if GetLastCommTime > 0 GetStandTime > 5 GetDistToFriendlyForm < 200 GetTired > 40 St_Attack = 0 St_Reserv = 1 HaveReserv = 1 GetLastCommTime > 5 UnitsAmount > 31 DistToMT < 500
  907. /do KeepDistInFront 18
  908. #
  909. #PEHOTASTRELKI UnitPar(RU)
  910. if GetMeleeForceDiff > 180 St_Attack = 0 GetLastCommTime > 0 St_KareFormation = 0 St_Attack = 0 GetTired < 25 DistToMT < 1600 DistToMT > 600 GetPolkCommand < 4
  911. do FormateToKare 141
  912. if GetLastCommTime > 0 St_KareFormation = 1 St_Attack = 0 GetTired > 95 GetStandTime > 9 DistToMT > 600
  913. do FormateToLine 143
  914. if GetLastCommTime > 0 GetPolkCommand > 3 St_March = 1 DistToMT < 1250 St_LineFormation = 0 St_KareFormation = 0 UnitsAmount > 31 UnitsAmountMT > 31
  915. do FormateToLine 112
  916. if GetLastCommTime > 0 GetPolkCommand > 3 St_March = 0 DistToMT > 600 DistToMT < 1250 St_LineFormation = 0 UnitsAmount > 31 UnitsAmountMT > 31
  917. do FormateToLine 112
  918. if GetLastCommTime > 0 St_KareFormation = 0 St_LineFormation = 0 DistToMT < 3000 GetTired > 20 UnitsAmount > 31 GetPolkCommand < 6 UnitsAmountMT > 31
  919. do FormateToLine 113
  920. /if GetLastCommTime > 0 St_KareFormation = 0 St_LineFormation = 0 DistToMT < 950 GetTired > 20 UnitsAmount > 31 GetFrontage > 600
  921. /do FormateToLine 111
  922. /if GetLastCommTime > 0 St_KareFormation = 0 St_LineFormation = 0 DistToMT < 950 GetTired > 20 UnitsAmount > 31 GetFrontage < 600
  923. /do FormateToKare 110
  924.  
  925. if GetStandTime > 1 GetLastCommTime > 1 St_ReadyToFire = 0 DistToMT < 1200 UnitsAmount > 31
  926. do SetReadyToFire 600
  927. if GetLastCommTime > 0 St_ReadyToFire = 1 DistToMT > 1500 GetAloneEnmUnits > 5 UnitsAmount > 31
  928. do SetNotReadyToFire 45
  929. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT < 950 Moral > 45 GetTired > 40 IsStandGround = 0 UnitsAmount > 31 FireDanger < 20 GetMeleeForceDiff > 180 GetBarrierToMT < 180
  930. do ArmAttack 100
  931. if GetLastCommTime > 0 GetLastCommTime > 4 GetTired > 40 DistToMT < 950 UnitsAmount > 70 IsStandGround = 0 FireDanger < 10 GetMeleeForceDiff > 90 GetBarrierToMT < 180
  932. do ArmAttack 101
  933. if GetLastCommTime > 0 DistToMT < 150 IsStandGround = 0 UnitsAmount > 31 GetBarrierToMT < 180 IsMTStandGround = 0
  934. do MeleeAttack 102
  935. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT < 1200 UnitsAmountMT < 31 GetTired > 60 Moral > 40 UnitsAmount > 31 GetBarrierToMT < 180
  936. do ArmAttack 103
  937. if GetLastCommTime > 0 GetLastCommTime > 4 FireReadyMT > 80 MoralMT < 38 DistToMT < 250 Moral > 45 IsStandGround = 0 UnitsAmount > 31 GetBarrierToMT < 180 IsMTStandGround = 0
  938. do MeleeAttack 104
  939. if GetLastCommTime > 0 IsStandGround = 0 GetStandTime > 5 DistToMT < 250 UnitsAmount > 31 IsMTStandGround = 0
  940. do MeleeAttack 105
  941. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 IsInBatter > 0 GetTired > 40 DistToMT < 1000 FireForceDifference > -40 UnitsAmount > 31 GetBarrierToMT < 180 GetFrontage > 900
  942. do AttackMT 80
  943. if GetLastCommTime > 0 St_Attack = 0 St_Attack = 0 GetFOOD < 5000 DistToMT < 3000 UnitsAmount > 31 GetBarrierToMT < 180
  944. do AttackMT 1
  945. if GetLastCommTime > 0 FireReadyMT < 60 St_Attack = 0 GetStandTime > 2 DistToMT < 1000 GetTired > 40 IsStandGround = 0 UnitsAmount > 31 FireDanger < 140 GetMeleeForceDiff > 300 GetBarrierToMT < 180 GetFrontage > 900
  946. do AttackMT 81
  947. if GetLastCommTime > 0 IsStandGround = 0 FireReadyMT < 60 St_Attack = 0 GetStandTime > 2 GetMeleeForceDiff > 120 DistToMT < 1000 GetTired > 40 UnitsAmount > 31 FireForceDifference > 12 GetBarrierToMT < 180 GetFrontage > 900
  948. do AttackMT 87
  949. if GetLastCommTime > 0 IsStandGround = 0 St_Attack = 0 GetStandTime > 2 DistToMT < 700 Moral > 70 St_EnableFire = 0 FireReadyMT < 20 HaveReserv = 1 DistToMT < 1000 UnitsAmount > 31 GetBarrierToMT < 180 GetFrontage > 900
  950. do AttackMT 89
  951. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 St_EnableFire = 0 DistToMT < 1000 UnitsAmountMT < 31 GetTired > 60 MoralMT > 700 UnitsAmount > 31 GetBarrierToMT < 180
  952. do AttackMT 80
  953. if GetLastCommTime > 0 GetLastCommTime > 4 GetStandTime < 1 St_Attack = 0 GetTired < 15 DistToMT > 400 UnitsAmount > 31
  954. do Stop 140
  955. if GetLastCommTime > 0 St_March = 1 GetLastCommTime > 4 St_March = 1 DistToAim < 200 UnitsAmount > 31
  956. do Stop 150
  957.  
  958. if GetLastCommTime > 0 GetStandTime < 6 FireReadyMT > 60 IsStandGround = 0 GetTired > 30 DistToMT < 600 Moral > 90 UnitsAmount > 31 GetBarrierToMT < 180
  959. do MoveBack 60
  960. if GetLastCommTime > 0 GetStandTime < 6 FireReadyMT > 60 IsStandGround = 1 GetTired > 30 DistToMT < 700 DistToMT > 500 Moral < 90 UnitsAmount > 31 GetBarrierToMT < 180
  961. do MoveBack 60
  962.  
  963. if GetLastCommTime > 0 GetStandTime > 2 FireReadyMT < 20 Moral > 50 GetTired > 30 DistToMT < 450 UnitsAmount > 31 GetBarrierToMT < 180 GetMeleeForceDiff > 190
  964. do MeleeAttack 103
  965.  
  966. if GetLastCommTime > 0 GetStandTime > 2 IsInBatter > 0 GetTired > 40 DistToMT > 1000 UnitsAmount > 31 GetBarrierToMT < 180
  967. do MoveBack 60
  968. if GetLastCommTime > 0 GetStandTime > 2 IsInBatter > 0 GetTired > 40 DistToMT > 1000 UnitsAmount > 31 GetBarrierToMT < 180
  969. do MoveBack 61
  970.  
  971. if GetLastCommTime > 0 St_Attack = 1 DistToMT < 900 DistToMT > 400 UnitsAmount > 31 Moral < 150 FireDanger > 30 FireForceDifference < -200 GetTired > 30 GetBarrierToMT < 180
  972. do MoveBack 62
  973. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT < 900 DistToMT > 400 UnitsAmount > 31 Moral < 150 FireDanger > 30 FireForceDifference < -200 GetTired > 30 GetBarrierToMT < 180
  974. do MoveBack 62
  975. if GetLastCommTime > 0 St_Attack = 1 DistToMT > 600 DistToMT < 900 UnitsAmount > 31 Moral < 150 FireDanger > 200 GetTired > 30 GetBarrierToMT < 180
  976. do MoveBack 63
  977. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT > 600 DistToMT < 900 UnitsAmount > 31 Moral < 150 FireDanger > 200 GetTired > 30 GetBarrierToMT < 180
  978. do MoveBack 63
  979. /if GetLastCommTime > 0 GetStandTime > 2 IsInBatter > 0 GetTired > 40 DistToMT > 1000 UnitsAmount > 31 GetBarrierToMT < 180
  980. /do MoveBack 64
  981. if GetLastCommTime > 0 St_Attack = 1 DistToMT < 900 DistToMT > 400 UnitsAmount > 31 Moral < 150 FireDanger > 30 FireForceDifference < -200 GetTired > 30 GetBarrierToMT < 180
  982. do MoveBack 65
  983. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT < 900 DistToMT > 400 UnitsAmount > 31 Moral < 150 FireDanger > 30 FireForceDifference < -200 GetTired > 30 GetBarrierToMT < 180
  984. do MoveBack 65
  985. if GetLastCommTime > 0 St_Attack = 1 DistToMT > 600 DistToMT < 900 UnitsAmount > 31 Moral < 150 FireDanger > 200 GetTired > 30 GetBarrierToMT < 180
  986. do MoveBack 66
  987. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT > 600 DistToMT < 900 UnitsAmount > 31 Moral < 150 FireDanger > 200 GetTired > 30 GetBarrierToMT < 180
  988. do MoveBack 66
  989. if GetLastCommTime > 0 St_Attack = 1 FireDanger > 40 DistToMT < 1000 Moral < 50 UnitsAmountMT > 31 UnitsAmount > 31 GetBarrierToMT < 180
  990. do MoveBack 68
  991. if GetLastCommTime > 0 IsStandGround = 0 GetStandTime > 2 DistToMT < 800 DistToMT > 300 FireDanger > 100 UnitsAmountMT > 31 UnitsAmount > 31 GetBarrierToMT < 180
  992. do MoveBack 69
  993. if GetLastCommTime > 0 GetLastCommTime > 4 IsStandGround = 0 St_Attack = 0 Encircle > 54 FireDanger > 100 UnitsAmount > 31 GetBarrierToMT < 180
  994. do MoveBack 60
  995. if GetLastCommTime > 0 IsStandGround = 1 St_Attack = 0 Encircle > 90 FireDanger > 100 UnitsAmount > 31 GetBarrierToMT < 180
  996. do MoveBack 61
  997. if GetLastCommTime > 0 IsStandGround = 1 Moral < 120 MoralDiff < 70 FireDanger > 100 DistToMT < 1000 DistToMT > 600 UnitsAmount > 31 GetBarrierToMT < 180
  998. do MoveBack 63
  999. if GetLastCommTime > 0 St_Attack = 1 IsStandGround = 0 Moral < 80 MoralDiff < 70 FireDanger > 100 DistToMT < 1000 DistToMT > 600 UnitsAmount > 31 GetBarrierToMT < 180
  1000. do MoveBack 64
  1001. if GetLastCommTime > 0 GetLastCommTime > 4 IsStandGround = 0 Moral < 80 MoralDiff < 70 FireDanger > 100 DistToMT < 1000 DistToMT > 600 UnitsAmount > 31 GetBarrierToMT < 180
  1002. do MoveBack 64
  1003. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 DistToMT < 950 DistToMT > 400 IsMTCannon = 1 KartechDanger > 20 UnitsAmount > 31 GetBarrierToMT < 180
  1004. do MoveBack 65
  1005.  
  1006. ///if GetLastCommTime > 0 St_Attack = 0 St_March = 0 GetTired > 60 DistToMT > 1000 DistToAim > 200 UnitsAmount > 31
  1007. ///do MoveToAim 40
  1008. ///if GetLastCommTime > 0 St_Attack = 0 St_March = 0 GetTired > 60 DistToAim > 200 UnitsAmount > 31
  1009. ///do MoveToAim 41
  1010. ///if GetLastCommTime > 0 St_March = 1 DistToAim > 200 GetLastCommTime > 20 UnitsAmount > 31
  1011. ///do MoveToAim 91
  1012. if GetLastCommTime > 0 GetStandTime < 1 St_EnableFire = 0 DistToMT > 1000 GetAloneEnmUnits > 5 UnitsAmount > 31 GetTired > 40
  1013. do AttackAloneEnmUnits 15
  1014. if GetLastCommTime > 0 GetStandTime > 2 St_EnableFire = 0 DistToMT > 1000 GetAloneEnmUnits > 5 UnitsAmount > 31 GetTired > 40
  1015. do AttackAloneEnmUnits 15
  1016. if GetLastCommTime > 0 GetStandTime > 2 St_EnableFire = 1 DistToMT > 1000 GetAloneEnmUnits > 5 UnitsAmount > 31 GetTired > 40
  1017. do AttackAloneEnmUnits 15
  1018. if GetLastCommTime > 0 GetStandTime < 1 GetNGrenades > 2 DistToMT < 500 St_Attack = 1 UnitsAmount > 31 IsMTStandGround = 0 GetMTStandTime > 20
  1019. do ThrowGrenade 120
  1020. if GetLastCommTime > 0 GetStandTime > 2 GetNGrenades > 2 DistToMT < 500 UnitsAmount > 31 IsMTStandGround = 0 GetMTStandTime > 20
  1021. do ThrowGrenade 120
  1022.  
  1023. if GetLastCommTime > 0 GetStandTime > 5 St_Reserv = 1 St_Attack = 0 GetTired > 50 UnitsAmount > 31 DistInReserv < 70 DistToMT < 2200 DistToMT > 500
  1024. do KeepDistInReserv 13
  1025. if GetLastCommTime > 0 GetStandTime > 5 St_Reserv = 1 St_Attack = 0 GetTired > 50 UnitsAmount > 31 DistInReserv > 130 DistToMT < 2200 DistToMT > 500
  1026. do KeepDistInReserv 14
  1027. if GetLastCommTime > 0 GetStandTime > 5 St_Attack = 0 DistToMT < 2200 DistToMT > 500 St_Front = 1 DistInFront > 130 GetTired > 50 UnitsAmount > 31 DistToMT < 500
  1028. do KeepDistInFront 15
  1029. if GetLastCommTime > 0 GetStandTime > 5 St_Attack = 0 DistToMT < 2200 DistToMT > 500 St_Front = 1 DistInFront < 70 GetTired > 50 UnitsAmount > 31 DistToMT < 500
  1030. do KeepDistInFront 16
  1031. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 DistToMT < 900 GetTired > 40 AngToMT > 40 IsStandGround = 0 UnitsAmount > 31
  1032. do TurnToMT 50
  1033. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 GetTired > 40 DistToMT < 900 IsStandGround = 0 AngToMT > 42 UnitsAmount > 31
  1034. do TurnToMT 51
  1035. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 GetTired > 40 DistToMT < 900 IsStandGround = 1 AngToMT > 42 UnitsAmount > 31
  1036. do TurnToMT 52
  1037. ///if GetLastCommTime > 0 St_March = 1 DistToAim > 200 GetLastCommTime > 20 UnitsAmount > 31
  1038. ///do MoveToAim 91
  1039. if GetLastCommTime > 0 GetStandTime > 5 GetDistToFriendlyForm < 200 GetTired > 40 St_Attack = 0 GetLastCommTime > 5 UnitsAmount > 31 DistToMT < 500
  1040. do KeepDistInReserv 17
  1041. /if GetLastCommTime > 0 GetStandTime > 5 GetDistToFriendlyForm < 200 GetTired > 40 St_Attack = 0 St_Reserv = 1 HaveReserv = 1 GetLastCommTime > 5 UnitsAmount > 31 DistToMT < 500
  1042. /do KeepDistInFront 18
  1043. #
  1044. #PEHOTASTRELKI UnitEgrNG(AU) UnitEgrNG(FR) UnitEgrNG(PR) UnitGre(EG) UnitEgr(RU) UnitEgrNG(EN)
  1045. if DistToMT < 900 GetFireReady > 70 MoralMT < 50 UnitsAmountMT > 31
  1046. do AttackMT 97
  1047. if DistToMT < 250 GetFireReady > 70 MoralMT < 50 UnitsAmountMT > 31
  1048. do EnableFire 98
  1049. if DistToMT < 550 GetFireReady > 70 MoralMT < 40 UnitsAmountMT > 31
  1050. do EnableFire 99
  1051.  
  1052. if GetLastCommTime > 0 DistToMT < 400 GetFireReady < 10 FireReadyMT < 30 MoralMT < 38 DistToMT < 250 UnitsAmountMT < 28 GetBarrierToMT < 180 IsMTStandGround = 0
  1053. do MeleeAttack 104
  1054. if St_Attack = 0 GetLastCommTime > 0 DistToMT < 250 UnitsAmountMT < 17
  1055. do MeleeAttack 106
  1056. if GetLastCommTime > 0 DistToMT > 200 DistToMT < 600 GetFireReady < 10 FireReadyMT < 30 UnitsAmountMT > 27 IsStandGround = 0
  1057. do MoveBack 60
  1058. if GetLastCommTime > 0 DistToMT > 200 DistToMT < 600 GetFireReady < 10 FireReadyMT > 30 UnitsAmountMT < 28 IsStandGround = 0
  1059. do MoveBack 60
  1060.  
  1061. if GetLastCommTime > 0 GetLastCommTime > 1 St_ReadyToFire = 0 DistToMT < 1100 
  1062. do SetReadyToFire 600
  1063. if GetLastCommTime > 0 St_ReadyToFire = 1 DistToMT > 1500 GetAloneEnmUnits > 5 
  1064. do SetNotReadyToFire 45
  1065.  
  1066. if GetLastCommTime > 0 DistToMT < 1000 St_EnableFire = 0 GetFireReady > 50 GetMTForestDensity < 40 MoralMTAfterFire < 35 
  1067. do EnableFire 91
  1068. if GetLastCommTime > 0 St_EnableFire = 0 FireReadyMT > 30 GetFireReady > 50 DistToMT < 500 GetMTForestDensity < 40 
  1069. do EnableFire 93
  1070. if GetLastCommTime > 0 St_Front = 1 St_EnableFire = 0 DistToMT < 800 GetFireReady > 50 FireReadyMT > 30 Moral < 45 UnitsAmountMT > 31
  1071. do EnableFire 94
  1072. if GetLastCommTime > 0 St_Attack = 0 St_EnableFire = 0 DistToMT < 350 GetFireReady > 50 
  1073. do EnableFire 99
  1074. if GetLastCommTime > 0 St_Attack = 1 St_EnableFire = 0 DistToMT < 350 GetFireReady > 50 
  1075. do EnableFire 90
  1076. if GetLastCommTime > 0 St_EnableFire = 0 FireDanger > 240 DistToMT < 700 GetFireReady > 50
  1077. do EnableFire 91
  1078. if GetLastCommTime > 0 IsMTStandGround = 1 St_EnableFire = 0 GetFireReady > 50 KillAmoMT > 8 DistToMT < 500
  1079. do EnableFire 94
  1080. if GetLastCommTime > 0 GetStandTime > 2 DistToMT < 600 St_EnableFire = 0 St_Reserv = 1 St_Attack = 0 GetFireReady > 50 
  1081. do EnableFire 95
  1082. if GetLastCommTime > 0 St_EnableFire = 0 DistToMT < 700 GetFireReady > 50 IsMTCannon = 1 KartechDanger > 20 
  1083. do EnableFire 93
  1084.  
  1085. if St_Attack = 0 GetLastCommTime > 0 GetStandTime > 2 IsInBatter > 0 GetTired > 70 DistToMT < 1400 FireForceDifference > 40 SumDangAndForce > 150  GetBarrierToMT < 180 
  1086. do AttackMT 82
  1087. if St_Attack = 0 GetLastCommTime > 0 St_Attack = 0 St_Attack = 0 GetFOOD < 5000 DistToMT < 3000 GetTired > 40  GetBarrierToMT < 180
  1088. do AttackMT 1
  1089. if St_Attack = 0 GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 DistToMT < 1000 GetTired > 40 IsStandGround = 0  FireDanger < 140 GetMeleeForceDiff > 300 GetPolkCommand > 5 GetBarrierToMT < 180 
  1090. do AttackMT 81
  1091. if St_Attack = 0 GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 FireReadyMT < 30 GetFireReady > 80 DistToMT < 1000 GetTired > 40  GetPolkCommand > 5 GetBarrierToMT < 180 
  1092. do AttackMT 82
  1093. if St_Attack = 0 GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 FireReadyMT < 44 GetFireReady > 80 DistToMT < 1000 GetTired > 40  GetPolkCommand > 5 GetBarrierToMT < 180 
  1094. do AttackMT 83
  1095. if St_Attack = 0 GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 UnitsAmountMT < 80 UnitsAmount > 100 FireReadyMT < 50 GetFireReady > 50 DistToMT < 900 GetTired > 40  GetPolkCommand > 5 GetBarrierToMT < 180 
  1096. do AttackMT 84
  1097. if St_Attack = 0 GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 St_EnableFire = 0 GetFireReady > 20 GetTired > 40  DistToMT < 1000 FireDanger < 20 Encircle > 54 GetPolkCommand > 5 GetBarrierToMT < 180 
  1098. do AttackMT 85
  1099. if St_Attack = 0 GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 GetFireReady > 80 DistToMT < 1000 DistToMT > 300 GetTired > 40  FireForceDifference > -40 GetPolkCommand > 5 GetBarrierToMT < 180 
  1100. do AttackMT 86
  1101. if St_Attack = 0 GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 GetMeleeForceDiff > 120 DistToMT < 1000 GetTired > 40  FireForceDifference > 12 GetPolkCommand > 5 GetBarrierToMT < 180 
  1102. do AttackMT 87
  1103. if St_Attack = 0 GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 St_EnableFire = 0 GetFireReady > 80 DistToMT < 1000  FireDanger < 10 GetTired > 40 GetPolkCommand > 5 GetBarrierToMT < 180 
  1104. do AttackMT 88
  1105. if St_Attack = 0 GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 DistToMT < 700 Moral > 70 St_EnableFire = 0 FireReadyMT < 20 HaveReserv = 1 DistToMT < 1000  GetTired > 30 GetPolkCommand > 5 GetBarrierToMT < 180 
  1106. do AttackMT 89
  1107. if St_Attack = 0 GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 St_EnableFire = 0 DistToMT < 1000 UnitsAmountMT < 31 GetTired > 40 MoralMT > 700  GetBarrierToMT < 180
  1108. do AttackMT 80
  1109. if GetLastCommTime > 0 GetLastCommTime > 3 GetStandTime < 1 GetTired < 15 DistToMT > 400 
  1110. do Stop 140
  1111. if GetLastCommTime > 0 St_March = 1 GetLastCommTime > 3 St_March = 1 DistToAim < 200 
  1112. do Stop 150
  1113.  
  1114. if GetLastCommTime > 0 GetLastCommTime > 3 DistToMT > 250 DistToMT < 600 GetFireReady < 70 GetTired > 20 GetBarrierToMT < 180
  1115. do MoveBack 67
  1116. if GetLastCommTime > 0 GetLastCommTime > 3 DistToMT > 250 DistToMT < 600 GetFireReady > 69 FireReadyMT > 20 GetTired > 20 GetBarrierToMT < 180
  1117. do MoveBack 67
  1118. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 DistToMT < 950 DistToMT > 400 IsMTCannon = 1 KartechDanger > 20 GetBarrierToMT < 180
  1119. do MoveBack 65
  1120.  
  1121. if GetLastCommTime > 0 St_EnableFire = 1 DistToMT > 1500  GetAloneEnmUnits > 5
  1122. do DisableFire 30
  1123. if GetLastCommTime > 0 St_EnableFire = 1 GetFireReady < 2 
  1124. do DisableFire 31
  1125. if GetLastCommTime > 0 GetStandTime < 1 St_EnableFire = 0 DistToMT > 1000 GetFireReady < 40 GetAloneEnmUnits > 5  GetTired > 40
  1126. do AttackAloneEnmUnits 15
  1127. if GetLastCommTime > 0 GetStandTime > 2 St_EnableFire = 0 DistToMT > 1000 GetFireReady < 40 GetAloneEnmUnits > 5  GetTired > 40
  1128. do AttackAloneEnmUnits 15
  1129. if GetLastCommTime > 0 GetStandTime > 2 St_EnableFire = 1 DistToMT > 1000 GetFireReady < 40 GetAloneEnmUnits > 5  GetTired > 40
  1130. do AttackAloneEnmUnits 15
  1131. if GetLastCommTime > 0 St_March = 0 GetStandTime > 5 St_Reserv = 1 St_Attack = 0 GetFireReady > 80 GetTired > 50  DistInReserv < 70 DistToMT < 2200 DistToMT > 500
  1132. do KeepDistInReserv 13
  1133. if GetLastCommTime > 0 St_March = 0 GetStandTime > 5 St_Reserv = 1 St_Attack = 0 GetTired > 50 GetFireReady > 80  DistInReserv > 130 DistToMT < 2200 DistToMT > 500
  1134. do KeepDistInReserv 14
  1135. /if GetLastCommTime > 0 St_March = 0 GetStandTime > 5 St_Attack = 0 DistToMT < 2200 St_Front = 1 DistInFront > 130 GetFireReady > 80 GetTired > 50  DistToMT > 500
  1136. /do KeepDistInFront 15
  1137. /if GetLastCommTime > 0 St_March = 0 GetStandTime > 5 St_Attack = 0 DistToMT < 2200 St_Front = 1 DistInFront < 70 GetFireReady > 80 GetTired > 50  DistToMT > 500
  1138. /do KeepDistInFront 16
  1139. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 DistToMT < 900 GetFireReady > 80 GetTired > 40 AngToMT > 42 IsStandGround = 0 
  1140. do TurnToMT 50
  1141. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 GetTired > 40 DistToMT < 900 GetFireReady > 70 IsStandGround = 0 AngToMT > 42 
  1142. do TurnToMT 51
  1143. if GetLastCommTime > 0 GetStandTime > 2 GetTired > 40 DistToMT < 900 GetFireReady > 70 IsStandGround = 1 AngToMT > 42 
  1144. do TurnToMT 52
  1145. ///if GetLastCommTime > 0 St_Attack = 0 St_March = 0 GetTired > 60 DistToMT > 3000 GetFireReady > 98 DistToAim > 200  GetPolkCommand < 6
  1146. ///do MoveToAim 40
  1147. ///if GetLastCommTime > 0 St_Attack = 0 St_March = 0 GetTired > 60 DistToMT > 1250 GetFireReady > 98 DistToAim > 200  GetPolkCommand > 5
  1148. ///do MoveToAim 41
  1149. ///if GetLastCommTime > 0 St_March = 1 DistToAim > 200 GetLastCommTime > 20 
  1150. ///do MoveToAim 91
  1151. if GetLastCommTime > 0 GetLastCommTime > 5 St_March = 0 GetDistToFriendlyForm < 200 GetTired > 40 St_Attack = 0 DistToMT < 1500  DistToMT > 500
  1152. do KeepDistInReserv 17
  1153. /if GetLastCommTime > 0 GetLastCommTime > 5 St_March = 0 GetDistToFriendlyForm < 200 GetTired > 40 St_Attack = 0 St_Reserv = 1 HaveReserv = 1 GetLastCommTime > 5 DistToMT < 2000  DistToMT > 500
  1154. /do KeepDistInFront 18
  1155. /if GetLastCommTime > 0 GetLastCommTime > 5 St_March = 0 DistToMT < 2000 GetTired > 40 St_Attack = 0 St_Reserv = 1 DistInFront > 150 GetLastCommTime > 5  DistToMT < 500
  1156. /do KeepDistInFront 19
  1157. #
  1158. #CANNON ArtPus4(EN) ArtPus4(FR) ArtPus4(RU) ArtPus4(EG) ArtPus4(PR) ArtPus4(AU) ArtPus4(NE) ArtPus4L(EN) ArtPus4L(FR) ArtPus4L(RU) ArtPus4L(EG) ArtPus4L(PR) ArtPus4L(AU) ArtPus4L(NE) ArtPus4G(EN) ArtPus4G(FR) ArtPus4G(RU) ArtPus4G(EG) ArtPus4G(PR) ArtPus4G(AU) ArtPus4G(NE) ArtPus4R(EN)
  1159. if GetLastCommTime > 10 GetFillingAbility = 1 DistToMT < 10 DistToMT > 100
  1160. do Stop 2
  1161. if GetLastCommTime > 0 GetPushkaChargeState0 = 100 GetDistToEnmBuilding < 1000
  1162. do FireOnEnmBuilding 91
  1163. if GetLastCommTime > 0 GetPushkaChargeState0 = 100 GetDistToEnmBuilding < 1000
  1164. do FireOnEnmTower 92
  1165. if GetLastCommTime > 0 GetPushkaChargeState0 = 100 GetDistToEnmTower < 2000
  1166. do FireOnEnmTower 93
  1167. if GetLastCommTime > 0 GetStandTime > 2 GetPushkaChargeState0 = 100 GetMaxDensityInZerroSector > 0 GetLastCommTime > 2
  1168. do Fire 90
  1169. if GetLastCommTime > 0 GetPushkaChargeState0 = 100 GetStandTime > 2 GetMaxDensityInZerroSector < 1 DistToMT < 2500 UnitsAmountMT > 31
  1170. do TurnCannonToMaxEnmFormationSector 89
  1171. if GetLastCommTime > 0 GetPushkaChargeState1 = 100 GetStandTime > 2 GetMaxDensityInZerroSector < 1 DistToMT < 2500 UnitsAmountMT > 31
  1172. do TurnCannonToMaxEnmFormationSector 89
  1173. if GetLastCommTime > 0 St_March = 1 DistToAim > 200 GetLastCommTime > 20
  1174. do MoveToAim 93
  1175. if GetLastCommTime > 0 St_March = 0 DistToMT > 3000 GetPushkaChargeState0 = 100 DistToAim > 200 GetLastCommTime > 3
  1176. do MoveToAim 40
  1177. if GetLastCommTime > 0 St_March = 0 DistToMT > 3000 GetPushkaChargeState1 = 100 DistToAim > 200 GetLastCommTime > 3
  1178. do MoveToAim 41
  1179. /if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT > 500 DistToMT < 1700 GetStandTime > 10 UnitsAmountMT > 31 GetDistToEnmTower < 2500 GetBarrierToMT < 180
  1180. /do StepForward 12
  1181. /if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT > 2000 DistToMT < 3000 GetStandTime > 10 GetMaxDensityInZerroSector < 1 UnitsAmountMT > 31 GetDistToEnmTower > 2500 GetBarrierToMT < 180
  1182. /do StepForward 13
  1183. if GetLastCommTime > 0 GetPushkaChargeState0 = 100 GetDistToEnmTower < 2500 GetKartechEffect < 700 UnitsAmountMT > 31
  1184. do FireOnEnmTower 92
  1185. if GetLastCommTime > 0 GetPushkaChargeState1 > 10 GetDistToEnmTower < 2500 GetKartechEffect < 700 UnitsAmountMT > 31
  1186. do ChargeCannon0 24
  1187. if GetLastCommTime > 0 GetPushkaChargeState1 > 10 DistToMT > 900 GetKartechEffect < 700 UnitsAmountMT > 31
  1188. do ChargeCannon0 23
  1189. if GetLastCommTime > 3 GetPushkaChargeState0 > 10 DistToMT < 900 UnitsAmountMT > 80
  1190. do ChargeCannon1 25
  1191. if GetStandTime > 6 GetLastCommTime > 3 GetPushkaChargeState1 > 10 DistToMT > 900 UnitsAmountMT > 80
  1192. do ChargeCannon0 26
  1193. if GetLastCommTime > 0 St_Front = 1 GetPushkaChargeState1 = 100 GetKartechEffect > 700
  1194. do Fire 25
  1195. if GetLastCommTime > 0 GetPushkaChargeState0 > 10 GetKartechEffect > 700
  1196. do ChargeCannon1 25
  1197. /if GetLastCommTime > 2 GetProcDistToAimInPolk > 100
  1198. /do MoveToAim 9
  1199. /if GetLastCommTime > 2 GetProcDistToAimInPolk < 100
  1200. /do Stop 10
  1201. /if GetLastCommTime > 0 GetLastCommTime > 4 GetKartechEffect > 40
  1202. /do ChargeCannon1 25
  1203. /if GetLastCommTime > 0 DistToMT < 900 GetLastCommTime > 4 GetKartechEffect > 10 GetStandTime > 5
  1204. /do ChargeCannon1 25
  1205. /if GetLastCommTime > 0 GetStandTime > 5 GetPushkaChargeState1 = 100 GetKartechEffect > 10 GetLastCommTime > 5
  1206. /do Fire 91
  1207. /if GetLastCommTime > 0 DistToMT > 1200 GetLastCommTime > 4 GetKartechEffect < 11 GetStandTime > 5
  1208. /do ChargeCannon0 24
  1209. #
  1210. /#MENT TempMent(FR) UnitFuz(FR) UnitFuzNG(FR) UnitVol(FR) UnitGre(FR) UnitEgrNG(FR) UnitSap(FR) UnitGre(PR) UnitVol(PR) UnitFuz(PR) UnitOf(PR) UnitBar(PR) UnitFlg(PR) UnitEgrNG(PR) UnitSap(PR) UnitFuz(EG) UnitOf(EG) UnitBar(EG) UnitGre(EG) UnitFuz(EN) UnitGre(EN) UnitOf(EN) UnitBar(EN) UnitFlg(EN) UnitEgrNG(EN) UnitSap(EN) UnitFuzNG(AU) UnitFuz(AU) UnitVol(AU) UnitGre(AU) UnitOf(AU) UnitBar(AU) UnitFlg(AU) UnitEgrNG(AU) UnitSap(AU) UnitOf(PR) UnitBar(PR) UnitFlg(PR) UnitEgrNG(PR) UnitSap(PR) UnitFuz(RU) UnitGre(RU) UnitOf(RU) UnitBar(RU) UnitFlg(RU) UnitEgr(RU) UnitSap(RU) UnitFuz(EG) UnitOf(EG) UnitBar(EG) UnitGre(EG) UnitOf(EG) UnitBar(EG) UnitGre(EG) TempMent(FR) TempMent(NE)
  1211. /if GetLastCommTime > 0 GetStandTime < 99999999 St_EnableFire = 0 DistToMT < 700 GetFireReady > 10 UnitsAmount < 31 MoralMTAfterFire < 40
  1212. /do EnableFire 71
  1213. /if GetLastCommTime > 0 St_Attack = 0 St_EnableFire = 0 DistToMT < 350 GetFireReady > 10 GetMTForestDensity < 40 UnitsAmount < 31
  1214. /do EnableFire 60
  1215. /if GetLastCommTime > 0 St_Attack = 0 St_EnableFire = 0 DistToMT < 350 GetFireReady > 10 GetMTForestDensity < 40 UnitsAmount < 31
  1216. /do EnableFire 60
  1217. /if GetLastCommTime > 0 St_Attack = 1 St_EnableFire = 0 DistToMT < 350 GetFireReady > 10 GetMTForestDensity < 40 UnitsAmount < 31
  1218. /do EnableFire 60
  1219. /if GetLastCommTime > 0 St_Attack = 0 St_EnableFire = 0 DistToMT < 250 FireReadyMT < 10 GetFireReady > 10 GetMTForestDensity < 40 UnitsAmount < 31
  1220. /do EnableFire 60
  1221. /if GetLastCommTime > 0 St_Attack = 0 St_EnableFire = 0 DistToMT < 250 FireReadyMT < 10 GetFireReady > 10 GetMTForestDensity < 40 UnitsAmount < 31
  1222. /do EnableFire 60
  1223. /if GetLastCommTime > 0 St_Attack = 1 St_EnableFire = 0 DistToMT < 250 FireReadyMT < 10 GetFireReady > 10 GetMTForestDensity < 40 UnitsAmount < 31
  1224. /do EnableFire 60
  1225. /if GetLastCommTime > 0 GetStandTime < 1 St_EnableFire = 0 DistToMT > 1000 GetAloneEnmUnits > 5 UnitsAmount < 31 GetTired > 40
  1226. /do AttackAloneEnmUnits 133
  1227. /if GetLastCommTime > 0 GetStandTime > 2 St_EnableFire = 0 DistToMT > 1000 GetAloneEnmUnits > 5 UnitsAmount < 31 GetTired > 40
  1228. /do AttackAloneEnmUnits 133
  1229. /if GetLastCommTime > 0 GetStandTime > 2 St_EnableFire = 1 DistToMT > 1000 GetAloneEnmUnits > 5 UnitsAmount < 31 GetTired > 40
  1230. /do AttackAloneEnmUnits 133
  1231. /if GetLastCommTime > 0 GetAloneEnmUnits > 15 DistToMT > 900 St_EnableFire = 0 GetFireReady > 10 GetMTForestDensity < 40 UnitsAmount < 31
  1232. /do EnableFire 44
  1233. /if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 GetFireReady > 20 UnitsAmount < 31 DistToMT < 1200 DistToAim < 1200 GetMTStandTime > 2 GetBarrierToMT < 180
  1234. /do AttackMT 61
  1235. /if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 UnitsAmount < 31 DistToMT < 1200 DistToAim < 800 GetMTStandTime > 2 GetBarrierToMT < 180
  1236. /do AttackMT 62
  1237. /if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 UnitsAmount < 31 DistToMT < 1200 GetMTStandTime > 2 GetBarrierToMT < 180
  1238. /do AttackMT 63
  1239. /if GetLastCommTime > 0 St_EnableFire = 0 GetFireReady > 10 KillAmoMT > 10 UnitsAmount < 31 FireReadyMT > 70
  1240. /do EnableFire 71
  1241. /if GetLastCommTime > 0 GetLastCommTime > 4 GetFireReady < 5 DistToMT < 250 UnitsAmount < 31 GetBarrierToMT < 180
  1242. /do MeleeAttack 40
  1243. ////if GetLastCommTime > 0 St_March = 0 DistToAim > 1000 GetStandTime > 2 UnitsAmount < 31 
  1244. ////do MoveToAim 60
  1245. ////if GetLastCommTime > 0 St_March = 0 DistToAim > 800 GetStandTime > 2 UnitsAmount < 31 GetFireReady > 10
  1246. ////do MoveToAim 20
  1247. /if GetLastCommTime > 0 DistToMT < 700 GetFireReady > 10 UnitsAmount < 31 DistToAim > 800
  1248. /do EnableFire 80
  1249. /if GetLastCommTime > 0 DistToMT < 450 GetFireReady > 10 UnitsAmount < 31
  1250. /do EnableFire 81
  1251. /if GetLastCommTime > 0 St_ReadyToFire = 0 DistToMT < 1300 UnitsAmount < 31
  1252. /do SetReadyToFire 160
  1253. /if GetLastCommTime > 0 St_ReadyToFire = 1 DistToMT > 1500 GetAloneEnmUnits > 5 UnitsAmount < 31
  1254. /do SetNotReadyToFire 6
  1255. /if GetLastCommTime > 0 St_EnableFire = 1 DistToMT > 1500 UnitsAmount < 31 GetAloneEnmUnits < 5
  1256. /do DisableFire 5
  1257. /if GetLastCommTime > 0 St_EnableFire = 1 GetFireReady < 5 UnitsAmount < 31 
  1258. /do DisableFire 5
  1259. /if GetLastCommTime > 0 GetLastCommTime > 4 St_Front = 1 DistToMT > 1000 GetFireReady < 15 HaveReserv = 1 UnitsAmountMT > 31 UnitsAmount < 31
  1260. /do Castle 75
  1261. /if GetLastCommTime > 0 GetLastCommTime > 4 St_Front = 1 DistToMT < 1000 GetFireReady < 15 HaveReserv = 1 FireReadyMT < 70 UnitsAmountMT > 31 UnitsAmount < 31 
  1262. /do Castle 75
  1263. /if GetLastCommTime > 0 GetStandTime > 2 DistToMT < 800 GetFireReady > 90 KillAmoMT > 2 UnitsAmount < 31 
  1264. /do OneLineShot 15
  1265. /if GetLastCommTime > 0 GetStandTime > 2 DistToMT < 800 GetFireReady > 60 KillAmoMT > 4 UnitsAmount < 31 
  1266. /do OneLineShot 15
  1267. /if GetLastCommTime > 0 GetStandTime > 2 DistToMT < 800 GetFireReady > 30 KillAmoMT > 6 UnitsAmount < 31 
  1268. /do OneLineShot 15
  1269. /if GetLastCommTime > 0 GetStandTime > 2 St_Reserv = 1 St_Attack = 0 DistInReserv < 70 GetFireReady > 80 GetTired > 80 UnitsAmount < 31 
  1270. /do KeepDistInReserv 15
  1271. /if GetLastCommTime > 0 GetStandTime > 2 St_Reserv = 1 St_Attack = 0 DistInReserv > 130 GetTired > 50 GetFireReady > 80 UnitsAmount < 31 
  1272. /do KeepDistInReserv 15
  1273. /if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 DistToMT < 1300 GetFireReady > 80 GetTired > 40 AngToMT > 40 UnitsAmount < 31 
  1274. /do TurnToMT 10
  1275. /if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 GetTired > 40 AngToMT > 20 DistToMT < 1400 GetFireReady > 70 UnitsAmount < 31 
  1276. /do TurnToMT 10
  1277. /if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 DistToMT < 1300 GetFireReady > 80 GetTired > 40 AngToMT > 50 UnitsAmount < 31 
  1278. /do TurnToMT 10
  1279. /if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 GetTired > 40 AngToMT > 50 DistToMT < 1400 GetFireReady > 70 UnitsAmount < 31 
  1280. /do TurnToMT 10
  1281. /#
  1282.