// export attacks_enabled ; var AttackCooldown ; every 0 0$0.1 trigger IsDead ( m ) do
   0: LD_INT 222
   2: PPUSH
   3: CALL_OW 301
   7: IFFALSE 26
   9: GO 11
  11: DISABLE
// begin wait ( 0 0$1 ) ;
  12: LD_INT 35
  14: PPUSH
  15: CALL_OW 67
// YouLost ( Madison_nie_zyje ) ;
  19: LD_STRING Madison_nie_zyje
  21: PPUSH
  22: CALL_OW 104
// end ;
  26: END
// every 0 0$0.1 trigger IsDead ( s ) do
  27: LD_INT 223
  29: PPUSH
  30: CALL_OW 301
  34: IFFALSE 53
  36: GO 38
  38: DISABLE
// begin wait ( 0 0$1 ) ;
  39: LD_INT 35
  41: PPUSH
  42: CALL_OW 67
// YouLost ( Greene_nie_zyje ) ;
  46: LD_STRING Greene_nie_zyje
  48: PPUSH
  49: CALL_OW 104
// end ;
  53: END
// on Contact ( side1 , side2 ) do begin if side1 = 1 and side2 = 8 and AttackCooldown < 0 then
  54: LD_VAR 0 1
  58: PUSH
  59: LD_INT 1
  61: EQUAL
  62: PUSH
  63: LD_VAR 0 2
  67: PUSH
  68: LD_INT 8
  70: EQUAL
  71: AND
  72: PUSH
  73: LD_LOC 1
  77: PUSH
  78: LD_INT 0
  80: LESS
  81: AND
  82: IFFALSE 140
// begin DWait ( 0 0$30 ) ;
  84: LD_INT 1050
  86: PPUSH
  87: CALL_OW 68
// AmericanAttack ( wave ) ;
  91: LD_EXP 2
  95: PPUSH
  96: CALL 1352 0 1
// attacks_enabled = true ;
 100: LD_ADDR_EXP 1
 104: PUSH
 105: LD_INT 1
 107: ST_TO_ADDR
// wave = wave + 1 ;
 108: LD_ADDR_EXP 2
 112: PUSH
 113: LD_EXP 2
 117: PUSH
 118: LD_INT 1
 120: PLUS
 121: ST_TO_ADDR
// AttackCooldown = 240 - ( 30 * difficulty ) ;
 122: LD_ADDR_LOC 1
 126: PUSH
 127: LD_INT 240
 129: PUSH
 130: LD_INT 30
 132: PUSH
 133: LD_OWVAR 67
 137: MUL
 138: MINUS
 139: ST_TO_ADDR
// end ; end ;
 140: PPOPN 2
 142: END
// every 0 0$01 do
 143: GO 145
 145: DISABLE
// begin enable ;
 146: ENABLE
// AttackCooldown = AttackCooldown - 1 ;
 147: LD_ADDR_LOC 1
 151: PUSH
 152: LD_LOC 1
 156: PUSH
 157: LD_INT 1
 159: MINUS
 160: ST_TO_ADDR
// end ;
 161: END
// every 0 0$0.1 trigger IsDead ( wr ) and IsDead ( wr1 ) and IsDead ( l3 ) do
 162: LD_INT 63
 164: PPUSH
 165: CALL_OW 301
 169: PUSH
 170: LD_INT 14
 172: PPUSH
 173: CALL_OW 301
 177: AND
 178: PUSH
 179: LD_INT 32
 181: PPUSH
 182: CALL_OW 301
 186: AND
 187: IFFALSE 233
 189: GO 191
 191: DISABLE
// begin AddMedal ( medal1 , 1 ) ;
 192: LD_STRING medal1
 194: PPUSH
 195: LD_INT 1
 197: PPUSH
 198: CALL_OW 101
// AddMedal ( medal2 , 1 ) ;
 202: LD_STRING medal2
 204: PPUSH
 205: LD_INT 1
 207: PPUSH
 208: CALL_OW 101
// AddMedal ( medal3 , 1 ) ;
 212: LD_STRING medal3
 214: PPUSH
 215: LD_INT 1
 217: PPUSH
 218: CALL_OW 101
// GiveMedals ( Main ) ;
 222: LD_STRING Main
 224: PPUSH
 225: CALL_OW 102
// YouWin ;
 229: CALL_OW 103
// end ; end_of_file
 233: END
// every 1 1$00 do
 234: GO 236
 236: DISABLE
// begin CreateResourcesArea ( 1 , Rand ( 2 , 5 ) , Crates , true ) ;
 237: LD_INT 1
 239: PPUSH
 240: LD_INT 2
 242: PPUSH
 243: LD_INT 5
 245: PPUSH
 246: CALL_OW 12
 250: PPUSH
 251: LD_INT 4
 253: PPUSH
 254: LD_INT 1
 256: PPUSH
 257: CALL_OW 59
