// export AllCargoBays , MoreApemans , SideTruth ; starting begin FillBunkers ( 1 , 1 ) ;
   0: LD_INT 1
   2: PPUSH
   3: LD_INT 1
   5: PPUSH
   6: CALL 1654 0 2
// FillBunkers ( 2 , 2 ) ;
  10: LD_INT 2
  12: PPUSH
  13: LD_INT 2
  15: PPUSH
  16: CALL 1654 0 2
// FillBunkers ( 3 , 3 ) ;
  20: LD_INT 3
  22: PPUSH
  23: LD_INT 3
  25: PPUSH
  26: CALL 1654 0 2
// FillBunkers ( 4 , 1 ) ;
  30: LD_INT 4
  32: PPUSH
  33: LD_INT 1
  35: PPUSH
  36: CALL 1654 0 2
// FillBunkers ( 6 , 3 ) ;
  40: LD_INT 6
  42: PPUSH
  43: LD_INT 3
  45: PPUSH
  46: CALL 1654 0 2
// Garnizonuj_Budynki ( 1 , 1 ) ;
  50: LD_INT 1
  52: PPUSH
  53: LD_INT 1
  55: PPUSH
  56: CALL 1846 0 2
// Garnizonuj_Budynki ( 2 , 2 ) ;
  60: LD_INT 2
  62: PPUSH
  63: LD_INT 2
  65: PPUSH
  66: CALL 1846 0 2
// Garnizonuj_Budynki ( 3 , 3 ) ;
  70: LD_INT 3
  72: PPUSH
  73: LD_INT 3
  75: PPUSH
  76: CALL 1846 0 2
// Garnizonuj_Budynki ( 4 , 1 ) ;
  80: LD_INT 4
  82: PPUSH
  83: LD_INT 1
  85: PPUSH
  86: CALL 1846 0 2
// Garnizonuj_Budynki ( 6 , 3 ) ;
  90: LD_INT 6
  92: PPUSH
  93: LD_INT 3
  95: PPUSH
  96: CALL 1846 0 2
// InGameOn ;
 100: CALL_OW 8
// Say ( Ryder , D1-gadka-1 ) ;
 104: LD_INT 1008
 106: PPUSH
 107: LD_STRING D1-gadka-1
 109: PPUSH
 110: CALL_OW 88
// Say ( Smoke , D-gadka-2 ) ;
 114: LD_INT 468
 116: PPUSH
 117: LD_STRING D-gadka-2
 119: PPUSH
 120: CALL_OW 88
// Say ( CJ , D-gadka-3 ) ;
 124: LD_INT 463
 126: PPUSH
 127: LD_STRING D-gadka-3
 129: PPUSH
 130: CALL_OW 88
// Say ( Sweet , D-gadka-4 ) ;
 134: LD_INT 464
 136: PPUSH
 137: LD_STRING D-gadka-4
 139: PPUSH
 140: CALL_OW 88
// ChangeMissionObjectives ( M1 ) ;
 144: LD_STRING M1
 146: PPUSH
 147: CALL_OW 337
// InGameOff ;
 151: CALL_OW 9
// end ;
 155: END
// every 0 0$1 trigger GetDistUnits ( CJ , Toreno ) < 4 do
 156: LD_INT 463
 158: PPUSH
 159: LD_INT 474
 161: PPUSH
 162: CALL_OW 296
 166: PUSH
 167: LD_INT 4
 169: LESS
 170: IFFALSE 341
 172: GO 174
 174: DISABLE
// begin Say ( Toreno , D-Toreno-1 ) ;
 175: LD_INT 474
 177: PPUSH
 178: LD_STRING D-Toreno-1
 180: PPUSH
 181: CALL_OW 88
// Say ( CJ , D-CJ-1 ) ;
 185: LD_INT 463
 187: PPUSH
 188: LD_STRING D-CJ-1
 190: PPUSH
 191: CALL_OW 88
// Say ( Toreno , D-Toreno-2 ) ;
 195: LD_INT 474
 197: PPUSH
 198: LD_STRING D-Toreno-2
 200: PPUSH
 201: CALL_OW 88
// Say ( CJ , D-CJ-2 ) ;
 205: LD_INT 463
 207: PPUSH
 208: LD_STRING D-CJ-2
 210: PPUSH
 211: CALL_OW 88
// Say ( Toreno , D-Toreno-4 ) ;
 215: LD_INT 474
 217: PPUSH
 218: LD_STRING D-Toreno-4
 220: PPUSH
 221: CALL_OW 88
// Say ( Toreno , D-Toreno-5 ) ;
 225: LD_INT 474
 227: PPUSH
 228: LD_STRING D-Toreno-5
 230: PPUSH
 231: CALL_OW 88
// Say ( Toreno , D-Toreno-6 ) ;
 235: LD_INT 474
 237: PPUSH
 238: LD_STRING D-Toreno-6
 240: PPUSH
 241: CALL_OW 88
// ChangeMissionObjectives ( M2 ) ;
 245: LD_STRING M2
 247: PPUSH
 248: CALL_OW 337
// Wait ( 1 1$0 ) ;
 252: LD_INT 2100
 254: PPUSH
 255: CALL_OW 67
// ComAgressiveMove ( FilterUnitsInArea ( ConvoyAttack , [ f_side , 3 ] ) , 183 , 136 ) ;
 259: LD_INT 4
 261: PPUSH
 262: LD_INT 22
 264: PUSH
 265: LD_INT 3
 267: PUSH
 268: EMPTY
 269: LIST
 270: LIST
 271: PPUSH
 272: CALL_OW 70
 276: PPUSH
 277: LD_INT 183
 279: PPUSH
 280: LD_INT 136
 282: PPUSH
 283: CALL_OW 114
// Wait ( 1 1$0 ) ;
 287: LD_INT 2100
 289: PPUSH
 290: CALL_OW 67
// PrepareConvoy ( 1 , 3 , 1 , 100 , Convoy ) ;
 294: LD_INT 1
 296: PPUSH
 297: LD_INT 3
 299: PPUSH
 300: LD_INT 1
 302: PPUSH
 303: LD_INT 100
 305: PPUSH
 306: LD_INT 14
 308: PPUSH
 309: CALL 1413 0 5
// ComAgressiveMove ( FilterUnitsInArea ( Def , [ f_side , 1 ] ) , 292 , 220 ) ;
 313: LD_INT 5
 315: PPUSH
 316: LD_INT 22
 318: PUSH
 319: LD_INT 1
 321: PUSH
 322: EMPTY
 323: LIST
 324: LIST
 325: PPUSH
 326: CALL_OW 70
 330: PPUSH
 331: LD_INT 292
 333: PPUSH
 334: LD_INT 220
 336: PPUSH
 337: CALL_OW 114
// end ;
 341: END
// every 0 0$01 trigger FilterUnitsInArea ( TorenoBase , [ [ f_side , 1 ] , [ f_weapon , us_cargo_bay ] ] ) >= 1 do
 342: LD_INT 1
 344: PPUSH
 345: LD_INT 22
 347: PUSH
 348: LD_INT 1
 350: PUSH
 351: EMPTY
 352: LIST
 353: LIST
 354: PUSH
 355: LD_INT 34
 357: PUSH
 358: LD_INT 12
 360: PUSH
 361: EMPTY
 362: LIST
 363: LIST
 364: PUSH
 365: EMPTY
 366: LIST
 367: LIST
 368: PPUSH
 369: CALL_OW 70
 373: PUSH
 374: LD_INT 1
 376: GREATEREQUAL
 377: IFFALSE 434
 379: GO 381
 381: DISABLE
// begin Say ( Toreno , D-Toreno-9 ) ;
 382: LD_INT 474
 384: PPUSH
 385: LD_STRING D-Toreno-9
 387: PPUSH
 388: CALL_OW 88
// ChangeMissionObjectives ( M2aOut ) ;
 392: LD_STRING M2aOut
 394: PPUSH
 395: CALL_OW 337
