// starting begin ingameon ;
   0: CALL_OW 8
// CenteronUnits ( j ) ;
   4: LD_INT 285
   6: PPUSH
   7: CALL_OW 85
// Say ( d , b1 ) ;
  11: LD_INT 288
  13: PPUSH
  14: LD_STRING b1
  16: PPUSH
  17: CALL_OW 88
// Say ( j , b2 ) ;
  21: LD_INT 285
  23: PPUSH
  24: LD_STRING b2
  26: PPUSH
  27: CALL_OW 88
// Say ( k , b3 ) ;
  31: LD_INT 287
  33: PPUSH
  34: LD_STRING b3
  36: PPUSH
  37: CALL_OW 88
// Say ( j , b4 ) ;
  41: LD_INT 285
  43: PPUSH
  44: LD_STRING b4
  46: PPUSH
  47: CALL_OW 88
// wait ( 0 0$05 ) ;
  51: LD_INT 175
  53: PPUSH
  54: CALL_OW 67
// SayRadio ( e , b5 ) ;
  58: LD_INT 293
  60: PPUSH
  61: LD_STRING b5
  63: PPUSH
  64: CALL_OW 94
// Say ( j , b6 ) ;
  68: LD_INT 285
  70: PPUSH
  71: LD_STRING b6
  73: PPUSH
  74: CALL_OW 88
// SayRadio ( e , b7 ) ;
  78: LD_INT 293
  80: PPUSH
  81: LD_STRING b7
  83: PPUSH
  84: CALL_OW 94
// Say ( j , b8 ) ;
  88: LD_INT 285
  90: PPUSH
  91: LD_STRING b8
  93: PPUSH
  94: CALL_OW 88
// SayRadio ( e , b9 ) ;
  98: LD_INT 293
 100: PPUSH
 101: LD_STRING b9
 103: PPUSH
 104: CALL_OW 94
// Say ( j , b10 ) ;
 108: LD_INT 285
 110: PPUSH
 111: LD_STRING b10
 113: PPUSH
 114: CALL_OW 88
// ingameoff ;
 118: CALL_OW 9
// resetfog ;
 122: CALL_OW 335
// ChangeMissionObjectives ( CEL1 ) ;
 126: LD_STRING CEL1
 128: PPUSH
 129: CALL_OW 337
// end ;
 133: END
// export function ChangeSide ; var un , kinlist ; begin
 134: LD_INT 0
 136: PPUSH
 137: PPUSH
 138: PPUSH
// kinlist = FilterAllUnits ( [ f_side , 8 ] ) ;
 139: LD_ADDR_VAR 0 3
 143: PUSH
 144: LD_INT 22
 146: PUSH
 147: LD_INT 8
 149: PUSH
 150: EMPTY
 151: LIST
 152: LIST
 153: PPUSH
 154: CALL_OW 69
 158: ST_TO_ADDR
// for un in kinlist do
 159: LD_ADDR_VAR 0 2
 163: PUSH
 164: LD_VAR 0 3
 168: PUSH
 169: FOR_IN
 170: IFFALSE 186
// begin SetSide ( un , 5 ) ;
 172: LD_VAR 0 2
 176: PPUSH
 177: LD_INT 5
 179: PPUSH
 180: CALL_OW 235
// end ;
 184: GO 169
 186: POP
 187: POP
// end ; end_of_file
 188: LD_VAR 0 1
 192: RET
// every 1 1$00 do
 193: GO 195
 195: DISABLE
// begin CreateCratesAnywhere ( Rand ( 2 , 5 ) , true ) ;
 196: LD_INT 2
 198: PPUSH
 199: LD_INT 5
 201: PPUSH
 202: CALL_OW 12
 206: PPUSH
 207: LD_INT 1
 209: PPUSH
 210: CALL_OW 57
// enable ;
 214: ENABLE
// end ; end_of_file
 215: END
// export attacks_enabled ; every 0 0$1 trigger IsInArea ( j , sojusz ) do
 216: LD_INT 285
 218: PPUSH
 219: LD_INT 1
 221: PPUSH
 222: CALL_OW 308
 226: IFFALSE 380
 228: GO 230
 230: DISABLE