// enable ;
 261: ENABLE
// end ; end_of_file
 262: END
// every 0 0$01 do var un , EnginerList , buildings , depots , i ;
 263: GO 265
 265: DISABLE
 266: LD_INT 0
 268: PPUSH
 269: PPUSH
 270: PPUSH
 271: PPUSH
 272: PPUSH
// begin enable ;
 273: ENABLE
// EnginerList := FilterAllUnits ( [ [ [ f_side , 8 ] , [ f_class , 2 ] , [ f_lives , 1000 ] ] ] ) ;
 274: LD_ADDR_VAR 0 2
 278: PUSH
 279: LD_INT 22
 281: PUSH
 282: LD_INT 8
 284: PUSH
 285: EMPTY
 286: LIST
 287: LIST
 288: PUSH
 289: LD_INT 25
 291: PUSH
 292: LD_INT 2
 294: PUSH
 295: EMPTY
 296: LIST
 297: LIST
 298: PUSH
 299: LD_INT 24
 301: PUSH
 302: LD_INT 1000
 304: PUSH
 305: EMPTY
 306: LIST
 307: LIST
 308: PUSH
 309: EMPTY
 310: LIST
 311: LIST
 312: LIST
 313: PUSH
 314: EMPTY
 315: LIST
 316: PPUSH
 317: CALL_OW 69
 321: ST_TO_ADDR
// buildings := FilterAllUnits ( [ [ [ f_side , 8 ] , [ f_type , unit_building ] , [ f_not , [ f_lives , 1000 ] ] ] ] ) ;
 322: LD_ADDR_VAR 0 3
 326: PUSH
 327: LD_INT 22
 329: PUSH
 330: LD_INT 8
 332: PUSH
 333: EMPTY
 334: LIST
 335: LIST
 336: PUSH
 337: LD_INT 21
 339: PUSH
 340: LD_INT 3
 342: PUSH
 343: EMPTY
 344: LIST
 345: LIST
 346: PUSH
 347: LD_INT 3
 349: PUSH
 350: LD_INT 24
 352: PUSH
 353: LD_INT 1000
 355: PUSH
 356: EMPTY
 357: LIST
 358: LIST
 359: PUSH
 360: EMPTY
 361: LIST
 362: LIST
 363: PUSH
 364: EMPTY
 365: LIST
 366: LIST
 367: LIST
 368: PUSH
 369: EMPTY
 370: LIST
 371: PPUSH
 372: CALL_OW 69
 376: ST_TO_ADDR
// if buildings > 0 then
 377: LD_VAR 0 3
 381: PUSH
 382: LD_INT 0
 384: GREATER
 385: IFFALSE 467
// begin for i = 1 to EnginerList do
 387: LD_ADDR_VAR 0 5
 391: PUSH
 392: DOUBLE
 393: LD_INT 1
 395: DEC
 396: ST_TO_ADDR
 397: LD_VAR 0 2
 401: PUSH
 402: FOR_TO
 403: IFFALSE 465
// begin if IsInUnit ( EnginerList [ i ] ) then
 405: LD_VAR 0 2
 409: PUSH
 410: LD_VAR 0 5
 414: ARRAY
 415: PPUSH
 416: CALL_OW 310
 420: IFFALSE 439
// ComExitBuilding ( EnginerList [ i ] ) else
 422: LD_VAR 0 2
 426: PUSH
 427: LD_VAR 0 5
 431: ARRAY
 432: PPUSH
 433: CALL_OW 122
 437: GO 463
// ComRepairBuilding ( EnginerList [ i ] , buildings [ 1 ] ) ;
 439: LD_VAR 0 2
 443: PUSH
 444: LD_VAR 0 5
 448: ARRAY
 449: PPUSH
 450: LD_VAR 0 3
 454: PUSH
 455: LD_INT 1
 457: ARRAY
 458: PPUSH
 459: CALL_OW 130
// end ;
 463: GO 402
 465: POP
 466: POP
// end ; if buildings = 0 then
 467: LD_VAR 0 3
 471: PUSH
 472: LD_INT 0
 474: EQUAL
 475: IFFALSE 535
// begin for i = 1 to EnginerList do
 477: LD_ADDR_VAR 0 5
 481: PUSH
 482: DOUBLE
 483: LD_INT 1
 485: DEC
 486: ST_TO_ADDR
 487: LD_VAR 0 2
 491: PUSH
 492: FOR_TO
 493: IFFALSE 533