// SetResourceType ( GetBase ( GroveDepot ) , mat_cans , GetResourceType ( GetBase ( GroveDepot ) , mat_cans ) + 150 ) ;
 399: LD_INT 711
 401: PPUSH
 402: CALL_OW 274
 406: PPUSH
 407: LD_INT 1
 409: PPUSH
 410: LD_INT 711
 412: PPUSH
 413: CALL_OW 274
 417: PPUSH
 418: LD_INT 1
 420: PPUSH
 421: CALL_OW 275
 425: PUSH
 426: LD_INT 150
 428: PLUS
 429: PPUSH
 430: CALL_OW 277
// end ;
 434: END
// every 0 0$01 trigger FilterUnitsInArea ( TorenoBase , [ [ f_side , 1 ] , [ f_weapon , us_cargo_bay ] ] ) >= 3 do
 435: LD_INT 1
 437: PPUSH
 438: LD_INT 22
 440: PUSH
 441: LD_INT 1
 443: PUSH
 444: EMPTY
 445: LIST
 446: LIST
 447: PUSH
 448: LD_INT 34
 450: PUSH
 451: LD_INT 12
 453: PUSH
 454: EMPTY
 455: LIST
 456: LIST
 457: PUSH
 458: EMPTY
 459: LIST
 460: LIST
 461: PPUSH
 462: CALL_OW 70
 466: PUSH
 467: LD_INT 3
 469: GREATEREQUAL
 470: IFFALSE 483
 472: GO 474
 474: DISABLE
// begin AllCargoBays = true ;
 475: LD_ADDR_EXP 1
 479: PUSH
 480: LD_INT 1
 482: ST_TO_ADDR
// end ;
 483: END
// every 0 0$01 trigger FilterUnitsInArea ( ApeMans , [ [ f_side , 7 ] , [ f_class , class_apeman ] ] ) >= 10 do
 484: LD_INT 2
 486: PPUSH
 487: LD_INT 22
 489: PUSH
 490: LD_INT 7
 492: PUSH
 493: EMPTY
 494: LIST
 495: LIST
 496: PUSH
 497: LD_INT 25
 499: PUSH
 500: LD_INT 12
 502: PUSH
 503: EMPTY
 504: LIST
 505: LIST
 506: PUSH
 507: EMPTY
 508: LIST
 509: LIST
 510: PPUSH
 511: CALL_OW 70
 515: PUSH
 516: LD_INT 10
 518: GREATEREQUAL
 519: IFFALSE 667
 521: GO 523
 523: DISABLE
// begin wait ( 0 0$5 ) ;
 524: LD_INT 175
 526: PPUSH
 527: CALL_OW 67
// if FilterUnitsInArea ( ApeMans , [ [ f_side , 7 ] , [ f_class , class_apeman ] ] ) >= 13 then
 531: LD_INT 2
 533: PPUSH
 534: LD_INT 22
 536: PUSH
 537: LD_INT 7
 539: PUSH
 540: EMPTY
 541: LIST
 542: LIST
 543: PUSH
 544: LD_INT 25
 546: PUSH
 547: LD_INT 12
 549: PUSH
 550: EMPTY
 551: LIST
 552: LIST
 553: PUSH
 554: EMPTY
 555: LIST
 556: LIST
 557: PPUSH
 558: CALL_OW 70
 562: PUSH
 563: LD_INT 13
 565: GREATEREQUAL
 566: IFFALSE 576
// MoreApemans = true ;
 568: LD_ADDR_EXP 2
 572: PUSH
 573: LD_INT 1
 575: ST_TO_ADDR
// Say ( Toreno , D-Toreno-9 ) ;
 576: LD_INT 474
 578: PPUSH
 579: LD_STRING D-Toreno-9
 581: PPUSH
 582: CALL_OW 88
// ChangeMissionObjectives ( M2bOut ) ;
 586: LD_STRING M2bOut
 588: PPUSH
 589: CALL_OW 337
// SetResourceType ( GetBase ( GroveDepot ) , mat_cans , GetResourceType ( GetBase ( GroveDepot ) , mat_cans ) + 120 ) ;
 593: LD_INT 711
 595: PPUSH
 596: CALL_OW 274
 600: PPUSH
 601: LD_INT 1
 603: PPUSH
 604: LD_INT 711
 606: PPUSH
 607: CALL_OW 274
 611: PPUSH
 612: LD_INT 1
 614: PPUSH
 615: CALL_OW 275
 619: PUSH
 620: LD_INT 120
 622: PLUS
 623: PPUSH
 624: CALL_OW 277
// SetSide ( FilterUnitsInArea ( ApeMans , [ [ f_side , 4 ] , [ f_class , class_apeman ] ] ) , 1 ) ;
 628: LD_INT 2
 630: PPUSH
 631: LD_INT 22
 633: PUSH
 634: LD_INT 4
 636: PUSH
 637: EMPTY
 638: LIST
 639: LIST
 640: PUSH
 641: LD_INT 25
 643: PUSH
 644: LD_INT 12
 646: PUSH
 647: EMPTY
 648: LIST
 649: LIST
 650: PUSH
 651: EMPTY
 652: LIST
 653: LIST
 654: PPUSH
 655: CALL_OW 70
 659: PPUSH
 660: LD_INT 1
 662: PPUSH
 663: CALL_OW 235
// end ;
 667: END
// every 0 0$01 trigger FilterUnitsInArea ( Baza , [ f_side , 7 ] ) >= 1 do
 668: LD_INT 8
 670: PPUSH
 671: LD_INT 22
 673: PUSH
 674: LD_INT 7
 676: PUSH
 677: EMPTY
 678: LIST
 679: LIST
 680: PPUSH
 681: CALL_OW 70
 685: PUSH
 686: LD_INT 1
 688: GREATEREQUAL
 689: IFFALSE 804
 691: GO 693
 693: DISABLE
// begin Wait ( 0 0$25 ) ;
 694: LD_INT 875
 696: PPUSH
 697: CALL_OW 67
// ComAgressiveMove ( FilterUnitsInArea ( Atak , [ f_side , 1 ] ) , 349 , 231 ) ;
 701: LD_INT 6
 703: PPUSH
 704: LD_INT 22
 706: PUSH
 707: LD_INT 1
 709: PUSH
 710: EMPTY
 711: LIST
 712: LIST
 713: PPUSH
 714: CALL_OW 70
 718: PPUSH
 719: LD_INT 349
 721: PPUSH
 722: LD_INT 231
 724: PPUSH
 725: CALL_OW 114
// ComAgressiveMove ( FilterUnitsInArea ( Pomoc , [ f_side , 3 ] ) , 240 , 26 ) ;
 729: LD_INT 7
 731: PPUSH
 732: LD_INT 22
 734: PUSH
 735: LD_INT 3
 737: PUSH
 738: EMPTY
 739: LIST
 740: LIST
 741: PPUSH
 742: CALL_OW 70
 746: PPUSH
 747: LD_INT 240
 749: PPUSH
 750: LD_INT 26
 752: PPUSH
 753: CALL_OW 114
// SayRadio ( Roman , D-Roman-1 ) ;
 757: LD_INT 484
 759: PPUSH
 760: LD_STRING D-Roman-1
 762: PPUSH
 763: CALL_OW 94
// SayRadio ( Nico , D-Nico-1 ) ;
 767: LD_INT 905
 769: PPUSH
 770: LD_STRING D-Nico-1
 772: PPUSH
 773: CALL_OW 94
// Wait ( 0 0$30 ) ;
 777: LD_INT 1050
 779: PPUSH
 780: CALL_OW 67
// SayRadio ( Roman , D-Roman-2 ) ;
 784: LD_INT 484
 786: PPUSH
 787: LD_STRING D-Roman-2
 789: PPUSH
 790: CALL_OW 94
// SayRadio ( Nico , D-Nico-2 ) ;
 794: LD_INT 905
 796: PPUSH
 797: LD_STRING D-Nico-2
 799: PPUSH
 800: CALL_OW 94