// begin ingameon ;
 231: CALL_OW 8
// CenteronUnits ( war ) ;
 235: LD_INT 181
 237: PPUSH
 238: CALL_OW 85
// comagressivemove ( [ j ] , 35 , 48 ) ;
 242: LD_INT 285
 244: PUSH
 245: EMPTY
 246: LIST
 247: PPUSH
 248: LD_INT 35
 250: PPUSH
 251: LD_INT 48
 253: PPUSH
 254: CALL_OW 114
// Say ( j , b11 ) ;
 258: LD_INT 285
 260: PPUSH
 261: LD_STRING b11
 263: PPUSH
 264: CALL_OW 88
// Say ( e , b12 ) ;
 268: LD_INT 293
 270: PPUSH
 271: LD_STRING b12
 273: PPUSH
 274: CALL_OW 88
// Say ( j , b13 ) ;
 278: LD_INT 285
 280: PPUSH
 281: LD_STRING b13
 283: PPUSH
 284: CALL_OW 88
// Say ( e , b14 ) ;
 288: LD_INT 293
 290: PPUSH
 291: LD_STRING b14
 293: PPUSH
 294: CALL_OW 88
// ChangeMissionObjectives ( CEL4 ) ;
 298: LD_STRING CEL4
 300: PPUSH
 301: CALL_OW 337
// ChangeMissionObjectives ( CEL1W ) ;
 305: LD_STRING CEL1W
 307: PPUSH
 308: CALL_OW 337
// ChangeMissionObjectives ( CEL2 ) ;
 312: LD_STRING CEL2
 314: PPUSH
 315: CALL_OW 337
// ChangeMissionObjectives ( CEL3 ) ;
 319: LD_STRING CEL3
 321: PPUSH
 322: CALL_OW 337
// ChangeSide ;
 326: CALL 134 0 0
// ingameoff ;
 330: CALL_OW 9
// wait ( 2 2$30 ) ;
 334: LD_INT 5250
 336: PPUSH
 337: CALL_OW 67
// atakru ;
 341: CALL 832 0 0
// Say ( s4 , b15 ) ;
 345: LD_INT 251
 347: PPUSH
 348: LD_STRING b15
 350: PPUSH
 351: CALL_OW 88
// Say ( e , b16 ) ;
 355: LD_INT 293
 357: PPUSH
 358: LD_STRING b16
 360: PPUSH
 361: CALL_OW 88
// wait ( 2 2$00 ) ;
 365: LD_INT 4200
 367: PPUSH
 368: CALL_OW 67
// attacks_enabled = true ;
 372: LD_ADDR_EXP 1
 376: PUSH
 377: LD_INT 1
 379: ST_TO_ADDR
// end ; end_of_file
 380: END
// every 0 0$01 trigger isDead ( D ) do
 381: LD_INT 288
 383: PPUSH
 384: CALL_OW 301
 388: IFFALSE 400
 390: GO 392
 392: DISABLE
// begin YouLost ( Demi_nie_zyje ) ;
 393: LD_STRING Demi_nie_zyje
 395: PPUSH
 396: CALL_OW 104
// end ;
 400: END
// every 0 0$01 trigger isDead ( KI ) do
 401: LD_INT 286
 403: PPUSH
 404: CALL_OW 301
 408: IFFALSE 420
 410: GO 412
 412: DISABLE
// begin YouLost ( Kimiko_nie_zyje ) ;
 413: LD_STRING Kimiko_nie_zyje
 415: PPUSH
 416: CALL_OW 104
// end ;
 420: END
// every 0 0$01 trigger isDead ( K ) do
 421: LD_INT 287
 423: PPUSH
 424: CALL_OW 301
 428: IFFALSE 440
 430: GO 432
 432: DISABLE
// begin YouLost ( Karen_nie_zyje ) ;
 433: LD_STRING Karen_nie_zyje
 435: PPUSH
 436: CALL_OW 104
// end ;
 440: END