// begin if not HasTask ( EnginerList [ i ] ) and not IsInUnit ( EnginerList [ i ] ) then
 495: LD_VAR 0 2
 499: PUSH
 500: LD_VAR 0 5
 504: ARRAY
 505: PPUSH
 506: CALL_OW 314
 510: NOT
 511: PUSH
 512: LD_VAR 0 2
 516: PUSH
 517: LD_VAR 0 5
 521: ARRAY
 522: PPUSH
 523: CALL_OW 310
 527: NOT
 528: AND
 529: IFFALSE 531
// end ;
 531: GO 492
 533: POP
 534: POP
// end ; end ;
 535: PPOPN 5
 537: END
// every 0 0$01 do
 538: GO 540
 540: DISABLE
// begin AddComResearch ( l2 , tech_Tech1 ) ;
 541: LD_INT 30
 543: PPUSH
 544: LD_INT 48
 546: PPUSH
 547: CALL_OW 184
// AddComResearch ( l2 , tech_weap1 ) ;
 551: LD_INT 30
 553: PPUSH
 554: LD_INT 51
 556: PPUSH
 557: CALL_OW 184
// AddComResearch ( l2 , tech_Tech2 ) ;
 561: LD_INT 30
 563: PPUSH
 564: LD_INT 49
 566: PPUSH
 567: CALL_OW 184
// AddComResearch ( l2 , tech_weap2 ) ;
 571: LD_INT 30
 573: PPUSH
 574: LD_INT 52
 576: PPUSH
 577: CALL_OW 184
// AddComResearch ( l2 , tech_Tech3 ) ;
 581: LD_INT 30
 583: PPUSH
 584: LD_INT 50
 586: PPUSH
 587: CALL_OW 184
// AddComResearch ( l2 , tech_weap3 ) ;
 591: LD_INT 30
 593: PPUSH
 594: LD_INT 53
 596: PPUSH
 597: CALL_OW 184
// AddComResearch ( l2 , tech_gatling ) ;
 601: LD_INT 30
 603: PPUSH
 604: LD_INT 69
 606: PPUSH
 607: CALL_OW 184
// AddComResearch ( l2 , tech_oileng ) ;
 611: LD_INT 30
 613: PPUSH
 614: LD_INT 47
 616: PPUSH
 617: CALL_OW 184
// AddComResearch ( l3 , tech_oilpow ) ;
 621: LD_INT 32
 623: PPUSH
 624: LD_INT 46
 626: PPUSH
 627: CALL_OW 184
// AddComResearch ( l3 , tech_soleng ) ;
 631: LD_INT 32
 633: PPUSH
 634: LD_INT 45
 636: PPUSH
 637: CALL_OW 184
// AddComResearch ( l3 , tech_solpow ) ;
 641: LD_INT 32
 643: PPUSH
 644: LD_INT 35
 646: PPUSH
 647: CALL_OW 184
// AddComResearch ( l3 , tech_Comp1 ) ;
 651: LD_INT 32
 653: PPUSH
 654: LD_INT 57
 656: PPUSH
 657: CALL_OW 184
// AddComResearch ( l3 , tech_Comp2 ) ;
 661: LD_INT 32
 663: PPUSH
 664: LD_INT 58
 666: PPUSH
 667: CALL_OW 184
// AddComResearch ( l3 , tech_sib1 ) ;
 671: LD_INT 32
 673: PPUSH
 674: LD_INT 54
 676: PPUSH
 677: CALL_OW 184
// AddComResearch ( l3 , tech_sib2 ) ;
 681: LD_INT 32
 683: PPUSH
 684: LD_INT 55
 686: PPUSH
 687: CALL_OW 184
// AddComResearch ( l3 , tech_laser ) ;
 691: LD_INT 32
 693: PPUSH
 694: LD_INT 10
 696: PPUSH
 697: CALL_OW 184
// AddComResearch ( l3 , tech_apeneural ) ;
 701: LD_INT 32
 703: PPUSH
 704: LD_INT 3
 706: PPUSH
 707: CALL_OW 184
// end ; end_of_file
 711: END
// export wave ; starting begin SaveForQuickRestart ;
 712: CALL_OW 22
// Resetfog ;
 716: CALL_OW 335
// CenteronUnits ( m ) ;
 720: LD_INT 222
 722: PPUSH
 723: CALL_OW 85
// ingameon ;
 727: CALL_OW 8
// dialogueon ;
 731: CALL_OW 6
// Say ( m , a1 ) ;
 735: LD_INT 222
 737: PPUSH
 738: LD_STRING a1
 740: PPUSH
 741: CALL_OW 88
// Say ( s , a2 ) ;
 745: LD_INT 223
 747: PPUSH
 748: LD_STRING a2
 750: PPUSH
 751: CALL_OW 88
// ingameoff ;
 755: CALL_OW 9
// dialogueoff ;
 759: CALL_OW 7