// end ;
 804: END
// every 0 0$10 trigger FilterUnitsInArea ( Retreat , [ f_side , 7 ] ) > 1 do
 805: LD_INT 9
 807: PPUSH
 808: LD_INT 22
 810: PUSH
 811: LD_INT 7
 813: PUSH
 814: EMPTY
 815: LIST
 816: LIST
 817: PPUSH
 818: CALL_OW 70
 822: PUSH
 823: LD_INT 1
 825: GREATER
 826: IFFALSE 998
 828: GO 830
 830: DISABLE
// begin sayRadio ( Roman , D-Roman-3 ) ;
 831: LD_INT 484
 833: PPUSH
 834: LD_STRING D-Roman-3
 836: PPUSH
 837: CALL_OW 94
// sayRadio ( Nico , D-Nico-3 ) ;
 841: LD_INT 905
 843: PPUSH
 844: LD_STRING D-Nico-3
 846: PPUSH
 847: CALL_OW 94
// RemoveUnit ( [ Roman , Nico ] ) ;
 851: LD_INT 484
 853: PUSH
 854: LD_INT 905
 856: PUSH
 857: EMPTY
 858: LIST
 859: LIST
 860: PPUSH
 861: CALL_OW 64
// SetResourceType ( GetBase ( GroveDepot ) , mat_cans , GetResourceType ( GetBase ( GroveDepot ) , mat_cans ) + 300 ) ;
 865: LD_INT 711
 867: PPUSH
 868: CALL_OW 274
 872: PPUSH
 873: LD_INT 1
 875: PPUSH
 876: LD_INT 711
 878: PPUSH
 879: CALL_OW 274
 883: PPUSH
 884: LD_INT 1
 886: PPUSH
 887: CALL_OW 275
 891: PUSH
 892: LD_INT 300
 894: PLUS
 895: PPUSH
 896: CALL_OW 277
// ChangeMissionObjectives ( M2cOut ) ;
 900: LD_STRING M2cOut
 902: PPUSH
 903: CALL_OW 337
// Wait ( 1 1$0 ) ;
 907: LD_INT 2100
 909: PPUSH
 910: CALL_OW 67
// Say ( Toreno , D-Toreno-7 ) ;
 914: LD_INT 474
 916: PPUSH
 917: LD_STRING D-Toreno-7
 919: PPUSH
 920: CALL_OW 88
// Say ( Sweet , D-Sweet-1 ) ;
 924: LD_INT 464
 926: PPUSH
 927: LD_STRING D-Sweet-1
 929: PPUSH
 930: CALL_OW 88
// Say ( Ryder , D-Ryder-2 ) ;
 934: LD_INT 1008
 936: PPUSH
 937: LD_STRING D-Ryder-2
 939: PPUSH
 940: CALL_OW 88
// Say ( Smoke , D-Smoke-2 ) ;
 944: LD_INT 468
 946: PPUSH
 947: LD_STRING D-Smoke-2
 949: PPUSH
 950: CALL_OW 88
// Say ( CJ , D-CJ-3 ) ;
 954: LD_INT 463
 956: PPUSH
 957: LD_STRING D-CJ-3
 959: PPUSH
 960: CALL_OW 88
// Say ( Toreno , D-Toreno-8 ) ;
 964: LD_INT 474
 966: PPUSH
 967: LD_STRING D-Toreno-8
 969: PPUSH
 970: CALL_OW 88
// ComEnterUnit ( Toreno , Ptoreno ) ;
 974: LD_INT 474
 976: PPUSH
 977: LD_INT 856
 979: PPUSH
 980: CALL_OW 120
// Wait ( 0 0$10 ) ;
 984: LD_INT 350
 986: PPUSH
 987: CALL_OW 67
// ChangeMissionObjectives ( M3 ) ;
 991: LD_STRING M3
 993: PPUSH
 994: CALL_OW 337
// end ;
 998: END
// every 0 0$01 trigger FilterUnitsInArea ( Wybor , [ f_side , 7 ] ) >= 1 do
 999: LD_INT 11