// every 0 0$01 trigger isDead ( J ) do
 441: LD_INT 285
 443: PPUSH
 444: CALL_OW 301
 448: IFFALSE 460
 450: GO 452
 452: DISABLE
// begin YouLost ( John_nie_zyje ) ;
 453: LD_STRING John_nie_zyje
 455: PPUSH
 456: CALL_OW 104
// end ;
 460: END
// every 0 0$01 trigger isDead ( e ) do
 461: LD_INT 293
 463: PPUSH
 464: CALL_OW 301
 468: IFFALSE 480
 470: GO 472
 472: DISABLE
// begin YouLost ( Elipson_nie_zyje ) ;
 473: LD_STRING Elipson_nie_zyje
 475: PPUSH
 476: CALL_OW 104
// end ;
 480: END
// every 0 0$01 trigger isDead ( rud ) and isDead ( sw ) and isDead ( rf ) do
 481: LD_INT 90
 483: PPUSH
 484: CALL_OW 301
 488: PUSH
 489: LD_INT 109
 491: PPUSH
 492: CALL_OW 301
 496: AND
 497: PUSH
 498: LD_INT 92
 500: PPUSH
 501: CALL_OW 301
 505: AND
 506: IFFALSE 570
 508: GO 510
 510: DISABLE
// begin Say ( e , b17 ) ;
 511: LD_INT 293
 513: PPUSH
 514: LD_STRING b17
 516: PPUSH
 517: CALL_OW 88
// attacks_enabled = false ;
 521: LD_ADDR_EXP 1
 525: PUSH
 526: LD_INT 0
 528: ST_TO_ADDR
// AddMedal ( medal1 , 1 ) ;
 529: LD_STRING medal1
 531: PPUSH
 532: LD_INT 1
 534: PPUSH
 535: CALL_OW 101
// AddMedal ( medal2 , 1 ) ;
 539: LD_STRING medal2
 541: PPUSH
 542: LD_INT 1
 544: PPUSH
 545: CALL_OW 101
// AddMedal ( medal3 , 1 ) ;
 549: LD_STRING medal3
 551: PPUSH
 552: LD_INT 1
 554: PPUSH
 555: CALL_OW 101
// GiveMedals ( Main ) ;
 559: LD_STRING Main
 561: PPUSH
 562: CALL_OW 102
// Youwin ;
 566: CALL_OW 103
// end ; end_of_file
 570: END
// every 0 0$01 do
 571: GO 573
 573: DISABLE
// begin comenterunit ( [ s4 , s5 ] , b ) ;
 574: LD_INT 251
 576: PUSH
 577: LD_INT 252
 579: PUSH
 580: EMPTY
 581: LIST
 582: LIST
 583: PPUSH
 584: LD_INT 199
 586: PPUSH
 587: CALL_OW 120
// comenterunit ( s2 , w ) ;
 591: LD_INT 324
 593: PPUSH
 594: LD_INT 348
 596: PPUSH
 597: CALL_OW 120
// comenterunit ( s3 , w1 ) ;
 601: LD_INT 249
 603: PPUSH
 604: LD_INT 209
 606: PPUSH
 607: CALL_OW 120
// comenterunit ( s6 , w2 ) ;
 611: LD_INT 246
 613: PPUSH
 614: LD_INT 201
 616: PPUSH
 617: CALL_OW 120
// comenterunit ( s7 , w3 ) ;
 621: LD_INT 247
 623: PPUSH
 624: LD_INT 203
 626: PPUSH
 627: CALL_OW 120
// comenterunit ( s8 , w4 ) ;
 631: LD_INT 248
 633: PPUSH
 634: LD_INT 205
 636: PPUSH
 637: CALL_OW 120
// comenterunit ( s9 , w5 ) ;
 641: LD_INT 337
 643: PPUSH
 644: LD_INT 228
 646: PPUSH
 647: CALL_OW 120
// comenterunit ( n , l ) ;
 651: LD_INT 259
 653: PPUSH
 654: LD_INT 222
 656: PPUSH
 657: CALL_OW 120
