// export wave ; starting begin RemoveUnit ( bb ) ;
   0: LD_INT 302
   2: PPUSH
   3: CALL_OW 64
// RemoveUnit ( yt ) ;
   7: LD_INT 303
   9: PPUSH
  10: CALL_OW 64
// SaveForQuickRestart ;
  14: CALL_OW 22
// Resetfog ;
  18: CALL_OW 335
// CenteronUnits ( m ) ;
  22: LD_INT 175
  24: PPUSH
  25: CALL_OW 85
// ingameon ;
  29: CALL_OW 8
// dialogueon ;
  33: CALL_OW 6
// Say ( m , d1 ) ;
  37: LD_INT 175
  39: PPUSH
  40: LD_STRING d1
  42: PPUSH
  43: CALL_OW 88
// ingameoff ;
  47: CALL_OW 9
// dialogueoff ;
  51: CALL_OW 7
// ChangeMissionObjectives ( CEL1 ) ;
  55: LD_STRING CEL1
  57: PPUSH
  58: CALL_OW 337
// wait ( 0 0$5 ) ;
  62: LD_INT 175
  64: PPUSH
  65: CALL_OW 67
// ingameon ;
  69: CALL_OW 8
// dialogueon ;
  73: CALL_OW 6
// CenteronUnits ( m ) ;
  77: LD_INT 175
  79: PPUSH
  80: CALL_OW 85
// SayRadio ( j , d2 ) ;
  84: LD_INT 234
  86: PPUSH
  87: LD_STRING d2
  89: PPUSH
  90: CALL_OW 94
// Say ( m , d3 ) ;
  94: LD_INT 175
  96: PPUSH
  97: LD_STRING d3
  99: PPUSH
 100: CALL_OW 88
// SayRadio ( j , d4 ) ;
 104: LD_INT 234
 106: PPUSH
 107: LD_STRING d4
 109: PPUSH
 110: CALL_OW 94
// Say ( m , d5 ) ;
 114: LD_INT 175
 116: PPUSH
 117: LD_STRING d5
 119: PPUSH
 120: CALL_OW 88
// dialogueoff ;
 124: CALL_OW 7
// ingameoff ;
 128: CALL_OW 9
// ChangeMissionObjectives ( CEL1W ) ;
 132: LD_STRING CEL1W
 134: PPUSH
 135: CALL_OW 337
// ChangeMissionObjectives ( CEL2 ) ;
 139: LD_STRING CEL2
 141: PPUSH
 142: CALL_OW 337
// wave = 1 ;
 146: LD_ADDR_EXP 1
 150: PUSH
 151: LD_INT 1
 153: ST_TO_ADDR
// end ; end_of_file
 154: END
// export attacks_enabled ; every 0 0$0.1 trigger IsDead ( m ) do
 155: LD_INT 175
 157: PPUSH
 158: CALL_OW 301
 162: IFFALSE 181
 164: GO 166
 166: DISABLE
// begin wait ( 0 0$1 ) ;
 167: LD_INT 35
 169: PPUSH
 170: CALL_OW 67
// YouLost ( Madison_nie_zyje ) ;
 174: LD_STRING Madison_nie_zyje
 176: PPUSH
 177: CALL_OW 104
// end ;
 181: END
// every 0 0$0.1 trigger IsDead ( s ) do
 182: LD_INT 176
 184: PPUSH
 185: CALL_OW 301
 189: IFFALSE 208
 191: GO 193
 193: DISABLE
// begin wait ( 0 0$1 ) ;
 194: LD_INT 35
 196: PPUSH
 197: CALL_OW 67
// YouLost ( Greene_nie_zyje ) ;
 201: LD_STRING Greene_nie_zyje
 203: PPUSH
 204: CALL_OW 104
// end ;
 208: END
// every 0 0$0.1 trigger IsDead ( f2 ) and IsDead ( war1 ) and IsDead ( k1 ) do
 209: LD_INT 300
 211: PPUSH
 212: CALL_OW 301
 216: PUSH
 217: LD_INT 7
 219: PPUSH
 220: CALL_OW 301
 224: AND
 225: PUSH
 226: LD_INT 164
 228: PPUSH
 229: CALL_OW 301
 233: AND
 234: IFFALSE 284
 236: GO 238
 238: DISABLE
// begin CenteronUnits ( m ) ;
 239: LD_INT 175
 241: PPUSH
 242: CALL_OW 85