// ChangeMissionObjectives ( CEL2 ) ;
 763: LD_STRING CEL2
 765: PPUSH
 766: CALL_OW 337
// wait ( 0 0$5 ) ;
 770: LD_INT 175
 772: PPUSH
 773: CALL_OW 67
// Say ( s , a3 ) ;
 777: LD_INT 223
 779: PPUSH
 780: LD_STRING a3
 782: PPUSH
 783: CALL_OW 88
// Say ( m , a4 ) ;
 787: LD_INT 222
 789: PPUSH
 790: LD_STRING a4
 792: PPUSH
 793: CALL_OW 88
// wave = 1 ;
 797: LD_ADDR_EXP 2
 801: PUSH
 802: LD_INT 1
 804: ST_TO_ADDR
// end ; end_of_file
 805: END
// every 0 0$01 trigger IsInArea ( m , Area42 ) do
 806: LD_INT 222
 808: PPUSH
 809: LD_INT 1
 811: PPUSH
 812: CALL_OW 308
 816: IFFALSE 1127
 818: GO 820
 820: DISABLE
// begin CenteronUnits ( m ) ;
 821: LD_INT 222
 823: PPUSH
 824: CALL_OW 85
// dialogueon ;
 828: CALL_OW 6
// Say ( s1 , a7 ) ;
 832: LD_INT 188
 834: PPUSH
 835: LD_STRING a7
 837: PPUSH
 838: CALL_OW 88
// Say ( m , a8 ) ;
 842: LD_INT 222
 844: PPUSH
 845: LD_STRING a8
 847: PPUSH
 848: CALL_OW 88
// Say ( s1 , a9 ) ;
 852: LD_INT 188
 854: PPUSH
 855: LD_STRING a9
 857: PPUSH
 858: CALL_OW 88
// dialogueoff ;
 862: CALL_OW 7
// Say ( m , a9a ) ;
 866: LD_INT 222
 868: PPUSH
 869: LD_STRING a9a
 871: PPUSH
 872: CALL_OW 88
// Say ( LU , a9b ) ;
 876: LD_INT 190
 878: PPUSH
 879: LD_STRING a9b
 881: PPUSH
 882: CALL_OW 88
// Say ( m , a10 ) ;
 886: LD_INT 222
 888: PPUSH
 889: LD_STRING a10
 891: PPUSH
 892: CALL_OW 88
// Say ( LU , a11 ) ;
 896: LD_INT 190
 898: PPUSH
 899: LD_STRING a11
 901: PPUSH
 902: CALL_OW 88
// Say ( m , a12 ) ;
 906: LD_INT 222
 908: PPUSH
 909: LD_STRING a12
 911: PPUSH
 912: CALL_OW 88
// Say ( LU , a13 ) ;
 916: LD_INT 190
 918: PPUSH
 919: LD_STRING a13
 921: PPUSH
 922: CALL_OW 88
// ChangeMissionObjectives ( CEL2W ) ;
 926: LD_STRING CEL2W
 928: PPUSH
 929: CALL_OW 337
// ChangeMissionObjectives ( CEL3 ) ;
 933: LD_STRING CEL3
 935: PPUSH
 936: CALL_OW 337
// ChangeSide ;
 940: CALL 1128 0 0
// wait ( 0 0$5 ) ;
 944: LD_INT 175
 946: PPUSH
 947: CALL_OW 67
// Say ( m , a5 ) ;
 951: LD_INT 222
 953: PPUSH
 954: LD_STRING a5
 956: PPUSH
 957: CALL_OW 88
// Say ( LU , a6 ) ;
 961: LD_INT 190
 963: PPUSH
 964: LD_STRING a6
 966: PPUSH
 967: CALL_OW 88
// ChangeMissionObjectives ( M1 ) ;
 971: LD_STRING M1
 973: PPUSH
 974: CALL_OW 337
// wait ( 0 0$10 ) ;
 978: LD_INT 350
 980: PPUSH
 981: CALL_OW 67
// Say ( m , a14 ) ;
 985: LD_INT 222
 987: PPUSH
 988: LD_STRING a14
 990: PPUSH
 991: CALL_OW 88
// Say ( LU , a15 ) ;
 995: LD_INT 190
 997: PPUSH
 998: LD_STRING a15