// comenterunit ( [ m1 , m2 ] , fac ) ;
 661: LD_INT 243
 663: PUSH
 664: LD_INT 242
 666: PUSH
 667: EMPTY
 668: LIST
 669: LIST
 670: PPUSH
 671: LD_INT 225
 673: PPUSH
 674: CALL_OW 120
// comenterunit ( rs , rn2 ) ;
 678: LD_INT 378
 680: PPUSH
 681: LD_INT 360
 683: PPUSH
 684: CALL_OW 120
// comenterunit ( rs1 , rn3 ) ;
 688: LD_INT 379
 690: PPUSH
 691: LD_INT 369
 693: PPUSH
 694: CALL_OW 120
// comenterunit ( rs2 , rx ) ;
 698: LD_INT 380
 700: PPUSH
 701: LD_INT 370
 703: PPUSH
 704: CALL_OW 120
// comenterunit ( rs3 , rn4 ) ;
 708: LD_INT 381
 710: PPUSH
 711: LD_INT 371
 713: PPUSH
 714: CALL_OW 120
// comenterunit ( [ rs4 , rs5 , rs6 ] , rn ) ;
 718: LD_INT 262
 720: PUSH
 721: LD_INT 263
 723: PUSH
 724: LD_INT 264
 726: PUSH
 727: EMPTY
 728: LIST
 729: LIST
 730: LIST
 731: PPUSH
 732: LD_INT 126
 734: PPUSH
 735: CALL_OW 120
// comenterunit ( [ rs7 , rs8 , rs9 ] , rn1 ) ;
 739: LD_INT 265
 741: PUSH
 742: LD_INT 266
 744: PUSH
 745: LD_INT 267
 747: PUSH
 748: EMPTY
 749: LIST
 750: LIST
 751: LIST
 752: PPUSH
 753: LD_INT 124
 755: PPUSH
 756: CALL_OW 120
// comenterunit ( [ rs10 , rs13 ] , rb ) ;
 760: LD_INT 268
 762: PUSH
 763: LD_INT 272
 765: PUSH
 766: EMPTY
 767: LIST
 768: LIST
 769: PPUSH
 770: LD_INT 116
 772: PPUSH
 773: CALL_OW 120
// comenterunit ( [ rs11 , rs12 ] , rb1 ) ;
 777: LD_INT 270
 779: PUSH
 780: LD_INT 271
 782: PUSH
 783: EMPTY
 784: LIST
 785: LIST
 786: PPUSH
 787: LD_INT 110
 789: PPUSH
 790: CALL_OW 120
// comenterunit ( rnn2 , sw ) ;
 794: LD_INT 281
 796: PPUSH
 797: LD_INT 109
 799: PPUSH
 800: CALL_OW 120
// comenterunit ( rnn , rk ) ;
 804: LD_INT 282
 806: PPUSH
 807: LD_INT 102
 809: PPUSH
 810: CALL_OW 120
// comenterunit ( [ rm , rm2 ] , rf ) ;
 814: LD_INT 280
 816: PUSH
 817: LD_INT 279
 819: PUSH
 820: EMPTY
 821: LIST
 822: LIST
 823: PPUSH
 824: LD_INT 92
 826: PPUSH
 827: CALL_OW 120
// end ; end_of_file
 831: END
// export soldat1 , soldat2 , soldat3 , soldat4 , soldat10 , soldat11 , soldat12 , mechanik1 , mechanik2 , mechanik3 , mechanik4 , hg1 , hg2 , hg3 , hg4 ; export function atakru ; begin
 832: LD_INT 0
 834: PPUSH
// uc_side = 3 ;
 835: LD_ADDR_OWVAR 20
 839: PUSH
 840: LD_INT 3
 842: ST_TO_ADDR
// uc_nation = nation_russian ;
 843: LD_ADDR_OWVAR 21
 847: PUSH
 848: LD_INT 3
 850: ST_TO_ADDR
// hc_class = CLASS_SOLDIER ;
 851: LD_ADDR_OWVAR 28
 855: PUSH
 856: LD_INT 1
 858: ST_TO_ADDR
// PrepareSoldierSkills ( 7 ) ;
 859: LD_INT 7
 861: PPUSH
 862: CALL_OW 375