// ingameon ;
 246: CALL_OW 8
// Say ( m , d20 ) ;
 250: LD_INT 175
 252: PPUSH
 253: LD_STRING d20
 255: PPUSH
 256: CALL_OW 88
// Say ( s , d21 ) ;
 260: LD_INT 176
 262: PPUSH
 263: LD_STRING d21
 265: PPUSH
 266: CALL_OW 88
// ingameoff ;
 270: CALL_OW 9
// ChangeMap ( 5 , %_cont ) ;
 274: LD_INT 5
 276: PPUSH
 277: LD_STRING %_cont
 279: PPUSH
 280: CALL_OW 340
// end ;
 284: END
// on Contact ( side1 , side2 ) do begin if side1 = 1 and side2 = 3 then
 285: LD_VAR 0 1
 289: PUSH
 290: LD_INT 1
 292: EQUAL
 293: PUSH
 294: LD_VAR 0 2
 298: PUSH
 299: LD_INT 3
 301: EQUAL
 302: AND
 303: IFFALSE 322
// begin ruattack ( wave ) ;
 305: LD_EXP 1
 309: PPUSH
 310: CALL 1086 0 1
// attacks_enabled = true ;
 314: LD_ADDR_EXP 2
 318: PUSH
 319: LD_INT 1
 321: ST_TO_ADDR
// end ; end ; end_of_file
 322: PPOPN 2
 324: END
// every 1 1$00 do
 325: GO 327
 327: DISABLE
// begin CreateCratesAnywhere ( Rand ( 2 , 5 ) , true ) ;
 328: LD_INT 2
 330: PPUSH
 331: LD_INT 5
 333: PPUSH
 334: CALL_OW 12
 338: PPUSH
 339: LD_INT 1
 341: PPUSH
 342: CALL_OW 57
// enable ;
 346: ENABLE
// end ; end_of_file
 347: END
// every 0 0$01 do var un , EnginerList , buildings , depots , i ;
 348: GO 350
 350: DISABLE
 351: LD_INT 0
 353: PPUSH
 354: PPUSH
 355: PPUSH
 356: PPUSH
 357: PPUSH
// begin enable ;
 358: ENABLE
// EnginerList := FilterAllUnits ( [ [ [ f_side , 3 ] , [ f_class , 2 ] , [ f_lives , 1000 ] ] ] ) ;
 359: LD_ADDR_VAR 0 2
 363: PUSH
 364: LD_INT 22
 366: PUSH
 367: LD_INT 3
 369: PUSH
 370: EMPTY
 371: LIST
 372: LIST
 373: PUSH
 374: LD_INT 25
 376: PUSH
 377: LD_INT 2
 379: PUSH
 380: EMPTY
 381: LIST
 382: LIST
 383: PUSH
 384: LD_INT 24
 386: PUSH
 387: LD_INT 1000
 389: PUSH
 390: EMPTY
 391: LIST
 392: LIST
 393: PUSH
 394: EMPTY
 395: LIST
 396: LIST
 397: LIST
 398: PUSH
 399: EMPTY
 400: LIST
 401: PPUSH
 402: CALL_OW 69
 406: ST_TO_ADDR
// buildings := FilterAllUnits ( [ [ [ f_side , 3 ] , [ f_type , unit_building ] , [ f_not , [ f_lives , 1000 ] ] ] ] ) ;
 407: LD_ADDR_VAR 0 3
 411: PUSH
 412: LD_INT 22
 414: PUSH
 415: LD_INT 3
 417: PUSH
 418: EMPTY
 419: LIST
 420: LIST
 421: PUSH
 422: LD_INT 21
 424: PUSH
 425: LD_INT 3
 427: PUSH
 428: EMPTY
 429: LIST
 430: LIST
 431: PUSH
 432: LD_INT 3
 434: PUSH
 435: LD_INT 24
 437: PUSH
 438: LD_INT 1000
 440: PUSH
 441: EMPTY
 442: LIST
 443: LIST
 444: PUSH
 445: EMPTY
 446: LIST
 447: LIST
 448: PUSH
 449: EMPTY
 450: LIST
 451: LIST
 452: LIST
 453: PUSH
 454: EMPTY
 455: LIST
 456: PPUSH
 457: CALL_OW 69
 461: ST_TO_ADDR