1000: PPUSH
1001: CALL_OW 88
// Say ( m , a16 ) ;
1005: LD_INT 222
1007: PPUSH
1008: LD_STRING a16
1010: PPUSH
1011: CALL_OW 88
// wait ( 0 0$10 ) ;
1015: LD_INT 350
1017: PPUSH
1018: CALL_OW 67
// Say ( s1 , a17a ) ;
1022: LD_INT 188
1024: PPUSH
1025: LD_STRING a17a
1027: PPUSH
1028: CALL_OW 88
// SayRadio ( lh , a17 ) ;
1032: LD_INT 195
1034: PPUSH
1035: LD_STRING a17
1037: PPUSH
1038: CALL_OW 94
// SayRadio ( s5 , a18 ) ;
1042: LD_INT 184
1044: PPUSH
1045: LD_STRING a18
1047: PPUSH
1048: CALL_OW 94
// Say ( s2 , a19 ) ;
1052: LD_INT 425
1054: PPUSH
1055: LD_STRING a19
1057: PPUSH
1058: CALL_OW 88
// Say ( m , a20 ) ;
1062: LD_INT 222
1064: PPUSH
1065: LD_STRING a20
1067: PPUSH
1068: CALL_OW 88
// wait ( 10 10$00 ) ;
1072: LD_INT 21000
1074: PPUSH
1075: CALL_OW 67
// sojusz ;
1079: CALL 1780 0 0
// SayRadio ( soldat1 , a21 ) ;
1083: LD_EXP 3
1087: PPUSH
1088: LD_STRING a21
1090: PPUSH
1091: CALL_OW 94
// Say ( m , a22 ) ;
1095: LD_INT 222
1097: PPUSH
1098: LD_STRING a22
1100: PPUSH
1101: CALL_OW 88
// SayRadio ( soldat1 , a23 ) ;
1105: LD_EXP 3
1109: PPUSH
1110: LD_STRING a23
1112: PPUSH
1113: CALL_OW 94
// Say ( m , a24 ) ;
1117: LD_INT 222
1119: PPUSH
1120: LD_STRING a24
1122: PPUSH
1123: CALL_OW 88
// end ;
1127: END
// export function ChangeSide ; var un , kinlist ; begin
1128: LD_INT 0
1130: PPUSH
1131: PPUSH
1132: PPUSH
// kinlist = FilterAllUnits ( [ f_side , 4 ] ) ;
1133: LD_ADDR_VAR 0 3
1137: PUSH
1138: LD_INT 22
1140: PUSH
1141: LD_INT 4
1143: PUSH
1144: EMPTY
1145: LIST
1146: LIST
1147: PPUSH
1148: CALL_OW 69
1152: ST_TO_ADDR
// for un in kinlist do
1153: LD_ADDR_VAR 0 2
1157: PUSH
1158: LD_VAR 0 3
1162: PUSH
1163: FOR_IN
1164: IFFALSE 1180
// begin SetSide ( un , 1 ) ;
1166: LD_VAR 0 2
1170: PPUSH
1171: LD_INT 1
1173: PPUSH
1174: CALL_OW 235
// end ;
1178: GO 1163
1180: POP
1181: POP
// end ; end_of_file
1182: LD_VAR 0 1
1186: RET
// every 0 0$01 do
1187: GO 1189
1189: DISABLE
// begin comenterunit ( [ s9 , s10 ] , br2 ) ;
1190: LD_INT 430
1192: PUSH
1193: LD_INT 428
1195: PUSH
1196: EMPTY
1197: LIST
1198: LIST
1199: PPUSH
1200: LD_INT 414
1202: PPUSH
1203: CALL_OW 120
// comenterunit ( [ s1 ] , w1 ) ;
1207: LD_INT 188
1209: PUSH
1210: EMPTY
1211: LIST
1212: PPUSH
1213: LD_INT 7
1215: PPUSH
1216: CALL_OW 120
// comenterunit ( [ s2 ] , b1 ) ;
1220: LD_INT 425
1222: PUSH
1223: EMPTY
1224: LIST
1225: PPUSH
1226: LD_INT 412
1228: PPUSH
1229: CALL_OW 120
// comenterunit ( [ n1 , n4 ] , l1 ) ;
1233: LD_INT 215
1235: PUSH
1236: LD_INT 324
1238: PUSH
1239: EMPTY
1240: LIST
1241: LIST
1242: PPUSH
1243: LD_INT 209
1245: PPUSH
1246: CALL_OW 120
// comenterunit ( [ m1 , m4 ] , f1 ) ;
1250: LD_INT 214
1252: PUSH
1253: LD_INT 326
1255: PUSH
1256: EMPTY
1257: LIST
1258: LIST
1259: PPUSH
1260: LD_INT 208
1262: PPUSH
1263: CALL_OW 120
// comenterunit ( [ s3 , s4 , s5 , s6 , s7 , s8 ] , br ) ;
1267: LD_INT 185
1269: PUSH
1270: LD_INT 181
1272: PUSH
1273: LD_INT 184
1275: PUSH
1276: LD_INT 183
1278: PUSH
1279: LD_INT 186
1281: PUSH
1282: LD_INT 182
1284: PUSH
1285: EMPTY
1286: LIST
1287: LIST
1288: LIST
1289: LIST
1290: LIST
1291: LIST
1292: PPUSH
1293: LD_INT 67
1295: PPUSH
1296: CALL_OW 120
// comenterunit ( [ n3 , n2 ] , l2 ) ;
1300: LD_INT 216
1302: PUSH
1303: LD_INT 217
1305: PUSH
1306: EMPTY
1307: LIST
1308: LIST
1309: PPUSH
1310: LD_INT 30
1312: PPUSH
1313: CALL_OW 120
// comenterunit ( [ kc , az ] , l3 ) ;
1317: LD_INT 218
1319: PUSH
1320: LD_INT 219
1322: PUSH
1323: EMPTY
1324: LIST
1325: LIST
1326: PPUSH
1327: LD_INT 32
1329: PPUSH
1330: CALL_OW 120
// comenterunit ( [ m3 , m2 ] , f2 ) ;
1334: LD_INT 221
1336: PUSH
1337: LD_INT 220
1339: PUSH
1340: EMPTY
1341: LIST
1342: LIST
1343: PPUSH
1344: LD_INT 15
1346: PPUSH
1347: CALL_OW 120
// end ; end_of_file
1351: END
// export function AmericanAttack ( wave ) ; var ap1 , ap2 , ap3 , ap4 , ap5 , ap6 , ap7 ; begin
1352: LD_INT 0
1354: PPUSH
1355: PPUSH
1356: PPUSH
1357: PPUSH
1358: PPUSH
1359: PPUSH
1360: PPUSH
1361: PPUSH
// uc_side = 8 ;
1362: LD_ADDR_OWVAR 20
1366: PUSH
1367: LD_INT 8
1369: ST_TO_ADDR
// uc_nation = 1 ;
1370: LD_ADDR_OWVAR 21
1374: PUSH
1375: LD_INT 1
1377: ST_TO_ADDR
// vc_engine = 3 ;
1378: LD_ADDR_OWVAR 39
1382: PUSH
1383: LD_INT 3
1385: ST_TO_ADDR
// vc_control = 3 ;
1386: LD_ADDR_OWVAR 38
1390: PUSH
1391: LD_INT 3
1393: ST_TO_ADDR
// vc_chassis = 4 ;
1394: LD_ADDR_OWVAR 37
1398: PUSH
1399: LD_INT 4
1401: ST_TO_ADDR
// if wave = 1 then
1402: LD_VAR 0 1
1406: PUSH
1407: LD_INT 1
1409: EQUAL
1410: IFFALSE 1420
// begin vc_chassis = 2 ;
1412: LD_ADDR_OWVAR 37
1416: PUSH
1417: LD_INT 2
1419: ST_TO_ADDR
// end ; if wave = 2 then
1420: LD_VAR 0 1
1424: PUSH
1425: LD_INT 2
1427: EQUAL
1428: IFFALSE 1438
// begin vc_chassis = 3 ;
1430: LD_ADDR_OWVAR 37
1434: PUSH
1435: LD_INT 3
1437: ST_TO_ADDR
// end ; vc_weapon = 5 ;
1438: LD_ADDR_OWVAR 40
1442: PUSH
1443: LD_INT 5
1445: ST_TO_ADDR
// if wave = 1 then
1446: LD_VAR 0 1
1450: PUSH
1451: LD_INT 1
1453: EQUAL
1454: IFFALSE 1464
// begin vc_weapon = 2 ;
1456: LD_ADDR_OWVAR 40
1460: PUSH
1461: LD_INT 2
1463: ST_TO_ADDR
// end ; if wave = 2 then
1464: LD_VAR 0 1
1468: PUSH
1469: LD_INT 2
1471: EQUAL
1472: IFFALSE 1482
// begin vc_weapon = 3 ;
1474: LD_ADDR_OWVAR 40
1478: PUSH
1479: LD_INT 3
1481: ST_TO_ADDR
// end ; ap1 = CreateVehicle ;
1482: LD_ADDR_VAR 0 3
1486: PUSH
1487: CALL_OW 45
1491: ST_TO_ADDR
// ap2 = CreateVehicle ;
1492: LD_ADDR_VAR 0 4
1496: PUSH
1497: CALL_OW 45
1501: ST_TO_ADDR
// ap3 = CreateVehicle ;
1502: LD_ADDR_VAR 0 5
1506: PUSH
1507: CALL_OW 45
1511: ST_TO_ADDR
// ap4 = CreateVehicle ;
1512: LD_ADDR_VAR 0 6
1516: PUSH
1517: CALL_OW 45
1521: ST_TO_ADDR
// vc_weapon = 7 ;
1522: LD_ADDR_OWVAR 40
1526: PUSH
1527: LD_INT 7
1529: ST_TO_ADDR
// if wave = 1 then
1530: LD_VAR 0 1
1534: PUSH
1535: LD_INT 1
1537: EQUAL
1538: IFFALSE 1548
// begin vc_weapon = 3 ;
1540: LD_ADDR_OWVAR 40
1544: PUSH
1545: LD_INT 3
1547: ST_TO_ADDR
// end ; if wave = 2 then
1548: LD_VAR 0 1
1552: PUSH
1553: LD_INT 2
1555: EQUAL
1556: IFFALSE 1566
// begin vc_weapon = 5 ;
1558: LD_ADDR_OWVAR 40
1562: PUSH
1563: LD_INT 5
1565: ST_TO_ADDR
// end ; ap5 = CreateVehicle ;
1566: LD_ADDR_VAR 0 7
1570: PUSH
1571: CALL_OW 45
1575: ST_TO_ADDR
// ap6 = CreateVehicle ;
1576: LD_ADDR_VAR 0 8
1580: PUSH
1581: CALL_OW 45
1585: ST_TO_ADDR
// ap7 = CreateVehicle ;
1586: LD_ADDR_VAR 0 9
1590: PUSH
1591: CALL_OW 45
1595: ST_TO_ADDR
// if wave > 2 then
1596: LD_VAR 0 1
1600: PUSH
1601: LD_INT 2
1603: GREATER
1604: IFFALSE 1621
// PlaceUnitArea ( ap1 , AmericanSpawn1 , false ) ;
1606: LD_VAR 0 3
1610: PPUSH
1611: LD_INT 2
1613: PPUSH
1614: LD_INT 0
1616: PPUSH
1617: CALL_OW 49
// PlaceUnitArea ( ap2 , AmericanSpawn1 , false ) ;
1621: LD_VAR 0 4
1625: PPUSH
1626: LD_INT 2
1628: PPUSH
1629: LD_INT 0
1631: PPUSH
1632: CALL_OW 49
// PlaceUnitArea ( ap3 , AmericanSpawn1 , false ) ;
1636: LD_VAR 0 5
1640: PPUSH
1641: LD_INT 2
1643: PPUSH
1644: LD_INT 0
1646: PPUSH
1647: CALL_OW 49
// PlaceUnitArea ( ap4 , AmericanSpawn1 , false ) ;
1651: LD_VAR 0 6
1655: PPUSH
1656: LD_INT 2
1658: PPUSH
1659: LD_INT 0
1661: PPUSH
1662: CALL_OW 49
// if wave > 2 then
1666: LD_VAR 0 1
1670: PUSH
1671: LD_INT 2
1673: GREATER
1674: IFFALSE 1691
// PlaceUnitArea ( ap5 , AmericanSpawn1 , false ) ;
1676: LD_VAR 0 7
1680: PPUSH
1681: LD_INT 2
1683: PPUSH
1684: LD_INT 0
1686: PPUSH
1687: CALL_OW 49
// PlaceUnitArea ( ap6 , AmericanSpawn1 , false ) ;
1691: LD_VAR 0 8
1695: PPUSH
1696: LD_INT 2
1698: PPUSH
1699: LD_INT 0
1701: PPUSH
1702: CALL_OW 49
// PlaceUnitArea ( ap7 , AmericanSpawn1 , false ) ;
1706: LD_VAR 0 9
1710: PPUSH
1711: LD_INT 2
1713: PPUSH
1714: LD_INT 0
1716: PPUSH
1717: CALL_OW 49
// ComAgressiveMove ( [ ap1 , ap2 , ap3 , ap4 , ap5 , ap6 , ap7 ] , 50 , 26 ) ;
1721: LD_VAR 0 3
1725: PUSH
1726: LD_VAR 0 4
1730: PUSH
1731: LD_VAR 0 5
1735: PUSH
1736: LD_VAR 0 6
1740: PUSH
1741: LD_VAR 0 7
1745: PUSH
1746: LD_VAR 0 8
1750: PUSH
1751: LD_VAR 0 9
1755: PUSH
1756: EMPTY
1757: LIST
1758: LIST
1759: LIST
1760: LIST
1761: LIST
1762: LIST
1763: LIST
1764: PPUSH
1765: LD_INT 50
1767: PPUSH
1768: LD_INT 26
1770: PPUSH
1771: CALL_OW 114
// end ; end_of_file
1775: LD_VAR 0 2
1779: RET
// export soldat1 , soldat2 , soldat3 , soldat4 , mechanik1 , mechanik2 , hg1 , hg2 ; export function sojusz ; begin
1780: LD_INT 0
1782: PPUSH
// uc_side = 1 ;
1783: LD_ADDR_OWVAR 20
1787: PUSH
1788: LD_INT 1
1790: ST_TO_ADDR
// uc_nation = nation_american ;
1791: LD_ADDR_OWVAR 21
1795: PUSH
1796: LD_INT 1
1798: ST_TO_ADDR
// hc_class = CLASS_SOLDIER ;
1799: LD_ADDR_OWVAR 28
1803: PUSH
1804: LD_INT 1
1806: ST_TO_ADDR
// PrepareSoldierSkills ( 4 ) ;
1807: LD_INT 4
1809: PPUSH
1810: CALL_OW 375
// soldat1 = CreateHuman ;
1814: LD_ADDR_EXP 3
1818: PUSH
1819: CALL_OW 44
1823: ST_TO_ADDR
// soldat2 = CreateHuman ;
1824: LD_ADDR_EXP 4
1828: PUSH
1829: CALL_OW 44
1833: ST_TO_ADDR
// soldat3 = CreateHuman ;
1834: LD_ADDR_EXP 5
1838: PUSH
1839: CALL_OW 44
1843: ST_TO_ADDR
// PlaceUnitArea ( soldat1 , Area44 , false ) ;
1844: LD_EXP 3
1848: PPUSH
1849: LD_INT 3
1851: PPUSH
1852: LD_INT 0
1854: PPUSH
1855: CALL_OW 49
// PlaceUnitArea ( soldat2 , Area44 , false ) ;
1859: LD_EXP 4
1863: PPUSH
1864: LD_INT 3
1866: PPUSH
1867: LD_INT 0
1869: PPUSH
1870: CALL_OW 49
// PlaceUnitArea ( soldat3 , Area44 , false ) ;
1874: LD_EXP 5
1878: PPUSH
1879: LD_INT 3
1881: PPUSH
1882: LD_INT 0
1884: PPUSH
1885: CALL_OW 49
// uc_side = 1 ;
1889: LD_ADDR_OWVAR 20
1893: PUSH
1894: LD_INT 1
1896: ST_TO_ADDR
// uc_nation = nation_american ;
1897: LD_ADDR_OWVAR 21
1901: PUSH
1902: LD_INT 1
1904: ST_TO_ADDR
// hc_class = CLASS_MECHANIC ;
1905: LD_ADDR_OWVAR 28
1909: PUSH
1910: LD_INT 3
1912: ST_TO_ADDR
// PrepareMechanicSkills ( 4 ) ;
1913: LD_INT 4
1915: PPUSH
1916: CALL_OW 377
// mechanik1 = CreateHuman ;
1920: LD_ADDR_EXP 7
1924: PUSH
1925: CALL_OW 44
1929: ST_TO_ADDR
// mechanik2 = CreateHuman ;
1930: LD_ADDR_EXP 8
1934: PUSH
1935: CALL_OW 44
1939: ST_TO_ADDR
// vc_chassis = us_heavy_tracked ;
1940: LD_ADDR_OWVAR 37
1944: PUSH
1945: LD_INT 4
1947: ST_TO_ADDR
// vc_engine = engine_combustion ;
1948: LD_ADDR_OWVAR 39
1952: PUSH
1953: LD_INT 1
1955: ST_TO_ADDR
// vc_control = control_manual ;
1956: LD_ADDR_OWVAR 38
1960: PUSH
1961: LD_INT 1
1963: ST_TO_ADDR
// vc_weapon = us_double_gun ;
1964: LD_ADDR_OWVAR 40
1968: PUSH
1969: LD_INT 5
1971: ST_TO_ADDR
// hg1 = CreateVehicle ;
1972: LD_ADDR_EXP 9
1976: PUSH
1977: CALL_OW 45
1981: ST_TO_ADDR
// hg2 = CreateVehicle ;
1982: LD_ADDR_EXP 10
1986: PUSH
1987: CALL_OW 45
1991: ST_TO_ADDR
// PlaceHumanInUnit ( mechanik1 , hg1 ) ;
1992: LD_EXP 7
1996: PPUSH
1997: LD_EXP 9
2001: PPUSH
2002: CALL_OW 52
// PlaceHumanInUnit ( mechanik2 , hg2 ) ;
2006: LD_EXP 8
2010: PPUSH
2011: LD_EXP 10
2015: PPUSH
2016: CALL_OW 52
// PlaceUnitArea ( hg1 , Area44 , false ) ;
2020: LD_EXP 9
2024: PPUSH
2025: LD_INT 3
2027: PPUSH
2028: LD_INT 0
2030: PPUSH
2031: CALL_OW 49
// PlaceUnitArea ( hg2 , Area44 , false ) ;
2035: LD_EXP 10
2039: PPUSH
2040: LD_INT 3
2042: PPUSH
2043: LD_INT 0
2045: PPUSH
2046: CALL_OW 49
// end ;
2050: LD_VAR 0 1
2054: RET
