// export al , rus , ar , oth ; export maxlidi ; export ars0 , ars1 , ars2 , ars3 , ars4 , ars5 , ars6 , ars7 , ars8 , ars9 , ars10 , arm0 ; export arv1_ch , arv1_wp , arm1_sk , arv2_ch , arv2_wp , arm2_sk , arv3_ch , arv3_wp , arm3_sk , arv4_ch , arv4_wp , arm4_sk , arv5_ch , arv5_wp , arm5_sk , arv6_ch , arv6_wp , arm6_sk , arv7_ch , arv7_wp , arv8_ch , arv8_wp , arv9_ch , arv9_wp , arv10_ch , arv10_wp ; export ruv0_ch , ruv0_wp , ruv1_ch , ruv1_wp , ruv2_ch , ruv2_wp , ruv3_ch , ruv3_wp , ruv4_ch , ruv4_wp , ruv5_ch , ruv5_wp , ruv6_ch , ruv6_wp , ruv7_ch , ruv7_wp , ruv8_ch , ruv8_wp ; export rumech1_sk , rumech2_sk , rumech3_sk , rumech4_sk , rumech5_sk , rumech6_sk , rumech7_sk , rumech8_sk ; export hr_auta , time2wait , delay , arab_artef_zdrh , time2destmasha_ , time2destmasha ; export koncime , debug , artef_out , base_out ; function set_vars ; begin
   0: LD_INT 0
   2: PPUSH
// al = 7 ;
   3: LD_ADDR_EXP 1
   7: PUSH
   8: LD_INT 7
  10: ST_TO_ADDR
// rus = 3 ;
  11: LD_ADDR_EXP 2
  15: PUSH
  16: LD_INT 3
  18: ST_TO_ADDR
// ar = 2 ;
  19: LD_ADDR_EXP 3
  23: PUSH
  24: LD_INT 2
  26: ST_TO_ADDR
// oth = 4 ;
  27: LD_ADDR_EXP 4
  31: PUSH
  32: LD_INT 4
  34: ST_TO_ADDR
// rusove = [ ] ;
  35: LD_ADDR_EXP 115
  39: PUSH
  40: EMPTY
  41: ST_TO_ADDR
// rusoveu = [ ] ;
  42: LD_ADDR_EXP 116
  46: PUSH
  47: EMPTY
  48: ST_TO_ADDR
// maxlidi = 13 ;
  49: LD_ADDR_EXP 5
  53: PUSH
  54: LD_INT 13
  56: ST_TO_ADDR
// burlakmet = false ;
  57: LD_ADDR_EXP 113
  61: PUSH
  62: LD_INT 0
  64: ST_TO_ADDR
// ar_base_spotted = false ;
  65: LD_ADDR_EXP 153
  69: PUSH
  70: LD_INT 0
  72: ST_TO_ADDR
// vyjednavalo_se = false ;
  73: LD_ADDR_EXP 114
  77: PUSH
  78: LD_INT 0
  80: ST_TO_ADDR
// base_out = false ;
  81: LD_ADDR_EXP 79
  85: PUSH
  86: LD_INT 0
  88: ST_TO_ADDR
// lb1 = false ;
  89: LD_ADDR_EXP 111
  93: PUSH
  94: LD_INT 0
  96: ST_TO_ADDR
// supplies = 30 ;
  97: LD_ADDR_LOC 3
 101: PUSH
 102: LD_INT 30
 104: ST_TO_ADDR
// cperiode = [ 1 1$30 , 1 1$30 , 1 1$45 ] [ difficulty ] ;
 105: LD_ADDR_LOC 2
 109: PUSH
 110: LD_INT 3150
 112: PUSH
 113: LD_INT 3150
 115: PUSH
 116: LD_INT 3675
 118: PUSH
 119: EMPTY
 120: LIST
 121: LIST
 122: LIST
 123: PUSH
 124: LD_OWVAR 67
 128: ARRAY
 129: ST_TO_ADDR
// hr_auta = [ 500 , 500 , 500 ] [ difficulty ] ;
 130: LD_ADDR_EXP 70
 134: PUSH
 135: LD_INT 500
 137: PUSH
 138: LD_INT 500
 140: PUSH
 141: LD_INT 500
 143: PUSH
 144: EMPTY
 145: LIST
 146: LIST
 147: LIST
 148: PUSH
 149: LD_OWVAR 67
 153: ARRAY
 154: ST_TO_ADDR
// time2wait = [ 3 3$0 , 1 1$30 , 0 0$30 ] [ difficulty ] ;
 155: LD_ADDR_EXP 71
 159: PUSH
 160: LD_INT 6300
 162: PUSH
 163: LD_INT 3150
 165: PUSH
 166: LD_INT 1050
 168: PUSH
 169: EMPTY
 170: LIST
 171: LIST
 172: LIST
 173: PUSH
 174: LD_OWVAR 67
 178: ARRAY
 179: ST_TO_ADDR
// arab_artef_zdrh = [ 30 30$0 , 15 15$0 , 5 5$0 ] [ difficulty ] ;
 180: LD_ADDR_EXP 73
 184: PUSH
 185: LD_INT 63000
 187: PUSH
 188: LD_INT 31500
 190: PUSH
 191: LD_INT 10500
 193: PUSH
 194: EMPTY
 195: LIST
 196: LIST
 197: LIST
 198: PUSH
 199: LD_OWVAR 67
 203: ARRAY
 204: ST_TO_ADDR
// time2destmasha = [ 10 10$0 , 7 7$0 , 5 5$0 ] [ difficulty ] ;
 205: LD_ADDR_EXP 75
 209: PUSH
 210: LD_INT 21000
 212: PUSH
 213: LD_INT 14700
 215: PUSH
 216: LD_INT 10500
 218: PUSH
 219: EMPTY
 220: LIST
 221: LIST
 222: LIST
 223: PUSH
 224: LD_OWVAR 67
 228: ARRAY
 229: ST_TO_ADDR
// ars0 = [ 3 , 5 , 7 ] [ difficulty ] ;
 230: LD_ADDR_EXP 6
 234: PUSH
 235: LD_INT 3
 237: PUSH
 238: LD_INT 5
 240: PUSH
 241: LD_INT 7
 243: PUSH
 244: EMPTY
 245: LIST
 246: LIST
 247: LIST
 248: PUSH
 249: LD_OWVAR 67
 253: ARRAY
 254: ST_TO_ADDR
// ars1 = [ 4 , 6 , 8 ] [ difficulty ] ;
 255: LD_ADDR_EXP 7
 259: PUSH
 260: LD_INT 4
 262: PUSH
 263: LD_INT 6
 265: PUSH
 266: LD_INT 8
 268: PUSH
 269: EMPTY
 270: LIST
 271: LIST
 272: LIST
 273: PUSH
 274: LD_OWVAR 67
 278: ARRAY
 279: ST_TO_ADDR
// ars2 = [ 4 , 6 , 8 ] [ difficulty ] ;
 280: LD_ADDR_EXP 8
 284: PUSH
 285: LD_INT 4
 287: PUSH
 288: LD_INT 6
 290: PUSH
 291: LD_INT 8
 293: PUSH
 294: EMPTY
 295: LIST
 296: LIST
 297: LIST
 298: PUSH
 299: LD_OWVAR 67
 303: ARRAY
 304: ST_TO_ADDR
// ars3 = [ 3 , 5 , 7 ] [ difficulty ] ;
 305: LD_ADDR_EXP 9
 309: PUSH
 310: LD_INT 3
 312: PUSH
 313: LD_INT 5
 315: PUSH
 316: LD_INT 7
 318: PUSH
 319: EMPTY
 320: LIST
 321: LIST
 322: LIST
 323: PUSH
 324: LD_OWVAR 67
 328: ARRAY
 329: ST_TO_ADDR
// ars4 = [ 5 , 7 , 9 ] [ difficulty ] ;
 330: LD_ADDR_EXP 10
 334: PUSH
 335: LD_INT 5
 337: PUSH
 338: LD_INT 7
 340: PUSH
 341: LD_INT 9
 343: PUSH
 344: EMPTY
 345: LIST
 346: LIST
 347: LIST
 348: PUSH
 349: LD_OWVAR 67
 353: ARRAY
 354: ST_TO_ADDR
// ars5 = [ 4 , 6 , 8 ] [ difficulty ] ;
 355: LD_ADDR_EXP 11
 359: PUSH
 360: LD_INT 4
 362: PUSH
 363: LD_INT 6
 365: PUSH
 366: LD_INT 8
 368: PUSH
 369: EMPTY
 370: LIST
 371: LIST
 372: LIST
 373: PUSH
 374: LD_OWVAR 67
 378: ARRAY
 379: ST_TO_ADDR
// ars6 = [ 4 , 6 , 8 ] [ difficulty ] ;
 380: LD_ADDR_EXP 12
 384: PUSH
 385: LD_INT 4
 387: PUSH
 388: LD_INT 6
 390: PUSH
 391: LD_INT 8
 393: PUSH
 394: EMPTY
 395: LIST
 396: LIST
 397: LIST
 398: PUSH
 399: LD_OWVAR 67
 403: ARRAY
 404: ST_TO_ADDR
// ars7 = [ 3 , 5 , 7 ] [ difficulty ] ;
 405: LD_ADDR_EXP 13
 409: PUSH
 410: LD_INT 3
 412: PUSH
 413: LD_INT 5
 415: PUSH
 416: LD_INT 7
 418: PUSH
 419: EMPTY
 420: LIST
 421: LIST
 422: LIST
 423: PUSH
 424: LD_OWVAR 67
 428: ARRAY
 429: ST_TO_ADDR
// ars8 = [ 4 , 6 , 8 ] [ difficulty ] ;
 430: LD_ADDR_EXP 14
 434: PUSH
 435: LD_INT 4
 437: PUSH
 438: LD_INT 6
 440: PUSH
 441: LD_INT 8
 443: PUSH
 444: EMPTY
 445: LIST
 446: LIST
 447: LIST
 448: PUSH
 449: LD_OWVAR 67
 453: ARRAY
 454: ST_TO_ADDR
// ars9 = [ 4 , 6 , 8 ] [ difficulty ] ;
 455: LD_ADDR_EXP 15
 459: PUSH
 460: LD_INT 4
 462: PUSH
 463: LD_INT 6
 465: PUSH
 466: LD_INT 8
 468: PUSH
 469: EMPTY
 470: LIST
 471: LIST
 472: LIST
 473: PUSH
 474: LD_OWVAR 67
 478: ARRAY
 479: ST_TO_ADDR
// ars10 = [ 4 , 6 , 8 ] [ difficulty ] ;
 480: LD_ADDR_EXP 16
 484: PUSH
 485: LD_INT 4
 487: PUSH
 488: LD_INT 6
 490: PUSH
 491: LD_INT 8
 493: PUSH
 494: EMPTY
 495: LIST
 496: LIST
 497: LIST
 498: PUSH
 499: LD_OWVAR 67
 503: ARRAY
 504: ST_TO_ADDR
// ruv0_ch = [ ru_medium_wheeled , ru_medium_wheeled , ru_medium_wheeled ] [ difficulty ] ;
 505: LD_ADDR_EXP 44
 509: PUSH
 510: LD_INT 21
 512: PUSH
 513: LD_INT 21
 515: PUSH
 516: LD_INT 21
 518: PUSH
 519: EMPTY
 520: LIST
 521: LIST
 522: LIST
 523: PUSH
 524: LD_OWVAR 67
 528: ARRAY
 529: ST_TO_ADDR
// ruv0_wp = [ ru_heavy_machine_gun , ru_heavy_machine_gun , ru_heavy_machine_gun ] [ difficulty ] ;
 530: LD_ADDR_EXP 45
 534: PUSH
 535: LD_INT 42
 537: PUSH
 538: LD_INT 42
 540: PUSH
 541: LD_INT 42
 543: PUSH
 544: EMPTY
 545: LIST
 546: LIST
 547: LIST
 548: PUSH
 549: LD_OWVAR 67
 553: ARRAY
 554: ST_TO_ADDR
// ruv1_ch = [ ru_medium_wheeled , ru_medium_wheeled , ru_medium_wheeled ] [ difficulty ] ;
 555: LD_ADDR_EXP 46
 559: PUSH
 560: LD_INT 21
 562: PUSH
 563: LD_INT 21
 565: PUSH
 566: LD_INT 21
 568: PUSH
 569: EMPTY
 570: LIST
 571: LIST
 572: LIST
 573: PUSH
 574: LD_OWVAR 67
 578: ARRAY
 579: ST_TO_ADDR
// ruv1_wp = [ ru_gatling_gun , ru_gatling_gun , ru_gun ] [ difficulty ] ;
 580: LD_ADDR_EXP 47
 584: PUSH
 585: LD_INT 43
 587: PUSH
 588: LD_INT 43
 590: PUSH
 591: LD_INT 44
 593: PUSH
 594: EMPTY
 595: LIST
 596: LIST
 597: LIST
 598: PUSH
 599: LD_OWVAR 67
 603: ARRAY
 604: ST_TO_ADDR
// rumech1_sk = [ 4 , 6 , 7 ] [ difficulty ] ;
 605: LD_ADDR_EXP 62
 609: PUSH
 610: LD_INT 4
 612: PUSH
 613: LD_INT 6
 615: PUSH
 616: LD_INT 7
 618: PUSH
 619: EMPTY
 620: LIST
 621: LIST
 622: LIST
 623: PUSH
 624: LD_OWVAR 67
 628: ARRAY
 629: ST_TO_ADDR
// ruv2_ch = [ ru_heavy_wheeled , ru_heavy_wheeled , ru_heavy_wheeled ] [ difficulty ] ;
 630: LD_ADDR_EXP 48
 634: PUSH
 635: LD_INT 23
 637: PUSH
 638: LD_INT 23
 640: PUSH
 641: LD_INT 23
 643: PUSH
 644: EMPTY
 645: LIST
 646: LIST
 647: LIST
 648: PUSH
 649: LD_OWVAR 67
 653: ARRAY
 654: ST_TO_ADDR
// ruv2_wp = [ ru_heavy_gun , ru_heavy_gun , ru_heavy_gun ] [ difficulty ] ;
 655: LD_ADDR_EXP 49
 659: PUSH
 660: LD_INT 46
 662: PUSH
 663: LD_INT 46
 665: PUSH
 666: LD_INT 46
 668: PUSH
 669: EMPTY
 670: LIST
 671: LIST
 672: LIST
 673: PUSH
 674: LD_OWVAR 67
 678: ARRAY
 679: ST_TO_ADDR
// rumech2_sk = [ 3 , 5 , 7 ] [ difficulty ] ;
 680: LD_ADDR_EXP 63
 684: PUSH
 685: LD_INT 3
 687: PUSH
 688: LD_INT 5
 690: PUSH
 691: LD_INT 7
 693: PUSH
 694: EMPTY
 695: LIST
 696: LIST
 697: LIST
 698: PUSH
 699: LD_OWVAR 67
 703: ARRAY
 704: ST_TO_ADDR
// ruv3_ch = [ ru_medium_tracked , ru_medium_tracked , ru_medium_tracked ] [ difficulty ] ;
 705: LD_ADDR_EXP 50
 709: PUSH
 710: LD_INT 22
 712: PUSH
 713: LD_INT 22
 715: PUSH
 716: LD_INT 22
 718: PUSH
 719: EMPTY
 720: LIST
 721: LIST
 722: LIST
 723: PUSH
 724: LD_OWVAR 67
 728: ARRAY
 729: ST_TO_ADDR
// ruv3_wp = [ ru_gatling_gun , ru_gatling_gun , ru_gatling_gun ] [ difficulty ] ;
 730: LD_ADDR_EXP 51
 734: PUSH
 735: LD_INT 43
 737: PUSH
 738: LD_INT 43
 740: PUSH
 741: LD_INT 43
 743: PUSH
 744: EMPTY
 745: LIST
 746: LIST
 747: LIST
 748: PUSH
 749: LD_OWVAR 67
 753: ARRAY
 754: ST_TO_ADDR
// rumech3_sk = [ 5 , 7 , 9 ] [ difficulty ] ;
 755: LD_ADDR_EXP 64
 759: PUSH
 760: LD_INT 5
 762: PUSH
 763: LD_INT 7
 765: PUSH
 766: LD_INT 9
 768: PUSH
 769: EMPTY
 770: LIST
 771: LIST
 772: LIST
 773: PUSH
 774: LD_OWVAR 67
 778: ARRAY
 779: ST_TO_ADDR
// ruv4_ch = [ ru_medium_wheeled , ru_medium_wheeled , ru_medium_tracked ] [ difficulty ] ;
 780: LD_ADDR_EXP 52
 784: PUSH
 785: LD_INT 21
 787: PUSH
 788: LD_INT 21
 790: PUSH
 791: LD_INT 22
 793: PUSH
 794: EMPTY
 795: LIST
 796: LIST
 797: LIST
 798: PUSH
 799: LD_OWVAR 67
 803: ARRAY
 804: ST_TO_ADDR
// ruv4_wp = [ ru_gatling_gun , ru_gatling_gun , ru_gatling_gun ] [ difficulty ] ;
 805: LD_ADDR_EXP 53
 809: PUSH
 810: LD_INT 43
 812: PUSH
 813: LD_INT 43
 815: PUSH
 816: LD_INT 43
 818: PUSH
 819: EMPTY
 820: LIST
 821: LIST
 822: LIST
 823: PUSH
 824: LD_OWVAR 67
 828: ARRAY
 829: ST_TO_ADDR
// rumech4_sk = [ 4 , 6 , 8 ] [ difficulty ] ;
 830: LD_ADDR_EXP 65
 834: PUSH
 835: LD_INT 4
 837: PUSH
 838: LD_INT 6
 840: PUSH
 841: LD_INT 8
 843: PUSH
 844: EMPTY
 845: LIST
 846: LIST
 847: LIST
 848: PUSH
 849: LD_OWVAR 67
 853: ARRAY
 854: ST_TO_ADDR
// ruv5_ch = [ ru_heavy_wheeled , ru_heavy_wheeled , ru_heavy_wheeled ] [ difficulty ] ;
 855: LD_ADDR_EXP 54
 859: PUSH
 860: LD_INT 23
 862: PUSH
 863: LD_INT 23
 865: PUSH
 866: LD_INT 23
 868: PUSH
 869: EMPTY
 870: LIST
 871: LIST
 872: LIST
 873: PUSH
 874: LD_OWVAR 67
 878: ARRAY
 879: ST_TO_ADDR
// ruv5_wp = [ ru_gun , ru_heavy_gun , ru_heavy_gun ] [ difficulty ] ;
 880: LD_ADDR_EXP 55
 884: PUSH
 885: LD_INT 44
 887: PUSH
 888: LD_INT 46
 890: PUSH
 891: LD_INT 46
 893: PUSH
 894: EMPTY
 895: LIST
 896: LIST
 897: LIST
 898: PUSH
 899: LD_OWVAR 67
 903: ARRAY
 904: ST_TO_ADDR
// rumech5_sk = [ 4 , 5 , 8 ] [ difficulty ] ;
 905: LD_ADDR_EXP 66
 909: PUSH
 910: LD_INT 4
 912: PUSH
 913: LD_INT 5
 915: PUSH
 916: LD_INT 8
 918: PUSH
 919: EMPTY
 920: LIST
 921: LIST
 922: LIST
 923: PUSH
 924: LD_OWVAR 67
 928: ARRAY
 929: ST_TO_ADDR
// ruv6_ch = [ ru_medium_tracked , ru_medium_tracked , ru_medium_tracked ] [ difficulty ] ;
 930: LD_ADDR_EXP 56
 934: PUSH
 935: LD_INT 22
 937: PUSH
 938: LD_INT 22
 940: PUSH
 941: LD_INT 22
 943: PUSH
 944: EMPTY
 945: LIST
 946: LIST
 947: LIST
 948: PUSH
 949: LD_OWVAR 67
 953: ARRAY
 954: ST_TO_ADDR
// ruv6_wp = [ ru_rocket_launcher , ru_rocket_launcher , ru_rocket_launcher ] [ difficulty ] ;
 955: LD_ADDR_EXP 57
 959: PUSH
 960: LD_INT 45
 962: PUSH
 963: LD_INT 45
 965: PUSH
 966: LD_INT 45
 968: PUSH
 969: EMPTY
 970: LIST
 971: LIST
 972: LIST
 973: PUSH
 974: LD_OWVAR 67
 978: ARRAY
 979: ST_TO_ADDR
// rumech6_sk = [ 4 , 7 , 9 ] [ difficulty ] ;
 980: LD_ADDR_EXP 67
 984: PUSH
 985: LD_INT 4
 987: PUSH
 988: LD_INT 7
 990: PUSH
 991: LD_INT 9
 993: PUSH
 994: EMPTY
 995: LIST
 996: LIST
 997: LIST
 998: PUSH
 999: LD_OWVAR 67
1003: ARRAY
1004: ST_TO_ADDR
// ruv7_ch = [ ru_medium_tracked , ru_medium_tracked , ru_medium_tracked ] [ difficulty ] ;
1005: LD_ADDR_EXP 58
1009: PUSH
1010: LD_INT 22
1012: PUSH
1013: LD_INT 22
1015: PUSH
1016: LD_INT 22
1018: PUSH
1019: EMPTY
1020: LIST
1021: LIST
1022: LIST
1023: PUSH
1024: LD_OWVAR 67
1028: ARRAY
1029: ST_TO_ADDR
// ruv7_wp = [ ru_gun , ru_gun , ru_gun ] [ difficulty ] ;
1030: LD_ADDR_EXP 59
1034: PUSH
1035: LD_INT 44
1037: PUSH
1038: LD_INT 44
1040: PUSH
1041: LD_INT 44
1043: PUSH
1044: EMPTY
1045: LIST
1046: LIST
1047: LIST
1048: PUSH
1049: LD_OWVAR 67
1053: ARRAY
1054: ST_TO_ADDR
// rumech7_sk = [ 5 , 7 , 9 ] [ difficulty ] ;
1055: LD_ADDR_EXP 68
1059: PUSH
1060: LD_INT 5
1062: PUSH
1063: LD_INT 7
1065: PUSH
1066: LD_INT 9
1068: PUSH
1069: EMPTY
1070: LIST
1071: LIST
1072: LIST
1073: PUSH
1074: LD_OWVAR 67
1078: ARRAY
1079: ST_TO_ADDR
// ruv8_ch = [ ru_medium_wheeled , ru_heavy_wheeled , ru_heavy_tracked ] [ difficulty ] ;
1080: LD_ADDR_EXP 60
1084: PUSH
1085: LD_INT 21
1087: PUSH
1088: LD_INT 23
1090: PUSH
1091: LD_INT 24
1093: PUSH
1094: EMPTY
1095: LIST
1096: LIST
1097: LIST
1098: PUSH
1099: LD_OWVAR 67
1103: ARRAY
1104: ST_TO_ADDR
// ruv8_wp = [ ru_gatling_gun , ru_gatling_gun , ru_gatling_gun ] [ difficulty ] ;
1105: LD_ADDR_EXP 61
1109: PUSH
1110: LD_INT 43
1112: PUSH
1113: LD_INT 43
1115: PUSH
1116: LD_INT 43
1118: PUSH
1119: EMPTY
1120: LIST
1121: LIST
1122: LIST
1123: PUSH
1124: LD_OWVAR 67
1128: ARRAY
1129: ST_TO_ADDR
// rumech8_sk = [ 5 , 7 , 8 ] [ difficulty ] ;
1130: LD_ADDR_EXP 69
1134: PUSH
1135: LD_INT 5
1137: PUSH
1138: LD_INT 7
1140: PUSH
1141: LD_INT 8
1143: PUSH
1144: EMPTY
1145: LIST
1146: LIST
1147: LIST
1148: PUSH
1149: LD_OWVAR 67
1153: ARRAY
1154: ST_TO_ADDR
// arm0 = [ 6 , 8 , 10 ] [ difficulty ] ;
1155: LD_ADDR_EXP 17
1159: PUSH
1160: LD_INT 6
1162: PUSH
1163: LD_INT 8
1165: PUSH
1166: LD_INT 10
1168: PUSH
1169: EMPTY
1170: LIST
1171: LIST
1172: LIST
1173: PUSH
1174: LD_OWVAR 67
1178: ARRAY
1179: ST_TO_ADDR
// arv1_ch = [ ar_medium_trike , ar_half_tracked , ar_half_tracked ] [ difficulty ] ;
1180: LD_ADDR_EXP 18
1184: PUSH
1185: LD_INT 13
1187: PUSH
1188: LD_INT 14
1190: PUSH
1191: LD_INT 14
1193: PUSH
1194: EMPTY
1195: LIST
1196: LIST
1197: LIST
1198: PUSH
1199: LD_OWVAR 67
1203: ARRAY
1204: ST_TO_ADDR
// arv1_wp = [ ar_flame_thrower , ar_flame_thrower , ar_flame_thrower ] [ difficulty ] ;
1205: LD_ADDR_EXP 19
1209: PUSH
1210: LD_INT 26
1212: PUSH
1213: LD_INT 26
1215: PUSH
1216: LD_INT 26
1218: PUSH
1219: EMPTY
1220: LIST
1221: LIST
1222: LIST
1223: PUSH
1224: LD_OWVAR 67
1228: ARRAY
1229: ST_TO_ADDR
// arm1_sk = [ 3 , 6 , 8 ] [ difficulty ] ;
1230: LD_ADDR_EXP 20
1234: PUSH
1235: LD_INT 3
1237: PUSH
1238: LD_INT 6
1240: PUSH
1241: LD_INT 8
1243: PUSH
1244: EMPTY
1245: LIST
1246: LIST
1247: LIST
1248: PUSH
1249: LD_OWVAR 67
1253: ARRAY
1254: ST_TO_ADDR
// arv2_ch = [ ar_medium_trike , ar_medium_trike , ar_medium_trike ] [ difficulty ] ;
1255: LD_ADDR_EXP 21
1259: PUSH
1260: LD_INT 13
1262: PUSH
1263: LD_INT 13
1265: PUSH
1266: LD_INT 13
1268: PUSH
1269: EMPTY
1270: LIST
1271: LIST
1272: LIST
1273: PUSH
1274: LD_OWVAR 67
1278: ARRAY
1279: ST_TO_ADDR
// arv2_wp = [ ar_double_machine_gun , ar_gatling_gun , ar_gatling_gun ] [ difficulty ] ;
1280: LD_ADDR_EXP 22
1284: PUSH
1285: LD_INT 24
1287: PUSH
1288: LD_INT 25
1290: PUSH
1291: LD_INT 25
1293: PUSH
1294: EMPTY
1295: LIST
1296: LIST
1297: LIST
1298: PUSH
1299: LD_OWVAR 67
1303: ARRAY
1304: ST_TO_ADDR
// arm2_sk = [ 4 , 6 , 9 ] [ difficulty ] ;
1305: LD_ADDR_EXP 23
1309: PUSH
1310: LD_INT 4
1312: PUSH
1313: LD_INT 6
1315: PUSH
1316: LD_INT 9
1318: PUSH
1319: EMPTY
1320: LIST
1321: LIST
1322: LIST
1323: PUSH
1324: LD_OWVAR 67
1328: ARRAY
1329: ST_TO_ADDR
// arv3_ch = [ ar_medium_trike , ar_half_tracked , ar_half_tracked ] [ difficulty ] ;
1330: LD_ADDR_EXP 24
1334: PUSH
1335: LD_INT 13
1337: PUSH
1338: LD_INT 14
1340: PUSH
1341: LD_INT 14
1343: PUSH
1344: EMPTY
1345: LIST
1346: LIST
1347: LIST
1348: PUSH
1349: LD_OWVAR 67
1353: ARRAY
1354: ST_TO_ADDR
// arv3_wp = [ ar_gun , ar_gun , ar_gun ] [ difficulty ] ;
1355: LD_ADDR_EXP 25
1359: PUSH
1360: LD_INT 27
1362: PUSH
1363: LD_INT 27
1365: PUSH
1366: LD_INT 27
1368: PUSH
1369: EMPTY
1370: LIST
1371: LIST
1372: LIST
1373: PUSH
1374: LD_OWVAR 67
1378: ARRAY
1379: ST_TO_ADDR
// arm3_sk = [ 4 , 6 , 8 ] [ difficulty ] ;
1380: LD_ADDR_EXP 26
1384: PUSH
1385: LD_INT 4
1387: PUSH
1388: LD_INT 6
1390: PUSH
1391: LD_INT 8
1393: PUSH
1394: EMPTY
1395: LIST
1396: LIST
1397: LIST
1398: PUSH
1399: LD_OWVAR 67
1403: ARRAY
1404: ST_TO_ADDR
// arv4_ch = [ ar_medium_trike , ar_medium_trike , ar_half_tracked ] [ difficulty ] ;
1405: LD_ADDR_EXP 27
1409: PUSH
1410: LD_INT 13
1412: PUSH
1413: LD_INT 13
1415: PUSH
1416: LD_INT 14
1418: PUSH
1419: EMPTY
1420: LIST
1421: LIST
1422: LIST
1423: PUSH
1424: LD_OWVAR 67
1428: ARRAY
1429: ST_TO_ADDR
// arv4_wp = [ ar_double_machine_gun , ar_gatling_gun , ar_gatling_gun ] [ difficulty ] ;
1430: LD_ADDR_EXP 28
1434: PUSH
1435: LD_INT 24
1437: PUSH
1438: LD_INT 25
1440: PUSH
1441: LD_INT 25
1443: PUSH
1444: EMPTY
1445: LIST
1446: LIST
1447: LIST
1448: PUSH
1449: LD_OWVAR 67
1453: ARRAY
1454: ST_TO_ADDR
// arm4_sk = [ 4 , 6 , 8 ] [ difficulty ] ;
1455: LD_ADDR_EXP 29
1459: PUSH
1460: LD_INT 4
1462: PUSH
1463: LD_INT 6
1465: PUSH
1466: LD_INT 8
1468: PUSH
1469: EMPTY
1470: LIST
1471: LIST
1472: LIST
1473: PUSH
1474: LD_OWVAR 67
1478: ARRAY
1479: ST_TO_ADDR
// arv5_ch = [ ar_hovercraft , ar_hovercraft , ar_hovercraft ] [ difficulty ] ;
1480: LD_ADDR_EXP 30
1484: PUSH
1485: LD_INT 11
1487: PUSH
1488: LD_INT 11
1490: PUSH
1491: LD_INT 11
1493: PUSH
1494: EMPTY
1495: LIST
1496: LIST
1497: LIST
1498: PUSH
1499: LD_OWVAR 67
1503: ARRAY
1504: ST_TO_ADDR
// arv5_wp = [ ar_multimissile_ballista , ar_double_machine_gun , ar_double_machine_gun ] [ difficulty ] ;
1505: LD_ADDR_EXP 31
1509: PUSH
1510: LD_INT 22
1512: PUSH
1513: LD_INT 24
1515: PUSH
1516: LD_INT 24
1518: PUSH
1519: EMPTY
1520: LIST
1521: LIST
1522: LIST
1523: PUSH
1524: LD_OWVAR 67
1528: ARRAY
1529: ST_TO_ADDR
// arm5_sk = [ 5 , 7 , 9 ] [ difficulty ] ;
1530: LD_ADDR_EXP 32
1534: PUSH
1535: LD_INT 5
1537: PUSH
1538: LD_INT 7
1540: PUSH
1541: LD_INT 9
1543: PUSH
1544: EMPTY
1545: LIST
1546: LIST
1547: LIST
1548: PUSH
1549: LD_OWVAR 67
1553: ARRAY
1554: ST_TO_ADDR
// arv6_ch = [ ar_medium_trike , ar_medium_trike , ar_half_tracked ] [ difficulty ] ;
1555: LD_ADDR_EXP 33
1559: PUSH
1560: LD_INT 13
1562: PUSH
1563: LD_INT 13
1565: PUSH
1566: LD_INT 14
1568: PUSH
1569: EMPTY
1570: LIST
1571: LIST
1572: LIST
1573: PUSH
1574: LD_OWVAR 67
1578: ARRAY
1579: ST_TO_ADDR
// arv6_wp = [ ar_double_machine_gun , ar_gatling_gun , ar_gatling_gun ] [ difficulty ] ;
1580: LD_ADDR_EXP 34
1584: PUSH
1585: LD_INT 24
1587: PUSH
1588: LD_INT 25
1590: PUSH
1591: LD_INT 25
1593: PUSH
1594: EMPTY
1595: LIST
1596: LIST
1597: LIST
1598: PUSH
1599: LD_OWVAR 67
1603: ARRAY
1604: ST_TO_ADDR
// arm6_sk = [ 4 , 6 , 8 ] [ difficulty ] ;
1605: LD_ADDR_EXP 35
1609: PUSH
1610: LD_INT 4
1612: PUSH
1613: LD_INT 6
1615: PUSH
1616: LD_INT 8
1618: PUSH
1619: EMPTY
1620: LIST
1621: LIST
1622: LIST
1623: PUSH
1624: LD_OWVAR 67
1628: ARRAY
1629: ST_TO_ADDR
// arv7_ch = [ 0 , ar_medium_trike , ar_half_tracked ] [ difficulty ] ;
1630: LD_ADDR_EXP 36
1634: PUSH
1635: LD_INT 0
1637: PUSH
1638: LD_INT 13
1640: PUSH
1641: LD_INT 14
1643: PUSH
1644: EMPTY
1645: LIST
1646: LIST
1647: LIST
1648: PUSH
1649: LD_OWVAR 67
1653: ARRAY
1654: ST_TO_ADDR
// arv7_wp = [ 0 , ar_rocket_launcher , ar_rocket_launcher ] [ difficulty ] ;
1655: LD_ADDR_EXP 37
1659: PUSH
1660: LD_INT 0
1662: PUSH
1663: LD_INT 28
1665: PUSH
1666: LD_INT 28
1668: PUSH
1669: EMPTY
1670: LIST
1671: LIST
1672: LIST
1673: PUSH
1674: LD_OWVAR 67
1678: ARRAY
1679: ST_TO_ADDR
// arv8_ch = [ 0 , ar_medium_trike , ar_half_tracked ] [ difficulty ] ;
1680: LD_ADDR_EXP 38
1684: PUSH
1685: LD_INT 0
1687: PUSH
1688: LD_INT 13
1690: PUSH
1691: LD_INT 14
1693: PUSH
1694: EMPTY
1695: LIST
1696: LIST
1697: LIST
1698: PUSH
1699: LD_OWVAR 67
1703: ARRAY
1704: ST_TO_ADDR
// arv8_wp = [ 0 , ar_gun , ar_gun ] [ difficulty ] ;
1705: LD_ADDR_EXP 39
1709: PUSH
1710: LD_INT 0
1712: PUSH
1713: LD_INT 27
1715: PUSH
1716: LD_INT 27
1718: PUSH
1719: EMPTY
1720: LIST
1721: LIST
1722: LIST
1723: PUSH
1724: LD_OWVAR 67
1728: ARRAY
1729: ST_TO_ADDR
// arv9_ch = ar_half_tracked ;
1730: LD_ADDR_EXP 40
1734: PUSH
1735: LD_INT 14
1737: ST_TO_ADDR
// arv9_wp = ar_flame_thrower ;
1738: LD_ADDR_EXP 41
1742: PUSH
1743: LD_INT 26
1745: ST_TO_ADDR
// arv10_ch = ar_medium_trike ;
1746: LD_ADDR_EXP 42
1750: PUSH
1751: LD_INT 13
1753: ST_TO_ADDR
// arv10_wp = ar_flame_thrower ;
1754: LD_ADDR_EXP 43
1758: PUSH
1759: LD_INT 26
1761: ST_TO_ADDR
// setblevel ( [ arbunk0 , arbunk1 , arbunk2 , arbunk3 , arbunk4 , arbunk5 ] , [ 5 , 7 , 9 ] [ difficulty ] ) ;
1762: LD_INT 14
1764: PUSH
1765: LD_INT 15
1767: PUSH
1768: LD_INT 13
1770: PUSH
1771: LD_INT 16
1773: PUSH
1774: LD_INT 17
1776: PUSH
1777: LD_INT 18
1779: PUSH
1780: EMPTY
1781: LIST
1782: LIST
1783: LIST
1784: LIST
1785: LIST
1786: LIST
1787: PPUSH
1788: LD_INT 5
1790: PUSH
1791: LD_INT 7
1793: PUSH
1794: LD_INT 9
1796: PUSH
1797: EMPTY
1798: LIST
1799: LIST
1800: LIST
1801: PUSH
1802: LD_OWVAR 67
1806: ARRAY
1807: PPUSH
1808: CALL_OW 241
// setblevel ( [ arbarr ] , [ 4 , 6 , 8 ] [ difficulty ] ) ;
1812: LD_INT 2
1814: PUSH
1815: EMPTY
1816: LIST
1817: PPUSH
1818: LD_INT 4
1820: PUSH
1821: LD_INT 6
1823: PUSH
1824: LD_INT 8
1826: PUSH
1827: EMPTY
1828: LIST
1829: LIST
1830: LIST
1831: PUSH
1832: LD_OWVAR 67
1836: ARRAY
1837: PPUSH
1838: CALL_OW 241
// time2destmasha_ = time2destmasha ;
1842: LD_ADDR_EXP 74
1846: PUSH
1847: LD_EXP 75
1851: ST_TO_ADDR
// end ;
1852: LD_VAR 0 1
1856: RET
// starting begin debug = false ;
1857: LD_ADDR_EXP 77
1861: PUSH
1862: LD_INT 0
1864: ST_TO_ADDR
// koncime = false ;
1865: LD_ADDR_EXP 76
1869: PUSH
1870: LD_INT 0
1872: ST_TO_ADDR
// set_vars ;
1873: CALL 0 0 0
// cper = cperiode ;
1877: LD_ADDR_LOC 1
1881: PUSH
1882: LD_LOC 2
1886: ST_TO_ADDR
// delay = time2wait ;
1887: LD_ADDR_EXP 72
1891: PUSH
1892: LD_EXP 71
1896: ST_TO_ADDR
// artef_out = false ;
1897: LD_ADDR_EXP 78
1901: PUSH
1902: LD_INT 0
1904: ST_TO_ADDR
// disable ( 01 ) ;
1905: LD_INT 1
1907: DISABLE_MARKED
// disable ( 02 ) ;
1908: LD_INT 2
1910: DISABLE_MARKED
// disable ( 03 ) ;
1911: LD_INT 3
1913: DISABLE_MARKED
// disable ( 04 ) ;
1914: LD_INT 4
1916: DISABLE_MARKED
// disable ( 05 ) ;
1917: LD_INT 5
1919: DISABLE_MARKED
// disable ( 07 ) ;
1920: LD_INT 7
1922: DISABLE_MARKED
// disable ( 09 ) ;
1923: LD_INT 9
1925: DISABLE_MARKED
// disable ( 10 ) ;
1926: LD_INT 10
1928: DISABLE_MARKED
// disable ( 12 ) ;
1929: LD_INT 12
1931: DISABLE_MARKED
// disable ( 13 ) ;
1932: LD_INT 13
1934: DISABLE_MARKED
// disable ( 14 ) ;
1935: LD_INT 14
1937: DISABLE_MARKED
// disable ( 15 ) ;
1938: LD_INT 15
1940: DISABLE_MARKED
// disable ( 37 ) ;
1941: LD_INT 37
1943: DISABLE_MARKED
// revealfogarea ( al , revfog ) ;
1944: LD_EXP 1
1948: PPUSH
1949: LD_INT 8
1951: PPUSH
1952: CALL_OW 332
// if debug then
1956: LD_EXP 77
1960: IFFALSE 1969
// msg ( Bacha debug je on! ) ;
1962: LD_STRING Bacha debug je on!
1964: PPUSH
1965: CALL_OW 100
// prepare_arabians ;
1969: CALL 10882 0 0
// prepare_americans ;
1973: CALL 2153 0 0
// end ;
1977: END
// var cper , cperiode , supplies ; every 0 0$15 + 0 0$45 do
1978: GO 1980
1980: DISABLE
// begin cper = cper - 0 0$15 ;
1981: LD_ADDR_LOC 1
1985: PUSH
1986: LD_LOC 1
1990: PUSH
1991: LD_INT 525
1993: MINUS
1994: ST_TO_ADDR
// if cper = 0 then
1995: LD_LOC 1
1999: PUSH
2000: LD_INT 0
2002: EQUAL
2003: IFFALSE 2055
// begin createcratesarea ( 5 , dropzone , true ) ;
2005: LD_INT 5
2007: PPUSH
2008: LD_INT 1
2010: PPUSH
2011: LD_INT 1
2013: PPUSH
2014: CALL_OW 55
// if ( supplies > 1 ) then
2018: LD_LOC 3
2022: PUSH
2023: LD_INT 1
2025: GREATER
2026: IFFALSE 2043
// begin supplies = supplies - 1 ;
2028: LD_ADDR_LOC 3
2032: PUSH
2033: LD_LOC 3
2037: PUSH
2038: LD_INT 1
2040: MINUS
2041: ST_TO_ADDR
// enable ;
2042: ENABLE
// end ; cper = cperiode ;
2043: LD_ADDR_LOC 1
2047: PUSH
2048: LD_LOC 2
2052: ST_TO_ADDR
// end else
2053: GO 2056
// enable ;
2055: ENABLE
// end ;
2056: END
// every 0 0$7 do
2057: GO 2059
2059: DISABLE
// begin randomize ;
2060: CALL_OW 10
// if debug then
2064: LD_EXP 77
2068: IFFALSE 2083
// debug_strings = [ cper ] ;
2070: LD_ADDR_OWVAR 48
2074: PUSH
2075: LD_LOC 1
2079: PUSH
2080: EMPTY
2081: LIST
2082: ST_TO_ADDR
// enable ;
2083: ENABLE
// end ;
2084: END
// every 0 0$20 do
2085: GO 2087
2087: DISABLE
// createcratesarea ( 5 , stred , true ) ;
2088: LD_INT 5
2090: PPUSH
2091: LD_INT 2
2093: PPUSH
2094: LD_INT 1
2096: PPUSH
2097: CALL_OW 55
2101: END
// every 0 0$30 do
2102: GO 2104
2104: DISABLE
// createcratesarea ( 5 , stred , true ) ;
2105: LD_INT 5
2107: PPUSH
2108: LD_INT 2
2110: PPUSH
2111: LD_INT 1
2113: PPUSH
2114: CALL_OW 55
2118: END
// every 0 0$45 do
2119: GO 2121
2121: DISABLE
// createcratesarea ( 5 , stred , true ) ;
2122: LD_INT 5
2124: PPUSH
2125: LD_INT 2
2127: PPUSH
2128: LD_INT 1
2130: PPUSH
2131: CALL_OW 55
2135: END
// every 0 0$55 do
2136: GO 2138
2138: DISABLE
// createcratesarea ( 5 , stred , true ) ; end_of_file
2139: LD_INT 5
2141: PPUSH
2142: LD_INT 2
2144: PPUSH
2145: LD_INT 1
2147: PPUSH
2148: CALL_OW 55
2152: END
// export john , roth , joan , bobby , cyrus , lisa , frank , markc , tim , denis , yamoko , gary , simms , zbytekze12 ; export brown , lucy ; var plidi ; export function prepare_americans ; var tmp , old_al , lidi ; begin
2153: LD_INT 0
2155: PPUSH
2156: PPUSH
2157: PPUSH
2158: PPUSH
// uc_side = al ;
2159: LD_ADDR_OWVAR 20
2163: PUSH
2164: LD_EXP 1
2168: ST_TO_ADDR
// old_al = 7 ;
2169: LD_ADDR_VAR 0 3
2173: PUSH
2174: LD_INT 7
2176: ST_TO_ADDR
// if checkcharacterset ( JMM ) then
2177: LD_STRING JMM
2179: PPUSH
2180: CALL_OW 29
2184: IFFALSE 2204
// john = createcharacterwithclass ( JMM , class_engineer ) else
2186: LD_ADDR_EXP 80
2190: PUSH
2191: LD_STRING JMM
2193: PPUSH
2194: LD_INT 2
2196: PPUSH
2197: CALL_OW 35
2201: ST_TO_ADDR
2202: GO 2217
// buildquery ( neny JMM , [ OK ] ) ;
2204: LD_STRING neny JMM
2206: PPUSH
2207: LD_STRING OK
2209: PUSH
2210: EMPTY
2211: LIST
2212: PPUSH
2213: CALL_OW 99
// placeunitxyr ( john , 62 , 25 , 3 , false ) ;
2217: LD_EXP 80
2221: PPUSH
2222: LD_INT 62
2224: PPUSH
2225: LD_INT 25
2227: PPUSH
2228: LD_INT 3
2230: PPUSH
2231: LD_INT 0
2233: PPUSH
2234: CALL_OW 50
// roth = newcharacter ( Roth ) ;
2238: LD_ADDR_EXP 81
2242: PUSH
2243: LD_STRING Roth
2245: PPUSH
2246: CALL_OW 25
2250: ST_TO_ADDR
// if not roth then
2251: LD_EXP 81
2255: NOT
2256: IFFALSE 2271
// buildquery ( neny Roth , [ OK ] ) ;
2258: LD_STRING neny Roth
2260: PPUSH
2261: LD_STRING OK
2263: PUSH
2264: EMPTY
2265: LIST
2266: PPUSH
2267: CALL_OW 99
// placeunitxyr ( roth , 62 , 25 , 3 , false ) ;
2271: LD_EXP 81
2275: PPUSH
2276: LD_INT 62
2278: PPUSH
2279: LD_INT 25
2281: PPUSH
2282: LD_INT 3
2284: PPUSH
2285: LD_INT 0
2287: PPUSH
2288: CALL_OW 50
// joan = 0 ;
2292: LD_ADDR_EXP 82
2296: PUSH
2297: LD_INT 0
2299: ST_TO_ADDR
// if checkcharacterset ( Joan ) then
2300: LD_STRING Joan
2302: PPUSH
2303: CALL_OW 29
2307: IFFALSE 2396
// begin if testvariable ( joan_side ) then
2309: LD_STRING joan_side
2311: PPUSH
2312: CALL_OW 27
2316: IFFALSE 2337
// tmp = loadvariable ( joan_side , - 1 ) else
2318: LD_ADDR_VAR 0 2
2322: PUSH
2323: LD_STRING joan_side
2325: PPUSH
2326: LD_INT 1
2328: NEG
2329: PPUSH
2330: CALL_OW 30
2334: ST_TO_ADDR
2335: GO 2350
// buildquery ( neny joan_side , [ OK ] ) ;
2337: LD_STRING neny joan_side
2339: PPUSH
2340: LD_STRING OK
2342: PUSH
2343: EMPTY
2344: LIST
2345: PPUSH
2346: CALL_OW 99
// if tmp = old_al then
2350: LD_VAR 0 2
2354: PUSH
2355: LD_VAR 0 3
2359: EQUAL
2360: IFFALSE 2375
// joan = createcharacter ( Joan ) ;
2362: LD_ADDR_EXP 82
2366: PUSH
2367: LD_STRING Joan
2369: PPUSH
2370: CALL_OW 34
2374: ST_TO_ADDR
// placeunitxyr ( joan , 62 , 25 , 3 , false ) ;
2375: LD_EXP 82
2379: PPUSH
2380: LD_INT 62
2382: PPUSH
2383: LD_INT 25
2385: PPUSH
2386: LD_INT 3
2388: PPUSH
2389: LD_INT 0
2391: PPUSH
2392: CALL_OW 50
// end ; bobby = 0 ;
2396: LD_ADDR_EXP 83
2400: PUSH
2401: LD_INT 0
2403: ST_TO_ADDR
// if checkcharacterset ( Bobby ) then
2404: LD_STRING Bobby
2406: PPUSH
2407: CALL_OW 29
2411: IFFALSE 2500
// begin if testvariable ( bobby_side ) then
2413: LD_STRING bobby_side
2415: PPUSH
2416: CALL_OW 27
2420: IFFALSE 2441
// tmp = loadvariable ( bobby_side , - 1 ) else
2422: LD_ADDR_VAR 0 2
2426: PUSH
2427: LD_STRING bobby_side
2429: PPUSH
2430: LD_INT 1
2432: NEG
2433: PPUSH
2434: CALL_OW 30
2438: ST_TO_ADDR
2439: GO 2454
// buildquery ( neny bobby_side , [ OK ] ) ;
2441: LD_STRING neny bobby_side
2443: PPUSH
2444: LD_STRING OK
2446: PUSH
2447: EMPTY
2448: LIST
2449: PPUSH
2450: CALL_OW 99
// if tmp = old_al then
2454: LD_VAR 0 2
2458: PUSH
2459: LD_VAR 0 3
2463: EQUAL
2464: IFFALSE 2479
// bobby = createcharacter ( Bobby ) ;
2466: LD_ADDR_EXP 83
2470: PUSH
2471: LD_STRING Bobby
2473: PPUSH
2474: CALL_OW 34
2478: ST_TO_ADDR
// placeunitxyr ( bobby , 62 , 25 , 3 , false ) ;
2479: LD_EXP 83
2483: PPUSH
2484: LD_INT 62
2486: PPUSH
2487: LD_INT 25
2489: PPUSH
2490: LD_INT 3
2492: PPUSH
2493: LD_INT 0
2495: PPUSH
2496: CALL_OW 50
// end ; cyrus = 0 ;
2500: LD_ADDR_EXP 84
2504: PUSH
2505: LD_INT 0
2507: ST_TO_ADDR
// if checkcharacterset ( Cyrus ) then
2508: LD_STRING Cyrus
2510: PPUSH
2511: CALL_OW 29
2515: IFFALSE 2604
// begin if testvariable ( cyrus_side ) then
2517: LD_STRING cyrus_side
2519: PPUSH
2520: CALL_OW 27
2524: IFFALSE 2545
// tmp = loadvariable ( cyrus_side , - 1 ) else
2526: LD_ADDR_VAR 0 2
2530: PUSH
2531: LD_STRING cyrus_side
2533: PPUSH
2534: LD_INT 1
2536: NEG
2537: PPUSH
2538: CALL_OW 30
2542: ST_TO_ADDR
2543: GO 2558
// buildquery ( neny cyrus_side , [ OK ] ) ;
2545: LD_STRING neny cyrus_side
2547: PPUSH
2548: LD_STRING OK
2550: PUSH
2551: EMPTY
2552: LIST
2553: PPUSH
2554: CALL_OW 99
// if tmp = old_al then
2558: LD_VAR 0 2
2562: PUSH
2563: LD_VAR 0 3
2567: EQUAL
2568: IFFALSE 2583
// cyrus = createcharacter ( Cyrus ) ;
2570: LD_ADDR_EXP 84
2574: PUSH
2575: LD_STRING Cyrus
2577: PPUSH
2578: CALL_OW 34
2582: ST_TO_ADDR
// placeunitxyr ( cyrus , 62 , 25 , 3 , false ) ;
2583: LD_EXP 84
2587: PPUSH
2588: LD_INT 62
2590: PPUSH
2591: LD_INT 25
2593: PPUSH
2594: LD_INT 3
2596: PPUSH
2597: LD_INT 0
2599: PPUSH
2600: CALL_OW 50
// end ; lisa = 0 ;
2604: LD_ADDR_EXP 85
2608: PUSH
2609: LD_INT 0
2611: ST_TO_ADDR
// if checkcharacterset ( Lisa ) then
2612: LD_STRING Lisa
2614: PPUSH
2615: CALL_OW 29
2619: IFFALSE 2708
// begin if testvariable ( lisa_side ) then
2621: LD_STRING lisa_side
2623: PPUSH
2624: CALL_OW 27
2628: IFFALSE 2649
// tmp = loadvariable ( lisa_side , - 1 ) else
2630: LD_ADDR_VAR 0 2
2634: PUSH
2635: LD_STRING lisa_side
2637: PPUSH
2638: LD_INT 1
2640: NEG
2641: PPUSH
2642: CALL_OW 30
2646: ST_TO_ADDR
2647: GO 2662
// buildquery ( neny lisa_side , [ OK ] ) ;
2649: LD_STRING neny lisa_side
2651: PPUSH
2652: LD_STRING OK
2654: PUSH
2655: EMPTY
2656: LIST
2657: PPUSH
2658: CALL_OW 99
// if tmp = old_al then
2662: LD_VAR 0 2
2666: PUSH
2667: LD_VAR 0 3
2671: EQUAL
2672: IFFALSE 2687
// lisa = createcharacter ( Lisa ) ;
2674: LD_ADDR_EXP 85
2678: PUSH
2679: LD_STRING Lisa
2681: PPUSH
2682: CALL_OW 34
2686: ST_TO_ADDR
// placeunitxyr ( lisa , 62 , 25 , 3 , false ) ;
2687: LD_EXP 85
2691: PPUSH
2692: LD_INT 62
2694: PPUSH
2695: LD_INT 25
2697: PPUSH
2698: LD_INT 3
2700: PPUSH
2701: LD_INT 0
2703: PPUSH
2704: CALL_OW 50
// end ; frank = 0 ;
2708: LD_ADDR_EXP 86
2712: PUSH
2713: LD_INT 0
2715: ST_TO_ADDR
// if checkcharacterset ( Frank ) then
2716: LD_STRING Frank
2718: PPUSH
2719: CALL_OW 29
2723: IFFALSE 2812
// begin if testvariable ( frank_side ) then
2725: LD_STRING frank_side
2727: PPUSH
2728: CALL_OW 27
2732: IFFALSE 2753
// tmp = loadvariable ( frank_side , - 1 ) else
2734: LD_ADDR_VAR 0 2
2738: PUSH
2739: LD_STRING frank_side
2741: PPUSH
2742: LD_INT 1
2744: NEG
2745: PPUSH
2746: CALL_OW 30
2750: ST_TO_ADDR
2751: GO 2766
// buildquery ( neny frank_side , [ OK ] ) ;
2753: LD_STRING neny frank_side
2755: PPUSH
2756: LD_STRING OK
2758: PUSH
2759: EMPTY
2760: LIST
2761: PPUSH
2762: CALL_OW 99
// if tmp = old_al then
2766: LD_VAR 0 2
2770: PUSH
2771: LD_VAR 0 3
2775: EQUAL
2776: IFFALSE 2791
// frank = createcharacter ( Frank ) ;
2778: LD_ADDR_EXP 86
2782: PUSH
2783: LD_STRING Frank
2785: PPUSH
2786: CALL_OW 34
2790: ST_TO_ADDR
// placeunitxyr ( frank , 62 , 25 , 3 , false ) ;
2791: LD_EXP 86
2795: PPUSH
2796: LD_INT 62
2798: PPUSH
2799: LD_INT 25
2801: PPUSH
2802: LD_INT 3
2804: PPUSH
2805: LD_INT 0
2807: PPUSH
2808: CALL_OW 50
// end ; markc = 0 ;
2812: LD_ADDR_EXP 87
2816: PUSH
2817: LD_INT 0
2819: ST_TO_ADDR
// if checkcharacterset ( Cornell ) then
2820: LD_STRING Cornell
2822: PPUSH
2823: CALL_OW 29
2827: IFFALSE 2916
// begin if testvariable ( markc_side ) then
2829: LD_STRING markc_side
2831: PPUSH
2832: CALL_OW 27
2836: IFFALSE 2857
// tmp = loadvariable ( markc_side , - 1 ) else
2838: LD_ADDR_VAR 0 2
2842: PUSH
2843: LD_STRING markc_side
2845: PPUSH
2846: LD_INT 1
2848: NEG
2849: PPUSH
2850: CALL_OW 30
2854: ST_TO_ADDR
2855: GO 2870
// buildquery ( neny markc_side , [ OK ] ) ;
2857: LD_STRING neny markc_side
2859: PPUSH
2860: LD_STRING OK
2862: PUSH
2863: EMPTY
2864: LIST
2865: PPUSH
2866: CALL_OW 99
// if tmp = old_al then
2870: LD_VAR 0 2
2874: PUSH
2875: LD_VAR 0 3
2879: EQUAL
2880: IFFALSE 2895
// markc = createcharacter ( Cornell ) ;
2882: LD_ADDR_EXP 87
2886: PUSH
2887: LD_STRING Cornell
2889: PPUSH
2890: CALL_OW 34
2894: ST_TO_ADDR
// placeunitxyr ( markc , 62 , 25 , 3 , false ) ;
2895: LD_EXP 87
2899: PPUSH
2900: LD_INT 62
2902: PPUSH
2903: LD_INT 25
2905: PPUSH
2906: LD_INT 3
2908: PPUSH
2909: LD_INT 0
2911: PPUSH
2912: CALL_OW 50
// end ; brown = 0 ;
2916: LD_ADDR_EXP 94
2920: PUSH
2921: LD_INT 0
2923: ST_TO_ADDR
// if checkcharacterset ( Brown ) then
2924: LD_STRING Brown
2926: PPUSH
2927: CALL_OW 29
2931: IFFALSE 3020
// begin if testvariable ( brown_side ) then
2933: LD_STRING brown_side
2935: PPUSH
2936: CALL_OW 27
2940: IFFALSE 2961
// tmp = loadvariable ( brown_side , - 1 ) else
2942: LD_ADDR_VAR 0 2
2946: PUSH
2947: LD_STRING brown_side
2949: PPUSH
2950: LD_INT 1
2952: NEG
2953: PPUSH
2954: CALL_OW 30
2958: ST_TO_ADDR
2959: GO 2974
// buildquery ( neny brown_side , [ OK ] ) ;
2961: LD_STRING neny brown_side
2963: PPUSH
2964: LD_STRING OK
2966: PUSH
2967: EMPTY
2968: LIST
2969: PPUSH
2970: CALL_OW 99
// if tmp = old_al then
2974: LD_VAR 0 2
2978: PUSH
2979: LD_VAR 0 3
2983: EQUAL
2984: IFFALSE 2999
// brown = createcharacter ( Brown ) ;
2986: LD_ADDR_EXP 94
2990: PUSH
2991: LD_STRING Brown
2993: PPUSH
2994: CALL_OW 34
2998: ST_TO_ADDR
// placeunitxyr ( brown , 62 , 25 , 3 , false ) ;
2999: LD_EXP 94
3003: PPUSH
3004: LD_INT 62
3006: PPUSH
3007: LD_INT 25
3009: PPUSH
3010: LD_INT 3
3012: PPUSH
3013: LD_INT 0
3015: PPUSH
3016: CALL_OW 50
// end ; lucy = 0 ;
3020: LD_ADDR_EXP 95
3024: PUSH
3025: LD_INT 0
3027: ST_TO_ADDR
// if checkcharacterset ( Donaldson ) then
3028: LD_STRING Donaldson
3030: PPUSH
3031: CALL_OW 29
3035: IFFALSE 3124
// begin if testvariable ( lucy_side ) then
3037: LD_STRING lucy_side
3039: PPUSH
3040: CALL_OW 27
3044: IFFALSE 3065
// tmp = loadvariable ( lucy_side , - 1 ) else
3046: LD_ADDR_VAR 0 2
3050: PUSH
3051: LD_STRING lucy_side
3053: PPUSH
3054: LD_INT 1
3056: NEG
3057: PPUSH
3058: CALL_OW 30
3062: ST_TO_ADDR
3063: GO 3078
// buildquery ( neny lucy_side , [ OK ] ) ;
3065: LD_STRING neny lucy_side
3067: PPUSH
3068: LD_STRING OK
3070: PUSH
3071: EMPTY
3072: LIST
3073: PPUSH
3074: CALL_OW 99
// if tmp = old_al then
3078: LD_VAR 0 2
3082: PUSH
3083: LD_VAR 0 3
3087: EQUAL
3088: IFFALSE 3103
// lucy = createcharacter ( Donaldson ) ;
3090: LD_ADDR_EXP 95
3094: PUSH
3095: LD_STRING Donaldson
3097: PPUSH
3098: CALL_OW 34
3102: ST_TO_ADDR
// placeunitxyr ( lucy , 62 , 25 , 3 , false ) ;
3103: LD_EXP 95
3107: PPUSH
3108: LD_INT 62
3110: PPUSH
3111: LD_INT 25
3113: PPUSH
3114: LD_INT 3
3116: PPUSH
3117: LD_INT 0
3119: PPUSH
3120: CALL_OW 50
// end ; tim = 0 ;
3124: LD_ADDR_EXP 88
3128: PUSH
3129: LD_INT 0
3131: ST_TO_ADDR
// if checkcharacterset ( Gladstone ) then
3132: LD_STRING Gladstone
3134: PPUSH
3135: CALL_OW 29
3139: IFFALSE 3228
// begin if testvariable ( tim_side ) then
3141: LD_STRING tim_side
3143: PPUSH
3144: CALL_OW 27
3148: IFFALSE 3169
// tmp = loadvariable ( tim_side , - 1 ) else
3150: LD_ADDR_VAR 0 2
3154: PUSH
3155: LD_STRING tim_side
3157: PPUSH
3158: LD_INT 1
3160: NEG
3161: PPUSH
3162: CALL_OW 30
3166: ST_TO_ADDR
3167: GO 3182
// buildquery ( neny tim_side , [ OK ] ) ;
3169: LD_STRING neny tim_side
3171: PPUSH
3172: LD_STRING OK
3174: PUSH
3175: EMPTY
3176: LIST
3177: PPUSH
3178: CALL_OW 99
// if tmp = old_al then
3182: LD_VAR 0 2
3186: PUSH
3187: LD_VAR 0 3
3191: EQUAL
3192: IFFALSE 3207
// tim = createcharacter ( Gladstone ) ;
3194: LD_ADDR_EXP 88
3198: PUSH
3199: LD_STRING Gladstone
3201: PPUSH
3202: CALL_OW 34
3206: ST_TO_ADDR
// placeunitxyr ( tim , 62 , 25 , 3 , false ) ;
3207: LD_EXP 88
3211: PPUSH
3212: LD_INT 62
3214: PPUSH
3215: LD_INT 25
3217: PPUSH
3218: LD_INT 3
3220: PPUSH
3221: LD_INT 0
3223: PPUSH
3224: CALL_OW 50
// end ; denis = 0 ;
3228: LD_ADDR_EXP 89
3232: PUSH
3233: LD_INT 0
3235: ST_TO_ADDR
// if checkcharacterset ( Denis ) then
3236: LD_STRING Denis
3238: PPUSH
3239: CALL_OW 29
3243: IFFALSE 3332
// begin if testvariable ( denis_side ) then
3245: LD_STRING denis_side
3247: PPUSH
3248: CALL_OW 27
3252: IFFALSE 3273
// tmp = loadvariable ( denis_side , - 1 ) else
3254: LD_ADDR_VAR 0 2
3258: PUSH
3259: LD_STRING denis_side
3261: PPUSH
3262: LD_INT 1
3264: NEG
3265: PPUSH
3266: CALL_OW 30
3270: ST_TO_ADDR
3271: GO 3286
// buildquery ( neny denis_side , [ OK ] ) ;
3273: LD_STRING neny denis_side
3275: PPUSH
3276: LD_STRING OK
3278: PUSH
3279: EMPTY
3280: LIST
3281: PPUSH
3282: CALL_OW 99
// if tmp = old_al then
3286: LD_VAR 0 2
3290: PUSH
3291: LD_VAR 0 3
3295: EQUAL
3296: IFFALSE 3311
// denis = createcharacter ( Denis ) ;
3298: LD_ADDR_EXP 89
3302: PUSH
3303: LD_STRING Denis
3305: PPUSH
3306: CALL_OW 34
3310: ST_TO_ADDR
// placeunitxyr ( denis , 62 , 25 , 3 , false ) ;
3311: LD_EXP 89
3315: PPUSH
3316: LD_INT 62
3318: PPUSH
3319: LD_INT 25
3321: PPUSH
3322: LD_INT 3
3324: PPUSH
3325: LD_INT 0
3327: PPUSH
3328: CALL_OW 50
// end ; yamoko = 0 ;
3332: LD_ADDR_EXP 90
3336: PUSH
3337: LD_INT 0
3339: ST_TO_ADDR
// if not frank then
3340: LD_EXP 86
3344: NOT
3345: IFFALSE 3445
// if checkcharacterset ( Yamoko ) then
3347: LD_STRING Yamoko
3349: PPUSH
3350: CALL_OW 29
3354: IFFALSE 3445
// begin if testvariable ( yamoko_side ) then
3356: LD_STRING yamoko_side
3358: PPUSH
3359: CALL_OW 27
3363: IFFALSE 3384
// tmp = loadvariable ( yamoko_side , - 1 ) else
3365: LD_ADDR_VAR 0 2
3369: PUSH
3370: LD_STRING yamoko_side
3372: PPUSH
3373: LD_INT 1
3375: NEG
3376: PPUSH
3377: CALL_OW 30
3381: ST_TO_ADDR
3382: GO 3397
// buildquery ( neny yamoko_side , [ OK ] ) ;
3384: LD_STRING neny yamoko_side
3386: PPUSH
3387: LD_STRING OK
3389: PUSH
3390: EMPTY
3391: LIST
3392: PPUSH
3393: CALL_OW 99
// if tmp = old_al then
3397: LD_VAR 0 2
3401: PUSH
3402: LD_VAR 0 3
3406: EQUAL
3407: IFFALSE 3422
// yamoko = createcharacter ( Yamoko ) ;
3409: LD_ADDR_EXP 90
3413: PUSH
3414: LD_STRING Yamoko
3416: PPUSH
3417: CALL_OW 34
3421: ST_TO_ADDR
// placeunitxyr ( yamoko , 62 , 25 , 3 , false ) ;
3422: LD_EXP 90
3426: PPUSH
3427: LD_INT 62
3429: PPUSH
3430: LD_INT 25
3432: PPUSH
3433: LD_INT 3
3435: PPUSH
3436: LD_INT 0
3438: PPUSH
3439: CALL_OW 50
// end else
3443: GO 3445
// ; gary = 0 ;
3445: LD_ADDR_EXP 91
3449: PUSH
3450: LD_INT 0
3452: ST_TO_ADDR
// if checkcharacterset ( Gary ) then
3453: LD_STRING Gary
3455: PPUSH
3456: CALL_OW 29
3460: IFFALSE 3549
// begin if testvariable ( gary_side ) then
3462: LD_STRING gary_side
3464: PPUSH
3465: CALL_OW 27
3469: IFFALSE 3490
// tmp = loadvariable ( gary_side , - 1 ) else
3471: LD_ADDR_VAR 0 2
3475: PUSH
3476: LD_STRING gary_side
3478: PPUSH
3479: LD_INT 1
3481: NEG
3482: PPUSH
3483: CALL_OW 30
3487: ST_TO_ADDR
3488: GO 3503
// buildquery ( neny gary_side , [ OK ] ) ;
3490: LD_STRING neny gary_side
3492: PPUSH
3493: LD_STRING OK
3495: PUSH
3496: EMPTY
3497: LIST
3498: PPUSH
3499: CALL_OW 99
// if tmp = old_al then
3503: LD_VAR 0 2
3507: PUSH
3508: LD_VAR 0 3
3512: EQUAL
3513: IFFALSE 3528
// gary = createcharacter ( Gary ) ;
3515: LD_ADDR_EXP 91
3519: PUSH
3520: LD_STRING Gary
3522: PPUSH
3523: CALL_OW 34
3527: ST_TO_ADDR
// placeunitxyr ( gary , 62 , 25 , 3 , false ) ;
3528: LD_EXP 91
3532: PPUSH
3533: LD_INT 62
3535: PPUSH
3536: LD_INT 25
3538: PPUSH
3539: LD_INT 3
3541: PPUSH
3542: LD_INT 0
3544: PPUSH
3545: CALL_OW 50
// end ; simms = 0 ;
3549: LD_ADDR_EXP 92
3553: PUSH
3554: LD_INT 0
3556: ST_TO_ADDR
// if checkcharacterset ( Simms ) then
3557: LD_STRING Simms
3559: PPUSH
3560: CALL_OW 29
3564: IFFALSE 3653
// begin if testvariable ( simms_side ) then
3566: LD_STRING simms_side
3568: PPUSH
3569: CALL_OW 27
3573: IFFALSE 3594
// tmp = loadvariable ( simms_side , - 1 ) else
3575: LD_ADDR_VAR 0 2
3579: PUSH
3580: LD_STRING simms_side
3582: PPUSH
3583: LD_INT 1
3585: NEG
3586: PPUSH
3587: CALL_OW 30
3591: ST_TO_ADDR
3592: GO 3607
// buildquery ( neny simms_side , [ OK ] ) ;
3594: LD_STRING neny simms_side
3596: PPUSH
3597: LD_STRING OK
3599: PUSH
3600: EMPTY
3601: LIST
3602: PPUSH
3603: CALL_OW 99
// if tmp = old_al then
3607: LD_VAR 0 2
3611: PUSH
3612: LD_VAR 0 3
3616: EQUAL
3617: IFFALSE 3632
// simms = createcharacter ( Simms ) ;
3619: LD_ADDR_EXP 92
3623: PUSH
3624: LD_STRING Simms
3626: PPUSH
3627: CALL_OW 34
3631: ST_TO_ADDR
// placeunitxyr ( simms , 62 , 25 , 3 , false ) ;
3632: LD_EXP 92
3636: PPUSH
3637: LD_INT 62
3639: PPUSH
3640: LD_INT 25
3642: PPUSH
3643: LD_INT 3
3645: PPUSH
3646: LD_INT 0
3648: PPUSH
3649: CALL_OW 50
// end ; if testcharacters ( otherwithJMM ) then
3653: LD_STRING otherwithJMM
3655: PPUSH
3656: CALL_OW 28
3660: IFFALSE 3695
// if checkcharacterset ( otherwithJMM ) then
3662: LD_STRING otherwithJMM
3664: PPUSH
3665: CALL_OW 29
3669: IFFALSE 3686
// zbytekze12 = createcharacterset ( otherwithJMM ) else
3671: LD_ADDR_EXP 93
3675: PUSH
3676: LD_STRING otherwithJMM
3678: PPUSH
3679: CALL_OW 31
3683: ST_TO_ADDR
3684: GO 3693
// zbytekze12 = [ ] else
3686: LD_ADDR_EXP 93
3690: PUSH
3691: EMPTY
3692: ST_TO_ADDR
3693: GO 3708
// buildquery ( neny otherwithJMM , [ OK ] ) ;
3695: LD_STRING neny otherwithJMM
3697: PPUSH
3698: LD_STRING OK
3700: PUSH
3701: EMPTY
3702: LIST
3703: PPUSH
3704: CALL_OW 99
// for tmp in zbytekze12 do
3708: LD_ADDR_VAR 0 2
3712: PUSH
3713: LD_EXP 93
3717: PUSH
3718: FOR_IN
3719: IFFALSE 3744
// placeunitxyr ( tmp , 62 , 25 , 3 , false ) ;
3721: LD_VAR 0 2
3725: PPUSH
3726: LD_INT 62
3728: PPUSH
3729: LD_INT 25
3731: PPUSH
3732: LD_INT 3
3734: PPUSH
3735: LD_INT 0
3737: PPUSH
3738: CALL_OW 50
3742: GO 3718
3744: POP
3745: POP
// lidi = [ john , roth , joan , bobby , cyrus , lisa , frank , markc , tim , denis , yamoko , gary , simms , brown , lucy ] ^ zbytekze12 ;
3746: LD_ADDR_VAR 0 4
3750: PUSH
3751: LD_EXP 80
3755: PUSH
3756: LD_EXP 81
3760: PUSH
3761: LD_EXP 82
3765: PUSH
3766: LD_EXP 83
3770: PUSH
3771: LD_EXP 84
3775: PUSH
3776: LD_EXP 85
3780: PUSH
3781: LD_EXP 86
3785: PUSH
3786: LD_EXP 87
3790: PUSH
3791: LD_EXP 88
3795: PUSH
3796: LD_EXP 89
3800: PUSH
3801: LD_EXP 90
3805: PUSH
3806: LD_EXP 91
3810: PUSH
3811: LD_EXP 92
3815: PUSH
3816: LD_EXP 94
3820: PUSH
3821: LD_EXP 95
3825: PUSH
3826: EMPTY
3827: LIST
3828: LIST
3829: LIST
3830: LIST
3831: LIST
3832: LIST
3833: LIST
3834: LIST
3835: LIST
3836: LIST
3837: LIST
3838: LIST
3839: LIST
3840: LIST
3841: LIST
3842: PUSH
3843: LD_EXP 93
3847: ADD
3848: ST_TO_ADDR
// lidi = lidi diff [ 0 ] ;
3849: LD_ADDR_VAR 0 4
3853: PUSH
3854: LD_VAR 0 4
3858: PUSH
3859: LD_INT 0
3861: PUSH
3862: EMPTY
3863: LIST
3864: DIFF
3865: ST_TO_ADDR
// plidi = 0 + lidi ;
3866: LD_ADDR_LOC 4
3870: PUSH
3871: LD_INT 0
3873: PUSH
3874: LD_VAR 0 4
3878: PLUS
3879: ST_TO_ADDR
// ingameon ;
3880: CALL_OW 8
// centernowonunits ( john ) ;
3884: LD_EXP 80
3888: PPUSH
3889: CALL_OW 87
// commovexy ( lidi , 61 , 49 ) ;
3893: LD_VAR 0 4
3897: PPUSH
3898: LD_INT 61
3900: PPUSH
3901: LD_INT 49
3903: PPUSH
3904: CALL_OW 111
// while getdistunitxy ( john , 61 , 49 ) > 5 do
3908: LD_EXP 80
3912: PPUSH
3913: LD_INT 61
3915: PPUSH
3916: LD_INT 49
3918: PPUSH
3919: CALL_OW 297
3923: PUSH
3924: LD_INT 5
3926: GREATER
3927: IFFALSE 3947
// begin wait ( 1 ) ;
3929: LD_INT 1
3931: PPUSH
3932: CALL_OW 67
// centeronunits ( john ) ;
3936: LD_EXP 80
3940: PPUSH
3941: CALL_OW 85
// end ;
3945: GO 3908
// ingameoff ;
3947: CALL_OW 9
// dialogueon ;
3951: CALL_OW 6
// say ( john , D1-JMM-1 ) ;
3955: LD_EXP 80
3959: PPUSH
3960: LD_STRING D1-JMM-1
3962: PPUSH
3963: CALL_OW 88
// if joan then
3967: LD_EXP 82
3971: IFFALSE 3985
// say ( joan , D1-Joan-1 ) ;
3973: LD_EXP 82
3977: PPUSH
3978: LD_STRING D1-Joan-1
3980: PPUSH
3981: CALL_OW 88
// if lisa then
3985: LD_EXP 85
3989: IFFALSE 4003
// say ( lisa , D1-Lisa-1 ) ;
3991: LD_EXP 85
3995: PPUSH
3996: LD_STRING D1-Lisa-1
3998: PPUSH
3999: CALL_OW 88
// say ( john , D1-JMM-2 ) ;
4003: LD_EXP 80
4007: PPUSH
4008: LD_STRING D1-JMM-2
4010: PPUSH
4011: CALL_OW 88
// dialogueoff ;
4015: CALL_OW 7
// saveforquickrestart ;
4019: CALL_OW 22
// wait ( 0 0$0.5 ) ;
4023: LD_INT 18
4025: PPUSH
4026: CALL_OW 67
// changemissionobjectives ( M1 ) ;
4030: LD_STRING M1
4032: PPUSH
4033: CALL_OW 337
// end ;
4037: LD_VAR 0 1
4041: RET
// export gossud , kiril , jahoda , burlak , arusove ; export gnyevko , dolgov , kapitsova , gleb , kovalyuk , scholtze , titov , oblukov , bystrov , lipshchin ; every 1 1$30 do var tmp , tmp1 , tmp2 , pomrusaci ;
4042: GO 4044
4044: DISABLE
4045: LD_INT 0
4047: PPUSH
4048: PPUSH
4049: PPUSH
4050: PPUSH
// begin uc_side = rus ;
4051: LD_ADDR_OWVAR 20
4055: PUSH
4056: LD_EXP 2
4060: ST_TO_ADDR
// pomrusaci = [ ] ;
4061: LD_ADDR_VAR 0 4
4065: PUSH
4066: EMPTY
4067: ST_TO_ADDR
// gossud = newcharacter ( Gossudarov ) ;
4068: LD_ADDR_EXP 96
4072: PUSH
4073: LD_STRING Gossudarov
4075: PPUSH
4076: CALL_OW 25
4080: ST_TO_ADDR
// if not gossud then
4081: LD_EXP 96
4085: NOT
4086: IFFALSE 4101
// buildquery ( neny Gossudarov , [ OK ] ) ;
4088: LD_STRING neny Gossudarov
4090: PPUSH
4091: LD_STRING OK
4093: PUSH
4094: EMPTY
4095: LIST
4096: PPUSH
4097: CALL_OW 99
// kiril = newcharacter ( Kirilenkova ) ;
4101: LD_ADDR_EXP 97
4105: PUSH
4106: LD_STRING Kirilenkova
4108: PPUSH
4109: CALL_OW 25
4113: ST_TO_ADDR
// if not kiril then
4114: LD_EXP 97
4118: NOT
4119: IFFALSE 4134
// buildquery ( neny Kirilenkova , [ OK ] ) ;
4121: LD_STRING neny Kirilenkova
4123: PPUSH
4124: LD_STRING OK
4126: PUSH
4127: EMPTY
4128: LIST
4129: PPUSH
4130: CALL_OW 99
// gnyevko = newcharacter ( Gnyevko ) ;
4134: LD_ADDR_EXP 101
4138: PUSH
4139: LD_STRING Gnyevko
4141: PPUSH
4142: CALL_OW 25
4146: ST_TO_ADDR
// if not gnyevko then
4147: LD_EXP 101
4151: NOT
4152: IFFALSE 4167
// buildquery ( neny Gnyevko , [ OK ] ) ;
4154: LD_STRING neny Gnyevko
4156: PPUSH
4157: LD_STRING OK
4159: PUSH
4160: EMPTY
4161: LIST
4162: PPUSH
4163: CALL_OW 99
// pomrusaci = pomrusaci ^ [ gnyevko ] ;
4167: LD_ADDR_VAR 0 4
4171: PUSH
4172: LD_VAR 0 4
4176: PUSH
4177: LD_EXP 101
4181: PUSH
4182: EMPTY
4183: LIST
4184: ADD
4185: ST_TO_ADDR
// dolgov = newcharacter ( Dolgov ) ;
4186: LD_ADDR_EXP 102
4190: PUSH
4191: LD_STRING Dolgov
4193: PPUSH
4194: CALL_OW 25
4198: ST_TO_ADDR
// if not dolgov then
4199: LD_EXP 102
4203: NOT
4204: IFFALSE 4219
// buildquery ( neny Dolgov , [ OK ] ) ;
4206: LD_STRING neny Dolgov
4208: PPUSH
4209: LD_STRING OK
4211: PUSH
4212: EMPTY
4213: LIST
4214: PPUSH
4215: CALL_OW 99
// pomrusaci = pomrusaci ^ [ dolgov ] ;
4219: LD_ADDR_VAR 0 4
4223: PUSH
4224: LD_VAR 0 4
4228: PUSH
4229: LD_EXP 102
4233: PUSH
4234: EMPTY
4235: LIST
4236: ADD
4237: ST_TO_ADDR
// kapitsova = newcharacter ( Kapitsova ) ;
4238: LD_ADDR_EXP 103
4242: PUSH
4243: LD_STRING Kapitsova
4245: PPUSH
4246: CALL_OW 25
4250: ST_TO_ADDR
// if not kapitsova then
4251: LD_EXP 103
4255: NOT
4256: IFFALSE 4271
// buildquery ( neny Kapitsova , [ OK ] ) ;
4258: LD_STRING neny Kapitsova
4260: PPUSH
4261: LD_STRING OK
4263: PUSH
4264: EMPTY
4265: LIST
4266: PPUSH
4267: CALL_OW 99
// pomrusaci = pomrusaci ^ [ kapitsova ] ;
4271: LD_ADDR_VAR 0 4
4275: PUSH
4276: LD_VAR 0 4
4280: PUSH
4281: LD_EXP 103
4285: PUSH
4286: EMPTY
4287: LIST
4288: ADD
4289: ST_TO_ADDR
// gleb = newcharacter ( Gleb ) ;
4290: LD_ADDR_EXP 104
4294: PUSH
4295: LD_STRING Gleb
4297: PPUSH
4298: CALL_OW 25
4302: ST_TO_ADDR
// if not gleb then
4303: LD_EXP 104
4307: NOT
4308: IFFALSE 4323
// buildquery ( neny Gleb , [ OK ] ) ;
4310: LD_STRING neny Gleb
4312: PPUSH
4313: LD_STRING OK
4315: PUSH
4316: EMPTY
4317: LIST
4318: PPUSH
4319: CALL_OW 99
// pomrusaci = pomrusaci ^ [ gleb ] ;
4323: LD_ADDR_VAR 0 4
4327: PUSH
4328: LD_VAR 0 4
4332: PUSH
4333: LD_EXP 104
4337: PUSH
4338: EMPTY
4339: LIST
4340: ADD
4341: ST_TO_ADDR
// kovalyuk = newcharacter ( Kovalyuk ) ;
4342: LD_ADDR_EXP 105
4346: PUSH
4347: LD_STRING Kovalyuk
4349: PPUSH
4350: CALL_OW 25
4354: ST_TO_ADDR
// if not kovalyuk then
4355: LD_EXP 105
4359: NOT
4360: IFFALSE 4375
// buildquery ( neny Kovalyuk , [ OK ] ) ;
4362: LD_STRING neny Kovalyuk
4364: PPUSH
4365: LD_STRING OK
4367: PUSH
4368: EMPTY
4369: LIST
4370: PPUSH
4371: CALL_OW 99
// pomrusaci = pomrusaci ^ [ kovalyuk ] ;
4375: LD_ADDR_VAR 0 4
4379: PUSH
4380: LD_VAR 0 4
4384: PUSH
4385: LD_EXP 105
4389: PUSH
4390: EMPTY
4391: LIST
4392: ADD
4393: ST_TO_ADDR
// scholtze = newcharacter ( Scholtze ) ;
4394: LD_ADDR_EXP 106
4398: PUSH
4399: LD_STRING Scholtze
4401: PPUSH
4402: CALL_OW 25
4406: ST_TO_ADDR
// if not scholtze then
4407: LD_EXP 106
4411: NOT
4412: IFFALSE 4427
// buildquery ( neny Scholtze , [ OK ] ) ;
4414: LD_STRING neny Scholtze
4416: PPUSH
4417: LD_STRING OK
4419: PUSH
4420: EMPTY
4421: LIST
4422: PPUSH
4423: CALL_OW 99
// pomrusaci = pomrusaci ^ [ scholtze ] ;
4427: LD_ADDR_VAR 0 4
4431: PUSH
4432: LD_VAR 0 4
4436: PUSH
4437: LD_EXP 106
4441: PUSH
4442: EMPTY
4443: LIST
4444: ADD
4445: ST_TO_ADDR
// titov = newcharacter ( Titov ) ;
4446: LD_ADDR_EXP 107
4450: PUSH
4451: LD_STRING Titov
4453: PPUSH
4454: CALL_OW 25
4458: ST_TO_ADDR
// if not titov then
4459: LD_EXP 107
4463: NOT
4464: IFFALSE 4479
// buildquery ( neny Titov , [ OK ] ) ;
4466: LD_STRING neny Titov
4468: PPUSH
4469: LD_STRING OK
4471: PUSH
4472: EMPTY
4473: LIST
4474: PPUSH
4475: CALL_OW 99
// pomrusaci = pomrusaci ^ [ titov ] ;
4479: LD_ADDR_VAR 0 4
4483: PUSH
4484: LD_VAR 0 4
4488: PUSH
4489: LD_EXP 107
4493: PUSH
4494: EMPTY
4495: LIST
4496: ADD
4497: ST_TO_ADDR
// oblukov = newcharacter ( Oblukov ) ;
4498: LD_ADDR_EXP 108
4502: PUSH
4503: LD_STRING Oblukov
4505: PPUSH
4506: CALL_OW 25
4510: ST_TO_ADDR
// if not oblukov then
4511: LD_EXP 108
4515: NOT
4516: IFFALSE 4531
// buildquery ( neny Oblukov , [ OK ] ) ;
4518: LD_STRING neny Oblukov
4520: PPUSH
4521: LD_STRING OK
4523: PUSH
4524: EMPTY
4525: LIST
4526: PPUSH
4527: CALL_OW 99
// pomrusaci = pomrusaci ^ [ oblukov ] ;
4531: LD_ADDR_VAR 0 4
4535: PUSH
4536: LD_VAR 0 4
4540: PUSH
4541: LD_EXP 108
4545: PUSH
4546: EMPTY
4547: LIST
4548: ADD
4549: ST_TO_ADDR
// bystrov = newcharacter ( Bystrov ) ;
4550: LD_ADDR_EXP 109
4554: PUSH
4555: LD_STRING Bystrov
4557: PPUSH
4558: CALL_OW 25
4562: ST_TO_ADDR
// if not bystrov then
4563: LD_EXP 109
4567: NOT
4568: IFFALSE 4583
// buildquery ( neny Bystrov , [ OK ] ) ;
4570: LD_STRING neny Bystrov
4572: PPUSH
4573: LD_STRING OK
4575: PUSH
4576: EMPTY
4577: LIST
4578: PPUSH
4579: CALL_OW 99
// pomrusaci = pomrusaci ^ [ bystrov ] ;
4583: LD_ADDR_VAR 0 4
4587: PUSH
4588: LD_VAR 0 4
4592: PUSH
4593: LD_EXP 109
4597: PUSH
4598: EMPTY
4599: LIST
4600: ADD
4601: ST_TO_ADDR
// lipshchin = newcharacter ( Lipshchin ) ;
4602: LD_ADDR_EXP 110
4606: PUSH
4607: LD_STRING Lipshchin
4609: PPUSH
4610: CALL_OW 25
4614: ST_TO_ADDR
// if not lipshchin then
4615: LD_EXP 110
4619: NOT
4620: IFFALSE 4635
// buildquery ( neny Lipshchin , [ OK ] ) ;
4622: LD_STRING neny Lipshchin
4624: PPUSH
4625: LD_STRING OK
4627: PUSH
4628: EMPTY
4629: LIST
4630: PPUSH
4631: CALL_OW 99
// pomrusaci = pomrusaci ^ [ lipshchin ] ;
4635: LD_ADDR_VAR 0 4
4639: PUSH
4640: LD_VAR 0 4
4644: PUSH
4645: LD_EXP 110
4649: PUSH
4650: EMPTY
4651: LIST
4652: ADD
4653: ST_TO_ADDR
// changesidefog ( oth , al ) ;
4654: LD_EXP 4
4658: PPUSH
4659: LD_EXP 1
4663: PPUSH
4664: CALL_OW 343
// uc_side = oth ;
4668: LD_ADDR_OWVAR 20
4672: PUSH
4673: LD_EXP 4
4677: ST_TO_ADDR
// jahoda = newcharacter ( Belkov ) ;
4678: LD_ADDR_EXP 98
4682: PUSH
4683: LD_STRING Belkov
4685: PPUSH
4686: CALL_OW 25
4690: ST_TO_ADDR
// if not jahoda then
4691: LD_EXP 98
4695: NOT
4696: IFFALSE 4705
// msg ( neny Belkov ) ;
4698: LD_STRING neny Belkov
4700: PPUSH
4701: CALL_OW 100
// burlak = newcharacter ( Burlak ) ;
4705: LD_ADDR_EXP 99
4709: PUSH
4710: LD_STRING Burlak
4712: PPUSH
4713: CALL_OW 25
4717: ST_TO_ADDR
// if not burlak then
4718: LD_EXP 99
4722: NOT
4723: IFFALSE 4738
// buildquery ( neny Burlak , [ OK ] ) ;
4725: LD_STRING neny Burlak
4727: PPUSH
4728: LD_STRING OK
4730: PUSH
4731: EMPTY
4732: LIST
4733: PPUSH
4734: CALL_OW 99
// uc_side = rus ;
4738: LD_ADDR_OWVAR 20
4742: PUSH
4743: LD_EXP 2
4747: ST_TO_ADDR
// placeunitxyr ( gossud , 70 , 96 , 2 , false ) ;
4748: LD_EXP 96
4752: PPUSH
4753: LD_INT 70
4755: PPUSH
4756: LD_INT 96
4758: PPUSH
4759: LD_INT 2
4761: PPUSH
4762: LD_INT 0
4764: PPUSH
4765: CALL_OW 50
// placeunitxyr ( kiril , 70 , 96 , 2 , false ) ;
4769: LD_EXP 97
4773: PPUSH
4774: LD_INT 70
4776: PPUSH
4777: LD_INT 96
4779: PPUSH
4780: LD_INT 2
4782: PPUSH
4783: LD_INT 0
4785: PPUSH
4786: CALL_OW 50
// tmp = maxlidi - ( 0 + plidi ) - 2 ;
4790: LD_ADDR_VAR 0 1
4794: PUSH
4795: LD_EXP 5
4799: PUSH
4800: LD_INT 0
4802: PUSH
4803: LD_LOC 4
4807: PLUS
4808: MINUS
4809: PUSH
4810: LD_INT 2
4812: MINUS
4813: ST_TO_ADDR
// tmp2 = 0 + pomrusaci ;
4814: LD_ADDR_VAR 0 3
4818: PUSH
4819: LD_INT 0
4821: PUSH
4822: LD_VAR 0 4
4826: PLUS
4827: ST_TO_ADDR
// uc_nation = nation_russian ;
4828: LD_ADDR_OWVAR 21
4832: PUSH
4833: LD_INT 3
4835: ST_TO_ADDR
// for tmp1 = 1 to tmp do
4836: LD_ADDR_VAR 0 2
4840: PUSH
4841: DOUBLE
4842: LD_INT 1
4844: DEC
4845: ST_TO_ADDR
4846: LD_VAR 0 1
4850: PUSH
4851: FOR_TO
4852: IFFALSE 4928
// if tmp1 > tmp2 then
4854: LD_VAR 0 2
4858: PUSH
4859: LD_VAR 0 3
4863: GREATER
4864: IFFALSE 4899
// begin preparescientist ( sex_male , 8 ) ;
4866: LD_INT 1
4868: PPUSH
4869: LD_INT 8
4871: PPUSH
4872: CALL_OW 384
// placeunitxyr ( createhuman , 70 , 96 , 2 , false ) ;
4876: CALL_OW 44
4880: PPUSH
4881: LD_INT 70
4883: PPUSH
4884: LD_INT 96
4886: PPUSH
4887: LD_INT 2
4889: PPUSH
4890: LD_INT 0
4892: PPUSH
4893: CALL_OW 50
// end else
4897: GO 4926
// placeunitxyr ( pomrusaci [ tmp1 ] , 70 , 96 , 2 , false ) ;
4899: LD_VAR 0 4
4903: PUSH
4904: LD_VAR 0 2
4908: ARRAY
4909: PPUSH
4910: LD_INT 70
4912: PPUSH
4913: LD_INT 96
4915: PPUSH
4916: LD_INT 2
4918: PPUSH
4919: LD_INT 0
4921: PPUSH
4922: CALL_OW 50
4926: GO 4851
4928: POP
4929: POP
// arusove = filterallunits ( [ [ f_side , rus ] ] ) ;
4930: LD_ADDR_EXP 100
4934: PUSH
4935: LD_INT 22
4937: PUSH
4938: LD_EXP 2
4942: PUSH
4943: EMPTY
4944: LIST
4945: LIST
4946: PUSH
4947: EMPTY
4948: LIST
4949: PPUSH
4950: CALL_OW 69
4954: ST_TO_ADDR
// commovexy ( arusove , 64 , 54 ) ;
4955: LD_EXP 100
4959: PPUSH
4960: LD_INT 64
4962: PPUSH
4963: LD_INT 54
4965: PPUSH
4966: CALL_OW 111
// setattitude ( rus , al , att_friend , false ) ;
4970: LD_EXP 2
4974: PPUSH
4975: LD_EXP 1
4979: PPUSH
4980: LD_INT 1
4982: PPUSH
4983: LD_INT 0
4985: PPUSH
4986: CALL_OW 80
// end ;
4990: PPOPN 4
4992: END
// var r_seen ; function side_sees_side ( sidea , sideb ) ; var tmp , tmp2 ; begin
4993: LD_INT 0
4995: PPUSH
4996: PPUSH
4997: PPUSH
// tmp2 = filterallunits ( [ [ f_side , sideb ] ] ) ;
4998: LD_ADDR_VAR 0 5
5002: PUSH
5003: LD_INT 22
5005: PUSH
5006: LD_VAR 0 2
5010: PUSH
5011: EMPTY
5012: LIST
5013: LIST
5014: PUSH
5015: EMPTY
5016: LIST
5017: PPUSH
5018: CALL_OW 69
5022: ST_TO_ADDR
// result = 0 ;
5023: LD_ADDR_VAR 0 3
5027: PUSH
5028: LD_INT 0
5030: ST_TO_ADDR
// for tmp in tmp2 do
5031: LD_ADDR_VAR 0 4
5035: PUSH
5036: LD_VAR 0 5
5040: PUSH
5041: FOR_IN
5042: IFFALSE 5084
// if see ( sidea , tmp ) then
5044: LD_VAR 0 1
5048: PPUSH
5049: LD_VAR 0 4
5053: PPUSH
5054: CALL_OW 292
5058: IFFALSE 5082
// begin r_seen = tmp ;
5060: LD_ADDR_LOC 5
5064: PUSH
5065: LD_VAR 0 4
5069: ST_TO_ADDR
// result = tmp ;
5070: LD_ADDR_VAR 0 3
5074: PUSH
5075: LD_VAR 0 4
5079: ST_TO_ADDR
// break ;
5080: GO 5084
// end ;
5082: GO 5041
5084: POP
5085: POP
// end ;
5086: LD_VAR 0 3
5090: RET
// every 0 0$1 trigger UnitFilter ( arusove , [ [ f_side , 6 ] , [ f_not , [ f_lives , 500 ] ] ] ) do var i ;
5091: LD_EXP 100
5095: PPUSH
5096: LD_INT 22
5098: PUSH
5099: LD_INT 6
5101: PUSH
5102: EMPTY
5103: LIST
5104: LIST
5105: PUSH
5106: LD_INT 3
5108: PUSH
5109: LD_INT 24
5111: PUSH
5112: LD_INT 500
5114: PUSH
5115: EMPTY
5116: LIST
5117: LIST
5118: PUSH
5119: EMPTY
5120: LIST
5121: LIST
5122: PUSH
5123: EMPTY
5124: LIST
5125: LIST
5126: PPUSH
5127: CALL_OW 72
5131: IFFALSE 5205
5133: GO 5135
5135: DISABLE
5136: LD_INT 0
5138: PPUSH
// begin enable ;
5139: ENABLE
// for i in UnitFilter ( arusove , [ [ f_side , 6 ] , [ f_not , [ f_lives , 500 ] ] ] ) do
5140: LD_ADDR_VAR 0 1
5144: PUSH
5145: LD_EXP 100
5149: PPUSH
5150: LD_INT 22
5152: PUSH
5153: LD_INT 6
5155: PUSH
5156: EMPTY
5157: LIST
5158: LIST
5159: PUSH
5160: LD_INT 3
5162: PUSH
5163: LD_INT 24
5165: PUSH
5166: LD_INT 500
5168: PUSH
5169: EMPTY
5170: LIST
5171: LIST
5172: PUSH
5173: EMPTY
5174: LIST
5175: LIST
5176: PUSH
5177: EMPTY
5178: LIST
5179: LIST
5180: PPUSH
5181: CALL_OW 72
5185: PUSH
5186: FOR_IN
5187: IFFALSE 5203
// SetLives ( i , 500 ) ;
5189: LD_VAR 0 1
5193: PPUSH
5194: LD_INT 500
5196: PPUSH
5197: CALL_OW 234
5201: GO 5186
5203: POP
5204: POP
// end ;
5205: PPOPN 1
5207: END
// every 0 0$1 + 1 1$30 trigger side_sees_side ( al , rus ) do var tmp , tmp2 , tmp1 , utoci ;
5208: LD_EXP 1
5212: PPUSH
5213: LD_EXP 2
5217: PPUSH
5218: CALL 4993 0 2
5222: IFFALSE 5826
5224: GO 5226
5226: DISABLE
5227: LD_INT 0
5229: PPUSH
5230: PPUSH
5231: PPUSH
5232: PPUSH
// begin utoci = false ;
5233: LD_ADDR_VAR 0 4
5237: PUSH
5238: LD_INT 0
5240: ST_TO_ADDR
// tmp2 = filterallunits ( [ [ f_side , al ] , [ f_type , unit_human ] ] ) ;
5241: LD_ADDR_VAR 0 2
5245: PUSH
5246: LD_INT 22
5248: PUSH
5249: LD_EXP 1
5253: PUSH
5254: EMPTY
5255: LIST
5256: LIST
5257: PUSH
5258: LD_INT 21
5260: PUSH
5261: LD_INT 1
5263: PUSH
5264: EMPTY
5265: LIST
5266: LIST
5267: PUSH
5268: EMPTY
5269: LIST
5270: LIST
5271: PPUSH
5272: CALL_OW 69
5276: ST_TO_ADDR
// repeat for tmp in tmp2 do
5277: LD_ADDR_VAR 0 1
5281: PUSH
5282: LD_VAR 0 2
5286: PUSH
5287: FOR_IN
5288: IFFALSE 5784
// if ( attacks ( tmp ) ) then
5290: LD_VAR 0 1
5294: PPUSH
5295: CALL_OW 320
5299: IFFALSE 5782
// begin wait ( 0 0$0.5 ) ;
5301: LD_INT 18
5303: PPUSH
5304: CALL_OW 67
// ingameon ;
5308: CALL_OW 8
// utoci = true ;
5312: LD_ADDR_VAR 0 4
5316: PUSH
5317: LD_INT 1
5319: ST_TO_ADDR
// if islive ( roth ) then
5320: LD_EXP 81
5324: PPUSH
5325: CALL_OW 300
5329: IFFALSE 5520
// begin setside ( arusove , al ) ;
5331: LD_EXP 100
5335: PPUSH
5336: LD_EXP 1
5340: PPUSH
5341: CALL_OW 235
// comstop ( tmp ) ;
5345: LD_VAR 0 1
5349: PPUSH
5350: CALL_OW 141
// comstop ( arusove ) ;
5354: LD_EXP 100
5358: PPUSH
5359: CALL_OW 141
// say ( roth , D2-Roth-2 ) ;
5363: LD_EXP 81
5367: PPUSH
5368: LD_STRING D2-Roth-2
5370: PPUSH
5371: CALL_OW 88
// say ( roth , D2-Roth-2a ) ;
5375: LD_EXP 81
5379: PPUSH
5380: LD_STRING D2-Roth-2a
5382: PPUSH
5383: CALL_OW 88
// commovexy ( [ john , roth ] , getx ( gossud ) , gety ( gossud ) ) ;
5387: LD_EXP 80
5391: PUSH
5392: LD_EXP 81
5396: PUSH
5397: EMPTY
5398: LIST
5399: LIST
5400: PPUSH
5401: LD_EXP 96
5405: PPUSH
5406: CALL_OW 250
5410: PPUSH
5411: LD_EXP 96
5415: PPUSH
5416: CALL_OW 251
5420: PPUSH
5421: CALL_OW 111
// while ( getdistunits ( john , gossud ) + getdistunits ( roth , gossud ) ) > 19 do
5425: LD_EXP 80
5429: PPUSH
5430: LD_EXP 96
5434: PPUSH
5435: CALL_OW 296
5439: PUSH
5440: LD_EXP 81
5444: PPUSH
5445: LD_EXP 96
5449: PPUSH
5450: CALL_OW 296
5454: PLUS
5455: PUSH
5456: LD_INT 19
5458: GREATER
5459: IFFALSE 5494
// begin centeronunits ( [ roth , gossud , john ] ) ;
5461: LD_EXP 81
5465: PUSH
5466: LD_EXP 96
5470: PUSH
5471: LD_EXP 80
5475: PUSH
5476: EMPTY
5477: LIST
5478: LIST
5479: LIST
5480: PPUSH
5481: CALL_OW 85
// wait ( 1 ) ;
5485: LD_INT 1
5487: PPUSH
5488: CALL_OW 67
// end ;
5492: GO 5425
// say ( roth , D2-Roth-2b ) ;
5494: LD_EXP 81
5498: PPUSH
5499: LD_STRING D2-Roth-2b
5501: PPUSH
5502: CALL_OW 88
// say ( john , D2-JMM-3 ) ;
5506: LD_EXP 80
5510: PPUSH
5511: LD_STRING D2-JMM-3
5513: PPUSH
5514: CALL_OW 88
// end else
5518: GO 5706
// begin setside ( arusove , al ) ;
5520: LD_EXP 100
5524: PPUSH
5525: LD_EXP 1
5529: PPUSH
5530: CALL_OW 235
// comstop ( tmp ) ;
5534: LD_VAR 0 1
5538: PPUSH
5539: CALL_OW 141
// comstop ( arusove ) ;
5543: LD_EXP 100
5547: PPUSH
5548: CALL_OW 141
// say ( john , D2-JMM-1 ) ;
5552: LD_EXP 80
5556: PPUSH
5557: LD_STRING D2-JMM-1
5559: PPUSH
5560: CALL_OW 88
// say ( john , D2-JMM-1a ) ;
5564: LD_EXP 80
5568: PPUSH
5569: LD_STRING D2-JMM-1a
5571: PPUSH
5572: CALL_OW 88
// commovexy ( john , getx ( gossud ) , gety ( gossud ) ) ;
5576: LD_EXP 80
5580: PPUSH
5581: LD_EXP 96
5585: PPUSH
5586: CALL_OW 250
5590: PPUSH
5591: LD_EXP 96
5595: PPUSH
5596: CALL_OW 251
5600: PPUSH
5601: CALL_OW 111
// while getdistunits ( john , gossud ) > 11 do
5605: LD_EXP 80
5609: PPUSH
5610: LD_EXP 96
5614: PPUSH
5615: CALL_OW 296
5619: PUSH
5620: LD_INT 11
5622: GREATER
5623: IFFALSE 5658
// begin centeronunits ( [ roth , gossud , john ] ) ;
5625: LD_EXP 81
5629: PUSH
5630: LD_EXP 96
5634: PUSH
5635: LD_EXP 80
5639: PUSH
5640: EMPTY
5641: LIST
5642: LIST
5643: LIST
5644: PPUSH
5645: CALL_OW 85
// wait ( 1 ) ;
5649: LD_INT 1
5651: PPUSH
5652: CALL_OW 67
// end ;
5656: GO 5605
// say ( john , D2-JMM-1b ) ;
5658: LD_EXP 80
5662: PPUSH
5663: LD_STRING D2-JMM-1b
5665: PPUSH
5666: CALL_OW 88
// say ( gossud , D2-Gos-1 ) ;
5670: LD_EXP 96
5674: PPUSH
5675: LD_STRING D2-Gos-1
5677: PPUSH
5678: CALL_OW 88
// say ( john , D2-JMM-2 ) ;
5682: LD_EXP 80
5686: PPUSH
5687: LD_STRING D2-JMM-2
5689: PPUSH
5690: CALL_OW 88
// say ( gossud , D2-Gos-2 ) ;
5694: LD_EXP 96
5698: PPUSH
5699: LD_STRING D2-Gos-2
5701: PPUSH
5702: CALL_OW 88
// end ; say ( gossud , D2-Gos-3 ) ;
5706: LD_EXP 96
5710: PPUSH
5711: LD_STRING D2-Gos-3
5713: PPUSH
5714: CALL_OW 88
// say ( john , D2-JMM-4 ) ;
5718: LD_EXP 80
5722: PPUSH
5723: LD_STRING D2-JMM-4
5725: PPUSH
5726: CALL_OW 88
// say ( gossud , D2-Gos-4 ) ;
5730: LD_EXP 96
5734: PPUSH
5735: LD_STRING D2-Gos-4
5737: PPUSH
5738: CALL_OW 88
// say ( john , D2-JMM-5 ) ;
5742: LD_EXP 80
5746: PPUSH
5747: LD_STRING D2-JMM-5
5749: PPUSH
5750: CALL_OW 88
// say ( gossud , D2-Gos-5 ) ;
5754: LD_EXP 96
5758: PPUSH
5759: LD_STRING D2-Gos-5
5761: PPUSH
5762: CALL_OW 88
// say ( john , D2-JMM-6 ) ;
5766: LD_EXP 80
5770: PPUSH
5771: LD_STRING D2-JMM-6
5773: PPUSH
5774: CALL_OW 88
// ingameoff ;
5778: CALL_OW 9
// end ;
5782: GO 5287
5784: POP
5785: POP
// wait ( 0 0$0.1 ) ;
5786: LD_INT 4
5788: PPUSH
5789: CALL_OW 67
// until utoci ;
5793: LD_VAR 0 4
5797: IFFALSE 5277
// setattitude ( al , rus , att_enemy , true ) ;
5799: LD_EXP 1
5803: PPUSH
5804: LD_EXP 2
5808: PPUSH
5809: LD_INT 2
5811: PPUSH
5812: LD_INT 1
5814: PPUSH
5815: CALL_OW 80
// hint ( CombinedForces ) ;
5819: LD_STRING CombinedForces
5821: PPUSH
5822: CALL_OW 339
// end ;
5826: PPOPN 4
5828: END
// export lb1 ; on buildingcomplete ( b ) do if ( getbtype ( b ) = b_lab ) and ( getnation ( b ) <> nation_russian ) and not lb1 then
5829: LD_VAR 0 1
5833: PPUSH
5834: CALL_OW 266
5838: PUSH
5839: LD_INT 6
5841: EQUAL
5842: PUSH
5843: LD_VAR 0 1
5847: PPUSH
5848: CALL_OW 248
5852: PUSH
5853: LD_INT 3
5855: NONEQUAL
5856: AND
5857: PUSH
5858: LD_EXP 111
5862: NOT
5863: AND
5864: IFFALSE 5879
// begin lb1 = true ;
5866: LD_ADDR_EXP 111
5870: PUSH
5871: LD_INT 1
5873: ST_TO_ADDR
// enable ( 01 ) ;
5874: LD_INT 1
5876: ENABLE_MARKED
// end else
5877: GO 5913
// if ( getbtype ( b ) = b_lab ) and ( getnation ( b ) = nation_russian ) then
5879: LD_VAR 0 1
5883: PPUSH
5884: CALL_OW 266
5888: PUSH
5889: LD_INT 6
5891: EQUAL
5892: PUSH
5893: LD_VAR 0 1
5897: PPUSH
5898: CALL_OW 248
5902: PUSH
5903: LD_INT 3
5905: EQUAL
5906: AND
5907: IFFALSE 5913
// begin disable ;
5909: DISABLE
// enable ( 02 ) ;
5910: LD_INT 2
5912: ENABLE_MARKED
// end ;
5913: PPOPN 1
5915: END
// every 0 0$1 + 1 1$45 marked 01 do var tmp ;
5916: GO 5918
5918: DISABLE
5919: LD_INT 0
5921: PPUSH
// begin dialogueon ;
5922: CALL_OW 6
// if isok ( kiril ) then
5926: LD_EXP 97
5930: PPUSH
5931: CALL_OW 302
5935: IFFALSE 5951
// say ( kiril , D3-Kir-1 ) else
5937: LD_EXP 97
5941: PPUSH
5942: LD_STRING D3-Kir-1
5944: PPUSH
5945: CALL_OW 88
5949: GO 6039
// if isok ( gossud ) then
5951: LD_EXP 96
5955: PPUSH
5956: CALL_OW 302
5960: IFFALSE 5976
// say ( gossud , D3-Kir-1 ) else
5962: LD_EXP 96
5966: PPUSH
5967: LD_STRING D3-Kir-1
5969: PPUSH
5970: CALL_OW 88
5974: GO 6039
// begin tmp = filterallunits ( [ [ f_nation , nation_russian ] , [ f_type , unit_human ] , [ f_ok ] ] ) ;
5976: LD_ADDR_VAR 0 1
5980: PUSH
5981: LD_INT 23
5983: PUSH
5984: LD_INT 3
5986: PUSH
5987: EMPTY
5988: LIST
5989: LIST
5990: PUSH
5991: LD_INT 21
5993: PUSH
5994: LD_INT 1
5996: PUSH
5997: EMPTY
5998: LIST
5999: LIST
6000: PUSH
6001: LD_INT 50
6003: PUSH
6004: EMPTY
6005: LIST
6006: PUSH
6007: EMPTY
6008: LIST
6009: LIST
6010: LIST
6011: PPUSH
6012: CALL_OW 69
6016: ST_TO_ADDR
// if tmp then
6017: LD_VAR 0 1
6021: IFFALSE 6039
// say ( tmp [ 1 ] , D3-Kir-1 ) end ;
6023: LD_VAR 0 1
6027: PUSH
6028: LD_INT 1
6030: ARRAY
6031: PPUSH
6032: LD_STRING D3-Kir-1
6034: PPUSH
6035: CALL_OW 88
// dialogueoff ;
6039: CALL_OW 7
// end ;
6043: PPOPN 1
6045: END
// every 0 0$1 + 2 2$0 marked 02 do var tmp ;
6046: GO 6048
6048: DISABLE
6049: LD_INT 0
6051: PPUSH
// begin tmp = filterallunits ( [ [ f_nation , nation_russian ] , [ f_type , unit_human ] , [ f_ok ] ] ) ;
6052: LD_ADDR_VAR 0 1
6056: PUSH
6057: LD_INT 23
6059: PUSH
6060: LD_INT 3
6062: PUSH
6063: EMPTY
6064: LIST
6065: LIST
6066: PUSH
6067: LD_INT 21
6069: PUSH
6070: LD_INT 1
6072: PUSH
6073: EMPTY
6074: LIST
6075: LIST
6076: PUSH
6077: LD_INT 50
6079: PUSH
6080: EMPTY
6081: LIST
6082: PUSH
6083: EMPTY
6084: LIST
6085: LIST
6086: LIST
6087: PPUSH
6088: CALL_OW 69
6092: ST_TO_ADDR
// dialogueon ;
6093: CALL_OW 6
// if isok ( kiril ) then
6097: LD_EXP 97
6101: PPUSH
6102: CALL_OW 302
6106: IFFALSE 6122
// say ( kiril , D3a-Kir-1 ) else
6108: LD_EXP 97
6112: PPUSH
6113: LD_STRING D3a-Kir-1
6115: PPUSH
6116: CALL_OW 88
6120: GO 6188
// begin tmp = tmp diff [ gossud ] ;
6122: LD_ADDR_VAR 0 1
6126: PUSH
6127: LD_VAR 0 1
6131: PUSH
6132: LD_EXP 96
6136: PUSH
6137: EMPTY
6138: LIST
6139: DIFF
6140: ST_TO_ADDR
// if tmp then
6141: LD_VAR 0 1
6145: IFFALSE 6165
// say ( tmp [ 1 ] , D3a-Sci1-1 ) else
6147: LD_VAR 0 1
6151: PUSH
6152: LD_INT 1
6154: ARRAY
6155: PPUSH
6156: LD_STRING D3a-Sci1-1
6158: PPUSH
6159: CALL_OW 88
6163: GO 6188
// if isok ( gossud ) then
6165: LD_EXP 96
6169: PPUSH
6170: CALL_OW 302
6174: IFFALSE 6188
// say ( gossud , D3a-Sci1-1 ) ;
6176: LD_EXP 96
6180: PPUSH
6181: LD_STRING D3a-Sci1-1
6183: PPUSH
6184: CALL_OW 88
// end ; say ( john , D3a-JMM-1 ) ;
6188: LD_EXP 80
6192: PPUSH
6193: LD_STRING D3a-JMM-1
6195: PPUSH
6196: CALL_OW 88
// dialogueoff ;
6200: CALL_OW 7
// end ;
6204: PPOPN 1
6206: END
// every 0 0$1 + 2 2$30 trigger see ( al , ruv0 ) do var tmp ;
6207: LD_EXP 1
6211: PPUSH
6212: LD_EXP 117
6216: PPUSH
6217: CALL_OW 292
6221: IFFALSE 6374
6223: GO 6225
6225: DISABLE
6226: LD_INT 0
6228: PPUSH
// begin tmp = unitfilter ( arusove , [ [ f_ok ] , [ f_sex , sex_male ] ] ) ;
6229: LD_ADDR_VAR 0 1
6233: PUSH
6234: LD_EXP 100
6238: PPUSH
6239: LD_INT 50
6241: PUSH
6242: EMPTY
6243: LIST
6244: PUSH
6245: LD_INT 26
6247: PUSH
6248: LD_INT 1
6250: PUSH
6251: EMPTY
6252: LIST
6253: LIST
6254: PUSH
6255: EMPTY
6256: LIST
6257: LIST
6258: PPUSH
6259: CALL_OW 72
6263: ST_TO_ADDR
// if 0 = tmp then
6264: LD_INT 0
6266: PUSH
6267: LD_VAR 0 1
6271: EQUAL
6272: IFFALSE 6276
// exit ;
6274: GO 6374
// tmp = tmp diff [ gossud ] ;
6276: LD_ADDR_VAR 0 1
6280: PUSH
6281: LD_VAR 0 1
6285: PUSH
6286: LD_EXP 96
6290: PUSH
6291: EMPTY
6292: LIST
6293: DIFF
6294: ST_TO_ADDR
// dialogueon ;
6295: CALL_OW 6
// if tmp then
6299: LD_VAR 0 1
6303: IFFALSE 6323
// say ( tmp [ 1 ] , D4-RSci1-1 ) else
6305: LD_VAR 0 1
6309: PUSH
6310: LD_INT 1
6312: ARRAY
6313: PPUSH
6314: LD_STRING D4-RSci1-1
6316: PPUSH
6317: CALL_OW 88
6321: GO 6335
// say ( gossud , D4-RSci1-1 ) ;
6323: LD_EXP 96
6327: PPUSH
6328: LD_STRING D4-RSci1-1
6330: PPUSH
6331: CALL_OW 88
// if isok ( gossud ) then
6335: LD_EXP 96
6339: PPUSH
6340: CALL_OW 302
6344: IFFALSE 6358
// say ( gossud , D4-Gos-1 ) ;
6346: LD_EXP 96
6350: PPUSH
6351: LD_STRING D4-Gos-1
6353: PPUSH
6354: CALL_OW 88
// say ( john , D4-JMM-1 ) ;
6358: LD_EXP 80
6362: PPUSH
6363: LD_STRING D4-JMM-1
6365: PPUSH
6366: CALL_OW 88
// dialogueoff ;
6370: CALL_OW 7
// end ;
6374: PPOPN 1
6376: END
// every 4 4$10 do
6377: GO 6379
6379: DISABLE
// begin if debug then
6380: LD_EXP 77
6384: IFFALSE 6423
// begin uc_side = oth ;
6386: LD_ADDR_OWVAR 20
6390: PUSH
6391: LD_EXP 4
6395: ST_TO_ADDR
// changesidefog ( oth , al ) ;
6396: LD_EXP 4
6400: PPUSH
6401: LD_EXP 1
6405: PPUSH
6406: CALL_OW 343
// jahoda = newcharacter ( Belkov ) ;
6410: LD_ADDR_EXP 98
6414: PUSH
6415: LD_STRING Belkov
6417: PPUSH
6418: CALL_OW 25
6422: ST_TO_ADDR
// end ; placeunitxyr ( jahoda , 113 , 97 , 2 , false ) ;
6423: LD_EXP 98
6427: PPUSH
6428: LD_INT 113
6430: PPUSH
6431: LD_INT 97
6433: PPUSH
6434: LD_INT 2
6436: PPUSH
6437: LD_INT 0
6439: PPUSH
6440: CALL_OW 50
// commovexy ( jahoda , 79 , 65 ) ;
6444: LD_EXP 98
6448: PPUSH
6449: LD_INT 79
6451: PPUSH
6452: LD_INT 65
6454: PPUSH
6455: CALL_OW 111
// end ;
6459: END
// every 0 0$2 + 4 4$28 trigger isinarea ( jahoda , stred ) do var tmp ;
6460: LD_EXP 98
6464: PPUSH
6465: LD_INT 2
6467: PPUSH
6468: CALL_OW 308
6472: IFFALSE 6748
6474: GO 6476
6476: DISABLE
6477: LD_INT 0
6479: PPUSH
// begin tmp = unitfilter ( arusove , [ [ f_ok ] ] ) ;
6480: LD_ADDR_VAR 0 1
6484: PUSH
6485: LD_EXP 100
6489: PPUSH
6490: LD_INT 50
6492: PUSH
6493: EMPTY
6494: LIST
6495: PUSH
6496: EMPTY
6497: LIST
6498: PPUSH
6499: CALL_OW 72
6503: ST_TO_ADDR
// dialogueon ;
6504: CALL_OW 6
// sayradio ( jahoda , D5-Bel-1 ) ;
6508: LD_EXP 98
6512: PPUSH
6513: LD_STRING D5-Bel-1
6515: PPUSH
6516: CALL_OW 94
// if isok ( gossud ) then
6520: LD_EXP 96
6524: PPUSH
6525: CALL_OW 302
6529: IFFALSE 6581
// begin say ( gossud , D5-Gos-1 ) ;
6531: LD_EXP 96
6535: PPUSH
6536: LD_STRING D5-Gos-1
6538: PPUSH
6539: CALL_OW 88
// say ( john , D5-JMM-1 ) ;
6543: LD_EXP 80
6547: PPUSH
6548: LD_STRING D5-JMM-1
6550: PPUSH
6551: CALL_OW 88
// say ( gossud , D5-Gos-2 ) ;
6555: LD_EXP 96
6559: PPUSH
6560: LD_STRING D5-Gos-2
6562: PPUSH
6563: CALL_OW 88
// say ( john , D5-JMM-2 ) ;
6567: LD_EXP 80
6571: PPUSH
6572: LD_STRING D5-JMM-2
6574: PPUSH
6575: CALL_OW 88
// end else
6579: GO 6643
// if tmp then
6581: LD_VAR 0 1
6585: IFFALSE 6643
// begin say ( tmp [ 1 ] , D5-Gos-1 ) ;
6587: LD_VAR 0 1
6591: PUSH
6592: LD_INT 1
6594: ARRAY
6595: PPUSH
6596: LD_STRING D5-Gos-1
6598: PPUSH
6599: CALL_OW 88
// say ( john , D5-JMM-1 ) ;
6603: LD_EXP 80
6607: PPUSH
6608: LD_STRING D5-JMM-1
6610: PPUSH
6611: CALL_OW 88
// say ( tmp [ 1 ] , D5-Gos-2 ) ;
6615: LD_VAR 0 1
6619: PUSH
6620: LD_INT 1
6622: ARRAY
6623: PPUSH
6624: LD_STRING D5-Gos-2
6626: PPUSH
6627: CALL_OW 88
// say ( john , D5-JMM-2 ) ;
6631: LD_EXP 80
6635: PPUSH
6636: LD_STRING D5-JMM-2
6638: PPUSH
6639: CALL_OW 88
// end ; dialogueoff ;
6643: CALL_OW 7
// case query ( QSaveBelkov ) of 1 :
6647: LD_STRING QSaveBelkov
6649: PPUSH
6650: CALL_OW 97
6654: PUSH
6655: LD_INT 1
6657: DOUBLE
6658: EQUAL
6659: IFTRUE 6663
6661: GO 6698
6663: POP
// begin dialogueon ;
6664: CALL_OW 6
// say ( john , D5a-JMM-1 ) ;
6668: LD_EXP 80
6672: PPUSH
6673: LD_STRING D5a-JMM-1
6675: PPUSH
6676: CALL_OW 88
// sayradio ( jahoda , D5a-Bel-1 ) ;
6680: LD_EXP 98
6684: PPUSH
6685: LD_STRING D5a-Bel-1
6687: PPUSH
6688: CALL_OW 94
// dialogueoff ;
6692: CALL_OW 7
// end ; 2 :
6696: GO 6748
6698: LD_INT 2
6700: DOUBLE
6701: EQUAL
6702: IFTRUE 6706
6704: GO 6747
6706: POP
// begin dialogueon ;
6707: CALL_OW 6
// say ( john , D5a-JMM-2 ) ;
6711: LD_EXP 80
6715: PPUSH
6716: LD_STRING D5a-JMM-2
6718: PPUSH
6719: CALL_OW 88
// dialogueoff ;
6723: CALL_OW 7
// commovexy ( jahoda , 117 , 97 ) ;
6727: LD_EXP 98
6731: PPUSH
6732: LD_INT 117
6734: PPUSH
6735: LD_INT 97
6737: PPUSH
6738: CALL_OW 111
// enable ( 04 ) ;
6742: LD_INT 4
6744: ENABLE_MARKED
// end ; end ;
6745: GO 6748
6747: POP
// end ;
6748: PPOPN 1
6750: END
// every 0 0$1 + 4 4$33 trigger filterallunits ( [ [ f_side , al ] , [ f_dist , jahoda , 6 ] ] ) do
6751: LD_INT 22
6753: PUSH
6754: LD_EXP 1
6758: PUSH
6759: EMPTY
6760: LIST
6761: LIST
6762: PUSH
6763: LD_INT 91
6765: PUSH
6766: LD_EXP 98
6770: PUSH
6771: LD_INT 6
6773: PUSH
6774: EMPTY
6775: LIST
6776: LIST
6777: LIST
6778: PUSH
6779: EMPTY
6780: LIST
6781: LIST
6782: PPUSH
6783: CALL_OW 69
6787: IFFALSE 6806
6789: GO 6791
6791: DISABLE
// begin setside ( jahoda , al ) ;
6792: LD_EXP 98
6796: PPUSH
6797: LD_EXP 1
6801: PPUSH
6802: CALL_OW 235
// end ;
6806: END
// every 0 0$1 + 8 8$03 trigger see ( al , ruv1 ) or see ( al , ruv2 ) or see ( al , ruv3 ) marked 03 do var tmp ;
6807: LD_EXP 1
6811: PPUSH
6812: LD_EXP 118
6816: PPUSH
6817: CALL_OW 292
6821: PUSH
6822: LD_EXP 1
6826: PPUSH
6827: LD_EXP 119
6831: PPUSH
6832: CALL_OW 292
6836: OR
6837: PUSH
6838: LD_EXP 1
6842: PPUSH
6843: LD_EXP 120
6847: PPUSH
6848: CALL_OW 292
6852: OR
6853: IFFALSE 6899
6855: GO 6857
6857: DISABLE
6858: LD_INT 0
6860: PPUSH
// begin if islive ( jahoda ) then
6861: LD_EXP 98
6865: PPUSH
6866: CALL_OW 300
6870: IFFALSE 6899
// begin wait ( 0 0$2 ) ;
6872: LD_INT 70
6874: PPUSH
6875: CALL_OW 67
// dialogueon ;
6879: CALL_OW 6
// say ( jahoda , D6-Bel-1 ) ;
6883: LD_EXP 98
6887: PPUSH
6888: LD_STRING D6-Bel-1
6890: PPUSH
6891: CALL_OW 88
// dialogueoff ;
6895: CALL_OW 7
// end ; end ;
6899: PPOPN 1
6901: END
// export masha ; every 10 10$05 do
6902: GO 6904
6904: DISABLE
// begin uc_side = oth ;
6905: LD_ADDR_OWVAR 20
6909: PUSH
6910: LD_EXP 4
6914: ST_TO_ADDR
// uc_nation = nation_russian ;
6915: LD_ADDR_OWVAR 21
6919: PUSH
6920: LD_INT 3
6922: ST_TO_ADDR
// vc_control = control_manual ;
6923: LD_ADDR_OWVAR 38
6927: PUSH
6928: LD_INT 1
6930: ST_TO_ADDR
// vc_engine = engine_combustion ;
6931: LD_ADDR_OWVAR 39
6935: PUSH
6936: LD_INT 1
6938: ST_TO_ADDR
// vc_chassis = ru_medium_wheeled ;
6939: LD_ADDR_OWVAR 37
6943: PUSH
6944: LD_INT 21
6946: ST_TO_ADDR
// vc_weapon = ru_gatling_gun ;
6947: LD_ADDR_OWVAR 40
6951: PUSH
6952: LD_INT 43
6954: ST_TO_ADDR
// masha = createvehicle ;
6955: LD_ADDR_EXP 112
6959: PUSH
6960: CALL_OW 45
6964: ST_TO_ADDR
// setmark ( masha , 1 ) ;
6965: LD_EXP 112
6969: PPUSH
6970: LD_INT 1
6972: PPUSH
6973: CALL_OW 242
// setfuel ( masha , 0 ) ;
6977: LD_EXP 112
6981: PPUSH
6982: LD_INT 0
6984: PPUSH
6985: CALL_OW 240
// setdir ( masha , 3 ) ;
6989: LD_EXP 112
6993: PPUSH
6994: LD_INT 3
6996: PPUSH
6997: CALL_OW 233
// setlives ( [ masha , burlak ] , 499 ) ;
7001: LD_EXP 112
7005: PUSH
7006: LD_EXP 99
7010: PUSH
7011: EMPTY
7012: LIST
7013: LIST
7014: PPUSH
7015: LD_INT 499
7017: PPUSH
7018: CALL_OW 234
// placeunitxy ( masha , 116 , 4 , false ) ;
7022: LD_EXP 112
7026: PPUSH
7027: LD_INT 116
7029: PPUSH
7030: LD_INT 4
7032: PPUSH
7033: LD_INT 0
7035: PPUSH
7036: CALL_OW 48
// placeunitxy ( burlak , 116 , 2 , false ) ;
7040: LD_EXP 99
7044: PPUSH
7045: LD_INT 116
7047: PPUSH
7048: LD_INT 2
7050: PPUSH
7051: LD_INT 0
7053: PPUSH
7054: CALL_OW 48
// commoveunit ( burlak , masha ) ;
7058: LD_EXP 99
7062: PPUSH
7063: LD_EXP 112
7067: PPUSH
7068: CALL_OW 112
// wait ( 0 0$0.3 ) ;
7072: LD_INT 10
7074: PPUSH
7075: CALL_OW 67
// commovexy ( masha , 109 , 9 ) ;
7079: LD_EXP 112
7083: PPUSH
7084: LD_INT 109
7086: PPUSH
7087: LD_INT 9
7089: PPUSH
7090: CALL_OW 111
// end ;
7094: END
// every 0 0$0.51 + 10 10$08 trigger isinarea ( masha , burlakarriv ) do var tmp ;
7095: LD_EXP 112
7099: PPUSH
7100: LD_INT 6
7102: PPUSH
7103: CALL_OW 308
7107: IFFALSE 7699
7109: GO 7111
7111: DISABLE
7112: LD_INT 0
7114: PPUSH
// begin tmp = filterallunits ( [ [ f_side , al ] , [ f_nation , nation_russian ] , [ f_ok ] ] ) ;
7115: LD_ADDR_VAR 0 1
7119: PUSH
7120: LD_INT 22
7122: PUSH
7123: LD_EXP 1
7127: PUSH
7128: EMPTY
7129: LIST
7130: LIST
7131: PUSH
7132: LD_INT 23
7134: PUSH
7135: LD_INT 3
7137: PUSH
7138: EMPTY
7139: LIST
7140: LIST
7141: PUSH
7142: LD_INT 50
7144: PUSH
7145: EMPTY
7146: LIST
7147: PUSH
7148: EMPTY
7149: LIST
7150: LIST
7151: LIST
7152: PPUSH
7153: CALL_OW 69
7157: ST_TO_ADDR
// commovexy ( burlak , 110 , 8 ) ;
7158: LD_EXP 99
7162: PPUSH
7163: LD_INT 110
7165: PPUSH
7166: LD_INT 8
7168: PPUSH
7169: CALL_OW 111
// wait ( 0 0$1 ) ;
7173: LD_INT 35
7175: PPUSH
7176: CALL_OW 67
// dialogueon ;
7180: CALL_OW 6
// sayradio ( burlak , D10-Bur-1 ) ;
7184: LD_EXP 99
7188: PPUSH
7189: LD_STRING D10-Bur-1
7191: PPUSH
7192: CALL_OW 94
// if isok ( jahoda ) then
7196: LD_EXP 98
7200: PPUSH
7201: CALL_OW 302
7205: IFFALSE 7221
// say ( jahoda , D10-Bel-1 ) else
7207: LD_EXP 98
7211: PPUSH
7212: LD_STRING D10-Bel-1
7214: PPUSH
7215: CALL_OW 88
7219: GO 7318
// if isok ( gossud ) then
7221: LD_EXP 96
7225: PPUSH
7226: CALL_OW 302
7230: IFFALSE 7246
// say ( gossud , D10-Gos-1 ) else
7232: LD_EXP 96
7236: PPUSH
7237: LD_STRING D10-Gos-1
7239: PPUSH
7240: CALL_OW 88
7244: GO 7318
// if isok ( kiril ) then
7246: LD_EXP 97
7250: PPUSH
7251: CALL_OW 302
7255: IFFALSE 7271
// say ( kiril , D10-Kir-1 ) else
7257: LD_EXP 97
7261: PPUSH
7262: LD_STRING D10-Kir-1
7264: PPUSH
7265: CALL_OW 88
7269: GO 7318
// if tmp then
7271: LD_VAR 0 1
7275: IFFALSE 7295
// say ( tmp [ 1 ] , D10-RSol1-1 ) else
7277: LD_VAR 0 1
7281: PUSH
7282: LD_INT 1
7284: ARRAY
7285: PPUSH
7286: LD_STRING D10-RSol1-1
7288: PPUSH
7289: CALL_OW 88
7293: GO 7318
// if isok ( roth ) then
7295: LD_EXP 81
7299: PPUSH
7300: CALL_OW 302
7304: IFFALSE 7318
// say ( roth , D10-RSol1-1 ) ;
7306: LD_EXP 81
7310: PPUSH
7311: LD_STRING D10-RSol1-1
7313: PPUSH
7314: CALL_OW 88
// sayradio ( burlak , D10-Bur-2 ) ;
7318: LD_EXP 99
7322: PPUSH
7323: LD_STRING D10-Bur-2
7325: PPUSH
7326: CALL_OW 94
// say ( john , D10-JMM-2 ) ;
7330: LD_EXP 80
7334: PPUSH
7335: LD_STRING D10-JMM-2
7337: PPUSH
7338: CALL_OW 88
// tmp = tmp diff gossud ;
7342: LD_ADDR_VAR 0 1
7346: PUSH
7347: LD_VAR 0 1
7351: PUSH
7352: LD_EXP 96
7356: DIFF
7357: ST_TO_ADDR
// if isok ( kiril ) then
7358: LD_EXP 97
7362: PPUSH
7363: CALL_OW 302
7367: IFFALSE 7383
// say ( kiril , D10-Kir-2 ) else
7369: LD_EXP 97
7373: PPUSH
7374: LD_STRING D10-Kir-2
7376: PPUSH
7377: CALL_OW 88
7381: GO 7405
// if tmp then
7383: LD_VAR 0 1
7387: IFFALSE 7405
// say ( tmp [ 1 ] , D10-RSol1-2 ) ;
7389: LD_VAR 0 1
7393: PUSH
7394: LD_INT 1
7396: ARRAY
7397: PPUSH
7398: LD_STRING D10-RSol1-2
7400: PPUSH
7401: CALL_OW 88
// say ( john , D10-JMM-3 ) ;
7405: LD_EXP 80
7409: PPUSH
7410: LD_STRING D10-JMM-3
7412: PPUSH
7413: CALL_OW 88
// sayradio ( burlak , D10-Bur-3 ) ;
7417: LD_EXP 99
7421: PPUSH
7422: LD_STRING D10-Bur-3
7424: PPUSH
7425: CALL_OW 94
// say ( john , D10-JMM-4 ) ;
7429: LD_EXP 80
7433: PPUSH
7434: LD_STRING D10-JMM-4
7436: PPUSH
7437: CALL_OW 88
// dialogueoff ;
7441: CALL_OW 7
// changemissionobjectives ( M2 ) ;
7445: LD_STRING M2
7447: PPUSH
7448: CALL_OW 337
// update_display ( 1 ) ;
7452: LD_INT 1
7454: PPUSH
7455: CALL 13568 0 1
// case difficulty of 1 :
7459: LD_OWVAR 67
7463: PUSH
7464: LD_INT 1
7466: DOUBLE
7467: EQUAL
7468: IFTRUE 7472
7470: GO 7482
7472: POP
// wait ( 20 20$0 ) ; 2 :
7473: LD_INT 42000
7475: PPUSH
7476: CALL_OW 67
7480: GO 7519
7482: LD_INT 2
7484: DOUBLE
7485: EQUAL
7486: IFTRUE 7490
7488: GO 7500
7490: POP
// wait ( 15 15$0 ) ; 3 :
7491: LD_INT 31500
7493: PPUSH
7494: CALL_OW 67
7498: GO 7519
7500: LD_INT 3
7502: DOUBLE
7503: EQUAL
7504: IFTRUE 7508
7506: GO 7518
7508: POP
// wait ( 7 7$0 ) ; end ;
7509: LD_INT 14700
7511: PPUSH
7512: CALL_OW 67
7516: GO 7519
7518: POP
// hiddencamera ( 117 , 15 , ar ) ;
7519: LD_INT 117
7521: PPUSH
7522: LD_INT 15
7524: PPUSH
7525: LD_EXP 3
7529: PPUSH
7530: CALL_OW 244
// hiddencamera ( 111 , 18 , ar ) ;
7534: LD_INT 111
7536: PPUSH
7537: LD_INT 18
7539: PPUSH
7540: LD_EXP 3
7544: PPUSH
7545: CALL_OW 244
// hiddencamera ( 107 , 18 , ar ) ;
7549: LD_INT 107
7551: PPUSH
7552: LD_INT 18
7554: PPUSH
7555: LD_EXP 3
7559: PPUSH
7560: CALL_OW 244
// hiddencamera ( 108 , 23 , ar ) ;
7564: LD_INT 108
7566: PPUSH
7567: LD_INT 23
7569: PPUSH
7570: LD_EXP 3
7574: PPUSH
7575: CALL_OW 244
// hiddencamera ( 122 , 18 , ar ) ;
7579: LD_INT 122
7581: PPUSH
7582: LD_INT 18
7584: PPUSH
7585: LD_EXP 3
7589: PPUSH
7590: CALL_OW 244
// hiddencamera ( 102 , 22 , ar ) ;
7594: LD_INT 102
7596: PPUSH
7597: LD_INT 22
7599: PPUSH
7600: LD_EXP 3
7604: PPUSH
7605: CALL_OW 244
// hiddencamera ( 107 , 29 , ar ) ;
7609: LD_INT 107
7611: PPUSH
7612: LD_INT 29
7614: PPUSH
7615: LD_EXP 3
7619: PPUSH
7620: CALL_OW 244
// defid = mcdefend ( 100 , regid , [ ars3 , ars4 , ars5 , arm1 , arm4 , arm5 , arm6 ] , [ [ mc_area_dont_leave , area4reg ] ] ) ;
7624: LD_ADDR_EXP 152
7628: PUSH
7629: LD_INT 100
7631: PPUSH
7632: LD_EXP 151
7636: PPUSH
7637: LD_EXP 9
7641: PUSH
7642: LD_EXP 10
7646: PUSH
7647: LD_EXP 11
7651: PUSH
7652: LD_EXP 136
7656: PUSH
7657: LD_EXP 142
7661: PUSH
7662: LD_EXP 144
7666: PUSH
7667: LD_EXP 146
7671: PUSH
7672: EMPTY
7673: LIST
7674: LIST
7675: LIST
7676: LIST
7677: LIST
7678: LIST
7679: LIST
7680: PPUSH
7681: LD_INT 2
7683: PUSH
7684: LD_INT 25
7686: PUSH
7687: EMPTY
7688: LIST
7689: LIST
7690: PUSH
7691: EMPTY
7692: LIST
7693: PPUSH
7694: CALL_OW 401
7698: ST_TO_ADDR
// end ;
7699: PPOPN 1
7701: END
// export burlakmet ; every 0 0$1 + 10 10$15 trigger filterallunits ( [ [ f_side , al ] , [ f_dist , burlak , 6 ] ] ) marked 08 do
7702: LD_INT 22
7704: PUSH
7705: LD_EXP 1
7709: PUSH
7710: EMPTY
7711: LIST
7712: LIST
7713: PUSH
7714: LD_INT 91
7716: PUSH
7717: LD_EXP 99
7721: PUSH
7722: LD_INT 6
7724: PUSH
7725: EMPTY
7726: LIST
7727: LIST
7728: LIST
7729: PUSH
7730: EMPTY
7731: LIST
7732: LIST
7733: PPUSH
7734: CALL_OW 69
7738: IFFALSE 7768
7740: GO 7742
7742: DISABLE
// begin setside ( burlak , al ) ;
7743: LD_EXP 99
7747: PPUSH
7748: LD_EXP 1
7752: PPUSH
7753: CALL_OW 235
// burlakmet = true ;
7757: LD_ADDR_EXP 113
7761: PUSH
7762: LD_INT 1
7764: ST_TO_ADDR
// enable ( 13 ) ;
7765: LD_INT 13
7767: ENABLE_MARKED
// end ;
7768: END
// every 0 0$1 + 10 10$15 trigger getdistunits ( john , burlak ) < 11 do var tmp , tmp2 ;
7769: LD_EXP 80
7773: PPUSH
7774: LD_EXP 99
7778: PPUSH
7779: CALL_OW 296
7783: PUSH
7784: LD_INT 11
7786: LESS
7787: IFFALSE 8429
7789: GO 7791
7791: DISABLE
7792: LD_INT 0
7794: PPUSH
7795: PPUSH
// begin disable ( 08 ) ;
7796: LD_INT 8
7798: DISABLE_MARKED
// setside ( burlak , al ) ;
7799: LD_EXP 99
7803: PPUSH
7804: LD_EXP 1
7808: PPUSH
7809: CALL_OW 235
// burlakmet = true ;
7813: LD_ADDR_EXP 113
7817: PUSH
7818: LD_INT 1
7820: ST_TO_ADDR
// enable ( 13 ) ;
7821: LD_INT 13
7823: ENABLE_MARKED
// tmp = filterallunits ( [ [ f_side , al ] , [ f_ok ] , f_not , [ f_nation , nation_nature ] ] ) ;
7824: LD_ADDR_VAR 0 1
7828: PUSH
7829: LD_INT 22
7831: PUSH
7832: LD_EXP 1
7836: PUSH
7837: EMPTY
7838: LIST
7839: LIST
7840: PUSH
7841: LD_INT 50
7843: PUSH
7844: EMPTY
7845: LIST
7846: PUSH
7847: LD_INT 3
7849: PUSH
7850: LD_INT 23
7852: PUSH
7853: LD_INT 0
7855: PUSH
7856: EMPTY
7857: LIST
7858: LIST
7859: PUSH
7860: EMPTY
7861: LIST
7862: LIST
7863: LIST
7864: LIST
7865: PPUSH
7866: CALL_OW 69
7870: ST_TO_ADDR
// tmp2 = unitfilter ( tmp , [ [ f_class , class_scientistic ] ] ) ;
7871: LD_ADDR_VAR 0 2
7875: PUSH
7876: LD_VAR 0 1
7880: PPUSH
7881: LD_INT 25
7883: PUSH
7884: LD_INT 4
7886: PUSH
7887: EMPTY
7888: LIST
7889: LIST
7890: PUSH
7891: EMPTY
7892: LIST
7893: PPUSH
7894: CALL_OW 72
7898: ST_TO_ADDR
// dialogueon ;
7899: CALL_OW 6
// say ( john , D11-JMM-1 ) ;
7903: LD_EXP 80
7907: PPUSH
7908: LD_STRING D11-JMM-1
7910: PPUSH
7911: CALL_OW 88
// say ( burlak , D11-Bur-1 ) ;
7915: LD_EXP 99
7919: PPUSH
7920: LD_STRING D11-Bur-1
7922: PPUSH
7923: CALL_OW 88
// say ( john , D11-JMM-2 ) ;
7927: LD_EXP 80
7931: PPUSH
7932: LD_STRING D11-JMM-2
7934: PPUSH
7935: CALL_OW 88
// say ( burlak , D11-Bur-2 ) ;
7939: LD_EXP 99
7943: PPUSH
7944: LD_STRING D11-Bur-2
7946: PPUSH
7947: CALL_OW 88
// say ( john , D11-JMM-3 ) ;
7951: LD_EXP 80
7955: PPUSH
7956: LD_STRING D11-JMM-3
7958: PPUSH
7959: CALL_OW 88
// say ( burlak , D11-Bur-3 ) ;
7963: LD_EXP 99
7967: PPUSH
7968: LD_STRING D11-Bur-3
7970: PPUSH
7971: CALL_OW 88
// say ( john , D11-JMM-4 ) ;
7975: LD_EXP 80
7979: PPUSH
7980: LD_STRING D11-JMM-4
7982: PPUSH
7983: CALL_OW 88
// dialogueoff ;
7987: CALL_OW 7
// changemissionobjectives ( M3 ) ;
7991: LD_STRING M3
7993: PPUSH
7994: CALL_OW 337
// dialogueon ;
7998: CALL_OW 6
// if ar_base_spotted then
8002: LD_EXP 153
8006: IFFALSE 8022
// say ( burlak , D12-Bur-1 ) else
8008: LD_EXP 99
8012: PPUSH
8013: LD_STRING D12-Bur-1
8015: PPUSH
8016: CALL_OW 88
8020: GO 8059
// begin disable ( 06 ) ;
8022: LD_INT 6
8024: DISABLE_MARKED
// say ( burlak , D12-Bur-1a ) ;
8025: LD_EXP 99
8029: PPUSH
8030: LD_STRING D12-Bur-1a
8032: PPUSH
8033: CALL_OW 88
// revealfogarea ( al , arab_base_reveal ) ;
8037: LD_EXP 1
8041: PPUSH
8042: LD_INT 11
8044: PPUSH
8045: CALL_OW 332
// centernowonunits ( [ abduluv ] ) ;
8049: LD_INT 22
8051: PUSH
8052: EMPTY
8053: LIST
8054: PPUSH
8055: CALL_OW 87
// end ; say ( burlak , D12-Bur-1b ) ;
8059: LD_EXP 99
8063: PPUSH
8064: LD_STRING D12-Bur-1b
8066: PPUSH
8067: CALL_OW 88
// say ( john , D12-JMM-1 ) ;
8071: LD_EXP 80
8075: PPUSH
8076: LD_STRING D12-JMM-1
8078: PPUSH
8079: CALL_OW 88
// say ( burlak , D12-Bur-2 ) ;
8083: LD_EXP 99
8087: PPUSH
8088: LD_STRING D12-Bur-2
8090: PPUSH
8091: CALL_OW 88
// if isok ( roth ) then
8095: LD_EXP 81
8099: PPUSH
8100: CALL_OW 302
8104: IFFALSE 8120
// say ( roth , D12-Roth-2 ) else
8106: LD_EXP 81
8110: PPUSH
8111: LD_STRING D12-Roth-2
8113: PPUSH
8114: CALL_OW 88
8118: GO 8166
// if tmp2 then
8120: LD_VAR 0 2
8124: IFFALSE 8144
// say ( tmp2 [ 1 ] , D12-RSci1-2 ) else
8126: LD_VAR 0 2
8130: PUSH
8131: LD_INT 1
8133: ARRAY
8134: PPUSH
8135: LD_STRING D12-RSci1-2
8137: PPUSH
8138: CALL_OW 88
8142: GO 8166
// if tmp then
8144: LD_VAR 0 1
8148: IFFALSE 8166
// say ( tmp [ 1 ] , D12-RSci1-2 ) ;
8150: LD_VAR 0 1
8154: PUSH
8155: LD_INT 1
8157: ARRAY
8158: PPUSH
8159: LD_STRING D12-RSci1-2
8161: PPUSH
8162: CALL_OW 88
// say ( john , D12-JMM-2 ) ;
8166: LD_EXP 80
8170: PPUSH
8171: LD_STRING D12-JMM-2
8173: PPUSH
8174: CALL_OW 88
// say ( burlak , D12-Bur-3 ) ;
8178: LD_EXP 99
8182: PPUSH
8183: LD_STRING D12-Bur-3
8185: PPUSH
8186: CALL_OW 88
// say ( john , D12-JMM-3 ) ;
8190: LD_EXP 80
8194: PPUSH
8195: LD_STRING D12-JMM-3
8197: PPUSH
8198: CALL_OW 88
// say ( burlak , D12-Bur-4 ) ;
8202: LD_EXP 99
8206: PPUSH
8207: LD_STRING D12-Bur-4
8209: PPUSH
8210: CALL_OW 88
// dialogueoff ;
8214: CALL_OW 7
// case query ( QBase ) of 1 :
8218: LD_STRING QBase
8220: PPUSH
8221: CALL_OW 97
8225: PUSH
8226: LD_INT 1
8228: DOUBLE
8229: EQUAL
8230: IFTRUE 8234
8232: GO 8391
8234: POP
// begin dialogueon ;
8235: CALL_OW 6
// say ( john , D13a-JMM-1 ) ;
8239: LD_EXP 80
8243: PPUSH
8244: LD_STRING D13a-JMM-1
8246: PPUSH
8247: CALL_OW 88
// say ( burlak , D13a-Bur-1 ) ;
8251: LD_EXP 99
8255: PPUSH
8256: LD_STRING D13a-Bur-1
8258: PPUSH
8259: CALL_OW 88
// if isok ( roth ) then
8263: LD_EXP 81
8267: PPUSH
8268: CALL_OW 302
8272: IFFALSE 8288
// say ( roth , D13a-Roth-1 ) else
8274: LD_EXP 81
8278: PPUSH
8279: LD_STRING D13a-Roth-1
8281: PPUSH
8282: CALL_OW 88
8286: GO 8334
// if tmp2 then
8288: LD_VAR 0 2
8292: IFFALSE 8312
// say ( tmp2 [ 1 ] , D13a-RSci1-1 ) else
8294: LD_VAR 0 2
8298: PUSH
8299: LD_INT 1
8301: ARRAY
8302: PPUSH
8303: LD_STRING D13a-RSci1-1
8305: PPUSH
8306: CALL_OW 88
8310: GO 8334
// if tmp then
8312: LD_VAR 0 1
8316: IFFALSE 8334
// say ( tmp [ 1 ] , D13a-RSci1-1 ) ;
8318: LD_VAR 0 1
8322: PUSH
8323: LD_INT 1
8325: ARRAY
8326: PPUSH
8327: LD_STRING D13a-RSci1-1
8329: PPUSH
8330: CALL_OW 88
// say ( john , D13a-JMM-2 ) ;
8334: LD_EXP 80
8338: PPUSH
8339: LD_STRING D13a-JMM-2
8341: PPUSH
8342: CALL_OW 88
// dialogueoff ;
8346: CALL_OW 7
// case query ( QBaseAgain ) of 1 :
8350: LD_STRING QBaseAgain
8352: PPUSH
8353: CALL_OW 97
8357: PUSH
8358: LD_INT 1
8360: DOUBLE
8361: EQUAL
8362: IFTRUE 8366
8364: GO 8373
8366: POP
// pokec1 ; 2 :
8367: CALL 8432 0 0
8371: GO 8389
8373: LD_INT 2
8375: DOUBLE
8376: EQUAL
8377: IFTRUE 8381
8379: GO 8388
8381: POP
// pokec2 ; end ;
8382: CALL 8543 0 0
8386: GO 8389
8388: POP
// end ; 2 :
8389: GO 8422
8391: LD_INT 2
8393: DOUBLE
8394: EQUAL
8395: IFTRUE 8399
8397: GO 8406
8399: POP
// pokec1 ; 3 :
8400: CALL 8432 0 0
8404: GO 8422
8406: LD_INT 3
8408: DOUBLE
8409: EQUAL
8410: IFTRUE 8414
8412: GO 8421
8414: POP
// pokec2 ; end ;
8415: CALL 8543 0 0
8419: GO 8422
8421: POP
// changemissionobjectives ( M4 ) ;
8422: LD_STRING M4
8424: PPUSH
8425: CALL_OW 337
// end ;
8429: PPOPN 2
8431: END
// export vyjednavalo_se ; function pokec1 ; begin
8432: LD_INT 0
8434: PPUSH
// dialogueon ;
8435: CALL_OW 6
// say ( john , D13b-JMM-1 ) ;
8439: LD_EXP 80
8443: PPUSH
8444: LD_STRING D13b-JMM-1
8446: PPUSH
8447: CALL_OW 88
// say ( burlak , D13b-Bur-1 ) ;
8451: LD_EXP 99
8455: PPUSH
8456: LD_STRING D13b-Bur-1
8458: PPUSH
8459: CALL_OW 88
// say ( john , D13b-JMM-2 ) ;
8463: LD_EXP 80
8467: PPUSH
8468: LD_STRING D13b-JMM-2
8470: PPUSH
8471: CALL_OW 88
// sayradio ( abdul , D13b-Abd-2 ) ;
8475: LD_EXP 134
8479: PPUSH
8480: LD_STRING D13b-Abd-2
8482: PPUSH
8483: CALL_OW 94
// say ( john , D13b-JMM-3 ) ;
8487: LD_EXP 80
8491: PPUSH
8492: LD_STRING D13b-JMM-3
8494: PPUSH
8495: CALL_OW 88
// sayradio ( abdul , D13b-Abd-3 ) ;
8499: LD_EXP 134
8503: PPUSH
8504: LD_STRING D13b-Abd-3
8506: PPUSH
8507: CALL_OW 94
// say ( john , D13b-JMM-4 ) ;
8511: LD_EXP 80
8515: PPUSH
8516: LD_STRING D13b-JMM-4
8518: PPUSH
8519: CALL_OW 88
// dialogueoff ;
8523: CALL_OW 7
// vyjednavalo_se = true ;
8527: LD_ADDR_EXP 114
8531: PUSH
8532: LD_INT 1
8534: ST_TO_ADDR
// enable ( 07 ) ;
8535: LD_INT 7
8537: ENABLE_MARKED
// end ;
8538: LD_VAR 0 1
8542: RET
// function pokec2 ; begin
8543: LD_INT 0
8545: PPUSH
// dialogueon ;
8546: CALL_OW 6
// say ( john , D13c-JMM-1 ) ;
8550: LD_EXP 80
8554: PPUSH
8555: LD_STRING D13c-JMM-1
8557: PPUSH
8558: CALL_OW 88
// say ( burlak , D13c-Bur-1 ) ;
8562: LD_EXP 99
8566: PPUSH
8567: LD_STRING D13c-Bur-1
8569: PPUSH
8570: CALL_OW 88
// dialogueoff ;
8574: CALL_OW 7
// end ; end_of_file
8578: LD_VAR 0 1
8582: RET
// export rusove , rusoveu ; export ruv0 , ruv1 , ruv2 , ruv3 , ruv4 , ruv5 , ruv6 , ruv7 , ruv8 ; export rumech1 , rumech2 , rumech3 , rumech4 , rumech5 , rumech6 , rumech7 , rumech8 ; every 2 2$30 do
8583: GO 8585
8585: DISABLE
// begin uc_side = rus ;
8586: LD_ADDR_OWVAR 20
8590: PUSH
8591: LD_EXP 2
8595: ST_TO_ADDR
// uc_nation = nation_russian ;
8596: LD_ADDR_OWVAR 21
8600: PUSH
8601: LD_INT 3
8603: ST_TO_ADDR
// vc_engine = engine_siberite ;
8604: LD_ADDR_OWVAR 39
8608: PUSH
8609: LD_INT 3
8611: ST_TO_ADDR
// vc_control = control_computer ;
8612: LD_ADDR_OWVAR 38
8616: PUSH
8617: LD_INT 3
8619: ST_TO_ADDR
// vc_chassis = ruv0_ch ;
8620: LD_ADDR_OWVAR 37
8624: PUSH
8625: LD_EXP 44
8629: ST_TO_ADDR
// vc_weapon = ruv0_wp ;
8630: LD_ADDR_OWVAR 40
8634: PUSH
8635: LD_EXP 45
8639: ST_TO_ADDR
// ruv0 = createvehicle ;
8640: LD_ADDR_EXP 117
8644: PUSH
8645: CALL_OW 45
8649: ST_TO_ADDR
// setdir ( ruv0 , 0 ) ;
8650: LD_EXP 117
8654: PPUSH
8655: LD_INT 0
8657: PPUSH
8658: CALL_OW 233
// placeunitxy ( ruv0 , 70 , 96 , false ) ;
8662: LD_EXP 117
8666: PPUSH
8667: LD_INT 70
8669: PPUSH
8670: LD_INT 96
8672: PPUSH
8673: LD_INT 0
8675: PPUSH
8676: CALL_OW 48
// commovexy ( ruv0 , 60 , 48 ) ;
8680: LD_EXP 117
8684: PPUSH
8685: LD_INT 60
8687: PPUSH
8688: LD_INT 48
8690: PPUSH
8691: CALL_OW 111
// addcommovexy ( ruv0 , 70 , 97 ) ;
8695: LD_EXP 117
8699: PPUSH
8700: LD_INT 70
8702: PPUSH
8703: LD_INT 97
8705: PPUSH
8706: CALL_OW 171
// end ;
8710: END
// every 0 0$1 + 2 2$35 trigger isinarea ( ruv0 , south_exit_0 ) do
8711: LD_EXP 117
8715: PPUSH
8716: LD_INT 3
8718: PPUSH
8719: CALL_OW 308
8723: IFFALSE 8745
8725: GO 8727
8727: DISABLE
// begin destroyunit ( ruv0 ) ;
8728: LD_EXP 117
8732: PPUSH
8733: CALL_OW 65
// ruv0 = 0 ;
8737: LD_ADDR_EXP 117
8741: PUSH
8742: LD_INT 0
8744: ST_TO_ADDR
// end ;
8745: END
// var ruvzj ; every 0 0$1 marked 04 do
8746: GO 8748
8748: DISABLE
// begin uc_side = rus ;
8749: LD_ADDR_OWVAR 20
8753: PUSH
8754: LD_EXP 2
8758: ST_TO_ADDR
// uc_nation = nation_russian ;
8759: LD_ADDR_OWVAR 21
8763: PUSH
8764: LD_INT 3
8766: ST_TO_ADDR
// vc_engine = engine_siberite ;
8767: LD_ADDR_OWVAR 39
8771: PUSH
8772: LD_INT 3
8774: ST_TO_ADDR
// vc_control = control_manual ;
8775: LD_ADDR_OWVAR 38
8779: PUSH
8780: LD_INT 1
8782: ST_TO_ADDR
// vc_chassis = ru_heavy_tracked ;
8783: LD_ADDR_OWVAR 37
8787: PUSH
8788: LD_INT 24
8790: ST_TO_ADDR
// vc_weapon = ru_gatling_gun ;
8791: LD_ADDR_OWVAR 40
8795: PUSH
8796: LD_INT 43
8798: ST_TO_ADDR
// ruvzj = createvehicle ;
8799: LD_ADDR_LOC 6
8803: PUSH
8804: CALL_OW 45
8808: ST_TO_ADDR
// setdir ( ruvzj , 0 ) ;
8809: LD_LOC 6
8813: PPUSH
8814: LD_INT 0
8816: PPUSH
8817: CALL_OW 233
// placeunitxyr ( ruvzj , 112 , 96 , 5 , false ) ;
8821: LD_LOC 6
8825: PPUSH
8826: LD_INT 112
8828: PPUSH
8829: LD_INT 96
8831: PPUSH
8832: LD_INT 5
8834: PPUSH
8835: LD_INT 0
8837: PPUSH
8838: CALL_OW 50
// preparemechanic ( sex_male , 8 ) ;
8842: LD_INT 1
8844: PPUSH
8845: LD_INT 8
8847: PPUSH
8848: CALL_OW 383
// placehumaninunit ( createhuman , ruvzj ) ;
8852: CALL_OW 44
8856: PPUSH
8857: LD_LOC 6
8861: PPUSH
8862: CALL_OW 52
// comattackunit ( ruvzj , jahoda ) ;
8866: LD_LOC 6
8870: PPUSH
8871: LD_EXP 98
8875: PPUSH
8876: CALL_OW 115
// end ;
8880: END
// on unitgoestored ( un ) do if un = jahoda then
8881: LD_VAR 0 1
8885: PUSH
8886: LD_EXP 98
8890: EQUAL
8891: IFFALSE 8907
// comattackunit ( ruvzj , jahoda ) ;
8893: LD_LOC 6
8897: PPUSH
8898: LD_EXP 98
8902: PPUSH
8903: CALL_OW 115
8907: PPOPN 1
8909: END
// on unitdestroyed ( un ) do if un = jahoda then
8910: LD_VAR 0 1
8914: PUSH
8915: LD_EXP 98
8919: EQUAL
8920: IFFALSE 8942
// begin commovexy ( ruvzj , 112 , 96 ) ;
8922: LD_LOC 6
8926: PPUSH
8927: LD_INT 112
8929: PPUSH
8930: LD_INT 96
8932: PPUSH
8933: CALL_OW 111
// enable ( 12 ) ;
8937: LD_INT 12
8939: ENABLE_MARKED
// end else
8940: GO 9111
// if un = john then
8942: LD_VAR 0 1
8946: PUSH
8947: LD_EXP 80
8951: EQUAL
8952: IFFALSE 8963
// youlost ( JMM ) else
8954: LD_STRING JMM
8956: PPUSH
8957: CALL_OW 104
8961: GO 9111
// if ( un = burlak ) and burlakmet then
8963: LD_VAR 0 1
8967: PUSH
8968: LD_EXP 99
8972: EQUAL
8973: PUSH
8974: LD_EXP 113
8978: AND
8979: IFFALSE 8990
// youlost ( Burlak ) else
8981: LD_STRING Burlak
8983: PPUSH
8984: CALL_OW 104
8988: GO 9111
// if ( un = abdul ) and isdead ( abduluv ) then
8990: LD_VAR 0 1
8994: PUSH
8995: LD_EXP 134
8999: EQUAL
9000: PUSH
9001: LD_INT 22
9003: PPUSH
9004: CALL_OW 301
9008: AND
9009: IFFALSE 9020
// changemissionobjectives ( M4a ) else
9011: LD_STRING M4a
9013: PPUSH
9014: CALL_OW 337
9018: GO 9111
// if ( un = abduluv ) and isdead ( abdul ) then
9020: LD_VAR 0 1
9024: PUSH
9025: LD_INT 22
9027: EQUAL
9028: PUSH
9029: LD_EXP 134
9033: PPUSH
9034: CALL_OW 301
9038: AND
9039: IFFALSE 9050
// changemissionobjectives ( M4a ) else
9041: LD_STRING M4a
9043: PPUSH
9044: CALL_OW 337
9048: GO 9111
// if ( un = nakladak ) then
9050: LD_VAR 0 1
9054: PUSH
9055: LD_INT 23
9057: EQUAL
9058: IFFALSE 9073
// begin artef_out = true ;
9060: LD_ADDR_EXP 78
9064: PUSH
9065: LD_INT 1
9067: ST_TO_ADDR
// enable ( 15 ) ;
9068: LD_INT 15
9070: ENABLE_MARKED
// end else
9071: GO 9111
// if ( un = arbarr ) then
9073: LD_VAR 0 1
9077: PUSH
9078: LD_INT 2
9080: EQUAL
9081: IFFALSE 9093
// base_out = true else
9083: LD_ADDR_EXP 79
9087: PUSH
9088: LD_INT 1
9090: ST_TO_ADDR
9091: GO 9111
// if ( un = ar_depot ) then
9093: LD_VAR 0 1
9097: PUSH
9098: LD_INT 1
9100: EQUAL
9101: IFFALSE 9111
// base_out = true ;
9103: LD_ADDR_EXP 79
9107: PUSH
9108: LD_INT 1
9110: ST_TO_ADDR
9111: PPOPN 1
9113: END
// every 0 0$1 trigger isinarea ( ruvzj , south_exit_2 ) marked 12 do
9114: LD_LOC 6
9118: PPUSH
9119: LD_INT 10
9121: PPUSH
9122: CALL_OW 308
9126: IFFALSE 9148
9128: GO 9130
9130: DISABLE
// begin destroyunit ( ruvzj ) ;
9131: LD_LOC 6
9135: PPUSH
9136: CALL_OW 65
// ruvzj = 0 ;
9140: LD_ADDR_LOC 6
9144: PUSH
9145: LD_INT 0
9147: ST_TO_ADDR
// end ;
9148: END
// every 0 0$15 + 7 7$45 do var tmp ;
9149: GO 9151
9151: DISABLE
9152: LD_INT 0
9154: PPUSH
// begin delay = delay - 0 0$15 ;
9155: LD_ADDR_EXP 72
9159: PUSH
9160: LD_EXP 72
9164: PUSH
9165: LD_INT 525
9167: MINUS
9168: ST_TO_ADDR
// if delay then
9169: LD_EXP 72
9173: IFFALSE 9178
// begin enable ;
9175: ENABLE
// exit ;
9176: GO 9658
// end ; case difficulty of 1 :
9178: LD_OWVAR 67
9182: PUSH
9183: LD_INT 1
9185: DOUBLE
9186: EQUAL
9187: IFTRUE 9191
9189: GO 9202
9191: POP
// time2wait = 3 3$00 ; 2 :
9192: LD_ADDR_EXP 71
9196: PUSH
9197: LD_INT 6300
9199: ST_TO_ADDR
9200: GO 9241
9202: LD_INT 2
9204: DOUBLE
9205: EQUAL
9206: IFTRUE 9210
9208: GO 9221
9210: POP
// time2wait = 1 1$30 ; 3 :
9211: LD_ADDR_EXP 71
9215: PUSH
9216: LD_INT 3150
9218: ST_TO_ADDR
9219: GO 9241
9221: LD_INT 3
9223: DOUBLE
9224: EQUAL
9225: IFTRUE 9229
9227: GO 9240
9229: POP
// time2wait = 0 0$30 ; end ;
9230: LD_ADDR_EXP 71
9234: PUSH
9235: LD_INT 1050
9237: ST_TO_ADDR
9238: GO 9241
9240: POP
// delay = time2wait ;
9241: LD_ADDR_EXP 72
9245: PUSH
9246: LD_EXP 71
9250: ST_TO_ADDR
// uc_side = rus ;
9251: LD_ADDR_OWVAR 20
9255: PUSH
9256: LD_EXP 2
9260: ST_TO_ADDR
// uc_nation = nation_russian ;
9261: LD_ADDR_OWVAR 21
9265: PUSH
9266: LD_INT 3
9268: ST_TO_ADDR
// vc_engine = engine_siberite ;
9269: LD_ADDR_OWVAR 39
9273: PUSH
9274: LD_INT 3
9276: ST_TO_ADDR
// vc_control = control_manual ;
9277: LD_ADDR_OWVAR 38
9281: PUSH
9282: LD_INT 1
9284: ST_TO_ADDR
// vc_chassis = ruv1_ch ;
9285: LD_ADDR_OWVAR 37
9289: PUSH
9290: LD_EXP 46
9294: ST_TO_ADDR
// vc_weapon = ruv1_wp ;
9295: LD_ADDR_OWVAR 40
9299: PUSH
9300: LD_EXP 47
9304: ST_TO_ADDR
// ruv1 = createvehicle ;
9305: LD_ADDR_EXP 118
9309: PUSH
9310: CALL_OW 45
9314: ST_TO_ADDR
// setdir ( ruv1 , 0 ) ;
9315: LD_EXP 118
9319: PPUSH
9320: LD_INT 0
9322: PPUSH
9323: CALL_OW 233
// placeunitxy ( ruv1 , 70 , 95 , false ) ;
9327: LD_EXP 118
9331: PPUSH
9332: LD_INT 70
9334: PPUSH
9335: LD_INT 95
9337: PPUSH
9338: LD_INT 0
9340: PPUSH
9341: CALL_OW 48
// preparemechanic ( sex_male , rumech1_sk ) ;
9345: LD_INT 1
9347: PPUSH
9348: LD_EXP 62
9352: PPUSH
9353: CALL_OW 383
// rumech1 = createhuman ;
9357: LD_ADDR_EXP 126
9361: PUSH
9362: CALL_OW 44
9366: ST_TO_ADDR
// placehumaninunit ( rumech1 , ruv1 ) ;
9367: LD_EXP 126
9371: PPUSH
9372: LD_EXP 118
9376: PPUSH
9377: CALL_OW 52
// vc_chassis = ruv2_ch ;
9381: LD_ADDR_OWVAR 37
9385: PUSH
9386: LD_EXP 48
9390: ST_TO_ADDR
// vc_weapon = ruv2_wp ;
9391: LD_ADDR_OWVAR 40
9395: PUSH
9396: LD_EXP 49
9400: ST_TO_ADDR
// ruv2 = createvehicle ;
9401: LD_ADDR_EXP 119
9405: PUSH
9406: CALL_OW 45
9410: ST_TO_ADDR
// setdir ( ruv2 , 0 ) ;
9411: LD_EXP 119
9415: PPUSH
9416: LD_INT 0
9418: PPUSH
9419: CALL_OW 233
// placeunitxy ( ruv2 , 35 , 63 , false ) ;
9423: LD_EXP 119
9427: PPUSH
9428: LD_INT 35
9430: PPUSH
9431: LD_INT 63
9433: PPUSH
9434: LD_INT 0
9436: PPUSH
9437: CALL_OW 48
// preparemechanic ( sex_male , rumech2_sk ) ;
9441: LD_INT 1
9443: PPUSH
9444: LD_EXP 63
9448: PPUSH
9449: CALL_OW 383
// rumech2 = createhuman ;
9453: LD_ADDR_EXP 127
9457: PUSH
9458: CALL_OW 44
9462: ST_TO_ADDR
// placehumaninunit ( rumech2 , ruv2 ) ;
9463: LD_EXP 127
9467: PPUSH
9468: LD_EXP 119
9472: PPUSH
9473: CALL_OW 52
// vc_chassis = ruv3_ch ;
9477: LD_ADDR_OWVAR 37
9481: PUSH
9482: LD_EXP 50
9486: ST_TO_ADDR
// vc_weapon = ruv3_wp ;
9487: LD_ADDR_OWVAR 40
9491: PUSH
9492: LD_EXP 51
9496: ST_TO_ADDR
// ruv3 = createvehicle ;
9497: LD_ADDR_EXP 120
9501: PUSH
9502: CALL_OW 45
9506: ST_TO_ADDR
// setdir ( ruv3 , 0 ) ;
9507: LD_EXP 120
9511: PPUSH
9512: LD_INT 0
9514: PPUSH
9515: CALL_OW 233
// placeunitxy ( ruv3 , 99 , 95 , false ) ;
9519: LD_EXP 120
9523: PPUSH
9524: LD_INT 99
9526: PPUSH
9527: LD_INT 95
9529: PPUSH
9530: LD_INT 0
9532: PPUSH
9533: CALL_OW 48
// preparemechanic ( sex_male , rumech3_sk ) ;
9537: LD_INT 1
9539: PPUSH
9540: LD_EXP 64
9544: PPUSH
9545: CALL_OW 383
// rumech3 = createhuman ;
9549: LD_ADDR_EXP 128
9553: PUSH
9554: CALL_OW 44
9558: ST_TO_ADDR
// placehumaninunit ( rumech3 , ruv3 ) ;
9559: LD_EXP 128
9563: PPUSH
9564: LD_EXP 120
9568: PPUSH
9569: CALL_OW 52
// rusove = [ ruv1 , ruv2 , ruv3 ] ;
9573: LD_ADDR_EXP 115
9577: PUSH
9578: LD_EXP 118
9582: PUSH
9583: LD_EXP 119
9587: PUSH
9588: LD_EXP 120
9592: PUSH
9593: EMPTY
9594: LIST
9595: LIST
9596: LIST
9597: ST_TO_ADDR
// comremember ( rusove ) ;
9598: LD_EXP 115
9602: PPUSH
9603: CALL_OW 143
// commovexy ( ruv1 , 64 , 66 ) ;
9607: LD_EXP 118
9611: PPUSH
9612: LD_INT 64
9614: PPUSH
9615: LD_INT 66
9617: PPUSH
9618: CALL_OW 111
// commovexy ( ruv2 , 42 , 44 ) ;
9622: LD_EXP 119
9626: PPUSH
9627: LD_INT 42
9629: PPUSH
9630: LD_INT 44
9632: PPUSH
9633: CALL_OW 111
// commovexy ( ruv3 , 74 , 61 ) ;
9637: LD_EXP 120
9641: PPUSH
9642: LD_INT 74
9644: PPUSH
9645: LD_INT 61
9647: PPUSH
9648: CALL_OW 111
// enable ( 03 ) ;
9652: LD_INT 3
9654: ENABLE_MARKED
// enable ( 05 ) ;
9655: LD_INT 5
9657: ENABLE_MARKED
// end ;
9658: PPOPN 1
9660: END
// on destinationunreachable ( un ) do if ( un = ruv1 ) or ( un = ruv2 ) or ( un = ruv3 ) then
9661: LD_VAR 0 1
9665: PUSH
9666: LD_EXP 118
9670: EQUAL
9671: PUSH
9672: LD_VAR 0 1
9676: PUSH
9677: LD_EXP 119
9681: EQUAL
9682: OR
9683: PUSH
9684: LD_VAR 0 1
9688: PUSH
9689: LD_EXP 120
9693: EQUAL
9694: OR
9695: IFFALSE 9746
// begin effectteleport ( getx ( un ) , gety ( un ) ) ;
9697: LD_VAR 0 1
9701: PPUSH
9702: CALL_OW 250
9706: PPUSH
9707: LD_VAR 0 1
9711: PPUSH
9712: CALL_OW 251
9716: PPUSH
9717: CALL_OW 494
// comhold ( un ) ;
9721: LD_VAR 0 1
9725: PPUSH
9726: CALL_OW 140
// wait ( 50 ) ;
9730: LD_INT 50
9732: PPUSH
9733: CALL_OW 67
// destroyunit ( un ) ;
9737: LD_VAR 0 1
9741: PPUSH
9742: CALL_OW 65
// end ;
9746: PPOPN 1
9748: END
// every 0 0$0.3 + 8 8$0 trigger not hastask ( ruv1 ) marked 05 do
9749: LD_EXP 118
9753: PPUSH
9754: CALL_OW 314
9758: NOT
9759: IFFALSE 9779
9761: GO 9763
9763: DISABLE
// commovexy ( ruv1 , 60 , 48 ) ;
9764: LD_EXP 118
9768: PPUSH
9769: LD_INT 60
9771: PPUSH
9772: LD_INT 48
9774: PPUSH
9775: CALL_OW 111
9779: END
// every 0 0$0.3 + 8 8$0 trigger not hastask ( ruv2 ) marked 05 do
9780: LD_EXP 119
9784: PPUSH
9785: CALL_OW 314
9789: NOT
9790: IFFALSE 9810
9792: GO 9794
9794: DISABLE
// commovexy ( ruv2 , 56 , 49 ) ;
9795: LD_EXP 119
9799: PPUSH
9800: LD_INT 56
9802: PPUSH
9803: LD_INT 49
9805: PPUSH
9806: CALL_OW 111
9810: END
// every 0 0$0.3 + 8 8$0 trigger not hastask ( ruv3 ) marked 05 do
9811: LD_EXP 120
9815: PPUSH
9816: CALL_OW 314
9820: NOT
9821: IFFALSE 9841
9823: GO 9825
9825: DISABLE
// commovexy ( ruv3 , 62 , 50 ) ;
9826: LD_EXP 120
9830: PPUSH
9831: LD_INT 62
9833: PPUSH
9834: LD_INT 50
9836: PPUSH
9837: CALL_OW 111
9841: END
// every 0 0$0.33 do var tmp , tmp2 ;
9842: GO 9844
9844: DISABLE
9845: LD_INT 0
9847: PPUSH
9848: PPUSH
// begin tmp2 = rusove ;
9849: LD_ADDR_VAR 0 2
9853: PUSH
9854: LD_EXP 115
9858: ST_TO_ADDR
// for tmp in tmp2 do
9859: LD_ADDR_VAR 0 1
9863: PUSH
9864: LD_VAR 0 2
9868: PUSH
9869: FOR_IN
9870: IFFALSE 9932
// if getlives ( tmp ) <= hr_auta then
9872: LD_VAR 0 1
9876: PPUSH
9877: CALL_OW 256
9881: PUSH
9882: LD_EXP 70
9886: LESSEQUAL
9887: IFFALSE 9930
// begin rusove = rusove diff tmp ;
9889: LD_ADDR_EXP 115
9893: PUSH
9894: LD_EXP 115
9898: PUSH
9899: LD_VAR 0 1
9903: DIFF
9904: ST_TO_ADDR
// rusoveu = rusoveu union tmp ;
9905: LD_ADDR_EXP 116
9909: PUSH
9910: LD_EXP 116
9914: PUSH
9915: LD_VAR 0 1
9919: UNION
9920: ST_TO_ADDR
// comreturn ( tmp ) ;
9921: LD_VAR 0 1
9925: PPUSH
9926: CALL_OW 144
// end ;
9930: GO 9869
9932: POP
9933: POP
// enable ;
9934: ENABLE
// end ;
9935: PPOPN 2
9937: END
// var rusinarea ; function isinareaex ( units , area ) ; var tmp ; begin
9938: LD_INT 0
9940: PPUSH
9941: PPUSH
// result = 0 ;
9942: LD_ADDR_VAR 0 3
9946: PUSH
9947: LD_INT 0
9949: ST_TO_ADDR
// for tmp in units do
9950: LD_ADDR_VAR 0 4
9954: PUSH
9955: LD_VAR 0 1
9959: PUSH
9960: FOR_IN
9961: IFFALSE 10003
// if isinarea ( tmp , area ) then
9963: LD_VAR 0 4
9967: PPUSH
9968: LD_VAR 0 2
9972: PPUSH
9973: CALL_OW 308
9977: IFFALSE 10001
// begin result = tmp ;
9979: LD_ADDR_VAR 0 3
9983: PUSH
9984: LD_VAR 0 4
9988: ST_TO_ADDR
// rusinarea = tmp ;
9989: LD_ADDR_LOC 7
9993: PUSH
9994: LD_VAR 0 4
9998: ST_TO_ADDR
// break ;
9999: GO 10003
// end ;
10001: GO 9960
10003: POP
10004: POP
// end ;
10005: LD_VAR 0 3
10009: RET
// every 0 0$0.3 trigger isinareaex ( rusoveu , south_exit_0 ) do
10010: LD_EXP 116
10014: PPUSH
10015: LD_INT 3
10017: PPUSH
10018: CALL 9938 0 2
10022: IFFALSE 10037
10024: GO 10026
10026: DISABLE
// begin destroyunit ( rusinarea ) ;
10027: LD_LOC 7
10031: PPUSH
10032: CALL_OW 65
// enable ;
10036: ENABLE
// end ;
10037: END
// every 0 0$0.3 trigger isinareaex ( rusoveu , west_exit_0 ) do
10038: LD_EXP 116
10042: PPUSH
10043: LD_INT 4
10045: PPUSH
10046: CALL 9938 0 2
10050: IFFALSE 10065
10052: GO 10054
10054: DISABLE
// begin destroyunit ( rusinarea ) ;
10055: LD_LOC 7
10059: PPUSH
10060: CALL_OW 65
// enable ;
10064: ENABLE
// end ;
10065: END
// every 0 0$0.3 trigger isinareaex ( rusoveu , south_exit_1 ) do
10066: LD_EXP 116
10070: PPUSH
10071: LD_INT 5
10073: PPUSH
10074: CALL 9938 0 2
10078: IFFALSE 10093
10080: GO 10082
10082: DISABLE
// begin destroyunit ( rusinarea ) ;
10083: LD_LOC 7
10087: PPUSH
10088: CALL_OW 65
// enable ;
10092: ENABLE
// end ;
10093: END
// every 0 0$15 + 12 12$45 do
10094: GO 10096
10096: DISABLE
// begin delay = delay - 0 0$15 ;
10097: LD_ADDR_EXP 72
10101: PUSH
10102: LD_EXP 72
10106: PUSH
10107: LD_INT 525
10109: MINUS
10110: ST_TO_ADDR
// if delay then
10111: LD_EXP 72
10115: IFFALSE 10120
// begin enable ;
10117: ENABLE
// exit ;
10118: GO 10521
// end ; uc_side = rus ;
10120: LD_ADDR_OWVAR 20
10124: PUSH
10125: LD_EXP 2
10129: ST_TO_ADDR
// uc_nation = nation_russian ;
10130: LD_ADDR_OWVAR 21
10134: PUSH
10135: LD_INT 3
10137: ST_TO_ADDR
// vc_engine = engine_siberite ;
10138: LD_ADDR_OWVAR 39
10142: PUSH
10143: LD_INT 3
10145: ST_TO_ADDR
// vc_control = control_manual ;
10146: LD_ADDR_OWVAR 38
10150: PUSH
10151: LD_INT 1
10153: ST_TO_ADDR
// vc_chassis = ruv4_ch ;
10154: LD_ADDR_OWVAR 37
10158: PUSH
10159: LD_EXP 52
10163: ST_TO_ADDR
// vc_weapon = ruv4_wp ;
10164: LD_ADDR_OWVAR 40
10168: PUSH
10169: LD_EXP 53
10173: ST_TO_ADDR
// ruv4 = createvehicle ;
10174: LD_ADDR_EXP 121
10178: PUSH
10179: CALL_OW 45
10183: ST_TO_ADDR
// setdir ( ruv4 , 0 ) ;
10184: LD_EXP 121
10188: PPUSH
10189: LD_INT 0
10191: PPUSH
10192: CALL_OW 233
// placeunitxy ( ruv4 , 70 , 95 , false ) ;
10196: LD_EXP 121
10200: PPUSH
10201: LD_INT 70
10203: PPUSH
10204: LD_INT 95
10206: PPUSH
10207: LD_INT 0
10209: PPUSH
10210: CALL_OW 48
// preparemechanic ( sex_male , rumech4_sk ) ;
10214: LD_INT 1
10216: PPUSH
10217: LD_EXP 65
10221: PPUSH
10222: CALL_OW 383
// rumech4 = createhuman ;
10226: LD_ADDR_EXP 129
10230: PUSH
10231: CALL_OW 44
10235: ST_TO_ADDR
// placehumaninunit ( rumech4 , ruv4 ) ;
10236: LD_EXP 129
10240: PPUSH
10241: LD_EXP 121
10245: PPUSH
10246: CALL_OW 52
// vc_chassis = ruv5_ch ;
10250: LD_ADDR_OWVAR 37
10254: PUSH
10255: LD_EXP 54
10259: ST_TO_ADDR
// vc_weapon = ruv5_wp ;
10260: LD_ADDR_OWVAR 40
10264: PUSH
10265: LD_EXP 55
10269: ST_TO_ADDR
// ruv5 = createvehicle ;
10270: LD_ADDR_EXP 122
10274: PUSH
10275: CALL_OW 45
10279: ST_TO_ADDR
// setdir ( ruv5 , 0 ) ;
10280: LD_EXP 122
10284: PPUSH
10285: LD_INT 0
10287: PPUSH
10288: CALL_OW 233
// placeunitxy ( ruv5 , 35 , 63 , false ) ;
10292: LD_EXP 122
10296: PPUSH
10297: LD_INT 35
10299: PPUSH
10300: LD_INT 63
10302: PPUSH
10303: LD_INT 0
10305: PPUSH
10306: CALL_OW 48
// preparemechanic ( sex_male , rumech5_sk ) ;
10310: LD_INT 1
10312: PPUSH
10313: LD_EXP 66
10317: PPUSH
10318: CALL_OW 383
// rumech5 = createhuman ;
10322: LD_ADDR_EXP 130
10326: PUSH
10327: CALL_OW 44
10331: ST_TO_ADDR
// placehumaninunit ( rumech5 , ruv5 ) ;
10332: LD_EXP 130
10336: PPUSH
10337: LD_EXP 122
10341: PPUSH
10342: CALL_OW 52
// vc_chassis = ruv6_ch ;
10346: LD_ADDR_OWVAR 37
10350: PUSH
10351: LD_EXP 56
10355: ST_TO_ADDR
// vc_weapon = ruv6_wp ;
10356: LD_ADDR_OWVAR 40
10360: PUSH
10361: LD_EXP 57
10365: ST_TO_ADDR
// ruv6 = createvehicle ;
10366: LD_ADDR_EXP 123
10370: PUSH
10371: CALL_OW 45
10375: ST_TO_ADDR
// setdir ( ruv6 , 0 ) ;
10376: LD_EXP 123
10380: PPUSH
10381: LD_INT 0
10383: PPUSH
10384: CALL_OW 233
// placeunitxy ( ruv6 , 99 , 95 , false ) ;
10388: LD_EXP 123
10392: PPUSH
10393: LD_INT 99
10395: PPUSH
10396: LD_INT 95
10398: PPUSH
10399: LD_INT 0
10401: PPUSH
10402: CALL_OW 48
// preparemechanic ( sex_male , rumech6_sk ) ;
10406: LD_INT 1
10408: PPUSH
10409: LD_EXP 67
10413: PPUSH
10414: CALL_OW 383
// rumech6 = createhuman ;
10418: LD_ADDR_EXP 131
10422: PUSH
10423: CALL_OW 44
10427: ST_TO_ADDR
// placehumaninunit ( rumech6 , ruv6 ) ;
10428: LD_EXP 131
10432: PPUSH
10433: LD_EXP 123
10437: PPUSH
10438: CALL_OW 52
// rusove = [ ruv4 , ruv5 , ruv6 ] ;
10442: LD_ADDR_EXP 115
10446: PUSH
10447: LD_EXP 121
10451: PUSH
10452: LD_EXP 122
10456: PUSH
10457: LD_EXP 123
10461: PUSH
10462: EMPTY
10463: LIST
10464: LIST
10465: LIST
10466: ST_TO_ADDR
// comremember ( rusove ) ;
10467: LD_EXP 115
10471: PPUSH
10472: CALL_OW 143
// commovexy ( ruv4 , 61 , 56 ) ;
10476: LD_EXP 121
10480: PPUSH
10481: LD_INT 61
10483: PPUSH
10484: LD_INT 56
10486: PPUSH
10487: CALL_OW 111
// commovexy ( ruv5 , 50 , 45 ) ;
10491: LD_EXP 122
10495: PPUSH
10496: LD_INT 50
10498: PPUSH
10499: LD_INT 45
10501: PPUSH
10502: CALL_OW 111
// commovexy ( ruv6 , 69 , 56 ) ;
10506: LD_EXP 123
10510: PPUSH
10511: LD_INT 69
10513: PPUSH
10514: LD_INT 56
10516: PPUSH
10517: CALL_OW 111
// end ;
10521: END
// every 0 0$15 + 12 12$55 do
10522: GO 10524
10524: DISABLE
// begin if delay then
10525: LD_EXP 72
10529: IFFALSE 10534
// begin enable ;
10531: ENABLE
// exit ;
10532: GO 10881
// end ; uc_side = rus ;
10534: LD_ADDR_OWVAR 20
10538: PUSH
10539: LD_EXP 2
10543: ST_TO_ADDR
// uc_nation = nation_russian ;
10544: LD_ADDR_OWVAR 21
10548: PUSH
10549: LD_INT 3
10551: ST_TO_ADDR
// vc_engine = engine_siberite ;
10552: LD_ADDR_OWVAR 39
10556: PUSH
10557: LD_INT 3
10559: ST_TO_ADDR
// vc_control = control_manual ;
10560: LD_ADDR_OWVAR 38
10564: PUSH
10565: LD_INT 1
10567: ST_TO_ADDR
// if difficulty >= 2 then
10568: LD_OWVAR 67
10572: PUSH
10573: LD_INT 2
10575: GREATEREQUAL
10576: IFFALSE 10732
// begin vc_chassis = ruv7_ch ;
10578: LD_ADDR_OWVAR 37
10582: PUSH
10583: LD_EXP 58
10587: ST_TO_ADDR
// vc_weapon = ruv7_wp ;
10588: LD_ADDR_OWVAR 40
10592: PUSH
10593: LD_EXP 59
10597: ST_TO_ADDR
// ruv7 = createvehicle ;
10598: LD_ADDR_EXP 124
10602: PUSH
10603: CALL_OW 45
10607: ST_TO_ADDR
// setdir ( ruv7 , 0 ) ;
10608: LD_EXP 124
10612: PPUSH
10613: LD_INT 0
10615: PPUSH
10616: CALL_OW 233
// placeunitxy ( ruv7 , 99 , 95 , false ) ;
10620: LD_EXP 124
10624: PPUSH
10625: LD_INT 99
10627: PPUSH
10628: LD_INT 95
10630: PPUSH
10631: LD_INT 0
10633: PPUSH
10634: CALL_OW 48
// preparemechanic ( sex_male , rumech7_sk ) ;
10638: LD_INT 1
10640: PPUSH
10641: LD_EXP 68
10645: PPUSH
10646: CALL_OW 383
// rumech7 = createhuman ;
10650: LD_ADDR_EXP 132
10654: PUSH
10655: CALL_OW 44
10659: ST_TO_ADDR
// placehumaninunit ( rumech7 , ruv7 ) ;
10660: LD_EXP 132
10664: PPUSH
10665: LD_EXP 124
10669: PPUSH
10670: CALL_OW 52
// rusove = rusove ^ [ ruv7 ] ;
10674: LD_ADDR_EXP 115
10678: PUSH
10679: LD_EXP 115
10683: PUSH
10684: LD_EXP 124
10688: PUSH
10689: EMPTY
10690: LIST
10691: ADD
10692: ST_TO_ADDR
// comremember ( ruv7 ) ;
10693: LD_EXP 124
10697: PPUSH
10698: CALL_OW 143
// commovexy ( ruv7 , 97 , 55 ) ;
10702: LD_EXP 124
10706: PPUSH
10707: LD_INT 97
10709: PPUSH
10710: LD_INT 55
10712: PPUSH
10713: CALL_OW 111
// addcommovexy ( ruv7 , 67 , 50 ) ;
10717: LD_EXP 124
10721: PPUSH
10722: LD_INT 67
10724: PPUSH
10725: LD_INT 50
10727: PPUSH
10728: CALL_OW 171
// end ; if difficulty > 2 then
10732: LD_OWVAR 67
10736: PUSH
10737: LD_INT 2
10739: GREATER
10740: IFFALSE 10881
// begin vc_chassis = ruv8_ch ;
10742: LD_ADDR_OWVAR 37
10746: PUSH
10747: LD_EXP 60
10751: ST_TO_ADDR
// vc_weapon = ruv8_wp ;
10752: LD_ADDR_OWVAR 40
10756: PUSH
10757: LD_EXP 61
10761: ST_TO_ADDR
// ruv8 = createvehicle ;
10762: LD_ADDR_EXP 125
10766: PUSH
10767: CALL_OW 45
10771: ST_TO_ADDR
// setdir ( ruv8 , 0 ) ;
10772: LD_EXP 125
10776: PPUSH
10777: LD_INT 0
10779: PPUSH
10780: CALL_OW 233
// placeunitxy ( ruv8 , 70 , 95 , false ) ;
10784: LD_EXP 125
10788: PPUSH
10789: LD_INT 70
10791: PPUSH
10792: LD_INT 95
10794: PPUSH
10795: LD_INT 0
10797: PPUSH
10798: CALL_OW 48
// preparemechanic ( sex_male , rumech8_sk ) ;
10802: LD_INT 1
10804: PPUSH
10805: LD_EXP 69
10809: PPUSH
10810: CALL_OW 383
// rumech8 = createhuman ;
10814: LD_ADDR_EXP 133
10818: PUSH
10819: CALL_OW 44
10823: ST_TO_ADDR
// placehumaninunit ( rumech8 , ruv8 ) ;
10824: LD_EXP 133
10828: PPUSH
10829: LD_EXP 125
10833: PPUSH
10834: CALL_OW 52
// rusove = rusove ^ [ ruv8 ] ;
10838: LD_ADDR_EXP 115
10842: PUSH
10843: LD_EXP 115
10847: PUSH
10848: LD_EXP 125
10852: PUSH
10853: EMPTY
10854: LIST
10855: ADD
10856: ST_TO_ADDR
// comremember ( ruv8 ) ;
10857: LD_EXP 125
10861: PPUSH
10862: CALL_OW 143
// commovexy ( ruv8 , 61 , 56 ) ;
10866: LD_EXP 125
10870: PPUSH
10871: LD_INT 61
10873: PPUSH
10874: LD_INT 56
10876: PPUSH
10877: CALL_OW 111
// end ; end ; end_of_file
10881: END
// export abdul ; export arv1 , arm1 , arv2 , arm2 , arv3 , arm3 , arv4 , arm4 , arv5 , arm5 , arv6 , arm6 , arv7 , arv8 , arv9 , arv10 ; var inzinyrka , typitomybodovy , ar_mech_ctrl ; export function prepare_arabians ; var tmp ; begin
10882: LD_INT 0
10884: PPUSH
10885: PPUSH
// uc_side = ar ;
10886: LD_ADDR_OWVAR 20
10890: PUSH
10891: LD_EXP 3
10895: ST_TO_ADDR
// uc_nation = nation_arabian ;
10896: LD_ADDR_OWVAR 21
10900: PUSH
10901: LD_INT 2
10903: ST_TO_ADDR
// preparesoldier ( sex_male , ars0 ) ;
10904: LD_INT 1
10906: PPUSH
10907: LD_EXP 6
10911: PPUSH
10912: CALL_OW 381
// tmp = createhuman ;
10916: LD_ADDR_VAR 0 2
10920: PUSH
10921: CALL_OW 44
10925: ST_TO_ADDR
// placeunitxy ( tmp , 135 , 91 , false ) ;
10926: LD_VAR 0 2
10930: PPUSH
10931: LD_INT 135
10933: PPUSH
10934: LD_INT 91
10936: PPUSH
10937: LD_INT 0
10939: PPUSH
10940: CALL_OW 48
// comenterunit ( tmp , arbunk0 ) ;
10944: LD_VAR 0 2
10948: PPUSH
10949: LD_INT 14
10951: PPUSH
10952: CALL_OW 120
// preparesoldier ( sex_male , ars1 ) ;
10956: LD_INT 1
10958: PPUSH
10959: LD_EXP 7
10963: PPUSH
10964: CALL_OW 381
// tmp = createhuman ;
10968: LD_ADDR_VAR 0 2
10972: PUSH
10973: CALL_OW 44
10977: ST_TO_ADDR
// placeunitxy ( tmp , 138 , 85 , false ) ;
10978: LD_VAR 0 2
10982: PPUSH
10983: LD_INT 138
10985: PPUSH
10986: LD_INT 85
10988: PPUSH
10989: LD_INT 0
10991: PPUSH
10992: CALL_OW 48
// comenterunit ( tmp , arbunk1 ) ;
10996: LD_VAR 0 2
11000: PPUSH
11001: LD_INT 15
11003: PPUSH
11004: CALL_OW 120
// preparesoldier ( sex_male , ars2 ) ;
11008: LD_INT 1
11010: PPUSH
11011: LD_EXP 8
11015: PPUSH
11016: CALL_OW 381
// tmp = createhuman ;
11020: LD_ADDR_VAR 0 2
11024: PUSH
11025: CALL_OW 44
11029: ST_TO_ADDR
// placeunitxy ( tmp , 129 , 78 , false ) ;
11030: LD_VAR 0 2
11034: PPUSH
11035: LD_INT 129
11037: PPUSH
11038: LD_INT 78
11040: PPUSH
11041: LD_INT 0
11043: PPUSH
11044: CALL_OW 48
// comenterunit ( tmp , arbunk2 ) ;
11048: LD_VAR 0 2
11052: PPUSH
11053: LD_INT 13
11055: PPUSH
11056: CALL_OW 120
// preparesoldier ( sex_male , ars3 ) ;
11060: LD_INT 1
11062: PPUSH
11063: LD_EXP 9
11067: PPUSH
11068: CALL_OW 381
// tmp = createhuman ;
11072: LD_ADDR_VAR 0 2
11076: PUSH
11077: CALL_OW 44
11081: ST_TO_ADDR
// placeunitxy ( tmp , 115 , 44 , false ) ;
11082: LD_VAR 0 2
11086: PPUSH
11087: LD_INT 115
11089: PPUSH
11090: LD_INT 44
11092: PPUSH
11093: LD_INT 0
11095: PPUSH
11096: CALL_OW 48
// comenterunit ( tmp , arbunk3 ) ;
11100: LD_VAR 0 2
11104: PPUSH
11105: LD_INT 16
11107: PPUSH
11108: CALL_OW 120
// preparesoldier ( sex_male , ars4 ) ;
11112: LD_INT 1
11114: PPUSH
11115: LD_EXP 10
11119: PPUSH
11120: CALL_OW 381
// tmp = createhuman ;
11124: LD_ADDR_VAR 0 2
11128: PUSH
11129: CALL_OW 44
11133: ST_TO_ADDR
// placeunitxy ( tmp , 125 , 37 , false ) ;
11134: LD_VAR 0 2
11138: PPUSH
11139: LD_INT 125
11141: PPUSH
11142: LD_INT 37
11144: PPUSH
11145: LD_INT 0
11147: PPUSH
11148: CALL_OW 48
// comenterunit ( tmp , arbunk4 ) ;
11152: LD_VAR 0 2
11156: PPUSH
11157: LD_INT 17
11159: PPUSH
11160: CALL_OW 120
// preparesoldier ( sex_male , ars5 ) ;
11164: LD_INT 1
11166: PPUSH
11167: LD_EXP 11
11171: PPUSH
11172: CALL_OW 381
// tmp = createhuman ;
11176: LD_ADDR_VAR 0 2
11180: PUSH
11181: CALL_OW 44
11185: ST_TO_ADDR
// placeunitxy ( tmp , 132 , 33 , false ) ;
11186: LD_VAR 0 2
11190: PPUSH
11191: LD_INT 132
11193: PPUSH
11194: LD_INT 33
11196: PPUSH
11197: LD_INT 0
11199: PPUSH
11200: CALL_OW 48
// comenterunit ( tmp , arbunk5 ) ;
11204: LD_VAR 0 2
11208: PPUSH
11209: LD_INT 18
11211: PPUSH
11212: CALL_OW 120
// if difficulty = 1 then
11216: LD_OWVAR 67
11220: PUSH
11221: LD_INT 1
11223: EQUAL
11224: IFFALSE 11518
// begin preparehuman ( sex_male , class_soldier , ars6 ) ;
11226: LD_INT 1
11228: PPUSH
11229: LD_INT 1
11231: PPUSH
11232: LD_EXP 12
11236: PPUSH
11237: CALL_OW 380
// tmp = createhuman ;
11241: LD_ADDR_VAR 0 2
11245: PUSH
11246: CALL_OW 44
11250: ST_TO_ADDR
// placeunitxyr ( tmp , 134 , 75 , 1 , false ) ;
11251: LD_VAR 0 2
11255: PPUSH
11256: LD_INT 134
11258: PPUSH
11259: LD_INT 75
11261: PPUSH
11262: LD_INT 1
11264: PPUSH
11265: LD_INT 0
11267: PPUSH
11268: CALL_OW 50
// comenterunit ( tmp , arbarr ) ;
11272: LD_VAR 0 2
11276: PPUSH
11277: LD_INT 2
11279: PPUSH
11280: CALL_OW 120
// preparehuman ( sex_male , class_soldier , ars7 ) ;
11284: LD_INT 1
11286: PPUSH
11287: LD_INT 1
11289: PPUSH
11290: LD_EXP 13
11294: PPUSH
11295: CALL_OW 380
// tmp = createhuman ;
11299: LD_ADDR_VAR 0 2
11303: PUSH
11304: CALL_OW 44
11308: ST_TO_ADDR
// placeunitxyr ( tmp , 134 , 75 , 1 , false ) ;
11309: LD_VAR 0 2
11313: PPUSH
11314: LD_INT 134
11316: PPUSH
11317: LD_INT 75
11319: PPUSH
11320: LD_INT 1
11322: PPUSH
11323: LD_INT 0
11325: PPUSH
11326: CALL_OW 50
// comenterunit ( tmp , arbarr ) ;
11330: LD_VAR 0 2
11334: PPUSH
11335: LD_INT 2
11337: PPUSH
11338: CALL_OW 120
// preparehuman ( sex_male , class_soldier , ars8 ) ;
11342: LD_INT 1
11344: PPUSH
11345: LD_INT 1
11347: PPUSH
11348: LD_EXP 14
11352: PPUSH
11353: CALL_OW 380
// tmp = createhuman ;
11357: LD_ADDR_VAR 0 2
11361: PUSH
11362: CALL_OW 44
11366: ST_TO_ADDR
// placeunitxyr ( tmp , 134 , 75 , 1 , false ) ;
11367: LD_VAR 0 2
11371: PPUSH
11372: LD_INT 134
11374: PPUSH
11375: LD_INT 75
11377: PPUSH
11378: LD_INT 1
11380: PPUSH
11381: LD_INT 0
11383: PPUSH
11384: CALL_OW 50
// comenterunit ( tmp , arbarr ) ;
11388: LD_VAR 0 2
11392: PPUSH
11393: LD_INT 2
11395: PPUSH
11396: CALL_OW 120
// preparehuman ( sex_male , class_soldier , ars9 ) ;
11400: LD_INT 1
11402: PPUSH
11403: LD_INT 1
11405: PPUSH
11406: LD_EXP 15
11410: PPUSH
11411: CALL_OW 380
// tmp = createhuman ;
11415: LD_ADDR_VAR 0 2
11419: PUSH
11420: CALL_OW 44
11424: ST_TO_ADDR
// placeunitxyr ( tmp , 134 , 75 , 1 , false ) ;
11425: LD_VAR 0 2
11429: PPUSH
11430: LD_INT 134
11432: PPUSH
11433: LD_INT 75
11435: PPUSH
11436: LD_INT 1
11438: PPUSH
11439: LD_INT 0
11441: PPUSH
11442: CALL_OW 50
// comenterunit ( tmp , arbarr ) ;
11446: LD_VAR 0 2
11450: PPUSH
11451: LD_INT 2
11453: PPUSH
11454: CALL_OW 120
// preparehuman ( sex_male , class_soldier , ars10 ) ;
11458: LD_INT 1
11460: PPUSH
11461: LD_INT 1
11463: PPUSH
11464: LD_EXP 16
11468: PPUSH
11469: CALL_OW 380
// tmp = createhuman ;
11473: LD_ADDR_VAR 0 2
11477: PUSH
11478: CALL_OW 44
11482: ST_TO_ADDR
// placeunitxyr ( tmp , 134 , 75 , 1 , false ) ;
11483: LD_VAR 0 2
11487: PPUSH
11488: LD_INT 134
11490: PPUSH
11491: LD_INT 75
11493: PPUSH
11494: LD_INT 1
11496: PPUSH
11497: LD_INT 0
11499: PPUSH
11500: CALL_OW 50
// comenterunit ( tmp , arbarr ) ;
11504: LD_VAR 0 2
11508: PPUSH
11509: LD_INT 2
11511: PPUSH
11512: CALL_OW 120
// end else
11516: GO 11818
// begin preparehuman ( sex_male , class_mortar , ars6 ) ;
11518: LD_INT 1
11520: PPUSH
11521: LD_INT 8
11523: PPUSH
11524: LD_EXP 12
11528: PPUSH
11529: CALL_OW 380
// tmp = createhuman ;
11533: LD_ADDR_VAR 0 2
11537: PUSH
11538: CALL_OW 44
11542: ST_TO_ADDR
// placeunitxyr ( tmp , 134 , 75 , 1 , false ) ;
11543: LD_VAR 0 2
11547: PPUSH
11548: LD_INT 134
11550: PPUSH
11551: LD_INT 75
11553: PPUSH
11554: LD_INT 1
11556: PPUSH
11557: LD_INT 0
11559: PPUSH
11560: CALL_OW 50
// comenterunit ( tmp , arbarr ) ;
11564: LD_VAR 0 2
11568: PPUSH
11569: LD_INT 2
11571: PPUSH
11572: CALL_OW 120
// preparehuman ( sex_male , class_mortar , ars7 ) ;
11576: LD_INT 1
11578: PPUSH
11579: LD_INT 8
11581: PPUSH
11582: LD_EXP 13
11586: PPUSH
11587: CALL_OW 380
// tmp = createhuman ;
11591: LD_ADDR_VAR 0 2
11595: PUSH
11596: CALL_OW 44
11600: ST_TO_ADDR
// placeunitxyr ( tmp , 134 , 75 , 1 , false ) ;
11601: LD_VAR 0 2
11605: PPUSH
11606: LD_INT 134
11608: PPUSH
11609: LD_INT 75
11611: PPUSH
11612: LD_INT 1
11614: PPUSH
11615: LD_INT 0
11617: PPUSH
11618: CALL_OW 50
// comenterunit ( tmp , arbarr ) ;
11622: LD_VAR 0 2
11626: PPUSH
11627: LD_INT 2
11629: PPUSH
11630: CALL_OW 120
// preparehuman ( sex_male , class_mortar , ars8 ) ;
11634: LD_INT 1
11636: PPUSH
11637: LD_INT 8
11639: PPUSH
11640: LD_EXP 14
11644: PPUSH
11645: CALL_OW 380
// tmp = createhuman ;
11649: LD_ADDR_VAR 0 2
11653: PUSH
11654: CALL_OW 44
11658: ST_TO_ADDR
// placeunitxyr ( tmp , 134 , 75 , 1 , false ) ;
11659: LD_VAR 0 2
11663: PPUSH
11664: LD_INT 134
11666: PPUSH
11667: LD_INT 75
11669: PPUSH
11670: LD_INT 1
11672: PPUSH
11673: LD_INT 0
11675: PPUSH
11676: CALL_OW 50
// comenterunit ( tmp , arbarr ) ;
11680: LD_VAR 0 2
11684: PPUSH
11685: LD_INT 2
11687: PPUSH
11688: CALL_OW 120
// if difficulty > 2 then
11692: LD_OWVAR 67
11696: PUSH
11697: LD_INT 2
11699: GREATER
11700: IFFALSE 11818
// begin preparehuman ( sex_male , class_mortar , ars9 ) ;
11702: LD_INT 1
11704: PPUSH
11705: LD_INT 8
11707: PPUSH
11708: LD_EXP 15
11712: PPUSH
11713: CALL_OW 380
// tmp = createhuman ;
11717: LD_ADDR_VAR 0 2
11721: PUSH
11722: CALL_OW 44
11726: ST_TO_ADDR
// placeunitxyr ( tmp , 134 , 75 , 1 , false ) ;
11727: LD_VAR 0 2
11731: PPUSH
11732: LD_INT 134
11734: PPUSH
11735: LD_INT 75
11737: PPUSH
11738: LD_INT 1
11740: PPUSH
11741: LD_INT 0
11743: PPUSH
11744: CALL_OW 50
// comenterunit ( tmp , arbarr ) ;
11748: LD_VAR 0 2
11752: PPUSH
11753: LD_INT 2
11755: PPUSH
11756: CALL_OW 120
// preparehuman ( sex_male , class_mortar , ars10 ) ;
11760: LD_INT 1
11762: PPUSH
11763: LD_INT 8
11765: PPUSH
11766: LD_EXP 16
11770: PPUSH
11771: CALL_OW 380
// tmp = createhuman ;
11775: LD_ADDR_VAR 0 2
11779: PUSH
11780: CALL_OW 44
11784: ST_TO_ADDR
// placeunitxyr ( tmp , 134 , 75 , 1 , false ) ;
11785: LD_VAR 0 2
11789: PPUSH
11790: LD_INT 134
11792: PPUSH
11793: LD_INT 75
11795: PPUSH
11796: LD_INT 1
11798: PPUSH
11799: LD_INT 0
11801: PPUSH
11802: CALL_OW 50
// comenterunit ( tmp , arbarr ) ;
11806: LD_VAR 0 2
11810: PPUSH
11811: LD_INT 2
11813: PPUSH
11814: CALL_OW 120
// end ; end ; preparemechanic ( sex_female , 8 ) ;
11818: LD_INT 2
11820: PPUSH
11821: LD_INT 8
11823: PPUSH
11824: CALL_OW 383
// inzinyrka = createhuman ;
11828: LD_ADDR_LOC 8
11832: PUSH
11833: CALL_OW 44
11837: ST_TO_ADDR
// placeunitxy ( inzinyrka , 133 , 54 , false ) ;
11838: LD_LOC 8
11842: PPUSH
11843: LD_INT 133
11845: PPUSH
11846: LD_INT 54
11848: PPUSH
11849: LD_INT 0
11851: PPUSH
11852: CALL_OW 48
// comenterunit ( inzinyrka , arfact00 ) ;
11856: LD_LOC 8
11860: PPUSH
11861: LD_INT 4
11863: PPUSH
11864: CALL_OW 120
// prepareengineer ( sex_female , 7 ) ;
11868: LD_INT 2
11870: PPUSH
11871: LD_INT 7
11873: PPUSH
11874: CALL_OW 382
// inzinyrka = createhuman ;
11878: LD_ADDR_LOC 8
11882: PUSH
11883: CALL_OW 44
11887: ST_TO_ADDR
// placeunitxy ( inzinyrka , 134 , 61 , false ) ;
11888: LD_LOC 8
11892: PPUSH
11893: LD_INT 134
11895: PPUSH
11896: LD_INT 61
11898: PPUSH
11899: LD_INT 0
11901: PPUSH
11902: CALL_OW 48
// comenterunit ( inzinyrka , ar_depot ) ;
11906: LD_LOC 8
11910: PPUSH
11911: LD_INT 1
11913: PPUSH
11914: CALL_OW 120
// abdul = newcharacter ( Abdul ) ;
11918: LD_ADDR_EXP 134
11922: PUSH
11923: LD_STRING Abdul
11925: PPUSH
11926: CALL_OW 25
11930: ST_TO_ADDR
// if not abdul then
11931: LD_EXP 134
11935: NOT
11936: IFFALSE 11951
// buildquery ( neny Abdul , [ OK ] ) ;
11938: LD_STRING neny Abdul
11940: PPUSH
11941: LD_STRING OK
11943: PUSH
11944: EMPTY
11945: LIST
11946: PPUSH
11947: CALL_OW 99
// setclass ( abdul , class_desert_warior ) ;
11951: LD_EXP 134
11955: PPUSH
11956: LD_INT 11
11958: PPUSH
11959: CALL_OW 336
// placeunitxyr ( abdul , 140 , 65 , 3 , false ) ;
11963: LD_EXP 134
11967: PPUSH
11968: LD_INT 140
11970: PPUSH
11971: LD_INT 65
11973: PPUSH
11974: LD_INT 3
11976: PPUSH
11977: LD_INT 0
11979: PPUSH
11980: CALL_OW 50
// preparemechanic ( sex_female , arm0 ) ;
11984: LD_INT 2
11986: PPUSH
11987: LD_EXP 17
11991: PPUSH
11992: CALL_OW 383
// tmp = createhuman ;
11996: LD_ADDR_VAR 0 2
12000: PUSH
12001: CALL_OW 44
12005: ST_TO_ADDR
// ar_mech_ctrl = tmp ;
12006: LD_ADDR_LOC 10
12010: PUSH
12011: LD_VAR 0 2
12015: ST_TO_ADDR
// placehumaninunit ( tmp , ctrl_twr ) ;
12016: LD_VAR 0 2
12020: PPUSH
12021: LD_INT 24
12023: PPUSH
12024: CALL_OW 52
// setcargo ( nakladak , mat_artefact , 50 ) ;
12028: LD_INT 23
12030: PPUSH
12031: LD_INT 4
12033: PPUSH
12034: LD_INT 50
12036: PPUSH
12037: CALL_OW 290
// preparemechanic ( sex_male , 7 ) ;
12041: LD_INT 1
12043: PPUSH
12044: LD_INT 7
12046: PPUSH
12047: CALL_OW 383
// placehumaninunit ( createhuman , nakladak ) ;
12051: CALL_OW 44
12055: PPUSH
12056: LD_INT 23
12058: PPUSH
12059: CALL_OW 52
// vc_engine = engine_siberite ;
12063: LD_ADDR_OWVAR 39
12067: PUSH
12068: LD_INT 3
12070: ST_TO_ADDR
// vc_control = control_manual ;
12071: LD_ADDR_OWVAR 38
12075: PUSH
12076: LD_INT 1
12078: ST_TO_ADDR
// vc_chassis = arv1_ch ;
12079: LD_ADDR_OWVAR 37
12083: PUSH
12084: LD_EXP 18
12088: ST_TO_ADDR
// vc_weapon = arv1_wp ;
12089: LD_ADDR_OWVAR 40
12093: PUSH
12094: LD_EXP 19
12098: ST_TO_ADDR
// arv1 = createvehicle ;
12099: LD_ADDR_EXP 135
12103: PUSH
12104: CALL_OW 45
12108: ST_TO_ADDR
// setdir ( arv1 , 5 ) ;
12109: LD_EXP 135
12113: PPUSH
12114: LD_INT 5
12116: PPUSH
12117: CALL_OW 233
// placeunitxy ( arv1 , 128 , 38 , false ) ;
12121: LD_EXP 135
12125: PPUSH
12126: LD_INT 128
12128: PPUSH
12129: LD_INT 38
12131: PPUSH
12132: LD_INT 0
12134: PPUSH
12135: CALL_OW 48
// preparemechanic ( sex_male , arm1_sk ) ;
12139: LD_INT 1
12141: PPUSH
12142: LD_EXP 20
12146: PPUSH
12147: CALL_OW 383
// arm1 = createhuman ;
12151: LD_ADDR_EXP 136
12155: PUSH
12156: CALL_OW 44
12160: ST_TO_ADDR
// placehumaninunit ( arm1 , arv1 ) ;
12161: LD_EXP 136
12165: PPUSH
12166: LD_EXP 135
12170: PPUSH
12171: CALL_OW 52
// vc_chassis = arv2_ch ;
12175: LD_ADDR_OWVAR 37
12179: PUSH
12180: LD_EXP 21
12184: ST_TO_ADDR
// vc_weapon = arv2_wp ;
12185: LD_ADDR_OWVAR 40
12189: PUSH
12190: LD_EXP 22
12194: ST_TO_ADDR
// arv2 = createvehicle ;
12195: LD_ADDR_EXP 137
12199: PUSH
12200: CALL_OW 45
12204: ST_TO_ADDR
// setdir ( arv2 , 4 ) ;
12205: LD_EXP 137
12209: PPUSH
12210: LD_INT 4
12212: PPUSH
12213: CALL_OW 233
// placeunitxy ( arv2 , 141 , 89 , false ) ;
12217: LD_EXP 137
12221: PPUSH
12222: LD_INT 141
12224: PPUSH
12225: LD_INT 89
12227: PPUSH
12228: LD_INT 0
12230: PPUSH
12231: CALL_OW 48
// preparemechanic ( sex_male , arm2_sk ) ;
12235: LD_INT 1
12237: PPUSH
12238: LD_EXP 23
12242: PPUSH
12243: CALL_OW 383
// arm2 = createhuman ;
12247: LD_ADDR_EXP 138
12251: PUSH
12252: CALL_OW 44
12256: ST_TO_ADDR
// placehumaninunit ( arm2 , arv2 ) ;
12257: LD_EXP 138
12261: PPUSH
12262: LD_EXP 137
12266: PPUSH
12267: CALL_OW 52
// if difficulty = 2 then
12271: LD_OWVAR 67
12275: PUSH
12276: LD_INT 2
12278: EQUAL
12279: IFFALSE 12377
// begin vc_chassis = arv3_ch ;
12281: LD_ADDR_OWVAR 37
12285: PUSH
12286: LD_EXP 24
12290: ST_TO_ADDR
// vc_weapon = arv3_wp ;
12291: LD_ADDR_OWVAR 40
12295: PUSH
12296: LD_EXP 25
12300: ST_TO_ADDR
// arv3 = createvehicle ;
12301: LD_ADDR_EXP 139
12305: PUSH
12306: CALL_OW 45
12310: ST_TO_ADDR
// setdir ( arv3 , 3 ) ;
12311: LD_EXP 139
12315: PPUSH
12316: LD_INT 3
12318: PPUSH
12319: CALL_OW 233
// placeunitxy ( arv3 , 126 , 74 , false ) ;
12323: LD_EXP 139
12327: PPUSH
12328: LD_INT 126
12330: PPUSH
12331: LD_INT 74
12333: PPUSH
12334: LD_INT 0
12336: PPUSH
12337: CALL_OW 48
// preparemechanic ( sex_male , arm3_sk ) ;
12341: LD_INT 1
12343: PPUSH
12344: LD_EXP 26
12348: PPUSH
12349: CALL_OW 383
// arm3 = createhuman ;
12353: LD_ADDR_EXP 140
12357: PUSH
12358: CALL_OW 44
12362: ST_TO_ADDR
// placehumaninunit ( arm3 , arv3 ) ;
12363: LD_EXP 140
12367: PPUSH
12368: LD_EXP 139
12372: PPUSH
12373: CALL_OW 52
// end ; vc_chassis = arv4_ch ;
12377: LD_ADDR_OWVAR 37
12381: PUSH
12382: LD_EXP 27
12386: ST_TO_ADDR
// vc_weapon = arv4_wp ;
12387: LD_ADDR_OWVAR 40
12391: PUSH
12392: LD_EXP 28
12396: ST_TO_ADDR
// arv4 = createvehicle ;
12397: LD_ADDR_EXP 141
12401: PUSH
12402: CALL_OW 45
12406: ST_TO_ADDR
// setdir ( arv4 , 5 ) ;
12407: LD_EXP 141
12411: PPUSH
12412: LD_INT 5
12414: PPUSH
12415: CALL_OW 233
// placeunitxy ( arv4 , 121 , 41 , false ) ;
12419: LD_EXP 141
12423: PPUSH
12424: LD_INT 121
12426: PPUSH
12427: LD_INT 41
12429: PPUSH
12430: LD_INT 0
12432: PPUSH
12433: CALL_OW 48
// preparemechanic ( sex_male , arm4_sk ) ;
12437: LD_INT 1
12439: PPUSH
12440: LD_EXP 29
12444: PPUSH
12445: CALL_OW 383
// arm4 = createhuman ;
12449: LD_ADDR_EXP 142
12453: PUSH
12454: CALL_OW 44
12458: ST_TO_ADDR
// placehumaninunit ( arm4 , arv4 ) ;
12459: LD_EXP 142
12463: PPUSH
12464: LD_EXP 141
12468: PPUSH
12469: CALL_OW 52
// vc_engine = engine_solar ;
12473: LD_ADDR_OWVAR 39
12477: PUSH
12478: LD_INT 2
12480: ST_TO_ADDR
// vc_chassis = arv5_ch ;
12481: LD_ADDR_OWVAR 37
12485: PUSH
12486: LD_EXP 30
12490: ST_TO_ADDR
// vc_weapon = arv5_wp ;
12491: LD_ADDR_OWVAR 40
12495: PUSH
12496: LD_EXP 31
12500: ST_TO_ADDR
// arv5 = createvehicle ;
12501: LD_ADDR_EXP 143
12505: PUSH
12506: CALL_OW 45
12510: ST_TO_ADDR
// setdir ( arv5 , 0 ) ;
12511: LD_EXP 143
12515: PPUSH
12516: LD_INT 0
12518: PPUSH
12519: CALL_OW 233
// placeunitxy ( arv5 , 118 , 44 , false ) ;
12523: LD_EXP 143
12527: PPUSH
12528: LD_INT 118
12530: PPUSH
12531: LD_INT 44
12533: PPUSH
12534: LD_INT 0
12536: PPUSH
12537: CALL_OW 48
// preparemechanic ( sex_male , arm5_sk ) ;
12541: LD_INT 1
12543: PPUSH
12544: LD_EXP 32
12548: PPUSH
12549: CALL_OW 383
// arm5 = createhuman ;
12553: LD_ADDR_EXP 144
12557: PUSH
12558: CALL_OW 44
12562: ST_TO_ADDR
// placehumaninunit ( arm5 , arv5 ) ;
12563: LD_EXP 144
12567: PPUSH
12568: LD_EXP 143
12572: PPUSH
12573: CALL_OW 52
// vc_engine = engine_siberite ;
12577: LD_ADDR_OWVAR 39
12581: PUSH
12582: LD_INT 3
12584: ST_TO_ADDR
// vc_chassis = arv6_ch ;
12585: LD_ADDR_OWVAR 37
12589: PUSH
12590: LD_EXP 33
12594: ST_TO_ADDR
// vc_weapon = arv6_wp ;
12595: LD_ADDR_OWVAR 40
12599: PUSH
12600: LD_EXP 34
12604: ST_TO_ADDR
// arv6 = createvehicle ;
12605: LD_ADDR_EXP 145
12609: PUSH
12610: CALL_OW 45
12614: ST_TO_ADDR
// setdir ( arv6 , 5 ) ;
12615: LD_EXP 145
12619: PPUSH
12620: LD_INT 5
12622: PPUSH
12623: CALL_OW 233
// placeunitxy ( arv6 , 129 , 35 , false ) ;
12627: LD_EXP 145
12631: PPUSH
12632: LD_INT 129
12634: PPUSH
12635: LD_INT 35
12637: PPUSH
12638: LD_INT 0
12640: PPUSH
12641: CALL_OW 48
// preparemechanic ( sex_male , arm6_sk ) ;
12645: LD_INT 1
12647: PPUSH
12648: LD_EXP 35
12652: PPUSH
12653: CALL_OW 383
// arm6 = createhuman ;
12657: LD_ADDR_EXP 146
12661: PUSH
12662: CALL_OW 44
12666: ST_TO_ADDR
// placehumaninunit ( arm6 , arv6 ) ;
12667: LD_EXP 146
12671: PPUSH
12672: LD_EXP 145
12676: PPUSH
12677: CALL_OW 52
// comremember ( [ arv1 , arv2 , arv3 , arv4 , arv5 , arv6 ] ) ;
12681: LD_EXP 135
12685: PUSH
12686: LD_EXP 137
12690: PUSH
12691: LD_EXP 139
12695: PUSH
12696: LD_EXP 141
12700: PUSH
12701: LD_EXP 143
12705: PUSH
12706: LD_EXP 145
12710: PUSH
12711: EMPTY
12712: LIST
12713: LIST
12714: LIST
12715: LIST
12716: LIST
12717: LIST
12718: PPUSH
12719: CALL_OW 143
// vc_control = control_remote ;
12723: LD_ADDR_OWVAR 38
12727: PUSH
12728: LD_INT 2
12730: ST_TO_ADDR
// if difficulty > 2 then
12731: LD_OWVAR 67
12735: PUSH
12736: LD_INT 2
12738: GREATER
12739: IFFALSE 12907
// begin vc_chassis = arv7_ch ;
12741: LD_ADDR_OWVAR 37
12745: PUSH
12746: LD_EXP 36
12750: ST_TO_ADDR
// vc_weapon = arv7_wp ;
12751: LD_ADDR_OWVAR 40
12755: PUSH
12756: LD_EXP 37
12760: ST_TO_ADDR
// arv7 = createvehicle ;
12761: LD_ADDR_EXP 147
12765: PUSH
12766: CALL_OW 45
12770: ST_TO_ADDR
// setdir ( arv7 , 4 ) ;
12771: LD_EXP 147
12775: PPUSH
12776: LD_INT 4
12778: PPUSH
12779: CALL_OW 233
// placeunitxy ( arv7 , 136 , 88 , false ) ;
12783: LD_EXP 147
12787: PPUSH
12788: LD_INT 136
12790: PPUSH
12791: LD_INT 88
12793: PPUSH
12794: LD_INT 0
12796: PPUSH
12797: CALL_OW 48
// linkvehicletohuman ( arv7 , tmp ) ;
12801: LD_EXP 147
12805: PPUSH
12806: LD_VAR 0 2
12810: PPUSH
12811: CALL_OW 53
// vc_chassis = arv8_ch ;
12815: LD_ADDR_OWVAR 37
12819: PUSH
12820: LD_EXP 38
12824: ST_TO_ADDR
// vc_weapon = arv8_wp ;
12825: LD_ADDR_OWVAR 40
12829: PUSH
12830: LD_EXP 39
12834: ST_TO_ADDR
// arv8 = createvehicle ;
12835: LD_ADDR_EXP 148
12839: PUSH
12840: CALL_OW 45
12844: ST_TO_ADDR
// setdir ( arv8 , 3 ) ;
12845: LD_EXP 148
12849: PPUSH
12850: LD_INT 3
12852: PPUSH
12853: CALL_OW 233
// placeunitxy ( arv8 , 132 , 81 , false ) ;
12857: LD_EXP 148
12861: PPUSH
12862: LD_INT 132
12864: PPUSH
12865: LD_INT 81
12867: PPUSH
12868: LD_INT 0
12870: PPUSH
12871: CALL_OW 48
// linkvehicletohuman ( arv8 , tmp ) ;
12875: LD_EXP 148
12879: PPUSH
12880: LD_VAR 0 2
12884: PPUSH
12885: CALL_OW 53
// comremember ( [ arv7 , arv8 ] ) ;
12889: LD_EXP 147
12893: PUSH
12894: LD_EXP 148
12898: PUSH
12899: EMPTY
12900: LIST
12901: LIST
12902: PPUSH
12903: CALL_OW 143
// end ; if difficulty > 2 then
12907: LD_OWVAR 67
12911: PUSH
12912: LD_INT 2
12914: GREATER
12915: IFFALSE 13009
// begin vc_chassis = arv10_ch ;
12917: LD_ADDR_OWVAR 37
12921: PUSH
12922: LD_EXP 42
12926: ST_TO_ADDR
// vc_weapon = arv10_wp ;
12927: LD_ADDR_OWVAR 40
12931: PUSH
12932: LD_EXP 43
12936: ST_TO_ADDR
// arv10 = createvehicle ;
12937: LD_ADDR_EXP 150
12941: PUSH
12942: CALL_OW 45
12946: ST_TO_ADDR
// setdir ( arv10 , 5 ) ;
12947: LD_EXP 150
12951: PPUSH
12952: LD_INT 5
12954: PPUSH
12955: CALL_OW 233
// placeunitxy ( arv10 , 125 , 40 , false ) ;
12959: LD_EXP 150
12963: PPUSH
12964: LD_INT 125
12966: PPUSH
12967: LD_INT 40
12969: PPUSH
12970: LD_INT 0
12972: PPUSH
12973: CALL_OW 48
// linkvehicletohuman ( arv10 , tmp ) ;
12977: LD_EXP 150
12981: PPUSH
12982: LD_VAR 0 2
12986: PPUSH
12987: CALL_OW 53
// comremember ( [ arv9 , arv10 ] ) ;
12991: LD_EXP 149
12995: PUSH
12996: LD_EXP 150
13000: PUSH
13001: EMPTY
13002: LIST
13003: LIST
13004: PPUSH
13005: CALL_OW 143
// end ; typitomybodovy = filterallunits ( [ [ f_side , ar ] , [ f_type , unit_building ] ] ) ;
13009: LD_ADDR_LOC 9
13013: PUSH
13014: LD_INT 22
13016: PUSH
13017: LD_EXP 3
13021: PUSH
13022: EMPTY
13023: LIST
13024: LIST
13025: PUSH
13026: LD_INT 21
13028: PUSH
13029: LD_INT 3
13031: PUSH
13032: EMPTY
13033: LIST
13034: LIST
13035: PUSH
13036: EMPTY
13037: LIST
13038: LIST
13039: PPUSH
13040: CALL_OW 69
13044: ST_TO_ADDR
// regid = mcregistry ( ar , [ [ mc_reg_area_to_guard , area4reg ] , [ mc_reg_refresh_time , 13 ] ] ) ;
13045: LD_ADDR_EXP 151
13049: PUSH
13050: LD_EXP 3
13054: PPUSH
13055: LD_INT 2
13057: PUSH
13058: LD_INT 25
13060: PUSH
13061: EMPTY
13062: LIST
13063: LIST
13064: PUSH
13065: LD_INT 1
13067: PUSH
13068: LD_INT 13
13070: PUSH
13071: EMPTY
13072: LIST
13073: LIST
13074: PUSH
13075: EMPTY
13076: LIST
13077: LIST
13078: PPUSH
13079: CALL_OW 399
13083: ST_TO_ADDR
// end ;
13084: LD_VAR 0 1
13088: RET
// export regid , defid ; function vidi_ar_base ; var tmp ; begin
13089: LD_INT 0
13091: PPUSH
13092: PPUSH
// for tmp in typitomybodovy do
13093: LD_ADDR_VAR 0 2
13097: PUSH
13098: LD_LOC 9
13102: PUSH
13103: FOR_IN
13104: IFFALSE 13136
// if see ( al , tmp ) then
13106: LD_EXP 1
13110: PPUSH
13111: LD_VAR 0 2
13115: PPUSH
13116: CALL_OW 292
13120: IFFALSE 13134
// begin result = true ;
13122: LD_ADDR_VAR 0 1
13126: PUSH
13127: LD_INT 1
13129: ST_TO_ADDR
// exit ;
13130: POP
13131: POP
13132: GO 13146
// end ;
13134: GO 13103
13136: POP
13137: POP
// result = false ;
13138: LD_ADDR_VAR 0 1
13142: PUSH
13143: LD_INT 0
13145: ST_TO_ADDR
// end ;
13146: LD_VAR 0 1
13150: RET
// export ar_base_spotted ; every 0 0$0.3 trigger vidi_ar_base marked 06 do var tmp , tmp2 , tmpx , tmpy ;
13151: CALL 13089 0 0
13155: IFFALSE 13565
13157: GO 13159
13159: DISABLE
13160: LD_INT 0
13162: PPUSH
13163: PPUSH
13164: PPUSH
13165: PPUSH
// begin tmp = nearestunittoxy ( filterallunits ( [ [ f_side , al ] , [ f_type , unit_human ] , [ f_or , [ f_outside ] , [ f_driving ] ] , f_not , [ f_nation , nation_nature ] ] ) , 138 , 65 ) ;
13166: LD_ADDR_VAR 0 1
13170: PUSH
13171: LD_INT 22
13173: PUSH
13174: LD_EXP 1
13178: PUSH
13179: EMPTY
13180: LIST
13181: LIST
13182: PUSH
13183: LD_INT 21
13185: PUSH
13186: LD_INT 1
13188: PUSH
13189: EMPTY
13190: LIST
13191: LIST
13192: PUSH
13193: LD_INT 2
13195: PUSH
13196: LD_INT 56
13198: PUSH
13199: EMPTY
13200: LIST
13201: PUSH
13202: LD_INT 55
13204: PUSH
13205: EMPTY
13206: LIST
13207: PUSH
13208: EMPTY
13209: LIST
13210: LIST
13211: LIST
13212: PUSH
13213: LD_INT 3
13215: PUSH
13216: LD_INT 23
13218: PUSH
13219: LD_INT 0
13221: PUSH
13222: EMPTY
13223: LIST
13224: LIST
13225: PUSH
13226: EMPTY
13227: LIST
13228: LIST
13229: LIST
13230: LIST
13231: LIST
13232: PPUSH
13233: CALL_OW 69
13237: PPUSH
13238: LD_INT 138
13240: PPUSH
13241: LD_INT 65
13243: PPUSH
13244: CALL_OW 73
13248: ST_TO_ADDR
// tmp2 = filterallunits ( [ [ f_side , al ] , [ f_type , unit_human ] , [ f_ok ] , f_not , [ f_nation , nation_nature ] ] ) diff john ;
13249: LD_ADDR_VAR 0 2
13253: PUSH
13254: LD_INT 22
13256: PUSH
13257: LD_EXP 1
13261: PUSH
13262: EMPTY
13263: LIST
13264: LIST
13265: PUSH
13266: LD_INT 21
13268: PUSH
13269: LD_INT 1
13271: PUSH
13272: EMPTY
13273: LIST
13274: LIST
13275: PUSH
13276: LD_INT 50
13278: PUSH
13279: EMPTY
13280: LIST
13281: PUSH
13282: LD_INT 3
13284: PUSH
13285: LD_INT 23
13287: PUSH
13288: LD_INT 0
13290: PUSH
13291: EMPTY
13292: LIST
13293: LIST
13294: PUSH
13295: EMPTY
13296: LIST
13297: LIST
13298: LIST
13299: LIST
13300: LIST
13301: PPUSH
13302: CALL_OW 69
13306: PUSH
13307: LD_EXP 80
13311: DIFF
13312: ST_TO_ADDR
// dialogueon ;
13313: CALL_OW 6
// if getsex ( tmp ) = sex_female then
13317: LD_VAR 0 1
13321: PPUSH
13322: CALL_OW 258
13326: PUSH
13327: LD_INT 2
13329: EQUAL
13330: IFFALSE 13346
// say ( tmp , D9-FSol1-1 ) else
13332: LD_VAR 0 1
13336: PPUSH
13337: LD_STRING D9-FSol1-1
13339: PPUSH
13340: CALL_OW 88
13344: GO 13358
// say ( tmp , D9-Sol1-1 ) ;
13346: LD_VAR 0 1
13350: PPUSH
13351: LD_STRING D9-Sol1-1
13353: PPUSH
13354: CALL_OW 88
// revealfogarea ( al , arab_base_reveal ) ;
13358: LD_EXP 1
13362: PPUSH
13363: LD_INT 11
13365: PPUSH
13366: CALL_OW 332
// centernowonunits ( [ abduluv ] ) ;
13370: LD_INT 22
13372: PUSH
13373: EMPTY
13374: LIST
13375: PPUSH
13376: CALL_OW 87
// tmpx = getx ( abduluv ) ;
13380: LD_ADDR_VAR 0 3
13384: PUSH
13385: LD_INT 22
13387: PPUSH
13388: CALL_OW 250
13392: ST_TO_ADDR
// tmpy = gety ( abduluv ) ;
13393: LD_ADDR_VAR 0 4
13397: PUSH
13398: LD_INT 22
13400: PPUSH
13401: CALL_OW 251
13405: ST_TO_ADDR
// placeseeing ( tmpx , tmpy , al , 2 ) ;
13406: LD_VAR 0 3
13410: PPUSH
13411: LD_VAR 0 4
13415: PPUSH
13416: LD_EXP 1
13420: PPUSH
13421: LD_INT 2
13423: PPUSH
13424: CALL_OW 330
// if islive ( frank ) then
13428: LD_EXP 86
13432: PPUSH
13433: CALL_OW 300
13437: IFFALSE 13477
// begin say ( frank , D9-Frank-1 ) ;
13439: LD_EXP 86
13443: PPUSH
13444: LD_STRING D9-Frank-1
13446: PPUSH
13447: CALL_OW 88
// say ( john , D9-JMM-1 ) ;
13451: LD_EXP 80
13455: PPUSH
13456: LD_STRING D9-JMM-1
13458: PPUSH
13459: CALL_OW 88
// say ( frank , D9-Frank-2 ) ;
13463: LD_EXP 86
13467: PPUSH
13468: LD_STRING D9-Frank-2
13470: PPUSH
13471: CALL_OW 88
// end else
13475: GO 13527
// if tmp2 then
13477: LD_VAR 0 2
13481: IFFALSE 13527
// begin say ( tmp2 [ 1 ] , D9-Frank-1 ) ;
13483: LD_VAR 0 2
13487: PUSH
13488: LD_INT 1
13490: ARRAY
13491: PPUSH
13492: LD_STRING D9-Frank-1
13494: PPUSH
13495: CALL_OW 88
// say ( john , D9-JMM-1 ) ;
13499: LD_EXP 80
13503: PPUSH
13504: LD_STRING D9-JMM-1
13506: PPUSH
13507: CALL_OW 88
// say ( tmp2 [ 1 ] , D9-Frank-2 ) ;
13511: LD_VAR 0 2
13515: PUSH
13516: LD_INT 1
13518: ARRAY
13519: PPUSH
13520: LD_STRING D9-Frank-2
13522: PPUSH
13523: CALL_OW 88
// end ; dialogueoff ;
13527: CALL_OW 7
// removeseeing ( tmpx , tmpy , al ) ;
13531: LD_VAR 0 3
13535: PPUSH
13536: LD_VAR 0 4
13540: PPUSH
13541: LD_EXP 1
13545: PPUSH
13546: CALL_OW 331
// ar_base_spotted = true ;
13550: LD_ADDR_EXP 153
13554: PUSH
13555: LD_INT 1
13557: ST_TO_ADDR
// update_display ( 1 ) ;
13558: LD_INT 1
13560: PPUSH
13561: CALL 13568 0 1
// end ;
13565: PPOPN 4
13567: END
// var act_time ; export function update_display ( flag ) ; var tmp ; begin
13568: LD_INT 0
13570: PPUSH
13571: PPUSH
// tmp = tick div ( 35 * 60 ) ;
13572: LD_ADDR_VAR 0 3
13576: PUSH
13577: LD_OWVAR 1
13581: PUSH
13582: LD_INT 35
13584: PUSH
13585: LD_INT 60
13587: MUL
13588: DIV
13589: ST_TO_ADDR
// act_time = tmp * 35 * 60 ;
13590: LD_ADDR_LOC 11
13594: PUSH
13595: LD_VAR 0 3
13599: PUSH
13600: LD_INT 35
13602: MUL
13603: PUSH
13604: LD_INT 60
13606: MUL
13607: ST_TO_ADDR
// display_strings = [ #Am17-1 , arab_artef_zdrh + 25 25$0 - act_time ] ;
13608: LD_ADDR_OWVAR 47
13612: PUSH
13613: LD_STRING #Am17-1
13615: PUSH
13616: LD_EXP 73
13620: PUSH
13621: LD_INT 52500
13623: PLUS
13624: PUSH
13625: LD_LOC 11
13629: MINUS
13630: PUSH
13631: EMPTY
13632: LIST
13633: LIST
13634: ST_TO_ADDR
// if flag then
13635: LD_VAR 0 1
13639: IFFALSE 13644
// enable ( 37 ) ;
13641: LD_INT 37
13643: ENABLE_MARKED
// end ;
13644: LD_VAR 0 2
13648: RET
// every 1 1$0 marked 37 do
13649: GO 13651
13651: DISABLE
// begin update_display ( 0 ) ;
13652: LD_INT 0
13654: PPUSH
13655: CALL 13568 0 1
// enable ;
13659: ENABLE
// end ;
13660: END
// every 0 0$30 marked 13 do
13661: GO 13663
13663: DISABLE
// begin time2destmasha_ = time2destmasha_ - 0 0$30 ;
13664: LD_ADDR_EXP 74
13668: PUSH
13669: LD_EXP 74
13673: PUSH
13674: LD_INT 1050
13676: MINUS
13677: ST_TO_ADDR
// if time2destmasha_ > 0 then
13678: LD_EXP 74
13682: PUSH
13683: LD_INT 0
13685: GREATER
13686: IFFALSE 13691
// begin enable ;
13688: ENABLE
// exit ;
13689: GO 13734
// end ; comenterunit ( abdul , abduluv ) ;
13691: LD_EXP 134
13695: PPUSH
13696: LD_INT 22
13698: PPUSH
13699: CALL_OW 120
// while not isinunit ( abdul ) do
13703: LD_EXP 134
13707: PPUSH
13708: CALL_OW 310
13712: NOT
13713: IFFALSE 13724
// wait ( 0 0$1 ) ;
13715: LD_INT 35
13717: PPUSH
13718: CALL_OW 67
13722: GO 13703
// comremember ( abduluv ) ;
13724: LD_INT 22
13726: PPUSH
13727: CALL_OW 143
// enable ( 14 ) ;
13731: LD_INT 14
13733: ENABLE_MARKED
// end ;
13734: END
// every 0 0$2 trigger see ( ar , masha ) marked 14 do var tmp ;
13735: LD_EXP 3
13739: PPUSH
13740: LD_EXP 112
13744: PPUSH
13745: CALL_OW 292
13749: IFFALSE 13919
13751: GO 13753
13753: DISABLE
13754: LD_INT 0
13756: PPUSH
// begin comreturn ( abduluv ) ;
13757: LD_INT 22
13759: PPUSH
13760: CALL_OW 144
// uc_side = ar ;
13764: LD_ADDR_OWVAR 20
13768: PUSH
13769: LD_EXP 3
13773: ST_TO_ADDR
// uc_nation = nation_arabian ;
13774: LD_ADDR_OWVAR 21
13778: PUSH
13779: LD_INT 2
13781: ST_TO_ADDR
// preparesoldier ( sex_male , 7 ) ;
13782: LD_INT 1
13784: PPUSH
13785: LD_INT 7
13787: PPUSH
13788: CALL_OW 381
// tmp = createhuman ;
13792: LD_ADDR_VAR 0 1
13796: PUSH
13797: CALL_OW 44
13801: ST_TO_ADDR
// placeunitxy ( tmp , 133 , 32 , false ) ;
13802: LD_VAR 0 1
13806: PPUSH
13807: LD_INT 133
13809: PPUSH
13810: LD_INT 32
13812: PPUSH
13813: LD_INT 0
13815: PPUSH
13816: CALL_OW 48
// commovexy ( tmp , 123 , 15 ) ;
13820: LD_VAR 0 1
13824: PPUSH
13825: LD_INT 123
13827: PPUSH
13828: LD_INT 15
13830: PPUSH
13831: CALL_OW 111
// addcomplacedelayedcharge ( tmp , 0 , 0 , masha ) ;
13835: LD_VAR 0 1
13839: PPUSH
13840: LD_INT 0
13842: PPUSH
13843: LD_INT 0
13845: PPUSH
13846: LD_EXP 112
13850: PPUSH
13851: CALL_OW 192
// addcommovexy ( tmp , 133 , 32 ) ;
13855: LD_VAR 0 1
13859: PPUSH
13860: LD_INT 133
13862: PPUSH
13863: LD_INT 32
13865: PPUSH
13866: CALL_OW 171
// addcomhold ( tmp ) ;
13870: LD_VAR 0 1
13874: PPUSH
13875: CALL_OW 200
// addcommoveunit ( tmp , arbarr ) ;
13879: LD_VAR 0 1
13883: PPUSH
13884: LD_INT 2
13886: PPUSH
13887: CALL_OW 172
// while not isdead ( masha ) do
13891: LD_EXP 112
13895: PPUSH
13896: CALL_OW 301
13900: NOT
13901: IFFALSE 13912
// wait ( 0 0$1 ) ;
13903: LD_INT 35
13905: PPUSH
13906: CALL_OW 67
13910: GO 13891
// changemissionobjectives ( M4b ) ;
13912: LD_STRING M4b
13914: PPUSH
13915: CALL_OW 337
// end ;
13919: PPOPN 1
13921: END
// function isinareaex ( list , area ) ; var tmp ; begin
13922: LD_INT 0
13924: PPUSH
13925: PPUSH
// for tmp in list do
13926: LD_ADDR_VAR 0 4
13930: PUSH
13931: LD_VAR 0 1
13935: PUSH
13936: FOR_IN
13937: IFFALSE 13970
// if not isinarea ( tmp , area ) then
13939: LD_VAR 0 4
13943: PPUSH
13944: LD_VAR 0 2
13948: PPUSH
13949: CALL_OW 308
13953: NOT
13954: IFFALSE 13968
// begin result = false ;
13956: LD_ADDR_VAR 0 3
13960: PUSH
13961: LD_INT 0
13963: ST_TO_ADDR
// exit ;
13964: POP
13965: POP
13966: GO 13980
// end ;
13968: GO 13936
13970: POP
13971: POP
// result = true ;
13972: LD_ADDR_VAR 0 3
13976: PUSH
13977: LD_INT 1
13979: ST_TO_ADDR
// end ;
13980: LD_VAR 0 3
13984: RET
// every 0 0$1 marked 07 do var tmp , tmp2 ;
13985: GO 13987
13987: DISABLE
13988: LD_INT 0
13990: PPUSH
13991: PPUSH
// begin wait ( 7 7$0 ) ;
13992: LD_INT 14700
13994: PPUSH
13995: CALL_OW 67
// uc_side = ar ;
13999: LD_ADDR_OWVAR 20
14003: PUSH
14004: LD_EXP 3
14008: ST_TO_ADDR
// uc_nation = nation_arabian ;
14009: LD_ADDR_OWVAR 21
14013: PUSH
14014: LD_INT 2
14016: ST_TO_ADDR
// vc_engine = engine_siberite ;
14017: LD_ADDR_OWVAR 39
14021: PUSH
14022: LD_INT 3
14024: ST_TO_ADDR
// vc_control = control_manual ;
14025: LD_ADDR_OWVAR 38
14029: PUSH
14030: LD_INT 1
14032: ST_TO_ADDR
// tmp2 = [ ] ;
14033: LD_ADDR_VAR 0 2
14037: PUSH
14038: EMPTY
14039: ST_TO_ADDR
// vc_chassis = arv1_ch ;
14040: LD_ADDR_OWVAR 37
14044: PUSH
14045: LD_EXP 18
14049: ST_TO_ADDR
// vc_weapon = arv1_wp ;
14050: LD_ADDR_OWVAR 40
14054: PUSH
14055: LD_EXP 19
14059: ST_TO_ADDR
// tmp = createvehicle ;
14060: LD_ADDR_VAR 0 1
14064: PUSH
14065: CALL_OW 45
14069: ST_TO_ADDR
// setdir ( tmp , 5 ) ;
14070: LD_VAR 0 1
14074: PPUSH
14075: LD_INT 5
14077: PPUSH
14078: CALL_OW 233
// placeunitarea ( tmp , ar_place , false ) ;
14082: LD_VAR 0 1
14086: PPUSH
14087: LD_INT 12
14089: PPUSH
14090: LD_INT 0
14092: PPUSH
14093: CALL_OW 49
// preparemechanic ( sex_male , arm1_sk ) ;
14097: LD_INT 1
14099: PPUSH
14100: LD_EXP 20
14104: PPUSH
14105: CALL_OW 383
// placehumaninunit ( createhuman , tmp ) ;
14109: CALL_OW 44
14113: PPUSH
14114: LD_VAR 0 1
14118: PPUSH
14119: CALL_OW 52
// tmp2 = tmp2 ^ [ tmp ] ;
14123: LD_ADDR_VAR 0 2
14127: PUSH
14128: LD_VAR 0 2
14132: PUSH
14133: LD_VAR 0 1
14137: PUSH
14138: EMPTY
14139: LIST
14140: ADD
14141: ST_TO_ADDR
// vc_chassis = arv2_ch ;
14142: LD_ADDR_OWVAR 37
14146: PUSH
14147: LD_EXP 21
14151: ST_TO_ADDR
// vc_weapon = arv2_wp ;
14152: LD_ADDR_OWVAR 40
14156: PUSH
14157: LD_EXP 22
14161: ST_TO_ADDR
// tmp = createvehicle ;
14162: LD_ADDR_VAR 0 1
14166: PUSH
14167: CALL_OW 45
14171: ST_TO_ADDR
// setdir ( tmp , 4 ) ;
14172: LD_VAR 0 1
14176: PPUSH
14177: LD_INT 4
14179: PPUSH
14180: CALL_OW 233
// placeunitarea ( tmp , ar_place , false ) ;
14184: LD_VAR 0 1
14188: PPUSH
14189: LD_INT 12
14191: PPUSH
14192: LD_INT 0
14194: PPUSH
14195: CALL_OW 49
// preparemechanic ( sex_male , arm2_sk ) ;
14199: LD_INT 1
14201: PPUSH
14202: LD_EXP 23
14206: PPUSH
14207: CALL_OW 383
// placehumaninunit ( createhuman , tmp ) ;
14211: CALL_OW 44
14215: PPUSH
14216: LD_VAR 0 1
14220: PPUSH
14221: CALL_OW 52
// tmp2 = tmp2 ^ [ tmp ] ;
14225: LD_ADDR_VAR 0 2
14229: PUSH
14230: LD_VAR 0 2
14234: PUSH
14235: LD_VAR 0 1
14239: PUSH
14240: EMPTY
14241: LIST
14242: ADD
14243: ST_TO_ADDR
// vc_chassis = arv3_ch ;
14244: LD_ADDR_OWVAR 37
14248: PUSH
14249: LD_EXP 24
14253: ST_TO_ADDR
// vc_weapon = arv3_wp ;
14254: LD_ADDR_OWVAR 40
14258: PUSH
14259: LD_EXP 25
14263: ST_TO_ADDR
// tmp = createvehicle ;
14264: LD_ADDR_VAR 0 1
14268: PUSH
14269: CALL_OW 45
14273: ST_TO_ADDR
// setdir ( tmp , 5 ) ;
14274: LD_VAR 0 1
14278: PPUSH
14279: LD_INT 5
14281: PPUSH
14282: CALL_OW 233
// placeunitarea ( tmp , ar_place , false ) ;
14286: LD_VAR 0 1
14290: PPUSH
14291: LD_INT 12
14293: PPUSH
14294: LD_INT 0
14296: PPUSH
14297: CALL_OW 49
// preparemechanic ( sex_male , arm3_sk ) ;
14301: LD_INT 1
14303: PPUSH
14304: LD_EXP 26
14308: PPUSH
14309: CALL_OW 383
// placehumaninunit ( createhuman , tmp ) ;
14313: CALL_OW 44
14317: PPUSH
14318: LD_VAR 0 1
14322: PPUSH
14323: CALL_OW 52
// tmp2 = tmp2 ^ [ tmp ] ;
14327: LD_ADDR_VAR 0 2
14331: PUSH
14332: LD_VAR 0 2
14336: PUSH
14337: LD_VAR 0 1
14341: PUSH
14342: EMPTY
14343: LIST
14344: ADD
14345: ST_TO_ADDR
// vc_chassis = arv4_ch ;
14346: LD_ADDR_OWVAR 37
14350: PUSH
14351: LD_EXP 27
14355: ST_TO_ADDR
// vc_weapon = arv4_wp ;
14356: LD_ADDR_OWVAR 40
14360: PUSH
14361: LD_EXP 28
14365: ST_TO_ADDR
// tmp = createvehicle ;
14366: LD_ADDR_VAR 0 1
14370: PUSH
14371: CALL_OW 45
14375: ST_TO_ADDR
// setdir ( tmp , 5 ) ;
14376: LD_VAR 0 1
14380: PPUSH
14381: LD_INT 5
14383: PPUSH
14384: CALL_OW 233
// placeunitarea ( tmp , ar_place , false ) ;
14388: LD_VAR 0 1
14392: PPUSH
14393: LD_INT 12
14395: PPUSH
14396: LD_INT 0
14398: PPUSH
14399: CALL_OW 49
// preparemechanic ( sex_male , arm4_sk ) ;
14403: LD_INT 1
14405: PPUSH
14406: LD_EXP 29
14410: PPUSH
14411: CALL_OW 383
// placehumaninunit ( createhuman , tmp ) ;
14415: CALL_OW 44
14419: PPUSH
14420: LD_VAR 0 1
14424: PPUSH
14425: CALL_OW 52
// tmp2 = tmp2 ^ [ tmp ] ;
14429: LD_ADDR_VAR 0 2
14433: PUSH
14434: LD_VAR 0 2
14438: PUSH
14439: LD_VAR 0 1
14443: PUSH
14444: EMPTY
14445: LIST
14446: ADD
14447: ST_TO_ADDR
// vc_engine = engine_combustion ;
14448: LD_ADDR_OWVAR 39
14452: PUSH
14453: LD_INT 1
14455: ST_TO_ADDR
// vc_chassis = arv5_ch ;
14456: LD_ADDR_OWVAR 37
14460: PUSH
14461: LD_EXP 30
14465: ST_TO_ADDR
// vc_weapon = arv5_wp ;
14466: LD_ADDR_OWVAR 40
14470: PUSH
14471: LD_EXP 31
14475: ST_TO_ADDR
// tmp = createvehicle ;
14476: LD_ADDR_VAR 0 1
14480: PUSH
14481: CALL_OW 45
14485: ST_TO_ADDR
// setdir ( tmp , 4 ) ;
14486: LD_VAR 0 1
14490: PPUSH
14491: LD_INT 4
14493: PPUSH
14494: CALL_OW 233
// placeunitarea ( tmp , ar_place , false ) ;
14498: LD_VAR 0 1
14502: PPUSH
14503: LD_INT 12
14505: PPUSH
14506: LD_INT 0
14508: PPUSH
14509: CALL_OW 49
// preparemechanic ( sex_male , arm5_sk ) ;
14513: LD_INT 1
14515: PPUSH
14516: LD_EXP 32
14520: PPUSH
14521: CALL_OW 383
// placehumaninunit ( createhuman , tmp ) ;
14525: CALL_OW 44
14529: PPUSH
14530: LD_VAR 0 1
14534: PPUSH
14535: CALL_OW 52
// tmp2 = tmp2 ^ [ tmp ] ;
14539: LD_ADDR_VAR 0 2
14543: PUSH
14544: LD_VAR 0 2
14548: PUSH
14549: LD_VAR 0 1
14553: PUSH
14554: EMPTY
14555: LIST
14556: ADD
14557: ST_TO_ADDR
// vc_engine = engine_siberite ;
14558: LD_ADDR_OWVAR 39
14562: PUSH
14563: LD_INT 3
14565: ST_TO_ADDR
// vc_chassis = arv6_ch ;
14566: LD_ADDR_OWVAR 37
14570: PUSH
14571: LD_EXP 33
14575: ST_TO_ADDR
// vc_weapon = arv6_wp ;
14576: LD_ADDR_OWVAR 40
14580: PUSH
14581: LD_EXP 34
14585: ST_TO_ADDR
// tmp = createvehicle ;
14586: LD_ADDR_VAR 0 1
14590: PUSH
14591: CALL_OW 45
14595: ST_TO_ADDR
// setdir ( tmp , 5 ) ;
14596: LD_VAR 0 1
14600: PPUSH
14601: LD_INT 5
14603: PPUSH
14604: CALL_OW 233
// placeunitarea ( tmp , ar_place , false ) ;
14608: LD_VAR 0 1
14612: PPUSH
14613: LD_INT 12
14615: PPUSH
14616: LD_INT 0
14618: PPUSH
14619: CALL_OW 49
// preparemechanic ( sex_male , arm6_sk ) ;
14623: LD_INT 1
14625: PPUSH
14626: LD_EXP 35
14630: PPUSH
14631: CALL_OW 383
// placehumaninunit ( createhuman , tmp ) ;
14635: CALL_OW 44
14639: PPUSH
14640: LD_VAR 0 1
14644: PPUSH
14645: CALL_OW 52
// tmp2 = tmp2 ^ [ tmp ] ;
14649: LD_ADDR_VAR 0 2
14653: PUSH
14654: LD_VAR 0 2
14658: PUSH
14659: LD_VAR 0 1
14663: PUSH
14664: EMPTY
14665: LIST
14666: ADD
14667: ST_TO_ADDR
// vc_control = control_remote ;
14668: LD_ADDR_OWVAR 38
14672: PUSH
14673: LD_INT 2
14675: ST_TO_ADDR
// if difficulty >= 2 then
14676: LD_OWVAR 67
14680: PUSH
14681: LD_INT 2
14683: GREATEREQUAL
14684: IFFALSE 14866
// begin vc_chassis = arv7_ch ;
14686: LD_ADDR_OWVAR 37
14690: PUSH
14691: LD_EXP 36
14695: ST_TO_ADDR
// vc_weapon = arv7_wp ;
14696: LD_ADDR_OWVAR 40
14700: PUSH
14701: LD_EXP 37
14705: ST_TO_ADDR
// tmp = createvehicle ;
14706: LD_ADDR_VAR 0 1
14710: PUSH
14711: CALL_OW 45
14715: ST_TO_ADDR
// setdir ( tmp , 4 ) ;
14716: LD_VAR 0 1
14720: PPUSH
14721: LD_INT 4
14723: PPUSH
14724: CALL_OW 233
// placeunitarea ( tmp , ar_place , false ) ;
14728: LD_VAR 0 1
14732: PPUSH
14733: LD_INT 12
14735: PPUSH
14736: LD_INT 0
14738: PPUSH
14739: CALL_OW 49
// linkvehicletohuman ( tmp , ar_mech_ctrl ) ;
14743: LD_VAR 0 1
14747: PPUSH
14748: LD_LOC 10
14752: PPUSH
14753: CALL_OW 53
// tmp2 = tmp2 ^ [ tmp ] ;
14757: LD_ADDR_VAR 0 2
14761: PUSH
14762: LD_VAR 0 2
14766: PUSH
14767: LD_VAR 0 1
14771: PUSH
14772: EMPTY
14773: LIST
14774: ADD
14775: ST_TO_ADDR
// vc_chassis = arv8_ch ;
14776: LD_ADDR_OWVAR 37
14780: PUSH
14781: LD_EXP 38
14785: ST_TO_ADDR
// vc_weapon = arv8_wp ;
14786: LD_ADDR_OWVAR 40
14790: PUSH
14791: LD_EXP 39
14795: ST_TO_ADDR
// tmp = createvehicle ;
14796: LD_ADDR_VAR 0 1
14800: PUSH
14801: CALL_OW 45
14805: ST_TO_ADDR
// setdir ( tmp , 5 ) ;
14806: LD_VAR 0 1
14810: PPUSH
14811: LD_INT 5
14813: PPUSH
14814: CALL_OW 233
// placeunitarea ( tmp , ar_place , false ) ;
14818: LD_VAR 0 1
14822: PPUSH
14823: LD_INT 12
14825: PPUSH
14826: LD_INT 0
14828: PPUSH
14829: CALL_OW 49
// linkvehicletohuman ( tmp , ar_mech_ctrl ) ;
14833: LD_VAR 0 1
14837: PPUSH
14838: LD_LOC 10
14842: PPUSH
14843: CALL_OW 53
// tmp2 = tmp2 ^ [ tmp ] ;
14847: LD_ADDR_VAR 0 2
14851: PUSH
14852: LD_VAR 0 2
14856: PUSH
14857: LD_VAR 0 1
14861: PUSH
14862: EMPTY
14863: LIST
14864: ADD
14865: ST_TO_ADDR
// end ; if difficulty > 2 then
14866: LD_OWVAR 67
14870: PUSH
14871: LD_INT 2
14873: GREATER
14874: IFFALSE 15056
// begin vc_chassis = arv9_ch ;
14876: LD_ADDR_OWVAR 37
14880: PUSH
14881: LD_EXP 40
14885: ST_TO_ADDR
// vc_weapon = arv9_wp ;
14886: LD_ADDR_OWVAR 40
14890: PUSH
14891: LD_EXP 41
14895: ST_TO_ADDR
// tmp = createvehicle ;
14896: LD_ADDR_VAR 0 1
14900: PUSH
14901: CALL_OW 45
14905: ST_TO_ADDR
// setdir ( tmp , 4 ) ;
14906: LD_VAR 0 1
14910: PPUSH
14911: LD_INT 4
14913: PPUSH
14914: CALL_OW 233
// placeunitarea ( tmp , ar_place , false ) ;
14918: LD_VAR 0 1
14922: PPUSH
14923: LD_INT 12
14925: PPUSH
14926: LD_INT 0
14928: PPUSH
14929: CALL_OW 49
// linkvehicletohuman ( tmp , ar_mech_ctrl ) ;
14933: LD_VAR 0 1
14937: PPUSH
14938: LD_LOC 10
14942: PPUSH
14943: CALL_OW 53
// tmp2 = tmp2 ^ [ tmp ] ;
14947: LD_ADDR_VAR 0 2
14951: PUSH
14952: LD_VAR 0 2
14956: PUSH
14957: LD_VAR 0 1
14961: PUSH
14962: EMPTY
14963: LIST
14964: ADD
14965: ST_TO_ADDR
// vc_chassis = arv10_ch ;
14966: LD_ADDR_OWVAR 37
14970: PUSH
14971: LD_EXP 42
14975: ST_TO_ADDR
// vc_weapon = arv10_wp ;
14976: LD_ADDR_OWVAR 40
14980: PUSH
14981: LD_EXP 43
14985: ST_TO_ADDR
// tmp = createvehicle ;
14986: LD_ADDR_VAR 0 1
14990: PUSH
14991: CALL_OW 45
14995: ST_TO_ADDR
// setdir ( tmp , 5 ) ;
14996: LD_VAR 0 1
15000: PPUSH
15001: LD_INT 5
15003: PPUSH
15004: CALL_OW 233
// placeunitarea ( tmp , ar_place , false ) ;
15008: LD_VAR 0 1
15012: PPUSH
15013: LD_INT 12
15015: PPUSH
15016: LD_INT 0
15018: PPUSH
15019: CALL_OW 49
// linkvehicletohuman ( tmp , ar_mech_ctrl ) ;
15023: LD_VAR 0 1
15027: PPUSH
15028: LD_LOC 10
15032: PPUSH
15033: CALL_OW 53
// tmp2 = tmp2 ^ [ tmp ] ;
15037: LD_ADDR_VAR 0 2
15041: PUSH
15042: LD_VAR 0 2
15046: PUSH
15047: LD_VAR 0 1
15051: PUSH
15052: EMPTY
15053: LIST
15054: ADD
15055: ST_TO_ADDR
// end ; commovetoarea ( tmp2 , wayp ) ;
15056: LD_VAR 0 2
15060: PPUSH
15061: LD_INT 13
15063: PPUSH
15064: CALL_OW 113
// tmp = 1 ;
15068: LD_ADDR_VAR 0 1
15072: PUSH
15073: LD_INT 1
15075: ST_TO_ADDR
// while not isinareaex ( tmp2 , wayp ) do
15076: LD_VAR 0 2
15080: PPUSH
15081: LD_INT 13
15083: PPUSH
15084: CALL 13922 0 2
15088: NOT
15089: IFFALSE 15140
// begin wait ( 0 0$1 ) ;
15091: LD_INT 35
15093: PPUSH
15094: CALL_OW 67
// tmp = tmp + 1 ;
15098: LD_ADDR_VAR 0 1
15102: PUSH
15103: LD_VAR 0 1
15107: PUSH
15108: LD_INT 1
15110: PLUS
15111: ST_TO_ADDR
// if ( tmp mod 5 ) = 0 then
15112: LD_VAR 0 1
15116: PUSH
15117: LD_INT 5
15119: MOD
15120: PUSH
15121: LD_INT 0
15123: EQUAL
15124: IFFALSE 15138
// commovetoarea ( tmp2 , wayp ) ;
15126: LD_VAR 0 2
15130: PPUSH
15131: LD_INT 13
15133: PPUSH
15134: CALL_OW 113
// end ;
15138: GO 15076
// comagressivemove ( tmp2 , 61 , 50 ) ;
15140: LD_VAR 0 2
15144: PPUSH
15145: LD_INT 61
15147: PPUSH
15148: LD_INT 50
15150: PPUSH
15151: CALL_OW 114
// end ;
15155: PPOPN 2
15157: END
// every 25 25$0 do
15158: GO 15160
15160: DISABLE
// begin wait ( arab_artef_zdrh ) ;
15161: LD_EXP 73
15165: PPUSH
15166: CALL_OW 67
// commovexy ( nakladak , 161 , 87 ) ;
15170: LD_INT 23
15172: PPUSH
15173: LD_INT 161
15175: PPUSH
15176: LD_INT 87
15178: PPUSH
15179: CALL_OW 111
// wait ( 0 0$5 ) ;
15183: LD_INT 175
15185: PPUSH
15186: CALL_OW 67
// destroyunit ( nakladak ) ;
15190: LD_INT 23
15192: PPUSH
15193: CALL_OW 65
// youlost ( Destroyed ) ;
15197: LD_STRING Destroyed
15199: PPUSH
15200: CALL_OW 104
// end ;
15204: END
// on vehiclecaptured ( vehnew , vehold , origside , hum ) do if vehold = nakladak then
15205: LD_VAR 0 2
15209: PUSH
15210: LD_INT 23
15212: EQUAL
15213: IFFALSE 15225
// koncime = true else
15215: LD_ADDR_EXP 76
15219: PUSH
15220: LD_INT 1
15222: ST_TO_ADDR
15223: GO 15247
// if vehold = masha then
15225: LD_VAR 0 2
15229: PUSH
15230: LD_EXP 112
15234: EQUAL
15235: IFFALSE 15247
// masha = vehnew ;
15237: LD_ADDR_EXP 112
15241: PUSH
15242: LD_VAR 0 1
15246: ST_TO_ADDR
15247: PPOPN 4
15249: END
// on artifactloaded ( un , size ) marked 15 do if getside ( un ) = al then
15250: LD_VAR 0 1
15254: PPUSH
15255: CALL_OW 255
15259: PUSH
15260: LD_EXP 1
15264: EQUAL
15265: IFFALSE 15275
// koncime = true ;
15267: LD_ADDR_EXP 76
15271: PUSH
15272: LD_INT 1
15274: ST_TO_ADDR
15275: PPOPN 2
15277: END
// every 0 0$1 trigger koncime or base_out or artef_out do var un ; var medal1 , medal2 , medal3 ;
15278: LD_EXP 76
15282: PUSH
15283: LD_EXP 79
15287: OR
15288: PUSH
15289: LD_EXP 78
15293: OR
15294: IFFALSE 15768
15296: GO 15298
15298: DISABLE
15299: LD_INT 0
15301: PPUSH
15302: PPUSH
15303: PPUSH
15304: PPUSH
// begin medal1 := false ;
15305: LD_ADDR_VAR 0 2
15309: PUSH
15310: LD_INT 0
15312: ST_TO_ADDR
// medal2 := false ;
15313: LD_ADDR_VAR 0 3
15317: PUSH
15318: LD_INT 0
15320: ST_TO_ADDR
// medal3 := false ;
15321: LD_ADDR_VAR 0 4
15325: PUSH
15326: LD_INT 0
15328: ST_TO_ADDR
// wait ( [ 0 0$10 , 0 0$5 , 0 0$0 ] [ difficulty ] ) ;
15329: LD_INT 350
15331: PUSH
15332: LD_INT 175
15334: PUSH
15335: LD_INT 0
15337: PUSH
15338: EMPTY
15339: LIST
15340: LIST
15341: LIST
15342: PUSH
15343: LD_OWVAR 67
15347: ARRAY
15348: PPUSH
15349: CALL_OW 67
// if IsPlaced ( Abdul ) and IsLive ( Abdul ) then
15353: LD_EXP 134
15357: PPUSH
15358: CALL_OW 305
15362: PUSH
15363: LD_EXP 134
15367: PPUSH
15368: CALL_OW 300
15372: AND
15373: IFFALSE 15497
// begin repeat wait ( 0 0$1 ) ;
15375: LD_INT 35
15377: PPUSH
15378: CALL_OW 67
// if IsDead ( Abdul ) then
15382: LD_EXP 134
15386: PPUSH
15387: CALL_OW 301
15391: IFFALSE 15395
// break ;
15393: GO 15490
// if IsInUnit ( Abdul ) > 0 then
15395: LD_EXP 134
15399: PPUSH
15400: CALL_OW 310
15404: PUSH
15405: LD_INT 0
15407: GREATER
15408: IFFALSE 15427
// un = IsInUnit ( Abdul ) else
15410: LD_ADDR_VAR 0 1
15414: PUSH
15415: LD_EXP 134
15419: PPUSH
15420: CALL_OW 310
15424: ST_TO_ADDR
15425: GO 15437
// un = Abdul ;
15427: LD_ADDR_VAR 0 1
15431: PUSH
15432: LD_EXP 134
15436: ST_TO_ADDR
// if GetDistUnitXY ( un , 167 , 97 ) <= 2 then
15437: LD_VAR 0 1
15441: PPUSH
15442: LD_INT 167
15444: PPUSH
15445: LD_INT 97
15447: PPUSH
15448: CALL_OW 297
15452: PUSH
15453: LD_INT 2
15455: LESSEQUAL
15456: IFFALSE 15471
// begin RemoveUnit ( un ) ;
15458: LD_VAR 0 1
15462: PPUSH
15463: CALL_OW 64
// break ;
15467: GO 15490
// end else
15469: GO 15486
// ComMoveXY ( un , 167 , 97 ) ;
15471: LD_VAR 0 1
15475: PPUSH
15476: LD_INT 167
15478: PPUSH
15479: LD_INT 97
15481: PPUSH
15482: CALL_OW 111
// until false ;
15486: LD_INT 0
15488: IFFALSE 15375
// wait ( 0 0$2 ) ;
15490: LD_INT 70
15492: PPUSH
15493: CALL_OW 67
// end ; while IsPlaced ( abduluv ) and IsLive ( abduluv ) do
15497: LD_INT 22
15499: PPUSH
15500: CALL_OW 305
15504: PUSH
15505: LD_INT 22
15507: PPUSH
15508: CALL_OW 300
15512: AND
15513: IFFALSE 15524
// wait ( 0 0$1 ) ;
15515: LD_INT 35
15517: PPUSH
15518: CALL_OW 67
15522: GO 15497
// if ( getside ( masha ) = al ) or ( getside ( masha ) = oth ) then
15524: LD_EXP 112
15528: PPUSH
15529: CALL_OW 255
15533: PUSH
15534: LD_EXP 1
15538: EQUAL
15539: PUSH
15540: LD_EXP 112
15544: PPUSH
15545: CALL_OW 255
15549: PUSH
15550: LD_EXP 4
15554: EQUAL
15555: OR
15556: IFFALSE 15578
// begin medal1 := true ;
15558: LD_ADDR_VAR 0 2
15562: PUSH
15563: LD_INT 1
15565: ST_TO_ADDR
// addmedal ( Masha , 1 ) ;
15566: LD_STRING Masha
15568: PPUSH
15569: LD_INT 1
15571: PPUSH
15572: CALL_OW 101
// end else
15576: GO 15589
// addmedal ( Masha , - 1 ) ;
15578: LD_STRING Masha
15580: PPUSH
15581: LD_INT 1
15583: NEG
15584: PPUSH
15585: CALL_OW 101
// if isdead ( abdul ) then
15589: LD_EXP 134
15593: PPUSH
15594: CALL_OW 301
15598: IFFALSE 15620
// begin medal2 := true ;
15600: LD_ADDR_VAR 0 3
15604: PUSH
15605: LD_INT 1
15607: ST_TO_ADDR
// addmedal ( Abdul , 1 ) ;
15608: LD_STRING Abdul
15610: PPUSH
15611: LD_INT 1
15613: PPUSH
15614: CALL_OW 101
// end else
15618: GO 15631
// addmedal ( Abdul , - 1 ) ;
15620: LD_STRING Abdul
15622: PPUSH
15623: LD_INT 1
15625: NEG
15626: PPUSH
15627: CALL_OW 101
// if isdead ( abduluv ) then
15631: LD_INT 22
15633: PPUSH
15634: CALL_OW 301
15638: IFFALSE 15660
// begin medal3 := true ;
15640: LD_ADDR_VAR 0 4
15644: PUSH
15645: LD_INT 1
15647: ST_TO_ADDR
// addmedal ( Mast , 1 ) ;
15648: LD_STRING Mast
15650: PPUSH
15651: LD_INT 1
15653: PPUSH
15654: CALL_OW 101
// end else
15658: GO 15671
// addmedal ( Mast , - 1 ) ;
15660: LD_STRING Mast
15662: PPUSH
15663: LD_INT 1
15665: NEG
15666: PPUSH
15667: CALL_OW 101
// SA_EndMission ( 4 , 2 , medal1 , medal2 , medal3 ) ;
15671: LD_INT 4
15673: PPUSH
15674: LD_INT 2
15676: PPUSH
15677: LD_VAR 0 2
15681: PPUSH
15682: LD_VAR 0 3
15686: PPUSH
15687: LD_VAR 0 4
15691: PPUSH
15692: CALL 17157 0 5
// givemedals ( Main ) ;
15696: LD_STRING Main
15698: PPUSH
15699: CALL_OW 102
// rewardpeople ( filterallunits ( [ [ f_alive ] , [ f_side , al ] , [ f_type , unit_human ] , f_not , [ f_nation , nation_nature ] ] ) ) ;
15703: LD_INT 51
15705: PUSH
15706: EMPTY
15707: LIST
15708: PUSH
15709: LD_INT 22
15711: PUSH
15712: LD_EXP 1
15716: PUSH
15717: EMPTY
15718: LIST
15719: LIST
15720: PUSH
15721: LD_INT 21
15723: PUSH
15724: LD_INT 1
15726: PUSH
15727: EMPTY
15728: LIST
15729: LIST
15730: PUSH
15731: LD_INT 3
15733: PUSH
15734: LD_INT 23
15736: PUSH
15737: LD_INT 0
15739: PUSH
15740: EMPTY
15741: LIST
15742: LIST
15743: PUSH
15744: EMPTY
15745: LIST
15746: LIST
15747: LIST
15748: LIST
15749: LIST
15750: PPUSH
15751: CALL_OW 69
15755: PPUSH
15756: CALL_OW 43
// saveitall ;
15760: CALL 15771 0 0
// youwin ;
15764: CALL_OW 103
// end ;
15768: PPOPN 4
15770: END
// function saveitall ; var bz , tmz , tmzo ; begin
15771: LD_INT 0
15773: PPUSH
15774: PPUSH
15775: PPUSH
15776: PPUSH
// savevariable ( vyjednavalo_se , NegotiationsOffered ) ;
15777: LD_EXP 114
15781: PPUSH
15782: LD_STRING NegotiationsOffered
15784: PPUSH
15785: CALL_OW 39
// savevariable ( getside ( masha ) = al , masha_saved ) ;
15789: LD_EXP 112
15793: PPUSH
15794: CALL_OW 255
15798: PUSH
15799: LD_EXP 1
15803: EQUAL
15804: PPUSH
15805: LD_STRING masha_saved
15807: PPUSH
15808: CALL_OW 39
// savevariable ( isdead ( abdul ) , AbdulKilled ) ;
15812: LD_EXP 134
15816: PPUSH
15817: CALL_OW 301
15821: PPUSH
15822: LD_STRING AbdulKilled
15824: PPUSH
15825: CALL_OW 39
// savecharacters ( john , JMM ) ;
15829: LD_EXP 80
15833: PPUSH
15834: LD_STRING JMM
15836: PPUSH
15837: CALL_OW 38
// savecharacters ( roth , Roth ) ;
15841: LD_EXP 81
15845: PPUSH
15846: LD_STRING Roth
15848: PPUSH
15849: CALL_OW 38
// if joan then
15853: LD_EXP 82
15857: IFFALSE 15871
// savecharacters ( joan , Joan ) ;
15859: LD_EXP 82
15863: PPUSH
15864: LD_STRING Joan
15866: PPUSH
15867: CALL_OW 38
// if bobby then
15871: LD_EXP 83
15875: IFFALSE 15889
// savecharacters ( bobby , Bobby ) ;
15877: LD_EXP 83
15881: PPUSH
15882: LD_STRING Bobby
15884: PPUSH
15885: CALL_OW 38
// if cyrus then
15889: LD_EXP 84
15893: IFFALSE 15907
// savecharacters ( cyrus , Cyrus ) ;
15895: LD_EXP 84
15899: PPUSH
15900: LD_STRING Cyrus
15902: PPUSH
15903: CALL_OW 38
// if lisa then
15907: LD_EXP 85
15911: IFFALSE 15925
// savecharacters ( lisa , Lisa ) ;
15913: LD_EXP 85
15917: PPUSH
15918: LD_STRING Lisa
15920: PPUSH
15921: CALL_OW 38
// if frank then
15925: LD_EXP 86
15929: IFFALSE 15943
// savecharacters ( frank , Frank ) ;
15931: LD_EXP 86
15935: PPUSH
15936: LD_STRING Frank
15938: PPUSH
15939: CALL_OW 38
// if markc then
15943: LD_EXP 87
15947: IFFALSE 15961
// savecharacters ( markc , Cornell ) ;
15949: LD_EXP 87
15953: PPUSH
15954: LD_STRING Cornell
15956: PPUSH
15957: CALL_OW 38
// if brown then
15961: LD_EXP 94
15965: IFFALSE 15979
// savecharacters ( brown , Brown ) ;
15967: LD_EXP 94
15971: PPUSH
15972: LD_STRING Brown
15974: PPUSH
15975: CALL_OW 38
// if lucy then
15979: LD_EXP 95
15983: IFFALSE 15997
// savecharacters ( lucy , Donaldson ) ;
15985: LD_EXP 95
15989: PPUSH
15990: LD_STRING Donaldson
15992: PPUSH
15993: CALL_OW 38
// if tim then
15997: LD_EXP 88
16001: IFFALSE 16015
// savecharacters ( tim , Gladstone ) ;
16003: LD_EXP 88
16007: PPUSH
16008: LD_STRING Gladstone
16010: PPUSH
16011: CALL_OW 38
// if denis then
16015: LD_EXP 89
16019: IFFALSE 16033
// savecharacters ( denis , Denis ) ;
16021: LD_EXP 89
16025: PPUSH
16026: LD_STRING Denis
16028: PPUSH
16029: CALL_OW 38
// if yamoko then
16033: LD_EXP 90
16037: IFFALSE 16051
// savecharacters ( yamoko , Yamoko ) ;
16039: LD_EXP 90
16043: PPUSH
16044: LD_STRING Yamoko
16046: PPUSH
16047: CALL_OW 38
// if gary then
16051: LD_EXP 91
16055: IFFALSE 16069
// savecharacters ( gary , Gary ) ;
16057: LD_EXP 91
16061: PPUSH
16062: LD_STRING Gary
16064: PPUSH
16065: CALL_OW 38
// if simms then
16069: LD_EXP 92
16073: IFFALSE 16087
// savecharacters ( simms , Simms ) ;
16075: LD_EXP 92
16079: PPUSH
16080: LD_STRING Simms
16082: PPUSH
16083: CALL_OW 38
// savecharacters ( gossud , Gossudarov ) ;
16087: LD_EXP 96
16091: PPUSH
16092: LD_STRING Gossudarov
16094: PPUSH
16095: CALL_OW 38
// savecharacters ( kiril , Kirilenkova ) ;
16099: LD_EXP 97
16103: PPUSH
16104: LD_STRING Kirilenkova
16106: PPUSH
16107: CALL_OW 38
// savecharacters ( jahoda , Belkov ) ;
16111: LD_EXP 98
16115: PPUSH
16116: LD_STRING Belkov
16118: PPUSH
16119: CALL_OW 38
// savecharacters ( burlak , Burlak ) ;
16123: LD_EXP 99
16127: PPUSH
16128: LD_STRING Burlak
16130: PPUSH
16131: CALL_OW 38
// savecharacters ( gnyevko , Gnyevko ) ;
16135: LD_EXP 101
16139: PPUSH
16140: LD_STRING Gnyevko
16142: PPUSH
16143: CALL_OW 38
// savecharacters ( dolgov , Dolgov ) ;
16147: LD_EXP 102
16151: PPUSH
16152: LD_STRING Dolgov
16154: PPUSH
16155: CALL_OW 38
// savecharacters ( kapitsova , Kapitsova ) ;
16159: LD_EXP 103
16163: PPUSH
16164: LD_STRING Kapitsova
16166: PPUSH
16167: CALL_OW 38
// savecharacters ( gleb , Gleb ) ;
16171: LD_EXP 104
16175: PPUSH
16176: LD_STRING Gleb
16178: PPUSH
16179: CALL_OW 38
// savecharacters ( kovalyuk , Kovalyuk ) ;
16183: LD_EXP 105
16187: PPUSH
16188: LD_STRING Kovalyuk
16190: PPUSH
16191: CALL_OW 38
// savecharacters ( scholtze , Scholtze ) ;
16195: LD_EXP 106
16199: PPUSH
16200: LD_STRING Scholtze
16202: PPUSH
16203: CALL_OW 38
// savecharacters ( titov , Titov ) ;
16207: LD_EXP 107
16211: PPUSH
16212: LD_STRING Titov
16214: PPUSH
16215: CALL_OW 38
// savecharacters ( oblukov , Oblukov ) ;
16219: LD_EXP 108
16223: PPUSH
16224: LD_STRING Oblukov
16226: PPUSH
16227: CALL_OW 38
// savecharacters ( bystrov , Bystrov ) ;
16231: LD_EXP 109
16235: PPUSH
16236: LD_STRING Bystrov
16238: PPUSH
16239: CALL_OW 38
// savecharacters ( lipshchin , Lipshchin ) ;
16243: LD_EXP 110
16247: PPUSH
16248: LD_STRING Lipshchin
16250: PPUSH
16251: CALL_OW 38
// savecharacters ( filterallunits ( [ [ f_alive ] , [ f_side , al ] , [ f_type , unit_human ] , f_not , [ f_nation , nation_nature ] ] ) diff [ john , roth , joan , bobby , cyrus , lisa , frank , markc , tim , denis , yamoko , gary , simms , brown , lucy , gossud , kiril , jahoda , burlak ] , otherwithJMM ) ;
16255: LD_INT 51
16257: PUSH
16258: EMPTY
16259: LIST
16260: PUSH
16261: LD_INT 22
16263: PUSH
16264: LD_EXP 1
16268: PUSH
16269: EMPTY
16270: LIST
16271: LIST
16272: PUSH
16273: LD_INT 21
16275: PUSH
16276: LD_INT 1
16278: PUSH
16279: EMPTY
16280: LIST
16281: LIST
16282: PUSH
16283: LD_INT 3
16285: PUSH
16286: LD_INT 23
16288: PUSH
16289: LD_INT 0
16291: PUSH
16292: EMPTY
16293: LIST
16294: LIST
16295: PUSH
16296: EMPTY
16297: LIST
16298: LIST
16299: LIST
16300: LIST
16301: LIST
16302: PPUSH
16303: CALL_OW 69
16307: PUSH
16308: LD_EXP 80
16312: PUSH
16313: LD_EXP 81
16317: PUSH
16318: LD_EXP 82
16322: PUSH
16323: LD_EXP 83
16327: PUSH
16328: LD_EXP 84
16332: PUSH
16333: LD_EXP 85
16337: PUSH
16338: LD_EXP 86
16342: PUSH
16343: LD_EXP 87
16347: PUSH
16348: LD_EXP 88
16352: PUSH
16353: LD_EXP 89
16357: PUSH
16358: LD_EXP 90
16362: PUSH
16363: LD_EXP 91
16367: PUSH
16368: LD_EXP 92
16372: PUSH
16373: LD_EXP 94
16377: PUSH
16378: LD_EXP 95
16382: PUSH
16383: LD_EXP 96
16387: PUSH
16388: LD_EXP 97
16392: PUSH
16393: LD_EXP 98
16397: PUSH
16398: LD_EXP 99
16402: PUSH
16403: EMPTY
16404: LIST
16405: LIST
16406: LIST
16407: LIST
16408: LIST
16409: LIST
16410: LIST
16411: LIST
16412: LIST
16413: LIST
16414: LIST
16415: LIST
16416: LIST
16417: LIST
16418: LIST
16419: LIST
16420: LIST
16421: LIST
16422: LIST
16423: DIFF
16424: PPUSH
16425: LD_STRING otherwithJMM
16427: PPUSH
16428: CALL_OW 38
// tmz = filterunitsinarea ( stred , [ [ f_side , al ] , f_not , [ f_nation , nation_arabian ] , [ f_btype , b_factory ] ] ) ;
16432: LD_ADDR_VAR 0 3
16436: PUSH
16437: LD_INT 2
16439: PPUSH
16440: LD_INT 22
16442: PUSH
16443: LD_EXP 1
16447: PUSH
16448: EMPTY
16449: LIST
16450: LIST
16451: PUSH
16452: LD_INT 3
16454: PUSH
16455: LD_INT 23
16457: PUSH
16458: LD_INT 2
16460: PUSH
16461: EMPTY
16462: LIST
16463: LIST
16464: PUSH
16465: LD_INT 30
16467: PUSH
16468: LD_INT 3
16470: PUSH
16471: EMPTY
16472: LIST
16473: LIST
16474: PUSH
16475: EMPTY
16476: LIST
16477: LIST
16478: LIST
16479: LIST
16480: PPUSH
16481: CALL_OW 70
16485: ST_TO_ADDR
// tmz = tmz ^ filterunitsinarea ( stred , [ [ f_side , al ] , f_not , [ f_nation , nation_arabian ] , [ f_type , unit_building ] , f_not , [ f_btype , b_factory ] ] ) ;
16486: LD_ADDR_VAR 0 3
16490: PUSH
16491: LD_VAR 0 3
16495: PUSH
16496: LD_INT 2
16498: PPUSH
16499: LD_INT 22
16501: PUSH
16502: LD_EXP 1
16506: PUSH
16507: EMPTY
16508: LIST
16509: LIST
16510: PUSH
16511: LD_INT 3
16513: PUSH
16514: LD_INT 23
16516: PUSH
16517: LD_INT 2
16519: PUSH
16520: EMPTY
16521: LIST
16522: LIST
16523: PUSH
16524: LD_INT 21
16526: PUSH
16527: LD_INT 3
16529: PUSH
16530: EMPTY
16531: LIST
16532: LIST
16533: PUSH
16534: LD_INT 3
16536: PUSH
16537: LD_INT 30
16539: PUSH
16540: LD_INT 3
16542: PUSH
16543: EMPTY
16544: LIST
16545: LIST
16546: PUSH
16547: EMPTY
16548: LIST
16549: LIST
16550: LIST
16551: LIST
16552: LIST
16553: LIST
16554: PPUSH
16555: CALL_OW 70
16559: ADD
16560: ST_TO_ADDR
// tmzo = [ ] ;
16561: LD_ADDR_VAR 0 4
16565: PUSH
16566: EMPTY
16567: ST_TO_ADDR
// for bz in tmz do
16568: LD_ADDR_VAR 0 2
16572: PUSH
16573: LD_VAR 0 3
16577: PUSH
16578: FOR_IN
16579: IFFALSE 16966
// case getbtype ( bz ) of b_lab_basic , b_lab_weapon , b_lab_siberium , b_lab_computer , b_lab_biological , b_lab_spacetime , b_lab_opto :
16581: LD_VAR 0 2
16585: PPUSH
16586: CALL_OW 266
16590: PUSH
16591: LD_INT 9
16593: DOUBLE
16594: EQUAL
16595: IFTRUE 16635
16597: LD_INT 10
16599: DOUBLE
16600: EQUAL
16601: IFTRUE 16635
16603: LD_INT 11
16605: DOUBLE
16606: EQUAL
16607: IFTRUE 16635
16609: LD_INT 12
16611: DOUBLE
16612: EQUAL
16613: IFTRUE 16635
16615: LD_INT 13
16617: DOUBLE
16618: EQUAL
16619: IFTRUE 16635
16621: LD_INT 14
16623: DOUBLE
16624: EQUAL
16625: IFTRUE 16635
16627: LD_INT 15
16629: DOUBLE
16630: EQUAL
16631: IFTRUE 16635
16633: GO 16638
16635: POP
// begin end ; b_lab , b_lab_half , b_lab_full :
16636: GO 16964
16638: LD_INT 6
16640: DOUBLE
16641: EQUAL
16642: IFTRUE 16658
16644: LD_INT 7
16646: DOUBLE
16647: EQUAL
16648: IFTRUE 16658
16650: LD_INT 8
16652: DOUBLE
16653: EQUAL
16654: IFTRUE 16658
16656: GO 16771
16658: POP
// tmzo = tmzo ^ [ [ getx ( bz ) , gety ( bz ) , getdir ( bz ) , getbtype ( bz ) , getblevel ( bz ) , getnation ( bz ) , getlabkind ( bz , 1 ) , getlabkind ( bz , 2 ) ] ] ; b_bunker , b_turret :
16659: LD_ADDR_VAR 0 4
16663: PUSH
16664: LD_VAR 0 4
16668: PUSH
16669: LD_VAR 0 2
16673: PPUSH
16674: CALL_OW 250
16678: PUSH
16679: LD_VAR 0 2
16683: PPUSH
16684: CALL_OW 251
16688: PUSH
16689: LD_VAR 0 2
16693: PPUSH
16694: CALL_OW 254
16698: PUSH
16699: LD_VAR 0 2
16703: PPUSH
16704: CALL_OW 266
16708: PUSH
16709: LD_VAR 0 2
16713: PPUSH
16714: CALL_OW 267
16718: PUSH
16719: LD_VAR 0 2
16723: PPUSH
16724: CALL_OW 248
16728: PUSH
16729: LD_VAR 0 2
16733: PPUSH
16734: LD_INT 1
16736: PPUSH
16737: CALL_OW 268
16741: PUSH
16742: LD_VAR 0 2
16746: PPUSH
16747: LD_INT 2
16749: PPUSH
16750: CALL_OW 268
16754: PUSH
16755: EMPTY
16756: LIST
16757: LIST
16758: LIST
16759: LIST
16760: LIST
16761: LIST
16762: LIST
16763: LIST
16764: PUSH
16765: EMPTY
16766: LIST
16767: ADD
16768: ST_TO_ADDR
16769: GO 16964
16771: LD_INT 32
16773: DOUBLE
16774: EQUAL
16775: IFTRUE 16785
16777: LD_INT 33
16779: DOUBLE
16780: EQUAL
16781: IFTRUE 16785
16783: GO 16881
16785: POP
// tmzo = tmzo ^ [ [ getx ( bz ) , gety ( bz ) , getdir ( bz ) , getbtype ( bz ) , getblevel ( bz ) , getnation ( bz ) , getbweapon ( bz ) ] ] ; else
16786: LD_ADDR_VAR 0 4
16790: PUSH
16791: LD_VAR 0 4
16795: PUSH
16796: LD_VAR 0 2
16800: PPUSH
16801: CALL_OW 250
16805: PUSH
16806: LD_VAR 0 2
16810: PPUSH
16811: CALL_OW 251
16815: PUSH
16816: LD_VAR 0 2
16820: PPUSH
16821: CALL_OW 254
16825: PUSH
16826: LD_VAR 0 2
16830: PPUSH
16831: CALL_OW 266
16835: PUSH
16836: LD_VAR 0 2
16840: PPUSH
16841: CALL_OW 267
16845: PUSH
16846: LD_VAR 0 2
16850: PPUSH
16851: CALL_OW 248
16855: PUSH
16856: LD_VAR 0 2
16860: PPUSH
16861: CALL_OW 269
16865: PUSH
16866: EMPTY
16867: LIST
16868: LIST
16869: LIST
16870: LIST
16871: LIST
16872: LIST
16873: LIST
16874: PUSH
16875: EMPTY
16876: LIST
16877: ADD
16878: ST_TO_ADDR
16879: GO 16964
16881: POP
// tmzo = tmzo ^ [ [ getx ( bz ) , gety ( bz ) , getdir ( bz ) , getbtype ( bz ) , getblevel ( bz ) , getnation ( bz ) ] ] ; end ;
16882: LD_ADDR_VAR 0 4
16886: PUSH
16887: LD_VAR 0 4
16891: PUSH
16892: LD_VAR 0 2
16896: PPUSH
16897: CALL_OW 250
16901: PUSH
16902: LD_VAR 0 2
16906: PPUSH
16907: CALL_OW 251
16911: PUSH
16912: LD_VAR 0 2
16916: PPUSH
16917: CALL_OW 254
16921: PUSH
16922: LD_VAR 0 2
16926: PPUSH
16927: CALL_OW 266
16931: PUSH
16932: LD_VAR 0 2
16936: PPUSH
16937: CALL_OW 267
16941: PUSH
16942: LD_VAR 0 2
16946: PPUSH
16947: CALL_OW 248
16951: PUSH
16952: EMPTY
16953: LIST
16954: LIST
16955: LIST
16956: LIST
16957: LIST
16958: LIST
16959: PUSH
16960: EMPTY
16961: LIST
16962: ADD
16963: ST_TO_ADDR
16964: GO 16578
16966: POP
16967: POP
// savevariable ( tmzo , Freedom ) ;
16968: LD_VAR 0 4
16972: PPUSH
16973: LD_STRING Freedom
16975: PPUSH
16976: CALL_OW 39
// end ; end_of_file
16980: LD_VAR 0 1
16984: RET
// every 0 0$2 + 0 0$0.1 do
16985: GO 16987
16987: DISABLE
// begin if FilterAllUnits ( [ [ f_side , 7 ] , [ f_or , [ f_class , class_apeman ] , [ f_class , class_apeman_engineer ] , [ f_class , class_apeman_soldier ] , [ f_class , class_apeman_kamikaze ] ] ] ) > FilterAllUnits ( [ [ f_side , 7 ] , [ f_type , unit_human ] , [ f_not , [ f_or , [ f_class , class_apeman ] , [ f_class , class_apeman_engineer ] , [ f_class , class_apeman_soldier ] , [ f_class , class_apeman_kamikaze ] ] ] ] ) then
16988: LD_INT 22
16990: PUSH
16991: LD_INT 7
16993: PUSH
16994: EMPTY
16995: LIST
16996: LIST
16997: PUSH
16998: LD_INT 2
17000: PUSH
17001: LD_INT 25
17003: PUSH
17004: LD_INT 12
17006: PUSH
17007: EMPTY
17008: LIST
17009: LIST
17010: PUSH
17011: LD_INT 25
17013: PUSH
17014: LD_INT 16
17016: PUSH
17017: EMPTY
17018: LIST
17019: LIST
17020: PUSH
17021: LD_INT 25
17023: PUSH
17024: LD_INT 15
17026: PUSH
17027: EMPTY
17028: LIST
17029: LIST
17030: PUSH
17031: LD_INT 25
17033: PUSH
17034: LD_INT 17
17036: PUSH
17037: EMPTY
17038: LIST
17039: LIST
17040: PUSH
17041: EMPTY
17042: LIST
17043: LIST
17044: LIST
17045: LIST
17046: LIST
17047: PUSH
17048: EMPTY
17049: LIST
17050: LIST
17051: PPUSH
17052: CALL_OW 69
17056: PUSH
17057: LD_INT 22
17059: PUSH
17060: LD_INT 7
17062: PUSH
17063: EMPTY
17064: LIST
17065: LIST
17066: PUSH
17067: LD_INT 21
17069: PUSH
17070: LD_INT 1
17072: PUSH
17073: EMPTY
17074: LIST
17075: LIST
17076: PUSH
17077: LD_INT 3
17079: PUSH
17080: LD_INT 2
17082: PUSH
17083: LD_INT 25
17085: PUSH
17086: LD_INT 12
17088: PUSH
17089: EMPTY
17090: LIST
17091: LIST
17092: PUSH
17093: LD_INT 25
17095: PUSH
17096: LD_INT 16
17098: PUSH
17099: EMPTY
17100: LIST
17101: LIST
17102: PUSH
17103: LD_INT 25
17105: PUSH
17106: LD_INT 15
17108: PUSH
17109: EMPTY
17110: LIST
17111: LIST
17112: PUSH
17113: LD_INT 25
17115: PUSH
17116: LD_INT 17
17118: PUSH
17119: EMPTY
17120: LIST
17121: LIST
17122: PUSH
17123: EMPTY
17124: LIST
17125: LIST
17126: LIST
17127: LIST
17128: LIST
17129: PUSH
17130: EMPTY
17131: LIST
17132: LIST
17133: PUSH
17134: EMPTY
17135: LIST
17136: LIST
17137: LIST
17138: PPUSH
17139: CALL_OW 69
17143: GREATER
17144: IFFALSE 17155
// begin SetAchievement ( ACH_POTA ) ;
17146: LD_STRING ACH_POTA
17148: PPUSH
17149: CALL_OW 543
// exit ;
17153: GO 17156
// end ; enable ;
17155: ENABLE
// end ; end_of_file
17156: END
// export function SA_EndMission ( campaignNumber , missionNumber , medal1 , medal2 , medal3 ) ; var achiv ; begin
17157: LD_INT 0
17159: PPUSH
17160: PPUSH
// if not missionNumber then
17161: LD_VAR 0 2
17165: NOT
17166: IFFALSE 17170
// exit ;
17168: GO 17300
// achiv := false ;
17170: LD_ADDR_VAR 0 7
17174: PUSH
17175: LD_INT 0
17177: ST_TO_ADDR
// case campaignNumber of 1 :
17178: LD_VAR 0 1
17182: PUSH
17183: LD_INT 1
17185: DOUBLE
17186: EQUAL
17187: IFTRUE 17191
17189: GO 17202
17191: POP
// achiv := ACH_GOTA ; 2 :
17192: LD_ADDR_VAR 0 7
17196: PUSH
17197: LD_STRING ACH_GOTA
17199: ST_TO_ADDR
17200: GO 17252
17202: LD_INT 2
17204: DOUBLE
17205: EQUAL
17206: IFTRUE 17210
17208: GO 17213
17210: POP
// ; 3 :
17211: GO 17252
17213: LD_INT 3
17215: DOUBLE
17216: EQUAL
17217: IFTRUE 17221
17219: GO 17232
17221: POP
// achiv := ACH_MOTSU ; 4 :
17222: LD_ADDR_VAR 0 7
17226: PUSH
17227: LD_STRING ACH_MOTSU
17229: ST_TO_ADDR
17230: GO 17252
17232: LD_INT 4
17234: DOUBLE
17235: EQUAL
17236: IFTRUE 17240
17238: GO 17251
17240: POP
// achiv := ACH_LOP ; end ;
17241: LD_ADDR_VAR 0 7
17245: PUSH
17246: LD_STRING ACH_LOP
17248: ST_TO_ADDR
17249: GO 17252
17251: POP
// if Difficulty = 3 and achiv and medal1 and medal2 and medal3 then
17252: LD_OWVAR 67
17256: PUSH
17257: LD_INT 3
17259: EQUAL
17260: PUSH
17261: LD_VAR 0 7
17265: AND
17266: PUSH
17267: LD_VAR 0 3
17271: AND
17272: PUSH
17273: LD_VAR 0 4
17277: AND
17278: PUSH
17279: LD_VAR 0 5
17283: AND
17284: IFFALSE 17300
// SetAchievementEX ( achiv , missionNumber ) ;
17286: LD_VAR 0 7
17290: PPUSH
17291: LD_VAR 0 2
17295: PPUSH
17296: CALL_OW 564
// end ;
17300: LD_VAR 0 6
17304: RET
// export function SA_BehemothConstructed ; begin
17305: LD_INT 0
17307: PPUSH
// SetAchievement ( ACH_SMC ) ;
17308: LD_STRING ACH_SMC
17310: PPUSH
17311: CALL_OW 543
// end ;
17315: LD_VAR 0 1
17319: RET
// on CustomCommand ( p1 , p2 , p3 , p4 , p5 , p6 ) do begin case p2 of 1 :
17320: LD_VAR 0 2
17324: PUSH
17325: LD_INT 1
17327: DOUBLE
17328: EQUAL
17329: IFTRUE 17333
17331: GO 17340
17333: POP
// HackUnlimitedResources ; 2 :
17334: CALL 17524 0 0
17338: GO 17521
17340: LD_INT 2
17342: DOUBLE
17343: EQUAL
17344: IFTRUE 17348
17346: GO 17355
17348: POP
// HackSetLevel10 ; 3 :
17349: CALL 17657 0 0
17353: GO 17521
17355: LD_INT 3
17357: DOUBLE
17358: EQUAL
17359: IFTRUE 17363
17361: GO 17370
17363: POP
// HackSetLevel10YourUnits ; 4 :
17364: CALL 17742 0 0
17368: GO 17521
17370: LD_INT 4
17372: DOUBLE
17373: EQUAL
17374: IFTRUE 17378
17376: GO 17400
17378: POP
// HackSpawnHuman ( p3 , p4 , p5 ) ; 5 :
17379: LD_VAR 0 3
17383: PPUSH
17384: LD_VAR 0 4
17388: PPUSH
17389: LD_VAR 0 5
17393: PPUSH
17394: CALL 17832 0 3
17398: GO 17521
17400: LD_INT 5
17402: DOUBLE
17403: EQUAL
17404: IFTRUE 17408
17406: GO 17415
17408: POP
// HackSpawnVehicle ; 6 :
17409: CALL 17893 0 0
17413: GO 17521
17415: LD_INT 6
17417: DOUBLE
17418: EQUAL
17419: IFTRUE 17423
17421: GO 17430
17423: POP
// HackInvincible ; 7 :
17424: CALL 18439 0 0
17428: GO 17521
17430: LD_INT 7
17432: DOUBLE
17433: EQUAL
17434: IFTRUE 17438
17436: GO 17445
17438: POP
// HackInvisible ; 8 :
17439: CALL 18550 0 0
17443: GO 17521
17445: LD_INT 8
17447: DOUBLE
17448: EQUAL
17449: IFTRUE 17453
17451: GO 17460
17453: POP
// HackChangeYourSide ; 9 :
17454: CALL 18607 0 0
17458: GO 17521
17460: LD_INT 9
17462: DOUBLE
17463: EQUAL
17464: IFTRUE 17468
17466: GO 17475
17468: POP
// HackChangeUnitSide ; 10 :
17469: CALL 18649 0 0
17473: GO 17521
17475: LD_INT 10
17477: DOUBLE
17478: EQUAL
17479: IFTRUE 17483
17481: GO 17490
17483: POP
// HackFog ; 11 :
17484: CALL 18750 0 0
17488: GO 17521
17490: LD_INT 11
17492: DOUBLE
17493: EQUAL
17494: IFTRUE 17498
17496: GO 17505
17498: POP
// HackApeman ; 12 :
17499: CALL 18765 0 0
17503: GO 17521
17505: LD_INT 12
17507: DOUBLE
17508: EQUAL
17509: IFTRUE 17513
17511: GO 17520
17513: POP
// HackBoom ; end ;
17514: CALL 18850 0 0
17518: GO 17521
17520: POP
// end ;
17521: PPOPN 6
17523: END
// export function HackUnlimitedResources ; var i , j , tmp ; begin
17524: LD_INT 0
17526: PPUSH
17527: PPUSH
17528: PPUSH
17529: PPUSH
// tmp := FilterAllUnits ( [ [ f_side , your_side ] , [ f_or , [ f_btype , b_depot ] , [ f_btype , b_warehouse ] ] ] ) ;
17530: LD_ADDR_VAR 0 4
17534: PUSH
17535: LD_INT 22
17537: PUSH
17538: LD_OWVAR 2
17542: PUSH
17543: EMPTY
17544: LIST
17545: LIST
17546: PUSH
17547: LD_INT 2
17549: PUSH
17550: LD_INT 30
17552: PUSH
17553: LD_INT 0
17555: PUSH
17556: EMPTY
17557: LIST
17558: LIST
17559: PUSH
17560: LD_INT 30
17562: PUSH
17563: LD_INT 1
17565: PUSH
17566: EMPTY
17567: LIST
17568: LIST
17569: PUSH
17570: EMPTY
17571: LIST
17572: LIST
17573: LIST
17574: PUSH
17575: EMPTY
17576: LIST
17577: LIST
17578: PPUSH
17579: CALL_OW 69
17583: ST_TO_ADDR
// if not tmp then
17584: LD_VAR 0 4
17588: NOT
17589: IFFALSE 17593
// exit ;
17591: GO 17652
// for i in tmp do
17593: LD_ADDR_VAR 0 2
17597: PUSH
17598: LD_VAR 0 4
17602: PUSH
17603: FOR_IN
17604: IFFALSE 17650
// for j = 1 to 3 do
17606: LD_ADDR_VAR 0 3
17610: PUSH
17611: DOUBLE
17612: LD_INT 1
17614: DEC
17615: ST_TO_ADDR
17616: LD_INT 3
17618: PUSH
17619: FOR_TO
17620: IFFALSE 17646
// SetResourceType ( GetBase ( i ) , j , 99999 ) ;
17622: LD_VAR 0 2
17626: PPUSH
17627: CALL_OW 274
17631: PPUSH
17632: LD_VAR 0 3
17636: PPUSH
17637: LD_INT 99999
17639: PPUSH
17640: CALL_OW 277
17644: GO 17619
17646: POP
17647: POP
17648: GO 17603
17650: POP
17651: POP
// end ;
17652: LD_VAR 0 1
17656: RET
// export function HackSetLevel10 ; var i , j ; begin
17657: LD_INT 0
17659: PPUSH
17660: PPUSH
17661: PPUSH
// for i in FilterAllUnits ( [ f_type , unit_human ] ) do
17662: LD_ADDR_VAR 0 2
17666: PUSH
17667: LD_INT 21
17669: PUSH
17670: LD_INT 1
17672: PUSH
17673: EMPTY
17674: LIST
17675: LIST
17676: PPUSH
17677: CALL_OW 69
17681: PUSH
17682: FOR_IN
17683: IFFALSE 17735
// if IsSelected ( i ) then
17685: LD_VAR 0 2
17689: PPUSH
17690: CALL_OW 306
17694: IFFALSE 17733
// begin for j := 1 to 4 do
17696: LD_ADDR_VAR 0 3
17700: PUSH
17701: DOUBLE
17702: LD_INT 1
17704: DEC
17705: ST_TO_ADDR
17706: LD_INT 4
17708: PUSH
17709: FOR_TO
17710: IFFALSE 17731
// SetSkill ( i , j , 10 ) ;
17712: LD_VAR 0 2
17716: PPUSH
17717: LD_VAR 0 3
17721: PPUSH
17722: LD_INT 10
17724: PPUSH
17725: CALL_OW 237
17729: GO 17709
17731: POP
17732: POP
// end ;
17733: GO 17682
17735: POP
17736: POP
// end ;
17737: LD_VAR 0 1
17741: RET
// export function HackSetLevel10YourUnits ; var i , j ; begin
17742: LD_INT 0
17744: PPUSH
17745: PPUSH
17746: PPUSH
// for i in FilterAllUnits ( [ [ f_side , your_side ] , [ f_type , unit_human ] ] ) do
17747: LD_ADDR_VAR 0 2
17751: PUSH
17752: LD_INT 22
17754: PUSH
17755: LD_OWVAR 2
17759: PUSH
17760: EMPTY
17761: LIST
17762: LIST
17763: PUSH
17764: LD_INT 21
17766: PUSH
17767: LD_INT 1
17769: PUSH
17770: EMPTY
17771: LIST
17772: LIST
17773: PUSH
17774: EMPTY
17775: LIST
17776: LIST
17777: PPUSH
17778: CALL_OW 69
17782: PUSH
17783: FOR_IN
17784: IFFALSE 17825
// begin for j := 1 to 4 do
17786: LD_ADDR_VAR 0 3
17790: PUSH
17791: DOUBLE
17792: LD_INT 1
17794: DEC
17795: ST_TO_ADDR
17796: LD_INT 4
17798: PUSH
17799: FOR_TO
17800: IFFALSE 17821
// SetSkill ( i , j , 10 ) ;
17802: LD_VAR 0 2
17806: PPUSH
17807: LD_VAR 0 3
17811: PPUSH
17812: LD_INT 10
17814: PPUSH
17815: CALL_OW 237
17819: GO 17799
17821: POP
17822: POP
// end ;
17823: GO 17783
17825: POP
17826: POP
// end ;
17827: LD_VAR 0 1
17831: RET
// export function HackSpawnHuman ( nation , class , skill ) ; begin
17832: LD_INT 0
17834: PPUSH
// uc_side := your_side ;
17835: LD_ADDR_OWVAR 20
17839: PUSH
17840: LD_OWVAR 2
17844: ST_TO_ADDR
// uc_nation := nation ;
17845: LD_ADDR_OWVAR 21
17849: PUSH
17850: LD_VAR 0 1
17854: ST_TO_ADDR
// InitHc ;
17855: CALL_OW 19
// PrepareHuman ( false , class , skill ) ;
17859: LD_INT 0
17861: PPUSH
17862: LD_VAR 0 2
17866: PPUSH
17867: LD_VAR 0 3
17871: PPUSH
17872: CALL_OW 380
// PlaceUnitAnywhere ( CreateHuman , true ) ;
17876: CALL_OW 44
17880: PPUSH
17881: LD_INT 1
17883: PPUSH
17884: CALL_OW 51
// end ;
17888: LD_VAR 0 4
17892: RET
// export function HackSpawnVehicle ; begin
17893: LD_INT 0
17895: PPUSH
// uc_side := your_side ;
17896: LD_ADDR_OWVAR 20
17900: PUSH
17901: LD_OWVAR 2
17905: ST_TO_ADDR
// uc_nation := rand ( 1 , 3 ) ;
17906: LD_ADDR_OWVAR 21
17910: PUSH
17911: LD_INT 1
17913: PPUSH
17914: LD_INT 3
17916: PPUSH
17917: CALL_OW 12
17921: ST_TO_ADDR
// InitVc ;
17922: CALL_OW 20
// case uc_nation of 1 :
17926: LD_OWVAR 21
17930: PUSH
17931: LD_INT 1
17933: DOUBLE
17934: EQUAL
17935: IFTRUE 17939
17937: GO 18083
17939: POP
// begin vc_chassis := [ us_light_wheeled , us_medium_wheeled , us_medium_tracked , us_heavy_tracked , us_morphling ] [ rand ( 1 , 5 ) ] ;
17940: LD_ADDR_OWVAR 37
17944: PUSH
17945: LD_INT 1
17947: PUSH
17948: LD_INT 2
17950: PUSH
17951: LD_INT 3
17953: PUSH
17954: LD_INT 4
17956: PUSH
17957: LD_INT 5
17959: PUSH
17960: EMPTY
17961: LIST
17962: LIST
17963: LIST
17964: LIST
17965: LIST
17966: PUSH
17967: LD_INT 1
17969: PPUSH
17970: LD_INT 5
17972: PPUSH
17973: CALL_OW 12
17977: ARRAY
17978: ST_TO_ADDR
// vc_engine := rand ( 1 , 3 ) ;
17979: LD_ADDR_OWVAR 39
17983: PUSH
17984: LD_INT 1
17986: PPUSH
17987: LD_INT 3
17989: PPUSH
17990: CALL_OW 12
17994: ST_TO_ADDR
// vc_control := [ control_manual , control_remote , control_computer ] [ rand ( 1 , 3 ) ] ;
17995: LD_ADDR_OWVAR 38
17999: PUSH
18000: LD_INT 1
18002: PUSH
18003: LD_INT 2
18005: PUSH
18006: LD_INT 3
18008: PUSH
18009: EMPTY
18010: LIST
18011: LIST
18012: LIST
18013: PUSH
18014: LD_INT 1
18016: PPUSH
18017: LD_INT 3
18019: PPUSH
18020: CALL_OW 12
18024: ARRAY
18025: ST_TO_ADDR
// vc_weapon := [ us_machine_gun , us_gatling_gun , us_double_gun , us_light_gun , us_rocket_launcher , us_siberium_rocket , us_laser , us_double_laser , us_heavy_gun ] [ rand ( 1 , 9 ) ] ;
18026: LD_ADDR_OWVAR 40
18030: PUSH
18031: LD_INT 2
18033: PUSH
18034: LD_INT 4
18036: PUSH
18037: LD_INT 5
18039: PUSH
18040: LD_INT 3
18042: PUSH
18043: LD_INT 7
18045: PUSH
18046: LD_INT 8
18048: PUSH
18049: LD_INT 9
18051: PUSH
18052: LD_INT 10
18054: PUSH
18055: LD_INT 6
18057: PUSH
18058: EMPTY
18059: LIST
18060: LIST
18061: LIST
18062: LIST
18063: LIST
18064: LIST
18065: LIST
18066: LIST
18067: LIST
18068: PUSH
18069: LD_INT 1
18071: PPUSH
18072: LD_INT 9
18074: PPUSH
18075: CALL_OW 12
18079: ARRAY
18080: ST_TO_ADDR
// end ; 2 :
18081: GO 18348
18083: LD_INT 2
18085: DOUBLE
18086: EQUAL
18087: IFTRUE 18091
18089: GO 18215
18091: POP
// begin vc_chassis := [ ar_hovercraft , ar_light_trike , ar_medium_trike , ar_half_tracked ] [ rand ( 1 , 4 ) ] ;
18092: LD_ADDR_OWVAR 37
18096: PUSH
18097: LD_INT 11
18099: PUSH
18100: LD_INT 12
18102: PUSH
18103: LD_INT 13
18105: PUSH
18106: LD_INT 14
18108: PUSH
18109: EMPTY
18110: LIST
18111: LIST
18112: LIST
18113: LIST
18114: PUSH
18115: LD_INT 1
18117: PPUSH
18118: LD_INT 4
18120: PPUSH
18121: CALL_OW 12
18125: ARRAY
18126: ST_TO_ADDR
// vc_engine := rand ( 1 , 3 ) ;
18127: LD_ADDR_OWVAR 39
18131: PUSH
18132: LD_INT 1
18134: PPUSH
18135: LD_INT 3
18137: PPUSH
18138: CALL_OW 12
18142: ST_TO_ADDR
// vc_control := [ control_manual , control_remote , control_apeman ] [ rand ( 1 , 3 ) ] ;
18143: LD_ADDR_OWVAR 38
18147: PUSH
18148: LD_INT 1
18150: PUSH
18151: LD_INT 2
18153: PUSH
18154: LD_INT 5
18156: PUSH
18157: EMPTY
18158: LIST
18159: LIST
18160: LIST
18161: PUSH
18162: LD_INT 1
18164: PPUSH
18165: LD_INT 3
18167: PPUSH
18168: CALL_OW 12
18172: ARRAY
18173: ST_TO_ADDR
// vc_weapon := [ ar_double_machine_gun , ar_flame_thrower , ar_gun , ar_rocket_launcher , ar_selfpropelled_bomb ] [ rand ( 1 , 5 ) ] ;
18174: LD_ADDR_OWVAR 40
18178: PUSH
18179: LD_INT 24
18181: PUSH
18182: LD_INT 26
18184: PUSH
18185: LD_INT 27
18187: PUSH
18188: LD_INT 28
18190: PUSH
18191: LD_INT 29
18193: PUSH
18194: EMPTY
18195: LIST
18196: LIST
18197: LIST
18198: LIST
18199: LIST
18200: PUSH
18201: LD_INT 1
18203: PPUSH
18204: LD_INT 5
18206: PPUSH
18207: CALL_OW 12
18211: ARRAY
18212: ST_TO_ADDR
// end ; 3 :
18213: GO 18348
18215: LD_INT 3
18217: DOUBLE
18218: EQUAL
18219: IFTRUE 18223
18221: GO 18347
18223: POP
// begin vc_chassis := [ ru_medium_wheeled , ru_heavy_wheeled , ru_medium_tracked , ru_heavy_tracked ] [ rand ( 1 , 4 ) ] ;
18224: LD_ADDR_OWVAR 37
18228: PUSH
18229: LD_INT 21
18231: PUSH
18232: LD_INT 23
18234: PUSH
18235: LD_INT 22
18237: PUSH
18238: LD_INT 24
18240: PUSH
18241: EMPTY
18242: LIST
18243: LIST
18244: LIST
18245: LIST
18246: PUSH
18247: LD_INT 1
18249: PPUSH
18250: LD_INT 4
18252: PPUSH
18253: CALL_OW 12
18257: ARRAY
18258: ST_TO_ADDR
// vc_engine := rand ( 1 , 3 ) ;
18259: LD_ADDR_OWVAR 39
18263: PUSH
18264: LD_INT 1
18266: PPUSH
18267: LD_INT 3
18269: PPUSH
18270: CALL_OW 12
18274: ST_TO_ADDR
// vc_control := [ control_manual , control_computer ] [ rand ( 1 , 2 ) ] ;
18275: LD_ADDR_OWVAR 38
18279: PUSH
18280: LD_INT 1
18282: PUSH
18283: LD_INT 3
18285: PUSH
18286: EMPTY
18287: LIST
18288: LIST
18289: PUSH
18290: LD_INT 1
18292: PPUSH
18293: LD_INT 2
18295: PPUSH
18296: CALL_OW 12
18300: ARRAY
18301: ST_TO_ADDR
// vc_weapon := [ ru_heavy_machine_gun , ru_gatling_gun , ru_gun , ru_heavy_gun , ru_siberium_rocket , ru_rocket ] [ rand ( 1 , 6 ) ] ;
18302: LD_ADDR_OWVAR 40
18306: PUSH
18307: LD_INT 42
18309: PUSH
18310: LD_INT 43
18312: PUSH
18313: LD_INT 44
18315: PUSH
18316: LD_INT 46
18318: PUSH
18319: LD_INT 48
18321: PUSH
18322: LD_INT 47
18324: PUSH
18325: EMPTY
18326: LIST
18327: LIST
18328: LIST
18329: LIST
18330: LIST
18331: LIST
18332: PUSH
18333: LD_INT 1
18335: PPUSH
18336: LD_INT 6
18338: PPUSH
18339: CALL_OW 12
18343: ARRAY
18344: ST_TO_ADDR
// end ; end ;
18345: GO 18348
18347: POP
// PlaceUnitAnywhere ( CreateVehicle , true ) ;
18348: CALL_OW 45
18352: PPUSH
18353: LD_INT 1
18355: PPUSH
18356: CALL_OW 51
// end ;
18360: LD_VAR 0 1
18364: RET
// export invincible ; every 1 do
18365: GO 18367
18367: DISABLE
// invincible := [ ] ;
18368: LD_ADDR_EXP 154
18372: PUSH
18373: EMPTY
18374: ST_TO_ADDR
18375: END
// every 10 do var i ;
18376: GO 18378
18378: DISABLE
18379: LD_INT 0
18381: PPUSH
// begin enable ;
18382: ENABLE
// if not invincible then
18383: LD_EXP 154
18387: NOT
18388: IFFALSE 18392
// exit ;
18390: GO 18436
// for i in invincible do
18392: LD_ADDR_VAR 0 1
18396: PUSH
18397: LD_EXP 154
18401: PUSH
18402: FOR_IN
18403: IFFALSE 18434
// if GetLives ( i ) < 1000 then
18405: LD_VAR 0 1
18409: PPUSH
18410: CALL_OW 256
18414: PUSH
18415: LD_INT 1000
18417: LESS
18418: IFFALSE 18432
// SetLives ( i , 1000 ) ;
18420: LD_VAR 0 1
18424: PPUSH
18425: LD_INT 1000
18427: PPUSH
18428: CALL_OW 234
18432: GO 18402
18434: POP
18435: POP
// end ;
18436: PPOPN 1
18438: END
// export function HackInvincible ; var i ; begin
18439: LD_INT 0
18441: PPUSH
18442: PPUSH
// for i in FilterAllUnits ( [ f_or , [ f_type , unit_human ] , [ f_type , unit_vehicle ] ] ) do
18443: LD_ADDR_VAR 0 2
18447: PUSH
18448: LD_INT 2
18450: PUSH
18451: LD_INT 21
18453: PUSH
18454: LD_INT 1
18456: PUSH
18457: EMPTY
18458: LIST
18459: LIST
18460: PUSH
18461: LD_INT 21
18463: PUSH
18464: LD_INT 2
18466: PUSH
18467: EMPTY
18468: LIST
18469: LIST
18470: PUSH
18471: EMPTY
18472: LIST
18473: LIST
18474: LIST
18475: PPUSH
18476: CALL_OW 69
18480: PUSH
18481: FOR_IN
18482: IFFALSE 18543
// if IsSelected ( i ) then
18484: LD_VAR 0 2
18488: PPUSH
18489: CALL_OW 306
18493: IFFALSE 18541
// begin if i in invincible then
18495: LD_VAR 0 2
18499: PUSH
18500: LD_EXP 154
18504: IN
18505: IFFALSE 18525
// invincible := invincible diff i else
18507: LD_ADDR_EXP 154
18511: PUSH
18512: LD_EXP 154
18516: PUSH
18517: LD_VAR 0 2
18521: DIFF
18522: ST_TO_ADDR
18523: GO 18541
// invincible := invincible union i ;
18525: LD_ADDR_EXP 154
18529: PUSH
18530: LD_EXP 154
18534: PUSH
18535: LD_VAR 0 2
18539: UNION
18540: ST_TO_ADDR
// end ;
18541: GO 18481
18543: POP
18544: POP
// end ;
18545: LD_VAR 0 1
18549: RET
// export function HackInvisible ; var i , j ; begin
18550: LD_INT 0
18552: PPUSH
18553: PPUSH
18554: PPUSH
// for i in FilterAllUnits ( [ f_type , unit_human ] ) do
18555: LD_ADDR_VAR 0 2
18559: PUSH
18560: LD_INT 21
18562: PUSH
18563: LD_INT 1
18565: PUSH
18566: EMPTY
18567: LIST
18568: LIST
18569: PPUSH
18570: CALL_OW 69
18574: PUSH
18575: FOR_IN
18576: IFFALSE 18600
// if IsSelected ( i ) then
18578: LD_VAR 0 2
18582: PPUSH
18583: CALL_OW 306
18587: IFFALSE 18598
// begin ComForceInvisible ( i ) ;
18589: LD_VAR 0 2
18593: PPUSH
18594: CALL_OW 496
// end ;
18598: GO 18575
18600: POP
18601: POP
// end ;
18602: LD_VAR 0 1
18606: RET
// export function HackChangeYourSide ; begin
18607: LD_INT 0
18609: PPUSH
// if your_side = 8 then
18610: LD_OWVAR 2
18614: PUSH
18615: LD_INT 8
18617: EQUAL
18618: IFFALSE 18630
// your_side := 0 else
18620: LD_ADDR_OWVAR 2
18624: PUSH
18625: LD_INT 0
18627: ST_TO_ADDR
18628: GO 18644
// your_side := your_side + 1 ;
18630: LD_ADDR_OWVAR 2
18634: PUSH
18635: LD_OWVAR 2
18639: PUSH
18640: LD_INT 1
18642: PLUS
18643: ST_TO_ADDR
// end ;
18644: LD_VAR 0 1
18648: RET
// export function HackChangeUnitSide ; var i , j ; begin
18649: LD_INT 0
18651: PPUSH
18652: PPUSH
18653: PPUSH
// for i in all_units do
18654: LD_ADDR_VAR 0 2
18658: PUSH
18659: LD_OWVAR 3
18663: PUSH
18664: FOR_IN
18665: IFFALSE 18743
// if IsSelected ( i ) then
18667: LD_VAR 0 2
18671: PPUSH
18672: CALL_OW 306
18676: IFFALSE 18741
// begin j := GetSide ( i ) ;
18678: LD_ADDR_VAR 0 3
18682: PUSH
18683: LD_VAR 0 2
18687: PPUSH
18688: CALL_OW 255
18692: ST_TO_ADDR
// if j = 8 then
18693: LD_VAR 0 3
18697: PUSH
18698: LD_INT 8
18700: EQUAL
18701: IFFALSE 18713
// j := 0 else
18703: LD_ADDR_VAR 0 3
18707: PUSH
18708: LD_INT 0
18710: ST_TO_ADDR
18711: GO 18727
// j := j + 1 ;
18713: LD_ADDR_VAR 0 3
18717: PUSH
18718: LD_VAR 0 3
18722: PUSH
18723: LD_INT 1
18725: PLUS
18726: ST_TO_ADDR
// SetSide ( i , j ) ;
18727: LD_VAR 0 2
18731: PPUSH
18732: LD_VAR 0 3
18736: PPUSH
18737: CALL_OW 235
// end ;
18741: GO 18664
18743: POP
18744: POP
// end ;
18745: LD_VAR 0 1
18749: RET
// export function HackFog ; begin
18750: LD_INT 0
18752: PPUSH
// FogOff ( true ) ;
18753: LD_INT 1
18755: PPUSH
18756: CALL_OW 344
// end ;
18760: LD_VAR 0 1
18764: RET
// export function HackApeman ; begin
18765: LD_INT 0
18767: PPUSH
// uc_side := your_side ;
18768: LD_ADDR_OWVAR 20
18772: PUSH
18773: LD_OWVAR 2
18777: ST_TO_ADDR
// uc_nation := 0 ;
18778: LD_ADDR_OWVAR 21
18782: PUSH
18783: LD_INT 0
18785: ST_TO_ADDR
// hc_name :=  ;
18786: LD_ADDR_OWVAR 26
18790: PUSH
18791: LD_STRING 
18793: ST_TO_ADDR
// hc_gallery :=  ;
18794: LD_ADDR_OWVAR 33
18798: PUSH
18799: LD_STRING 
18801: ST_TO_ADDR
// hc_skills := [ 0 , 0 , 0 , 0 ] ;
18802: LD_ADDR_OWVAR 31
18806: PUSH
18807: LD_INT 0
18809: PUSH
18810: LD_INT 0
18812: PUSH
18813: LD_INT 0
18815: PUSH
18816: LD_INT 0
18818: PUSH
18819: EMPTY
18820: LIST
18821: LIST
18822: LIST
18823: LIST
18824: ST_TO_ADDR
// hc_class := class_apeman ;
18825: LD_ADDR_OWVAR 28
18829: PUSH
18830: LD_INT 12
18832: ST_TO_ADDR
// PlaceUnitAnywhere ( CreateHuman , true ) ;
18833: CALL_OW 44
18837: PPUSH
18838: LD_INT 1
18840: PPUSH
18841: CALL_OW 51
// end ;
18845: LD_VAR 0 1
18849: RET
// export function HackBoom ; begin
18850: LD_INT 0
18852: PPUSH
// uc_side := your_side ;
18853: LD_ADDR_OWVAR 20
18857: PUSH
18858: LD_OWVAR 2
18862: ST_TO_ADDR
// uc_nation := 1 ;
18863: LD_ADDR_OWVAR 21
18867: PUSH
18868: LD_INT 1
18870: ST_TO_ADDR
// vc_chassis := us_morphling ;
18871: LD_ADDR_OWVAR 37
18875: PUSH
18876: LD_INT 5
18878: ST_TO_ADDR
// vc_engine := engine_siberite ;
18879: LD_ADDR_OWVAR 39
18883: PUSH
18884: LD_INT 3
18886: ST_TO_ADDR
// vc_control := control_computer ;
18887: LD_ADDR_OWVAR 38
18891: PUSH
18892: LD_INT 3
18894: ST_TO_ADDR
// vc_weapon := us_siberium_rocket ;
18895: LD_ADDR_OWVAR 40
18899: PUSH
18900: LD_INT 8
18902: ST_TO_ADDR
// PlaceUnitAnywhere ( CreateVehicle , true ) ;
18903: CALL_OW 45
18907: PPUSH
18908: LD_INT 1
18910: PPUSH
18911: CALL_OW 51
// end ;
18915: LD_VAR 0 1
18919: RET