// if buildings > 0 then
 462: LD_VAR 0 3
 466: PUSH
 467: LD_INT 0
 469: GREATER
 470: IFFALSE 552
// begin for i = 1 to EnginerList do
 472: LD_ADDR_VAR 0 5
 476: PUSH
 477: DOUBLE
 478: LD_INT 1
 480: DEC
 481: ST_TO_ADDR
 482: LD_VAR 0 2
 486: PUSH
 487: FOR_TO
 488: IFFALSE 550
// begin if IsInUnit ( EnginerList [ i ] ) then
 490: LD_VAR 0 2
 494: PUSH
 495: LD_VAR 0 5
 499: ARRAY
 500: PPUSH
 501: CALL_OW 310
 505: IFFALSE 524
// ComExitBuilding ( EnginerList [ i ] ) else
 507: LD_VAR 0 2
 511: PUSH
 512: LD_VAR 0 5
 516: ARRAY
 517: PPUSH
 518: CALL_OW 122
 522: GO 548
// ComRepairBuilding ( EnginerList [ i ] , buildings [ 1 ] ) ;
 524: LD_VAR 0 2
 528: PUSH
 529: LD_VAR 0 5
 533: ARRAY
 534: PPUSH
 535: LD_VAR 0 3
 539: PUSH
 540: LD_INT 1
 542: ARRAY
 543: PPUSH
 544: CALL_OW 130
// end ;
 548: GO 487
 550: POP
 551: POP
// end ; if buildings = 0 then
 552: LD_VAR 0 3
 556: PUSH
 557: LD_INT 0
 559: EQUAL
 560: IFFALSE 620
// begin for i = 1 to EnginerList do
 562: LD_ADDR_VAR 0 5
 566: PUSH
 567: DOUBLE
 568: LD_INT 1
 570: DEC
 571: ST_TO_ADDR
 572: LD_VAR 0 2
 576: PUSH
 577: FOR_TO
 578: IFFALSE 618
// begin if not HasTask ( EnginerList [ i ] ) and not IsInUnit ( EnginerList [ i ] ) then
 580: LD_VAR 0 2
 584: PUSH
 585: LD_VAR 0 5
 589: ARRAY
 590: PPUSH
 591: CALL_OW 314
 595: NOT
 596: PUSH
 597: LD_VAR 0 2
 601: PUSH
 602: LD_VAR 0 5
 606: ARRAY
 607: PPUSH
 608: CALL_OW 310
 612: NOT
 613: AND
 614: IFFALSE 616
// end ;
 616: GO 577
 618: POP
 619: POP
// end ; end ;
 620: PPOPN 5
 622: END
// every 0 0$01 do
 623: GO 625
 625: DISABLE
// begin AddComResearch ( k1 , tech_Tech1 ) ;
 626: LD_INT 164
 628: PPUSH
 629: LD_INT 48
 631: PPUSH
 632: CALL_OW 184
// AddComResearch ( k1 , tech_weap1 ) ;
 636: LD_INT 164
 638: PPUSH
 639: LD_INT 51
 641: PPUSH
 642: CALL_OW 184
// AddComResearch ( k1 , tech_Tech2 ) ;
 646: LD_INT 164
 648: PPUSH
 649: LD_INT 49
 651: PPUSH
 652: CALL_OW 184
// AddComResearch ( k1 , tech_weap2 ) ;
 656: LD_INT 164
 658: PPUSH
 659: LD_INT 52
 661: PPUSH
 662: CALL_OW 184
// AddComResearch ( k1 , tech_Tech3 ) ;
 666: LD_INT 164
 668: PPUSH
 669: LD_INT 50
 671: PPUSH
 672: CALL_OW 184
// AddComResearch ( k1 , tech_gatling ) ;
 676: LD_INT 164
 678: PPUSH
 679: LD_INT 69
 681: PPUSH
 682: CALL_OW 184
// AddComResearch ( k1 , tech_oileng ) ;
 686: LD_INT 164
 688: PPUSH
 689: LD_INT 47
 691: PPUSH
 692: CALL_OW 184
// AddComResearch ( k1 , tech_oilpow ) ;
 696: LD_INT 164
 698: PPUSH
 699: LD_INT 46
 701: PPUSH
 702: CALL_OW 184
// AddComResearch ( k1 , tech_gatling ) ;
 706: LD_INT 164
 708: PPUSH
 709: LD_INT 69
 711: PPUSH
 712: CALL_OW 184