1001: PPUSH
1002: LD_INT 22
1004: PUSH
1005: LD_INT 7
1007: PUSH
1008: EMPTY
1009: LIST
1010: LIST
1011: PPUSH
1012: CALL_OW 70
1016: PUSH
1017: LD_INT 1
1019: GREATEREQUAL
1020: IFFALSE 1245
1022: GO 1024
1024: DISABLE
// begin Say ( Truth , D-TT-2 ) ;
1025: LD_INT 485
1027: PPUSH
1028: LD_STRING D-TT-2
1030: PPUSH
1031: CALL_OW 88
// case Query ( Choice ) of 1 :
1035: LD_STRING Choice
1037: PPUSH
1038: CALL_OW 97
1042: PUSH
1043: LD_INT 1
1045: DOUBLE
1046: EQUAL
1047: IFTRUE 1051
1049: GO 1108
1051: POP
// begin Say ( Truth , D-TT-5 ) ;
1052: LD_INT 485
1054: PPUSH
1055: LD_STRING D-TT-5
1057: PPUSH
1058: CALL_OW 88
// SetAttitude ( 4 , 7 , att_enemy , true ) ;
1062: LD_INT 4
1064: PPUSH
1065: LD_INT 7
1067: PPUSH
1068: LD_INT 2
1070: PPUSH
1071: LD_INT 1
1073: PPUSH
1074: CALL_OW 80
// ComAgressiveMove ( FilterUnitsInArea ( TorenoSquad , [ f_side , 1 ] ) , 136 , 212 ) ;
1078: LD_INT 10
1080: PPUSH
1081: LD_INT 22
1083: PUSH
1084: LD_INT 1
1086: PUSH
1087: EMPTY
1088: LIST
1089: LIST
1090: PPUSH
1091: CALL_OW 70
1095: PPUSH
1096: LD_INT 136
1098: PPUSH
1099: LD_INT 212
1101: PPUSH
1102: CALL_OW 114
// end ; 2 :
1106: GO 1245
1108: LD_INT 2
1110: DOUBLE
1111: EQUAL
1112: IFTRUE 1116
1114: GO 1244
1116: POP
// begin SideTruth = true ;
1117: LD_ADDR_EXP 3
1121: PUSH
1122: LD_INT 1
1124: ST_TO_ADDR
// Say ( CJ , D-CJ-4 ) ;
1125: LD_INT 463
1127: PPUSH
1128: LD_STRING D-CJ-4
1130: PPUSH
1131: CALL_OW 88
// Say ( Truth , D-TT-3 ) ;
1135: LD_INT 485
1137: PPUSH
1138: LD_STRING D-TT-3
1140: PPUSH
1141: CALL_OW 88
// Say ( Truth , D-TT-4 ) ;
1145: LD_INT 485
1147: PPUSH
1148: LD_STRING D-TT-4
1150: PPUSH
1151: CALL_OW 88
// Say ( CJ , D-CJ-5 ) ;
1155: LD_INT 463
1157: PPUSH
1158: LD_STRING D-CJ-5
1160: PPUSH
1161: CALL_OW 88
// ChangeMissionObjectives ( M4 ) ;
1165: LD_STRING M4
1167: PPUSH
1168: CALL_OW 337
// SetAttitude ( 1 , 7 , att_enemy , true ) ;
1172: LD_INT 1
1174: PPUSH
1175: LD_INT 7
1177: PPUSH
1178: LD_INT 2
1180: PPUSH
1181: LD_INT 1
1183: PPUSH
1184: CALL_OW 80
// SetAttitude ( 4 , 7 , att_friend , true ) ;
1188: LD_INT 4
1190: PPUSH
1191: LD_INT 7
1193: PPUSH
1194: LD_INT 1
1196: PPUSH
1197: LD_INT 1
1199: PPUSH
1200: CALL_OW 80
// Say ( Toreno , D-Toreno-10 ) ;
1204: LD_INT 474
1206: PPUSH
1207: LD_STRING D-Toreno-10
1209: PPUSH
1210: CALL_OW 88
// ComAgressiveMove ( FilterUnitsInArea ( TorenoSquad , [ f_side , 1 ] ) , 136 , 212 ) ;
1214: LD_INT 10
1216: PPUSH
1217: LD_INT 22
1219: PUSH
1220: LD_INT 1
1222: PUSH
1223: EMPTY
1224: LIST
1225: LIST
1226: PPUSH
1227: CALL_OW 70
1231: PPUSH
1232: LD_INT 136
1234: PPUSH
1235: LD_INT 212
1237: PPUSH
1238: CALL_OW 114
// end ; end ;
1242: GO 1245
1244: POP
// end ;
1245: END
// every 0 0$01 trigger ( IsDead ( Toreno ) and SideTruth ) or IsDead ( Truth ) do
1246: LD_INT 474
1248: PPUSH
1249: CALL_OW 301
1253: PUSH
1254: LD_EXP 3
1258: AND
1259: PUSH
1260: LD_INT 485
1262: PPUSH
1263: CALL_OW 301
1267: OR
1268: IFFALSE 1412
1270: GO 1272
1272: DISABLE
// begin SetResourceType ( GetBase ( GroveDepot ) , mat_cans , GetResourceType ( GetBase ( GroveDepot ) , mat_cans ) + 1000 ) ;
1273: LD_INT 711
1275: PPUSH
1276: CALL_OW 274
1280: PPUSH
1281: LD_INT 1
1283: PPUSH
1284: LD_INT 711
1286: PPUSH
1287: CALL_OW 274
1291: PPUSH
1292: LD_INT 1
1294: PPUSH
1295: CALL_OW 275
1299: PUSH
1300: LD_INT 1000
1302: PLUS
1303: PPUSH
1304: CALL_OW 277
// Say ( CJ , D-CJ-6 ) ;
1308: LD_INT 463
1310: PPUSH
1311: LD_STRING D-CJ-6
1313: PPUSH
1314: CALL_OW 88
// Say ( CJ , D-Sweet-7 ) ;
1318: LD_INT 463
1320: PPUSH
1321: LD_STRING D-Sweet-7
1323: PPUSH
1324: CALL_OW 88
// wait ( 0 0$30 ) ;
1328: LD_INT 1050
1330: PPUSH
1331: CALL_OW 67
// Say ( Catalina , D-Cata-1 ) ;
1335: LD_INT 497
1337: PPUSH
1338: LD_STRING D-Cata-1
1340: PPUSH
1341: CALL_OW 88
// Say ( CJ , D-CJ-7 ) ;
1345: LD_INT 463
1347: PPUSH
1348: LD_STRING D-CJ-7
1350: PPUSH
1351: CALL_OW 88
// Say ( Catalina , D-Cata-2 ) ;
1355: LD_INT 497
1357: PPUSH
1358: LD_STRING D-Cata-2
1360: PPUSH
1361: CALL_OW 88
// Say ( CJ , D-Sweet-3 ) ;
1365: LD_INT 463
1367: PPUSH
1368: LD_STRING D-Sweet-3
1370: PPUSH
1371: CALL_OW 88
// Say ( Ryder , D-Ryder-4 ) ;
1375: LD_INT 1008
1377: PPUSH
1378: LD_STRING D-Ryder-4
1380: PPUSH
1381: CALL_OW 88
// Say ( Sweet , D-Sweet-4 ) ;
1385: LD_INT 464
1387: PPUSH
1388: LD_STRING D-Sweet-4
1390: PPUSH
1391: CALL_OW 88
// Say ( Ryder , D-Ryder-6 ) ;
1395: LD_INT 1008
1397: PPUSH
1398: LD_STRING D-Ryder-6
1400: PPUSH
1401: CALL_OW 88
// ChangeMissionObjectives ( M6 ) ;
1405: LD_STRING M6
1407: PPUSH
1408: CALL_OW 337
// end ; end_of_file
1412: END
// export function PrepareConvoy ( side , num0 , num1 , num2 , area ) ; var l , un , cargo , cargos ; begin
1413: LD_INT 0
1415: PPUSH
1416: PPUSH
1417: PPUSH
1418: PPUSH
1419: PPUSH
// uc_side := side ;
1420: LD_ADDR_OWVAR 20
1424: PUSH
1425: LD_VAR 0 1
1429: ST_TO_ADDR
// uc_nation := nation_american ;
1430: LD_ADDR_OWVAR 21
1434: PUSH
1435: LD_INT 1
1437: ST_TO_ADDR
// cargos := [ ] ;
1438: LD_ADDR_VAR 0 10
1442: PUSH
1443: EMPTY
1444: ST_TO_ADDR
// l = 0 ;
1445: LD_ADDR_VAR 0 7
1449: PUSH
1450: LD_INT 0
1452: ST_TO_ADDR
// repeat begin vc_chassis := us_medium_tracked ;
1453: LD_ADDR_OWVAR 37
1457: PUSH
1458: LD_INT 3
1460: ST_TO_ADDR
// vc_engine := engine_combustion ;
1461: LD_ADDR_OWVAR 39
1465: PUSH
1466: LD_INT 1
1468: ST_TO_ADDR
// vc_control := control_manual ;
1469: LD_ADDR_OWVAR 38
1473: PUSH
1474: LD_INT 1
1476: ST_TO_ADDR
// vc_weapon := us_cargo_bay ;
1477: LD_ADDR_OWVAR 40
1481: PUSH
1482: LD_INT 12
1484: ST_TO_ADDR
// cargo := CreateVehicle ;
1485: LD_ADDR_VAR 0 9
1489: PUSH
1490: CALL_OW 45
1494: ST_TO_ADDR
// PlaceUnitArea ( cargo , area , false ) ;
1495: LD_VAR 0 9
1499: PPUSH
1500: LD_VAR 0 5
1504: PPUSH
1505: LD_INT 0
1507: PPUSH
1508: CALL_OW 49
// hc_sex := Rand ( sex_male , sex_female ) ;
1512: LD_ADDR_OWVAR 27
1516: PUSH
1517: LD_INT 1
1519: PPUSH
1520: LD_INT 2
1522: PPUSH
1523: CALL_OW 12
1527: ST_TO_ADDR
// hc_gallery :=  ;
1528: LD_ADDR_OWVAR 33
1532: PUSH
1533: LD_STRING 
1535: ST_TO_ADDR
// hc_name :=  ;
1536: LD_ADDR_OWVAR 26
1540: PUSH
1541: LD_STRING 
1543: ST_TO_ADDR
// hc_class := 3 ;
1544: LD_ADDR_OWVAR 28
1548: PUSH
1549: LD_INT 3
1551: ST_TO_ADDR
// un := CreateHuman ;
1552: LD_ADDR_VAR 0 8
1556: PUSH
1557: CALL_OW 44
1561: ST_TO_ADDR
// PlaceHumanInUnit ( un , cargo ) ;
1562: LD_VAR 0 8
1566: PPUSH
1567: LD_VAR 0 9
1571: PPUSH
1572: CALL_OW 52
// cargos := cargos ^ un ;
1576: LD_ADDR_VAR 0 10
1580: PUSH
1581: LD_VAR 0 10
1585: PUSH
1586: LD_VAR 0 8
1590: ADD
1591: ST_TO_ADDR
// SetCargo ( cargo , num1 , num2 ) ;
1592: LD_VAR 0 9
1596: PPUSH
1597: LD_VAR 0 3
1601: PPUSH
1602: LD_VAR 0 4
1606: PPUSH
1607: CALL_OW 290
// l = l + 1 end until l = num0 ;
1611: LD_ADDR_VAR 0 7
1615: PUSH
1616: LD_VAR 0 7
1620: PUSH
1621: LD_INT 1
1623: PLUS
1624: ST_TO_ADDR
1625: LD_VAR 0 7
1629: PUSH
1630: LD_VAR 0 2
1634: EQUAL
1635: IFFALSE 1453
// ComMoveToArea ( cargos , TorenoBase ) ;
1637: LD_VAR 0 10
1641: PPUSH
1642: LD_INT 1
1644: PPUSH
1645: CALL_OW 113
// end ;
1649: LD_VAR 0 6
1653: RET
// export function FillBunkers ( side , nation ) ; var i , filter , un ; begin
1654: LD_INT 0
1656: PPUSH
1657: PPUSH
1658: PPUSH
1659: PPUSH
// filter := FilterAllUnits ( [ [ f_side , side ] , [ f_btype , b_bunker ] ] ) ;
1660: LD_ADDR_VAR 0 5
1664: PUSH
1665: LD_INT 22
1667: PUSH
1668: LD_VAR 0 1
1672: PUSH
1673: EMPTY
1674: LIST
1675: LIST
1676: PUSH
1677: LD_INT 30
1679: PUSH
1680: LD_INT 32
1682: PUSH
1683: EMPTY
1684: LIST
1685: LIST
1686: PUSH
1687: EMPTY
1688: LIST
1689: LIST
1690: PPUSH
1691: CALL_OW 69
1695: ST_TO_ADDR
// filter := filter ^ FilterAllUnits ( [ [ f_side , side ] , [ f_btype , b_breastwork ] ] ) ;
1696: LD_ADDR_VAR 0 5
1700: PUSH
1701: LD_VAR 0 5
1705: PUSH
1706: LD_INT 22
1708: PUSH
1709: LD_VAR 0 1
1713: PUSH
1714: EMPTY
1715: LIST
1716: LIST
1717: PUSH
1718: LD_INT 30
1720: PUSH
1721: LD_INT 31
1723: PUSH
1724: EMPTY
1725: LIST
1726: LIST
1727: PUSH
1728: EMPTY
1729: LIST
1730: LIST
1731: PPUSH
1732: CALL_OW 69
1736: ADD
1737: ST_TO_ADDR
// for i = 1 to filter do
1738: LD_ADDR_VAR 0 4
1742: PUSH
1743: DOUBLE
1744: LD_INT 1
1746: DEC
1747: ST_TO_ADDR
1748: LD_VAR 0 5
1752: PUSH
1753: FOR_TO
1754: IFFALSE 1839
// if IsInUnit ( filter [ i ] ) = 0 then
1756: LD_VAR 0 5
1760: PUSH
1761: LD_VAR 0 4
1765: ARRAY
1766: PPUSH
1767: CALL_OW 310
1771: PUSH
1772: LD_INT 0
1774: EQUAL
1775: IFFALSE 1837
// begin uc_nation = nation ;
1777: LD_ADDR_OWVAR 21
1781: PUSH
1782: LD_VAR 0 2
1786: ST_TO_ADDR
// uc_side = side ;
1787: LD_ADDR_OWVAR 20
1791: PUSH
1792: LD_VAR 0 1
1796: ST_TO_ADDR
// PrepareSoldier ( 0 , 4 ) ;
1797: LD_INT 0
1799: PPUSH
1800: LD_INT 4
1802: PPUSH
1803: CALL_OW 381
// un := CreateHuman ;
1807: LD_ADDR_VAR 0 6
1811: PUSH
1812: CALL_OW 44
1816: ST_TO_ADDR
// PlaceHumanInUnit ( un , filter [ i ] ) ;
1817: LD_VAR 0 6
1821: PPUSH
1822: LD_VAR 0 5
1826: PUSH
1827: LD_VAR 0 4
1831: ARRAY
1832: PPUSH
1833: CALL_OW 52
// end ;
1837: GO 1753
1839: POP
1840: POP
// end ;
1841: LD_VAR 0 3
1845: RET
// export function Garnizonuj_Budynki ( strona , nacja ) ; var i , j , l , laby , zbrojnie , warsztaty , fabryki , sklad , ilu_ludzi , ludz , filter ; begin
1846: LD_INT 0
1848: PPUSH
1849: PPUSH
1850: PPUSH
1851: PPUSH
1852: PPUSH
1853: PPUSH
1854: PPUSH
1855: PPUSH
1856: PPUSH
1857: PPUSH
1858: PPUSH
1859: PPUSH
// laby := FilterAllUnits ( [ [ f_side , strona ] , [ f_nation , nacja ] , [ f_btype , b_lab ] ] ) ;
1860: LD_ADDR_VAR 0 7
1864: PUSH
1865: LD_INT 22
1867: PUSH
1868: LD_VAR 0 1
1872: PUSH
1873: EMPTY
1874: LIST
1875: LIST
1876: PUSH
1877: LD_INT 23
1879: PUSH
1880: LD_VAR 0 2
1884: PUSH
1885: EMPTY
1886: LIST
1887: LIST
1888: PUSH
1889: LD_INT 30
1891: PUSH
1892: LD_INT 6
1894: PUSH
1895: EMPTY
1896: LIST
1897: LIST
1898: PUSH
1899: EMPTY
1900: LIST
1901: LIST
1902: LIST
1903: PPUSH
1904: CALL_OW 69
1908: ST_TO_ADDR
// zbrojnie := FilterAllUnits ( [ [ f_side , strona ] , [ f_nation , nacja ] , [ f_btype , b_armoury ] ] ) ;
1909: LD_ADDR_VAR 0 8
1913: PUSH
1914: LD_INT 22
1916: PUSH
1917: LD_VAR 0 1
1921: PUSH
1922: EMPTY
1923: LIST
1924: LIST
1925: PUSH
1926: LD_INT 23
1928: PUSH
1929: LD_VAR 0 2
1933: PUSH
1934: EMPTY
1935: LIST
1936: LIST
1937: PUSH
1938: LD_INT 30
1940: PUSH
1941: LD_INT 4
1943: PUSH
1944: EMPTY
1945: LIST
1946: LIST
1947: PUSH
1948: EMPTY
1949: LIST
1950: LIST
1951: LIST
1952: PPUSH
1953: CALL_OW 69
1957: ST_TO_ADDR
// zbrojnie := zbrojnie ^ FilterAllUnits ( [ [ f_side , strona ] , [ f_nation , nacja ] , [ f_btype , b_barracks ] ] ) ;
1958: LD_ADDR_VAR 0 8
1962: PUSH
1963: LD_VAR 0 8
1967: PUSH
1968: LD_INT 22
1970: PUSH
1971: LD_VAR 0 1
1975: PUSH
1976: EMPTY
1977: LIST
1978: LIST
1979: PUSH
1980: LD_INT 23
1982: PUSH
1983: LD_VAR 0 2
1987: PUSH
1988: EMPTY
1989: LIST
1990: LIST
1991: PUSH
1992: LD_INT 30
1994: PUSH
1995: LD_INT 5
1997: PUSH
1998: EMPTY
1999: LIST
2000: LIST
2001: PUSH
2002: EMPTY
2003: LIST
2004: LIST
2005: LIST
2006: PPUSH
2007: CALL_OW 69
2011: ADD
2012: ST_TO_ADDR
// laby := laby ^ FilterAllUnits ( [ [ f_side , strona ] , [ f_nation , nacja ] , [ f_btype , b_lab_full ] ] ) ;
2013: LD_ADDR_VAR 0 7
2017: PUSH
2018: LD_VAR 0 7
2022: PUSH
2023: LD_INT 22
2025: PUSH
2026: LD_VAR 0 1
2030: PUSH
2031: EMPTY
2032: LIST
2033: LIST
2034: PUSH
2035: LD_INT 23
2037: PUSH
2038: LD_VAR 0 2
2042: PUSH
2043: EMPTY
2044: LIST
2045: LIST
2046: PUSH
2047: LD_INT 30
2049: PUSH
2050: LD_INT 8
2052: PUSH
2053: EMPTY
2054: LIST
2055: LIST
2056: PUSH
2057: EMPTY
2058: LIST
2059: LIST
2060: LIST
2061: PPUSH
2062: CALL_OW 69
2066: ADD
2067: ST_TO_ADDR
// warsztaty := FilterAllUnits ( [ [ f_side , strona ] , [ f_nation , nacja ] , [ f_btype , b_workshop ] ] ) ;
2068: LD_ADDR_VAR 0 9
2072: PUSH
2073: LD_INT 22
2075: PUSH
2076: LD_VAR 0 1
2080: PUSH
2081: EMPTY
2082: LIST
2083: LIST
2084: PUSH
2085: LD_INT 23
2087: PUSH
2088: LD_VAR 0 2
2092: PUSH
2093: EMPTY
2094: LIST
2095: LIST
2096: PUSH
2097: LD_INT 30
2099: PUSH
2100: LD_INT 2
2102: PUSH
2103: EMPTY
2104: LIST
2105: LIST
2106: PUSH
2107: EMPTY
2108: LIST
2109: LIST
2110: LIST
2111: PPUSH
2112: CALL_OW 69
2116: ST_TO_ADDR
// fabryki := FilterAllUnits ( [ [ f_side , strona ] , [ f_nation , nacja ] , [ f_btype , b_factory ] ] ) ;
2117: LD_ADDR_VAR 0 10
2121: PUSH
2122: LD_INT 22
2124: PUSH
2125: LD_VAR 0 1
2129: PUSH
2130: EMPTY
2131: LIST
2132: LIST
2133: PUSH
2134: LD_INT 23
2136: PUSH
2137: LD_VAR 0 2
2141: PUSH
2142: EMPTY
2143: LIST
2144: LIST
2145: PUSH
2146: LD_INT 30
2148: PUSH
2149: LD_INT 3
2151: PUSH
2152: EMPTY
2153: LIST
2154: LIST
2155: PUSH
2156: EMPTY
2157: LIST
2158: LIST
2159: LIST
2160: PPUSH
2161: CALL_OW 69
2165: ST_TO_ADDR
// sklad := FilterAllUnits ( [ [ f_side , strona ] , [ f_nation , nacja ] , [ f_btype , b_depot ] ] ) ;
2166: LD_ADDR_VAR 0 11
2170: PUSH
2171: LD_INT 22
2173: PUSH
2174: LD_VAR 0 1
2178: PUSH
2179: EMPTY
2180: LIST
2181: LIST
2182: PUSH
2183: LD_INT 23
2185: PUSH
2186: LD_VAR 0 2
2190: PUSH
2191: EMPTY
2192: LIST
2193: LIST
2194: PUSH
2195: LD_INT 30
2197: PUSH
2198: LD_INT 0
2200: PUSH
2201: EMPTY
2202: LIST
2203: LIST
2204: PUSH
2205: EMPTY
2206: LIST
2207: LIST
2208: LIST
2209: PPUSH
2210: CALL_OW 69
2214: ST_TO_ADDR
// sklad := sklad ^ FilterAllUnits ( [ [ f_side , strona ] , [ f_nation , nacja ] , [ f_btype , b_warehouse ] ] ) ;
2215: LD_ADDR_VAR 0 11
2219: PUSH
2220: LD_VAR 0 11
2224: PUSH
2225: LD_INT 22
2227: PUSH
2228: LD_VAR 0 1
2232: PUSH
2233: EMPTY
2234: LIST
2235: LIST
2236: PUSH
2237: LD_INT 23
2239: PUSH
2240: LD_VAR 0 2
2244: PUSH
2245: EMPTY
2246: LIST
2247: LIST
2248: PUSH
2249: LD_INT 30
2251: PUSH
2252: LD_INT 1
2254: PUSH
2255: EMPTY
2256: LIST
2257: LIST
2258: PUSH
2259: EMPTY
2260: LIST
2261: LIST
2262: LIST
2263: PPUSH
2264: CALL_OW 69
2268: ADD
2269: ST_TO_ADDR
// for i = 1 to laby do
2270: LD_ADDR_VAR 0 4
2274: PUSH
2275: DOUBLE
2276: LD_INT 1
2278: DEC
2279: ST_TO_ADDR
2280: LD_VAR 0 7
2284: PUSH
2285: FOR_TO
2286: IFFALSE 2425
// begin if IsInUnit ( laby [ i ] ) = 0 then
2288: LD_VAR 0 7
2292: PUSH
2293: LD_VAR 0 4
2297: ARRAY
2298: PPUSH
2299: CALL_OW 310
2303: PUSH
2304: LD_INT 0
2306: EQUAL
2307: IFFALSE 2423
// begin uc_nation = nacja ;
2309: LD_ADDR_OWVAR 21
2313: PUSH
2314: LD_VAR 0 2
2318: ST_TO_ADDR
// uc_side = strona ;
2319: LD_ADDR_OWVAR 20
2323: PUSH
2324: LD_VAR 0 1
2328: ST_TO_ADDR
// ilu_ludzi = Rand ( 2 , 4 ) ;
2329: LD_ADDR_VAR 0 12
2333: PUSH
2334: LD_INT 2
2336: PPUSH
2337: LD_INT 4
2339: PPUSH
2340: CALL_OW 12
2344: ST_TO_ADDR
// for j = 1 to ilu_ludzi do
2345: LD_ADDR_VAR 0 5
2349: PUSH
2350: DOUBLE
2351: LD_INT 1
2353: DEC
2354: ST_TO_ADDR
2355: LD_VAR 0 12
2359: PUSH
2360: FOR_TO
2361: IFFALSE 2421
// begin PrepareScientist ( 0 , 4 ) ;
2363: LD_INT 0
2365: PPUSH
2366: LD_INT 4
2368: PPUSH
2369: CALL_OW 384
// ludz = CreateHuman ;
2373: LD_ADDR_VAR 0 13
2377: PUSH
2378: CALL_OW 44
2382: ST_TO_ADDR
// PlaceHumanInUnit ( ludz , laby [ i ] ) ;
2383: LD_VAR 0 13
2387: PPUSH
2388: LD_VAR 0 7
2392: PUSH
2393: LD_VAR 0 4
2397: ARRAY
2398: PPUSH
2399: CALL_OW 52
// ilu_ludzi = Rand ( 2 , 4 ) ;
2403: LD_ADDR_VAR 0 12
2407: PUSH
2408: LD_INT 2
2410: PPUSH
2411: LD_INT 4
2413: PPUSH
2414: CALL_OW 12
2418: ST_TO_ADDR
// end ;
2419: GO 2360
2421: POP
2422: POP
// end ; end ;
2423: GO 2285
2425: POP
2426: POP
// for i = 1 to zbrojnie do
2427: LD_ADDR_VAR 0 4
2431: PUSH
2432: DOUBLE
2433: LD_INT 1
2435: DEC
2436: ST_TO_ADDR
2437: LD_VAR 0 8
2441: PUSH
2442: FOR_TO
2443: IFFALSE 2558
// begin if IsInUnit ( zbrojnie [ i ] ) = 0 then
2445: LD_VAR 0 8
2449: PUSH
2450: LD_VAR 0 4
2454: ARRAY
2455: PPUSH
2456: CALL_OW 310
2460: PUSH
2461: LD_INT 0
2463: EQUAL
2464: IFFALSE 2556
// begin uc_nation = nacja ;
2466: LD_ADDR_OWVAR 21
2470: PUSH
2471: LD_VAR 0 2
2475: ST_TO_ADDR
// uc_side = strona ;
2476: LD_ADDR_OWVAR 20
2480: PUSH
2481: LD_VAR 0 1
2485: ST_TO_ADDR
// ilu_ludzi = 2 ;
2486: LD_ADDR_VAR 0 12
2490: PUSH
2491: LD_INT 2
2493: ST_TO_ADDR
// for j = 1 to ilu_ludzi do
2494: LD_ADDR_VAR 0 5
2498: PUSH
2499: DOUBLE
2500: LD_INT 1
2502: DEC
2503: ST_TO_ADDR
2504: LD_VAR 0 12
2508: PUSH
2509: FOR_TO
2510: IFFALSE 2554
// begin PrepareSoldier ( 0 , 4 ) ;
2512: LD_INT 0
2514: PPUSH
2515: LD_INT 4
2517: PPUSH
2518: CALL_OW 381
// ludz = CreateHuman ;
2522: LD_ADDR_VAR 0 13
2526: PUSH
2527: CALL_OW 44
2531: ST_TO_ADDR
// PlaceHumanInUnit ( ludz , zbrojnie [ i ] ) ;
2532: LD_VAR 0 13
2536: PPUSH
2537: LD_VAR 0 8
2541: PUSH
2542: LD_VAR 0 4
2546: ARRAY
2547: PPUSH
2548: CALL_OW 52
// end ;
2552: GO 2509
2554: POP
2555: POP
// end ; end ;
2556: GO 2442
2558: POP
2559: POP
// for i = 1 to warsztaty do
2560: LD_ADDR_VAR 0 4
2564: PUSH
2565: DOUBLE
2566: LD_INT 1
2568: DEC
2569: ST_TO_ADDR
2570: LD_VAR 0 9
2574: PUSH
2575: FOR_TO
2576: IFFALSE 2715
// begin if IsInUnit ( warsztaty [ i ] ) = 0 then
2578: LD_VAR 0 9
2582: PUSH
2583: LD_VAR 0 4
2587: ARRAY
2588: PPUSH
2589: CALL_OW 310
2593: PUSH
2594: LD_INT 0
2596: EQUAL
2597: IFFALSE 2713
// begin uc_nation = nacja ;
2599: LD_ADDR_OWVAR 21
2603: PUSH
2604: LD_VAR 0 2
2608: ST_TO_ADDR
// uc_side = strona ;
2609: LD_ADDR_OWVAR 20
2613: PUSH
2614: LD_VAR 0 1
2618: ST_TO_ADDR
// ilu_ludzi = Rand ( 2 , 4 ) ;
2619: LD_ADDR_VAR 0 12
2623: PUSH
2624: LD_INT 2
2626: PPUSH
2627: LD_INT 4
2629: PPUSH
2630: CALL_OW 12
2634: ST_TO_ADDR
// for j = 1 to ilu_ludzi do
2635: LD_ADDR_VAR 0 5
2639: PUSH
2640: DOUBLE
2641: LD_INT 1
2643: DEC
2644: ST_TO_ADDR
2645: LD_VAR 0 12
2649: PUSH
2650: FOR_TO
2651: IFFALSE 2711
// begin PrepareMechanic ( 0 , 4 ) ;
2653: LD_INT 0
2655: PPUSH
2656: LD_INT 4
2658: PPUSH
2659: CALL_OW 383
// ludz = CreateHuman ;
2663: LD_ADDR_VAR 0 13
2667: PUSH
2668: CALL_OW 44
2672: ST_TO_ADDR
// PlaceHumanInUnit ( ludz , warsztaty [ i ] ) ;
2673: LD_VAR 0 13
2677: PPUSH
2678: LD_VAR 0 9
2682: PUSH
2683: LD_VAR 0 4
2687: ARRAY
2688: PPUSH
2689: CALL_OW 52
// ilu_ludzi = Rand ( 2 , 4 ) ;
2693: LD_ADDR_VAR 0 12
2697: PUSH
2698: LD_INT 2
2700: PPUSH
2701: LD_INT 4
2703: PPUSH
2704: CALL_OW 12
2708: ST_TO_ADDR
// end ;
2709: GO 2650
2711: POP
2712: POP
// end ; end ;
2713: GO 2575
2715: POP
2716: POP
// for i = 1 to fabryki do
2717: LD_ADDR_VAR 0 4
2721: PUSH
2722: DOUBLE
2723: LD_INT 1
2725: DEC
2726: ST_TO_ADDR
2727: LD_VAR 0 10
2731: PUSH
2732: FOR_TO
2733: IFFALSE 2872
// begin if IsInUnit ( fabryki [ i ] ) = 0 then
2735: LD_VAR 0 10
2739: PUSH
2740: LD_VAR 0 4
2744: ARRAY
2745: PPUSH
2746: CALL_OW 310
2750: PUSH
2751: LD_INT 0
2753: EQUAL
2754: IFFALSE 2870
// begin uc_nation = nacja ;
2756: LD_ADDR_OWVAR 21
2760: PUSH
2761: LD_VAR 0 2
2765: ST_TO_ADDR
// uc_side = strona ;
2766: LD_ADDR_OWVAR 20
2770: PUSH
2771: LD_VAR 0 1
2775: ST_TO_ADDR
// ilu_ludzi = Rand ( 2 , 4 ) ;
2776: LD_ADDR_VAR 0 12
2780: PUSH
2781: LD_INT 2
2783: PPUSH
2784: LD_INT 4
2786: PPUSH
2787: CALL_OW 12
2791: ST_TO_ADDR
// for j = 1 to ilu_ludzi do
2792: LD_ADDR_VAR 0 5
2796: PUSH
2797: DOUBLE
2798: LD_INT 1
2800: DEC
2801: ST_TO_ADDR
2802: LD_VAR 0 12
2806: PUSH
2807: FOR_TO
2808: IFFALSE 2868
// begin PrepareMechanic ( 0 , 4 ) ;
2810: LD_INT 0
2812: PPUSH
2813: LD_INT 4
2815: PPUSH
2816: CALL_OW 383
// ludz = CreateHuman ;
2820: LD_ADDR_VAR 0 13
2824: PUSH
2825: CALL_OW 44
2829: ST_TO_ADDR
// PlaceHumanInUnit ( ludz , fabryki [ i ] ) ;
2830: LD_VAR 0 13
2834: PPUSH
2835: LD_VAR 0 10
2839: PUSH
2840: LD_VAR 0 4
2844: ARRAY
2845: PPUSH
2846: CALL_OW 52
// ilu_ludzi = Rand ( 2 , 4 ) ;
2850: LD_ADDR_VAR 0 12
2854: PUSH
2855: LD_INT 2
2857: PPUSH
2858: LD_INT 4
2860: PPUSH
2861: CALL_OW 12
2865: ST_TO_ADDR
// end ;
2866: GO 2807
2868: POP
2869: POP
// end ; end ;
2870: GO 2732
2872: POP
2873: POP
// for i = 1 to sklad do
2874: LD_ADDR_VAR 0 4
2878: PUSH
2879: DOUBLE
2880: LD_INT 1
2882: DEC
2883: ST_TO_ADDR
2884: LD_VAR 0 11
2888: PUSH
2889: FOR_TO
2890: IFFALSE 3013
// begin if IsInUnit ( sklad [ i ] ) = 0 then
2892: LD_VAR 0 11
2896: PUSH
2897: LD_VAR 0 4
2901: ARRAY
2902: PPUSH
2903: CALL_OW 310
2907: PUSH
2908: LD_INT 0
2910: EQUAL
2911: IFFALSE 3011
// begin uc_nation = nacja ;
2913: LD_ADDR_OWVAR 21
2917: PUSH
2918: LD_VAR 0 2
2922: ST_TO_ADDR
// uc_side = strona ;
2923: LD_ADDR_OWVAR 20
2927: PUSH
2928: LD_VAR 0 1
2932: ST_TO_ADDR
// ilu_ludzi = Rand ( 2 , 3 ) ;
2933: LD_ADDR_VAR 0 12
2937: PUSH
2938: LD_INT 2
2940: PPUSH
2941: LD_INT 3
2943: PPUSH
2944: CALL_OW 12
2948: ST_TO_ADDR
// for j = 1 to ilu_ludzi do
2949: LD_ADDR_VAR 0 5
2953: PUSH
2954: DOUBLE
2955: LD_INT 1
2957: DEC
2958: ST_TO_ADDR
2959: LD_VAR 0 12
2963: PUSH
2964: FOR_TO
2965: IFFALSE 3009
// begin PrepareEngineer ( 0 , 4 ) ;
2967: LD_INT 0
2969: PPUSH
2970: LD_INT 4
2972: PPUSH
2973: CALL_OW 382
// ludz = CreateHuman ;
2977: LD_ADDR_VAR 0 13
2981: PUSH
2982: CALL_OW 44
2986: ST_TO_ADDR
// PlaceHumanInUnit ( ludz , sklad [ i ] ) ;
2987: LD_VAR 0 13
2991: PPUSH
2992: LD_VAR 0 11
2996: PUSH
2997: LD_VAR 0 4
3001: ARRAY
3002: PPUSH
3003: CALL_OW 52
// end ;
3007: GO 2964
3009: POP
3010: POP
// end ; end ;
3011: GO 2889
3013: POP
3014: POP
// end ; end_of_file
3015: LD_VAR 0 3
3019: RET
// every 0 0$4 trigger isdead ( Catalina ) do
3020: LD_INT 497
3022: PPUSH
3023: CALL_OW 301
3027: IFFALSE 3039
3029: GO 3031
3031: DISABLE
// begin ChangeMissionOBjectives ( M7 ) end ;
3032: LD_STRING M7
3034: PPUSH
3035: CALL_OW 337
3039: END
// every 0 0$01 trigger FIlterUnitsInArea ( TheEnd , [ f_side , 7 ] ) >= 4 and IsDead ( Catalina ) and ( IsDead ( Toreno ) or IsDead ( Truth ) ) do
3040: LD_INT 3
3042: PPUSH
3043: LD_INT 22
3045: PUSH
3046: LD_INT 7
3048: PUSH
3049: EMPTY
3050: LIST
3051: LIST
3052: PPUSH
3053: CALL_OW 70
3057: PUSH
3058: LD_INT 4
3060: GREATEREQUAL
3061: PUSH
3062: LD_INT 497
3064: PPUSH
3065: CALL_OW 301
3069: AND
3070: PUSH
3071: LD_INT 474
3073: PPUSH
3074: CALL_OW 301
3078: PUSH
3079: LD_INT 485
3081: PPUSH
3082: CALL_OW 301
3086: OR
3087: AND
3088: IFFALSE 3181
3090: GO 3092
3092: DISABLE
// begin Say ( Ryder , D-Ryder-7 ) ;
3093: LD_INT 1008
3095: PPUSH
3096: LD_STRING D-Ryder-7
3098: PPUSH
3099: CALL_OW 88
// Say ( Smoke , D-Smoke-3 ) ;
3103: LD_INT 468
3105: PPUSH
3106: LD_STRING D-Smoke-3
3108: PPUSH
3109: CALL_OW 88
// Say ( Sweet , D-Sweet-6 ) ;
3113: LD_INT 464
3115: PPUSH
3116: LD_STRING D-Sweet-6
3118: PPUSH
3119: CALL_OW 88
// Say ( CJ , D-CJ-8 ) ;
3123: LD_INT 463
3125: PPUSH
3126: LD_STRING D-CJ-8
3128: PPUSH
3129: CALL_OW 88
// wait ( 0 0$1 ) ;
3133: LD_INT 35
3135: PPUSH
3136: CALL_OW 67
// AddMedal ( med1 , 1 ) ;
3140: LD_STRING med1
3142: PPUSH
3143: LD_INT 1
3145: PPUSH
3146: CALL_OW 101
// AddMedal ( med2 , 1 ) ;
3150: LD_STRING med2
3152: PPUSH
3153: LD_INT 1
3155: PPUSH
3156: CALL_OW 101
// AddMedal ( med3 , 1 ) ;
3160: LD_STRING med3
3162: PPUSH
3163: LD_INT 1
3165: PPUSH
3166: CALL_OW 101
// GiveMedals ( Main ) ;
3170: LD_STRING Main
3172: PPUSH
3173: CALL_OW 102
// YouWIn ;
3177: CALL_OW 103
// end ;
3181: END
// on UnitDestroyed ( un ) do begin if un = CJ then
3182: LD_VAR 0 1
3186: PUSH
3187: LD_INT 463
3189: EQUAL
3190: IFFALSE 3218
// begin ExclusiveOn ;
3192: CALL_OW 4
// Wait ( 0 0$2 ) ;
3196: LD_INT 70
3198: PPUSH
3199: CALL_OW 67
// YouLost ( GroveDed ) ;
3203: LD_STRING GroveDed
3205: PPUSH
3206: CALL_OW 104
// ExclusiveOff ;
3210: CALL_OW 5
// exit ;
3214: GO 3409
// end else
3216: GO 3409
// if un = Sweet then
3218: LD_VAR 0 1
3222: PUSH
3223: LD_INT 464
3225: EQUAL
3226: IFFALSE 3254
// begin ExclusiveOn ;
3228: CALL_OW 4
// Wait ( 0 0$2 ) ;
3232: LD_INT 70
3234: PPUSH
3235: CALL_OW 67
// YouLost ( GroveDed ) ;
3239: LD_STRING GroveDed
3241: PPUSH
3242: CALL_OW 104
// ExclusiveOff ;
3246: CALL_OW 5
// exit ;
3250: GO 3409
// end else
3252: GO 3409
// if un = Smoke then
3254: LD_VAR 0 1
3258: PUSH
3259: LD_INT 468
3261: EQUAL
3262: IFFALSE 3290
// begin ExclusiveOn ;
3264: CALL_OW 4
// Wait ( 0 0$2 ) ;
3268: LD_INT 70
3270: PPUSH
3271: CALL_OW 67
// YouLost ( GroveDed ) ;
3275: LD_STRING GroveDed
3277: PPUSH
3278: CALL_OW 104
// ExclusiveOff ;
3282: CALL_OW 5
// exit ;
3286: GO 3409
// end else
3288: GO 3409
// if un = Ryder then
3290: LD_VAR 0 1
3294: PUSH
3295: LD_INT 1008
3297: EQUAL
3298: IFFALSE 3326
// begin ExclusiveOn ;
3300: CALL_OW 4
// Wait ( 0 0$2 ) ;
3304: LD_INT 70
3306: PPUSH
3307: CALL_OW 67
// YouLost ( GroveDed ) ;
3311: LD_STRING GroveDed
3313: PPUSH
3314: CALL_OW 104
// ExclusiveOff ;
3318: CALL_OW 5
// exit ;
3322: GO 3409
// end else
3324: GO 3409
// if un = Toreno and not SideTruth then
3326: LD_VAR 0 1
3330: PUSH
3331: LD_INT 474
3333: EQUAL
3334: PUSH
3335: LD_EXP 3
3339: NOT
3340: AND
3341: IFFALSE 3369
// begin ExclusiveOn ;
3343: CALL_OW 4
// Wait ( 0 0$2 ) ;
3347: LD_INT 70
3349: PPUSH
3350: CALL_OW 67
// YouLost ( TorenoDed ) ;
3354: LD_STRING TorenoDed
3356: PPUSH
3357: CALL_OW 104
// ExclusiveOff ;
3361: CALL_OW 5
// exit ;
3365: GO 3409
// end else
3367: GO 3409
// if un = Truth and SideTruth then
3369: LD_VAR 0 1
3373: PUSH
3374: LD_INT 485
3376: EQUAL
3377: PUSH
3378: LD_EXP 3
3382: AND
3383: IFFALSE 3409
// begin ExclusiveOn ;
3385: CALL_OW 4
// Wait ( 0 0$2 ) ;
3389: LD_INT 70
3391: PPUSH
3392: CALL_OW 67
// YouLost ( TruthDed ) ;
3396: LD_STRING TruthDed
3398: PPUSH
3399: CALL_OW 104
// ExclusiveOff ;
3403: CALL_OW 5
// exit ;
3407: GO 3409
// end end ;
3409: PPOPN 1
3411: END