// soldat1 = CreateHuman ;
 866: LD_ADDR_EXP 2
 870: PUSH
 871: CALL_OW 44
 875: ST_TO_ADDR
// soldat2 = CreateHuman ;
 876: LD_ADDR_EXP 3
 880: PUSH
 881: CALL_OW 44
 885: ST_TO_ADDR
// soldat3 = CreateHuman ;
 886: LD_ADDR_EXP 4
 890: PUSH
 891: CALL_OW 44
 895: ST_TO_ADDR
// soldat4 = CreateHuman ;
 896: LD_ADDR_EXP 5
 900: PUSH
 901: CALL_OW 44
 905: ST_TO_ADDR
// hc_class = CLASS_MECHANIC ;
 906: LD_ADDR_OWVAR 28
 910: PUSH
 911: LD_INT 3
 913: ST_TO_ADDR
// PrepareMechanicSkills ( 6 ) ;
 914: LD_INT 6
 916: PPUSH
 917: CALL_OW 377
// mechanik1 = CreateHuman ;
 921: LD_ADDR_EXP 9
 925: PUSH
 926: CALL_OW 44
 930: ST_TO_ADDR
// mechanik2 = CreateHuman ;
 931: LD_ADDR_EXP 10
 935: PUSH
 936: CALL_OW 44
 940: ST_TO_ADDR
// vc_chassis = ru_medium_wheeled ;
 941: LD_ADDR_OWVAR 37
 945: PUSH
 946: LD_INT 21
 948: ST_TO_ADDR
// vc_engine = engine_combustion ;
 949: LD_ADDR_OWVAR 39
 953: PUSH
 954: LD_INT 1
 956: ST_TO_ADDR
// vc_control = control_manual ;
 957: LD_ADDR_OWVAR 38
 961: PUSH
 962: LD_INT 1
 964: ST_TO_ADDR
// vc_weapon = ru_gatling_gun ;
 965: LD_ADDR_OWVAR 40
 969: PUSH
 970: LD_INT 43
 972: ST_TO_ADDR
// hg1 = CreateVehicle ;
 973: LD_ADDR_EXP 13
 977: PUSH
 978: CALL_OW 45
 982: ST_TO_ADDR
// hg2 = CreateVehicle ;
 983: LD_ADDR_EXP 14
 987: PUSH
 988: CALL_OW 45
 992: ST_TO_ADDR
// PlaceHumanInUnit ( mechanik1 , hg1 ) ;
 993: LD_EXP 9
 997: PPUSH
 998: LD_EXP 13