// AddComResearch ( k1 , tech_Comp1 ) ;
 716: LD_INT 164
 718: PPUSH
 719: LD_INT 57
 721: PPUSH
 722: CALL_OW 184
// AddComResearch ( k1 , tech_Comp2 ) ;
 726: LD_INT 164
 728: PPUSH
 729: LD_INT 58
 731: PPUSH
 732: CALL_OW 184
// AddComResearch ( k1 , tech_sib1 ) ;
 736: LD_INT 164
 738: PPUSH
 739: LD_INT 54
 741: PPUSH
 742: CALL_OW 184
// AddComResearch ( k1 , tech_sib2 ) ;
 746: LD_INT 164
 748: PPUSH
 749: LD_INT 55
 751: PPUSH
 752: CALL_OW 184
// AddComResearch ( k1 , tech_gun ) ;
 756: LD_INT 164
 758: PPUSH
 759: LD_INT 39
 761: PPUSH
 762: CALL_OW 184
// AddComResearch ( k1 , tech_apeneural ) ;
 766: LD_INT 164
 768: PPUSH
 769: LD_INT 3
 771: PPUSH
 772: CALL_OW 184
// AddComResearch ( k1 , tech_AI ) ;
 776: LD_INT 164
 778: PPUSH
 779: LD_INT 32
 781: PPUSH
 782: CALL_OW 184
// end ; end_of_file
 786: END
// every 0 0$01 trigger IsInArea ( m , Area20 ) do
 787: LD_INT 175
 789: PPUSH
 790: LD_INT 7
 792: PPUSH
 793: CALL_OW 308
 797: IFFALSE 970
 799: GO 801
 801: DISABLE
// begin CenteronUnits ( m ) ;
 802: LD_INT 175
 804: PPUSH
 805: CALL_OW 85
// ingameon ;
 809: CALL_OW 8
// dialogueon ;
 813: CALL_OW 6
// Say ( m , d6 ) ;
 817: LD_INT 175
 819: PPUSH
 820: LD_STRING d6
 822: PPUSH
 823: CALL_OW 88
// Say ( j , d7 ) ;
 827: LD_INT 234
 829: PPUSH
 830: LD_STRING d7
 832: PPUSH
 833: CALL_OW 88
// Say ( m , d8 ) ;
 837: LD_INT 175
 839: PPUSH
 840: LD_STRING d8
 842: PPUSH
 843: CALL_OW 88
// Say ( j , d9 ) ;
 847: LD_INT 234
 849: PPUSH
 850: LD_STRING d9
 852: PPUSH
 853: CALL_OW 88
// Say ( m , d10 ) ;
 857: LD_INT 175
 859: PPUSH
 860: LD_STRING d10
 862: PPUSH
 863: CALL_OW 88
// Say ( j , d11 ) ;
 867: LD_INT 234
 869: PPUSH
 870: LD_STRING d11
 872: PPUSH
 873: CALL_OW 88
// Say ( m , d12 ) ;
 877: LD_INT 175
 879: PPUSH
 880: LD_STRING d12
 882: PPUSH
 883: CALL_OW 88
// Say ( s , d13 ) ;
 887: LD_INT 176
 889: PPUSH
 890: LD_STRING d13
 892: PPUSH
 893: CALL_OW 88
// dialogueoff ;
 897: CALL_OW 7
// ingameoff ;
 901: CALL_OW 9
// ChangeSide ;
 905: CALL 971 0 0
// ChangeMissionObjectives ( CEL2W ) ;
 909: LD_STRING CEL2W
 911: PPUSH
 912: CALL_OW 337
// ChangeMissionObjectives ( CEL3 ) ;
 916: LD_STRING CEL3
 918: PPUSH
 919: CALL_OW 337
// wait ( 0 0$3 ) ;
 923: LD_INT 105
 925: PPUSH
 926: CALL_OW 67
// SayRadio ( bb , d16 ) ;
 930: LD_INT 302
 932: PPUSH
 933: LD_STRING d16
 935: PPUSH
 936: CALL_OW 94
// SayRadio ( yt , d17 ) ;
 940: LD_INT 303
 942: PPUSH
 943: LD_STRING d17
 945: PPUSH
 946: CALL_OW 94
// SayRadio ( bb , d18 ) ;
 950: LD_INT 302
 952: PPUSH
 953: LD_STRING d18
 955: PPUSH
 956: CALL_OW 94