1002: PPUSH
1003: CALL_OW 52
// PlaceHumanInUnit ( mechanik2 , hg2 ) ;
1007: LD_EXP 10
1011: PPUSH
1012: LD_EXP 14
1016: PPUSH
1017: CALL_OW 52
// PlaceUnitArea ( soldat1 , Atak1 , false ) ;
1021: LD_EXP 2
1025: PPUSH
1026: LD_INT 3
1028: PPUSH
1029: LD_INT 0
1031: PPUSH
1032: CALL_OW 49
// PlaceUnitArea ( soldat2 , Atak1 , false ) ;
1036: LD_EXP 3
1040: PPUSH
1041: LD_INT 3
1043: PPUSH
1044: LD_INT 0
1046: PPUSH
1047: CALL_OW 49
// PlaceUnitArea ( soldat3 , Atak1 , false ) ;
1051: LD_EXP 4
1055: PPUSH
1056: LD_INT 3
1058: PPUSH
1059: LD_INT 0
1061: PPUSH
1062: CALL_OW 49
// PlaceUnitArea ( soldat4 , Atak1 , false ) ;
1066: LD_EXP 5
1070: PPUSH
1071: LD_INT 3
1073: PPUSH
1074: LD_INT 0
1076: PPUSH
1077: CALL_OW 49
// PlaceUnitArea ( hg1 , Atak1 , false ) ;
1081: LD_EXP 13
1085: PPUSH
1086: LD_INT 3
1088: PPUSH
1089: LD_INT 0
1091: PPUSH
1092: CALL_OW 49
// PlaceUnitArea ( hg2 , Atak1 , false ) ;
1096: LD_EXP 14
1100: PPUSH
1101: LD_INT 3
1103: PPUSH
1104: LD_INT 0
1106: PPUSH
1107: CALL_OW 49
// comagressivemove ( [ soldat1 , soldat2 , soldat3 , soldat4 , hg1 , hg2 ] , 43 , 42 ) ;
1111: LD_EXP 2
1115: PUSH
1116: LD_EXP 3
1120: PUSH
1121: LD_EXP 4
1125: PUSH
1126: LD_EXP 5
1130: PUSH
1131: LD_EXP 13
1135: PUSH
1136: LD_EXP 14
1140: PUSH
1141: EMPTY
1142: LIST
1143: LIST
1144: LIST
1145: LIST
1146: LIST
1147: LIST
1148: PPUSH
1149: LD_INT 43
1151: PPUSH
1152: LD_INT 42
1154: PPUSH
1155: CALL_OW 114
// uc_side = 3 ;
1159: LD_ADDR_OWVAR 20
1163: PUSH
1164: LD_INT 3
1166: ST_TO_ADDR
// uc_nation = nation_russian ;
1167: LD_ADDR_OWVAR 21
1171: PUSH
1172: LD_INT 3
1174: ST_TO_ADDR
// hc_class = CLASS_SOLDIER ;
1175: LD_ADDR_OWVAR 28
1179: PUSH
1180: LD_INT 1
1182: ST_TO_ADDR
// PrepareSoldierSkills ( 5 ) ;
1183: LD_INT 5
1185: PPUSH
1186: CALL_OW 375
// soldat10 = CreateHuman ;
1190: LD_ADDR_EXP 6
1194: PUSH
1195: CALL_OW 44
1199: ST_TO_ADDR
// soldat11 = CreateHuman ;
1200: LD_ADDR_EXP 7
1204: PUSH
1205: CALL_OW 44
1209: ST_TO_ADDR
// soldat12 = CreateHuman ;
1210: LD_ADDR_EXP 8
1214: PUSH
1215: CALL_OW 44
1219: ST_TO_ADDR
// PlaceUnitArea ( soldat10 , Atak2 , false ) ;
1220: LD_EXP 6
1224: PPUSH
1225: LD_INT 2
1227: PPUSH
1228: LD_INT 0
1230: PPUSH
1231: CALL_OW 49
// PlaceUnitArea ( soldat11 , Atak2 , false ) ;
1235: LD_EXP 7
1239: PPUSH
1240: LD_INT 2
1242: PPUSH
1243: LD_INT 0
1245: PPUSH
1246: CALL_OW 49
// PlaceUnitArea ( soldat12 , Atak2 , false ) ;
1250: LD_EXP 8
1254: PPUSH
1255: LD_INT 2
1257: PPUSH
1258: LD_INT 0
1260: PPUSH
1261: CALL_OW 49
// ComAttackUnit ( soldat10 , w5 ) ;
1265: LD_EXP 6
1269: PPUSH
1270: LD_INT 228
1272: PPUSH
1273: CALL_OW 115
// ComAttackUnit ( soldat11 , w5 ) ;
1277: LD_EXP 7
1281: PPUSH
1282: LD_INT 228
1284: PPUSH
1285: CALL_OW 115
// ComAttackUnit ( soldat12 , w5 ) ;
1289: LD_EXP 8
1293: PPUSH
1294: LD_INT 228
1296: PPUSH
1297: CALL_OW 115
// uc_side = 3 ;
1301: LD_ADDR_OWVAR 20
1305: PUSH
1306: LD_INT 3
1308: ST_TO_ADDR
// uc_nation = nation_russian ;
1309: LD_ADDR_OWVAR 21
1313: PUSH
1314: LD_INT 3
1316: ST_TO_ADDR
// hc_class = CLASS_MECHANIC ;
1317: LD_ADDR_OWVAR 28
1321: PUSH
1322: LD_INT 3
1324: ST_TO_ADDR
// PrepareMechanicSkills ( 3 ) ;
1325: LD_INT 3
1327: PPUSH
1328: CALL_OW 377
// mechanik3 = CreateHuman ;
1332: LD_ADDR_EXP 11
1336: PUSH
1337: CALL_OW 44
1341: ST_TO_ADDR
// mechanik4 = CreateHuman ;
1342: LD_ADDR_EXP 12
1346: PUSH
1347: CALL_OW 44
1351: ST_TO_ADDR
// vc_chassis = ru_medium_wheeled ;
1352: LD_ADDR_OWVAR 37
1356: PUSH
1357: LD_INT 21
1359: ST_TO_ADDR
// vc_engine = engine_combustion ;
1360: LD_ADDR_OWVAR 39
1364: PUSH
1365: LD_INT 1
1367: ST_TO_ADDR
// vc_control = control_manual ;
1368: LD_ADDR_OWVAR 38
1372: PUSH
1373: LD_INT 1
1375: ST_TO_ADDR
// vc_weapon = ru_gun ;
1376: LD_ADDR_OWVAR 40
1380: PUSH
1381: LD_INT 44
1383: ST_TO_ADDR
// hg3 = CreateVehicle ;
1384: LD_ADDR_EXP 15
1388: PUSH
1389: CALL_OW 45
1393: ST_TO_ADDR
// hg4 = CreateVehicle ;
1394: LD_ADDR_EXP 16
1398: PUSH
1399: CALL_OW 45
1403: ST_TO_ADDR
// PlaceHumanInUnit ( mechanik3 , hg3 ) ;
1404: LD_EXP 11
1408: PPUSH
1409: LD_EXP 15
1413: PPUSH
1414: CALL_OW 52
// PlaceHumanInUnit ( mechanik4 , hg4 ) ;
1418: LD_EXP 12
1422: PPUSH
1423: LD_EXP 16
1427: PPUSH
1428: CALL_OW 52
// PlaceUnitArea ( hg3 , Atak3 , false ) ;
1432: LD_EXP 15
1436: PPUSH
1437: LD_INT 4
1439: PPUSH
1440: LD_INT 0
1442: PPUSH
1443: CALL_OW 49
// PlaceUnitArea ( hg4 , Atak3 , false ) ;
1447: LD_EXP 16
1451: PPUSH
1452: LD_INT 4
1454: PPUSH
1455: LD_INT 0
1457: PPUSH
1458: CALL_OW 49
// comagressivemove ( [ hg3 , hg4 ] , 51 , 55 ) ;
1462: LD_EXP 15
1466: PUSH
1467: LD_EXP 16
1471: PUSH
1472: EMPTY
1473: LIST
1474: LIST
1475: PPUSH
1476: LD_INT 51
1478: PPUSH
1479: LD_INT 55
1481: PPUSH
1482: CALL_OW 114
// end ;
1486: LD_VAR 0 1
1490: RET
// every 1 1$30 trigger attacks_enabled do
1491: LD_EXP 1
1495: IFFALSE 1505
1497: GO 1499
1499: DISABLE
// begin enable ;
1500: ENABLE
// atakru ;
1501: CALL 832 0 0
// end ; end_of_file
1505: END
// every 0 0$01 do var un , EnginerList , buildings , depots , i ;
1506: GO 1508
1508: DISABLE
1509: LD_INT 0
1511: PPUSH
1512: PPUSH
1513: PPUSH
1514: PPUSH
1515: PPUSH
// begin enable ;
1516: ENABLE
// EnginerList := FilterAllUnits ( [ [ [ f_side , 3 ] , [ f_class , 2 ] , [ f_lives , 1000 ] ] ] ) ;
1517: LD_ADDR_VAR 0 2
1521: PUSH
1522: LD_INT 22
1524: PUSH
1525: LD_INT 3
1527: PUSH
1528: EMPTY
1529: LIST
1530: LIST
1531: PUSH
1532: LD_INT 25
1534: PUSH
1535: LD_INT 2
1537: PUSH
1538: EMPTY
1539: LIST
1540: LIST
1541: PUSH
1542: LD_INT 24
1544: PUSH
1545: LD_INT 1000
1547: PUSH
1548: EMPTY
1549: LIST
1550: LIST
1551: PUSH
1552: EMPTY
1553: LIST
1554: LIST
1555: LIST
1556: PUSH
1557: EMPTY
1558: LIST
1559: PPUSH
1560: CALL_OW 69
1564: ST_TO_ADDR
// buildings := FilterAllUnits ( [ [ [ f_side , 3 ] , [ f_type , unit_building ] , [ f_not , [ f_lives , 1000 ] ] ] ] ) ;
1565: LD_ADDR_VAR 0 3
1569: PUSH
1570: LD_INT 22
1572: PUSH
1573: LD_INT 3
1575: PUSH
1576: EMPTY
1577: LIST
1578: LIST
1579: PUSH
1580: LD_INT 21
1582: PUSH
1583: LD_INT 3
1585: PUSH
1586: EMPTY
1587: LIST
1588: LIST
1589: PUSH
1590: LD_INT 3
1592: PUSH
1593: LD_INT 24
1595: PUSH
1596: LD_INT 1000
1598: PUSH
1599: EMPTY
1600: LIST
1601: LIST
1602: PUSH
1603: EMPTY
1604: LIST
1605: LIST
1606: PUSH
1607: EMPTY
1608: LIST
1609: LIST
1610: LIST
1611: PUSH
1612: EMPTY
1613: LIST
1614: PPUSH
1615: CALL_OW 69
1619: ST_TO_ADDR
// if buildings > 0 then
1620: LD_VAR 0 3
1624: PUSH
1625: LD_INT 0
1627: GREATER
1628: IFFALSE 1710
// begin for i = 1 to EnginerList do
1630: LD_ADDR_VAR 0 5
1634: PUSH
1635: DOUBLE
1636: LD_INT 1
1638: DEC
1639: ST_TO_ADDR
1640: LD_VAR 0 2
1644: PUSH
1645: FOR_TO
1646: IFFALSE 1708
// begin if IsInUnit ( EnginerList [ i ] ) then
1648: LD_VAR 0 2
1652: PUSH
1653: LD_VAR 0 5
1657: ARRAY
1658: PPUSH
1659: CALL_OW 310
1663: IFFALSE 1682
// ComExitBuilding ( EnginerList [ i ] ) else
1665: LD_VAR 0 2
1669: PUSH
1670: LD_VAR 0 5
1674: ARRAY
1675: PPUSH
1676: CALL_OW 122
1680: GO 1706
// ComRepairBuilding ( EnginerList [ i ] , buildings [ 1 ] ) ;
1682: LD_VAR 0 2
1686: PUSH
1687: LD_VAR 0 5
1691: ARRAY
1692: PPUSH
1693: LD_VAR 0 3
1697: PUSH
1698: LD_INT 1
1700: ARRAY
1701: PPUSH
1702: CALL_OW 130
// end ;
1706: GO 1645
1708: POP
1709: POP
// end ; if buildings = 0 then
1710: LD_VAR 0 3
1714: PUSH
1715: LD_INT 0
1717: EQUAL
1718: IFFALSE 1778
// begin for i = 1 to EnginerList do
1720: LD_ADDR_VAR 0 5
1724: PUSH
1725: DOUBLE
1726: LD_INT 1
1728: DEC
1729: ST_TO_ADDR
1730: LD_VAR 0 2
1734: PUSH
1735: FOR_TO
1736: IFFALSE 1776
// begin if not HasTask ( EnginerList [ i ] ) and not IsInUnit ( EnginerList [ i ] ) then
1738: LD_VAR 0 2
1742: PUSH
1743: LD_VAR 0 5
1747: ARRAY
1748: PPUSH
1749: CALL_OW 314
1753: NOT
1754: PUSH
1755: LD_VAR 0 2
1759: PUSH
1760: LD_VAR 0 5
1764: ARRAY
1765: PPUSH
1766: CALL_OW 310
1770: NOT
1771: AND
1772: IFFALSE 1774
// end ;
1774: GO 1735
1776: POP
1777: POP
// end ; end ;
1778: PPOPN 5
1780: END