// SayRadio ( yt , d19 ) ;
 960: LD_INT 303
 962: PPUSH
 963: LD_STRING d19
 965: PPUSH
 966: CALL_OW 94
// end ;
 970: END
// export function ChangeSide ; var un , kinlist ; begin
 971: LD_INT 0
 973: PPUSH
 974: PPUSH
 975: PPUSH
// kinlist = FilterAllUnits ( [ f_side , 4 ] ) ;
 976: LD_ADDR_VAR 0 3
 980: PUSH
 981: LD_INT 22
 983: PUSH
 984: LD_INT 4
 986: PUSH
 987: EMPTY
 988: LIST
 989: LIST
 990: PPUSH
 991: CALL_OW 69
 995: ST_TO_ADDR
// for un in kinlist do
 996: LD_ADDR_VAR 0 2
1000: PUSH
1001: LD_VAR 0 3
1005: PUSH
1006: FOR_IN
1007: IFFALSE 1023
// begin SetSide ( un , 1 ) ;
1009: LD_VAR 0 2
1013: PPUSH
1014: LD_INT 1
1016: PPUSH
1017: CALL_OW 235
// end ;
1021: GO 1006
1023: POP
1024: POP
// end ; end_of_file
1025: LD_VAR 0 1
1029: RET
// every 0 0$01 do
1030: GO 1032
1032: DISABLE
// begin comenterunit ( [ s1 ] , b1 ) ;
1033: LD_INT 254
1035: PUSH
1036: EMPTY
1037: LIST
1038: PPUSH
1039: LD_INT 250
1041: PPUSH
1042: CALL_OW 120
// comenterunit ( [ s2 ] , b2 ) ;
1046: LD_INT 255
1048: PUSH
1049: EMPTY
1050: LIST
1051: PPUSH
1052: LD_INT 251
1054: PPUSH
1055: CALL_OW 120
// comenterunit ( [ f1 ] , f2 ) ;
1059: LD_INT 277
1061: PUSH
1062: EMPTY
1063: LIST
1064: PPUSH
1065: LD_INT 300
1067: PPUSH
1068: CALL_OW 120
// comenterunit ( [ n1 ] , k1 ) ;
1072: LD_INT 278
1074: PUSH
1075: EMPTY
1076: LIST
1077: PPUSH
1078: LD_INT 164
1080: PPUSH
1081: CALL_OW 120
// end ; end_of_file
1085: END
// export lt1 , lt2 , lt3 , lt4 , hg1 , hg2 , hg3 , hg4 ; export function ruattack ( wave ) ; begin
1086: LD_INT 0
1088: PPUSH
// uc_side = 3 ;
1089: LD_ADDR_OWVAR 20
1093: PUSH
1094: LD_INT 3
1096: ST_TO_ADDR
// if wave = 1 then
1097: LD_VAR 0 1
1101: PUSH
1102: LD_INT 1
1104: EQUAL
1105: IFFALSE 1115
// begin uc_side = 3 ;
1107: LD_ADDR_OWVAR 20
1111: PUSH
1112: LD_INT 3
1114: ST_TO_ADDR
// end ; uc_nation = nation_russian ;
1115: LD_ADDR_OWVAR 21
1119: PUSH
1120: LD_INT 3
1122: ST_TO_ADDR
// vc_chassis = ru_heavy_tracked ;
1123: LD_ADDR_OWVAR 37
1127: PUSH
1128: LD_INT 24
1130: ST_TO_ADDR
// if wave = 1 then
1131: LD_VAR 0 1
1135: PUSH
1136: LD_INT 1
1138: EQUAL
1139: IFFALSE 1149
// begin vc_chassis = ru_medium_wheeled ;
1141: LD_ADDR_OWVAR 37
1145: PUSH
1146: LD_INT 21
1148: ST_TO_ADDR
// end ; if wave = 2 then
1149: LD_VAR 0 1
1153: PUSH
1154: LD_INT 2
1156: EQUAL
1157: IFFALSE 1167
// begin vc_chassis = ru_medium_tracked ;
1159: LD_ADDR_OWVAR 37
1163: PUSH
1164: LD_INT 22
1166: ST_TO_ADDR
// end ; vc_engine = engine_siberite ;
1167: LD_ADDR_OWVAR 39
1171: PUSH
1172: LD_INT 3
1174: ST_TO_ADDR
// vc_control = control_computer ;
1175: LD_ADDR_OWVAR 38
1179: PUSH
1180: LD_INT 3
1182: ST_TO_ADDR
// vc_weapon = ru_gun ;
1183: LD_ADDR_OWVAR 40
1187: PUSH
1188: LD_INT 44
1190: ST_TO_ADDR
// if wave = 1 then
1191: LD_VAR 0 1
1195: PUSH
1196: LD_INT 1
1198: EQUAL
1199: IFFALSE 1209
// begin vc_weapon = ru_heavy_machine_gun ;
1201: LD_ADDR_OWVAR 40
1205: PUSH
1206: LD_INT 42
1208: ST_TO_ADDR
// end ; if wave = 2 then
1209: LD_VAR 0 1
1213: PUSH
1214: LD_INT 2
1216: EQUAL
1217: IFFALSE 1227
// begin vc_weapon = ru_heavy_machine_gun ;
1219: LD_ADDR_OWVAR 40
1223: PUSH
1224: LD_INT 42
1226: ST_TO_ADDR
// end ; lt1 = CreateVehicle ;
1227: LD_ADDR_EXP 3
1231: PUSH
1232: CALL_OW 45
1236: ST_TO_ADDR
// lt2 = CreateVehicle ;
1237: LD_ADDR_EXP 4
1241: PUSH
1242: CALL_OW 45
1246: ST_TO_ADDR
// lt3 = CreateVehicle ;
1247: LD_ADDR_EXP 5
1251: PUSH
1252: CALL_OW 45
1256: ST_TO_ADDR
// lt4 = CreateVehicle ;
1257: LD_ADDR_EXP 6
1261: PUSH
1262: CALL_OW 45
1266: ST_TO_ADDR
// PlaceUnitArea ( lt1 , sojuszru , false ) ;
1267: LD_EXP 3
1271: PPUSH
1272: LD_INT 8
1274: PPUSH
1275: LD_INT 0
1277: PPUSH
1278: CALL_OW 49
// PlaceUnitArea ( lt2 , sojuszru , false ) ;
1282: LD_EXP 4
1286: PPUSH
1287: LD_INT 8
1289: PPUSH
1290: LD_INT 0
1292: PPUSH
1293: CALL_OW 49
// PlaceUnitArea ( lt3 , sojuszru , false ) ;
1297: LD_EXP 5
1301: PPUSH
1302: LD_INT 8
1304: PPUSH
1305: LD_INT 0
1307: PPUSH
1308: CALL_OW 49
// PlaceUnitArea ( lt4 , sojuszru , false ) ;
1312: LD_EXP 6
1316: PPUSH
1317: LD_INT 8
1319: PPUSH
1320: LD_INT 0
1322: PPUSH
1323: CALL_OW 49
// comagressivemove ( [ lt1 , lt2 , lt3 , lt4 ] , 115 , 89 ) ;
1327: LD_EXP 3
1331: PUSH
1332: LD_EXP 4
1336: PUSH
1337: LD_EXP 5
1341: PUSH
1342: LD_EXP 6
1346: PUSH
1347: EMPTY
1348: LIST
1349: LIST
1350: LIST
1351: LIST
1352: PPUSH
1353: LD_INT 115
1355: PPUSH
1356: LD_INT 89
1358: PPUSH
1359: CALL_OW 114
// uc_nation = nation_russian ;
1363: LD_ADDR_OWVAR 21
1367: PUSH
1368: LD_INT 3
1370: ST_TO_ADDR
// vc_chassis = ru_heavy_wheeled ;
1371: LD_ADDR_OWVAR 37
1375: PUSH
1376: LD_INT 23
1378: ST_TO_ADDR
// if wave = 1 then
1379: LD_VAR 0 1
1383: PUSH
1384: LD_INT 1
1386: EQUAL
1387: IFFALSE 1397
// begin vc_chassis = ru_medium_wheeled ;
1389: LD_ADDR_OWVAR 37
1393: PUSH
1394: LD_INT 21
1396: ST_TO_ADDR
// end ; if wave = 2 then
1397: LD_VAR 0 1
1401: PUSH
1402: LD_INT 2
1404: EQUAL
1405: IFFALSE 1415
// begin vc_chassis = ru_medium_tracked ;
1407: LD_ADDR_OWVAR 37
1411: PUSH
1412: LD_INT 22
1414: ST_TO_ADDR
// end ; vc_engine = engine_siberite ;
1415: LD_ADDR_OWVAR 39
1419: PUSH
1420: LD_INT 3
1422: ST_TO_ADDR
// vc_control = control_computer ;
1423: LD_ADDR_OWVAR 38
1427: PUSH
1428: LD_INT 3
1430: ST_TO_ADDR
// vc_weapon = ru_rocket_launcher ;
1431: LD_ADDR_OWVAR 40
1435: PUSH
1436: LD_INT 45
1438: ST_TO_ADDR
// vc_weapon = ru_gun ;
1439: LD_ADDR_OWVAR 40
1443: PUSH
1444: LD_INT 44
1446: ST_TO_ADDR
// if wave = 1 then
1447: LD_VAR 0 1
1451: PUSH
1452: LD_INT 1
1454: EQUAL
1455: IFFALSE 1465
// begin vc_weapon = ru_heavy_machine_gun ;
1457: LD_ADDR_OWVAR 40
1461: PUSH
1462: LD_INT 42
1464: ST_TO_ADDR
// end ; if wave = 2 then
1465: LD_VAR 0 1
1469: PUSH
1470: LD_INT 2
1472: EQUAL
1473: IFFALSE 1483
// begin vc_weapon = ru_gun ;
1475: LD_ADDR_OWVAR 40
1479: PUSH
1480: LD_INT 44
1482: ST_TO_ADDR
// end ; hg1 = CreateVehicle ;
1483: LD_ADDR_EXP 7
1487: PUSH
1488: CALL_OW 45
1492: ST_TO_ADDR
// hg2 = CreateVehicle ;
1493: LD_ADDR_EXP 8
1497: PUSH
1498: CALL_OW 45
1502: ST_TO_ADDR
// hg3 = CreateVehicle ;
1503: LD_ADDR_EXP 9
1507: PUSH
1508: CALL_OW 45
1512: ST_TO_ADDR
// hg4 = CreateVehicle ;
1513: LD_ADDR_EXP 10
1517: PUSH
1518: CALL_OW 45
1522: ST_TO_ADDR
// PlaceUnitArea ( hg1 , sojuszru1 , false ) ;
1523: LD_EXP 7
1527: PPUSH
1528: LD_INT 9
1530: PPUSH
1531: LD_INT 0
1533: PPUSH
1534: CALL_OW 49
// PlaceUnitArea ( hg2 , sojuszru1 , false ) ;
1538: LD_EXP 8
1542: PPUSH
1543: LD_INT 9
1545: PPUSH
1546: LD_INT 0
1548: PPUSH
1549: CALL_OW 49
// PlaceUnitArea ( hg3 , sojuszru1 , false ) ;
1553: LD_EXP 9
1557: PPUSH
1558: LD_INT 9
1560: PPUSH
1561: LD_INT 0
1563: PPUSH
1564: CALL_OW 49
// PlaceUnitArea ( hg4 , sojuszru1 , false ) ;
1568: LD_EXP 10
1572: PPUSH
1573: LD_INT 9
1575: PPUSH
1576: LD_INT 0
1578: PPUSH
1579: CALL_OW 49
// comagressivemove ( [ hg1 , hg2 , hg3 , hg4 ] , 83 , 85 ) ;
1583: LD_EXP 7
1587: PUSH
1588: LD_EXP 8
1592: PUSH
1593: LD_EXP 9
1597: PUSH
1598: LD_EXP 10
1602: PUSH
1603: EMPTY
1604: LIST
1605: LIST
1606: LIST
1607: LIST
1608: PPUSH
1609: LD_INT 83
1611: PPUSH
1612: LD_INT 85
1614: PPUSH
1615: CALL_OW 114
// end ;
1619: LD_VAR 0 2
1623: RET
// every 2 2$30 trigger attacks_enabled do
1624: LD_EXP 2
1628: IFFALSE 1657
1630: GO 1632
1632: DISABLE
// begin enable ;
1633: ENABLE
// ruattack ( wave ) ;
1634: LD_EXP 1
1638: PPUSH
1639: CALL 1086 0 1
// wave = wave + 1 ;
1643: LD_ADDR_EXP 1
1647: PUSH
1648: LD_EXP 1
1652: PUSH
1653: LD_INT 1
1655: PLUS
1656: ST_TO_ADDR
// end ;
1657: END
