// export al , rus , ar , am , oth , rus2 ; 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 , lab_build , koncime , artef_out , base_out ; export Masha ; 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
// rus2 = 6 ;
  19: LD_ADDR_EXP 6
  23: PUSH
  24: LD_INT 6
  26: ST_TO_ADDR
// am = 1 ;
  27: LD_ADDR_EXP 4
  31: PUSH
  32: LD_INT 1
  34: ST_TO_ADDR
// ar = 2 ;
  35: LD_ADDR_EXP 3
  39: PUSH
  40: LD_INT 2
  42: ST_TO_ADDR
// oth = 4 ;
  43: LD_ADDR_EXP 5
  47: PUSH
  48: LD_INT 4
  50: ST_TO_ADDR
// rusove = [ ] ;
  51: LD_ADDR_EXP 138
  55: PUSH
  56: EMPTY
  57: ST_TO_ADDR
// rusoveu = [ ] ;
  58: LD_ADDR_EXP 139
  62: PUSH
  63: EMPTY
  64: ST_TO_ADDR
// maxlidi = 13 ;
  65: LD_ADDR_EXP 7
  69: PUSH
  70: LD_INT 13
  72: ST_TO_ADDR
// lab_build = false ;
  73: LD_ADDR_EXP 76
  77: PUSH
  78: LD_INT 0
  80: ST_TO_ADDR
// vyjednavalo_se = false ;
  81: LD_ADDR_EXP 82
  85: PUSH
  86: LD_INT 0
  88: ST_TO_ADDR
// base_out = false ;
  89: LD_ADDR_EXP 79
  93: PUSH
  94: LD_INT 0
  96: ST_TO_ADDR
// artef_out = false ;
  97: LD_ADDR_EXP 78
 101: PUSH
 102: LD_INT 0
 104: ST_TO_ADDR
// supplies = 30 ;
 105: LD_ADDR_LOC 3
 109: PUSH
 110: LD_INT 30
 112: ST_TO_ADDR
// cperiode = [ 1 1$30 , 1 1$30 , 1 1$45 ] [ difficulty ] ;
 113: LD_ADDR_LOC 2
 117: PUSH
 118: LD_INT 3150
 120: PUSH
 121: LD_INT 3150
 123: PUSH
 124: LD_INT 3675
 126: PUSH
 127: EMPTY
 128: LIST
 129: LIST
 130: LIST
 131: PUSH
 132: LD_OWVAR 67
 136: ARRAY
 137: ST_TO_ADDR
// hr_auta = [ 500 , 500 , 500 ] [ difficulty ] ;
 138: LD_ADDR_EXP 72
 142: PUSH
 143: LD_INT 500
 145: PUSH
 146: LD_INT 500
 148: PUSH
 149: LD_INT 500
 151: PUSH
 152: EMPTY
 153: LIST
 154: LIST
 155: LIST
 156: PUSH
 157: LD_OWVAR 67
 161: ARRAY
 162: ST_TO_ADDR
// time2wait = [ 3 3$0 , 1 1$30 , 0 0$30 ] [ difficulty ] ;
 163: LD_ADDR_EXP 73
 167: PUSH
 168: LD_INT 6300
 170: PUSH
 171: LD_INT 3150
 173: PUSH
 174: LD_INT 1050
 176: PUSH
 177: EMPTY
 178: LIST
 179: LIST
 180: LIST
 181: PUSH
 182: LD_OWVAR 67
 186: ARRAY
 187: ST_TO_ADDR
// arab_artef_zdrh = [ 30 30$0 , 15 15$0 , 5 5$0 ] [ difficulty ] ;
 188: LD_ADDR_EXP 75
 192: PUSH
 193: LD_INT 63000
 195: PUSH
 196: LD_INT 31500
 198: PUSH
 199: LD_INT 10500
 201: PUSH
 202: EMPTY
 203: LIST
 204: LIST
 205: LIST
 206: PUSH
 207: LD_OWVAR 67
 211: ARRAY
 212: ST_TO_ADDR
// ars0 = [ 3 , 5 , 7 ] [ difficulty ] ;
 213: LD_ADDR_EXP 8
 217: PUSH
 218: LD_INT 3
 220: PUSH
 221: LD_INT 5
 223: PUSH
 224: LD_INT 7
 226: PUSH
 227: EMPTY
 228: LIST
 229: LIST
 230: LIST
 231: PUSH
 232: LD_OWVAR 67
 236: ARRAY
 237: ST_TO_ADDR
// ars1 = [ 4 , 6 , 8 ] [ difficulty ] ;
 238: LD_ADDR_EXP 9
 242: PUSH
 243: LD_INT 4
 245: PUSH
 246: LD_INT 6
 248: PUSH
 249: LD_INT 8
 251: PUSH
 252: EMPTY
 253: LIST
 254: LIST
 255: LIST
 256: PUSH
 257: LD_OWVAR 67
 261: ARRAY
 262: ST_TO_ADDR
// ars2 = [ 4 , 6 , 8 ] [ difficulty ] ;
 263: LD_ADDR_EXP 10
 267: PUSH
 268: LD_INT 4
 270: PUSH
 271: LD_INT 6
 273: PUSH
 274: LD_INT 8
 276: PUSH
 277: EMPTY
 278: LIST
 279: LIST
 280: LIST
 281: PUSH
 282: LD_OWVAR 67
 286: ARRAY
 287: ST_TO_ADDR
// ars3 = [ 3 , 5 , 7 ] [ difficulty ] ;
 288: LD_ADDR_EXP 11
 292: PUSH
 293: LD_INT 3
 295: PUSH
 296: LD_INT 5
 298: PUSH
 299: LD_INT 7
 301: PUSH
 302: EMPTY
 303: LIST
 304: LIST
 305: LIST
 306: PUSH
 307: LD_OWVAR 67
 311: ARRAY
 312: ST_TO_ADDR
// ars4 = [ 5 , 7 , 9 ] [ difficulty ] ;
 313: LD_ADDR_EXP 12
 317: PUSH
 318: LD_INT 5
 320: PUSH
 321: LD_INT 7
 323: PUSH
 324: LD_INT 9
 326: PUSH
 327: EMPTY
 328: LIST
 329: LIST
 330: LIST
 331: PUSH
 332: LD_OWVAR 67
 336: ARRAY
 337: ST_TO_ADDR
// ars5 = [ 4 , 6 , 8 ] [ difficulty ] ;
 338: LD_ADDR_EXP 13
 342: PUSH
 343: LD_INT 4
 345: PUSH
 346: LD_INT 6
 348: PUSH
 349: LD_INT 8
 351: PUSH
 352: EMPTY
 353: LIST
 354: LIST
 355: LIST
 356: PUSH
 357: LD_OWVAR 67
 361: ARRAY
 362: ST_TO_ADDR
// ars6 = [ 4 , 6 , 8 ] [ difficulty ] ;
 363: LD_ADDR_EXP 14
 367: PUSH
 368: LD_INT 4
 370: PUSH
 371: LD_INT 6
 373: PUSH
 374: LD_INT 8
 376: PUSH
 377: EMPTY
 378: LIST
 379: LIST
 380: LIST
 381: PUSH
 382: LD_OWVAR 67
 386: ARRAY
 387: ST_TO_ADDR
// ars7 = [ 3 , 5 , 7 ] [ difficulty ] ;
 388: LD_ADDR_EXP 15
 392: PUSH
 393: LD_INT 3
 395: PUSH
 396: LD_INT 5
 398: PUSH
 399: LD_INT 7
 401: PUSH
 402: EMPTY
 403: LIST
 404: LIST
 405: LIST
 406: PUSH
 407: LD_OWVAR 67
 411: ARRAY
 412: ST_TO_ADDR
// ars8 = [ 4 , 6 , 8 ] [ difficulty ] ;
 413: LD_ADDR_EXP 16
 417: PUSH
 418: LD_INT 4
 420: PUSH
 421: LD_INT 6
 423: PUSH
 424: LD_INT 8
 426: PUSH
 427: EMPTY
 428: LIST
 429: LIST
 430: LIST
 431: PUSH
 432: LD_OWVAR 67
 436: ARRAY
 437: ST_TO_ADDR
// ars9 = [ 4 , 6 , 8 ] [ difficulty ] ;
 438: LD_ADDR_EXP 17
 442: PUSH
 443: LD_INT 4
 445: PUSH
 446: LD_INT 6
 448: PUSH
 449: LD_INT 8
 451: PUSH
 452: EMPTY
 453: LIST
 454: LIST
 455: LIST
 456: PUSH
 457: LD_OWVAR 67
 461: ARRAY
 462: ST_TO_ADDR
// ars10 = [ 4 , 6 , 8 ] [ difficulty ] ;
 463: LD_ADDR_EXP 18
 467: PUSH
 468: LD_INT 4
 470: PUSH
 471: LD_INT 6
 473: PUSH
 474: LD_INT 8
 476: PUSH
 477: EMPTY
 478: LIST
 479: LIST
 480: LIST
 481: PUSH
 482: LD_OWVAR 67
 486: ARRAY
 487: ST_TO_ADDR
// ruv0_ch = [ ru_medium_wheeled , ru_medium_wheeled , ru_medium_wheeled ] [ difficulty ] ;
 488: LD_ADDR_EXP 46
 492: PUSH
 493: LD_INT 21
 495: PUSH
 496: LD_INT 21
 498: PUSH
 499: LD_INT 21
 501: PUSH
 502: EMPTY
 503: LIST
 504: LIST
 505: LIST
 506: PUSH
 507: LD_OWVAR 67
 511: ARRAY
 512: ST_TO_ADDR
// ruv0_wp = [ ru_heavy_machine_gun , ru_heavy_machine_gun , ru_heavy_machine_gun ] [ difficulty ] ;
 513: LD_ADDR_EXP 47
 517: PUSH
 518: LD_INT 42
 520: PUSH
 521: LD_INT 42
 523: PUSH
 524: LD_INT 42
 526: PUSH
 527: EMPTY
 528: LIST
 529: LIST
 530: LIST
 531: PUSH
 532: LD_OWVAR 67
 536: ARRAY
 537: ST_TO_ADDR
// ruv1_ch = [ ru_medium_wheeled , ru_medium_wheeled , ru_medium_wheeled ] [ difficulty ] ;
 538: LD_ADDR_EXP 48
 542: PUSH
 543: LD_INT 21
 545: PUSH
 546: LD_INT 21
 548: PUSH
 549: LD_INT 21
 551: PUSH
 552: EMPTY
 553: LIST
 554: LIST
 555: LIST
 556: PUSH
 557: LD_OWVAR 67
 561: ARRAY
 562: ST_TO_ADDR
// ruv1_wp = [ ru_gatling_gun , ru_gatling_gun , ru_gun ] [ difficulty ] ;
 563: LD_ADDR_EXP 49
 567: PUSH
 568: LD_INT 43
 570: PUSH
 571: LD_INT 43
 573: PUSH
 574: LD_INT 44
 576: PUSH
 577: EMPTY
 578: LIST
 579: LIST
 580: LIST
 581: PUSH
 582: LD_OWVAR 67
 586: ARRAY
 587: ST_TO_ADDR
// rumech1_sk = [ 4 , 6 , 7 ] [ difficulty ] ;
 588: LD_ADDR_EXP 64
 592: PUSH
 593: LD_INT 4
 595: PUSH
 596: LD_INT 6
 598: PUSH
 599: LD_INT 7
 601: PUSH
 602: EMPTY
 603: LIST
 604: LIST
 605: LIST
 606: PUSH
 607: LD_OWVAR 67
 611: ARRAY
 612: ST_TO_ADDR
// ruv2_ch = [ ru_heavy_wheeled , ru_heavy_wheeled , ru_heavy_wheeled ] [ difficulty ] ;
 613: LD_ADDR_EXP 50
 617: PUSH
 618: LD_INT 23
 620: PUSH
 621: LD_INT 23
 623: PUSH
 624: LD_INT 23
 626: PUSH
 627: EMPTY
 628: LIST
 629: LIST
 630: LIST
 631: PUSH
 632: LD_OWVAR 67
 636: ARRAY
 637: ST_TO_ADDR
// ruv2_wp = [ ru_heavy_gun , ru_heavy_gun , ru_heavy_gun ] [ difficulty ] ;
 638: LD_ADDR_EXP 51
 642: PUSH
 643: LD_INT 46
 645: PUSH
 646: LD_INT 46
 648: PUSH
 649: LD_INT 46
 651: PUSH
 652: EMPTY
 653: LIST
 654: LIST
 655: LIST
 656: PUSH
 657: LD_OWVAR 67
 661: ARRAY
 662: ST_TO_ADDR
// rumech2_sk = [ 3 , 5 , 7 ] [ difficulty ] ;
 663: LD_ADDR_EXP 65
 667: PUSH
 668: LD_INT 3
 670: PUSH
 671: LD_INT 5
 673: PUSH
 674: LD_INT 7
 676: PUSH
 677: EMPTY
 678: LIST
 679: LIST
 680: LIST
 681: PUSH
 682: LD_OWVAR 67
 686: ARRAY
 687: ST_TO_ADDR
// ruv3_ch = [ ru_medium_tracked , ru_medium_tracked , ru_medium_tracked ] [ difficulty ] ;
 688: LD_ADDR_EXP 52
 692: PUSH
 693: LD_INT 22
 695: PUSH
 696: LD_INT 22
 698: PUSH
 699: LD_INT 22
 701: PUSH
 702: EMPTY
 703: LIST
 704: LIST
 705: LIST
 706: PUSH
 707: LD_OWVAR 67
 711: ARRAY
 712: ST_TO_ADDR
// ruv3_wp = [ ru_gatling_gun , ru_gatling_gun , ru_gatling_gun ] [ difficulty ] ;
 713: LD_ADDR_EXP 53
 717: PUSH
 718: LD_INT 43
 720: PUSH
 721: LD_INT 43
 723: PUSH
 724: LD_INT 43
 726: PUSH
 727: EMPTY
 728: LIST
 729: LIST
 730: LIST
 731: PUSH
 732: LD_OWVAR 67
 736: ARRAY
 737: ST_TO_ADDR
// rumech3_sk = [ 5 , 7 , 9 ] [ difficulty ] ;
 738: LD_ADDR_EXP 66
 742: PUSH
 743: LD_INT 5
 745: PUSH
 746: LD_INT 7
 748: PUSH
 749: LD_INT 9
 751: PUSH
 752: EMPTY
 753: LIST
 754: LIST
 755: LIST
 756: PUSH
 757: LD_OWVAR 67
 761: ARRAY
 762: ST_TO_ADDR
// ruv4_ch = [ ru_medium_wheeled , ru_medium_wheeled , ru_medium_tracked ] [ difficulty ] ;
 763: LD_ADDR_EXP 54
 767: PUSH
 768: LD_INT 21
 770: PUSH
 771: LD_INT 21
 773: PUSH
 774: LD_INT 22
 776: PUSH
 777: EMPTY
 778: LIST
 779: LIST
 780: LIST
 781: PUSH
 782: LD_OWVAR 67
 786: ARRAY
 787: ST_TO_ADDR
// ruv4_wp = [ ru_gatling_gun , ru_gatling_gun , ru_gatling_gun ] [ difficulty ] ;
 788: LD_ADDR_EXP 55
 792: PUSH
 793: LD_INT 43
 795: PUSH
 796: LD_INT 43
 798: PUSH
 799: LD_INT 43
 801: PUSH
 802: EMPTY
 803: LIST
 804: LIST
 805: LIST
 806: PUSH
 807: LD_OWVAR 67
 811: ARRAY
 812: ST_TO_ADDR
// rumech4_sk = [ 4 , 6 , 8 ] [ difficulty ] ;
 813: LD_ADDR_EXP 67
 817: PUSH
 818: LD_INT 4
 820: PUSH
 821: LD_INT 6
 823: PUSH
 824: LD_INT 8
 826: PUSH
 827: EMPTY
 828: LIST
 829: LIST
 830: LIST
 831: PUSH
 832: LD_OWVAR 67
 836: ARRAY
 837: ST_TO_ADDR
// ruv5_ch = [ ru_heavy_wheeled , ru_heavy_wheeled , ru_heavy_wheeled ] [ difficulty ] ;
 838: LD_ADDR_EXP 56
 842: PUSH
 843: LD_INT 23
 845: PUSH
 846: LD_INT 23
 848: PUSH
 849: LD_INT 23
 851: PUSH
 852: EMPTY
 853: LIST
 854: LIST
 855: LIST
 856: PUSH
 857: LD_OWVAR 67
 861: ARRAY
 862: ST_TO_ADDR
// ruv5_wp = [ ru_gun , ru_heavy_gun , ru_heavy_gun ] [ difficulty ] ;
 863: LD_ADDR_EXP 57
 867: PUSH
 868: LD_INT 44
 870: PUSH
 871: LD_INT 46
 873: PUSH
 874: LD_INT 46
 876: PUSH
 877: EMPTY
 878: LIST
 879: LIST
 880: LIST
 881: PUSH
 882: LD_OWVAR 67
 886: ARRAY
 887: ST_TO_ADDR
// rumech5_sk = [ 4 , 5 , 8 ] [ difficulty ] ;
 888: LD_ADDR_EXP 68
 892: PUSH
 893: LD_INT 4
 895: PUSH
 896: LD_INT 5
 898: PUSH
 899: LD_INT 8
 901: PUSH
 902: EMPTY
 903: LIST
 904: LIST
 905: LIST
 906: PUSH
 907: LD_OWVAR 67
 911: ARRAY
 912: ST_TO_ADDR
// ruv6_ch = [ ru_medium_tracked , ru_medium_tracked , ru_medium_tracked ] [ difficulty ] ;
 913: LD_ADDR_EXP 58
 917: PUSH
 918: LD_INT 22
 920: PUSH
 921: LD_INT 22
 923: PUSH
 924: LD_INT 22
 926: PUSH
 927: EMPTY
 928: LIST
 929: LIST
 930: LIST
 931: PUSH
 932: LD_OWVAR 67
 936: ARRAY
 937: ST_TO_ADDR
// ruv6_wp = [ ru_rocket_launcher , ru_rocket_launcher , ru_rocket_launcher ] [ difficulty ] ;
 938: LD_ADDR_EXP 59
 942: PUSH
 943: LD_INT 45
 945: PUSH
 946: LD_INT 45
 948: PUSH
 949: LD_INT 45
 951: PUSH
 952: EMPTY
 953: LIST
 954: LIST
 955: LIST
 956: PUSH
 957: LD_OWVAR 67
 961: ARRAY
 962: ST_TO_ADDR
// rumech6_sk = [ 4 , 7 , 9 ] [ difficulty ] ;
 963: LD_ADDR_EXP 69
 967: PUSH
 968: LD_INT 4
 970: PUSH
 971: LD_INT 7
 973: PUSH
 974: LD_INT 9
 976: PUSH
 977: EMPTY
 978: LIST
 979: LIST
 980: LIST
 981: PUSH
 982: LD_OWVAR 67
 986: ARRAY
 987: ST_TO_ADDR
// ruv7_ch = [ ru_medium_tracked , ru_medium_tracked , ru_medium_tracked ] [ difficulty ] ;
 988: LD_ADDR_EXP 60
 992: PUSH
 993: LD_INT 22
 995: PUSH
 996: LD_INT 22
 998: PUSH
 999: LD_INT 22
1001: PUSH
1002: EMPTY
1003: LIST
1004: LIST
1005: LIST
1006: PUSH
1007: LD_OWVAR 67
1011: ARRAY
1012: ST_TO_ADDR
// ruv7_wp = [ ru_gun , ru_gun , ru_gun ] [ difficulty ] ;
1013: LD_ADDR_EXP 61
1017: PUSH
1018: LD_INT 44
1020: PUSH
1021: LD_INT 44
1023: PUSH
1024: LD_INT 44
1026: PUSH
1027: EMPTY
1028: LIST
1029: LIST
1030: LIST
1031: PUSH
1032: LD_OWVAR 67
1036: ARRAY
1037: ST_TO_ADDR
// rumech7_sk = [ 5 , 7 , 9 ] [ difficulty ] ;
1038: LD_ADDR_EXP 70
1042: PUSH
1043: LD_INT 5
1045: PUSH
1046: LD_INT 7
1048: PUSH
1049: LD_INT 9
1051: PUSH
1052: EMPTY
1053: LIST
1054: LIST
1055: LIST
1056: PUSH
1057: LD_OWVAR 67
1061: ARRAY
1062: ST_TO_ADDR
// ruv8_ch = [ ru_heavy_wheeled , ru_heavy_wheeled , ru_heavy_wheeled ] [ difficulty ] ;
1063: LD_ADDR_EXP 62
1067: PUSH
1068: LD_INT 23
1070: PUSH
1071: LD_INT 23
1073: PUSH
1074: LD_INT 23
1076: PUSH
1077: EMPTY
1078: LIST
1079: LIST
1080: LIST
1081: PUSH
1082: LD_OWVAR 67
1086: ARRAY
1087: ST_TO_ADDR
// ruv8_wp = [ ru_gatling_gun , ru_gatling_gun , ru_gatling_gun ] [ difficulty ] ;
1088: LD_ADDR_EXP 63
1092: PUSH
1093: LD_INT 43
1095: PUSH
1096: LD_INT 43
1098: PUSH
1099: LD_INT 43
1101: PUSH
1102: EMPTY
1103: LIST
1104: LIST
1105: LIST
1106: PUSH
1107: LD_OWVAR 67
1111: ARRAY
1112: ST_TO_ADDR
// rumech8_sk = [ 5 , 7 , 8 ] [ difficulty ] ;
1113: LD_ADDR_EXP 71
1117: PUSH
1118: LD_INT 5
1120: PUSH
1121: LD_INT 7
1123: PUSH
1124: LD_INT 8
1126: PUSH
1127: EMPTY
1128: LIST
1129: LIST
1130: LIST
1131: PUSH
1132: LD_OWVAR 67
1136: ARRAY
1137: ST_TO_ADDR
// arm0 = [ 6 , 8 , 10 ] [ difficulty ] ;
1138: LD_ADDR_EXP 19
1142: PUSH
1143: LD_INT 6
1145: PUSH
1146: LD_INT 8
1148: PUSH
1149: LD_INT 10
1151: PUSH
1152: EMPTY
1153: LIST
1154: LIST
1155: LIST
1156: PUSH
1157: LD_OWVAR 67
1161: ARRAY
1162: ST_TO_ADDR
// arv1_ch = [ ar_medium_trike , ar_half_tracked , ar_half_tracked ] [ difficulty ] ;
1163: LD_ADDR_EXP 20
1167: PUSH
1168: LD_INT 13
1170: PUSH
1171: LD_INT 14
1173: PUSH
1174: LD_INT 14
1176: PUSH
1177: EMPTY
1178: LIST
1179: LIST
1180: LIST
1181: PUSH
1182: LD_OWVAR 67
1186: ARRAY
1187: ST_TO_ADDR
// arv1_wp = [ ar_flame_thrower , ar_flame_thrower , ar_flame_thrower ] [ difficulty ] ;
1188: LD_ADDR_EXP 21
1192: PUSH
1193: LD_INT 26
1195: PUSH
1196: LD_INT 26
1198: PUSH
1199: LD_INT 26
1201: PUSH
1202: EMPTY
1203: LIST
1204: LIST
1205: LIST
1206: PUSH
1207: LD_OWVAR 67
1211: ARRAY
1212: ST_TO_ADDR
// arm1_sk = [ 3 , 6 , 8 ] [ difficulty ] ;
1213: LD_ADDR_EXP 22
1217: PUSH
1218: LD_INT 3
1220: PUSH
1221: LD_INT 6
1223: PUSH
1224: LD_INT 8
1226: PUSH
1227: EMPTY
1228: LIST
1229: LIST
1230: LIST
1231: PUSH
1232: LD_OWVAR 67
1236: ARRAY
1237: ST_TO_ADDR
// arv2_ch = [ ar_medium_trike , ar_medium_trike , ar_medium_trike ] [ difficulty ] ;
1238: LD_ADDR_EXP 23
1242: PUSH
1243: LD_INT 13
1245: PUSH
1246: LD_INT 13
1248: PUSH
1249: LD_INT 13
1251: PUSH
1252: EMPTY
1253: LIST
1254: LIST
1255: LIST
1256: PUSH
1257: LD_OWVAR 67
1261: ARRAY
1262: ST_TO_ADDR
// arv2_wp = [ ar_double_machine_gun , ar_gatling_gun , ar_gatling_gun ] [ difficulty ] ;
1263: LD_ADDR_EXP 24
1267: PUSH
1268: LD_INT 24
1270: PUSH
1271: LD_INT 25
1273: PUSH
1274: LD_INT 25
1276: PUSH
1277: EMPTY
1278: LIST
1279: LIST
1280: LIST
1281: PUSH
1282: LD_OWVAR 67
1286: ARRAY
1287: ST_TO_ADDR
// arm2_sk = [ 4 , 6 , 9 ] [ difficulty ] ;
1288: LD_ADDR_EXP 25
1292: PUSH
1293: LD_INT 4
1295: PUSH
1296: LD_INT 6
1298: PUSH
1299: LD_INT 9
1301: PUSH
1302: EMPTY
1303: LIST
1304: LIST
1305: LIST
1306: PUSH
1307: LD_OWVAR 67
1311: ARRAY
1312: ST_TO_ADDR
// arv3_ch = [ ar_medium_trike , ar_half_tracked , ar_half_tracked ] [ difficulty ] ;
1313: LD_ADDR_EXP 26
1317: PUSH
1318: LD_INT 13
1320: PUSH
1321: LD_INT 14
1323: PUSH
1324: LD_INT 14
1326: PUSH
1327: EMPTY
1328: LIST
1329: LIST
1330: LIST
1331: PUSH
1332: LD_OWVAR 67
1336: ARRAY
1337: ST_TO_ADDR
// arv3_wp = [ ar_gun , ar_gun , ar_gun ] [ difficulty ] ;
1338: LD_ADDR_EXP 27
1342: PUSH
1343: LD_INT 27
1345: PUSH
1346: LD_INT 27
1348: PUSH
1349: LD_INT 27
1351: PUSH
1352: EMPTY
1353: LIST
1354: LIST
1355: LIST
1356: PUSH
1357: LD_OWVAR 67
1361: ARRAY
1362: ST_TO_ADDR
// arm3_sk = [ 4 , 6 , 8 ] [ difficulty ] ;
1363: LD_ADDR_EXP 28
1367: PUSH
1368: LD_INT 4
1370: PUSH
1371: LD_INT 6
1373: PUSH
1374: LD_INT 8
1376: PUSH
1377: EMPTY
1378: LIST
1379: LIST
1380: LIST
1381: PUSH
1382: LD_OWVAR 67
1386: ARRAY
1387: ST_TO_ADDR
// arv4_ch = [ ar_medium_trike , ar_medium_trike , ar_half_tracked ] [ difficulty ] ;
1388: LD_ADDR_EXP 29
1392: PUSH
1393: LD_INT 13
1395: PUSH
1396: LD_INT 13
1398: PUSH
1399: LD_INT 14
1401: PUSH
1402: EMPTY
1403: LIST
1404: LIST
1405: LIST
1406: PUSH
1407: LD_OWVAR 67
1411: ARRAY
1412: ST_TO_ADDR
// arv4_wp = [ ar_double_machine_gun , ar_gatling_gun , ar_gatling_gun ] [ difficulty ] ;
1413: LD_ADDR_EXP 30
1417: PUSH
1418: LD_INT 24
1420: PUSH
1421: LD_INT 25
1423: PUSH
1424: LD_INT 25
1426: PUSH
1427: EMPTY
1428: LIST
1429: LIST
1430: LIST
1431: PUSH
1432: LD_OWVAR 67
1436: ARRAY
1437: ST_TO_ADDR
// arm4_sk = [ 4 , 6 , 8 ] [ difficulty ] ;
1438: LD_ADDR_EXP 31
1442: PUSH
1443: LD_INT 4
1445: PUSH
1446: LD_INT 6
1448: PUSH
1449: LD_INT 8
1451: PUSH
1452: EMPTY
1453: LIST
1454: LIST
1455: LIST
1456: PUSH
1457: LD_OWVAR 67
1461: ARRAY
1462: ST_TO_ADDR
// arv5_ch = [ ar_hovercraft , ar_hovercraft , ar_hovercraft ] [ difficulty ] ;
1463: LD_ADDR_EXP 32
1467: PUSH
1468: LD_INT 11
1470: PUSH
1471: LD_INT 11
1473: PUSH
1474: LD_INT 11
1476: PUSH
1477: EMPTY
1478: LIST
1479: LIST
1480: LIST
1481: PUSH
1482: LD_OWVAR 67
1486: ARRAY
1487: ST_TO_ADDR
// arv5_wp = [ ar_multimissile_ballista , ar_double_machine_gun , ar_double_machine_gun ] [ difficulty ] ;
1488: LD_ADDR_EXP 33
1492: PUSH
1493: LD_INT 22
1495: PUSH
1496: LD_INT 24
1498: PUSH
1499: LD_INT 24
1501: PUSH
1502: EMPTY
1503: LIST
1504: LIST
1505: LIST
1506: PUSH
1507: LD_OWVAR 67
1511: ARRAY
1512: ST_TO_ADDR
// arm5_sk = [ 5 , 7 , 9 ] [ difficulty ] ;
1513: LD_ADDR_EXP 34
1517: PUSH
1518: LD_INT 5
1520: PUSH
1521: LD_INT 7
1523: PUSH
1524: LD_INT 9
1526: PUSH
1527: EMPTY
1528: LIST
1529: LIST
1530: LIST
1531: PUSH
1532: LD_OWVAR 67
1536: ARRAY
1537: ST_TO_ADDR
// arv6_ch = [ ar_medium_trike , ar_medium_trike , ar_half_tracked ] [ difficulty ] ;
1538: LD_ADDR_EXP 35
1542: PUSH
1543: LD_INT 13
1545: PUSH
1546: LD_INT 13
1548: PUSH
1549: LD_INT 14
1551: PUSH
1552: EMPTY
1553: LIST
1554: LIST
1555: LIST
1556: PUSH
1557: LD_OWVAR 67
1561: ARRAY
1562: ST_TO_ADDR
// arv6_wp = [ ar_double_machine_gun , ar_gatling_gun , ar_gatling_gun ] [ difficulty ] ;
1563: LD_ADDR_EXP 36
1567: PUSH
1568: LD_INT 24
1570: PUSH
1571: LD_INT 25
1573: PUSH
1574: LD_INT 25
1576: PUSH
1577: EMPTY
1578: LIST
1579: LIST
1580: LIST
1581: PUSH
1582: LD_OWVAR 67
1586: ARRAY
1587: ST_TO_ADDR
// arm6_sk = [ 4 , 6 , 8 ] [ difficulty ] ;
1588: LD_ADDR_EXP 37
1592: PUSH
1593: LD_INT 4
1595: PUSH
1596: LD_INT 6
1598: PUSH
1599: LD_INT 8
1601: PUSH
1602: EMPTY
1603: LIST
1604: LIST
1605: LIST
1606: PUSH
1607: LD_OWVAR 67
1611: ARRAY
1612: ST_TO_ADDR
// arv7_ch = [ 0 , ar_medium_trike , ar_medium_trike ] [ difficulty ] ;
1613: LD_ADDR_EXP 38
1617: PUSH
1618: LD_INT 0
1620: PUSH
1621: LD_INT 13
1623: PUSH
1624: LD_INT 13
1626: PUSH
1627: EMPTY
1628: LIST
1629: LIST
1630: LIST
1631: PUSH
1632: LD_OWVAR 67
1636: ARRAY
1637: ST_TO_ADDR
// arv7_wp = [ 0 , ar_rocket_launcher , ar_rocket_launcher ] [ difficulty ] ;
1638: LD_ADDR_EXP 39
1642: PUSH
1643: LD_INT 0
1645: PUSH
1646: LD_INT 28
1648: PUSH
1649: LD_INT 28
1651: PUSH
1652: EMPTY
1653: LIST
1654: LIST
1655: LIST
1656: PUSH
1657: LD_OWVAR 67
1661: ARRAY
1662: ST_TO_ADDR
// arv8_ch = [ 0 , ar_medium_trike , ar_half_tracked ] [ difficulty ] ;
1663: LD_ADDR_EXP 40
1667: PUSH
1668: LD_INT 0
1670: PUSH
1671: LD_INT 13
1673: PUSH
1674: LD_INT 14
1676: PUSH
1677: EMPTY
1678: LIST
1679: LIST
1680: LIST
1681: PUSH
1682: LD_OWVAR 67
1686: ARRAY
1687: ST_TO_ADDR
// arv8_wp = [ 0 , ar_gun , ar_gun ] [ difficulty ] ;
1688: LD_ADDR_EXP 41
1692: PUSH
1693: LD_INT 0
1695: PUSH
1696: LD_INT 27
1698: PUSH
1699: LD_INT 27
1701: PUSH
1702: EMPTY
1703: LIST
1704: LIST
1705: LIST
1706: PUSH
1707: LD_OWVAR 67
1711: ARRAY
1712: ST_TO_ADDR
// arv9_ch = ar_half_tracked ;
1713: LD_ADDR_EXP 42
1717: PUSH
1718: LD_INT 14
1720: ST_TO_ADDR
// arv9_wp = ar_flame_thrower ;
1721: LD_ADDR_EXP 43
1725: PUSH
1726: LD_INT 26
1728: ST_TO_ADDR
// arv10_ch = ar_medium_trike ;
1729: LD_ADDR_EXP 44
1733: PUSH
1734: LD_INT 13
1736: ST_TO_ADDR
// arv10_wp = ar_flame_thrower ;
1737: LD_ADDR_EXP 45
1741: PUSH
1742: LD_INT 26
1744: ST_TO_ADDR
// setblevel ( [ arbunk0 , arbunk1 , arbunk2 , arbunk3 , arbunk4 , arbunk5 ] , [ 5 , 7 , 9 ] [ difficulty ] ) ;
1745: LD_INT 14
1747: PUSH
1748: LD_INT 15
1750: PUSH
1751: LD_INT 13
1753: PUSH
1754: LD_INT 16
1756: PUSH
1757: LD_INT 17
1759: PUSH
1760: LD_INT 18
1762: PUSH
1763: EMPTY
1764: LIST
1765: LIST
1766: LIST
1767: LIST
1768: LIST
1769: LIST
1770: PPUSH
1771: LD_INT 5
1773: PUSH
1774: LD_INT 7
1776: PUSH
1777: LD_INT 9
1779: PUSH
1780: EMPTY
1781: LIST
1782: LIST
1783: LIST
1784: PUSH
1785: LD_OWVAR 67
1789: ARRAY
1790: PPUSH
1791: CALL_OW 241
// setblevel ( [ arbarr ] , [ 4 , 6 , 8 ] [ difficulty ] ) ;
1795: LD_INT 2
1797: PUSH
1798: EMPTY
1799: LIST
1800: PPUSH
1801: LD_INT 4
1803: PUSH
1804: LD_INT 6
1806: PUSH
1807: LD_INT 8
1809: PUSH
1810: EMPTY
1811: LIST
1812: LIST
1813: LIST
1814: PUSH
1815: LD_OWVAR 67
1819: ARRAY
1820: PPUSH
1821: CALL_OW 241
// end ;
1825: LD_VAR 0 1
1829: RET
// export lb1 ; starting begin lb1 = false ;
1830: LD_ADDR_EXP 81
1834: PUSH
1835: LD_INT 0
1837: ST_TO_ADDR
// koncime = false ;
1838: LD_ADDR_EXP 77
1842: PUSH
1843: LD_INT 0
1845: ST_TO_ADDR
// set_vars ;
1846: CALL 0 0 0
// cper = cperiode ;
1850: LD_ADDR_LOC 1
1854: PUSH
1855: LD_LOC 2
1859: ST_TO_ADDR
// delay = time2wait ;
1860: LD_ADDR_EXP 74
1864: PUSH
1865: LD_EXP 73
1869: ST_TO_ADDR
// disable ( 01 ) ;
1870: LD_INT 1
1872: DISABLE_MARKED
// disable ( 02 ) ;
1873: LD_INT 2
1875: DISABLE_MARKED
// disable ( 05 ) ;
1876: LD_INT 5
1878: DISABLE_MARKED
// disable ( 07 ) ;
1879: LD_INT 7
1881: DISABLE_MARKED
// disable ( 09 ) ;
1882: LD_INT 9
1884: DISABLE_MARKED
// disable ( 10 ) ;
1885: LD_INT 10
1887: DISABLE_MARKED
// disable ( 15 ) ;
1888: LD_INT 15
1890: DISABLE_MARKED
// disable ( 37 ) ;
1891: LD_INT 37
1893: DISABLE_MARKED
// revealfogarea ( al , revfog ) ;
1894: LD_EXP 1
1898: PPUSH
1899: LD_INT 7
1901: PPUSH
1902: CALL_OW 332
// prepare_arabians ;
1906: CALL 10229 0 0
// prepare_russians ;
1910: CALL 2071 0 0
// end ;
1914: END
// var cper , cperiode , supplies ; every 0 0$15 + 0 0$45 do
1915: GO 1917
1917: DISABLE
// begin cper = cper - 0 0$15 ;
1918: LD_ADDR_LOC 1
1922: PUSH
1923: LD_LOC 1
1927: PUSH
1928: LD_INT 525
1930: MINUS
1931: ST_TO_ADDR
// if cper = 0 then
1932: LD_LOC 1
1936: PUSH
1937: LD_INT 0
1939: EQUAL
1940: IFFALSE 1992
// begin createcratesarea ( 5 , dropzone , true ) ;
1942: LD_INT 5
1944: PPUSH
1945: LD_INT 1
1947: PPUSH
1948: LD_INT 1
1950: PPUSH
1951: CALL_OW 55
// if ( supplies > 1 ) then
1955: LD_LOC 3
1959: PUSH
1960: LD_INT 1
1962: GREATER
1963: IFFALSE 1980
// begin supplies = supplies - 1 ;
1965: LD_ADDR_LOC 3
1969: PUSH
1970: LD_LOC 3
1974: PUSH
1975: LD_INT 1
1977: MINUS
1978: ST_TO_ADDR
// enable ;
1979: ENABLE
// end ; cper = cperiode ;
1980: LD_ADDR_LOC 1
1984: PUSH
1985: LD_LOC 2
1989: ST_TO_ADDR
// end else
1990: GO 1993
// enable ;
1992: ENABLE
// end ;
1993: END
// every 0 0$7 do
1994: GO 1996
1996: DISABLE
// begin randomize ;
1997: CALL_OW 10
// enable ;
2001: ENABLE
// end ;
2002: END
// every 0 0$20 do
2003: GO 2005
2005: DISABLE
// createcratesarea ( 5 , stred , true ) ;
2006: LD_INT 5
2008: PPUSH
2009: LD_INT 2
2011: PPUSH
2012: LD_INT 1
2014: PPUSH
2015: CALL_OW 55
2019: END
// every 0 0$30 do
2020: GO 2022
2022: DISABLE
// createcratesarea ( 5 , stred , true ) ;
2023: LD_INT 5
2025: PPUSH
2026: LD_INT 2
2028: PPUSH
2029: LD_INT 1
2031: PPUSH
2032: CALL_OW 55
2036: END
// every 0 0$45 do
2037: GO 2039
2039: DISABLE
// createcratesarea ( 5 , stred , true ) ;
2040: LD_INT 5
2042: PPUSH
2043: LD_INT 2
2045: PPUSH
2046: LD_INT 1
2048: PPUSH
2049: CALL_OW 55
2053: END
// every 0 0$55 do
2054: GO 2056
2056: DISABLE
// createcratesarea ( 5 , stred , true ) ; end_of_file
2057: LD_INT 5
2059: PPUSH
2060: LD_INT 2
2062: PPUSH
2063: LD_INT 1
2065: PPUSH
2066: CALL_OW 55
2070: END
// export vyjednavalo_se ; export burlak , belkov , gnyevko , kiril , kovalyuk , scholtze , kuzmov , karam , petrov , gleb , petros , lipshchin , titov , dolgov , xavier , oblukov , kozlov , kapitsova , gossud ; export vip , jahoda ; var vedci , zbytekze12 , vedciost , jahodatyp , plidi ; export function prepare_russians ; var old_al , old_al2 , tmp , tmp1 ; begin
2071: LD_INT 0
2073: PPUSH
2074: PPUSH
2075: PPUSH
2076: PPUSH
2077: PPUSH
// old_al = 1 ;
2078: LD_ADDR_VAR 0 2
2082: PUSH
2083: LD_INT 1
2085: ST_TO_ADDR
// old_al2 = 2 ;
2086: LD_ADDR_VAR 0 3
2090: PUSH
2091: LD_INT 2
2093: ST_TO_ADDR
// uc_side = al ;
2094: LD_ADDR_OWVAR 20
2098: PUSH
2099: LD_EXP 1
2103: ST_TO_ADDR
// burlak = 0 ;
2104: LD_ADDR_EXP 83
2108: PUSH
2109: LD_INT 0
2111: ST_TO_ADDR
// if checkcharacterset ( Burlak ) then
2112: LD_STRING Burlak
2114: PPUSH
2115: CALL_OW 29
2119: IFFALSE 2139
// burlak = createcharacterwithclass ( Burlak , class_engineer ) else
2121: LD_ADDR_EXP 83
2125: PUSH
2126: LD_STRING Burlak
2128: PPUSH
2129: LD_INT 2
2131: PPUSH
2132: CALL_OW 35
2136: ST_TO_ADDR
2137: GO 2152
// buildquery ( neny Burlak , [ OK ] ) ;
2139: LD_STRING neny Burlak
2141: PPUSH
2142: LD_STRING OK
2144: PUSH
2145: EMPTY
2146: LIST
2147: PPUSH
2148: CALL_OW 99
// tmp = LoadVariable ( Masha , 0 ) ;
2152: LD_ADDR_VAR 0 4
2156: PUSH
2157: LD_STRING Masha
2159: PPUSH
2160: LD_INT 0
2162: PPUSH
2163: CALL_OW 30
2167: ST_TO_ADDR
// if tmp then
2168: LD_VAR 0 4
2172: IFFALSE 2297
// begin uc_nation = nation_russian ;
2174: LD_ADDR_OWVAR 21
2178: PUSH
2179: LD_INT 3
2181: ST_TO_ADDR
// vc_chassis = tmp [ 1 ] ;
2182: LD_ADDR_OWVAR 37
2186: PUSH
2187: LD_VAR 0 4
2191: PUSH
2192: LD_INT 1
2194: ARRAY
2195: ST_TO_ADDR
// vc_engine = tmp [ 2 ] ;
2196: LD_ADDR_OWVAR 39
2200: PUSH
2201: LD_VAR 0 4
2205: PUSH
2206: LD_INT 2
2208: ARRAY
2209: ST_TO_ADDR
// vc_control = tmp [ 3 ] ;
2210: LD_ADDR_OWVAR 38
2214: PUSH
2215: LD_VAR 0 4
2219: PUSH
2220: LD_INT 3
2222: ARRAY
2223: ST_TO_ADDR
// vc_weapon = tmp [ 4 ] ;
2224: LD_ADDR_OWVAR 40
2228: PUSH
2229: LD_VAR 0 4
2233: PUSH
2234: LD_INT 4
2236: ARRAY
2237: ST_TO_ADDR
// Masha = CreateVehicle ;
2238: LD_ADDR_EXP 80
2242: PUSH
2243: CALL_OW 45
2247: ST_TO_ADDR
// SetMark ( Masha , 1 ) ;
2248: LD_EXP 80
2252: PPUSH
2253: LD_INT 1
2255: PPUSH
2256: CALL_OW 242
// PlaceHumanInUnit ( burlak , Masha ) ;
2260: LD_EXP 83
2264: PPUSH
2265: LD_EXP 80
2269: PPUSH
2270: CALL_OW 52
// PlaceUnitXYR ( Masha , 61 , 77 , 3 , false ) ;
2274: LD_EXP 80
2278: PPUSH
2279: LD_INT 61
2281: PPUSH
2282: LD_INT 77
2284: PPUSH
2285: LD_INT 3
2287: PPUSH
2288: LD_INT 0
2290: PPUSH
2291: CALL_OW 50
// end else
2295: GO 2318
// placeunitxyr ( burlak , 61 , 77 , 3 , false ) ;
2297: LD_EXP 83
2301: PPUSH
2302: LD_INT 61
2304: PPUSH
2305: LD_INT 77
2307: PPUSH
2308: LD_INT 3
2310: PPUSH
2311: LD_INT 0
2313: PPUSH
2314: CALL_OW 50
// vedci = [ ] ;
2318: LD_ADDR_LOC 4
2322: PUSH
2323: EMPTY
2324: ST_TO_ADDR
// jahoda = 0 ;
2325: LD_ADDR_EXP 103
2329: PUSH
2330: LD_INT 0
2332: ST_TO_ADDR
// jahodatyp = 0 ;
2333: LD_ADDR_LOC 7
2337: PUSH
2338: LD_INT 0
2340: ST_TO_ADDR
// belkov = 0 ;
2341: LD_ADDR_EXP 84
2345: PUSH
2346: LD_INT 0
2348: ST_TO_ADDR
// if testcharacters ( Belkov ) then
2349: LD_STRING Belkov
2351: PPUSH
2352: CALL_OW 28
2356: IFFALSE 2612
// if checkcharacterset ( Belkov ) then
2358: LD_STRING Belkov
2360: PPUSH
2361: CALL_OW 29
2365: IFFALSE 2610
// begin if testvariable ( belkov_side ) then
2367: LD_STRING belkov_side
2369: PPUSH
2370: CALL_OW 27
2374: IFFALSE 2395
// tmp = loadvariable ( belkov_side , - 1 ) else
2376: LD_ADDR_VAR 0 4
2380: PUSH
2381: LD_STRING belkov_side
2383: PPUSH
2384: LD_INT 1
2386: NEG
2387: PPUSH
2388: CALL_OW 30
2392: ST_TO_ADDR
2393: GO 2408
// buildquery ( neny belkov_side , [ OK ] ) ;
2395: LD_STRING neny belkov_side
2397: PPUSH
2398: LD_STRING OK
2400: PUSH
2401: EMPTY
2402: LIST
2403: PPUSH
2404: CALL_OW 99
// case tmp of old_al :
2408: LD_VAR 0 4
2412: PUSH
2413: LD_VAR 0 2
2417: DOUBLE
2418: EQUAL
2419: IFTRUE 2423
2421: GO 2487
2423: POP
// begin belkov = createcharacter ( Belkov ) ;
2424: LD_ADDR_EXP 84
2428: PUSH
2429: LD_STRING Belkov
2431: PPUSH
2432: CALL_OW 34
2436: ST_TO_ADDR
// if getclass ( belkov ) = class_bazooker then
2437: LD_EXP 84
2441: PPUSH
2442: CALL_OW 257
2446: PUSH
2447: LD_INT 9
2449: EQUAL
2450: IFFALSE 2464
// setclass ( belkov , class_soldier ) ;
2452: LD_EXP 84
2456: PPUSH
2457: LD_INT 1
2459: PPUSH
2460: CALL_OW 336
// placeunitxyr ( belkov , 61 , 77 , 3 , false ) ;
2464: LD_EXP 84
2468: PPUSH
2469: LD_INT 61
2471: PPUSH
2472: LD_INT 77
2474: PPUSH
2475: LD_INT 3
2477: PPUSH
2478: LD_INT 0
2480: PPUSH
2481: CALL_OW 50
// end ; old_al2 :
2485: GO 2608
2487: LD_VAR 0 3
2491: DOUBLE
2492: EQUAL
2493: IFTRUE 2497
2495: GO 2559
2497: POP
// begin belkov = createcharacter ( Belkov ) ;
2498: LD_ADDR_EXP 84
2502: PUSH
2503: LD_STRING Belkov
2505: PPUSH
2506: CALL_OW 34
2510: ST_TO_ADDR
// if getclass ( belkov ) = class_bazooker then
2511: LD_EXP 84
2515: PPUSH
2516: CALL_OW 257
2520: PUSH
2521: LD_INT 9
2523: EQUAL
2524: IFFALSE 2538
// setclass ( belkov , class_soldier ) ;
2526: LD_EXP 84
2530: PPUSH
2531: LD_INT 1
2533: PPUSH
2534: CALL_OW 336
// vedci = vedci ^ [ belkov ] ;
2538: LD_ADDR_LOC 4
2542: PUSH
2543: LD_LOC 4
2547: PUSH
2548: LD_EXP 84
2552: PUSH
2553: EMPTY
2554: LIST
2555: ADD
2556: ST_TO_ADDR
// end ; else
2557: GO 2608
2559: POP
// begin jahoda = createcharacter ( Belkov ) ;
2560: LD_ADDR_EXP 103
2564: PUSH
2565: LD_STRING Belkov
2567: PPUSH
2568: CALL_OW 34
2572: ST_TO_ADDR
// if getclass ( jahoda ) = class_bazooker then
2573: LD_EXP 103
2577: PPUSH
2578: CALL_OW 257
2582: PUSH
2583: LD_INT 9
2585: EQUAL
2586: IFFALSE 2600
// setclass ( jahoda , class_soldier ) ;
2588: LD_EXP 103
2592: PPUSH
2593: LD_INT 1
2595: PPUSH
2596: CALL_OW 336
// jahodatyp = 1 ;
2600: LD_ADDR_LOC 7
2604: PUSH
2605: LD_INT 1
2607: ST_TO_ADDR
// end ; end ; end else
2608: GO 2610
// else
2610: GO 2619
// msg ( neny Belkov ) ;
2612: LD_STRING neny Belkov
2614: PPUSH
2615: CALL_OW 100
// gnyevko = 0 ;
2619: LD_ADDR_EXP 85
2623: PUSH
2624: LD_INT 0
2626: ST_TO_ADDR
// if testcharacters ( Gnyevko ) then
2627: LD_STRING Gnyevko
2629: PPUSH
2630: CALL_OW 28
2634: IFFALSE 2897
// if checkcharacterset ( Gnyevko ) then
2636: LD_STRING Gnyevko
2638: PPUSH
2639: CALL_OW 29
2643: IFFALSE 2895
// begin if testvariable ( gnyevko_side ) then
2645: LD_STRING gnyevko_side
2647: PPUSH
2648: CALL_OW 27
2652: IFFALSE 2673
// tmp = loadvariable ( gnyevko_side , - 1 ) else
2654: LD_ADDR_VAR 0 4
2658: PUSH
2659: LD_STRING gnyevko_side
2661: PPUSH
2662: LD_INT 1
2664: NEG
2665: PPUSH
2666: CALL_OW 30
2670: ST_TO_ADDR
2671: GO 2686
// buildquery ( neny gnyevko_side , [ OK ] ) ;
2673: LD_STRING neny gnyevko_side
2675: PPUSH
2676: LD_STRING OK
2678: PUSH
2679: EMPTY
2680: LIST
2681: PPUSH
2682: CALL_OW 99
// case tmp of old_al :
2686: LD_VAR 0 4
2690: PUSH
2691: LD_VAR 0 2
2695: DOUBLE
2696: EQUAL
2697: IFTRUE 2701
2699: GO 2765
2701: POP
// begin gnyevko = createcharacter ( Gnyevko ) ;
2702: LD_ADDR_EXP 85
2706: PUSH
2707: LD_STRING Gnyevko
2709: PPUSH
2710: CALL_OW 34
2714: ST_TO_ADDR
// if getclass ( gnyevko ) = class_bazooker then
2715: LD_EXP 85
2719: PPUSH
2720: CALL_OW 257
2724: PUSH
2725: LD_INT 9
2727: EQUAL
2728: IFFALSE 2742
// setclass ( gnyevko , class_soldier ) ;
2730: LD_EXP 85
2734: PPUSH
2735: LD_INT 1
2737: PPUSH
2738: CALL_OW 336
// placeunitxyr ( gnyevko , 61 , 77 , 3 , false ) ;
2742: LD_EXP 85
2746: PPUSH
2747: LD_INT 61
2749: PPUSH
2750: LD_INT 77
2752: PPUSH
2753: LD_INT 3
2755: PPUSH
2756: LD_INT 0
2758: PPUSH
2759: CALL_OW 50
// end ; old_al2 :
2763: GO 2893
2765: LD_VAR 0 3
2769: DOUBLE
2770: EQUAL
2771: IFTRUE 2775
2773: GO 2837
2775: POP
// begin gnyevko = createcharacter ( Gnyevko ) ;
2776: LD_ADDR_EXP 85
2780: PUSH
2781: LD_STRING Gnyevko
2783: PPUSH
2784: CALL_OW 34
2788: ST_TO_ADDR
// if getclass ( gnyevko ) = class_bazooker then
2789: LD_EXP 85
2793: PPUSH
2794: CALL_OW 257
2798: PUSH
2799: LD_INT 9
2801: EQUAL
2802: IFFALSE 2816
// setclass ( gnyevko , class_soldier ) ;
2804: LD_EXP 85
2808: PPUSH
2809: LD_INT 1
2811: PPUSH
2812: CALL_OW 336
// vedci = vedci ^ [ gnyevko ] ;
2816: LD_ADDR_LOC 4
2820: PUSH
2821: LD_LOC 4
2825: PUSH
2826: LD_EXP 85
2830: PUSH
2831: EMPTY
2832: LIST
2833: ADD
2834: ST_TO_ADDR
// end ; else
2835: GO 2893
2837: POP
// if not jahoda then
2838: LD_EXP 103
2842: NOT
2843: IFFALSE 2893
// begin jahoda = createcharacter ( Gnyevko ) ;
2845: LD_ADDR_EXP 103
2849: PUSH
2850: LD_STRING Gnyevko
2852: PPUSH
2853: CALL_OW 34
2857: ST_TO_ADDR
// if getclass ( jahoda ) = class_bazooker then
2858: LD_EXP 103
2862: PPUSH
2863: CALL_OW 257
2867: PUSH
2868: LD_INT 9
2870: EQUAL
2871: IFFALSE 2885
// setclass ( jahoda , class_soldier ) ;
2873: LD_EXP 103
2877: PPUSH
2878: LD_INT 1
2880: PPUSH
2881: CALL_OW 336
// jahodatyp = 2 ;
2885: LD_ADDR_LOC 7
2889: PUSH
2890: LD_INT 2
2892: ST_TO_ADDR
// end ; end ; end else
2893: GO 2895
// else
2895: GO 2904
// msg ( neny Gnyevko ) ;
2897: LD_STRING neny Gnyevko
2899: PPUSH
2900: CALL_OW 100
// kiril = 0 ;
2904: LD_ADDR_EXP 86
2908: PUSH
2909: LD_INT 0
2911: ST_TO_ADDR
// if testcharacters ( Kirilenkova ) then
2912: LD_STRING Kirilenkova
2914: PPUSH
2915: CALL_OW 28
2919: IFFALSE 3127
// if checkcharacterset ( Kirilenkova ) then
2921: LD_STRING Kirilenkova
2923: PPUSH
2924: CALL_OW 29
2928: IFFALSE 3125
// begin if testvariable ( kiril_side ) then
2930: LD_STRING kiril_side
2932: PPUSH
2933: CALL_OW 27
2937: IFFALSE 2958
// tmp = loadvariable ( kiril_side , - 1 ) else
2939: LD_ADDR_VAR 0 4
2943: PUSH
2944: LD_STRING kiril_side
2946: PPUSH
2947: LD_INT 1
2949: NEG
2950: PPUSH
2951: CALL_OW 30
2955: ST_TO_ADDR
2956: GO 2971
// buildquery ( neny kiril_side , [ OK ] ) ;
2958: LD_STRING neny kiril_side
2960: PPUSH
2961: LD_STRING OK
2963: PUSH
2964: EMPTY
2965: LIST
2966: PPUSH
2967: CALL_OW 99
// case tmp of old_al :
2971: LD_VAR 0 4
2975: PUSH
2976: LD_VAR 0 2
2980: DOUBLE
2981: EQUAL
2982: IFTRUE 2986
2984: GO 3050
2986: POP
// begin kiril = createcharacter ( Kirilenkova ) ;
2987: LD_ADDR_EXP 86
2991: PUSH
2992: LD_STRING Kirilenkova
2994: PPUSH
2995: CALL_OW 34
2999: ST_TO_ADDR
// if getclass ( kiril ) = class_bazooker then
3000: LD_EXP 86
3004: PPUSH
3005: CALL_OW 257
3009: PUSH
3010: LD_INT 9
3012: EQUAL
3013: IFFALSE 3027
// setclass ( kiril , class_soldier ) ;
3015: LD_EXP 86
3019: PPUSH
3020: LD_INT 1
3022: PPUSH
3023: CALL_OW 336
// placeunitxyr ( kiril , 61 , 77 , 3 , false ) ;
3027: LD_EXP 86
3031: PPUSH
3032: LD_INT 61
3034: PPUSH
3035: LD_INT 77
3037: PPUSH
3038: LD_INT 3
3040: PPUSH
3041: LD_INT 0
3043: PPUSH
3044: CALL_OW 50
// end ; old_al2 :
3048: GO 3123
3050: LD_VAR 0 3
3054: DOUBLE
3055: EQUAL
3056: IFTRUE 3060
3058: GO 3122
3060: POP
// begin kiril = createcharacter ( Kirilenkova ) ;
3061: LD_ADDR_EXP 86
3065: PUSH
3066: LD_STRING Kirilenkova
3068: PPUSH
3069: CALL_OW 34
3073: ST_TO_ADDR
// if getclass ( kiril ) = class_bazooker then
3074: LD_EXP 86
3078: PPUSH
3079: CALL_OW 257
3083: PUSH
3084: LD_INT 9
3086: EQUAL
3087: IFFALSE 3101
// setclass ( kiril , class_soldier ) ;
3089: LD_EXP 86
3093: PPUSH
3094: LD_INT 1
3096: PPUSH
3097: CALL_OW 336
// vedci = vedci ^ [ kiril ] ;
3101: LD_ADDR_LOC 4
3105: PUSH
3106: LD_LOC 4
3110: PUSH
3111: LD_EXP 86
3115: PUSH
3116: EMPTY
3117: LIST
3118: ADD
3119: ST_TO_ADDR
// end ; end ;
3120: GO 3123
3122: POP
// end else
3123: GO 3125
// else
3125: GO 3134
// msg ( neny Kirilenkova ) ;
3127: LD_STRING neny Kirilenkova
3129: PPUSH
3130: CALL_OW 100
// kovalyuk = 0 ;
3134: LD_ADDR_EXP 87
3138: PUSH
3139: LD_INT 0
3141: ST_TO_ADDR
// if testcharacters ( Kovalyuk ) then
3142: LD_STRING Kovalyuk
3144: PPUSH
3145: CALL_OW 28
3149: IFFALSE 3357
// if checkcharacterset ( Kovalyuk ) then
3151: LD_STRING Kovalyuk
3153: PPUSH
3154: CALL_OW 29
3158: IFFALSE 3355
// begin if testvariable ( kovalyuk_side ) then
3160: LD_STRING kovalyuk_side
3162: PPUSH
3163: CALL_OW 27
3167: IFFALSE 3188
// tmp = loadvariable ( kovalyuk_side , - 1 ) else
3169: LD_ADDR_VAR 0 4
3173: PUSH
3174: LD_STRING kovalyuk_side
3176: PPUSH
3177: LD_INT 1
3179: NEG
3180: PPUSH
3181: CALL_OW 30
3185: ST_TO_ADDR
3186: GO 3201
// buildquery ( neny kovalyuk_side , [ OK ] ) ;
3188: LD_STRING neny kovalyuk_side
3190: PPUSH
3191: LD_STRING OK
3193: PUSH
3194: EMPTY
3195: LIST
3196: PPUSH
3197: CALL_OW 99
// case tmp of old_al :
3201: LD_VAR 0 4
3205: PUSH
3206: LD_VAR 0 2
3210: DOUBLE
3211: EQUAL
3212: IFTRUE 3216
3214: GO 3280
3216: POP
// begin kovalyuk = createcharacter ( Kovalyuk ) ;
3217: LD_ADDR_EXP 87
3221: PUSH
3222: LD_STRING Kovalyuk
3224: PPUSH
3225: CALL_OW 34
3229: ST_TO_ADDR
// if getclass ( kovalyuk ) = class_bazooker then
3230: LD_EXP 87
3234: PPUSH
3235: CALL_OW 257
3239: PUSH
3240: LD_INT 9
3242: EQUAL
3243: IFFALSE 3257
// setclass ( kovalyuk , class_soldier ) ;
3245: LD_EXP 87
3249: PPUSH
3250: LD_INT 1
3252: PPUSH
3253: CALL_OW 336
// placeunitxyr ( kovalyuk , 61 , 77 , 3 , false ) ;
3257: LD_EXP 87
3261: PPUSH
3262: LD_INT 61
3264: PPUSH
3265: LD_INT 77
3267: PPUSH
3268: LD_INT 3
3270: PPUSH
3271: LD_INT 0
3273: PPUSH
3274: CALL_OW 50
// end ; old_al2 :
3278: GO 3353
3280: LD_VAR 0 3
3284: DOUBLE
3285: EQUAL
3286: IFTRUE 3290
3288: GO 3352
3290: POP
// begin kovalyuk = createcharacter ( Kovalyuk ) ;
3291: LD_ADDR_EXP 87
3295: PUSH
3296: LD_STRING Kovalyuk
3298: PPUSH
3299: CALL_OW 34
3303: ST_TO_ADDR
// if getclass ( kovalyuk ) = class_bazooker then
3304: LD_EXP 87
3308: PPUSH
3309: CALL_OW 257
3313: PUSH
3314: LD_INT 9
3316: EQUAL
3317: IFFALSE 3331
// setclass ( kovalyuk , class_soldier ) ;
3319: LD_EXP 87
3323: PPUSH
3324: LD_INT 1
3326: PPUSH
3327: CALL_OW 336
// vedci = vedci ^ [ kovalyuk ] ;
3331: LD_ADDR_LOC 4
3335: PUSH
3336: LD_LOC 4
3340: PUSH
3341: LD_EXP 87
3345: PUSH
3346: EMPTY
3347: LIST
3348: ADD
3349: ST_TO_ADDR
// end ; end ;
3350: GO 3353
3352: POP
// end else
3353: GO 3355
// else
3355: GO 3364
// msg ( neny Kovalyuk ) ;
3357: LD_STRING neny Kovalyuk
3359: PPUSH
3360: CALL_OW 100
// scholtze = 0 ;
3364: LD_ADDR_EXP 88
3368: PUSH
3369: LD_INT 0
3371: ST_TO_ADDR
// if testcharacters ( Scholtze ) then
3372: LD_STRING Scholtze
3374: PPUSH
3375: CALL_OW 28
3379: IFFALSE 3587
// if checkcharacterset ( Scholtze ) then
3381: LD_STRING Scholtze
3383: PPUSH
3384: CALL_OW 29
3388: IFFALSE 3585
// begin if testvariable ( scholtze_side ) then
3390: LD_STRING scholtze_side
3392: PPUSH
3393: CALL_OW 27
3397: IFFALSE 3418
// tmp = loadvariable ( scholtze_side , - 1 ) else
3399: LD_ADDR_VAR 0 4
3403: PUSH
3404: LD_STRING scholtze_side
3406: PPUSH
3407: LD_INT 1
3409: NEG
3410: PPUSH
3411: CALL_OW 30
3415: ST_TO_ADDR
3416: GO 3431
// buildquery ( neny scholtze_side , [ OK ] ) ;
3418: LD_STRING neny scholtze_side
3420: PPUSH
3421: LD_STRING OK
3423: PUSH
3424: EMPTY
3425: LIST
3426: PPUSH
3427: CALL_OW 99
// case tmp of old_al :
3431: LD_VAR 0 4
3435: PUSH
3436: LD_VAR 0 2
3440: DOUBLE
3441: EQUAL
3442: IFTRUE 3446
3444: GO 3510
3446: POP
// begin scholtze = createcharacter ( Scholtze ) ;
3447: LD_ADDR_EXP 88
3451: PUSH
3452: LD_STRING Scholtze
3454: PPUSH
3455: CALL_OW 34
3459: ST_TO_ADDR
// if getclass ( scholtze ) = class_bazooker then
3460: LD_EXP 88
3464: PPUSH
3465: CALL_OW 257
3469: PUSH
3470: LD_INT 9
3472: EQUAL
3473: IFFALSE 3487
// setclass ( scholtze , class_soldier ) ;
3475: LD_EXP 88
3479: PPUSH
3480: LD_INT 1
3482: PPUSH
3483: CALL_OW 336
// placeunitxyr ( scholtze , 61 , 77 , 3 , false ) ;
3487: LD_EXP 88
3491: PPUSH
3492: LD_INT 61
3494: PPUSH
3495: LD_INT 77
3497: PPUSH
3498: LD_INT 3
3500: PPUSH
3501: LD_INT 0
3503: PPUSH
3504: CALL_OW 50
// end ; old_al2 :
3508: GO 3583
3510: LD_VAR 0 3
3514: DOUBLE
3515: EQUAL
3516: IFTRUE 3520
3518: GO 3582
3520: POP
// begin scholtze = createcharacter ( Scholtze ) ;
3521: LD_ADDR_EXP 88
3525: PUSH
3526: LD_STRING Scholtze
3528: PPUSH
3529: CALL_OW 34
3533: ST_TO_ADDR
// if getclass ( scholtze ) = class_bazooker then
3534: LD_EXP 88
3538: PPUSH
3539: CALL_OW 257
3543: PUSH
3544: LD_INT 9
3546: EQUAL
3547: IFFALSE 3561
// setclass ( scholtze , class_soldier ) ;
3549: LD_EXP 88
3553: PPUSH
3554: LD_INT 1
3556: PPUSH
3557: CALL_OW 336
// vedci = vedci ^ [ scholtze ] ;
3561: LD_ADDR_LOC 4
3565: PUSH
3566: LD_LOC 4
3570: PUSH
3571: LD_EXP 88
3575: PUSH
3576: EMPTY
3577: LIST
3578: ADD
3579: ST_TO_ADDR
// end ; end ;
3580: GO 3583
3582: POP
// end else
3583: GO 3585
// else
3585: GO 3594
// msg ( neny Scholtze ) ;
3587: LD_STRING neny Scholtze
3589: PPUSH
3590: CALL_OW 100
// kuzmov = 0 ;
3594: LD_ADDR_EXP 89
3598: PUSH
3599: LD_INT 0
3601: ST_TO_ADDR
// if testcharacters ( Kuzmov ) then
3602: LD_STRING Kuzmov
3604: PPUSH
3605: CALL_OW 28
3609: IFFALSE 3817
// if checkcharacterset ( Kuzmov ) then
3611: LD_STRING Kuzmov
3613: PPUSH
3614: CALL_OW 29
3618: IFFALSE 3815
// begin if testvariable ( kuzmov_side ) then
3620: LD_STRING kuzmov_side
3622: PPUSH
3623: CALL_OW 27
3627: IFFALSE 3648
// tmp = loadvariable ( kuzmov_side , - 1 ) else
3629: LD_ADDR_VAR 0 4
3633: PUSH
3634: LD_STRING kuzmov_side
3636: PPUSH
3637: LD_INT 1
3639: NEG
3640: PPUSH
3641: CALL_OW 30
3645: ST_TO_ADDR
3646: GO 3661
// buildquery ( neny kuzmov_side , [ OK ] ) ;
3648: LD_STRING neny kuzmov_side
3650: PPUSH
3651: LD_STRING OK
3653: PUSH
3654: EMPTY
3655: LIST
3656: PPUSH
3657: CALL_OW 99
// case tmp of old_al :
3661: LD_VAR 0 4
3665: PUSH
3666: LD_VAR 0 2
3670: DOUBLE
3671: EQUAL
3672: IFTRUE 3676
3674: GO 3740
3676: POP
// begin kuzmov = createcharacter ( Kuzmov ) ;
3677: LD_ADDR_EXP 89
3681: PUSH
3682: LD_STRING Kuzmov
3684: PPUSH
3685: CALL_OW 34
3689: ST_TO_ADDR
// if getclass ( kuzmov ) = class_bazooker then
3690: LD_EXP 89
3694: PPUSH
3695: CALL_OW 257
3699: PUSH
3700: LD_INT 9
3702: EQUAL
3703: IFFALSE 3717
// setclass ( kuzmov , class_soldier ) ;
3705: LD_EXP 89
3709: PPUSH
3710: LD_INT 1
3712: PPUSH
3713: CALL_OW 336
// placeunitxyr ( kuzmov , 61 , 77 , 3 , false ) ;
3717: LD_EXP 89
3721: PPUSH
3722: LD_INT 61
3724: PPUSH
3725: LD_INT 77
3727: PPUSH
3728: LD_INT 3
3730: PPUSH
3731: LD_INT 0
3733: PPUSH
3734: CALL_OW 50
// end ; old_al2 :
3738: GO 3813
3740: LD_VAR 0 3
3744: DOUBLE
3745: EQUAL
3746: IFTRUE 3750
3748: GO 3812
3750: POP
// begin kuzmov = createcharacter ( Kuzmov ) ;
3751: LD_ADDR_EXP 89
3755: PUSH
3756: LD_STRING Kuzmov
3758: PPUSH
3759: CALL_OW 34
3763: ST_TO_ADDR
// if getclass ( kuzmov ) = class_bazooker then
3764: LD_EXP 89
3768: PPUSH
3769: CALL_OW 257
3773: PUSH
3774: LD_INT 9
3776: EQUAL
3777: IFFALSE 3791
// setclass ( kuzmov , class_soldier ) ;
3779: LD_EXP 89
3783: PPUSH
3784: LD_INT 1
3786: PPUSH
3787: CALL_OW 336
// vedci = vedci ^ [ kuzmov ] ;
3791: LD_ADDR_LOC 4
3795: PUSH
3796: LD_LOC 4
3800: PUSH
3801: LD_EXP 89
3805: PUSH
3806: EMPTY
3807: LIST
3808: ADD
3809: ST_TO_ADDR
// end ; end ;
3810: GO 3813
3812: POP
// end else
3813: GO 3815
// else
3815: GO 3824
// msg ( neny Kuzmov ) ;
3817: LD_STRING neny Kuzmov
3819: PPUSH
3820: CALL_OW 100
// karam = 0 ;
3824: LD_ADDR_EXP 90
3828: PUSH
3829: LD_INT 0
3831: ST_TO_ADDR
// if testcharacters ( Karamazov ) then
3832: LD_STRING Karamazov
3834: PPUSH
3835: CALL_OW 28
3839: IFFALSE 4047
// if checkcharacterset ( Karamazov ) then
3841: LD_STRING Karamazov
3843: PPUSH
3844: CALL_OW 29
3848: IFFALSE 4045
// begin if testvariable ( karam_side ) then
3850: LD_STRING karam_side
3852: PPUSH
3853: CALL_OW 27
3857: IFFALSE 3878
// tmp = loadvariable ( karam_side , - 1 ) else
3859: LD_ADDR_VAR 0 4
3863: PUSH
3864: LD_STRING karam_side
3866: PPUSH
3867: LD_INT 1
3869: NEG
3870: PPUSH
3871: CALL_OW 30
3875: ST_TO_ADDR
3876: GO 3891
// buildquery ( neny karam_side , [ OK ] ) ;
3878: LD_STRING neny karam_side
3880: PPUSH
3881: LD_STRING OK
3883: PUSH
3884: EMPTY
3885: LIST
3886: PPUSH
3887: CALL_OW 99
// case tmp of old_al :
3891: LD_VAR 0 4
3895: PUSH
3896: LD_VAR 0 2
3900: DOUBLE
3901: EQUAL
3902: IFTRUE 3906
3904: GO 3970
3906: POP
// begin karam = createcharacter ( Karamazov ) ;
3907: LD_ADDR_EXP 90
3911: PUSH
3912: LD_STRING Karamazov
3914: PPUSH
3915: CALL_OW 34
3919: ST_TO_ADDR
// if getclass ( karam ) = class_bazooker then
3920: LD_EXP 90
3924: PPUSH
3925: CALL_OW 257
3929: PUSH
3930: LD_INT 9
3932: EQUAL
3933: IFFALSE 3947
// setclass ( karam , class_soldier ) ;
3935: LD_EXP 90
3939: PPUSH
3940: LD_INT 1
3942: PPUSH
3943: CALL_OW 336
// placeunitxyr ( karam , 61 , 77 , 3 , false ) ;
3947: LD_EXP 90
3951: PPUSH
3952: LD_INT 61
3954: PPUSH
3955: LD_INT 77
3957: PPUSH
3958: LD_INT 3
3960: PPUSH
3961: LD_INT 0
3963: PPUSH
3964: CALL_OW 50
// end ; old_al2 :
3968: GO 4043
3970: LD_VAR 0 3
3974: DOUBLE
3975: EQUAL
3976: IFTRUE 3980
3978: GO 4042
3980: POP
// begin karam = createcharacter ( Karamazov ) ;
3981: LD_ADDR_EXP 90
3985: PUSH
3986: LD_STRING Karamazov
3988: PPUSH
3989: CALL_OW 34
3993: ST_TO_ADDR
// if getclass ( karam ) = class_bazooker then
3994: LD_EXP 90
3998: PPUSH
3999: CALL_OW 257
4003: PUSH
4004: LD_INT 9
4006: EQUAL
4007: IFFALSE 4021
// setclass ( karam , class_soldier ) ;
4009: LD_EXP 90
4013: PPUSH
4014: LD_INT 1
4016: PPUSH
4017: CALL_OW 336
// vedci = vedci ^ [ karam ] ;
4021: LD_ADDR_LOC 4
4025: PUSH
4026: LD_LOC 4
4030: PUSH
4031: LD_EXP 90
4035: PUSH
4036: EMPTY
4037: LIST
4038: ADD
4039: ST_TO_ADDR
// end ; end ;
4040: GO 4043
4042: POP
// end else
4043: GO 4045
// else
4045: GO 4054
// msg ( neny Karamazov ) ;
4047: LD_STRING neny Karamazov
4049: PPUSH
4050: CALL_OW 100
// petrov = 0 ;
4054: LD_ADDR_EXP 91
4058: PUSH
4059: LD_INT 0
4061: ST_TO_ADDR
// if testcharacters ( Petrovova ) then
4062: LD_STRING Petrovova
4064: PPUSH
4065: CALL_OW 28
4069: IFFALSE 4277
// if checkcharacterset ( Petrovova ) then
4071: LD_STRING Petrovova
4073: PPUSH
4074: CALL_OW 29
4078: IFFALSE 4275
// begin if testvariable ( petrov_side ) then
4080: LD_STRING petrov_side
4082: PPUSH
4083: CALL_OW 27
4087: IFFALSE 4108
// tmp = loadvariable ( petrov_side , - 1 ) else
4089: LD_ADDR_VAR 0 4
4093: PUSH
4094: LD_STRING petrov_side
4096: PPUSH
4097: LD_INT 1
4099: NEG
4100: PPUSH
4101: CALL_OW 30
4105: ST_TO_ADDR
4106: GO 4121
// buildquery ( neny petrov_side , [ OK ] ) ;
4108: LD_STRING neny petrov_side
4110: PPUSH
4111: LD_STRING OK
4113: PUSH
4114: EMPTY
4115: LIST
4116: PPUSH
4117: CALL_OW 99
// case tmp of old_al :
4121: LD_VAR 0 4
4125: PUSH
4126: LD_VAR 0 2
4130: DOUBLE
4131: EQUAL
4132: IFTRUE 4136
4134: GO 4200
4136: POP
// begin petrov = createcharacter ( Petrovova ) ;
4137: LD_ADDR_EXP 91
4141: PUSH
4142: LD_STRING Petrovova
4144: PPUSH
4145: CALL_OW 34
4149: ST_TO_ADDR
// if getclass ( petrov ) = class_bazooker then
4150: LD_EXP 91
4154: PPUSH
4155: CALL_OW 257
4159: PUSH
4160: LD_INT 9
4162: EQUAL
4163: IFFALSE 4177
// setclass ( petrov , class_soldier ) ;
4165: LD_EXP 91
4169: PPUSH
4170: LD_INT 1
4172: PPUSH
4173: CALL_OW 336
// placeunitxyr ( petrov , 61 , 77 , 3 , false ) ;
4177: LD_EXP 91
4181: PPUSH
4182: LD_INT 61
4184: PPUSH
4185: LD_INT 77
4187: PPUSH
4188: LD_INT 3
4190: PPUSH
4191: LD_INT 0
4193: PPUSH
4194: CALL_OW 50
// end ; old_al2 :
4198: GO 4273
4200: LD_VAR 0 3
4204: DOUBLE
4205: EQUAL
4206: IFTRUE 4210
4208: GO 4272
4210: POP
// begin petrov = createcharacter ( Petrovova ) ;
4211: LD_ADDR_EXP 91
4215: PUSH
4216: LD_STRING Petrovova
4218: PPUSH
4219: CALL_OW 34
4223: ST_TO_ADDR
// if getclass ( petrov ) = class_bazooker then
4224: LD_EXP 91
4228: PPUSH
4229: CALL_OW 257
4233: PUSH
4234: LD_INT 9
4236: EQUAL
4237: IFFALSE 4251
// setclass ( petrov , class_soldier ) ;
4239: LD_EXP 91
4243: PPUSH
4244: LD_INT 1
4246: PPUSH
4247: CALL_OW 336
// vedci = vedci ^ [ petrov ] ;
4251: LD_ADDR_LOC 4
4255: PUSH
4256: LD_LOC 4
4260: PUSH
4261: LD_EXP 91
4265: PUSH
4266: EMPTY
4267: LIST
4268: ADD
4269: ST_TO_ADDR
// end ; end ;
4270: GO 4273
4272: POP
// end else
4273: GO 4275
// else
4275: GO 4284
// msg ( neny Petrovova ) ;
4277: LD_STRING neny Petrovova
4279: PPUSH
4280: CALL_OW 100
// gleb = 0 ;
4284: LD_ADDR_EXP 92
4288: PUSH
4289: LD_INT 0
4291: ST_TO_ADDR
// if testcharacters ( Gleb ) then
4292: LD_STRING Gleb
4294: PPUSH
4295: CALL_OW 28
4299: IFFALSE 4507
// if checkcharacterset ( Gleb ) then
4301: LD_STRING Gleb
4303: PPUSH
4304: CALL_OW 29
4308: IFFALSE 4505
// begin if testvariable ( gleb_side ) then
4310: LD_STRING gleb_side
4312: PPUSH
4313: CALL_OW 27
4317: IFFALSE 4338
// tmp = loadvariable ( gleb_side , - 1 ) else
4319: LD_ADDR_VAR 0 4
4323: PUSH
4324: LD_STRING gleb_side
4326: PPUSH
4327: LD_INT 1
4329: NEG
4330: PPUSH
4331: CALL_OW 30
4335: ST_TO_ADDR
4336: GO 4351
// buildquery ( neny gleb_side , [ OK ] ) ;
4338: LD_STRING neny gleb_side
4340: PPUSH
4341: LD_STRING OK
4343: PUSH
4344: EMPTY
4345: LIST
4346: PPUSH
4347: CALL_OW 99
// case tmp of old_al :
4351: LD_VAR 0 4
4355: PUSH
4356: LD_VAR 0 2
4360: DOUBLE
4361: EQUAL
4362: IFTRUE 4366
4364: GO 4430
4366: POP
// begin gleb = createcharacter ( Gleb ) ;
4367: LD_ADDR_EXP 92
4371: PUSH
4372: LD_STRING Gleb
4374: PPUSH
4375: CALL_OW 34
4379: ST_TO_ADDR
// if getclass ( gleb ) = class_bazooker then
4380: LD_EXP 92
4384: PPUSH
4385: CALL_OW 257
4389: PUSH
4390: LD_INT 9
4392: EQUAL
4393: IFFALSE 4407
// setclass ( gleb , class_soldier ) ;
4395: LD_EXP 92
4399: PPUSH
4400: LD_INT 1
4402: PPUSH
4403: CALL_OW 336
// placeunitxyr ( gleb , 61 , 77 , 3 , false ) ;
4407: LD_EXP 92
4411: PPUSH
4412: LD_INT 61
4414: PPUSH
4415: LD_INT 77
4417: PPUSH
4418: LD_INT 3
4420: PPUSH
4421: LD_INT 0
4423: PPUSH
4424: CALL_OW 50
// end ; old_al2 :
4428: GO 4503
4430: LD_VAR 0 3
4434: DOUBLE
4435: EQUAL
4436: IFTRUE 4440
4438: GO 4502
4440: POP
// begin gleb = createcharacter ( Gleb ) ;
4441: LD_ADDR_EXP 92
4445: PUSH
4446: LD_STRING Gleb
4448: PPUSH
4449: CALL_OW 34
4453: ST_TO_ADDR
// if getclass ( gleb ) = class_bazooker then
4454: LD_EXP 92
4458: PPUSH
4459: CALL_OW 257
4463: PUSH
4464: LD_INT 9
4466: EQUAL
4467: IFFALSE 4481
// setclass ( gleb , class_soldier ) ;
4469: LD_EXP 92
4473: PPUSH
4474: LD_INT 1
4476: PPUSH
4477: CALL_OW 336
// vedci = vedci ^ [ gleb ] ;
4481: LD_ADDR_LOC 4
4485: PUSH
4486: LD_LOC 4
4490: PUSH
4491: LD_EXP 92
4495: PUSH
4496: EMPTY
4497: LIST
4498: ADD
4499: ST_TO_ADDR
// end ; end ;
4500: GO 4503
4502: POP
// end else
4503: GO 4505
// else
4505: GO 4514
// msg ( neny Gleb ) ;
4507: LD_STRING neny Gleb
4509: PPUSH
4510: CALL_OW 100
// petros = 0 ;
4514: LD_ADDR_EXP 93
4518: PUSH
4519: LD_INT 0
4521: ST_TO_ADDR
// if testcharacters ( Petrosyan ) then
4522: LD_STRING Petrosyan
4524: PPUSH
4525: CALL_OW 28
4529: IFFALSE 4737
// if checkcharacterset ( Petrosyan ) then
4531: LD_STRING Petrosyan
4533: PPUSH
4534: CALL_OW 29
4538: IFFALSE 4735
// begin if testvariable ( petros_side ) then
4540: LD_STRING petros_side
4542: PPUSH
4543: CALL_OW 27
4547: IFFALSE 4568
// tmp = loadvariable ( petros_side , - 1 ) else
4549: LD_ADDR_VAR 0 4
4553: PUSH
4554: LD_STRING petros_side
4556: PPUSH
4557: LD_INT 1
4559: NEG
4560: PPUSH
4561: CALL_OW 30
4565: ST_TO_ADDR
4566: GO 4581
// buildquery ( neny petros_side , [ OK ] ) ;
4568: LD_STRING neny petros_side
4570: PPUSH
4571: LD_STRING OK
4573: PUSH
4574: EMPTY
4575: LIST
4576: PPUSH
4577: CALL_OW 99
// case tmp of old_al :
4581: LD_VAR 0 4
4585: PUSH
4586: LD_VAR 0 2
4590: DOUBLE
4591: EQUAL
4592: IFTRUE 4596
4594: GO 4660
4596: POP
// begin petros = createcharacter ( Petrosyan ) ;
4597: LD_ADDR_EXP 93
4601: PUSH
4602: LD_STRING Petrosyan
4604: PPUSH
4605: CALL_OW 34
4609: ST_TO_ADDR
// if getclass ( petros ) = class_bazooker then
4610: LD_EXP 93
4614: PPUSH
4615: CALL_OW 257
4619: PUSH
4620: LD_INT 9
4622: EQUAL
4623: IFFALSE 4637
// setclass ( petros , class_soldier ) ;
4625: LD_EXP 93
4629: PPUSH
4630: LD_INT 1
4632: PPUSH
4633: CALL_OW 336
// placeunitxyr ( petros , 61 , 77 , 3 , false ) ;
4637: LD_EXP 93
4641: PPUSH
4642: LD_INT 61
4644: PPUSH
4645: LD_INT 77
4647: PPUSH
4648: LD_INT 3
4650: PPUSH
4651: LD_INT 0
4653: PPUSH
4654: CALL_OW 50
// end ; old_al2 :
4658: GO 4733
4660: LD_VAR 0 3
4664: DOUBLE
4665: EQUAL
4666: IFTRUE 4670
4668: GO 4732
4670: POP
// begin petros = createcharacter ( Petrosyan ) ;
4671: LD_ADDR_EXP 93
4675: PUSH
4676: LD_STRING Petrosyan
4678: PPUSH
4679: CALL_OW 34
4683: ST_TO_ADDR
// if getclass ( petros ) = class_bazooker then
4684: LD_EXP 93
4688: PPUSH
4689: CALL_OW 257
4693: PUSH
4694: LD_INT 9
4696: EQUAL
4697: IFFALSE 4711
// setclass ( petros , class_soldier ) ;
4699: LD_EXP 93
4703: PPUSH
4704: LD_INT 1
4706: PPUSH
4707: CALL_OW 336
// vedci = vedci ^ [ petros ] ;
4711: LD_ADDR_LOC 4
4715: PUSH
4716: LD_LOC 4
4720: PUSH
4721: LD_EXP 93
4725: PUSH
4726: EMPTY
4727: LIST
4728: ADD
4729: ST_TO_ADDR
// end ; end ;
4730: GO 4733
4732: POP
// end else
4733: GO 4735
// else
4735: GO 4744
// msg ( neny Petrosyan ) ;
4737: LD_STRING neny Petrosyan
4739: PPUSH
4740: CALL_OW 100
// lipshchin = 0 ;
4744: LD_ADDR_EXP 94
4748: PUSH
4749: LD_INT 0
4751: ST_TO_ADDR
// if testcharacters ( Lipshchin ) then
4752: LD_STRING Lipshchin
4754: PPUSH
4755: CALL_OW 28
4759: IFFALSE 4967
// if checkcharacterset ( Lipshchin ) then
4761: LD_STRING Lipshchin
4763: PPUSH
4764: CALL_OW 29
4768: IFFALSE 4965
// begin if testvariable ( lipshchin_side ) then
4770: LD_STRING lipshchin_side
4772: PPUSH
4773: CALL_OW 27
4777: IFFALSE 4798
// tmp = loadvariable ( lipshchin_side , - 1 ) else
4779: LD_ADDR_VAR 0 4
4783: PUSH
4784: LD_STRING lipshchin_side
4786: PPUSH
4787: LD_INT 1
4789: NEG
4790: PPUSH
4791: CALL_OW 30
4795: ST_TO_ADDR
4796: GO 4811
// buildquery ( neny lipshchin_side , [ OK ] ) ;
4798: LD_STRING neny lipshchin_side
4800: PPUSH
4801: LD_STRING OK
4803: PUSH
4804: EMPTY
4805: LIST
4806: PPUSH
4807: CALL_OW 99
// case tmp of old_al :
4811: LD_VAR 0 4
4815: PUSH
4816: LD_VAR 0 2
4820: DOUBLE
4821: EQUAL
4822: IFTRUE 4826
4824: GO 4890
4826: POP
// begin lipshchin = createcharacter ( Lipshchin ) ;
4827: LD_ADDR_EXP 94
4831: PUSH
4832: LD_STRING Lipshchin
4834: PPUSH
4835: CALL_OW 34
4839: ST_TO_ADDR
// if getclass ( lipshchin ) = class_bazooker then
4840: LD_EXP 94
4844: PPUSH
4845: CALL_OW 257
4849: PUSH
4850: LD_INT 9
4852: EQUAL
4853: IFFALSE 4867
// setclass ( lipshchin , class_soldier ) ;
4855: LD_EXP 94
4859: PPUSH
4860: LD_INT 1
4862: PPUSH
4863: CALL_OW 336
// placeunitxyr ( lipshchin , 61 , 77 , 3 , false ) ;
4867: LD_EXP 94
4871: PPUSH
4872: LD_INT 61
4874: PPUSH
4875: LD_INT 77
4877: PPUSH
4878: LD_INT 3
4880: PPUSH
4881: LD_INT 0
4883: PPUSH
4884: CALL_OW 50
// end ; old_al2 :
4888: GO 4963
4890: LD_VAR 0 3
4894: DOUBLE
4895: EQUAL
4896: IFTRUE 4900
4898: GO 4962
4900: POP
// begin lipshchin = createcharacter ( Lipshchin ) ;
4901: LD_ADDR_EXP 94
4905: PUSH
4906: LD_STRING Lipshchin
4908: PPUSH
4909: CALL_OW 34
4913: ST_TO_ADDR
// if getclass ( lipshchin ) = class_bazooker then
4914: LD_EXP 94
4918: PPUSH
4919: CALL_OW 257
4923: PUSH
4924: LD_INT 9
4926: EQUAL
4927: IFFALSE 4941
// setclass ( lipshchin , class_soldier ) ;
4929: LD_EXP 94
4933: PPUSH
4934: LD_INT 1
4936: PPUSH
4937: CALL_OW 336
// vedci = vedci ^ [ lipshchin ] ;
4941: LD_ADDR_LOC 4
4945: PUSH
4946: LD_LOC 4
4950: PUSH
4951: LD_EXP 94
4955: PUSH
4956: EMPTY
4957: LIST
4958: ADD
4959: ST_TO_ADDR
// end ; end ;
4960: GO 4963
4962: POP
// end else
4963: GO 4965
// else
4965: GO 4974
// msg ( neny Lipshchin ) ;
4967: LD_STRING neny Lipshchin
4969: PPUSH
4970: CALL_OW 100
// titov = 0 ;
4974: LD_ADDR_EXP 95
4978: PUSH
4979: LD_INT 0
4981: ST_TO_ADDR
// if testcharacters ( Titov ) then
4982: LD_STRING Titov
4984: PPUSH
4985: CALL_OW 28
4989: IFFALSE 5197
// if checkcharacterset ( Titov ) then
4991: LD_STRING Titov
4993: PPUSH
4994: CALL_OW 29
4998: IFFALSE 5195
// begin if testvariable ( titov_side ) then
5000: LD_STRING titov_side
5002: PPUSH
5003: CALL_OW 27
5007: IFFALSE 5028
// tmp = loadvariable ( titov_side , - 1 ) else
5009: LD_ADDR_VAR 0 4
5013: PUSH
5014: LD_STRING titov_side
5016: PPUSH
5017: LD_INT 1
5019: NEG
5020: PPUSH
5021: CALL_OW 30
5025: ST_TO_ADDR
5026: GO 5041
// buildquery ( neny titov_side , [ OK ] ) ;
5028: LD_STRING neny titov_side
5030: PPUSH
5031: LD_STRING OK
5033: PUSH
5034: EMPTY
5035: LIST
5036: PPUSH
5037: CALL_OW 99
// case tmp of old_al :
5041: LD_VAR 0 4
5045: PUSH
5046: LD_VAR 0 2
5050: DOUBLE
5051: EQUAL
5052: IFTRUE 5056
5054: GO 5120
5056: POP
// begin titov = createcharacter ( Titov ) ;
5057: LD_ADDR_EXP 95
5061: PUSH
5062: LD_STRING Titov
5064: PPUSH
5065: CALL_OW 34
5069: ST_TO_ADDR
// if getclass ( titov ) = class_bazooker then
5070: LD_EXP 95
5074: PPUSH
5075: CALL_OW 257
5079: PUSH
5080: LD_INT 9
5082: EQUAL
5083: IFFALSE 5097
// setclass ( titov , class_soldier ) ;
5085: LD_EXP 95
5089: PPUSH
5090: LD_INT 1
5092: PPUSH
5093: CALL_OW 336
// placeunitxyr ( titov , 61 , 77 , 3 , false ) ;
5097: LD_EXP 95
5101: PPUSH
5102: LD_INT 61
5104: PPUSH
5105: LD_INT 77
5107: PPUSH
5108: LD_INT 3
5110: PPUSH
5111: LD_INT 0
5113: PPUSH
5114: CALL_OW 50
// end ; old_al2 :
5118: GO 5193
5120: LD_VAR 0 3
5124: DOUBLE
5125: EQUAL
5126: IFTRUE 5130
5128: GO 5192
5130: POP
// begin titov = createcharacter ( Titov ) ;
5131: LD_ADDR_EXP 95
5135: PUSH
5136: LD_STRING Titov
5138: PPUSH
5139: CALL_OW 34
5143: ST_TO_ADDR
// if getclass ( titov ) = class_bazooker then
5144: LD_EXP 95
5148: PPUSH
5149: CALL_OW 257
5153: PUSH
5154: LD_INT 9
5156: EQUAL
5157: IFFALSE 5171
// setclass ( titov , class_soldier ) ;
5159: LD_EXP 95
5163: PPUSH
5164: LD_INT 1
5166: PPUSH
5167: CALL_OW 336
// vedci = vedci ^ [ titov ] ;
5171: LD_ADDR_LOC 4
5175: PUSH
5176: LD_LOC 4
5180: PUSH
5181: LD_EXP 95
5185: PUSH
5186: EMPTY
5187: LIST
5188: ADD
5189: ST_TO_ADDR
// end ; end ;
5190: GO 5193
5192: POP
// end else
5193: GO 5195
// else
5195: GO 5204
// msg ( neny Titov ) ;
5197: LD_STRING neny Titov
5199: PPUSH
5200: CALL_OW 100
// dolgov = 0 ;
5204: LD_ADDR_EXP 96
5208: PUSH
5209: LD_INT 0
5211: ST_TO_ADDR
// if testcharacters ( Dolgov ) then
5212: LD_STRING Dolgov
5214: PPUSH
5215: CALL_OW 28
5219: IFFALSE 5427
// if checkcharacterset ( Dolgov ) then
5221: LD_STRING Dolgov
5223: PPUSH
5224: CALL_OW 29
5228: IFFALSE 5425
// begin if testvariable ( dolgov_side ) then
5230: LD_STRING dolgov_side
5232: PPUSH
5233: CALL_OW 27
5237: IFFALSE 5258
// tmp = loadvariable ( dolgov_side , - 1 ) else
5239: LD_ADDR_VAR 0 4
5243: PUSH
5244: LD_STRING dolgov_side
5246: PPUSH
5247: LD_INT 1
5249: NEG
5250: PPUSH
5251: CALL_OW 30
5255: ST_TO_ADDR
5256: GO 5271
// buildquery ( neny dolgov_side , [ OK ] ) ;
5258: LD_STRING neny dolgov_side
5260: PPUSH
5261: LD_STRING OK
5263: PUSH
5264: EMPTY
5265: LIST
5266: PPUSH
5267: CALL_OW 99
// case tmp of old_al :
5271: LD_VAR 0 4
5275: PUSH
5276: LD_VAR 0 2
5280: DOUBLE
5281: EQUAL
5282: IFTRUE 5286
5284: GO 5350
5286: POP
// begin dolgov = createcharacter ( Dolgov ) ;
5287: LD_ADDR_EXP 96
5291: PUSH
5292: LD_STRING Dolgov
5294: PPUSH
5295: CALL_OW 34
5299: ST_TO_ADDR
// if getclass ( dolgov ) = class_bazooker then
5300: LD_EXP 96
5304: PPUSH
5305: CALL_OW 257
5309: PUSH
5310: LD_INT 9
5312: EQUAL
5313: IFFALSE 5327
// setclass ( dolgov , class_soldier ) ;
5315: LD_EXP 96
5319: PPUSH
5320: LD_INT 1
5322: PPUSH
5323: CALL_OW 336
// placeunitxyr ( dolgov , 61 , 77 , 3 , false ) ;
5327: LD_EXP 96
5331: PPUSH
5332: LD_INT 61
5334: PPUSH
5335: LD_INT 77
5337: PPUSH
5338: LD_INT 3
5340: PPUSH
5341: LD_INT 0
5343: PPUSH
5344: CALL_OW 50
// end ; old_al2 :
5348: GO 5423
5350: LD_VAR 0 3
5354: DOUBLE
5355: EQUAL
5356: IFTRUE 5360
5358: GO 5422
5360: POP
// begin dolgov = createcharacter ( Dolgov ) ;
5361: LD_ADDR_EXP 96
5365: PUSH
5366: LD_STRING Dolgov
5368: PPUSH
5369: CALL_OW 34
5373: ST_TO_ADDR
// if getclass ( dolgov ) = class_bazooker then
5374: LD_EXP 96
5378: PPUSH
5379: CALL_OW 257
5383: PUSH
5384: LD_INT 9
5386: EQUAL
5387: IFFALSE 5401
// setclass ( dolgov , class_soldier ) ;
5389: LD_EXP 96
5393: PPUSH
5394: LD_INT 1
5396: PPUSH
5397: CALL_OW 336
// vedci = vedci ^ [ dolgov ] ;
5401: LD_ADDR_LOC 4
5405: PUSH
5406: LD_LOC 4
5410: PUSH
5411: LD_EXP 96
5415: PUSH
5416: EMPTY
5417: LIST
5418: ADD
5419: ST_TO_ADDR
// end ; end ;
5420: GO 5423
5422: POP
// end else
5423: GO 5425
// else
5425: GO 5434
// msg ( neny Dolgov ) ;
5427: LD_STRING neny Dolgov
5429: PPUSH
5430: CALL_OW 100
// xavier = 0 ;
5434: LD_ADDR_EXP 97
5438: PUSH
5439: LD_INT 0
5441: ST_TO_ADDR
// if testcharacters ( Xavier ) then
5442: LD_STRING Xavier
5444: PPUSH
5445: CALL_OW 28
5449: IFFALSE 5657
// if checkcharacterset ( Xavier ) then
5451: LD_STRING Xavier
5453: PPUSH
5454: CALL_OW 29
5458: IFFALSE 5655
// begin if testvariable ( xavier_side ) then
5460: LD_STRING xavier_side
5462: PPUSH
5463: CALL_OW 27
5467: IFFALSE 5488
// tmp = loadvariable ( xavier_side , - 1 ) else
5469: LD_ADDR_VAR 0 4
5473: PUSH
5474: LD_STRING xavier_side
5476: PPUSH
5477: LD_INT 1
5479: NEG
5480: PPUSH
5481: CALL_OW 30
5485: ST_TO_ADDR
5486: GO 5501
// buildquery ( neny xavier_side , [ OK ] ) ;
5488: LD_STRING neny xavier_side
5490: PPUSH
5491: LD_STRING OK
5493: PUSH
5494: EMPTY
5495: LIST
5496: PPUSH
5497: CALL_OW 99
// case tmp of old_al :
5501: LD_VAR 0 4
5505: PUSH
5506: LD_VAR 0 2
5510: DOUBLE
5511: EQUAL
5512: IFTRUE 5516
5514: GO 5580
5516: POP
// begin xavier = createcharacter ( Xavier ) ;
5517: LD_ADDR_EXP 97
5521: PUSH
5522: LD_STRING Xavier
5524: PPUSH
5525: CALL_OW 34
5529: ST_TO_ADDR
// if getclass ( xavier ) = class_bazooker then
5530: LD_EXP 97
5534: PPUSH
5535: CALL_OW 257
5539: PUSH
5540: LD_INT 9
5542: EQUAL
5543: IFFALSE 5557
// setclass ( xavier , class_soldier ) ;
5545: LD_EXP 97
5549: PPUSH
5550: LD_INT 1
5552: PPUSH
5553: CALL_OW 336
// placeunitxyr ( xavier , 61 , 77 , 3 , false ) ;
5557: LD_EXP 97
5561: PPUSH
5562: LD_INT 61
5564: PPUSH
5565: LD_INT 77
5567: PPUSH
5568: LD_INT 3
5570: PPUSH
5571: LD_INT 0
5573: PPUSH
5574: CALL_OW 50
// end ; old_al2 :
5578: GO 5653
5580: LD_VAR 0 3
5584: DOUBLE
5585: EQUAL
5586: IFTRUE 5590
5588: GO 5652
5590: POP
// begin xavier = createcharacter ( Xavier ) ;
5591: LD_ADDR_EXP 97
5595: PUSH
5596: LD_STRING Xavier
5598: PPUSH
5599: CALL_OW 34
5603: ST_TO_ADDR
// if getclass ( xavier ) = class_bazooker then
5604: LD_EXP 97
5608: PPUSH
5609: CALL_OW 257
5613: PUSH
5614: LD_INT 9
5616: EQUAL
5617: IFFALSE 5631
// setclass ( xavier , class_soldier ) ;
5619: LD_EXP 97
5623: PPUSH
5624: LD_INT 1
5626: PPUSH
5627: CALL_OW 336
// vedci = vedci ^ [ xavier ] ;
5631: LD_ADDR_LOC 4
5635: PUSH
5636: LD_LOC 4
5640: PUSH
5641: LD_EXP 97
5645: PUSH
5646: EMPTY
5647: LIST
5648: ADD
5649: ST_TO_ADDR
// end ; end ;
5650: GO 5653
5652: POP
// end else
5653: GO 5655
// else
5655: GO 5664
// msg ( neny Xavier ) ;
5657: LD_STRING neny Xavier
5659: PPUSH
5660: CALL_OW 100
// oblukov = 0 ;
5664: LD_ADDR_EXP 98
5668: PUSH
5669: LD_INT 0
5671: ST_TO_ADDR
// if testcharacters ( Oblukov ) then
5672: LD_STRING Oblukov
5674: PPUSH
5675: CALL_OW 28
5679: IFFALSE 5887
// if checkcharacterset ( Oblukov ) then
5681: LD_STRING Oblukov
5683: PPUSH
5684: CALL_OW 29
5688: IFFALSE 5885
// begin if testvariable ( oblukov_side ) then
5690: LD_STRING oblukov_side
5692: PPUSH
5693: CALL_OW 27
5697: IFFALSE 5718
// tmp = loadvariable ( oblukov_side , - 1 ) else
5699: LD_ADDR_VAR 0 4
5703: PUSH
5704: LD_STRING oblukov_side
5706: PPUSH
5707: LD_INT 1
5709: NEG
5710: PPUSH
5711: CALL_OW 30
5715: ST_TO_ADDR
5716: GO 5731
// buildquery ( neny oblukov_side , [ OK ] ) ;
5718: LD_STRING neny oblukov_side
5720: PPUSH
5721: LD_STRING OK
5723: PUSH
5724: EMPTY
5725: LIST
5726: PPUSH
5727: CALL_OW 99
// case tmp of old_al :
5731: LD_VAR 0 4
5735: PUSH
5736: LD_VAR 0 2
5740: DOUBLE
5741: EQUAL
5742: IFTRUE 5746
5744: GO 5810
5746: POP
// begin oblukov = createcharacter ( Oblukov ) ;
5747: LD_ADDR_EXP 98
5751: PUSH
5752: LD_STRING Oblukov
5754: PPUSH
5755: CALL_OW 34
5759: ST_TO_ADDR
// if getclass ( oblukov ) = class_bazooker then
5760: LD_EXP 98
5764: PPUSH
5765: CALL_OW 257
5769: PUSH
5770: LD_INT 9
5772: EQUAL
5773: IFFALSE 5787
// setclass ( oblukov , class_soldier ) ;
5775: LD_EXP 98
5779: PPUSH
5780: LD_INT 1
5782: PPUSH
5783: CALL_OW 336
// placeunitxyr ( oblukov , 61 , 77 , 3 , false ) ;
5787: LD_EXP 98
5791: PPUSH
5792: LD_INT 61
5794: PPUSH
5795: LD_INT 77
5797: PPUSH
5798: LD_INT 3
5800: PPUSH
5801: LD_INT 0
5803: PPUSH
5804: CALL_OW 50
// end ; old_al2 :
5808: GO 5883
5810: LD_VAR 0 3
5814: DOUBLE
5815: EQUAL
5816: IFTRUE 5820
5818: GO 5882
5820: POP
// begin oblukov = createcharacter ( Oblukov ) ;
5821: LD_ADDR_EXP 98
5825: PUSH
5826: LD_STRING Oblukov
5828: PPUSH
5829: CALL_OW 34
5833: ST_TO_ADDR
// if getclass ( oblukov ) = class_bazooker then
5834: LD_EXP 98
5838: PPUSH
5839: CALL_OW 257
5843: PUSH
5844: LD_INT 9
5846: EQUAL
5847: IFFALSE 5861
// setclass ( oblukov , class_soldier ) ;
5849: LD_EXP 98
5853: PPUSH
5854: LD_INT 1
5856: PPUSH
5857: CALL_OW 336
// vedci = vedci ^ [ oblukov ] ;
5861: LD_ADDR_LOC 4
5865: PUSH
5866: LD_LOC 4
5870: PUSH
5871: LD_EXP 98
5875: PUSH
5876: EMPTY
5877: LIST
5878: ADD
5879: ST_TO_ADDR
// end ; end ;
5880: GO 5883
5882: POP
// end else
5883: GO 5885
// else
5885: GO 5894
// msg ( neny Oblukov ) ;
5887: LD_STRING neny Oblukov
5889: PPUSH
5890: CALL_OW 100
// kozlov = 0 ;
5894: LD_ADDR_EXP 99
5898: PUSH
5899: LD_INT 0
5901: ST_TO_ADDR
// if testcharacters ( Kozlov ) then
5902: LD_STRING Kozlov
5904: PPUSH
5905: CALL_OW 28
5909: IFFALSE 6117
// if checkcharacterset ( Kozlov ) then
5911: LD_STRING Kozlov
5913: PPUSH
5914: CALL_OW 29
5918: IFFALSE 6115
// begin if testvariable ( kozlov_side ) then
5920: LD_STRING kozlov_side
5922: PPUSH
5923: CALL_OW 27
5927: IFFALSE 5948
// tmp = loadvariable ( kozlov_side , - 1 ) else
5929: LD_ADDR_VAR 0 4
5933: PUSH
5934: LD_STRING kozlov_side
5936: PPUSH
5937: LD_INT 1
5939: NEG
5940: PPUSH
5941: CALL_OW 30
5945: ST_TO_ADDR
5946: GO 5961
// buildquery ( neny kozlov_side , [ OK ] ) ;
5948: LD_STRING neny kozlov_side
5950: PPUSH
5951: LD_STRING OK
5953: PUSH
5954: EMPTY
5955: LIST
5956: PPUSH
5957: CALL_OW 99
// case tmp of old_al :
5961: LD_VAR 0 4
5965: PUSH
5966: LD_VAR 0 2
5970: DOUBLE
5971: EQUAL
5972: IFTRUE 5976
5974: GO 6040
5976: POP
// begin kozlov = createcharacter ( Kozlov ) ;
5977: LD_ADDR_EXP 99
5981: PUSH
5982: LD_STRING Kozlov
5984: PPUSH
5985: CALL_OW 34
5989: ST_TO_ADDR
// if getclass ( kozlov ) = class_bazooker then
5990: LD_EXP 99
5994: PPUSH
5995: CALL_OW 257
5999: PUSH
6000: LD_INT 9
6002: EQUAL
6003: IFFALSE 6017
// setclass ( kozlov , class_soldier ) ;
6005: LD_EXP 99
6009: PPUSH
6010: LD_INT 1
6012: PPUSH
6013: CALL_OW 336
// placeunitxyr ( kozlov , 61 , 77 , 3 , false ) ;
6017: LD_EXP 99
6021: PPUSH
6022: LD_INT 61
6024: PPUSH
6025: LD_INT 77
6027: PPUSH
6028: LD_INT 3
6030: PPUSH
6031: LD_INT 0
6033: PPUSH
6034: CALL_OW 50
// end ; old_al2 :
6038: GO 6113
6040: LD_VAR 0 3
6044: DOUBLE
6045: EQUAL
6046: IFTRUE 6050
6048: GO 6112
6050: POP
// begin kozlov = createcharacter ( Kozlov ) ;
6051: LD_ADDR_EXP 99
6055: PUSH
6056: LD_STRING Kozlov
6058: PPUSH
6059: CALL_OW 34
6063: ST_TO_ADDR
// if getclass ( kozlov ) = class_bazooker then
6064: LD_EXP 99
6068: PPUSH
6069: CALL_OW 257
6073: PUSH
6074: LD_INT 9
6076: EQUAL
6077: IFFALSE 6091
// setclass ( kozlov , class_soldier ) ;
6079: LD_EXP 99
6083: PPUSH
6084: LD_INT 1
6086: PPUSH
6087: CALL_OW 336
// vedci = vedci ^ [ kozlov ] ;
6091: LD_ADDR_LOC 4
6095: PUSH
6096: LD_LOC 4
6100: PUSH
6101: LD_EXP 99
6105: PUSH
6106: EMPTY
6107: LIST
6108: ADD
6109: ST_TO_ADDR
// end ; end ;
6110: GO 6113
6112: POP
// end else
6113: GO 6115
// else
6115: GO 6124
// msg ( neny Kozlov ) ;
6117: LD_STRING neny Kozlov
6119: PPUSH
6120: CALL_OW 100
// kapitsova = 0 ;
6124: LD_ADDR_EXP 100
6128: PUSH
6129: LD_INT 0
6131: ST_TO_ADDR
// if testcharacters ( Kapitsova ) then
6132: LD_STRING Kapitsova
6134: PPUSH
6135: CALL_OW 28
6139: IFFALSE 6347
// if checkcharacterset ( Kapitsova ) then
6141: LD_STRING Kapitsova
6143: PPUSH
6144: CALL_OW 29
6148: IFFALSE 6345
// begin if testvariable ( kapitsova_side ) then
6150: LD_STRING kapitsova_side
6152: PPUSH
6153: CALL_OW 27
6157: IFFALSE 6178
// tmp = loadvariable ( kapitsova_side , - 1 ) else
6159: LD_ADDR_VAR 0 4
6163: PUSH
6164: LD_STRING kapitsova_side
6166: PPUSH
6167: LD_INT 1
6169: NEG
6170: PPUSH
6171: CALL_OW 30
6175: ST_TO_ADDR
6176: GO 6191
// buildquery ( neny kapitsova_side , [ OK ] ) ;
6178: LD_STRING neny kapitsova_side
6180: PPUSH
6181: LD_STRING OK
6183: PUSH
6184: EMPTY
6185: LIST
6186: PPUSH
6187: CALL_OW 99
// case tmp of old_al :
6191: LD_VAR 0 4
6195: PUSH
6196: LD_VAR 0 2
6200: DOUBLE
6201: EQUAL
6202: IFTRUE 6206
6204: GO 6270
6206: POP
// begin kapitsova = createcharacter ( Kapitsova ) ;
6207: LD_ADDR_EXP 100
6211: PUSH
6212: LD_STRING Kapitsova
6214: PPUSH
6215: CALL_OW 34
6219: ST_TO_ADDR
// if getclass ( kapitsova ) = class_bazooker then
6220: LD_EXP 100
6224: PPUSH
6225: CALL_OW 257
6229: PUSH
6230: LD_INT 9
6232: EQUAL
6233: IFFALSE 6247
// setclass ( kapitsova , class_soldier ) ;
6235: LD_EXP 100
6239: PPUSH
6240: LD_INT 1
6242: PPUSH
6243: CALL_OW 336
// placeunitxyr ( kapitsova , 61 , 77 , 3 , false ) ;
6247: LD_EXP 100
6251: PPUSH
6252: LD_INT 61
6254: PPUSH
6255: LD_INT 77
6257: PPUSH
6258: LD_INT 3
6260: PPUSH
6261: LD_INT 0
6263: PPUSH
6264: CALL_OW 50
// end ; old_al2 :
6268: GO 6343
6270: LD_VAR 0 3
6274: DOUBLE
6275: EQUAL
6276: IFTRUE 6280
6278: GO 6342
6280: POP
// begin kapitsova = createcharacter ( Kapitsova ) ;
6281: LD_ADDR_EXP 100
6285: PUSH
6286: LD_STRING Kapitsova
6288: PPUSH
6289: CALL_OW 34
6293: ST_TO_ADDR
// if getclass ( kapitsova ) = class_bazooker then
6294: LD_EXP 100
6298: PPUSH
6299: CALL_OW 257
6303: PUSH
6304: LD_INT 9
6306: EQUAL
6307: IFFALSE 6321
// setclass ( kapitsova , class_soldier ) ;
6309: LD_EXP 100
6313: PPUSH
6314: LD_INT 1
6316: PPUSH
6317: CALL_OW 336
// vedci = vedci ^ [ kapitsova ] ;
6321: LD_ADDR_LOC 4
6325: PUSH
6326: LD_LOC 4
6330: PUSH
6331: LD_EXP 100
6335: PUSH
6336: EMPTY
6337: LIST
6338: ADD
6339: ST_TO_ADDR
// end ; end ;
6340: GO 6343
6342: POP
// end else
6343: GO 6345
// else
6345: GO 6354
// msg ( neny Kapitsova ) ;
6347: LD_STRING neny Kapitsova
6349: PPUSH
6350: CALL_OW 100
// gossud = 0 ;
6354: LD_ADDR_EXP 101
6358: PUSH
6359: LD_INT 0
6361: ST_TO_ADDR
// if testcharacters ( Gossudarov ) then
6362: LD_STRING Gossudarov
6364: PPUSH
6365: CALL_OW 28
6369: IFFALSE 6546
// if checkcharacterset ( Gossudarov ) then
6371: LD_STRING Gossudarov
6373: PPUSH
6374: CALL_OW 29
6378: IFFALSE 6544
// begin tmp = old_al2 ;
6380: LD_ADDR_VAR 0 4
6384: PUSH
6385: LD_VAR 0 3
6389: ST_TO_ADDR
// case tmp of old_al :
6390: LD_VAR 0 4
6394: PUSH
6395: LD_VAR 0 2
6399: DOUBLE
6400: EQUAL
6401: IFTRUE 6405
6403: GO 6469
6405: POP
// begin gossud = createcharacter ( Gossudarov ) ;
6406: LD_ADDR_EXP 101
6410: PUSH
6411: LD_STRING Gossudarov
6413: PPUSH
6414: CALL_OW 34
6418: ST_TO_ADDR
// if getclass ( gossud ) = class_bazooker then
6419: LD_EXP 101
6423: PPUSH
6424: CALL_OW 257
6428: PUSH
6429: LD_INT 9
6431: EQUAL
6432: IFFALSE 6446
// setclass ( gossud , class_soldier ) ;
6434: LD_EXP 101
6438: PPUSH
6439: LD_INT 1
6441: PPUSH
6442: CALL_OW 336
// placeunitxyr ( gossud , 61 , 77 , 3 , false ) ;
6446: LD_EXP 101
6450: PPUSH
6451: LD_INT 61
6453: PPUSH
6454: LD_INT 77
6456: PPUSH
6457: LD_INT 3
6459: PPUSH
6460: LD_INT 0
6462: PPUSH
6463: CALL_OW 50
// end ; old_al2 :
6467: GO 6542
6469: LD_VAR 0 3
6473: DOUBLE
6474: EQUAL
6475: IFTRUE 6479
6477: GO 6541
6479: POP
// begin gossud = createcharacter ( Gossudarov ) ;
6480: LD_ADDR_EXP 101
6484: PUSH
6485: LD_STRING Gossudarov
6487: PPUSH
6488: CALL_OW 34
6492: ST_TO_ADDR
// if getclass ( gossud ) = class_bazooker then
6493: LD_EXP 101
6497: PPUSH
6498: CALL_OW 257
6502: PUSH
6503: LD_INT 9
6505: EQUAL
6506: IFFALSE 6520
// setclass ( gossud , class_soldier ) ;
6508: LD_EXP 101
6512: PPUSH
6513: LD_INT 1
6515: PPUSH
6516: CALL_OW 336
// vedci = vedci ^ [ gossud ] ;
6520: LD_ADDR_LOC 4
6524: PUSH
6525: LD_LOC 4
6529: PUSH
6530: LD_EXP 101
6534: PUSH
6535: EMPTY
6536: LIST
6537: ADD
6538: ST_TO_ADDR
// end ; end ;
6539: GO 6542
6541: POP
// end else
6542: GO 6544
// else
6544: GO 6553
// msg ( neny Gossudarov ) ;
6546: LD_STRING neny Gossudarov
6548: PPUSH
6549: CALL_OW 100
// if testcharacters ( survivors5 ) then
6553: LD_STRING survivors5
6555: PPUSH
6556: CALL_OW 28
6560: IFFALSE 6595
// if checkcharacterset ( survivors5 ) then
6562: LD_STRING survivors5
6564: PPUSH
6565: CALL_OW 29
6569: IFFALSE 6586
// zbytekze12 = createcharacterset ( survivors5 ) else
6571: LD_ADDR_LOC 5
6575: PUSH
6576: LD_STRING survivors5
6578: PPUSH
6579: CALL_OW 31
6583: ST_TO_ADDR
6584: GO 6593
// zbytekze12 = [ ] else
6586: LD_ADDR_LOC 5
6590: PUSH
6591: EMPTY
6592: ST_TO_ADDR
6593: GO 6608
// buildquery ( neny survivors5 , [ OK ] ) ;
6595: LD_STRING neny survivors5
6597: PPUSH
6598: LD_STRING OK
6600: PUSH
6601: EMPTY
6602: LIST
6603: PPUSH
6604: CALL_OW 99
// vedciost = [ ] ;
6608: LD_ADDR_LOC 6
6612: PUSH
6613: EMPTY
6614: ST_TO_ADDR
// if testcharacters ( Scientists ) then
6615: LD_STRING Scientists
6617: PPUSH
6618: CALL_OW 28
6622: IFFALSE 6657
// if checkcharacterset ( Scientists ) then
6624: LD_STRING Scientists
6626: PPUSH
6627: CALL_OW 29
6631: IFFALSE 6648
// vedciost = createcharacterset ( Scientists ) else
6633: LD_ADDR_LOC 6
6637: PUSH
6638: LD_STRING Scientists
6640: PPUSH
6641: CALL_OW 31
6645: ST_TO_ADDR
6646: GO 6655
// vedciost = [ ] else
6648: LD_ADDR_LOC 6
6652: PUSH
6653: EMPTY
6654: ST_TO_ADDR
6655: GO 6670
// buildquery ( neny Scientists , [ OK ] ) ;
6657: LD_STRING neny Scientists
6659: PPUSH
6660: LD_STRING OK
6662: PUSH
6663: EMPTY
6664: LIST
6665: PPUSH
6666: CALL_OW 99
// zbytekze12 = zbytekze12 diff vedciost ;
6670: LD_ADDR_LOC 5
6674: PUSH
6675: LD_LOC 5
6679: PUSH
6680: LD_LOC 6
6684: DIFF
6685: ST_TO_ADDR
// for tmp in zbytekze12 do
6686: LD_ADDR_VAR 0 4
6690: PUSH
6691: LD_LOC 5
6695: PUSH
6696: FOR_IN
6697: IFFALSE 6722
// placeunitxyr ( tmp , 61 , 77 , 3 , false ) ;
6699: LD_VAR 0 4
6703: PPUSH
6704: LD_INT 61
6706: PPUSH
6707: LD_INT 77
6709: PPUSH
6710: LD_INT 3
6712: PPUSH
6713: LD_INT 0
6715: PPUSH
6716: CALL_OW 50
6720: GO 6696
6722: POP
6723: POP
// vip = [ burlak , belkov , gnyevko , kiril , kovalyuk , scholtze , kuzmov , karam , petrov , gleb , petros , lipshchin , titov , dolgov , xavier , oblukov , kozlov , kapitsova , gossud ] diff [ 0 ] ;
6724: LD_ADDR_EXP 102
6728: PUSH
6729: LD_EXP 83
6733: PUSH
6734: LD_EXP 84
6738: PUSH
6739: LD_EXP 85
6743: PUSH
6744: LD_EXP 86
6748: PUSH
6749: LD_EXP 87
6753: PUSH
6754: LD_EXP 88
6758: PUSH
6759: LD_EXP 89
6763: PUSH
6764: LD_EXP 90
6768: PUSH
6769: LD_EXP 91
6773: PUSH
6774: LD_EXP 92
6778: PUSH
6779: LD_EXP 93
6783: PUSH
6784: LD_EXP 94
6788: PUSH
6789: LD_EXP 95
6793: PUSH
6794: LD_EXP 96
6798: PUSH
6799: LD_EXP 97
6803: PUSH
6804: LD_EXP 98
6808: PUSH
6809: LD_EXP 99
6813: PUSH
6814: LD_EXP 100
6818: PUSH
6819: LD_EXP 101
6823: PUSH
6824: EMPTY
6825: LIST
6826: LIST
6827: LIST
6828: LIST
6829: LIST
6830: LIST
6831: LIST
6832: LIST
6833: LIST
6834: LIST
6835: LIST
6836: LIST
6837: LIST
6838: LIST
6839: LIST
6840: LIST
6841: LIST
6842: LIST
6843: LIST
6844: PUSH
6845: LD_INT 0
6847: PUSH
6848: EMPTY
6849: LIST
6850: DIFF
6851: ST_TO_ADDR
// ingameon ;
6852: CALL_OW 8
// if Masha then
6856: LD_EXP 80
6860: IFFALSE 6873
// CenterNowOnUnits ( Masha ) else
6862: LD_EXP 80
6866: PPUSH
6867: CALL_OW 87
6871: GO 6882
// centernowonunits ( burlak ) ;
6873: LD_EXP 83
6877: PPUSH
6878: CALL_OW 87
// commovexy ( zbytekze12 ^ vip , 61 , 49 ) ;
6882: LD_LOC 5
6886: PUSH
6887: LD_EXP 102
6891: ADD
6892: PPUSH
6893: LD_INT 61
6895: PPUSH
6896: LD_INT 49
6898: PPUSH
6899: CALL_OW 111
// plidi = 0 + ( zbytekze12 ^ vip ) ;
6903: LD_ADDR_LOC 8
6907: PUSH
6908: LD_INT 0
6910: PUSH
6911: LD_LOC 5
6915: PUSH
6916: LD_EXP 102
6920: ADD
6921: PLUS
6922: ST_TO_ADDR
// while getdistunitxy ( burlak , 61 , 49 ) > 5 do
6923: LD_EXP 83
6927: PPUSH
6928: LD_INT 61
6930: PPUSH
6931: LD_INT 49
6933: PPUSH
6934: CALL_OW 297
6938: PUSH
6939: LD_INT 5
6941: GREATER
6942: IFFALSE 6979
// begin wait ( 1 ) ;
6944: LD_INT 1
6946: PPUSH
6947: CALL_OW 67
// if Masha then
6951: LD_EXP 80
6955: IFFALSE 6968
// CenterNowOnUnits ( Masha ) else
6957: LD_EXP 80
6961: PPUSH
6962: CALL_OW 87
6966: GO 6977
// centeronunits ( burlak ) ;
6968: LD_EXP 83
6972: PPUSH
6973: CALL_OW 85
// end ;
6977: GO 6923
// ingameoff ;
6979: CALL_OW 9
// dialogueon ;
6983: CALL_OW 6
// tmp = unitfilter ( vip diff ( [ burlak ] ^ vedci ) , [ [ f_sex , sex_male ] ] ) ;
6987: LD_ADDR_VAR 0 4
6991: PUSH
6992: LD_EXP 102
6996: PUSH
6997: LD_EXP 83
7001: PUSH
7002: EMPTY
7003: LIST
7004: PUSH
7005: LD_LOC 4
7009: ADD
7010: DIFF
7011: PPUSH
7012: LD_INT 26
7014: PUSH
7015: LD_INT 1
7017: PUSH
7018: EMPTY
7019: LIST
7020: LIST
7021: PUSH
7022: EMPTY
7023: LIST
7024: PPUSH
7025: CALL_OW 72
7029: ST_TO_ADDR
// tmp1 = unitfilter ( zbytekze12 , [ [ f_sex , sex_male ] ] ) ;
7030: LD_ADDR_VAR 0 5
7034: PUSH
7035: LD_LOC 5
7039: PPUSH
7040: LD_INT 26
7042: PUSH
7043: LD_INT 1
7045: PUSH
7046: EMPTY
7047: LIST
7048: LIST
7049: PUSH
7050: EMPTY
7051: LIST
7052: PPUSH
7053: CALL_OW 72
7057: ST_TO_ADDR
// if tmp or tmp1 or belkov or gnyevko then
7058: LD_VAR 0 4
7062: PUSH
7063: LD_VAR 0 5
7067: OR
7068: PUSH
7069: LD_EXP 84
7073: OR
7074: PUSH
7075: LD_EXP 85
7079: OR
7080: IFFALSE 7094
// say ( burlak , DStart-Bur-1 ) ;
7082: LD_EXP 83
7086: PPUSH
7087: LD_STRING DStart-Bur-1
7089: PPUSH
7090: CALL_OW 88
// if belkov then
7094: LD_EXP 84
7098: IFFALSE 7133
// begin say ( belkov , DStart-Bel-1 ) ;
7100: LD_EXP 84
7104: PPUSH
7105: LD_STRING DStart-Bel-1
7107: PPUSH
7108: CALL_OW 88
// tmp = tmp diff [ belkov ] ;
7112: LD_ADDR_VAR 0 4
7116: PUSH
7117: LD_VAR 0 4
7121: PUSH
7122: LD_EXP 84
7126: PUSH
7127: EMPTY
7128: LIST
7129: DIFF
7130: ST_TO_ADDR
// end else
7131: GO 7170
// if gnyevko then
7133: LD_EXP 85
7137: IFFALSE 7170
// begin say ( gnyevko , DStart-Gny-1 ) ;
7139: LD_EXP 85
7143: PPUSH
7144: LD_STRING DStart-Gny-1
7146: PPUSH
7147: CALL_OW 88
// tmp = tmp diff [ gnyevko ] ;
7151: LD_ADDR_VAR 0 4
7155: PUSH
7156: LD_VAR 0 4
7160: PUSH
7161: LD_EXP 85
7165: PUSH
7166: EMPTY
7167: LIST
7168: DIFF
7169: ST_TO_ADDR
// end ; if tmp1 then
7170: LD_VAR 0 5
7174: IFFALSE 7194
// say ( tmp1 [ 1 ] , DStart-Rsol1-1 ) else
7176: LD_VAR 0 5
7180: PUSH
7181: LD_INT 1
7183: ARRAY
7184: PPUSH
7185: LD_STRING DStart-Rsol1-1
7187: PPUSH
7188: CALL_OW 88
7192: GO 7216
// if tmp then
7194: LD_VAR 0 4
7198: IFFALSE 7216
// say ( tmp [ 1 ] , DStart-Rsol1-1 ) ;
7200: LD_VAR 0 4
7204: PUSH
7205: LD_INT 1
7207: ARRAY
7208: PPUSH
7209: LD_STRING DStart-Rsol1-1
7211: PPUSH
7212: CALL_OW 88
// if tmp or tmp1 or belkov or gnyevko then
7216: LD_VAR 0 4
7220: PUSH
7221: LD_VAR 0 5
7225: OR
7226: PUSH
7227: LD_EXP 84
7231: OR
7232: PUSH
7233: LD_EXP 85
7237: OR
7238: IFFALSE 7252
// say ( burlak , DStart-Bur-2 ) ;
7240: LD_EXP 83
7244: PPUSH
7245: LD_STRING DStart-Bur-2
7247: PPUSH
7248: CALL_OW 88
// dialogueoff ;
7252: CALL_OW 7
// saveforquickrestart ;
7256: CALL_OW 22
// wait ( 0 0$0.5 ) ;
7260: LD_INT 18
7262: PPUSH
7263: CALL_OW 67
// changemissionobjectives ( MBuild ) ;
7267: LD_STRING MBuild
7269: PPUSH
7270: CALL_OW 337
// end ;
7274: LD_VAR 0 1
7278: RET
// export glad , jmm , roth , bobby , brown , connie , cornel , cyrus , denis , lucy , frank , gary , lisa , simms , yamoko ; export arusove , amervyb ; every 1 1$30 do var tmp , tmp1 , tmp2 , tmpvedci , amer ;
7279: GO 7281
7281: DISABLE
7282: LD_INT 0
7284: PPUSH
7285: PPUSH
7286: PPUSH
7287: PPUSH
7288: PPUSH
// begin tmp2 = vedci ^ vedciost ;
7289: LD_ADDR_VAR 0 3
7293: PUSH
7294: LD_LOC 4
7298: PUSH
7299: LD_LOC 6
7303: ADD
7304: ST_TO_ADDR
// arusove = tmp2 ;
7305: LD_ADDR_EXP 119
7309: PUSH
7310: LD_VAR 0 3
7314: ST_TO_ADDR
// tmp = 0 + tmp2 ;
7315: LD_ADDR_VAR 0 1
7319: PUSH
7320: LD_INT 0
7322: PUSH
7323: LD_VAR 0 3
7327: PLUS
7328: ST_TO_ADDR
// setside ( tmp2 , rus2 ) ;
7329: LD_VAR 0 3
7333: PPUSH
7334: LD_EXP 6
7338: PPUSH
7339: CALL_OW 235
// for tmp1 = 1 to tmp do
7343: LD_ADDR_VAR 0 2
7347: PUSH
7348: DOUBLE
7349: LD_INT 1
7351: DEC
7352: ST_TO_ADDR
7353: LD_VAR 0 1
7357: PUSH
7358: FOR_TO
7359: IFFALSE 7390
// placeunitxyr ( tmp2 [ tmp1 ] , 70 , 96 , 3 , false ) ;
7361: LD_VAR 0 3
7365: PUSH
7366: LD_VAR 0 2
7370: ARRAY
7371: PPUSH
7372: LD_INT 70
7374: PPUSH
7375: LD_INT 96
7377: PPUSH
7378: LD_INT 3
7380: PPUSH
7381: LD_INT 0
7383: PPUSH
7384: CALL_OW 50
7388: GO 7358
7390: POP
7391: POP
// commovexy ( tmp2 , 64 , 54 ) ;
7392: LD_VAR 0 3
7396: PPUSH
7397: LD_INT 64
7399: PPUSH
7400: LD_INT 54
7402: PPUSH
7403: CALL_OW 111
// uc_side = oth ;
7407: LD_ADDR_OWVAR 20
7411: PUSH
7412: LD_EXP 5
7416: ST_TO_ADDR
// uc_nation = nation_american ;
7417: LD_ADDR_OWVAR 21
7421: PUSH
7422: LD_INT 1
7424: ST_TO_ADDR
// if testcharacters ( Gladstone ) then
7425: LD_STRING Gladstone
7427: PPUSH
7428: CALL_OW 28
7432: IFFALSE 7468
// if checkcharacterset ( Gladstone ) then
7434: LD_STRING Gladstone
7436: PPUSH
7437: CALL_OW 29
7441: IFFALSE 7458
// glad = createcharacter ( Gladstone ) else
7443: LD_ADDR_EXP 104
7447: PUSH
7448: LD_STRING Gladstone
7450: PPUSH
7451: CALL_OW 34
7455: ST_TO_ADDR
7456: GO 7466
// glad = 0 else
7458: LD_ADDR_EXP 104
7462: PUSH
7463: LD_INT 0
7465: ST_TO_ADDR
7466: GO 7475
// msg ( neny Gladstone ) ;
7468: LD_STRING neny Gladstone
7470: PPUSH
7471: CALL_OW 100
// jmm = newcharacter ( Macmillan ) ;
7475: LD_ADDR_EXP 105
7479: PUSH
7480: LD_STRING Macmillan
7482: PPUSH
7483: CALL_OW 25
7487: ST_TO_ADDR
// if not jmm then
7488: LD_EXP 105
7492: NOT
7493: IFFALSE 7502
// msg ( neny Macmillan ) ;
7495: LD_STRING neny Macmillan
7497: PPUSH
7498: CALL_OW 100
// roth = newcharacter ( Roth ) ;
7502: LD_ADDR_EXP 106
7506: PUSH
7507: LD_STRING Roth
7509: PPUSH
7510: CALL_OW 25
7514: ST_TO_ADDR
// if not roth then
7515: LD_EXP 106
7519: NOT
7520: IFFALSE 7529
// msg ( neny Roth ) ;
7522: LD_STRING neny Roth
7524: PPUSH
7525: CALL_OW 100
// denis = newcharacter ( Peterson ) ;
7529: LD_ADDR_EXP 112
7533: PUSH
7534: LD_STRING Peterson
7536: PPUSH
7537: CALL_OW 25
7541: ST_TO_ADDR
// if not denis then
7542: LD_EXP 112
7546: NOT
7547: IFFALSE 7556
// msg ( neny Peterson ) ;
7549: LD_STRING neny Peterson
7551: PPUSH
7552: CALL_OW 100
// bobby = newcharacter ( Bobby ) ;
7556: LD_ADDR_EXP 107
7560: PUSH
7561: LD_STRING Bobby
7563: PPUSH
7564: CALL_OW 25
7568: ST_TO_ADDR
// if not bobby then
7569: LD_EXP 107
7573: NOT
7574: IFFALSE 7583
// msg ( neny Bobby ) ;
7576: LD_STRING neny Bobby
7578: PPUSH
7579: CALL_OW 100
// brown = newcharacter ( Brown ) ;
7583: LD_ADDR_EXP 108
7587: PUSH
7588: LD_STRING Brown
7590: PPUSH
7591: CALL_OW 25
7595: ST_TO_ADDR
// if not brown then
7596: LD_EXP 108
7600: NOT
7601: IFFALSE 7610
// msg ( neny Brown ) ;
7603: LD_STRING neny Brown
7605: PPUSH
7606: CALL_OW 100
// connie = newcharacter ( Connie ) ;
7610: LD_ADDR_EXP 109
7614: PUSH
7615: LD_STRING Connie
7617: PPUSH
7618: CALL_OW 25
7622: ST_TO_ADDR
// if not connie then
7623: LD_EXP 109
7627: NOT
7628: IFFALSE 7637
// msg ( neny Connie ) ;
7630: LD_STRING neny Connie
7632: PPUSH
7633: CALL_OW 100
// cornel = newcharacter ( Cornell ) ;
7637: LD_ADDR_EXP 110
7641: PUSH
7642: LD_STRING Cornell
7644: PPUSH
7645: CALL_OW 25
7649: ST_TO_ADDR
// if not cornel then
7650: LD_EXP 110
7654: NOT
7655: IFFALSE 7664
// msg ( neny Cornell ) ;
7657: LD_STRING neny Cornell
7659: PPUSH
7660: CALL_OW 100
// cyrus = newcharacter ( Cyrus ) ;
7664: LD_ADDR_EXP 111
7668: PUSH
7669: LD_STRING Cyrus
7671: PPUSH
7672: CALL_OW 25
7676: ST_TO_ADDR
// if not cyrus then
7677: LD_EXP 111
7681: NOT
7682: IFFALSE 7691
// msg ( neny Cyrus ) ;
7684: LD_STRING neny Cyrus
7686: PPUSH
7687: CALL_OW 100
// lucy = newcharacter ( Donaldson ) ;
7691: LD_ADDR_EXP 113
7695: PUSH
7696: LD_STRING Donaldson
7698: PPUSH
7699: CALL_OW 25
7703: ST_TO_ADDR
// if not lucy then
7704: LD_EXP 113
7708: NOT
7709: IFFALSE 7718
// msg ( neny Donaldson ) ;
7711: LD_STRING neny Donaldson
7713: PPUSH
7714: CALL_OW 100
// frank = newcharacter ( Frank ) ;
7718: LD_ADDR_EXP 114
7722: PUSH
7723: LD_STRING Frank
7725: PPUSH
7726: CALL_OW 25
7730: ST_TO_ADDR
// if not frank then
7731: LD_EXP 114
7735: NOT
7736: IFFALSE 7745
// msg ( neny Frank ) ;
7738: LD_STRING neny Frank
7740: PPUSH
7741: CALL_OW 100
// gary = newcharacter ( Gary ) ;
7745: LD_ADDR_EXP 115
7749: PUSH
7750: LD_STRING Gary
7752: PPUSH
7753: CALL_OW 25
7757: ST_TO_ADDR
// if not gary then
7758: LD_EXP 115
7762: NOT
7763: IFFALSE 7772
// msg ( neny Gary ) ;
7765: LD_STRING neny Gary
7767: PPUSH
7768: CALL_OW 100
// lisa = newcharacter ( Lisa ) ;
7772: LD_ADDR_EXP 116
7776: PUSH
7777: LD_STRING Lisa
7779: PPUSH
7780: CALL_OW 25
7784: ST_TO_ADDR
// if not lisa then
7785: LD_EXP 116
7789: NOT
7790: IFFALSE 7799
// msg ( neny Lisa ) ;
7792: LD_STRING neny Lisa
7794: PPUSH
7795: CALL_OW 100
// simms = newcharacter ( Simms ) ;
7799: LD_ADDR_EXP 117
7803: PUSH
7804: LD_STRING Simms
7806: PPUSH
7807: CALL_OW 25
7811: ST_TO_ADDR
// if not simms then
7812: LD_EXP 117
7816: NOT
7817: IFFALSE 7826
// msg ( neny Simms ) ;
7819: LD_STRING neny Simms
7821: PPUSH
7822: CALL_OW 100
// yamoko = newcharacter ( Yamoko ) ;
7826: LD_ADDR_EXP 118
7830: PUSH
7831: LD_STRING Yamoko
7833: PPUSH
7834: CALL_OW 25
7838: ST_TO_ADDR
// amer = [ simms , glad , bobby , brown , connie , cornel , cyrus , lucy , frank , gary , lisa , yamoko ] diff [ 0 ] ;
7839: LD_ADDR_VAR 0 5
7843: PUSH
7844: LD_EXP 117
7848: PUSH
7849: LD_EXP 104
7853: PUSH
7854: LD_EXP 107
7858: PUSH
7859: LD_EXP 108
7863: PUSH
7864: LD_EXP 109
7868: PUSH
7869: LD_EXP 110
7873: PUSH
7874: LD_EXP 111
7878: PUSH
7879: LD_EXP 113
7883: PUSH
7884: LD_EXP 114
7888: PUSH
7889: LD_EXP 115
7893: PUSH
7894: LD_EXP 116
7898: PUSH
7899: LD_EXP 118
7903: PUSH
7904: EMPTY
7905: LIST
7906: LIST
7907: LIST
7908: LIST
7909: LIST
7910: LIST
7911: LIST
7912: LIST
7913: LIST
7914: LIST
7915: LIST
7916: LIST
7917: PUSH
7918: LD_INT 0
7920: PUSH
7921: EMPTY
7922: LIST
7923: DIFF
7924: ST_TO_ADDR
// amervyb = [ jmm , roth , denis ] diff [ 0 ] ;
7925: LD_ADDR_EXP 120
7929: PUSH
7930: LD_EXP 105
7934: PUSH
7935: LD_EXP 106
7939: PUSH
7940: LD_EXP 112
7944: PUSH
7945: EMPTY
7946: LIST
7947: LIST
7948: LIST
7949: PUSH
7950: LD_INT 0
7952: PUSH
7953: EMPTY
7954: LIST
7955: DIFF
7956: ST_TO_ADDR
// for tmp1 = 1 to 0 + amervyb do
7957: LD_ADDR_VAR 0 2
7961: PUSH
7962: DOUBLE
7963: LD_INT 1
7965: DEC
7966: ST_TO_ADDR
7967: LD_INT 0
7969: PUSH
7970: LD_EXP 120
7974: PLUS
7975: PUSH
7976: FOR_TO
7977: IFFALSE 8008
// placeunitxyr ( amervyb [ tmp1 ] , 50 , 5 , 3 , false ) ;
7979: LD_EXP 120
7983: PUSH
7984: LD_VAR 0 2
7988: ARRAY
7989: PPUSH
7990: LD_INT 50
7992: PPUSH
7993: LD_INT 5
7995: PPUSH
7996: LD_INT 3
7998: PPUSH
7999: LD_INT 0
8001: PPUSH
8002: CALL_OW 50
8006: GO 7976
8008: POP
8009: POP
// tmp = tmp + 0 + amervyb ;
8010: LD_ADDR_VAR 0 1
8014: PUSH
8015: LD_VAR 0 1
8019: PUSH
8020: LD_INT 0
8022: PLUS
8023: PUSH
8024: LD_EXP 120
8028: PLUS
8029: ST_TO_ADDR
// for tmp1 = 1 to maxlidi - plidi - tmp do
8030: LD_ADDR_VAR 0 2
8034: PUSH
8035: DOUBLE
8036: LD_INT 1
8038: DEC
8039: ST_TO_ADDR
8040: LD_EXP 7
8044: PUSH
8045: LD_LOC 8
8049: MINUS
8050: PUSH
8051: LD_VAR 0 1
8055: MINUS
8056: PUSH
8057: FOR_TO
8058: IFFALSE 8114
// begin placeunitxyr ( amer [ tmp1 ] , 50 , 5 , 3 , false ) ;
8060: LD_VAR 0 5
8064: PUSH
8065: LD_VAR 0 2
8069: ARRAY
8070: PPUSH
8071: LD_INT 50
8073: PPUSH
8074: LD_INT 5
8076: PPUSH
8077: LD_INT 3
8079: PPUSH
8080: LD_INT 0
8082: PPUSH
8083: CALL_OW 50
// amervyb = amervyb ^ [ amer [ tmp1 ] ] ;
8087: LD_ADDR_EXP 120
8091: PUSH
8092: LD_EXP 120
8096: PUSH
8097: LD_VAR 0 5
8101: PUSH
8102: LD_VAR 0 2
8106: ARRAY
8107: PUSH
8108: EMPTY
8109: LIST
8110: ADD
8111: ST_TO_ADDR
// end ;
8112: GO 8057
8114: POP
8115: POP
// commovexy ( amervyb , 62 , 47 ) ;
8116: LD_EXP 120
8120: PPUSH
8121: LD_INT 62
8123: PPUSH
8124: LD_INT 47
8126: PPUSH
8127: CALL_OW 111
// SetAttitude ( rus2 , oth , att_friend , true ) ;
8131: LD_EXP 6
8135: PPUSH
8136: LD_EXP 5
8140: PPUSH
8141: LD_INT 1
8143: PPUSH
8144: LD_INT 1
8146: PPUSH
8147: CALL_OW 80
// end ;
8151: PPOPN 5
8153: END
// var r_seen ; function side_sees_side ( sidea , sideb ) ; var tmp , tmp2 ; begin
8154: LD_INT 0
8156: PPUSH
8157: PPUSH
8158: PPUSH
// tmp2 = filterallunits ( [ [ f_side , sideb ] ] ) ;
8159: LD_ADDR_VAR 0 5
8163: PUSH
8164: LD_INT 22
8166: PUSH
8167: LD_VAR 0 2
8171: PUSH
8172: EMPTY
8173: LIST
8174: LIST
8175: PUSH
8176: EMPTY
8177: LIST
8178: PPUSH
8179: CALL_OW 69
8183: ST_TO_ADDR
// result = 0 ;
8184: LD_ADDR_VAR 0 3
8188: PUSH
8189: LD_INT 0
8191: ST_TO_ADDR
// for tmp in tmp2 do
8192: LD_ADDR_VAR 0 4
8196: PUSH
8197: LD_VAR 0 5
8201: PUSH
8202: FOR_IN
8203: IFFALSE 8245
// if see ( sidea , tmp ) then
8205: LD_VAR 0 1
8209: PPUSH
8210: LD_VAR 0 4
8214: PPUSH
8215: CALL_OW 292
8219: IFFALSE 8243
// begin r_seen = tmp ;
8221: LD_ADDR_LOC 9
8225: PUSH
8226: LD_VAR 0 4
8230: ST_TO_ADDR
// result = tmp ;
8231: LD_ADDR_VAR 0 3
8235: PUSH
8236: LD_VAR 0 4
8240: ST_TO_ADDR
// break ;
8241: GO 8245
// end ;
8243: GO 8202
8245: POP
8246: POP
// end ;
8247: LD_VAR 0 3
8251: RET
// every 0 0$1 + 1 1$30 trigger side_sees_side ( al , oth ) do
8252: LD_EXP 1
8256: PPUSH
8257: LD_EXP 5
8261: PPUSH
8262: CALL 8154 0 2
8266: IFFALSE 8770
8268: GO 8270
8270: DISABLE
// begin setside ( filterallunits ( [ [ f_side , rus2 ] ] ) , al ) ;
8271: LD_INT 22
8273: PUSH
8274: LD_EXP 6
8278: PUSH
8279: EMPTY
8280: LIST
8281: LIST
8282: PUSH
8283: EMPTY
8284: LIST
8285: PPUSH
8286: CALL_OW 69
8290: PPUSH
8291: LD_EXP 1
8295: PPUSH
8296: CALL_OW 235
// dialogueon ;
8300: CALL_OW 6
// say ( burlak , DSci-Bur-1 ) ;
8304: LD_EXP 83
8308: PPUSH
8309: LD_STRING DSci-Bur-1
8311: PPUSH
8312: CALL_OW 88
// say ( gossud , DSci-Gos-1 ) ;
8316: LD_EXP 101
8320: PPUSH
8321: LD_STRING DSci-Gos-1
8323: PPUSH
8324: CALL_OW 88
// say ( burlak , DSci-Bur-2 ) ;
8328: LD_EXP 83
8332: PPUSH
8333: LD_STRING DSci-Bur-2
8335: PPUSH
8336: CALL_OW 88
// say ( gossud , DSci-Gos-2 ) ;
8340: LD_EXP 101
8344: PPUSH
8345: LD_STRING DSci-Gos-2
8347: PPUSH
8348: CALL_OW 88
// revealfogarea ( al , arab_base_reveal ) ;
8352: LD_EXP 1
8356: PPUSH
8357: LD_INT 10
8359: PPUSH
8360: CALL_OW 332
// centernowonxy ( 126 , 27 ) ;
8364: LD_INT 126
8366: PPUSH
8367: LD_INT 27
8369: PPUSH
8370: CALL_OW 86
// say ( burlak , DSci-Bur-3 ) ;
8374: LD_EXP 83
8378: PPUSH
8379: LD_STRING DSci-Bur-3
8381: PPUSH
8382: CALL_OW 88
// say ( gossud , DSci-Gos-3 ) ;
8386: LD_EXP 101
8390: PPUSH
8391: LD_STRING DSci-Gos-3
8393: PPUSH
8394: CALL_OW 88
// say ( burlak , DSci-Bur-4 ) ;
8398: LD_EXP 83
8402: PPUSH
8403: LD_STRING DSci-Bur-4
8405: PPUSH
8406: CALL_OW 88
// say ( gossud , DSci-Gos-4 ) ;
8410: LD_EXP 101
8414: PPUSH
8415: LD_STRING DSci-Gos-4
8417: PPUSH
8418: CALL_OW 88
// say ( burlak , DSci-Bur-5 ) ;
8422: LD_EXP 83
8426: PPUSH
8427: LD_STRING DSci-Bur-5
8429: PPUSH
8430: CALL_OW 88
// dialogueoff ;
8434: CALL_OW 7
// centeronunits ( [ burlak , jmm ] ) ;
8438: LD_EXP 83
8442: PUSH
8443: LD_EXP 105
8447: PUSH
8448: EMPTY
8449: LIST
8450: LIST
8451: PPUSH
8452: CALL_OW 85
// wait ( 0 0$1 ) ;
8456: LD_INT 35
8458: PPUSH
8459: CALL_OW 67
// dialogueon ;
8463: CALL_OW 6
// say ( gossud , DAmer-Gos-1 ) ;
8467: LD_EXP 101
8471: PPUSH
8472: LD_STRING DAmer-Gos-1
8474: PPUSH
8475: CALL_OW 88
// say ( burlak , DAmer-Bur-1 ) ;
8479: LD_EXP 83
8483: PPUSH
8484: LD_STRING DAmer-Bur-1
8486: PPUSH
8487: CALL_OW 88
// say ( jmm , DAmer-JMM-1 ) ;
8491: LD_EXP 105
8495: PPUSH
8496: LD_STRING DAmer-JMM-1
8498: PPUSH
8499: CALL_OW 88
// dialogueoff ;
8503: CALL_OW 7
// ingameon ;
8507: CALL_OW 8
// comattackunit ( burlak , jmm ) ;
8511: LD_EXP 83
8515: PPUSH
8516: LD_EXP 105
8520: PPUSH
8521: CALL_OW 115
// comattackunit ( jmm , burlak ) ;
8525: LD_EXP 105
8529: PPUSH
8530: LD_EXP 83
8534: PPUSH
8535: CALL_OW 115
// while not attacks ( jmm ) do
8539: LD_EXP 105
8543: PPUSH
8544: CALL_OW 320
8548: NOT
8549: IFFALSE 8560
// wait ( 0 0$0.3 ) ;
8551: LD_INT 10
8553: PPUSH
8554: CALL_OW 67
8558: GO 8539
// ingameoff ;
8560: CALL_OW 9
// wait ( 0 0$1.7 ) ;
8564: LD_INT 59
8566: PPUSH
8567: CALL_OW 67
// dialogueon ;
8571: CALL_OW 6
// say ( gossud , DAmer-Gos-2 ) ;
8575: LD_EXP 101
8579: PPUSH
8580: LD_STRING DAmer-Gos-2
8582: PPUSH
8583: CALL_OW 88
// say ( roth , DAmer-Roth-2 ) ;
8587: LD_EXP 106
8591: PPUSH
8592: LD_STRING DAmer-Roth-2
8594: PPUSH
8595: CALL_OW 88
// dialogueoff ;
8599: CALL_OW 7
// comstop ( [ burlak , jmm ] ) ;
8603: LD_EXP 83
8607: PUSH
8608: LD_EXP 105
8612: PUSH
8613: EMPTY
8614: LIST
8615: LIST
8616: PPUSH
8617: CALL_OW 141
// setside ( [ jmm ] , al ) ;
8621: LD_EXP 105
8625: PUSH
8626: EMPTY
8627: LIST
8628: PPUSH
8629: LD_EXP 1
8633: PPUSH
8634: CALL_OW 235
// dialogueon ;
8638: CALL_OW 6
// say ( gossud , DAmer-Gos-3 ) ;
8642: LD_EXP 101
8646: PPUSH
8647: LD_STRING DAmer-Gos-3
8649: PPUSH
8650: CALL_OW 88
// say ( burlak , DAmer-Bur-3 ) ;
8654: LD_EXP 83
8658: PPUSH
8659: LD_STRING DAmer-Bur-3
8661: PPUSH
8662: CALL_OW 88
// say ( jmm , DAmer-JMM-3 ) ;
8666: LD_EXP 105
8670: PPUSH
8671: LD_STRING DAmer-JMM-3
8673: PPUSH
8674: CALL_OW 88
// say ( burlak , DAmer-Bur-4 ) ;
8678: LD_EXP 83
8682: PPUSH
8683: LD_STRING DAmer-Bur-4
8685: PPUSH
8686: CALL_OW 88
// say ( jmm , DAmer-JMM-4 ) ;
8690: LD_EXP 105
8694: PPUSH
8695: LD_STRING DAmer-JMM-4
8697: PPUSH
8698: CALL_OW 88
// say ( burlak , DAmer-Bur-5 ) ;
8702: LD_EXP 83
8706: PPUSH
8707: LD_STRING DAmer-Bur-5
8709: PPUSH
8710: CALL_OW 88
// say ( jmm , DAmer-JMM-5 ) ;
8714: LD_EXP 105
8718: PPUSH
8719: LD_STRING DAmer-JMM-5
8721: PPUSH
8722: CALL_OW 88
// say ( burlak , DAmer-Bur-6 ) ;
8726: LD_EXP 83
8730: PPUSH
8731: LD_STRING DAmer-Bur-6
8733: PPUSH
8734: CALL_OW 88
// dialogueoff ;
8738: CALL_OW 7
// setside ( amervyb , al ) ;
8742: LD_EXP 120
8746: PPUSH
8747: LD_EXP 1
8751: PPUSH
8752: CALL_OW 235
// changemissionobjectives ( MMacmillan ) ;
8756: LD_STRING MMacmillan
8758: PPUSH
8759: CALL_OW 337
// hint ( CombinedForces ) ;
8763: LD_STRING CombinedForces
8765: PPUSH
8766: CALL_OW 339
// end ;
8770: END
// on buildingcomplete ( b ) do if ( getbtype ( b ) = b_lab ) and ( getnation ( b ) <> nation_american ) and not lb1 then
8771: LD_VAR 0 1
8775: PPUSH
8776: CALL_OW 266
8780: PUSH
8781: LD_INT 6
8783: EQUAL
8784: PUSH
8785: LD_VAR 0 1
8789: PPUSH
8790: CALL_OW 248
8794: PUSH
8795: LD_INT 1
8797: NONEQUAL
8798: AND
8799: PUSH
8800: LD_EXP 81
8804: NOT
8805: AND
8806: IFFALSE 8821
// begin lb1 = true ;
8808: LD_ADDR_EXP 81
8812: PUSH
8813: LD_INT 1
8815: ST_TO_ADDR
// enable ( 01 ) ;
8816: LD_INT 1
8818: ENABLE_MARKED
// end else
8819: GO 8863
// if ( getbtype ( b ) = b_lab ) and ( getnation ( b ) = nation_american ) then
8821: LD_VAR 0 1
8825: PPUSH
8826: CALL_OW 266
8830: PUSH
8831: LD_INT 6
8833: EQUAL
8834: PUSH
8835: LD_VAR 0 1
8839: PPUSH
8840: CALL_OW 248
8844: PUSH
8845: LD_INT 1
8847: EQUAL
8848: AND
8849: IFFALSE 8863
// begin disable ;
8851: DISABLE
// enable ( 02 ) ;
8852: LD_INT 2
8854: ENABLE_MARKED
// lab_build = true ;
8855: LD_ADDR_EXP 76
8859: PUSH
8860: LD_INT 1
8862: ST_TO_ADDR
// end ;
8863: PPOPN 1
8865: END
// every 0 0$1 + 1 1$45 marked 01 do var tmp ;
8866: GO 8868
8868: DISABLE
8869: LD_INT 0
8871: PPUSH
// begin dialogueon ;
8872: CALL_OW 6
// if isok ( denis ) then
8876: LD_EXP 112
8880: PPUSH
8881: CALL_OW 302
8885: IFFALSE 8901
// say ( denis , DLab-Pet-1 ) else
8887: LD_EXP 112
8891: PPUSH
8892: LD_STRING DLab-Pet-1
8894: PPUSH
8895: CALL_OW 88
8899: GO 8988
// begin tmp = filterallunits ( [ [ f_side , al ] , [ f_nation , nation_american ] , [ f_type , unit_human ] , [ f_sex , sex_male ] , [ f_ok ] ] ) ;
8901: LD_ADDR_VAR 0 1
8905: PUSH
8906: LD_INT 22
8908: PUSH
8909: LD_EXP 1
8913: PUSH
8914: EMPTY
8915: LIST
8916: LIST
8917: PUSH
8918: LD_INT 23
8920: PUSH
8921: LD_INT 1
8923: PUSH
8924: EMPTY
8925: LIST
8926: LIST
8927: PUSH
8928: LD_INT 21
8930: PUSH
8931: LD_INT 1
8933: PUSH
8934: EMPTY
8935: LIST
8936: LIST
8937: PUSH
8938: LD_INT 26
8940: PUSH
8941: LD_INT 1
8943: PUSH
8944: EMPTY
8945: LIST
8946: LIST
8947: PUSH
8948: LD_INT 50
8950: PUSH
8951: EMPTY
8952: LIST
8953: PUSH
8954: EMPTY
8955: LIST
8956: LIST
8957: LIST
8958: LIST
8959: LIST
8960: PPUSH
8961: CALL_OW 69
8965: ST_TO_ADDR
// if tmp then
8966: LD_VAR 0 1
8970: IFFALSE 8988
// say ( tmp [ 1 ] , DLab-Pet-1 ) end ;
8972: LD_VAR 0 1
8976: PUSH
8977: LD_INT 1
8979: ARRAY
8980: PPUSH
8981: LD_STRING DLab-Pet-1
8983: PPUSH
8984: CALL_OW 88
// dialogueoff ;
8988: CALL_OW 7
// end ;
8992: PPOPN 1
8994: END
// every 0 0$1 + 2 2$0 marked 02 do var tmp ;
8995: GO 8997
8997: DISABLE
8998: LD_INT 0
9000: PPUSH
// begin tmp = filterallunits ( [ [ f_side , al ] , [ f_nation , nation_american ] , [ f_type , unit_human ] , [ f_sex , sex_male ] , [ f_ok ] ] ) ;
9001: LD_ADDR_VAR 0 1
9005: PUSH
9006: LD_INT 22
9008: PUSH
9009: LD_EXP 1
9013: PUSH
9014: EMPTY
9015: LIST
9016: LIST
9017: PUSH
9018: LD_INT 23
9020: PUSH
9021: LD_INT 1
9023: PUSH
9024: EMPTY
9025: LIST
9026: LIST
9027: PUSH
9028: LD_INT 21
9030: PUSH
9031: LD_INT 1
9033: PUSH
9034: EMPTY
9035: LIST
9036: LIST
9037: PUSH
9038: LD_INT 26
9040: PUSH
9041: LD_INT 1
9043: PUSH
9044: EMPTY
9045: LIST
9046: LIST
9047: PUSH
9048: LD_INT 50
9050: PUSH
9051: EMPTY
9052: LIST
9053: PUSH
9054: EMPTY
9055: LIST
9056: LIST
9057: LIST
9058: LIST
9059: LIST
9060: PPUSH
9061: CALL_OW 69
9065: ST_TO_ADDR
// dialogueon ;
9066: CALL_OW 6
// if isok ( denis ) then
9070: LD_EXP 112
9074: PPUSH
9075: CALL_OW 302
9079: IFFALSE 9095
// say ( denis , DResearch-Pet-1 ) else
9081: LD_EXP 112
9085: PPUSH
9086: LD_STRING DResearch-Pet-1
9088: PPUSH
9089: CALL_OW 88
9093: GO 9117
// if tmp then
9095: LD_VAR 0 1
9099: IFFALSE 9117
// say ( tmp [ 1 ] , DResearch-Pet-1 ) ;
9101: LD_VAR 0 1
9105: PUSH
9106: LD_INT 1
9108: ARRAY
9109: PPUSH
9110: LD_STRING DResearch-Pet-1
9112: PPUSH
9113: CALL_OW 88
// dialogueoff ;
9117: CALL_OW 7
// end ;
9121: PPOPN 1
9123: END
// every 0 0$1 + 2 2$30 trigger see ( al , ruv0 ) do var tmp ;
9124: LD_EXP 1
9128: PPUSH
9129: LD_EXP 140
9133: PPUSH
9134: CALL_OW 292
9138: IFFALSE 9291
9140: GO 9142
9142: DISABLE
9143: LD_INT 0
9145: PPUSH
// begin tmp = unitfilter ( arusove , [ [ f_ok ] , [ f_sex , sex_male ] ] ) ;
9146: LD_ADDR_VAR 0 1
9150: PUSH
9151: LD_EXP 119
9155: PPUSH
9156: LD_INT 50
9158: PUSH
9159: EMPTY
9160: LIST
9161: PUSH
9162: LD_INT 26
9164: PUSH
9165: LD_INT 1
9167: PUSH
9168: EMPTY
9169: LIST
9170: LIST
9171: PUSH
9172: EMPTY
9173: LIST
9174: LIST
9175: PPUSH
9176: CALL_OW 72
9180: ST_TO_ADDR
// if 0 = tmp then
9181: LD_INT 0
9183: PUSH
9184: LD_VAR 0 1
9188: EQUAL
9189: IFFALSE 9193
// exit ;
9191: GO 9291
// tmp = tmp diff [ gossud ] ;
9193: LD_ADDR_VAR 0 1
9197: PUSH
9198: LD_VAR 0 1
9202: PUSH
9203: LD_EXP 101
9207: PUSH
9208: EMPTY
9209: LIST
9210: DIFF
9211: ST_TO_ADDR
// dialogueon ;
9212: CALL_OW 6
// if tmp then
9216: LD_VAR 0 1
9220: IFFALSE 9240
// say ( tmp [ 1 ] , DRussianAttack-RSci1-1 ) else
9222: LD_VAR 0 1
9226: PUSH
9227: LD_INT 1
9229: ARRAY
9230: PPUSH
9231: LD_STRING DRussianAttack-RSci1-1
9233: PPUSH
9234: CALL_OW 88
9238: GO 9252
// say ( gossud , DRussianAttack-RSci1-1 ) ;
9240: LD_EXP 101
9244: PPUSH
9245: LD_STRING DRussianAttack-RSci1-1
9247: PPUSH
9248: CALL_OW 88
// if isok ( gossud ) then
9252: LD_EXP 101
9256: PPUSH
9257: CALL_OW 302
9261: IFFALSE 9287
// begin say ( gossud , DRussianAttack-Gos-1 ) ;
9263: LD_EXP 101
9267: PPUSH
9268: LD_STRING DRussianAttack-Gos-1
9270: PPUSH
9271: CALL_OW 88
// say ( burlak , DRussianAttack-Bur-1 ) ;
9275: LD_EXP 83
9279: PPUSH
9280: LD_STRING DRussianAttack-Bur-1
9282: PPUSH
9283: CALL_OW 88
// end ; dialogueoff ;
9287: CALL_OW 7
// end ;
9291: PPOPN 1
9293: END
// every 4 4$10 do
9294: GO 9296
9296: DISABLE
// begin setside ( jahoda , rus2 ) ;
9297: LD_EXP 103
9301: PPUSH
9302: LD_EXP 6
9306: PPUSH
9307: CALL_OW 235
// placeunitxyr ( jahoda , 113 , 97 , 2 , false ) ;
9311: LD_EXP 103
9315: PPUSH
9316: LD_INT 113
9318: PPUSH
9319: LD_INT 97
9321: PPUSH
9322: LD_INT 2
9324: PPUSH
9325: LD_INT 0
9327: PPUSH
9328: CALL_OW 50
// commovexy ( jahoda , 79 , 65 ) ;
9332: LD_EXP 103
9336: PPUSH
9337: LD_INT 79
9339: PPUSH
9340: LD_INT 65
9342: PPUSH
9343: CALL_OW 111
// end ;
9347: END
// every 0 0$2 + 4 4$28 trigger isinarea ( jahoda , stred ) do var tmp ;
9348: LD_EXP 103
9352: PPUSH
9353: LD_INT 2
9355: PPUSH
9356: CALL_OW 308
9360: IFFALSE 9476
9362: GO 9364
9364: DISABLE
9365: LD_INT 0
9367: PPUSH
// begin tmp = unitfilter ( arusove , [ [ f_ok ] ] ) ;
9368: LD_ADDR_VAR 0 1
9372: PUSH
9373: LD_EXP 119
9377: PPUSH
9378: LD_INT 50
9380: PUSH
9381: EMPTY
9382: LIST
9383: PUSH
9384: EMPTY
9385: LIST
9386: PPUSH
9387: CALL_OW 72
9391: ST_TO_ADDR
// dialogueon ;
9392: CALL_OW 6
// case jahodatyp of 1 :
9396: LD_LOC 7
9400: PUSH
9401: LD_INT 1
9403: DOUBLE
9404: EQUAL
9405: IFTRUE 9409
9407: GO 9436
9409: POP
// begin sayradio ( jahoda , DBelkov-Bel-1 ) ;
9410: LD_EXP 103
9414: PPUSH
9415: LD_STRING DBelkov-Bel-1
9417: PPUSH
9418: CALL_OW 94
// say ( burlak , DBelkov-Bur-1 ) ;
9422: LD_EXP 83
9426: PPUSH
9427: LD_STRING DBelkov-Bur-1
9429: PPUSH
9430: CALL_OW 88
// end ; 2 :
9434: GO 9472
9436: LD_INT 2
9438: DOUBLE
9439: EQUAL
9440: IFTRUE 9444
9442: GO 9471
9444: POP
// begin sayradio ( jahoda , DBelkov-Gny-1 ) ;
9445: LD_EXP 103
9449: PPUSH
9450: LD_STRING DBelkov-Gny-1
9452: PPUSH
9453: CALL_OW 94
// say ( burlak , DBelkov-Bur-1a ) ;
9457: LD_EXP 83
9461: PPUSH
9462: LD_STRING DBelkov-Bur-1a
9464: PPUSH
9465: CALL_OW 88
// end ; end ;
9469: GO 9472
9471: POP
// dialogueoff ;
9472: CALL_OW 7
// end ;
9476: PPOPN 1
9478: END
// every 0 0$1 + 4 4$33 trigger filterallunits ( [ [ f_side , al ] , [ f_dist , jahoda , 6 ] ] ) do
9479: LD_INT 22
9481: PUSH
9482: LD_EXP 1
9486: PUSH
9487: EMPTY
9488: LIST
9489: LIST
9490: PUSH
9491: LD_INT 91
9493: PUSH
9494: LD_EXP 103
9498: PUSH
9499: LD_INT 6
9501: PUSH
9502: EMPTY
9503: LIST
9504: LIST
9505: LIST
9506: PUSH
9507: EMPTY
9508: LIST
9509: LIST
9510: PPUSH
9511: CALL_OW 69
9515: IFFALSE 9582
9517: GO 9519
9519: DISABLE
// begin setside ( jahoda , al ) ;
9520: LD_EXP 103
9524: PPUSH
9525: LD_EXP 1
9529: PPUSH
9530: CALL_OW 235
// case jahodatyp of 1 :
9534: LD_LOC 7
9538: PUSH
9539: LD_INT 1
9541: DOUBLE
9542: EQUAL
9543: IFTRUE 9547
9545: GO 9560
9547: POP
// SaveVariable ( 1 , belkov_side ) ; 2 :
9548: LD_INT 1
9550: PPUSH
9551: LD_STRING belkov_side
9553: PPUSH
9554: CALL_OW 39
9558: GO 9582
9560: LD_INT 2
9562: DOUBLE
9563: EQUAL
9564: IFTRUE 9568
9566: GO 9581
9568: POP
// SaveVariable ( 1 , gnyevko_side ) ; end ;
9569: LD_INT 1
9571: PPUSH
9572: LD_STRING gnyevko_side
9574: PPUSH
9575: CALL_OW 39
9579: GO 9582
9581: POP
// end ;
9582: END
// every 0 0$1 + 10 10$15 do var tmp , tmp2 , tmp3 ;
9583: GO 9585
9585: DISABLE
9586: LD_INT 0
9588: PPUSH
9589: PPUSH
9590: PPUSH
// begin tmp = filterallunits ( [ [ f_side , al ] , [ f_nation , nation_russian ] , [ f_ok ] ] ) ;
9591: LD_ADDR_VAR 0 1
9595: PUSH
9596: LD_INT 22
9598: PUSH
9599: LD_EXP 1
9603: PUSH
9604: EMPTY
9605: LIST
9606: LIST
9607: PUSH
9608: LD_INT 23
9610: PUSH
9611: LD_INT 3
9613: PUSH
9614: EMPTY
9615: LIST
9616: LIST
9617: PUSH
9618: LD_INT 50
9620: PUSH
9621: EMPTY
9622: LIST
9623: PUSH
9624: EMPTY
9625: LIST
9626: LIST
9627: LIST
9628: PPUSH
9629: CALL_OW 69
9633: ST_TO_ADDR
// tmp3 = filterallunits ( [ [ f_side , al ] , [ f_nation , nation_american ] , [ f_ok ] ] ) ;
9634: LD_ADDR_VAR 0 3
9638: PUSH
9639: LD_INT 22
9641: PUSH
9642: LD_EXP 1
9646: PUSH
9647: EMPTY
9648: LIST
9649: LIST
9650: PUSH
9651: LD_INT 23
9653: PUSH
9654: LD_INT 1
9656: PUSH
9657: EMPTY
9658: LIST
9659: LIST
9660: PUSH
9661: LD_INT 50
9663: PUSH
9664: EMPTY
9665: LIST
9666: PUSH
9667: EMPTY
9668: LIST
9669: LIST
9670: LIST
9671: PPUSH
9672: CALL_OW 69
9676: ST_TO_ADDR
// tmp2 = unitfilter ( tmp , [ [ f_class , class_scientistic ] , [ f_ok ] ] ) ;
9677: LD_ADDR_VAR 0 2
9681: PUSH
9682: LD_VAR 0 1
9686: PPUSH
9687: LD_INT 25
9689: PUSH
9690: LD_INT 4
9692: PUSH
9693: EMPTY
9694: LIST
9695: LIST
9696: PUSH
9697: LD_INT 50
9699: PUSH
9700: EMPTY
9701: LIST
9702: PUSH
9703: EMPTY
9704: LIST
9705: LIST
9706: PPUSH
9707: CALL_OW 72
9711: ST_TO_ADDR
// dialogueon ;
9712: CALL_OW 6
// if isok ( gossud ) then
9716: LD_EXP 101
9720: PPUSH
9721: CALL_OW 302
9725: IFFALSE 9741
// say ( gossud , DArtef-Gos-1 ) else
9727: LD_EXP 101
9731: PPUSH
9732: LD_STRING DArtef-Gos-1
9734: PPUSH
9735: CALL_OW 88
9739: GO 9787
// if tmp2 then
9741: LD_VAR 0 2
9745: IFFALSE 9765
// say ( tmp2 [ 1 ] , DArtef-RSci1-1 ) else
9747: LD_VAR 0 2
9751: PUSH
9752: LD_INT 1
9754: ARRAY
9755: PPUSH
9756: LD_STRING DArtef-RSci1-1
9758: PPUSH
9759: CALL_OW 88
9763: GO 9787
// if tmp then
9765: LD_VAR 0 1
9769: IFFALSE 9787
// say ( tmp [ 1 ] , DArtef-RSci1-1 ) ;
9771: LD_VAR 0 1
9775: PUSH
9776: LD_INT 1
9778: ARRAY
9779: PPUSH
9780: LD_STRING DArtef-RSci1-1
9782: PPUSH
9783: CALL_OW 88
// if isok ( roth ) then
9787: LD_EXP 106
9791: PPUSH
9792: CALL_OW 302
9796: IFFALSE 9812
// say ( roth , DArtef-Roth-1 ) else
9798: LD_EXP 106
9802: PPUSH
9803: LD_STRING DArtef-Roth-1
9805: PPUSH
9806: CALL_OW 88
9810: GO 9828
// say ( tmp3 [ 1 ] , DArtef-Roth-1 ) ;
9812: LD_VAR 0 3
9816: PUSH
9817: LD_INT 1
9819: ARRAY
9820: PPUSH
9821: LD_STRING DArtef-Roth-1
9823: PPUSH
9824: CALL_OW 88
// say ( burlak , DArtef-Bur-1 ) ;
9828: LD_EXP 83
9832: PPUSH
9833: LD_STRING DArtef-Bur-1
9835: PPUSH
9836: CALL_OW 88
// if roth then
9840: LD_EXP 106
9844: IFFALSE 9860
// say ( roth , DArtef-Roth-2 ) else
9846: LD_EXP 106
9850: PPUSH
9851: LD_STRING DArtef-Roth-2
9853: PPUSH
9854: CALL_OW 88
9858: GO 9876
// say ( tmp3 [ 1 ] , DArtef-Roth-2 ) ;
9860: LD_VAR 0 3
9864: PUSH
9865: LD_INT 1
9867: ARRAY
9868: PPUSH
9869: LD_STRING DArtef-Roth-2
9871: PPUSH
9872: CALL_OW 88
// say ( burlak , DArtef-Bur-2 ) ;
9876: LD_EXP 83
9880: PPUSH
9881: LD_STRING DArtef-Bur-2
9883: PPUSH
9884: CALL_OW 88
// say ( jmm , DArtef-JMM-2 ) ;
9888: LD_EXP 105
9892: PPUSH
9893: LD_STRING DArtef-JMM-2
9895: PPUSH
9896: CALL_OW 88
// dialogueoff ;
9900: CALL_OW 7
// case query ( QBase ) of 1 :
9904: LD_STRING QBase
9906: PPUSH
9907: CALL_OW 97
9911: PUSH
9912: LD_INT 1
9914: DOUBLE
9915: EQUAL
9916: IFTRUE 9920
9918: GO 10078
9920: POP
// begin dialogueon ;
9921: CALL_OW 6
// say ( burlak , DQrBase#1-Bur-1 ) ;
9925: LD_EXP 83
9929: PPUSH
9930: LD_STRING DQrBase#1-Bur-1
9932: PPUSH
9933: CALL_OW 88
// if isok ( gossud ) then
9937: LD_EXP 101
9941: PPUSH
9942: CALL_OW 302
9946: IFFALSE 9962
// say ( gossud , DQrBase#1-Gos-1 ) else
9948: LD_EXP 101
9952: PPUSH
9953: LD_STRING DQrBase#1-Gos-1
9955: PPUSH
9956: CALL_OW 88
9960: GO 10021
// if isok ( roth ) then
9962: LD_EXP 106
9966: PPUSH
9967: CALL_OW 302
9971: IFFALSE 9987
// say ( roth , DQrBase#1-Roth-1 ) else
9973: LD_EXP 106
9977: PPUSH
9978: LD_STRING DQrBase#1-Roth-1
9980: PPUSH
9981: CALL_OW 88
9985: GO 10021
// if tmp ^ tmp3 then
9987: LD_VAR 0 1
9991: PUSH
9992: LD_VAR 0 3
9996: ADD
9997: IFFALSE 10021
// say ( ( tmp ^ tmp3 ) [ 1 ] , DQrBase#1-Roth-1 ) ;
9999: LD_VAR 0 1
10003: PUSH
10004: LD_VAR 0 3
10008: ADD
10009: PUSH
10010: LD_INT 1
10012: ARRAY
10013: PPUSH
10014: LD_STRING DQrBase#1-Roth-1
10016: PPUSH
10017: CALL_OW 88
// say ( burlak , DQrBase#1-Bur-2 ) ;
10021: LD_EXP 83
10025: PPUSH
10026: LD_STRING DQrBase#1-Bur-2
10028: PPUSH
10029: CALL_OW 88
// dialogueoff ;
10033: CALL_OW 7
// case query ( QBaseAgain ) of 1 :
10037: LD_STRING QBaseAgain
10039: PPUSH
10040: CALL_OW 97
10044: PUSH
10045: LD_INT 1
10047: DOUBLE
10048: EQUAL
10049: IFTRUE 10053
10051: GO 10060
10053: POP
// pokec1 ; 2 :
10054: CALL 10126 0 0
10058: GO 10076
10060: LD_INT 2
10062: DOUBLE
10063: EQUAL
10064: IFTRUE 10068
10066: GO 10075
10068: POP
// pokec2 ; end ;
10069: CALL 10201 0 0
10073: GO 10076
10075: POP
// end ; 2 :
10076: GO 10109
10078: LD_INT 2
10080: DOUBLE
10081: EQUAL
10082: IFTRUE 10086
10084: GO 10093
10086: POP
// pokec1 ; 3 :
10087: CALL 10126 0 0
10091: GO 10109
10093: LD_INT 3
10095: DOUBLE
10096: EQUAL
10097: IFTRUE 10101
10099: GO 10108
10101: POP
// pokec2 ; end ;
10102: CALL 10201 0 0
10106: GO 10109
10108: POP
// changemissionobjectives ( MAttack ) ;
10109: LD_STRING MAttack
10111: PPUSH
10112: CALL_OW 337
// update_display ( 1 ) ;
10116: LD_INT 1
10118: PPUSH
10119: CALL 12753 0 1
// end ;
10123: PPOPN 3
10125: END
// function pokec1 ; begin
10126: LD_INT 0
10128: PPUSH
// dialogueon ;
10129: CALL_OW 6
// say ( burlak , DQrBase#2-Bur-1 ) ;
10133: LD_EXP 83
10137: PPUSH
10138: LD_STRING DQrBase#2-Bur-1
10140: PPUSH
10141: CALL_OW 88
// sayradio ( abdul , DQrBase#2-Abd-1 ) ;
10145: LD_EXP 121
10149: PPUSH
10150: LD_STRING DQrBase#2-Abd-1
10152: PPUSH
10153: CALL_OW 94
// say ( burlak , DQrBase#2-Bur-2 ) ;
10157: LD_EXP 83
10161: PPUSH
10162: LD_STRING DQrBase#2-Bur-2
10164: PPUSH
10165: CALL_OW 88
// sayradio ( abdul , DQrBase#2-Abd-2 ) ;
10169: LD_EXP 121
10173: PPUSH
10174: LD_STRING DQrBase#2-Abd-2
10176: PPUSH
10177: CALL_OW 94
// dialogueoff ;
10181: CALL_OW 7
// vyjednavalo_se = true ;
10185: LD_ADDR_EXP 82
10189: PUSH
10190: LD_INT 1
10192: ST_TO_ADDR
// enable ( 07 ) ;
10193: LD_INT 7
10195: ENABLE_MARKED
// end ;
10196: LD_VAR 0 1
10200: RET
// function pokec2 ; begin
10201: LD_INT 0
10203: PPUSH
// dialogueon ;
10204: CALL_OW 6
// say ( burlak , DQrBase#3-Bur-1 ) ;
10208: LD_EXP 83
10212: PPUSH
10213: LD_STRING DQrBase#3-Bur-1
10215: PPUSH
10216: CALL_OW 88
// dialogueoff ;
10220: CALL_OW 7
// end ; end_of_file
10224: LD_VAR 0 1
10228: RET
// export abdul ; export arv1 , arm1 , arv2 , arm2 , arv3 , arm3 , arv4 , arm4 , arv5 , arm5 , arv6 , arm6 , arv7 , arv8 , arv9 , arv10 ; var inzinyrka , mechanic , ar_mech_ctrl , typitomybudovy ; export function prepare_arabians ; var tmp ; begin
10229: LD_INT 0
10231: PPUSH
10232: PPUSH
// uc_side = ar ;
10233: LD_ADDR_OWVAR 20
10237: PUSH
10238: LD_EXP 3
10242: ST_TO_ADDR
// uc_nation = nation_arabian ;
10243: LD_ADDR_OWVAR 21
10247: PUSH
10248: LD_INT 2
10250: ST_TO_ADDR
// preparesoldier ( sex_male , ars0 ) ;
10251: LD_INT 1
10253: PPUSH
10254: LD_EXP 8
10258: PPUSH
10259: CALL_OW 381
// tmp = createhuman ;
10263: LD_ADDR_VAR 0 2
10267: PUSH
10268: CALL_OW 44
10272: ST_TO_ADDR
// placeunitxy ( tmp , 135 , 91 , false ) ;
10273: LD_VAR 0 2
10277: PPUSH
10278: LD_INT 135
10280: PPUSH
10281: LD_INT 91
10283: PPUSH
10284: LD_INT 0
10286: PPUSH
10287: CALL_OW 48
// comenterunit ( tmp , arbunk0 ) ;
10291: LD_VAR 0 2
10295: PPUSH
10296: LD_INT 14
10298: PPUSH
10299: CALL_OW 120
// preparesoldier ( sex_male , ars1 ) ;
10303: LD_INT 1
10305: PPUSH
10306: LD_EXP 9
10310: PPUSH
10311: CALL_OW 381
// tmp = createhuman ;
10315: LD_ADDR_VAR 0 2
10319: PUSH
10320: CALL_OW 44
10324: ST_TO_ADDR
// placeunitxy ( tmp , 138 , 85 , false ) ;
10325: LD_VAR 0 2
10329: PPUSH
10330: LD_INT 138
10332: PPUSH
10333: LD_INT 85
10335: PPUSH
10336: LD_INT 0
10338: PPUSH
10339: CALL_OW 48
// comenterunit ( tmp , arbunk1 ) ;
10343: LD_VAR 0 2
10347: PPUSH
10348: LD_INT 15
10350: PPUSH
10351: CALL_OW 120
// preparesoldier ( sex_male , ars2 ) ;
10355: LD_INT 1
10357: PPUSH
10358: LD_EXP 10
10362: PPUSH
10363: CALL_OW 381
// tmp = createhuman ;
10367: LD_ADDR_VAR 0 2
10371: PUSH
10372: CALL_OW 44
10376: ST_TO_ADDR
// placeunitxy ( tmp , 129 , 78 , false ) ;
10377: LD_VAR 0 2
10381: PPUSH
10382: LD_INT 129
10384: PPUSH
10385: LD_INT 78
10387: PPUSH
10388: LD_INT 0
10390: PPUSH
10391: CALL_OW 48
// comenterunit ( tmp , arbunk2 ) ;
10395: LD_VAR 0 2
10399: PPUSH
10400: LD_INT 13
10402: PPUSH
10403: CALL_OW 120
// preparesoldier ( sex_male , ars3 ) ;
10407: LD_INT 1
10409: PPUSH
10410: LD_EXP 11
10414: PPUSH
10415: CALL_OW 381
// tmp = createhuman ;
10419: LD_ADDR_VAR 0 2
10423: PUSH
10424: CALL_OW 44
10428: ST_TO_ADDR
// placeunitxy ( tmp , 115 , 44 , false ) ;
10429: LD_VAR 0 2
10433: PPUSH
10434: LD_INT 115
10436: PPUSH
10437: LD_INT 44
10439: PPUSH
10440: LD_INT 0
10442: PPUSH
10443: CALL_OW 48
// comenterunit ( tmp , arbunk3 ) ;
10447: LD_VAR 0 2
10451: PPUSH
10452: LD_INT 16
10454: PPUSH
10455: CALL_OW 120
// preparesoldier ( sex_male , ars4 ) ;
10459: LD_INT 1
10461: PPUSH
10462: LD_EXP 12
10466: PPUSH
10467: CALL_OW 381
// tmp = createhuman ;
10471: LD_ADDR_VAR 0 2
10475: PUSH
10476: CALL_OW 44
10480: ST_TO_ADDR
// placeunitxy ( tmp , 125 , 37 , false ) ;
10481: LD_VAR 0 2
10485: PPUSH
10486: LD_INT 125
10488: PPUSH
10489: LD_INT 37
10491: PPUSH
10492: LD_INT 0
10494: PPUSH
10495: CALL_OW 48
// comenterunit ( tmp , arbunk4 ) ;
10499: LD_VAR 0 2
10503: PPUSH
10504: LD_INT 17
10506: PPUSH
10507: CALL_OW 120
// preparesoldier ( sex_male , ars5 ) ;
10511: LD_INT 1
10513: PPUSH
10514: LD_EXP 13
10518: PPUSH
10519: CALL_OW 381
// tmp = createhuman ;
10523: LD_ADDR_VAR 0 2
10527: PUSH
10528: CALL_OW 44
10532: ST_TO_ADDR
// placeunitxy ( tmp , 132 , 33 , false ) ;
10533: LD_VAR 0 2
10537: PPUSH
10538: LD_INT 132
10540: PPUSH
10541: LD_INT 33
10543: PPUSH
10544: LD_INT 0
10546: PPUSH
10547: CALL_OW 48
// comenterunit ( tmp , arbunk5 ) ;
10551: LD_VAR 0 2
10555: PPUSH
10556: LD_INT 18
10558: PPUSH
10559: CALL_OW 120
// if difficulty = 1 then
10563: LD_OWVAR 67
10567: PUSH
10568: LD_INT 1
10570: EQUAL
10571: IFFALSE 10865
// begin preparehuman ( sex_male , class_mortar , ars6 ) ;
10573: LD_INT 1
10575: PPUSH
10576: LD_INT 8
10578: PPUSH
10579: LD_EXP 14
10583: PPUSH
10584: CALL_OW 380
// tmp = createhuman ;
10588: LD_ADDR_VAR 0 2
10592: PUSH
10593: CALL_OW 44
10597: ST_TO_ADDR
// placeunitxyr ( tmp , 134 , 75 , 1 , false ) ;
10598: LD_VAR 0 2
10602: PPUSH
10603: LD_INT 134
10605: PPUSH
10606: LD_INT 75
10608: PPUSH
10609: LD_INT 1
10611: PPUSH
10612: LD_INT 0
10614: PPUSH
10615: CALL_OW 50
// comenterunit ( tmp , arbarr ) ;
10619: LD_VAR 0 2
10623: PPUSH
10624: LD_INT 2
10626: PPUSH
10627: CALL_OW 120
// preparehuman ( sex_male , class_soldier , ars7 ) ;
10631: LD_INT 1
10633: PPUSH
10634: LD_INT 1
10636: PPUSH
10637: LD_EXP 15
10641: PPUSH
10642: CALL_OW 380
// tmp = createhuman ;
10646: LD_ADDR_VAR 0 2
10650: PUSH
10651: CALL_OW 44
10655: ST_TO_ADDR
// placeunitxyr ( tmp , 134 , 75 , 1 , false ) ;
10656: LD_VAR 0 2
10660: PPUSH
10661: LD_INT 134
10663: PPUSH
10664: LD_INT 75
10666: PPUSH
10667: LD_INT 1
10669: PPUSH
10670: LD_INT 0
10672: PPUSH
10673: CALL_OW 50
// comenterunit ( tmp , arbarr ) ;
10677: LD_VAR 0 2
10681: PPUSH
10682: LD_INT 2
10684: PPUSH
10685: CALL_OW 120
// preparehuman ( sex_male , class_soldier , ars8 ) ;
10689: LD_INT 1
10691: PPUSH
10692: LD_INT 1
10694: PPUSH
10695: LD_EXP 16
10699: PPUSH
10700: CALL_OW 380
// tmp = createhuman ;
10704: LD_ADDR_VAR 0 2
10708: PUSH
10709: CALL_OW 44
10713: ST_TO_ADDR
// placeunitxyr ( tmp , 134 , 75 , 1 , false ) ;
10714: LD_VAR 0 2
10718: PPUSH
10719: LD_INT 134
10721: PPUSH
10722: LD_INT 75
10724: PPUSH
10725: LD_INT 1
10727: PPUSH
10728: LD_INT 0
10730: PPUSH
10731: CALL_OW 50
// comenterunit ( tmp , arbarr ) ;
10735: LD_VAR 0 2
10739: PPUSH
10740: LD_INT 2
10742: PPUSH
10743: CALL_OW 120
// preparehuman ( sex_male , class_soldier , ars9 ) ;
10747: LD_INT 1
10749: PPUSH
10750: LD_INT 1
10752: PPUSH
10753: LD_EXP 17
10757: PPUSH
10758: CALL_OW 380
// tmp = createhuman ;
10762: LD_ADDR_VAR 0 2
10766: PUSH
10767: CALL_OW 44
10771: ST_TO_ADDR
// placeunitxyr ( tmp , 134 , 75 , 1 , false ) ;
10772: LD_VAR 0 2
10776: PPUSH
10777: LD_INT 134
10779: PPUSH
10780: LD_INT 75
10782: PPUSH
10783: LD_INT 1
10785: PPUSH
10786: LD_INT 0
10788: PPUSH
10789: CALL_OW 50
// comenterunit ( tmp , arbarr ) ;
10793: LD_VAR 0 2
10797: PPUSH
10798: LD_INT 2
10800: PPUSH
10801: CALL_OW 120
// preparehuman ( sex_male , class_soldier , ars10 ) ;
10805: LD_INT 1
10807: PPUSH
10808: LD_INT 1
10810: PPUSH
10811: LD_EXP 18
10815: PPUSH
10816: CALL_OW 380
// tmp = createhuman ;
10820: LD_ADDR_VAR 0 2
10824: PUSH
10825: CALL_OW 44
10829: ST_TO_ADDR
// placeunitxyr ( tmp , 134 , 75 , 1 , false ) ;
10830: LD_VAR 0 2
10834: PPUSH
10835: LD_INT 134
10837: PPUSH
10838: LD_INT 75
10840: PPUSH
10841: LD_INT 1
10843: PPUSH
10844: LD_INT 0
10846: PPUSH
10847: CALL_OW 50
// comenterunit ( tmp , arbarr ) ;
10851: LD_VAR 0 2
10855: PPUSH
10856: LD_INT 2
10858: PPUSH
10859: CALL_OW 120
// end else
10863: GO 11283
// begin preparehuman ( sex_male , class_mortar , ars6 ) ;
10865: LD_INT 1
10867: PPUSH
10868: LD_INT 8
10870: PPUSH
10871: LD_EXP 14
10875: PPUSH
10876: CALL_OW 380
// tmp = createhuman ;
10880: LD_ADDR_VAR 0 2
10884: PUSH
10885: CALL_OW 44
10889: ST_TO_ADDR
// placeunitxyr ( tmp , 134 , 75 , 1 , false ) ;
10890: LD_VAR 0 2
10894: PPUSH
10895: LD_INT 134
10897: PPUSH
10898: LD_INT 75
10900: PPUSH
10901: LD_INT 1
10903: PPUSH
10904: LD_INT 0
10906: PPUSH
10907: CALL_OW 50
// comenterunit ( tmp , arbarr ) ;
10911: LD_VAR 0 2
10915: PPUSH
10916: LD_INT 2
10918: PPUSH
10919: CALL_OW 120
// preparehuman ( sex_male , class_mortar , ars7 ) ;
10923: LD_INT 1
10925: PPUSH
10926: LD_INT 8
10928: PPUSH
10929: LD_EXP 15
10933: PPUSH
10934: CALL_OW 380
// tmp = createhuman ;
10938: LD_ADDR_VAR 0 2
10942: PUSH
10943: CALL_OW 44
10947: ST_TO_ADDR
// placeunitxyr ( tmp , 134 , 75 , 1 , false ) ;
10948: LD_VAR 0 2
10952: PPUSH
10953: LD_INT 134
10955: PPUSH
10956: LD_INT 75
10958: PPUSH
10959: LD_INT 1
10961: PPUSH
10962: LD_INT 0
10964: PPUSH
10965: CALL_OW 50
// comenterunit ( tmp , arbarr ) ;
10969: LD_VAR 0 2
10973: PPUSH
10974: LD_INT 2
10976: PPUSH
10977: CALL_OW 120
// preparehuman ( sex_male , class_soldier , ars8 ) ;
10981: LD_INT 1
10983: PPUSH
10984: LD_INT 1
10986: PPUSH
10987: LD_EXP 16
10991: PPUSH
10992: CALL_OW 380
// tmp = createhuman ;
10996: LD_ADDR_VAR 0 2
11000: PUSH
11001: CALL_OW 44
11005: ST_TO_ADDR
// placeunitxyr ( tmp , 134 , 75 , 1 , false ) ;
11006: LD_VAR 0 2
11010: PPUSH
11011: LD_INT 134
11013: PPUSH
11014: LD_INT 75
11016: PPUSH
11017: LD_INT 1
11019: PPUSH
11020: LD_INT 0
11022: PPUSH
11023: CALL_OW 50
// comenterunit ( tmp , arbarr ) ;
11027: LD_VAR 0 2
11031: PPUSH
11032: LD_INT 2
11034: PPUSH
11035: CALL_OW 120
// if difficulty > 2 then
11039: LD_OWVAR 67
11043: PUSH
11044: LD_INT 2
11046: GREATER
11047: IFFALSE 11167
// begin preparehuman ( sex_male , class_mortar , ars9 ) ;
11049: LD_INT 1
11051: PPUSH
11052: LD_INT 8
11054: PPUSH
11055: LD_EXP 17
11059: PPUSH
11060: CALL_OW 380
// tmp = createhuman ;
11064: LD_ADDR_VAR 0 2
11068: PUSH
11069: CALL_OW 44
11073: ST_TO_ADDR
// placeunitxyr ( tmp , 134 , 75 , 1 , false ) ;
11074: LD_VAR 0 2
11078: PPUSH
11079: LD_INT 134
11081: PPUSH
11082: LD_INT 75
11084: PPUSH
11085: LD_INT 1
11087: PPUSH
11088: LD_INT 0
11090: PPUSH
11091: CALL_OW 50
// comenterunit ( tmp , arbarr ) ;
11095: LD_VAR 0 2
11099: PPUSH
11100: LD_INT 2
11102: PPUSH
11103: CALL_OW 120
// preparehuman ( sex_male , class_mortar , ars10 ) ;
11107: LD_INT 1
11109: PPUSH
11110: LD_INT 8
11112: PPUSH
11113: LD_EXP 18
11117: PPUSH
11118: CALL_OW 380
// tmp = createhuman ;
11122: LD_ADDR_VAR 0 2
11126: PUSH
11127: CALL_OW 44
11131: ST_TO_ADDR
// placeunitxyr ( tmp , 134 , 75 , 1 , false ) ;
11132: LD_VAR 0 2
11136: PPUSH
11137: LD_INT 134
11139: PPUSH
11140: LD_INT 75
11142: PPUSH
11143: LD_INT 1
11145: PPUSH
11146: LD_INT 0
11148: PPUSH
11149: CALL_OW 50
// comenterunit ( tmp , arbarr ) ;
11153: LD_VAR 0 2
11157: PPUSH
11158: LD_INT 2
11160: PPUSH
11161: CALL_OW 120
// end else
11165: GO 11283
// begin preparehuman ( sex_male , class_mortar , ars9 ) ;
11167: LD_INT 1
11169: PPUSH
11170: LD_INT 8
11172: PPUSH
11173: LD_EXP 17
11177: PPUSH
11178: CALL_OW 380
// tmp = createhuman ;
11182: LD_ADDR_VAR 0 2
11186: PUSH
11187: CALL_OW 44
11191: ST_TO_ADDR
// placeunitxyr ( tmp , 134 , 75 , 1 , false ) ;
11192: LD_VAR 0 2
11196: PPUSH
11197: LD_INT 134
11199: PPUSH
11200: LD_INT 75
11202: PPUSH
11203: LD_INT 1
11205: PPUSH
11206: LD_INT 0
11208: PPUSH
11209: CALL_OW 50
// comenterunit ( tmp , arbarr ) ;
11213: LD_VAR 0 2
11217: PPUSH
11218: LD_INT 2
11220: PPUSH
11221: CALL_OW 120
// preparehuman ( sex_male , class_soldier , ars10 ) ;
11225: LD_INT 1
11227: PPUSH
11228: LD_INT 1
11230: PPUSH
11231: LD_EXP 18
11235: PPUSH
11236: CALL_OW 380
// tmp = createhuman ;
11240: LD_ADDR_VAR 0 2
11244: PUSH
11245: CALL_OW 44
11249: ST_TO_ADDR
// placeunitxyr ( tmp , 134 , 75 , 1 , false ) ;
11250: LD_VAR 0 2
11254: PPUSH
11255: LD_INT 134
11257: PPUSH
11258: LD_INT 75
11260: PPUSH
11261: LD_INT 1
11263: PPUSH
11264: LD_INT 0
11266: PPUSH
11267: CALL_OW 50
// comenterunit ( tmp , arbarr ) ;
11271: LD_VAR 0 2
11275: PPUSH
11276: LD_INT 2
11278: PPUSH
11279: CALL_OW 120
// end ; end ; preparemechanic ( sex_female , 8 ) ;
11283: LD_INT 2
11285: PPUSH
11286: LD_INT 8
11288: PPUSH
11289: CALL_OW 383
// mechanic = createhuman ;
11293: LD_ADDR_LOC 11
11297: PUSH
11298: CALL_OW 44
11302: ST_TO_ADDR
// placeunitxy ( mechanic , 133 , 54 , false ) ;
11303: LD_LOC 11
11307: PPUSH
11308: LD_INT 133
11310: PPUSH
11311: LD_INT 54
11313: PPUSH
11314: LD_INT 0
11316: PPUSH
11317: CALL_OW 48
// comenterunit ( mechanic , arfact00 ) ;
11321: LD_LOC 11
11325: PPUSH
11326: LD_INT 4
11328: PPUSH
11329: CALL_OW 120
// prepareengineer ( sex_female , 7 ) ;
11333: LD_INT 2
11335: PPUSH
11336: LD_INT 7
11338: PPUSH
11339: CALL_OW 382
// inzinyrka = createhuman ;
11343: LD_ADDR_LOC 10
11347: PUSH
11348: CALL_OW 44
11352: ST_TO_ADDR
// placeunitxy ( inzinyrka , 134 , 61 , false ) ;
11353: LD_LOC 10
11357: PPUSH
11358: LD_INT 134
11360: PPUSH
11361: LD_INT 61
11363: PPUSH
11364: LD_INT 0
11366: PPUSH
11367: CALL_OW 48
// comenterunit ( inzinyrka , ar_depot ) ;
11371: LD_LOC 10
11375: PPUSH
11376: LD_INT 1
11378: PPUSH
11379: CALL_OW 120
// if checkcharacterset ( Abdul ) then
11383: LD_STRING Abdul
11385: PPUSH
11386: CALL_OW 29
11390: IFFALSE 11410
// abdul = createcharacterwithclass ( Abdul , class_desert_warior ) else
11392: LD_ADDR_EXP 121
11396: PUSH
11397: LD_STRING Abdul
11399: PPUSH
11400: LD_INT 11
11402: PPUSH
11403: CALL_OW 35
11407: ST_TO_ADDR
11408: GO 11423
// buildquery ( neny Abdul , [ OK ] ) ;
11410: LD_STRING neny Abdul
11412: PPUSH
11413: LD_STRING OK
11415: PUSH
11416: EMPTY
11417: LIST
11418: PPUSH
11419: CALL_OW 99
// placeunitxyr ( abdul , 140 , 65 , 3 , false ) ;
11423: LD_EXP 121
11427: PPUSH
11428: LD_INT 140
11430: PPUSH
11431: LD_INT 65
11433: PPUSH
11434: LD_INT 3
11436: PPUSH
11437: LD_INT 0
11439: PPUSH
11440: CALL_OW 50
// addcomenterunit ( abdul , abduluv ) ;
11444: LD_EXP 121
11448: PPUSH
11449: LD_INT 22
11451: PPUSH
11452: CALL_OW 180
// preparemechanic ( sex_female , arm0 ) ;
11456: LD_INT 2
11458: PPUSH
11459: LD_EXP 19
11463: PPUSH
11464: CALL_OW 383
// tmp = createhuman ;
11468: LD_ADDR_VAR 0 2
11472: PUSH
11473: CALL_OW 44
11477: ST_TO_ADDR
// ar_mech_ctrl = tmp ;
11478: LD_ADDR_LOC 12
11482: PUSH
11483: LD_VAR 0 2
11487: ST_TO_ADDR
// placehumaninunit ( tmp , ctrl_twr ) ;
11488: LD_VAR 0 2
11492: PPUSH
11493: LD_INT 24
11495: PPUSH
11496: CALL_OW 52
// setcargo ( nakladak , mat_artefact , 50 ) ;
11500: LD_INT 23
11502: PPUSH
11503: LD_INT 4
11505: PPUSH
11506: LD_INT 50
11508: PPUSH
11509: CALL_OW 290
// preparemechanic ( sex_male , 7 ) ;
11513: LD_INT 1
11515: PPUSH
11516: LD_INT 7
11518: PPUSH
11519: CALL_OW 383
// placehumaninunit ( createhuman , nakladak ) ;
11523: CALL_OW 44
11527: PPUSH
11528: LD_INT 23
11530: PPUSH
11531: CALL_OW 52
// vc_engine = engine_siberite ;
11535: LD_ADDR_OWVAR 39
11539: PUSH
11540: LD_INT 3
11542: ST_TO_ADDR
// vc_control = control_manual ;
11543: LD_ADDR_OWVAR 38
11547: PUSH
11548: LD_INT 1
11550: ST_TO_ADDR
// vc_chassis = arv1_ch ;
11551: LD_ADDR_OWVAR 37
11555: PUSH
11556: LD_EXP 20
11560: ST_TO_ADDR
// vc_weapon = arv1_wp ;
11561: LD_ADDR_OWVAR 40
11565: PUSH
11566: LD_EXP 21
11570: ST_TO_ADDR
// arv1 = createvehicle ;
11571: LD_ADDR_EXP 122
11575: PUSH
11576: CALL_OW 45
11580: ST_TO_ADDR
// setdir ( arv1 , 5 ) ;
11581: LD_EXP 122
11585: PPUSH
11586: LD_INT 5
11588: PPUSH
11589: CALL_OW 233
// placeunitxy ( arv1 , 128 , 38 , false ) ;
11593: LD_EXP 122
11597: PPUSH
11598: LD_INT 128
11600: PPUSH
11601: LD_INT 38
11603: PPUSH
11604: LD_INT 0
11606: PPUSH
11607: CALL_OW 48
// preparemechanic ( sex_male , arm1_sk ) ;
11611: LD_INT 1
11613: PPUSH
11614: LD_EXP 22
11618: PPUSH
11619: CALL_OW 383
// arm1 = createhuman ;
11623: LD_ADDR_EXP 123
11627: PUSH
11628: CALL_OW 44
11632: ST_TO_ADDR
// placehumaninunit ( arm1 , arv1 ) ;
11633: LD_EXP 123
11637: PPUSH
11638: LD_EXP 122
11642: PPUSH
11643: CALL_OW 52
// vc_chassis = arv2_ch ;
11647: LD_ADDR_OWVAR 37
11651: PUSH
11652: LD_EXP 23
11656: ST_TO_ADDR
// vc_weapon = arv2_wp ;
11657: LD_ADDR_OWVAR 40
11661: PUSH
11662: LD_EXP 24
11666: ST_TO_ADDR
// arv2 = createvehicle ;
11667: LD_ADDR_EXP 124
11671: PUSH
11672: CALL_OW 45
11676: ST_TO_ADDR
// setdir ( arv2 , 4 ) ;
11677: LD_EXP 124
11681: PPUSH
11682: LD_INT 4
11684: PPUSH
11685: CALL_OW 233
// placeunitxy ( arv2 , 141 , 89 , false ) ;
11689: LD_EXP 124
11693: PPUSH
11694: LD_INT 141
11696: PPUSH
11697: LD_INT 89
11699: PPUSH
11700: LD_INT 0
11702: PPUSH
11703: CALL_OW 48
// preparemechanic ( sex_male , arm2_sk ) ;
11707: LD_INT 1
11709: PPUSH
11710: LD_EXP 25
11714: PPUSH
11715: CALL_OW 383
// arm2 = createhuman ;
11719: LD_ADDR_EXP 125
11723: PUSH
11724: CALL_OW 44
11728: ST_TO_ADDR
// placehumaninunit ( arm2 , arv2 ) ;
11729: LD_EXP 125
11733: PPUSH
11734: LD_EXP 124
11738: PPUSH
11739: CALL_OW 52
// if difficulty = 2 then
11743: LD_OWVAR 67
11747: PUSH
11748: LD_INT 2
11750: EQUAL
11751: IFFALSE 11849
// begin vc_chassis = arv3_ch ;
11753: LD_ADDR_OWVAR 37
11757: PUSH
11758: LD_EXP 26
11762: ST_TO_ADDR
// vc_weapon = arv3_wp ;
11763: LD_ADDR_OWVAR 40
11767: PUSH
11768: LD_EXP 27
11772: ST_TO_ADDR
// arv3 = createvehicle ;
11773: LD_ADDR_EXP 126
11777: PUSH
11778: CALL_OW 45
11782: ST_TO_ADDR
// setdir ( arv3 , 3 ) ;
11783: LD_EXP 126
11787: PPUSH
11788: LD_INT 3
11790: PPUSH
11791: CALL_OW 233
// placeunitxy ( arv3 , 126 , 74 , false ) ;
11795: LD_EXP 126
11799: PPUSH
11800: LD_INT 126
11802: PPUSH
11803: LD_INT 74
11805: PPUSH
11806: LD_INT 0
11808: PPUSH
11809: CALL_OW 48
// preparemechanic ( sex_male , arm3_sk ) ;
11813: LD_INT 1
11815: PPUSH
11816: LD_EXP 28
11820: PPUSH
11821: CALL_OW 383
// arm3 = createhuman ;
11825: LD_ADDR_EXP 127
11829: PUSH
11830: CALL_OW 44
11834: ST_TO_ADDR
// placehumaninunit ( arm3 , arv3 ) ;
11835: LD_EXP 127
11839: PPUSH
11840: LD_EXP 126
11844: PPUSH
11845: CALL_OW 52
// end ; vc_chassis = arv4_ch ;
11849: LD_ADDR_OWVAR 37
11853: PUSH
11854: LD_EXP 29
11858: ST_TO_ADDR
// vc_weapon = arv4_wp ;
11859: LD_ADDR_OWVAR 40
11863: PUSH
11864: LD_EXP 30
11868: ST_TO_ADDR
// arv4 = createvehicle ;
11869: LD_ADDR_EXP 128
11873: PUSH
11874: CALL_OW 45
11878: ST_TO_ADDR
// setdir ( arv4 , 5 ) ;
11879: LD_EXP 128
11883: PPUSH
11884: LD_INT 5
11886: PPUSH
11887: CALL_OW 233
// placeunitxy ( arv4 , 121 , 41 , false ) ;
11891: LD_EXP 128
11895: PPUSH
11896: LD_INT 121
11898: PPUSH
11899: LD_INT 41
11901: PPUSH
11902: LD_INT 0
11904: PPUSH
11905: CALL_OW 48
// preparemechanic ( sex_male , arm4_sk ) ;
11909: LD_INT 1
11911: PPUSH
11912: LD_EXP 31
11916: PPUSH
11917: CALL_OW 383
// arm4 = createhuman ;
11921: LD_ADDR_EXP 129
11925: PUSH
11926: CALL_OW 44
11930: ST_TO_ADDR
// placehumaninunit ( arm4 , arv4 ) ;
11931: LD_EXP 129
11935: PPUSH
11936: LD_EXP 128
11940: PPUSH
11941: CALL_OW 52
// vc_engine = engine_solar ;
11945: LD_ADDR_OWVAR 39
11949: PUSH
11950: LD_INT 2
11952: ST_TO_ADDR
// vc_chassis = arv5_ch ;
11953: LD_ADDR_OWVAR 37
11957: PUSH
11958: LD_EXP 32
11962: ST_TO_ADDR
// vc_weapon = arv5_wp ;
11963: LD_ADDR_OWVAR 40
11967: PUSH
11968: LD_EXP 33
11972: ST_TO_ADDR
// arv5 = createvehicle ;
11973: LD_ADDR_EXP 130
11977: PUSH
11978: CALL_OW 45
11982: ST_TO_ADDR
// setdir ( arv5 , 0 ) ;
11983: LD_EXP 130
11987: PPUSH
11988: LD_INT 0
11990: PPUSH
11991: CALL_OW 233
// placeunitxy ( arv5 , 118 , 44 , false ) ;
11995: LD_EXP 130
11999: PPUSH
12000: LD_INT 118
12002: PPUSH
12003: LD_INT 44
12005: PPUSH
12006: LD_INT 0
12008: PPUSH
12009: CALL_OW 48
// preparemechanic ( sex_male , arm5_sk ) ;
12013: LD_INT 1
12015: PPUSH
12016: LD_EXP 34
12020: PPUSH
12021: CALL_OW 383
// arm5 = createhuman ;
12025: LD_ADDR_EXP 131
12029: PUSH
12030: CALL_OW 44
12034: ST_TO_ADDR
// placehumaninunit ( arm5 , arv5 ) ;
12035: LD_EXP 131
12039: PPUSH
12040: LD_EXP 130
12044: PPUSH
12045: CALL_OW 52
// vc_engine = engine_siberite ;
12049: LD_ADDR_OWVAR 39
12053: PUSH
12054: LD_INT 3
12056: ST_TO_ADDR
// vc_chassis = arv6_ch ;
12057: LD_ADDR_OWVAR 37
12061: PUSH
12062: LD_EXP 35
12066: ST_TO_ADDR
// vc_weapon = arv6_wp ;
12067: LD_ADDR_OWVAR 40
12071: PUSH
12072: LD_EXP 36
12076: ST_TO_ADDR
// arv6 = createvehicle ;
12077: LD_ADDR_EXP 132
12081: PUSH
12082: CALL_OW 45
12086: ST_TO_ADDR
// setdir ( arv6 , 5 ) ;
12087: LD_EXP 132
12091: PPUSH
12092: LD_INT 5
12094: PPUSH
12095: CALL_OW 233
// placeunitxy ( arv6 , 129 , 35 , false ) ;
12099: LD_EXP 132
12103: PPUSH
12104: LD_INT 129
12106: PPUSH
12107: LD_INT 35
12109: PPUSH
12110: LD_INT 0
12112: PPUSH
12113: CALL_OW 48
// preparemechanic ( sex_male , arm6_sk ) ;
12117: LD_INT 1
12119: PPUSH
12120: LD_EXP 37
12124: PPUSH
12125: CALL_OW 383
// arm6 = createhuman ;
12129: LD_ADDR_EXP 133
12133: PUSH
12134: CALL_OW 44
12138: ST_TO_ADDR
// placehumaninunit ( arm6 , arv6 ) ;
12139: LD_EXP 133
12143: PPUSH
12144: LD_EXP 132
12148: PPUSH
12149: CALL_OW 52
// comremember ( [ arv1 , arv2 , arv3 , arv4 , arv5 , arv6 ] ) ;
12153: LD_EXP 122
12157: PUSH
12158: LD_EXP 124
12162: PUSH
12163: LD_EXP 126
12167: PUSH
12168: LD_EXP 128
12172: PUSH
12173: LD_EXP 130
12177: PUSH
12178: LD_EXP 132
12182: PUSH
12183: EMPTY
12184: LIST
12185: LIST
12186: LIST
12187: LIST
12188: LIST
12189: LIST
12190: PPUSH
12191: CALL_OW 143
// vc_control = control_remote ;
12195: LD_ADDR_OWVAR 38
12199: PUSH
12200: LD_INT 2
12202: ST_TO_ADDR
// if difficulty > 2 then
12203: LD_OWVAR 67
12207: PUSH
12208: LD_INT 2
12210: GREATER
12211: IFFALSE 12379
// begin vc_chassis = arv7_ch ;
12213: LD_ADDR_OWVAR 37
12217: PUSH
12218: LD_EXP 38
12222: ST_TO_ADDR
// vc_weapon = arv7_wp ;
12223: LD_ADDR_OWVAR 40
12227: PUSH
12228: LD_EXP 39
12232: ST_TO_ADDR
// arv7 = createvehicle ;
12233: LD_ADDR_EXP 134
12237: PUSH
12238: CALL_OW 45
12242: ST_TO_ADDR
// setdir ( arv7 , 4 ) ;
12243: LD_EXP 134
12247: PPUSH
12248: LD_INT 4
12250: PPUSH
12251: CALL_OW 233
// placeunitxy ( arv7 , 136 , 88 , false ) ;
12255: LD_EXP 134
12259: PPUSH
12260: LD_INT 136
12262: PPUSH
12263: LD_INT 88
12265: PPUSH
12266: LD_INT 0
12268: PPUSH
12269: CALL_OW 48
// linkvehicletohuman ( arv7 , tmp ) ;
12273: LD_EXP 134
12277: PPUSH
12278: LD_VAR 0 2
12282: PPUSH
12283: CALL_OW 53
// vc_chassis = arv8_ch ;
12287: LD_ADDR_OWVAR 37
12291: PUSH
12292: LD_EXP 40
12296: ST_TO_ADDR
// vc_weapon = arv8_wp ;
12297: LD_ADDR_OWVAR 40
12301: PUSH
12302: LD_EXP 41
12306: ST_TO_ADDR
// arv8 = createvehicle ;
12307: LD_ADDR_EXP 135
12311: PUSH
12312: CALL_OW 45
12316: ST_TO_ADDR
// setdir ( arv8 , 3 ) ;
12317: LD_EXP 135
12321: PPUSH
12322: LD_INT 3
12324: PPUSH
12325: CALL_OW 233
// placeunitxy ( arv8 , 132 , 81 , false ) ;
12329: LD_EXP 135
12333: PPUSH
12334: LD_INT 132
12336: PPUSH
12337: LD_INT 81
12339: PPUSH
12340: LD_INT 0
12342: PPUSH
12343: CALL_OW 48
// linkvehicletohuman ( arv8 , tmp ) ;
12347: LD_EXP 135
12351: PPUSH
12352: LD_VAR 0 2
12356: PPUSH
12357: CALL_OW 53
// comremember ( [ arv7 , arv8 ] ) ;
12361: LD_EXP 134
12365: PUSH
12366: LD_EXP 135
12370: PUSH
12371: EMPTY
12372: LIST
12373: LIST
12374: PPUSH
12375: CALL_OW 143
// end ; if difficulty > 2 then
12379: LD_OWVAR 67
12383: PUSH
12384: LD_INT 2
12386: GREATER
12387: IFFALSE 12481
// begin vc_chassis = arv10_ch ;
12389: LD_ADDR_OWVAR 37
12393: PUSH
12394: LD_EXP 44
12398: ST_TO_ADDR
// vc_weapon = arv10_wp ;
12399: LD_ADDR_OWVAR 40
12403: PUSH
12404: LD_EXP 45
12408: ST_TO_ADDR
// arv10 = createvehicle ;
12409: LD_ADDR_EXP 137
12413: PUSH
12414: CALL_OW 45
12418: ST_TO_ADDR
// setdir ( arv10 , 5 ) ;
12419: LD_EXP 137
12423: PPUSH
12424: LD_INT 5
12426: PPUSH
12427: CALL_OW 233
// placeunitxy ( arv10 , 125 , 40 , false ) ;
12431: LD_EXP 137
12435: PPUSH
12436: LD_INT 125
12438: PPUSH
12439: LD_INT 40
12441: PPUSH
12442: LD_INT 0
12444: PPUSH
12445: CALL_OW 48
// linkvehicletohuman ( arv10 , tmp ) ;
12449: LD_EXP 137
12453: PPUSH
12454: LD_VAR 0 2
12458: PPUSH
12459: CALL_OW 53
// comremember ( [ arv9 , arv10 ] ) ;
12463: LD_EXP 136
12467: PUSH
12468: LD_EXP 137
12472: PUSH
12473: EMPTY
12474: LIST
12475: LIST
12476: PPUSH
12477: CALL_OW 143
// end ; typitomybudovy = filterallunits ( [ [ f_side , ar ] , [ f_type , unit_building ] ] ) ;
12481: LD_ADDR_LOC 13
12485: PUSH
12486: LD_INT 22
12488: PUSH
12489: LD_EXP 3
12493: PUSH
12494: EMPTY
12495: LIST
12496: LIST
12497: PUSH
12498: LD_INT 21
12500: PUSH
12501: LD_INT 3
12503: PUSH
12504: EMPTY
12505: LIST
12506: LIST
12507: PUSH
12508: EMPTY
12509: LIST
12510: LIST
12511: PPUSH
12512: CALL_OW 69
12516: ST_TO_ADDR
// hiddencamera ( 117 , 15 , ar ) ;
12517: LD_INT 117
12519: PPUSH
12520: LD_INT 15
12522: PPUSH
12523: LD_EXP 3
12527: PPUSH
12528: CALL_OW 244
// hiddencamera ( 111 , 18 , ar ) ;
12532: LD_INT 111
12534: PPUSH
12535: LD_INT 18
12537: PPUSH
12538: LD_EXP 3
12542: PPUSH
12543: CALL_OW 244
// hiddencamera ( 107 , 18 , ar ) ;
12547: LD_INT 107
12549: PPUSH
12550: LD_INT 18
12552: PPUSH
12553: LD_EXP 3
12557: PPUSH
12558: CALL_OW 244
// hiddencamera ( 108 , 23 , ar ) ;
12562: LD_INT 108
12564: PPUSH
12565: LD_INT 23
12567: PPUSH
12568: LD_EXP 3
12572: PPUSH
12573: CALL_OW 244
// hiddencamera ( 122 , 18 , ar ) ;
12577: LD_INT 122
12579: PPUSH
12580: LD_INT 18
12582: PPUSH
12583: LD_EXP 3
12587: PPUSH
12588: CALL_OW 244
// hiddencamera ( 102 , 22 , ar ) ;
12592: LD_INT 102
12594: PPUSH
12595: LD_INT 22
12597: PPUSH
12598: LD_EXP 3
12602: PPUSH
12603: CALL_OW 244
// hiddencamera ( 107 , 29 , ar ) ;
12607: LD_INT 107
12609: PPUSH
12610: LD_INT 29
12612: PPUSH
12613: LD_EXP 3
12617: PPUSH
12618: CALL_OW 244
// regid = mcregistry ( ar , [ [ mc_reg_area_to_guard , area4reg ] , [ mc_reg_refresh_time , 13 ] ] ) ;
12622: LD_ADDR_LOC 14
12626: PUSH
12627: LD_EXP 3
12631: PPUSH
12632: LD_INT 2
12634: PUSH
12635: LD_INT 13
12637: PUSH
12638: EMPTY
12639: LIST
12640: LIST
12641: PUSH
12642: LD_INT 1
12644: PUSH
12645: LD_INT 13
12647: PUSH
12648: EMPTY
12649: LIST
12650: LIST
12651: PUSH
12652: EMPTY
12653: LIST
12654: LIST
12655: PPUSH
12656: CALL_OW 399
12660: ST_TO_ADDR
// defid = mcdefend ( 100 , regid , [ ars3 , ars4 , ars5 , arm1 , arm4 , arm5 , arm6 , ars9 , ars10 ] , [ [ mc_area_dont_leave , area4reg ] ] ) ;
12661: LD_ADDR_LOC 15
12665: PUSH
12666: LD_INT 100
12668: PPUSH
12669: LD_LOC 14
12673: PPUSH
12674: LD_EXP 11
12678: PUSH
12679: LD_EXP 12
12683: PUSH
12684: LD_EXP 13
12688: PUSH
12689: LD_EXP 123
12693: PUSH
12694: LD_EXP 129
12698: PUSH
12699: LD_EXP 131
12703: PUSH
12704: LD_EXP 133
12708: PUSH
12709: LD_EXP 17
12713: PUSH
12714: LD_EXP 18
12718: PUSH
12719: EMPTY
12720: LIST
12721: LIST
12722: LIST
12723: LIST
12724: LIST
12725: LIST
12726: LIST
12727: LIST
12728: LIST
12729: PPUSH
12730: LD_INT 2
12732: PUSH
12733: LD_INT 13
12735: PUSH
12736: EMPTY
12737: LIST
12738: LIST
12739: PUSH
12740: EMPTY
12741: LIST
12742: PPUSH
12743: CALL_OW 401
12747: ST_TO_ADDR
// end ;
12748: LD_VAR 0 1
12752: RET
// var regid , defid ; var act_time ; export function update_display ( flag ) ; var tmp ; begin
12753: LD_INT 0
12755: PPUSH
12756: PPUSH
// tmp = tick div ( 35 * 60 ) ;
12757: LD_ADDR_VAR 0 3
12761: PUSH
12762: LD_OWVAR 1
12766: PUSH
12767: LD_INT 35
12769: PUSH
12770: LD_INT 60
12772: MUL
12773: DIV
12774: ST_TO_ADDR
// act_time = tmp * 35 * 60 ;
12775: LD_ADDR_LOC 16
12779: PUSH
12780: LD_VAR 0 3
12784: PUSH
12785: LD_INT 35
12787: MUL
12788: PUSH
12789: LD_INT 60
12791: MUL
12792: ST_TO_ADDR
// display_strings = [ #Am17-1 , arab_artef_zdrh + 25 25$0 - act_time ] ;
12793: LD_ADDR_OWVAR 47
12797: PUSH
12798: LD_STRING #Am17-1
12800: PUSH
12801: LD_EXP 75
12805: PUSH
12806: LD_INT 52500
12808: PLUS
12809: PUSH
12810: LD_LOC 16
12814: MINUS
12815: PUSH
12816: EMPTY
12817: LIST
12818: LIST
12819: ST_TO_ADDR
// if flag then
12820: LD_VAR 0 1
12824: IFFALSE 12829
// enable ( 37 ) ;
12826: LD_INT 37
12828: ENABLE_MARKED
// end ;
12829: LD_VAR 0 2
12833: RET
// every 1 1$0 marked 37 do
12834: GO 12836
12836: DISABLE
// begin update_display ( 0 ) ;
12837: LD_INT 0
12839: PPUSH
12840: CALL 12753 0 1
// enable ;
12844: ENABLE
// end ;
12845: END
// function isinareaex ( list , area ) ; var tmp ; begin
12846: LD_INT 0
12848: PPUSH
12849: PPUSH
// for tmp in list do
12850: LD_ADDR_VAR 0 4
12854: PUSH
12855: LD_VAR 0 1
12859: PUSH
12860: FOR_IN
12861: IFFALSE 12894
// if not isinarea ( tmp , area ) then
12863: LD_VAR 0 4
12867: PPUSH
12868: LD_VAR 0 2
12872: PPUSH
12873: CALL_OW 308
12877: NOT
12878: IFFALSE 12892
// begin result = false ;
12880: LD_ADDR_VAR 0 3
12884: PUSH
12885: LD_INT 0
12887: ST_TO_ADDR
// exit ;
12888: POP
12889: POP
12890: GO 12904
// end ;
12892: GO 12860
12894: POP
12895: POP
// result = true ;
12896: LD_ADDR_VAR 0 3
12900: PUSH
12901: LD_INT 1
12903: ST_TO_ADDR
// end ;
12904: LD_VAR 0 3
12908: RET
// every 0 0$1 marked 07 do var tmp , tmp2 ;
12909: GO 12911
12911: DISABLE
12912: LD_INT 0
12914: PPUSH
12915: PPUSH
// begin wait ( 7 7$0 ) ;
12916: LD_INT 14700
12918: PPUSH
12919: CALL_OW 67
// uc_side = ar ;
12923: LD_ADDR_OWVAR 20
12927: PUSH
12928: LD_EXP 3
12932: ST_TO_ADDR
// uc_nation = nation_arabian ;
12933: LD_ADDR_OWVAR 21
12937: PUSH
12938: LD_INT 2
12940: ST_TO_ADDR
// vc_engine = engine_siberite ;
12941: LD_ADDR_OWVAR 39
12945: PUSH
12946: LD_INT 3
12948: ST_TO_ADDR
// vc_control = control_manual ;
12949: LD_ADDR_OWVAR 38
12953: PUSH
12954: LD_INT 1
12956: ST_TO_ADDR
// tmp2 = [ ] ;
12957: LD_ADDR_VAR 0 2
12961: PUSH
12962: EMPTY
12963: ST_TO_ADDR
// vc_chassis = arv1_ch ;
12964: LD_ADDR_OWVAR 37
12968: PUSH
12969: LD_EXP 20
12973: ST_TO_ADDR
// vc_weapon = arv1_wp ;
12974: LD_ADDR_OWVAR 40
12978: PUSH
12979: LD_EXP 21
12983: ST_TO_ADDR
// tmp = createvehicle ;
12984: LD_ADDR_VAR 0 1
12988: PUSH
12989: CALL_OW 45
12993: ST_TO_ADDR
// setdir ( tmp , 5 ) ;
12994: LD_VAR 0 1
12998: PPUSH
12999: LD_INT 5
13001: PPUSH
13002: CALL_OW 233
// placeunitarea ( tmp , ar_place , false ) ;
13006: LD_VAR 0 1
13010: PPUSH
13011: LD_INT 11
13013: PPUSH
13014: LD_INT 0
13016: PPUSH
13017: CALL_OW 49
// preparemechanic ( sex_male , arm1_sk ) ;
13021: LD_INT 1
13023: PPUSH
13024: LD_EXP 22
13028: PPUSH
13029: CALL_OW 383
// placehumaninunit ( createhuman , tmp ) ;
13033: CALL_OW 44
13037: PPUSH
13038: LD_VAR 0 1
13042: PPUSH
13043: CALL_OW 52
// tmp2 = tmp2 ^ [ tmp ] ;
13047: LD_ADDR_VAR 0 2
13051: PUSH
13052: LD_VAR 0 2
13056: PUSH
13057: LD_VAR 0 1
13061: PUSH
13062: EMPTY
13063: LIST
13064: ADD
13065: ST_TO_ADDR
// vc_chassis = arv2_ch ;
13066: LD_ADDR_OWVAR 37
13070: PUSH
13071: LD_EXP 23
13075: ST_TO_ADDR
// vc_weapon = arv2_wp ;
13076: LD_ADDR_OWVAR 40
13080: PUSH
13081: LD_EXP 24
13085: ST_TO_ADDR
// tmp = createvehicle ;
13086: LD_ADDR_VAR 0 1
13090: PUSH
13091: CALL_OW 45
13095: ST_TO_ADDR
// setdir ( tmp , 4 ) ;
13096: LD_VAR 0 1
13100: PPUSH
13101: LD_INT 4
13103: PPUSH
13104: CALL_OW 233
// placeunitarea ( tmp , ar_place , false ) ;
13108: LD_VAR 0 1
13112: PPUSH
13113: LD_INT 11
13115: PPUSH
13116: LD_INT 0
13118: PPUSH
13119: CALL_OW 49
// preparemechanic ( sex_male , arm2_sk ) ;
13123: LD_INT 1
13125: PPUSH
13126: LD_EXP 25
13130: PPUSH
13131: CALL_OW 383
// placehumaninunit ( createhuman , tmp ) ;
13135: CALL_OW 44
13139: PPUSH
13140: LD_VAR 0 1
13144: PPUSH
13145: CALL_OW 52
// tmp2 = tmp2 ^ [ tmp ] ;
13149: LD_ADDR_VAR 0 2
13153: PUSH
13154: LD_VAR 0 2
13158: PUSH
13159: LD_VAR 0 1
13163: PUSH
13164: EMPTY
13165: LIST
13166: ADD
13167: ST_TO_ADDR
// vc_chassis = arv3_ch ;
13168: LD_ADDR_OWVAR 37
13172: PUSH
13173: LD_EXP 26
13177: ST_TO_ADDR
// vc_weapon = arv3_wp ;
13178: LD_ADDR_OWVAR 40
13182: PUSH
13183: LD_EXP 27
13187: ST_TO_ADDR
// tmp = createvehicle ;
13188: LD_ADDR_VAR 0 1
13192: PUSH
13193: CALL_OW 45
13197: ST_TO_ADDR
// setdir ( tmp , 5 ) ;
13198: LD_VAR 0 1
13202: PPUSH
13203: LD_INT 5
13205: PPUSH
13206: CALL_OW 233
// placeunitarea ( tmp , ar_place , false ) ;
13210: LD_VAR 0 1
13214: PPUSH
13215: LD_INT 11
13217: PPUSH
13218: LD_INT 0
13220: PPUSH
13221: CALL_OW 49
// preparemechanic ( sex_male , arm3_sk ) ;
13225: LD_INT 1
13227: PPUSH
13228: LD_EXP 28
13232: PPUSH
13233: CALL_OW 383
// placehumaninunit ( createhuman , tmp ) ;
13237: CALL_OW 44
13241: PPUSH
13242: LD_VAR 0 1
13246: PPUSH
13247: CALL_OW 52
// tmp2 = tmp2 ^ [ tmp ] ;
13251: LD_ADDR_VAR 0 2
13255: PUSH
13256: LD_VAR 0 2
13260: PUSH
13261: LD_VAR 0 1
13265: PUSH
13266: EMPTY
13267: LIST
13268: ADD
13269: ST_TO_ADDR
// vc_chassis = arv4_ch ;
13270: LD_ADDR_OWVAR 37
13274: PUSH
13275: LD_EXP 29
13279: ST_TO_ADDR
// vc_weapon = arv4_wp ;
13280: LD_ADDR_OWVAR 40
13284: PUSH
13285: LD_EXP 30
13289: ST_TO_ADDR
// tmp = createvehicle ;
13290: LD_ADDR_VAR 0 1
13294: PUSH
13295: CALL_OW 45
13299: ST_TO_ADDR
// setdir ( tmp , 5 ) ;
13300: LD_VAR 0 1
13304: PPUSH
13305: LD_INT 5
13307: PPUSH
13308: CALL_OW 233
// placeunitarea ( tmp , ar_place , false ) ;
13312: LD_VAR 0 1
13316: PPUSH
13317: LD_INT 11
13319: PPUSH
13320: LD_INT 0
13322: PPUSH
13323: CALL_OW 49
// preparemechanic ( sex_male , arm4_sk ) ;
13327: LD_INT 1
13329: PPUSH
13330: LD_EXP 31
13334: PPUSH
13335: CALL_OW 383
// placehumaninunit ( createhuman , tmp ) ;
13339: CALL_OW 44
13343: PPUSH
13344: LD_VAR 0 1
13348: PPUSH
13349: CALL_OW 52
// tmp2 = tmp2 ^ [ tmp ] ;
13353: LD_ADDR_VAR 0 2
13357: PUSH
13358: LD_VAR 0 2
13362: PUSH
13363: LD_VAR 0 1
13367: PUSH
13368: EMPTY
13369: LIST
13370: ADD
13371: ST_TO_ADDR
// vc_chassis = arv5_ch ;
13372: LD_ADDR_OWVAR 37
13376: PUSH
13377: LD_EXP 32
13381: ST_TO_ADDR
// vc_weapon = arv5_wp ;
13382: LD_ADDR_OWVAR 40
13386: PUSH
13387: LD_EXP 33
13391: ST_TO_ADDR
// tmp = createvehicle ;
13392: LD_ADDR_VAR 0 1
13396: PUSH
13397: CALL_OW 45
13401: ST_TO_ADDR
// setdir ( tmp , 4 ) ;
13402: LD_VAR 0 1
13406: PPUSH
13407: LD_INT 4
13409: PPUSH
13410: CALL_OW 233
// placeunitarea ( tmp , ar_place , false ) ;
13414: LD_VAR 0 1
13418: PPUSH
13419: LD_INT 11
13421: PPUSH
13422: LD_INT 0
13424: PPUSH
13425: CALL_OW 49
// preparemechanic ( sex_male , arm5_sk ) ;
13429: LD_INT 1
13431: PPUSH
13432: LD_EXP 34
13436: PPUSH
13437: CALL_OW 383
// placehumaninunit ( createhuman , tmp ) ;
13441: CALL_OW 44
13445: PPUSH
13446: LD_VAR 0 1
13450: PPUSH
13451: CALL_OW 52
// tmp2 = tmp2 ^ [ tmp ] ;
13455: LD_ADDR_VAR 0 2
13459: PUSH
13460: LD_VAR 0 2
13464: PUSH
13465: LD_VAR 0 1
13469: PUSH
13470: EMPTY
13471: LIST
13472: ADD
13473: ST_TO_ADDR
// vc_chassis = arv6_ch ;
13474: LD_ADDR_OWVAR 37
13478: PUSH
13479: LD_EXP 35
13483: ST_TO_ADDR
// vc_weapon = arv6_wp ;
13484: LD_ADDR_OWVAR 40
13488: PUSH
13489: LD_EXP 36
13493: ST_TO_ADDR
// tmp = createvehicle ;
13494: LD_ADDR_VAR 0 1
13498: PUSH
13499: CALL_OW 45
13503: ST_TO_ADDR
// setdir ( tmp , 5 ) ;
13504: LD_VAR 0 1
13508: PPUSH
13509: LD_INT 5
13511: PPUSH
13512: CALL_OW 233
// placeunitarea ( tmp , ar_place , false ) ;
13516: LD_VAR 0 1
13520: PPUSH
13521: LD_INT 11
13523: PPUSH
13524: LD_INT 0
13526: PPUSH
13527: CALL_OW 49
// preparemechanic ( sex_male , arm6_sk ) ;
13531: LD_INT 1
13533: PPUSH
13534: LD_EXP 37
13538: PPUSH
13539: CALL_OW 383
// placehumaninunit ( createhuman , tmp ) ;
13543: CALL_OW 44
13547: PPUSH
13548: LD_VAR 0 1
13552: PPUSH
13553: CALL_OW 52
// tmp2 = tmp2 ^ [ tmp ] ;
13557: LD_ADDR_VAR 0 2
13561: PUSH
13562: LD_VAR 0 2
13566: PUSH
13567: LD_VAR 0 1
13571: PUSH
13572: EMPTY
13573: LIST
13574: ADD
13575: ST_TO_ADDR
// vc_control = control_remote ;
13576: LD_ADDR_OWVAR 38
13580: PUSH
13581: LD_INT 2
13583: ST_TO_ADDR
// if difficulty >= 2 then
13584: LD_OWVAR 67
13588: PUSH
13589: LD_INT 2
13591: GREATEREQUAL
13592: IFFALSE 13774
// begin vc_chassis = arv7_ch ;
13594: LD_ADDR_OWVAR 37
13598: PUSH
13599: LD_EXP 38
13603: ST_TO_ADDR
// vc_weapon = arv7_wp ;
13604: LD_ADDR_OWVAR 40
13608: PUSH
13609: LD_EXP 39
13613: ST_TO_ADDR
// tmp = createvehicle ;
13614: LD_ADDR_VAR 0 1
13618: PUSH
13619: CALL_OW 45
13623: ST_TO_ADDR
// setdir ( tmp , 4 ) ;
13624: LD_VAR 0 1
13628: PPUSH
13629: LD_INT 4
13631: PPUSH
13632: CALL_OW 233
// placeunitarea ( tmp , ar_place , false ) ;
13636: LD_VAR 0 1
13640: PPUSH
13641: LD_INT 11
13643: PPUSH
13644: LD_INT 0
13646: PPUSH
13647: CALL_OW 49
// linkvehicletohuman ( tmp , ar_mech_ctrl ) ;
13651: LD_VAR 0 1
13655: PPUSH
13656: LD_LOC 12
13660: PPUSH
13661: CALL_OW 53
// tmp2 = tmp2 ^ [ tmp ] ;
13665: LD_ADDR_VAR 0 2
13669: PUSH
13670: LD_VAR 0 2
13674: PUSH
13675: LD_VAR 0 1
13679: PUSH
13680: EMPTY
13681: LIST
13682: ADD
13683: ST_TO_ADDR
// vc_chassis = arv8_ch ;
13684: LD_ADDR_OWVAR 37
13688: PUSH
13689: LD_EXP 40
13693: ST_TO_ADDR
// vc_weapon = arv8_wp ;
13694: LD_ADDR_OWVAR 40
13698: PUSH
13699: LD_EXP 41
13703: ST_TO_ADDR
// tmp = createvehicle ;
13704: LD_ADDR_VAR 0 1
13708: PUSH
13709: CALL_OW 45
13713: ST_TO_ADDR
// setdir ( tmp , 5 ) ;
13714: LD_VAR 0 1
13718: PPUSH
13719: LD_INT 5
13721: PPUSH
13722: CALL_OW 233
// placeunitarea ( tmp , ar_place , false ) ;
13726: LD_VAR 0 1
13730: PPUSH
13731: LD_INT 11
13733: PPUSH
13734: LD_INT 0
13736: PPUSH
13737: CALL_OW 49
// linkvehicletohuman ( tmp , ar_mech_ctrl ) ;
13741: LD_VAR 0 1
13745: PPUSH
13746: LD_LOC 12
13750: PPUSH
13751: CALL_OW 53
// tmp2 = tmp2 ^ [ tmp ] ;
13755: LD_ADDR_VAR 0 2
13759: PUSH
13760: LD_VAR 0 2
13764: PUSH
13765: LD_VAR 0 1
13769: PUSH
13770: EMPTY
13771: LIST
13772: ADD
13773: ST_TO_ADDR
// end ; if difficulty > 2 then
13774: LD_OWVAR 67
13778: PUSH
13779: LD_INT 2
13781: GREATER
13782: IFFALSE 13964
// begin vc_chassis = arv9_ch ;
13784: LD_ADDR_OWVAR 37
13788: PUSH
13789: LD_EXP 42
13793: ST_TO_ADDR
// vc_weapon = arv9_wp ;
13794: LD_ADDR_OWVAR 40
13798: PUSH
13799: LD_EXP 43
13803: ST_TO_ADDR
// tmp = createvehicle ;
13804: LD_ADDR_VAR 0 1
13808: PUSH
13809: CALL_OW 45
13813: ST_TO_ADDR
// setdir ( tmp , 4 ) ;
13814: LD_VAR 0 1
13818: PPUSH
13819: LD_INT 4
13821: PPUSH
13822: CALL_OW 233
// placeunitarea ( tmp , ar_place , false ) ;
13826: LD_VAR 0 1
13830: PPUSH
13831: LD_INT 11
13833: PPUSH
13834: LD_INT 0
13836: PPUSH
13837: CALL_OW 49
// linkvehicletohuman ( tmp , ar_mech_ctrl ) ;
13841: LD_VAR 0 1
13845: PPUSH
13846: LD_LOC 12
13850: PPUSH
13851: CALL_OW 53
// tmp2 = tmp2 ^ [ tmp ] ;
13855: LD_ADDR_VAR 0 2
13859: PUSH
13860: LD_VAR 0 2
13864: PUSH
13865: LD_VAR 0 1
13869: PUSH
13870: EMPTY
13871: LIST
13872: ADD
13873: ST_TO_ADDR
// vc_chassis = arv10_ch ;
13874: LD_ADDR_OWVAR 37
13878: PUSH
13879: LD_EXP 44
13883: ST_TO_ADDR
// vc_weapon = arv10_wp ;
13884: LD_ADDR_OWVAR 40
13888: PUSH
13889: LD_EXP 45
13893: ST_TO_ADDR
// tmp = createvehicle ;
13894: LD_ADDR_VAR 0 1
13898: PUSH
13899: CALL_OW 45
13903: ST_TO_ADDR
// setdir ( tmp , 5 ) ;
13904: LD_VAR 0 1
13908: PPUSH
13909: LD_INT 5
13911: PPUSH
13912: CALL_OW 233
// placeunitarea ( tmp , ar_place , false ) ;
13916: LD_VAR 0 1
13920: PPUSH
13921: LD_INT 11
13923: PPUSH
13924: LD_INT 0
13926: PPUSH
13927: CALL_OW 49
// linkvehicletohuman ( tmp , ar_mech_ctrl ) ;
13931: LD_VAR 0 1
13935: PPUSH
13936: LD_LOC 12
13940: PPUSH
13941: CALL_OW 53
// tmp2 = tmp2 ^ [ tmp ] ;
13945: LD_ADDR_VAR 0 2
13949: PUSH
13950: LD_VAR 0 2
13954: PUSH
13955: LD_VAR 0 1
13959: PUSH
13960: EMPTY
13961: LIST
13962: ADD
13963: ST_TO_ADDR
// end ; commovetoarea ( tmp2 , wayp ) ;
13964: LD_VAR 0 2
13968: PPUSH
13969: LD_INT 12
13971: PPUSH
13972: CALL_OW 113
// tmp = 1 ;
13976: LD_ADDR_VAR 0 1
13980: PUSH
13981: LD_INT 1
13983: ST_TO_ADDR
// while not isinareaex ( tmp2 , wayp ) do
13984: LD_VAR 0 2
13988: PPUSH
13989: LD_INT 12
13991: PPUSH
13992: CALL 12846 0 2
13996: NOT
13997: IFFALSE 14048
// begin wait ( 0 0$1 ) ;
13999: LD_INT 35
14001: PPUSH
14002: CALL_OW 67
// tmp = tmp + 1 ;
14006: LD_ADDR_VAR 0 1
14010: PUSH
14011: LD_VAR 0 1
14015: PUSH
14016: LD_INT 1
14018: PLUS
14019: ST_TO_ADDR
// if ( tmp mod 5 ) = 0 then
14020: LD_VAR 0 1
14024: PUSH
14025: LD_INT 5
14027: MOD
14028: PUSH
14029: LD_INT 0
14031: EQUAL
14032: IFFALSE 14046
// commovetoarea ( tmp2 , wayp ) ;
14034: LD_VAR 0 2
14038: PPUSH
14039: LD_INT 12
14041: PPUSH
14042: CALL_OW 113
// end ;
14046: GO 13984
// comagressivemove ( tmp2 , 61 , 50 ) ;
14048: LD_VAR 0 2
14052: PPUSH
14053: LD_INT 61
14055: PPUSH
14056: LD_INT 50
14058: PPUSH
14059: CALL_OW 114
// end ;
14063: PPOPN 2
14065: END
// every 25 25$0 do
14066: GO 14068
14068: DISABLE
// begin wait ( arab_artef_zdrh ) ;
14069: LD_EXP 75
14073: PPUSH
14074: CALL_OW 67
// commovexy ( nakladak , 161 , 87 ) ;
14078: LD_INT 23
14080: PPUSH
14081: LD_INT 161
14083: PPUSH
14084: LD_INT 87
14086: PPUSH
14087: CALL_OW 111
// wait ( 0 0$5 ) ;
14091: LD_INT 175
14093: PPUSH
14094: CALL_OW 67
// destroyunit ( nakladak ) ;
14098: LD_INT 23
14100: PPUSH
14101: CALL_OW 65
// youlost ( Destroyed ) ;
14105: LD_STRING Destroyed
14107: PPUSH
14108: CALL_OW 104
// end ;
14112: END
// on vehiclecaptured ( vehnew , vehold , origside , hum ) do if vehold = nakladak then
14113: LD_VAR 0 2
14117: PUSH
14118: LD_INT 23
14120: EQUAL
14121: IFFALSE 14131
// koncime = true ;
14123: LD_ADDR_EXP 77
14127: PUSH
14128: LD_INT 1
14130: ST_TO_ADDR
14131: PPOPN 4
14133: END
// on artifactloaded ( un , size ) marked 15 do if getside ( un ) = al then
14134: LD_VAR 0 1
14138: PPUSH
14139: CALL_OW 255
14143: PUSH
14144: LD_EXP 1
14148: EQUAL
14149: IFFALSE 14159
// koncime = true ;
14151: LD_ADDR_EXP 77
14155: PUSH
14156: LD_INT 1
14158: ST_TO_ADDR
14159: PPOPN 2
14161: END
// every 0 0$1 trigger koncime or base_out or artef_out do var un ;
14162: LD_EXP 77
14166: PUSH
14167: LD_EXP 79
14171: OR
14172: PUSH
14173: LD_EXP 78
14177: OR
14178: IFFALSE 14605
14180: GO 14182
14182: DISABLE
14183: LD_INT 0
14185: PPUSH
// begin wait ( [ 0 0$10 , 0 0$5 , 0 0$0 ] [ difficulty ] ) ;
14186: LD_INT 350
14188: PUSH
14189: LD_INT 175
14191: PUSH
14192: LD_INT 0
14194: PUSH
14195: EMPTY
14196: LIST
14197: LIST
14198: LIST
14199: PUSH
14200: LD_OWVAR 67
14204: ARRAY
14205: PPUSH
14206: CALL_OW 67
// if IsPlaced ( Abdul ) and IsLive ( Abdul ) then
14210: LD_EXP 121
14214: PPUSH
14215: CALL_OW 305
14219: PUSH
14220: LD_EXP 121
14224: PPUSH
14225: CALL_OW 300
14229: AND
14230: IFFALSE 14354
// begin repeat wait ( 0 0$1 ) ;
14232: LD_INT 35
14234: PPUSH
14235: CALL_OW 67
// if IsDead ( Abdul ) then
14239: LD_EXP 121
14243: PPUSH
14244: CALL_OW 301
14248: IFFALSE 14252
// break ;
14250: GO 14347
// if IsInUnit ( Abdul ) > 0 then
14252: LD_EXP 121
14256: PPUSH
14257: CALL_OW 310
14261: PUSH
14262: LD_INT 0
14264: GREATER
14265: IFFALSE 14284
// un = IsInUnit ( Abdul ) else
14267: LD_ADDR_VAR 0 1
14271: PUSH
14272: LD_EXP 121
14276: PPUSH
14277: CALL_OW 310
14281: ST_TO_ADDR
14282: GO 14294
// un = Abdul ;
14284: LD_ADDR_VAR 0 1
14288: PUSH
14289: LD_EXP 121
14293: ST_TO_ADDR
// if GetDistUnitXY ( un , 167 , 97 ) <= 2 then
14294: LD_VAR 0 1
14298: PPUSH
14299: LD_INT 167
14301: PPUSH
14302: LD_INT 97
14304: PPUSH
14305: CALL_OW 297
14309: PUSH
14310: LD_INT 2
14312: LESSEQUAL
14313: IFFALSE 14328
// begin RemoveUnit ( un ) ;
14315: LD_VAR 0 1
14319: PPUSH
14320: CALL_OW 64
// break ;
14324: GO 14347
// end else
14326: GO 14343
// ComMoveXY ( un , 167 , 97 ) ;
14328: LD_VAR 0 1
14332: PPUSH
14333: LD_INT 167
14335: PPUSH
14336: LD_INT 97
14338: PPUSH
14339: CALL_OW 111
// until false ;
14343: LD_INT 0
14345: IFFALSE 14232
// wait ( 0 0$2 ) ;
14347: LD_INT 70
14349: PPUSH
14350: CALL_OW 67
// end ; while IsPlaced ( abduluv ) and IsLive ( abduluv ) do
14354: LD_INT 22
14356: PPUSH
14357: CALL_OW 305
14361: PUSH
14362: LD_INT 22
14364: PPUSH
14365: CALL_OW 300
14369: AND
14370: IFFALSE 14381
// wait ( 0 0$1 ) ;
14372: LD_INT 35
14374: PPUSH
14375: CALL_OW 67
14379: GO 14354
// if isdead ( abdul ) then
14381: LD_EXP 121
14385: PPUSH
14386: CALL_OW 301
14390: IFFALSE 14404
// addmedal ( Abdul , 1 ) else
14392: LD_STRING Abdul
14394: PPUSH
14395: LD_INT 1
14397: PPUSH
14398: CALL_OW 101
14402: GO 14415
// addmedal ( Abdul , - 1 ) ;
14404: LD_STRING Abdul
14406: PPUSH
14407: LD_INT 1
14409: NEG
14410: PPUSH
14411: CALL_OW 101
// if isdead ( abduluv ) then
14415: LD_INT 22
14417: PPUSH
14418: CALL_OW 301
14422: IFFALSE 14436
// addmedal ( Mast , 1 ) else
14424: LD_STRING Mast
14426: PPUSH
14427: LD_INT 1
14429: PPUSH
14430: CALL_OW 101
14434: GO 14447
// addmedal ( Mast , - 1 ) ;
14436: LD_STRING Mast
14438: PPUSH
14439: LD_INT 1
14441: NEG
14442: PPUSH
14443: CALL_OW 101
// if gettech ( tech_laser , al ) = state_researched then
14447: LD_INT 10
14449: PPUSH
14450: LD_EXP 1
14454: PPUSH
14455: CALL_OW 321
14459: PUSH
14460: LD_INT 2
14462: EQUAL
14463: IFFALSE 14477
// addmedal ( Laser , 1 ) else
14465: LD_STRING Laser
14467: PPUSH
14468: LD_INT 1
14470: PPUSH
14471: CALL_OW 101
14475: GO 14488
// addmedal ( Laser , - 1 ) ;
14477: LD_STRING Laser
14479: PPUSH
14480: LD_INT 1
14482: NEG
14483: PPUSH
14484: CALL_OW 101
// SA_EndMission ( 4 , 6 , isdead ( abdul ) , isdead ( abduluv ) , gettech ( tech_laser , al ) = state_researched ) ;
14488: LD_INT 4
14490: PPUSH
14491: LD_INT 6
14493: PPUSH
14494: LD_EXP 121
14498: PPUSH
14499: CALL_OW 301
14503: PPUSH
14504: LD_INT 22
14506: PPUSH
14507: CALL_OW 301
14511: PPUSH
14512: LD_INT 10
14514: PPUSH
14515: LD_EXP 1
14519: PPUSH
14520: CALL_OW 321
14524: PUSH
14525: LD_INT 2
14527: EQUAL
14528: PPUSH
14529: CALL 18245 0 5
// givemedals ( Main ) ;
14533: LD_STRING Main
14535: PPUSH
14536: CALL_OW 102
// rewardpeople ( filterallunits ( [ [ f_alive ] , [ f_side , al ] , [ f_type , unit_human ] , f_not , [ f_nation , nation_nature ] ] ) ) ;
14540: LD_INT 51
14542: PUSH
14543: EMPTY
14544: LIST
14545: PUSH
14546: LD_INT 22
14548: PUSH
14549: LD_EXP 1
14553: PUSH
14554: EMPTY
14555: LIST
14556: LIST
14557: PUSH
14558: LD_INT 21
14560: PUSH
14561: LD_INT 1
14563: PUSH
14564: EMPTY
14565: LIST
14566: LIST
14567: PUSH
14568: LD_INT 3
14570: PUSH
14571: LD_INT 23
14573: PUSH
14574: LD_INT 0
14576: PUSH
14577: EMPTY
14578: LIST
14579: LIST
14580: PUSH
14581: EMPTY
14582: LIST
14583: LIST
14584: LIST
14585: LIST
14586: LIST
14587: PPUSH
14588: CALL_OW 69
14592: PPUSH
14593: CALL_OW 43
// saveitall ;
14597: CALL 14608 0 0
// youwin ;
14601: CALL_OW 103
// end ;
14605: PPOPN 1
14607: END
// export function saveitall ; var bz , tmz , tmzo , smejdi ; begin
14608: LD_INT 0
14610: PPUSH
14611: PPUSH
14612: PPUSH
14613: PPUSH
14614: PPUSH
// savevariable ( vyjednavalo_se , NegotiationsOffered ) ;
14615: LD_EXP 82
14619: PPUSH
14620: LD_STRING NegotiationsOffered
14622: PPUSH
14623: CALL_OW 39
// smejdi = [ burlak , belkov , gnyevko , kiril , kovalyuk , scholtze , kuzmov , karam , petrov , gleb , petros , lipshchin , titov , dolgov , xavier , oblukov , kozlov , kapitsova , gossud , glad , jmm , roth , bobby , brown , connie , cornel , cyrus , denis , lucy , frank , gary , lisa , simms , yamoko ] ;
14627: LD_ADDR_VAR 0 5
14631: PUSH
14632: LD_EXP 83
14636: PUSH
14637: LD_EXP 84
14641: PUSH
14642: LD_EXP 85
14646: PUSH
14647: LD_EXP 86
14651: PUSH
14652: LD_EXP 87
14656: PUSH
14657: LD_EXP 88
14661: PUSH
14662: LD_EXP 89
14666: PUSH
14667: LD_EXP 90
14671: PUSH
14672: LD_EXP 91
14676: PUSH
14677: LD_EXP 92
14681: PUSH
14682: LD_EXP 93
14686: PUSH
14687: LD_EXP 94
14691: PUSH
14692: LD_EXP 95
14696: PUSH
14697: LD_EXP 96
14701: PUSH
14702: LD_EXP 97
14706: PUSH
14707: LD_EXP 98
14711: PUSH
14712: LD_EXP 99
14716: PUSH
14717: LD_EXP 100
14721: PUSH
14722: LD_EXP 101
14726: PUSH
14727: LD_EXP 104
14731: PUSH
14732: LD_EXP 105
14736: PUSH
14737: LD_EXP 106
14741: PUSH
14742: LD_EXP 107
14746: PUSH
14747: LD_EXP 108
14751: PUSH
14752: LD_EXP 109
14756: PUSH
14757: LD_EXP 110
14761: PUSH
14762: LD_EXP 111
14766: PUSH
14767: LD_EXP 112
14771: PUSH
14772: LD_EXP 113
14776: PUSH
14777: LD_EXP 114
14781: PUSH
14782: LD_EXP 115
14786: PUSH
14787: LD_EXP 116
14791: PUSH
14792: LD_EXP 117
14796: PUSH
14797: LD_EXP 118
14801: PUSH
14802: EMPTY
14803: LIST
14804: LIST
14805: LIST
14806: LIST
14807: LIST
14808: LIST
14809: LIST
14810: LIST
14811: LIST
14812: LIST
14813: LIST
14814: LIST
14815: LIST
14816: LIST
14817: LIST
14818: LIST
14819: LIST
14820: LIST
14821: LIST
14822: LIST
14823: LIST
14824: LIST
14825: LIST
14826: LIST
14827: LIST
14828: LIST
14829: LIST
14830: LIST
14831: LIST
14832: LIST
14833: LIST
14834: LIST
14835: LIST
14836: LIST
14837: ST_TO_ADDR
// savecharacters ( glad , Gladstone ) ;
14838: LD_EXP 104
14842: PPUSH
14843: LD_STRING Gladstone
14845: PPUSH
14846: CALL_OW 38
// savecharacters ( jmm , JMM ) ;
14850: LD_EXP 105
14854: PPUSH
14855: LD_STRING JMM
14857: PPUSH
14858: CALL_OW 38
// savecharacters ( roth , Roth ) ;
14862: LD_EXP 106
14866: PPUSH
14867: LD_STRING Roth
14869: PPUSH
14870: CALL_OW 38
// savecharacters ( bobby , Bobby ) ;
14874: LD_EXP 107
14878: PPUSH
14879: LD_STRING Bobby
14881: PPUSH
14882: CALL_OW 38
// savecharacters ( brown , Brown ) ;
14886: LD_EXP 108
14890: PPUSH
14891: LD_STRING Brown
14893: PPUSH
14894: CALL_OW 38
// savecharacters ( connie , Connie ) ;
14898: LD_EXP 109
14902: PPUSH
14903: LD_STRING Connie
14905: PPUSH
14906: CALL_OW 38
// savecharacters ( cornel , Cornell ) ;
14910: LD_EXP 110
14914: PPUSH
14915: LD_STRING Cornell
14917: PPUSH
14918: CALL_OW 38
// savecharacters ( cyrus , Cyrus ) ;
14922: LD_EXP 111
14926: PPUSH
14927: LD_STRING Cyrus
14929: PPUSH
14930: CALL_OW 38
// savecharacters ( denis , Peterson ) ;
14934: LD_EXP 112
14938: PPUSH
14939: LD_STRING Peterson
14941: PPUSH
14942: CALL_OW 38
// savecharacters ( lucy , Donaldson ) ;
14946: LD_EXP 113
14950: PPUSH
14951: LD_STRING Donaldson
14953: PPUSH
14954: CALL_OW 38
// savecharacters ( frank , Frank ) ;
14958: LD_EXP 114
14962: PPUSH
14963: LD_STRING Frank
14965: PPUSH
14966: CALL_OW 38
// savecharacters ( gary , Gary ) ;
14970: LD_EXP 115
14974: PPUSH
14975: LD_STRING Gary
14977: PPUSH
14978: CALL_OW 38
// savecharacters ( lisa , Lisa ) ;
14982: LD_EXP 116
14986: PPUSH
14987: LD_STRING Lisa
14989: PPUSH
14990: CALL_OW 38
// savecharacters ( simms , Simms ) ;
14994: LD_EXP 117
14998: PPUSH
14999: LD_STRING Simms
15001: PPUSH
15002: CALL_OW 38
// savecharacters ( yamoko , Yamoko ) ;
15006: LD_EXP 118
15010: PPUSH
15011: LD_STRING Yamoko
15013: PPUSH
15014: CALL_OW 38
// savecharacters ( burlak , Burlak ) ;
15018: LD_EXP 83
15022: PPUSH
15023: LD_STRING Burlak
15025: PPUSH
15026: CALL_OW 38
// if belkov then
15030: LD_EXP 84
15034: IFFALSE 15048
// savecharacters ( belkov , Belkov ) ;
15036: LD_EXP 84
15040: PPUSH
15041: LD_STRING Belkov
15043: PPUSH
15044: CALL_OW 38
// if gnyevko then
15048: LD_EXP 85
15052: IFFALSE 15066
// savecharacters ( gnyevko , Gnyevko ) ;
15054: LD_EXP 85
15058: PPUSH
15059: LD_STRING Gnyevko
15061: PPUSH
15062: CALL_OW 38
// if kiril then
15066: LD_EXP 86
15070: IFFALSE 15084
// savecharacters ( kiril , Kirilenkova ) ;
15072: LD_EXP 86
15076: PPUSH
15077: LD_STRING Kirilenkova
15079: PPUSH
15080: CALL_OW 38
// if kovalyuk then
15084: LD_EXP 87
15088: IFFALSE 15102
// savecharacters ( kovalyuk , Kovalyuk ) ;
15090: LD_EXP 87
15094: PPUSH
15095: LD_STRING Kovalyuk
15097: PPUSH
15098: CALL_OW 38
// if scholtze then
15102: LD_EXP 88
15106: IFFALSE 15120
// savecharacters ( scholtze , Scholtze ) ;
15108: LD_EXP 88
15112: PPUSH
15113: LD_STRING Scholtze
15115: PPUSH
15116: CALL_OW 38
// if kuzmov then
15120: LD_EXP 89
15124: IFFALSE 15138
// savecharacters ( kuzmov , Kuzmov ) ;
15126: LD_EXP 89
15130: PPUSH
15131: LD_STRING Kuzmov
15133: PPUSH
15134: CALL_OW 38
// if karam then
15138: LD_EXP 90
15142: IFFALSE 15156
// savecharacters ( karam , Karamazov ) ;
15144: LD_EXP 90
15148: PPUSH
15149: LD_STRING Karamazov
15151: PPUSH
15152: CALL_OW 38
// if petrov then
15156: LD_EXP 91
15160: IFFALSE 15174
// savecharacters ( petrov , Petrovova ) ;
15162: LD_EXP 91
15166: PPUSH
15167: LD_STRING Petrovova
15169: PPUSH
15170: CALL_OW 38
// if gleb then
15174: LD_EXP 92
15178: IFFALSE 15192
// savecharacters ( gleb , Gleb ) ;
15180: LD_EXP 92
15184: PPUSH
15185: LD_STRING Gleb
15187: PPUSH
15188: CALL_OW 38
// if petros then
15192: LD_EXP 93
15196: IFFALSE 15210
// savecharacters ( petros , Petrosyan ) ;
15198: LD_EXP 93
15202: PPUSH
15203: LD_STRING Petrosyan
15205: PPUSH
15206: CALL_OW 38
// if lipshchin then
15210: LD_EXP 94
15214: IFFALSE 15228
// savecharacters ( lipshchin , Lipshchin ) ;
15216: LD_EXP 94
15220: PPUSH
15221: LD_STRING Lipshchin
15223: PPUSH
15224: CALL_OW 38
// if titov then
15228: LD_EXP 95
15232: IFFALSE 15246
// savecharacters ( titov , Titov ) ;
15234: LD_EXP 95
15238: PPUSH
15239: LD_STRING Titov
15241: PPUSH
15242: CALL_OW 38
// if dolgov then
15246: LD_EXP 96
15250: IFFALSE 15264
// savecharacters ( dolgov , Dolgov ) ;
15252: LD_EXP 96
15256: PPUSH
15257: LD_STRING Dolgov
15259: PPUSH
15260: CALL_OW 38
// if xavier then
15264: LD_EXP 97
15268: IFFALSE 15282
// savecharacters ( xavier , Xavier ) ;
15270: LD_EXP 97
15274: PPUSH
15275: LD_STRING Xavier
15277: PPUSH
15278: CALL_OW 38
// if oblukov then
15282: LD_EXP 98
15286: IFFALSE 15300
// savecharacters ( oblukov , Oblukov ) ;
15288: LD_EXP 98
15292: PPUSH
15293: LD_STRING Oblukov
15295: PPUSH
15296: CALL_OW 38
// if kozlov then
15300: LD_EXP 99
15304: IFFALSE 15318
// savecharacters ( kozlov , Kozlov ) ;
15306: LD_EXP 99
15310: PPUSH
15311: LD_STRING Kozlov
15313: PPUSH
15314: CALL_OW 38
// if kapitsova then
15318: LD_EXP 100
15322: IFFALSE 15336
// savecharacters ( kapitsova , Kapitsova ) ;
15324: LD_EXP 100
15328: PPUSH
15329: LD_STRING Kapitsova
15331: PPUSH
15332: CALL_OW 38
// if gossud then
15336: LD_EXP 101
15340: IFFALSE 15354
// savecharacters ( gossud , Gossudarov ) ;
15342: LD_EXP 101
15346: PPUSH
15347: LD_STRING Gossudarov
15349: PPUSH
15350: CALL_OW 38
// bz = filterallunits ( [ [ f_alive ] , [ f_side , al ] , [ f_type , unit_human ] , f_not , [ f_nation , nation_nature ] ] ) ;
15354: LD_ADDR_VAR 0 2
15358: PUSH
15359: LD_INT 51
15361: PUSH
15362: EMPTY
15363: LIST
15364: PUSH
15365: LD_INT 22
15367: PUSH
15368: LD_EXP 1
15372: PUSH
15373: EMPTY
15374: LIST
15375: LIST
15376: PUSH
15377: LD_INT 21
15379: PUSH
15380: LD_INT 1
15382: PUSH
15383: EMPTY
15384: LIST
15385: LIST
15386: PUSH
15387: LD_INT 3
15389: PUSH
15390: LD_INT 23
15392: PUSH
15393: LD_INT 0
15395: PUSH
15396: EMPTY
15397: LIST
15398: LIST
15399: PUSH
15400: EMPTY
15401: LIST
15402: LIST
15403: LIST
15404: LIST
15405: LIST
15406: PPUSH
15407: CALL_OW 69
15411: ST_TO_ADDR
// savecharacters ( bz diff smejdi ^ jahoda , survivors5 ) ;
15412: LD_VAR 0 2
15416: PUSH
15417: LD_VAR 0 5
15421: PUSH
15422: LD_EXP 103
15426: ADD
15427: DIFF
15428: PPUSH
15429: LD_STRING survivors5
15431: PPUSH
15432: CALL_OW 38
// tmz = filterunitsinarea ( stred , [ [ f_side , al ] , f_not , [ f_nation , nation_arabian ] , [ f_btype , b_factory ] ] ) ;
15436: LD_ADDR_VAR 0 3
15440: PUSH
15441: LD_INT 2
15443: PPUSH
15444: LD_INT 22
15446: PUSH
15447: LD_EXP 1
15451: PUSH
15452: EMPTY
15453: LIST
15454: LIST
15455: PUSH
15456: LD_INT 3
15458: PUSH
15459: LD_INT 23
15461: PUSH
15462: LD_INT 2
15464: PUSH
15465: EMPTY
15466: LIST
15467: LIST
15468: PUSH
15469: LD_INT 30
15471: PUSH
15472: LD_INT 3
15474: PUSH
15475: EMPTY
15476: LIST
15477: LIST
15478: PUSH
15479: EMPTY
15480: LIST
15481: LIST
15482: LIST
15483: LIST
15484: PPUSH
15485: CALL_OW 70
15489: 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 ] ] ) ;
15490: LD_ADDR_VAR 0 3
15494: PUSH
15495: LD_VAR 0 3
15499: PUSH
15500: LD_INT 2
15502: PPUSH
15503: LD_INT 22
15505: PUSH
15506: LD_EXP 1
15510: PUSH
15511: EMPTY
15512: LIST
15513: LIST
15514: PUSH
15515: LD_INT 3
15517: PUSH
15518: LD_INT 23
15520: PUSH
15521: LD_INT 2
15523: PUSH
15524: EMPTY
15525: LIST
15526: LIST
15527: PUSH
15528: LD_INT 21
15530: PUSH
15531: LD_INT 3
15533: PUSH
15534: EMPTY
15535: LIST
15536: LIST
15537: PUSH
15538: LD_INT 3
15540: PUSH
15541: LD_INT 30
15543: PUSH
15544: LD_INT 3
15546: PUSH
15547: EMPTY
15548: LIST
15549: LIST
15550: PUSH
15551: EMPTY
15552: LIST
15553: LIST
15554: LIST
15555: LIST
15556: LIST
15557: LIST
15558: PPUSH
15559: CALL_OW 70
15563: ADD
15564: ST_TO_ADDR
// tmzo = [ ] ;
15565: LD_ADDR_VAR 0 4
15569: PUSH
15570: EMPTY
15571: ST_TO_ADDR
// for bz in tmz do
15572: LD_ADDR_VAR 0 2
15576: PUSH
15577: LD_VAR 0 3
15581: PUSH
15582: FOR_IN
15583: IFFALSE 15970
// 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 :
15585: LD_VAR 0 2
15589: PPUSH
15590: CALL_OW 266
15594: PUSH
15595: LD_INT 9
15597: DOUBLE
15598: EQUAL
15599: IFTRUE 15639
15601: LD_INT 10
15603: DOUBLE
15604: EQUAL
15605: IFTRUE 15639
15607: LD_INT 11
15609: DOUBLE
15610: EQUAL
15611: IFTRUE 15639
15613: LD_INT 12
15615: DOUBLE
15616: EQUAL
15617: IFTRUE 15639
15619: LD_INT 13
15621: DOUBLE
15622: EQUAL
15623: IFTRUE 15639
15625: LD_INT 14
15627: DOUBLE
15628: EQUAL
15629: IFTRUE 15639
15631: LD_INT 15
15633: DOUBLE
15634: EQUAL
15635: IFTRUE 15639
15637: GO 15642
15639: POP
// begin end ; b_lab , b_lab_half , b_lab_full :
15640: GO 15968
15642: LD_INT 6
15644: DOUBLE
15645: EQUAL
15646: IFTRUE 15662
15648: LD_INT 7
15650: DOUBLE
15651: EQUAL
15652: IFTRUE 15662
15654: LD_INT 8
15656: DOUBLE
15657: EQUAL
15658: IFTRUE 15662
15660: GO 15775
15662: 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 :
15663: LD_ADDR_VAR 0 4
15667: PUSH
15668: LD_VAR 0 4
15672: PUSH
15673: LD_VAR 0 2
15677: PPUSH
15678: CALL_OW 250
15682: PUSH
15683: LD_VAR 0 2
15687: PPUSH
15688: CALL_OW 251
15692: PUSH
15693: LD_VAR 0 2
15697: PPUSH
15698: CALL_OW 254
15702: PUSH
15703: LD_VAR 0 2
15707: PPUSH
15708: CALL_OW 266
15712: PUSH
15713: LD_VAR 0 2
15717: PPUSH
15718: CALL_OW 267
15722: PUSH
15723: LD_VAR 0 2
15727: PPUSH
15728: CALL_OW 248
15732: PUSH
15733: LD_VAR 0 2
15737: PPUSH
15738: LD_INT 1
15740: PPUSH
15741: CALL_OW 268
15745: PUSH
15746: LD_VAR 0 2
15750: PPUSH
15751: LD_INT 2
15753: PPUSH
15754: CALL_OW 268
15758: PUSH
15759: EMPTY
15760: LIST
15761: LIST
15762: LIST
15763: LIST
15764: LIST
15765: LIST
15766: LIST
15767: LIST
15768: PUSH
15769: EMPTY
15770: LIST
15771: ADD
15772: ST_TO_ADDR
15773: GO 15968
15775: LD_INT 32
15777: DOUBLE
15778: EQUAL
15779: IFTRUE 15789
15781: LD_INT 33
15783: DOUBLE
15784: EQUAL
15785: IFTRUE 15789
15787: GO 15885
15789: POP
// tmzo = tmzo ^ [ [ getx ( bz ) , gety ( bz ) , getdir ( bz ) , getbtype ( bz ) , getblevel ( bz ) , getnation ( bz ) , getbweapon ( bz ) ] ] ; else
15790: LD_ADDR_VAR 0 4
15794: PUSH
15795: LD_VAR 0 4
15799: PUSH
15800: LD_VAR 0 2
15804: PPUSH
15805: CALL_OW 250
15809: PUSH
15810: LD_VAR 0 2
15814: PPUSH
15815: CALL_OW 251
15819: PUSH
15820: LD_VAR 0 2
15824: PPUSH
15825: CALL_OW 254
15829: PUSH
15830: LD_VAR 0 2
15834: PPUSH
15835: CALL_OW 266
15839: PUSH
15840: LD_VAR 0 2
15844: PPUSH
15845: CALL_OW 267
15849: PUSH
15850: LD_VAR 0 2
15854: PPUSH
15855: CALL_OW 248
15859: PUSH
15860: LD_VAR 0 2
15864: PPUSH
15865: CALL_OW 269
15869: PUSH
15870: EMPTY
15871: LIST
15872: LIST
15873: LIST
15874: LIST
15875: LIST
15876: LIST
15877: LIST
15878: PUSH
15879: EMPTY
15880: LIST
15881: ADD
15882: ST_TO_ADDR
15883: GO 15968
15885: POP
// tmzo = tmzo ^ [ [ getx ( bz ) , gety ( bz ) , getdir ( bz ) , getbtype ( bz ) , getblevel ( bz ) , getnation ( bz ) ] ] ; end ;
15886: LD_ADDR_VAR 0 4
15890: PUSH
15891: LD_VAR 0 4
15895: PUSH
15896: LD_VAR 0 2
15900: PPUSH
15901: CALL_OW 250
15905: PUSH
15906: LD_VAR 0 2
15910: PPUSH
15911: CALL_OW 251
15915: PUSH
15916: LD_VAR 0 2
15920: PPUSH
15921: CALL_OW 254
15925: PUSH
15926: LD_VAR 0 2
15930: PPUSH
15931: CALL_OW 266
15935: PUSH
15936: LD_VAR 0 2
15940: PPUSH
15941: CALL_OW 267
15945: PUSH
15946: LD_VAR 0 2
15950: PPUSH
15951: CALL_OW 248
15955: PUSH
15956: EMPTY
15957: LIST
15958: LIST
15959: LIST
15960: LIST
15961: LIST
15962: LIST
15963: PUSH
15964: EMPTY
15965: LIST
15966: ADD
15967: ST_TO_ADDR
15968: GO 15582
15970: POP
15971: POP
// savevariable ( tmzo , Freedom ) ;
15972: LD_VAR 0 4
15976: PPUSH
15977: LD_STRING Freedom
15979: PPUSH
15980: CALL_OW 39
// if GetLives ( Masha ) = 0 then
15984: LD_EXP 80
15988: PPUSH
15989: CALL_OW 256
15993: PUSH
15994: LD_INT 0
15996: EQUAL
15997: IFFALSE 16006
// DeleteVariable ( Masha ) ;
15999: LD_STRING Masha
16001: PPUSH
16002: CALL_OW 41
// end ; end_of_file
16006: LD_VAR 0 1
16010: 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
16011: GO 16013
16013: DISABLE
// begin uc_side = rus ;
16014: LD_ADDR_OWVAR 20
16018: PUSH
16019: LD_EXP 2
16023: ST_TO_ADDR
// uc_nation = nation_russian ;
16024: LD_ADDR_OWVAR 21
16028: PUSH
16029: LD_INT 3
16031: ST_TO_ADDR
// vc_engine = engine_siberite ;
16032: LD_ADDR_OWVAR 39
16036: PUSH
16037: LD_INT 3
16039: ST_TO_ADDR
// vc_control = control_computer ;
16040: LD_ADDR_OWVAR 38
16044: PUSH
16045: LD_INT 3
16047: ST_TO_ADDR
// vc_chassis = ruv0_ch ;
16048: LD_ADDR_OWVAR 37
16052: PUSH
16053: LD_EXP 46
16057: ST_TO_ADDR
// vc_weapon = ruv0_wp ;
16058: LD_ADDR_OWVAR 40
16062: PUSH
16063: LD_EXP 47
16067: ST_TO_ADDR
// ruv0 = createvehicle ;
16068: LD_ADDR_EXP 140
16072: PUSH
16073: CALL_OW 45
16077: ST_TO_ADDR
// setdir ( ruv0 , 0 ) ;
16078: LD_EXP 140
16082: PPUSH
16083: LD_INT 0
16085: PPUSH
16086: CALL_OW 233
// placeunitxy ( ruv0 , 70 , 96 , false ) ;
16090: LD_EXP 140
16094: PPUSH
16095: LD_INT 70
16097: PPUSH
16098: LD_INT 96
16100: PPUSH
16101: LD_INT 0
16103: PPUSH
16104: CALL_OW 48
// commovexy ( ruv0 , 60 , 48 ) ;
16108: LD_EXP 140
16112: PPUSH
16113: LD_INT 60
16115: PPUSH
16116: LD_INT 48
16118: PPUSH
16119: CALL_OW 111
// addcommovexy ( ruv0 , 70 , 97 ) ;
16123: LD_EXP 140
16127: PPUSH
16128: LD_INT 70
16130: PPUSH
16131: LD_INT 97
16133: PPUSH
16134: CALL_OW 171
// end ;
16138: END
// every 0 0$1 + 2 2$35 trigger isinarea ( ruv0 , south_exit_0 ) do
16139: LD_EXP 140
16143: PPUSH
16144: LD_INT 3
16146: PPUSH
16147: CALL_OW 308
16151: IFFALSE 16173
16153: GO 16155
16155: DISABLE
// begin destroyunit ( ruv0 ) ;
16156: LD_EXP 140
16160: PPUSH
16161: CALL_OW 65
// ruv0 = 0 ;
16165: LD_ADDR_EXP 140
16169: PUSH
16170: LD_INT 0
16172: ST_TO_ADDR
// end ;
16173: END
// var rusinarea ; function isinareaex ( units , area ) ; var tmp ; begin
16174: LD_INT 0
16176: PPUSH
16177: PPUSH
// result = 0 ;
16178: LD_ADDR_VAR 0 3
16182: PUSH
16183: LD_INT 0
16185: ST_TO_ADDR
// for tmp in units do
16186: LD_ADDR_VAR 0 4
16190: PUSH
16191: LD_VAR 0 1
16195: PUSH
16196: FOR_IN
16197: IFFALSE 16239
// if isinarea ( tmp , area ) then
16199: LD_VAR 0 4
16203: PPUSH
16204: LD_VAR 0 2
16208: PPUSH
16209: CALL_OW 308
16213: IFFALSE 16237
// begin result = tmp ;
16215: LD_ADDR_VAR 0 3
16219: PUSH
16220: LD_VAR 0 4
16224: ST_TO_ADDR
// rusinarea = tmp ;
16225: LD_ADDR_LOC 17
16229: PUSH
16230: LD_VAR 0 4
16234: ST_TO_ADDR
// break ;
16235: GO 16239
// end ;
16237: GO 16196
16239: POP
16240: POP
// end ;
16241: LD_VAR 0 3
16245: RET
// every 0 0$15 + 7 7$45 do var tmp ;
16246: GO 16248
16248: DISABLE
16249: LD_INT 0
16251: PPUSH
// begin delay = delay - 0 0$15 ;
16252: LD_ADDR_EXP 74
16256: PUSH
16257: LD_EXP 74
16261: PUSH
16262: LD_INT 525
16264: MINUS
16265: ST_TO_ADDR
// if delay then
16266: LD_EXP 74
16270: IFFALSE 16275
// begin enable ;
16272: ENABLE
// exit ;
16273: GO 16755
// end ; case difficulty of 1 :
16275: LD_OWVAR 67
16279: PUSH
16280: LD_INT 1
16282: DOUBLE
16283: EQUAL
16284: IFTRUE 16288
16286: GO 16299
16288: POP
// time2wait = 3 3$00 ; 2 :
16289: LD_ADDR_EXP 73
16293: PUSH
16294: LD_INT 6300
16296: ST_TO_ADDR
16297: GO 16338
16299: LD_INT 2
16301: DOUBLE
16302: EQUAL
16303: IFTRUE 16307
16305: GO 16318
16307: POP
// time2wait = 1 1$30 ; 3 :
16308: LD_ADDR_EXP 73
16312: PUSH
16313: LD_INT 3150
16315: ST_TO_ADDR
16316: GO 16338
16318: LD_INT 3
16320: DOUBLE
16321: EQUAL
16322: IFTRUE 16326
16324: GO 16337
16326: POP
// time2wait = 0 0$30 ; end ;
16327: LD_ADDR_EXP 73
16331: PUSH
16332: LD_INT 1050
16334: ST_TO_ADDR
16335: GO 16338
16337: POP
// delay = time2wait ;
16338: LD_ADDR_EXP 74
16342: PUSH
16343: LD_EXP 73
16347: ST_TO_ADDR
// uc_side = rus ;
16348: LD_ADDR_OWVAR 20
16352: PUSH
16353: LD_EXP 2
16357: ST_TO_ADDR
// uc_nation = nation_russian ;
16358: LD_ADDR_OWVAR 21
16362: PUSH
16363: LD_INT 3
16365: ST_TO_ADDR
// vc_engine = engine_siberite ;
16366: LD_ADDR_OWVAR 39
16370: PUSH
16371: LD_INT 3
16373: ST_TO_ADDR
// vc_control = control_manual ;
16374: LD_ADDR_OWVAR 38
16378: PUSH
16379: LD_INT 1
16381: ST_TO_ADDR
// vc_chassis = ruv1_ch ;
16382: LD_ADDR_OWVAR 37
16386: PUSH
16387: LD_EXP 48
16391: ST_TO_ADDR
// vc_weapon = ruv1_wp ;
16392: LD_ADDR_OWVAR 40
16396: PUSH
16397: LD_EXP 49
16401: ST_TO_ADDR
// ruv1 = createvehicle ;
16402: LD_ADDR_EXP 141
16406: PUSH
16407: CALL_OW 45
16411: ST_TO_ADDR
// setdir ( ruv1 , 0 ) ;
16412: LD_EXP 141
16416: PPUSH
16417: LD_INT 0
16419: PPUSH
16420: CALL_OW 233
// placeunitxy ( ruv1 , 70 , 95 , false ) ;
16424: LD_EXP 141
16428: PPUSH
16429: LD_INT 70
16431: PPUSH
16432: LD_INT 95
16434: PPUSH
16435: LD_INT 0
16437: PPUSH
16438: CALL_OW 48
// preparemechanic ( sex_male , rumech1_sk ) ;
16442: LD_INT 1
16444: PPUSH
16445: LD_EXP 64
16449: PPUSH
16450: CALL_OW 383
// rumech1 = createhuman ;
16454: LD_ADDR_EXP 149
16458: PUSH
16459: CALL_OW 44
16463: ST_TO_ADDR
// placehumaninunit ( rumech1 , ruv1 ) ;
16464: LD_EXP 149
16468: PPUSH
16469: LD_EXP 141
16473: PPUSH
16474: CALL_OW 52
// vc_chassis = ruv2_ch ;
16478: LD_ADDR_OWVAR 37
16482: PUSH
16483: LD_EXP 50
16487: ST_TO_ADDR
// vc_weapon = ruv2_wp ;
16488: LD_ADDR_OWVAR 40
16492: PUSH
16493: LD_EXP 51
16497: ST_TO_ADDR
// ruv2 = createvehicle ;
16498: LD_ADDR_EXP 142
16502: PUSH
16503: CALL_OW 45
16507: ST_TO_ADDR
// setdir ( ruv2 , 0 ) ;
16508: LD_EXP 142
16512: PPUSH
16513: LD_INT 0
16515: PPUSH
16516: CALL_OW 233
// placeunitxy ( ruv2 , 35 , 63 , false ) ;
16520: LD_EXP 142
16524: PPUSH
16525: LD_INT 35
16527: PPUSH
16528: LD_INT 63
16530: PPUSH
16531: LD_INT 0
16533: PPUSH
16534: CALL_OW 48
// preparemechanic ( sex_male , rumech2_sk ) ;
16538: LD_INT 1
16540: PPUSH
16541: LD_EXP 65
16545: PPUSH
16546: CALL_OW 383
// rumech2 = createhuman ;
16550: LD_ADDR_EXP 150
16554: PUSH
16555: CALL_OW 44
16559: ST_TO_ADDR
// placehumaninunit ( rumech2 , ruv2 ) ;
16560: LD_EXP 150
16564: PPUSH
16565: LD_EXP 142
16569: PPUSH
16570: CALL_OW 52
// vc_chassis = ruv3_ch ;
16574: LD_ADDR_OWVAR 37
16578: PUSH
16579: LD_EXP 52
16583: ST_TO_ADDR
// vc_weapon = ruv3_wp ;
16584: LD_ADDR_OWVAR 40
16588: PUSH
16589: LD_EXP 53
16593: ST_TO_ADDR
// ruv3 = createvehicle ;
16594: LD_ADDR_EXP 143
16598: PUSH
16599: CALL_OW 45
16603: ST_TO_ADDR
// setdir ( ruv3 , 0 ) ;
16604: LD_EXP 143
16608: PPUSH
16609: LD_INT 0
16611: PPUSH
16612: CALL_OW 233
// placeunitxy ( ruv3 , 99 , 95 , false ) ;
16616: LD_EXP 143
16620: PPUSH
16621: LD_INT 99
16623: PPUSH
16624: LD_INT 95
16626: PPUSH
16627: LD_INT 0
16629: PPUSH
16630: CALL_OW 48
// preparemechanic ( sex_male , rumech3_sk ) ;
16634: LD_INT 1
16636: PPUSH
16637: LD_EXP 66
16641: PPUSH
16642: CALL_OW 383
// rumech3 = createhuman ;
16646: LD_ADDR_EXP 151
16650: PUSH
16651: CALL_OW 44
16655: ST_TO_ADDR
// placehumaninunit ( rumech3 , ruv3 ) ;
16656: LD_EXP 151
16660: PPUSH
16661: LD_EXP 143
16665: PPUSH
16666: CALL_OW 52
// rusove = [ ruv1 , ruv2 , ruv3 ] ;
16670: LD_ADDR_EXP 138
16674: PUSH
16675: LD_EXP 141
16679: PUSH
16680: LD_EXP 142
16684: PUSH
16685: LD_EXP 143
16689: PUSH
16690: EMPTY
16691: LIST
16692: LIST
16693: LIST
16694: ST_TO_ADDR
// comremember ( rusove ) ;
16695: LD_EXP 138
16699: PPUSH
16700: CALL_OW 143
// commovexy ( ruv1 , 64 , 66 ) ;
16704: LD_EXP 141
16708: PPUSH
16709: LD_INT 64
16711: PPUSH
16712: LD_INT 66
16714: PPUSH
16715: CALL_OW 111
// commovexy ( ruv2 , 42 , 44 ) ;
16719: LD_EXP 142
16723: PPUSH
16724: LD_INT 42
16726: PPUSH
16727: LD_INT 44
16729: PPUSH
16730: CALL_OW 111
// commovexy ( ruv3 , 74 , 61 ) ;
16734: LD_EXP 143
16738: PPUSH
16739: LD_INT 74
16741: PPUSH
16742: LD_INT 61
16744: PPUSH
16745: CALL_OW 111
// enable ( 03 ) ;
16749: LD_INT 3
16751: ENABLE_MARKED
// enable ( 05 ) ;
16752: LD_INT 5
16754: ENABLE_MARKED
// end ;
16755: PPOPN 1
16757: END
// on destinationunreachable ( un ) do if ( un = ruv1 ) or ( un = ruv2 ) or ( un = ruv3 ) then
16758: LD_VAR 0 1
16762: PUSH
16763: LD_EXP 141
16767: EQUAL
16768: PUSH
16769: LD_VAR 0 1
16773: PUSH
16774: LD_EXP 142
16778: EQUAL
16779: OR
16780: PUSH
16781: LD_VAR 0 1
16785: PUSH
16786: LD_EXP 143
16790: EQUAL
16791: OR
16792: IFFALSE 16843
// begin effectteleport ( getx ( un ) , gety ( un ) ) ;
16794: LD_VAR 0 1
16798: PPUSH
16799: CALL_OW 250
16803: PPUSH
16804: LD_VAR 0 1
16808: PPUSH
16809: CALL_OW 251
16813: PPUSH
16814: CALL_OW 494
// comhold ( un ) ;
16818: LD_VAR 0 1
16822: PPUSH
16823: CALL_OW 140
// wait ( 50 ) ;
16827: LD_INT 50
16829: PPUSH
16830: CALL_OW 67
// destroyunit ( un ) ;
16834: LD_VAR 0 1
16838: PPUSH
16839: CALL_OW 65
// end ;
16843: PPOPN 1
16845: END
// every 0 0$0.3 + 8 8$0 trigger not hastask ( ruv1 ) marked 05 do
16846: LD_EXP 141
16850: PPUSH
16851: CALL_OW 314
16855: NOT
16856: IFFALSE 16876
16858: GO 16860
16860: DISABLE
// commovexy ( ruv1 , 60 , 48 ) ;
16861: LD_EXP 141
16865: PPUSH
16866: LD_INT 60
16868: PPUSH
16869: LD_INT 48
16871: PPUSH
16872: CALL_OW 111
16876: END
// every 0 0$0.3 + 8 8$0 trigger not hastask ( ruv2 ) marked 05 do
16877: LD_EXP 142
16881: PPUSH
16882: CALL_OW 314
16886: NOT
16887: IFFALSE 16907
16889: GO 16891
16891: DISABLE
// commovexy ( ruv2 , 56 , 49 ) ;
16892: LD_EXP 142
16896: PPUSH
16897: LD_INT 56
16899: PPUSH
16900: LD_INT 49
16902: PPUSH
16903: CALL_OW 111
16907: END
// every 0 0$0.3 + 8 8$0 trigger not hastask ( ruv3 ) marked 05 do
16908: LD_EXP 143
16912: PPUSH
16913: CALL_OW 314
16917: NOT
16918: IFFALSE 16938
16920: GO 16922
16922: DISABLE
// commovexy ( ruv3 , 62 , 50 ) ;
16923: LD_EXP 143
16927: PPUSH
16928: LD_INT 62
16930: PPUSH
16931: LD_INT 50
16933: PPUSH
16934: CALL_OW 111
16938: END
// every 0 0$0.33 do var tmp , tmp2 ;
16939: GO 16941
16941: DISABLE
16942: LD_INT 0
16944: PPUSH
16945: PPUSH
// begin tmp2 = rusove ;
16946: LD_ADDR_VAR 0 2
16950: PUSH
16951: LD_EXP 138
16955: ST_TO_ADDR
// for tmp in tmp2 do
16956: LD_ADDR_VAR 0 1
16960: PUSH
16961: LD_VAR 0 2
16965: PUSH
16966: FOR_IN
16967: IFFALSE 17029
// if getlives ( tmp ) <= hr_auta then
16969: LD_VAR 0 1
16973: PPUSH
16974: CALL_OW 256
16978: PUSH
16979: LD_EXP 72
16983: LESSEQUAL
16984: IFFALSE 17027
// begin rusove = rusove diff tmp ;
16986: LD_ADDR_EXP 138
16990: PUSH
16991: LD_EXP 138
16995: PUSH
16996: LD_VAR 0 1
17000: DIFF
17001: ST_TO_ADDR
// rusoveu = rusoveu union tmp ;
17002: LD_ADDR_EXP 139
17006: PUSH
17007: LD_EXP 139
17011: PUSH
17012: LD_VAR 0 1
17016: UNION
17017: ST_TO_ADDR
// comreturn ( tmp ) ;
17018: LD_VAR 0 1
17022: PPUSH
17023: CALL_OW 144
// end ;
17027: GO 16966
17029: POP
17030: POP
// enable ;
17031: ENABLE
// end ;
17032: PPOPN 2
17034: END
// every 0 0$0.3 trigger isinareaex ( rusoveu , south_exit_0 ) do
17035: LD_EXP 139
17039: PPUSH
17040: LD_INT 3
17042: PPUSH
17043: CALL 16174 0 2
17047: IFFALSE 17062
17049: GO 17051
17051: DISABLE
// begin destroyunit ( rusinarea ) ;
17052: LD_LOC 17
17056: PPUSH
17057: CALL_OW 65
// enable ;
17061: ENABLE
// end ;
17062: END
// every 0 0$0.3 trigger isinareaex ( rusoveu , west_exit_0 ) do
17063: LD_EXP 139
17067: PPUSH
17068: LD_INT 4
17070: PPUSH
17071: CALL 16174 0 2
17075: IFFALSE 17090
17077: GO 17079
17079: DISABLE
// begin destroyunit ( rusinarea ) ;
17080: LD_LOC 17
17084: PPUSH
17085: CALL_OW 65
// enable ;
17089: ENABLE
// end ;
17090: END
// every 0 0$0.3 trigger isinareaex ( rusoveu , south_exit_1 ) do
17091: LD_EXP 139
17095: PPUSH
17096: LD_INT 5
17098: PPUSH
17099: CALL 16174 0 2
17103: IFFALSE 17118
17105: GO 17107
17107: DISABLE
// begin destroyunit ( rusinarea ) ;
17108: LD_LOC 17
17112: PPUSH
17113: CALL_OW 65
// enable ;
17117: ENABLE
// end ;
17118: END
// every 0 0$15 + 12 12$45 do
17119: GO 17121
17121: DISABLE
// begin delay = delay - 0 0$15 ;
17122: LD_ADDR_EXP 74
17126: PUSH
17127: LD_EXP 74
17131: PUSH
17132: LD_INT 525
17134: MINUS
17135: ST_TO_ADDR
// if delay then
17136: LD_EXP 74
17140: IFFALSE 17145
// begin enable ;
17142: ENABLE
// exit ;
17143: GO 17546
// end ; uc_side = rus ;
17145: LD_ADDR_OWVAR 20
17149: PUSH
17150: LD_EXP 2
17154: ST_TO_ADDR
// uc_nation = nation_russian ;
17155: LD_ADDR_OWVAR 21
17159: PUSH
17160: LD_INT 3
17162: ST_TO_ADDR
// vc_engine = engine_siberite ;
17163: LD_ADDR_OWVAR 39
17167: PUSH
17168: LD_INT 3
17170: ST_TO_ADDR
// vc_control = control_manual ;
17171: LD_ADDR_OWVAR 38
17175: PUSH
17176: LD_INT 1
17178: ST_TO_ADDR
// vc_chassis = ruv4_ch ;
17179: LD_ADDR_OWVAR 37
17183: PUSH
17184: LD_EXP 54
17188: ST_TO_ADDR
// vc_weapon = ruv4_wp ;
17189: LD_ADDR_OWVAR 40
17193: PUSH
17194: LD_EXP 55
17198: ST_TO_ADDR
// ruv4 = createvehicle ;
17199: LD_ADDR_EXP 144
17203: PUSH
17204: CALL_OW 45
17208: ST_TO_ADDR
// setdir ( ruv4 , 0 ) ;
17209: LD_EXP 144
17213: PPUSH
17214: LD_INT 0
17216: PPUSH
17217: CALL_OW 233
// placeunitxy ( ruv4 , 70 , 95 , false ) ;
17221: LD_EXP 144
17225: PPUSH
17226: LD_INT 70
17228: PPUSH
17229: LD_INT 95
17231: PPUSH
17232: LD_INT 0
17234: PPUSH
17235: CALL_OW 48
// preparemechanic ( sex_male , rumech4_sk ) ;
17239: LD_INT 1
17241: PPUSH
17242: LD_EXP 67
17246: PPUSH
17247: CALL_OW 383
// rumech4 = createhuman ;
17251: LD_ADDR_EXP 152
17255: PUSH
17256: CALL_OW 44
17260: ST_TO_ADDR
// placehumaninunit ( rumech4 , ruv4 ) ;
17261: LD_EXP 152
17265: PPUSH
17266: LD_EXP 144
17270: PPUSH
17271: CALL_OW 52
// vc_chassis = ruv5_ch ;
17275: LD_ADDR_OWVAR 37
17279: PUSH
17280: LD_EXP 56
17284: ST_TO_ADDR
// vc_weapon = ruv5_wp ;
17285: LD_ADDR_OWVAR 40
17289: PUSH
17290: LD_EXP 57
17294: ST_TO_ADDR
// ruv5 = createvehicle ;
17295: LD_ADDR_EXP 145
17299: PUSH
17300: CALL_OW 45
17304: ST_TO_ADDR
// setdir ( ruv5 , 0 ) ;
17305: LD_EXP 145
17309: PPUSH
17310: LD_INT 0
17312: PPUSH
17313: CALL_OW 233
// placeunitxy ( ruv5 , 35 , 63 , false ) ;
17317: LD_EXP 145
17321: PPUSH
17322: LD_INT 35
17324: PPUSH
17325: LD_INT 63
17327: PPUSH
17328: LD_INT 0
17330: PPUSH
17331: CALL_OW 48
// preparemechanic ( sex_male , rumech5_sk ) ;
17335: LD_INT 1
17337: PPUSH
17338: LD_EXP 68
17342: PPUSH
17343: CALL_OW 383
// rumech5 = createhuman ;
17347: LD_ADDR_EXP 153
17351: PUSH
17352: CALL_OW 44
17356: ST_TO_ADDR
// placehumaninunit ( rumech5 , ruv5 ) ;
17357: LD_EXP 153
17361: PPUSH
17362: LD_EXP 145
17366: PPUSH
17367: CALL_OW 52
// vc_chassis = ruv6_ch ;
17371: LD_ADDR_OWVAR 37
17375: PUSH
17376: LD_EXP 58
17380: ST_TO_ADDR
// vc_weapon = ruv6_wp ;
17381: LD_ADDR_OWVAR 40
17385: PUSH
17386: LD_EXP 59
17390: ST_TO_ADDR
// ruv6 = createvehicle ;
17391: LD_ADDR_EXP 146
17395: PUSH
17396: CALL_OW 45
17400: ST_TO_ADDR
// setdir ( ruv6 , 0 ) ;
17401: LD_EXP 146
17405: PPUSH
17406: LD_INT 0
17408: PPUSH
17409: CALL_OW 233
// placeunitxy ( ruv6 , 99 , 95 , false ) ;
17413: LD_EXP 146
17417: PPUSH
17418: LD_INT 99
17420: PPUSH
17421: LD_INT 95
17423: PPUSH
17424: LD_INT 0
17426: PPUSH
17427: CALL_OW 48
// preparemechanic ( sex_male , rumech6_sk ) ;
17431: LD_INT 1
17433: PPUSH
17434: LD_EXP 69
17438: PPUSH
17439: CALL_OW 383
// rumech6 = createhuman ;
17443: LD_ADDR_EXP 154
17447: PUSH
17448: CALL_OW 44
17452: ST_TO_ADDR
// placehumaninunit ( rumech6 , ruv6 ) ;
17453: LD_EXP 154
17457: PPUSH
17458: LD_EXP 146
17462: PPUSH
17463: CALL_OW 52
// rusove = [ ruv4 , ruv5 , ruv6 ] ;
17467: LD_ADDR_EXP 138
17471: PUSH
17472: LD_EXP 144
17476: PUSH
17477: LD_EXP 145
17481: PUSH
17482: LD_EXP 146
17486: PUSH
17487: EMPTY
17488: LIST
17489: LIST
17490: LIST
17491: ST_TO_ADDR
// comremember ( rusove ) ;
17492: LD_EXP 138
17496: PPUSH
17497: CALL_OW 143
// commovexy ( ruv4 , 61 , 56 ) ;
17501: LD_EXP 144
17505: PPUSH
17506: LD_INT 61
17508: PPUSH
17509: LD_INT 56
17511: PPUSH
17512: CALL_OW 111
// commovexy ( ruv5 , 50 , 45 ) ;
17516: LD_EXP 145
17520: PPUSH
17521: LD_INT 50
17523: PPUSH
17524: LD_INT 45
17526: PPUSH
17527: CALL_OW 111
// commovexy ( ruv6 , 69 , 56 ) ;
17531: LD_EXP 146
17535: PPUSH
17536: LD_INT 69
17538: PPUSH
17539: LD_INT 56
17541: PPUSH
17542: CALL_OW 111
// end ;
17546: END
// every 0 0$15 + 12 12$55 do
17547: GO 17549
17549: DISABLE
// begin if delay then
17550: LD_EXP 74
17554: IFFALSE 17559
// begin enable ;
17556: ENABLE
// exit ;
17557: GO 17906
// end ; uc_side = rus ;
17559: LD_ADDR_OWVAR 20
17563: PUSH
17564: LD_EXP 2
17568: ST_TO_ADDR
// uc_nation = nation_russian ;
17569: LD_ADDR_OWVAR 21
17573: PUSH
17574: LD_INT 3
17576: ST_TO_ADDR
// vc_engine = engine_siberite ;
17577: LD_ADDR_OWVAR 39
17581: PUSH
17582: LD_INT 3
17584: ST_TO_ADDR
// vc_control = control_manual ;
17585: LD_ADDR_OWVAR 38
17589: PUSH
17590: LD_INT 1
17592: ST_TO_ADDR
// if difficulty >= 2 then
17593: LD_OWVAR 67
17597: PUSH
17598: LD_INT 2
17600: GREATEREQUAL
17601: IFFALSE 17757
// begin vc_chassis = ruv7_ch ;
17603: LD_ADDR_OWVAR 37
17607: PUSH
17608: LD_EXP 60
17612: ST_TO_ADDR
// vc_weapon = ruv7_wp ;
17613: LD_ADDR_OWVAR 40
17617: PUSH
17618: LD_EXP 61
17622: ST_TO_ADDR
// ruv7 = createvehicle ;
17623: LD_ADDR_EXP 147
17627: PUSH
17628: CALL_OW 45
17632: ST_TO_ADDR
// setdir ( ruv7 , 0 ) ;
17633: LD_EXP 147
17637: PPUSH
17638: LD_INT 0
17640: PPUSH
17641: CALL_OW 233
// placeunitxy ( ruv7 , 99 , 95 , false ) ;
17645: LD_EXP 147
17649: PPUSH
17650: LD_INT 99
17652: PPUSH
17653: LD_INT 95
17655: PPUSH
17656: LD_INT 0
17658: PPUSH
17659: CALL_OW 48
// preparemechanic ( sex_male , rumech7_sk ) ;
17663: LD_INT 1
17665: PPUSH
17666: LD_EXP 70
17670: PPUSH
17671: CALL_OW 383
// rumech7 = createhuman ;
17675: LD_ADDR_EXP 155
17679: PUSH
17680: CALL_OW 44
17684: ST_TO_ADDR
// placehumaninunit ( rumech7 , ruv7 ) ;
17685: LD_EXP 155
17689: PPUSH
17690: LD_EXP 147
17694: PPUSH
17695: CALL_OW 52
// rusove = rusove ^ [ ruv7 ] ;
17699: LD_ADDR_EXP 138
17703: PUSH
17704: LD_EXP 138
17708: PUSH
17709: LD_EXP 147
17713: PUSH
17714: EMPTY
17715: LIST
17716: ADD
17717: ST_TO_ADDR
// comremember ( ruv7 ) ;
17718: LD_EXP 147
17722: PPUSH
17723: CALL_OW 143
// commovexy ( ruv7 , 97 , 55 ) ;
17727: LD_EXP 147
17731: PPUSH
17732: LD_INT 97
17734: PPUSH
17735: LD_INT 55
17737: PPUSH
17738: CALL_OW 111
// addcommovexy ( ruv7 , 67 , 50 ) ;
17742: LD_EXP 147
17746: PPUSH
17747: LD_INT 67
17749: PPUSH
17750: LD_INT 50
17752: PPUSH
17753: CALL_OW 171
// end ; if difficulty > 2 then
17757: LD_OWVAR 67
17761: PUSH
17762: LD_INT 2
17764: GREATER
17765: IFFALSE 17906
// begin vc_chassis = ruv8_ch ;
17767: LD_ADDR_OWVAR 37
17771: PUSH
17772: LD_EXP 62
17776: ST_TO_ADDR
// vc_weapon = ruv8_wp ;
17777: LD_ADDR_OWVAR 40
17781: PUSH
17782: LD_EXP 63
17786: ST_TO_ADDR
// ruv8 = createvehicle ;
17787: LD_ADDR_EXP 148
17791: PUSH
17792: CALL_OW 45
17796: ST_TO_ADDR
// setdir ( ruv8 , 0 ) ;
17797: LD_EXP 148
17801: PPUSH
17802: LD_INT 0
17804: PPUSH
17805: CALL_OW 233
// placeunitxy ( ruv8 , 70 , 95 , false ) ;
17809: LD_EXP 148
17813: PPUSH
17814: LD_INT 70
17816: PPUSH
17817: LD_INT 95
17819: PPUSH
17820: LD_INT 0
17822: PPUSH
17823: CALL_OW 48
// preparemechanic ( sex_male , rumech8_sk ) ;
17827: LD_INT 1
17829: PPUSH
17830: LD_EXP 71
17834: PPUSH
17835: CALL_OW 383
// rumech8 = createhuman ;
17839: LD_ADDR_EXP 156
17843: PUSH
17844: CALL_OW 44
17848: ST_TO_ADDR
// placehumaninunit ( rumech8 , ruv8 ) ;
17849: LD_EXP 156
17853: PPUSH
17854: LD_EXP 148
17858: PPUSH
17859: CALL_OW 52
// rusove = rusove ^ [ ruv8 ] ;
17863: LD_ADDR_EXP 138
17867: PUSH
17868: LD_EXP 138
17872: PUSH
17873: LD_EXP 148
17877: PUSH
17878: EMPTY
17879: LIST
17880: ADD
17881: ST_TO_ADDR
// comremember ( ruv8 ) ;
17882: LD_EXP 148
17886: PPUSH
17887: CALL_OW 143
// commovexy ( ruv8 , 61 , 56 ) ;
17891: LD_EXP 148
17895: PPUSH
17896: LD_INT 61
17898: PPUSH
17899: LD_INT 56
17901: PPUSH
17902: CALL_OW 111
// end ; end ;
17906: END
// on unitdestroyed ( un ) do if un = jmm then
17907: LD_VAR 0 1
17911: PUSH
17912: LD_EXP 105
17916: EQUAL
17917: IFFALSE 17928
// youlost ( JMM ) else
17919: LD_STRING JMM
17921: PPUSH
17922: CALL_OW 104
17926: GO 18070
// if un = burlak then
17928: LD_VAR 0 1
17932: PUSH
17933: LD_EXP 83
17937: EQUAL
17938: IFFALSE 17949
// youlost ( Burlak ) else
17940: LD_STRING Burlak
17942: PPUSH
17943: CALL_OW 104
17947: GO 18070
// if ( un = abdul ) and isdead ( abduluv ) then
17949: LD_VAR 0 1
17953: PUSH
17954: LD_EXP 121
17958: EQUAL
17959: PUSH
17960: LD_INT 22
17962: PPUSH
17963: CALL_OW 301
17967: AND
17968: IFFALSE 17979
// changemissionobjectives ( MAttackA ) else
17970: LD_STRING MAttackA
17972: PPUSH
17973: CALL_OW 337
17977: GO 18070
// if ( un = abduluv ) and isdead ( abdul ) then
17979: LD_VAR 0 1
17983: PUSH
17984: LD_INT 22
17986: EQUAL
17987: PUSH
17988: LD_EXP 121
17992: PPUSH
17993: CALL_OW 301
17997: AND
17998: IFFALSE 18009
// changemissionobjectives ( MAttackA ) else
18000: LD_STRING MAttackA
18002: PPUSH
18003: CALL_OW 337
18007: GO 18070
// if ( un = nakladak ) then
18009: LD_VAR 0 1
18013: PUSH
18014: LD_INT 23
18016: EQUAL
18017: IFFALSE 18032
// begin artef_out = true ;
18019: LD_ADDR_EXP 78
18023: PUSH
18024: LD_INT 1
18026: ST_TO_ADDR
// enable ( 15 ) ;
18027: LD_INT 15
18029: ENABLE_MARKED
// end else
18030: GO 18070
// if ( un = arbarr ) then
18032: LD_VAR 0 1
18036: PUSH
18037: LD_INT 2
18039: EQUAL
18040: IFFALSE 18052
// base_out = true else
18042: LD_ADDR_EXP 79
18046: PUSH
18047: LD_INT 1
18049: ST_TO_ADDR
18050: GO 18070
// if ( un = ar_depot ) then
18052: LD_VAR 0 1
18056: PUSH
18057: LD_INT 1
18059: EQUAL
18060: IFFALSE 18070
// base_out = true ; end_of_file
18062: LD_ADDR_EXP 79
18066: PUSH
18067: LD_INT 1
18069: ST_TO_ADDR
18070: PPOPN 1
18072: END
// every 0 0$2 + 0 0$0.1 do
18073: GO 18075
18075: 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
18076: LD_INT 22
18078: PUSH
18079: LD_INT 7
18081: PUSH
18082: EMPTY
18083: LIST
18084: LIST
18085: PUSH
18086: LD_INT 2
18088: PUSH
18089: LD_INT 25
18091: PUSH
18092: LD_INT 12
18094: PUSH
18095: EMPTY
18096: LIST
18097: LIST
18098: PUSH
18099: LD_INT 25
18101: PUSH
18102: LD_INT 16
18104: PUSH
18105: EMPTY
18106: LIST
18107: LIST
18108: PUSH
18109: LD_INT 25
18111: PUSH
18112: LD_INT 15
18114: PUSH
18115: EMPTY
18116: LIST
18117: LIST
18118: PUSH
18119: LD_INT 25
18121: PUSH
18122: LD_INT 17
18124: PUSH
18125: EMPTY
18126: LIST
18127: LIST
18128: PUSH
18129: EMPTY
18130: LIST
18131: LIST
18132: LIST
18133: LIST
18134: LIST
18135: PUSH
18136: EMPTY
18137: LIST
18138: LIST
18139: PPUSH
18140: CALL_OW 69
18144: PUSH
18145: LD_INT 22
18147: PUSH
18148: LD_INT 7
18150: PUSH
18151: EMPTY
18152: LIST
18153: LIST
18154: PUSH
18155: LD_INT 21
18157: PUSH
18158: LD_INT 1
18160: PUSH
18161: EMPTY
18162: LIST
18163: LIST
18164: PUSH
18165: LD_INT 3
18167: PUSH
18168: LD_INT 2
18170: PUSH
18171: LD_INT 25
18173: PUSH
18174: LD_INT 12
18176: PUSH
18177: EMPTY
18178: LIST
18179: LIST
18180: PUSH
18181: LD_INT 25
18183: PUSH
18184: LD_INT 16
18186: PUSH
18187: EMPTY
18188: LIST
18189: LIST
18190: PUSH
18191: LD_INT 25
18193: PUSH
18194: LD_INT 15
18196: PUSH
18197: EMPTY
18198: LIST
18199: LIST
18200: PUSH
18201: LD_INT 25
18203: PUSH
18204: LD_INT 17
18206: PUSH
18207: EMPTY
18208: LIST
18209: LIST
18210: PUSH
18211: EMPTY
18212: LIST
18213: LIST
18214: LIST
18215: LIST
18216: LIST
18217: PUSH
18218: EMPTY
18219: LIST
18220: LIST
18221: PUSH
18222: EMPTY
18223: LIST
18224: LIST
18225: LIST
18226: PPUSH
18227: CALL_OW 69
18231: GREATER
18232: IFFALSE 18243
// begin SetAchievement ( ACH_POTA ) ;
18234: LD_STRING ACH_POTA
18236: PPUSH
18237: CALL_OW 543
// exit ;
18241: GO 18244
// end ; enable ;
18243: ENABLE
// end ; end_of_file
18244: END
// export function SA_EndMission ( campaignNumber , missionNumber , medal1 , medal2 , medal3 ) ; var achiv ; begin
18245: LD_INT 0
18247: PPUSH
18248: PPUSH
// if not missionNumber then
18249: LD_VAR 0 2
18253: NOT
18254: IFFALSE 18258
// exit ;
18256: GO 18388
// achiv := false ;
18258: LD_ADDR_VAR 0 7
18262: PUSH
18263: LD_INT 0
18265: ST_TO_ADDR
// case campaignNumber of 1 :
18266: LD_VAR 0 1
18270: PUSH
18271: LD_INT 1
18273: DOUBLE
18274: EQUAL
18275: IFTRUE 18279
18277: GO 18290
18279: POP
// achiv := ACH_GOTA ; 2 :
18280: LD_ADDR_VAR 0 7
18284: PUSH
18285: LD_STRING ACH_GOTA
18287: ST_TO_ADDR
18288: GO 18340
18290: LD_INT 2
18292: DOUBLE
18293: EQUAL
18294: IFTRUE 18298
18296: GO 18301
18298: POP
// ; 3 :
18299: GO 18340
18301: LD_INT 3
18303: DOUBLE
18304: EQUAL
18305: IFTRUE 18309
18307: GO 18320
18309: POP
// achiv := ACH_MOTSU ; 4 :
18310: LD_ADDR_VAR 0 7
18314: PUSH
18315: LD_STRING ACH_MOTSU
18317: ST_TO_ADDR
18318: GO 18340
18320: LD_INT 4
18322: DOUBLE
18323: EQUAL
18324: IFTRUE 18328
18326: GO 18339
18328: POP
// achiv := ACH_LOP ; end ;
18329: LD_ADDR_VAR 0 7
18333: PUSH
18334: LD_STRING ACH_LOP
18336: ST_TO_ADDR
18337: GO 18340
18339: POP
// if Difficulty = 3 and achiv and medal1 and medal2 and medal3 then
18340: LD_OWVAR 67
18344: PUSH
18345: LD_INT 3
18347: EQUAL
18348: PUSH
18349: LD_VAR 0 7
18353: AND
18354: PUSH
18355: LD_VAR 0 3
18359: AND
18360: PUSH
18361: LD_VAR 0 4
18365: AND
18366: PUSH
18367: LD_VAR 0 5
18371: AND
18372: IFFALSE 18388
// SetAchievementEX ( achiv , missionNumber ) ;
18374: LD_VAR 0 7
18378: PPUSH
18379: LD_VAR 0 2
18383: PPUSH
18384: CALL_OW 564
// end ;
18388: LD_VAR 0 6
18392: RET
// export function SA_BehemothConstructed ; begin
18393: LD_INT 0
18395: PPUSH
// SetAchievement ( ACH_SMC ) ;
18396: LD_STRING ACH_SMC
18398: PPUSH
18399: CALL_OW 543
// end ;
18403: LD_VAR 0 1
18407: RET
// on CustomCommand ( p1 , p2 , p3 , p4 , p5 , p6 ) do begin case p2 of 1 :
18408: LD_VAR 0 2
18412: PUSH
18413: LD_INT 1
18415: DOUBLE
18416: EQUAL
18417: IFTRUE 18421
18419: GO 18428
18421: POP
// HackUnlimitedResources ; 2 :
18422: CALL 18612 0 0
18426: GO 18609
18428: LD_INT 2
18430: DOUBLE
18431: EQUAL
18432: IFTRUE 18436
18434: GO 18443
18436: POP
// HackSetLevel10 ; 3 :
18437: CALL 18745 0 0
18441: GO 18609
18443: LD_INT 3
18445: DOUBLE
18446: EQUAL
18447: IFTRUE 18451
18449: GO 18458
18451: POP
// HackSetLevel10YourUnits ; 4 :
18452: CALL 18830 0 0
18456: GO 18609
18458: LD_INT 4
18460: DOUBLE
18461: EQUAL
18462: IFTRUE 18466
18464: GO 18488
18466: POP
// HackSpawnHuman ( p3 , p4 , p5 ) ; 5 :
18467: LD_VAR 0 3
18471: PPUSH
18472: LD_VAR 0 4
18476: PPUSH
18477: LD_VAR 0 5
18481: PPUSH
18482: CALL 18920 0 3
18486: GO 18609
18488: LD_INT 5
18490: DOUBLE
18491: EQUAL
18492: IFTRUE 18496
18494: GO 18503
18496: POP
// HackSpawnVehicle ; 6 :
18497: CALL 18981 0 0
18501: GO 18609
18503: LD_INT 6
18505: DOUBLE
18506: EQUAL
18507: IFTRUE 18511
18509: GO 18518
18511: POP
// HackInvincible ; 7 :
18512: CALL 19527 0 0
18516: GO 18609
18518: LD_INT 7
18520: DOUBLE
18521: EQUAL
18522: IFTRUE 18526
18524: GO 18533
18526: POP
// HackInvisible ; 8 :
18527: CALL 19638 0 0
18531: GO 18609
18533: LD_INT 8
18535: DOUBLE
18536: EQUAL
18537: IFTRUE 18541
18539: GO 18548
18541: POP
// HackChangeYourSide ; 9 :
18542: CALL 19695 0 0
18546: GO 18609
18548: LD_INT 9
18550: DOUBLE
18551: EQUAL
18552: IFTRUE 18556
18554: GO 18563
18556: POP
// HackChangeUnitSide ; 10 :
18557: CALL 19737 0 0
18561: GO 18609
18563: LD_INT 10
18565: DOUBLE
18566: EQUAL
18567: IFTRUE 18571
18569: GO 18578
18571: POP
// HackFog ; 11 :
18572: CALL 19838 0 0
18576: GO 18609
18578: LD_INT 11
18580: DOUBLE
18581: EQUAL
18582: IFTRUE 18586
18584: GO 18593
18586: POP
// HackApeman ; 12 :
18587: CALL 19853 0 0
18591: GO 18609
18593: LD_INT 12
18595: DOUBLE
18596: EQUAL
18597: IFTRUE 18601
18599: GO 18608
18601: POP
// HackBoom ; end ;
18602: CALL 19938 0 0
18606: GO 18609
18608: POP
// end ;
18609: PPOPN 6
18611: END
// export function HackUnlimitedResources ; var i , j , tmp ; begin
18612: LD_INT 0
18614: PPUSH
18615: PPUSH
18616: PPUSH
18617: PPUSH
// tmp := FilterAllUnits ( [ [ f_side , your_side ] , [ f_or , [ f_btype , b_depot ] , [ f_btype , b_warehouse ] ] ] ) ;
18618: LD_ADDR_VAR 0 4
18622: PUSH
18623: LD_INT 22
18625: PUSH
18626: LD_OWVAR 2
18630: PUSH
18631: EMPTY
18632: LIST
18633: LIST
18634: PUSH
18635: LD_INT 2
18637: PUSH
18638: LD_INT 30
18640: PUSH
18641: LD_INT 0
18643: PUSH
18644: EMPTY
18645: LIST
18646: LIST
18647: PUSH
18648: LD_INT 30
18650: PUSH
18651: LD_INT 1
18653: PUSH
18654: EMPTY
18655: LIST
18656: LIST
18657: PUSH
18658: EMPTY
18659: LIST
18660: LIST
18661: LIST
18662: PUSH
18663: EMPTY
18664: LIST
18665: LIST
18666: PPUSH
18667: CALL_OW 69
18671: ST_TO_ADDR
// if not tmp then
18672: LD_VAR 0 4
18676: NOT
18677: IFFALSE 18681
// exit ;
18679: GO 18740
// for i in tmp do
18681: LD_ADDR_VAR 0 2
18685: PUSH
18686: LD_VAR 0 4
18690: PUSH
18691: FOR_IN
18692: IFFALSE 18738
// for j = 1 to 3 do
18694: LD_ADDR_VAR 0 3
18698: PUSH
18699: DOUBLE
18700: LD_INT 1
18702: DEC
18703: ST_TO_ADDR
18704: LD_INT 3
18706: PUSH
18707: FOR_TO
18708: IFFALSE 18734
// SetResourceType ( GetBase ( i ) , j , 99999 ) ;
18710: LD_VAR 0 2
18714: PPUSH
18715: CALL_OW 274
18719: PPUSH
18720: LD_VAR 0 3
18724: PPUSH
18725: LD_INT 99999
18727: PPUSH
18728: CALL_OW 277
18732: GO 18707
18734: POP
18735: POP
18736: GO 18691
18738: POP
18739: POP
// end ;
18740: LD_VAR 0 1
18744: RET
// export function HackSetLevel10 ; var i , j ; begin
18745: LD_INT 0
18747: PPUSH
18748: PPUSH
18749: PPUSH
// for i in FilterAllUnits ( [ f_type , unit_human ] ) do
18750: LD_ADDR_VAR 0 2
18754: PUSH
18755: LD_INT 21
18757: PUSH
18758: LD_INT 1
18760: PUSH
18761: EMPTY
18762: LIST
18763: LIST
18764: PPUSH
18765: CALL_OW 69
18769: PUSH
18770: FOR_IN
18771: IFFALSE 18823
// if IsSelected ( i ) then
18773: LD_VAR 0 2
18777: PPUSH
18778: CALL_OW 306
18782: IFFALSE 18821
// begin for j := 1 to 4 do
18784: LD_ADDR_VAR 0 3
18788: PUSH
18789: DOUBLE
18790: LD_INT 1
18792: DEC
18793: ST_TO_ADDR
18794: LD_INT 4
18796: PUSH
18797: FOR_TO
18798: IFFALSE 18819
// SetSkill ( i , j , 10 ) ;
18800: LD_VAR 0 2
18804: PPUSH
18805: LD_VAR 0 3
18809: PPUSH
18810: LD_INT 10
18812: PPUSH
18813: CALL_OW 237
18817: GO 18797
18819: POP
18820: POP
// end ;
18821: GO 18770
18823: POP
18824: POP
// end ;
18825: LD_VAR 0 1
18829: RET
// export function HackSetLevel10YourUnits ; var i , j ; begin
18830: LD_INT 0
18832: PPUSH
18833: PPUSH
18834: PPUSH
// for i in FilterAllUnits ( [ [ f_side , your_side ] , [ f_type , unit_human ] ] ) do
18835: LD_ADDR_VAR 0 2
18839: PUSH
18840: LD_INT 22
18842: PUSH
18843: LD_OWVAR 2
18847: PUSH
18848: EMPTY
18849: LIST
18850: LIST
18851: PUSH
18852: LD_INT 21
18854: PUSH
18855: LD_INT 1
18857: PUSH
18858: EMPTY
18859: LIST
18860: LIST
18861: PUSH
18862: EMPTY
18863: LIST
18864: LIST
18865: PPUSH
18866: CALL_OW 69
18870: PUSH
18871: FOR_IN
18872: IFFALSE 18913
// begin for j := 1 to 4 do
18874: LD_ADDR_VAR 0 3
18878: PUSH
18879: DOUBLE
18880: LD_INT 1
18882: DEC
18883: ST_TO_ADDR
18884: LD_INT 4
18886: PUSH
18887: FOR_TO
18888: IFFALSE 18909
// SetSkill ( i , j , 10 ) ;
18890: LD_VAR 0 2
18894: PPUSH
18895: LD_VAR 0 3
18899: PPUSH
18900: LD_INT 10
18902: PPUSH
18903: CALL_OW 237
18907: GO 18887
18909: POP
18910: POP
// end ;
18911: GO 18871
18913: POP
18914: POP
// end ;
18915: LD_VAR 0 1
18919: RET
// export function HackSpawnHuman ( nation , class , skill ) ; begin
18920: LD_INT 0
18922: PPUSH
// uc_side := your_side ;
18923: LD_ADDR_OWVAR 20
18927: PUSH
18928: LD_OWVAR 2
18932: ST_TO_ADDR
// uc_nation := nation ;
18933: LD_ADDR_OWVAR 21
18937: PUSH
18938: LD_VAR 0 1
18942: ST_TO_ADDR
// InitHc ;
18943: CALL_OW 19
// PrepareHuman ( false , class , skill ) ;
18947: LD_INT 0
18949: PPUSH
18950: LD_VAR 0 2
18954: PPUSH
18955: LD_VAR 0 3
18959: PPUSH
18960: CALL_OW 380
// PlaceUnitAnywhere ( CreateHuman , true ) ;
18964: CALL_OW 44
18968: PPUSH
18969: LD_INT 1
18971: PPUSH
18972: CALL_OW 51
// end ;
18976: LD_VAR 0 4
18980: RET
// export function HackSpawnVehicle ; begin
18981: LD_INT 0
18983: PPUSH
// uc_side := your_side ;
18984: LD_ADDR_OWVAR 20
18988: PUSH
18989: LD_OWVAR 2
18993: ST_TO_ADDR
// uc_nation := rand ( 1 , 3 ) ;
18994: LD_ADDR_OWVAR 21
18998: PUSH
18999: LD_INT 1
19001: PPUSH
19002: LD_INT 3
19004: PPUSH
19005: CALL_OW 12
19009: ST_TO_ADDR
// InitVc ;
19010: CALL_OW 20
// case uc_nation of 1 :
19014: LD_OWVAR 21
19018: PUSH
19019: LD_INT 1
19021: DOUBLE
19022: EQUAL
19023: IFTRUE 19027
19025: GO 19171
19027: POP
// begin vc_chassis := [ us_light_wheeled , us_medium_wheeled , us_medium_tracked , us_heavy_tracked , us_morphling ] [ rand ( 1 , 5 ) ] ;
19028: LD_ADDR_OWVAR 37
19032: PUSH
19033: LD_INT 1
19035: PUSH
19036: LD_INT 2
19038: PUSH
19039: LD_INT 3
19041: PUSH
19042: LD_INT 4
19044: PUSH
19045: LD_INT 5
19047: PUSH
19048: EMPTY
19049: LIST
19050: LIST
19051: LIST
19052: LIST
19053: LIST
19054: PUSH
19055: LD_INT 1
19057: PPUSH
19058: LD_INT 5
19060: PPUSH
19061: CALL_OW 12
19065: ARRAY
19066: ST_TO_ADDR
// vc_engine := rand ( 1 , 3 ) ;
19067: LD_ADDR_OWVAR 39
19071: PUSH
19072: LD_INT 1
19074: PPUSH
19075: LD_INT 3
19077: PPUSH
19078: CALL_OW 12
19082: ST_TO_ADDR
// vc_control := [ control_manual , control_remote , control_computer ] [ rand ( 1 , 3 ) ] ;
19083: LD_ADDR_OWVAR 38
19087: PUSH
19088: LD_INT 1
19090: PUSH
19091: LD_INT 2
19093: PUSH
19094: LD_INT 3
19096: PUSH
19097: EMPTY
19098: LIST
19099: LIST
19100: LIST
19101: PUSH
19102: LD_INT 1
19104: PPUSH
19105: LD_INT 3
19107: PPUSH
19108: CALL_OW 12
19112: ARRAY
19113: 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 ) ] ;
19114: LD_ADDR_OWVAR 40
19118: PUSH
19119: LD_INT 2
19121: PUSH
19122: LD_INT 4
19124: PUSH
19125: LD_INT 5
19127: PUSH
19128: LD_INT 3
19130: PUSH
19131: LD_INT 7
19133: PUSH
19134: LD_INT 8
19136: PUSH
19137: LD_INT 9
19139: PUSH
19140: LD_INT 10
19142: PUSH
19143: LD_INT 6
19145: PUSH
19146: EMPTY
19147: LIST
19148: LIST
19149: LIST
19150: LIST
19151: LIST
19152: LIST
19153: LIST
19154: LIST
19155: LIST
19156: PUSH
19157: LD_INT 1
19159: PPUSH
19160: LD_INT 9
19162: PPUSH
19163: CALL_OW 12
19167: ARRAY
19168: ST_TO_ADDR
// end ; 2 :
19169: GO 19436
19171: LD_INT 2
19173: DOUBLE
19174: EQUAL
19175: IFTRUE 19179
19177: GO 19303
19179: POP
// begin vc_chassis := [ ar_hovercraft , ar_light_trike , ar_medium_trike , ar_half_tracked ] [ rand ( 1 , 4 ) ] ;
19180: LD_ADDR_OWVAR 37
19184: PUSH
19185: LD_INT 11
19187: PUSH
19188: LD_INT 12
19190: PUSH
19191: LD_INT 13
19193: PUSH
19194: LD_INT 14
19196: PUSH
19197: EMPTY
19198: LIST
19199: LIST
19200: LIST
19201: LIST
19202: PUSH
19203: LD_INT 1
19205: PPUSH
19206: LD_INT 4
19208: PPUSH
19209: CALL_OW 12
19213: ARRAY
19214: ST_TO_ADDR
// vc_engine := rand ( 1 , 3 ) ;
19215: LD_ADDR_OWVAR 39
19219: PUSH
19220: LD_INT 1
19222: PPUSH
19223: LD_INT 3
19225: PPUSH
19226: CALL_OW 12
19230: ST_TO_ADDR
// vc_control := [ control_manual , control_remote , control_apeman ] [ rand ( 1 , 3 ) ] ;
19231: LD_ADDR_OWVAR 38
19235: PUSH
19236: LD_INT 1
19238: PUSH
19239: LD_INT 2
19241: PUSH
19242: LD_INT 5
19244: PUSH
19245: EMPTY
19246: LIST
19247: LIST
19248: LIST
19249: PUSH
19250: LD_INT 1
19252: PPUSH
19253: LD_INT 3
19255: PPUSH
19256: CALL_OW 12
19260: ARRAY
19261: ST_TO_ADDR
// vc_weapon := [ ar_double_machine_gun , ar_flame_thrower , ar_gun , ar_rocket_launcher , ar_selfpropelled_bomb ] [ rand ( 1 , 5 ) ] ;
19262: LD_ADDR_OWVAR 40
19266: PUSH
19267: LD_INT 24
19269: PUSH
19270: LD_INT 26
19272: PUSH
19273: LD_INT 27
19275: PUSH
19276: LD_INT 28
19278: PUSH
19279: LD_INT 29
19281: PUSH
19282: EMPTY
19283: LIST
19284: LIST
19285: LIST
19286: LIST
19287: LIST
19288: PUSH
19289: LD_INT 1
19291: PPUSH
19292: LD_INT 5
19294: PPUSH
19295: CALL_OW 12
19299: ARRAY
19300: ST_TO_ADDR
// end ; 3 :
19301: GO 19436
19303: LD_INT 3
19305: DOUBLE
19306: EQUAL
19307: IFTRUE 19311
19309: GO 19435
19311: POP
// begin vc_chassis := [ ru_medium_wheeled , ru_heavy_wheeled , ru_medium_tracked , ru_heavy_tracked ] [ rand ( 1 , 4 ) ] ;
19312: LD_ADDR_OWVAR 37
19316: PUSH
19317: LD_INT 21
19319: PUSH
19320: LD_INT 23
19322: PUSH
19323: LD_INT 22
19325: PUSH
19326: LD_INT 24
19328: PUSH
19329: EMPTY
19330: LIST
19331: LIST
19332: LIST
19333: LIST
19334: PUSH
19335: LD_INT 1
19337: PPUSH
19338: LD_INT 4
19340: PPUSH
19341: CALL_OW 12
19345: ARRAY
19346: ST_TO_ADDR
// vc_engine := rand ( 1 , 3 ) ;
19347: LD_ADDR_OWVAR 39
19351: PUSH
19352: LD_INT 1
19354: PPUSH
19355: LD_INT 3
19357: PPUSH
19358: CALL_OW 12
19362: ST_TO_ADDR
// vc_control := [ control_manual , control_computer ] [ rand ( 1 , 2 ) ] ;
19363: LD_ADDR_OWVAR 38
19367: PUSH
19368: LD_INT 1
19370: PUSH
19371: LD_INT 3
19373: PUSH
19374: EMPTY
19375: LIST
19376: LIST
19377: PUSH
19378: LD_INT 1
19380: PPUSH
19381: LD_INT 2
19383: PPUSH
19384: CALL_OW 12
19388: ARRAY
19389: 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 ) ] ;
19390: LD_ADDR_OWVAR 40
19394: PUSH
19395: LD_INT 42
19397: PUSH
19398: LD_INT 43
19400: PUSH
19401: LD_INT 44
19403: PUSH
19404: LD_INT 46
19406: PUSH
19407: LD_INT 48
19409: PUSH
19410: LD_INT 47
19412: PUSH
19413: EMPTY
19414: LIST
19415: LIST
19416: LIST
19417: LIST
19418: LIST
19419: LIST
19420: PUSH
19421: LD_INT 1
19423: PPUSH
19424: LD_INT 6
19426: PPUSH
19427: CALL_OW 12
19431: ARRAY
19432: ST_TO_ADDR
// end ; end ;
19433: GO 19436
19435: POP
// PlaceUnitAnywhere ( CreateVehicle , true ) ;
19436: CALL_OW 45
19440: PPUSH
19441: LD_INT 1
19443: PPUSH
19444: CALL_OW 51
// end ;
19448: LD_VAR 0 1
19452: RET
// export invincible ; every 1 do
19453: GO 19455
19455: DISABLE
// invincible := [ ] ;
19456: LD_ADDR_EXP 157
19460: PUSH
19461: EMPTY
19462: ST_TO_ADDR
19463: END
// every 10 do var i ;
19464: GO 19466
19466: DISABLE
19467: LD_INT 0
19469: PPUSH
// begin enable ;
19470: ENABLE
// if not invincible then
19471: LD_EXP 157
19475: NOT
19476: IFFALSE 19480
// exit ;
19478: GO 19524
// for i in invincible do
19480: LD_ADDR_VAR 0 1
19484: PUSH
19485: LD_EXP 157
19489: PUSH
19490: FOR_IN
19491: IFFALSE 19522
// if GetLives ( i ) < 1000 then
19493: LD_VAR 0 1
19497: PPUSH
19498: CALL_OW 256
19502: PUSH
19503: LD_INT 1000
19505: LESS
19506: IFFALSE 19520
// SetLives ( i , 1000 ) ;
19508: LD_VAR 0 1
19512: PPUSH
19513: LD_INT 1000
19515: PPUSH
19516: CALL_OW 234
19520: GO 19490
19522: POP
19523: POP
// end ;
19524: PPOPN 1
19526: END
// export function HackInvincible ; var i ; begin
19527: LD_INT 0
19529: PPUSH
19530: PPUSH
// for i in FilterAllUnits ( [ f_or , [ f_type , unit_human ] , [ f_type , unit_vehicle ] ] ) do
19531: LD_ADDR_VAR 0 2
19535: PUSH
19536: LD_INT 2
19538: PUSH
19539: LD_INT 21
19541: PUSH
19542: LD_INT 1
19544: PUSH
19545: EMPTY
19546: LIST
19547: LIST
19548: PUSH
19549: LD_INT 21
19551: PUSH
19552: LD_INT 2
19554: PUSH
19555: EMPTY
19556: LIST
19557: LIST
19558: PUSH
19559: EMPTY
19560: LIST
19561: LIST
19562: LIST
19563: PPUSH
19564: CALL_OW 69
19568: PUSH
19569: FOR_IN
19570: IFFALSE 19631
// if IsSelected ( i ) then
19572: LD_VAR 0 2
19576: PPUSH
19577: CALL_OW 306
19581: IFFALSE 19629
// begin if i in invincible then
19583: LD_VAR 0 2
19587: PUSH
19588: LD_EXP 157
19592: IN
19593: IFFALSE 19613
// invincible := invincible diff i else
19595: LD_ADDR_EXP 157
19599: PUSH
19600: LD_EXP 157
19604: PUSH
19605: LD_VAR 0 2
19609: DIFF
19610: ST_TO_ADDR
19611: GO 19629
// invincible := invincible union i ;
19613: LD_ADDR_EXP 157
19617: PUSH
19618: LD_EXP 157
19622: PUSH
19623: LD_VAR 0 2
19627: UNION
19628: ST_TO_ADDR
// end ;
19629: GO 19569
19631: POP
19632: POP
// end ;
19633: LD_VAR 0 1
19637: RET
// export function HackInvisible ; var i , j ; begin
19638: LD_INT 0
19640: PPUSH
19641: PPUSH
19642: PPUSH
// for i in FilterAllUnits ( [ f_type , unit_human ] ) do
19643: LD_ADDR_VAR 0 2
19647: PUSH
19648: LD_INT 21
19650: PUSH
19651: LD_INT 1
19653: PUSH
19654: EMPTY
19655: LIST
19656: LIST
19657: PPUSH
19658: CALL_OW 69
19662: PUSH
19663: FOR_IN
19664: IFFALSE 19688
// if IsSelected ( i ) then
19666: LD_VAR 0 2
19670: PPUSH
19671: CALL_OW 306
19675: IFFALSE 19686
// begin ComForceInvisible ( i ) ;
19677: LD_VAR 0 2
19681: PPUSH
19682: CALL_OW 496
// end ;
19686: GO 19663
19688: POP
19689: POP
// end ;
19690: LD_VAR 0 1
19694: RET
// export function HackChangeYourSide ; begin
19695: LD_INT 0
19697: PPUSH
// if your_side = 8 then
19698: LD_OWVAR 2
19702: PUSH
19703: LD_INT 8
19705: EQUAL
19706: IFFALSE 19718
// your_side := 0 else
19708: LD_ADDR_OWVAR 2
19712: PUSH
19713: LD_INT 0
19715: ST_TO_ADDR
19716: GO 19732
// your_side := your_side + 1 ;
19718: LD_ADDR_OWVAR 2
19722: PUSH
19723: LD_OWVAR 2
19727: PUSH
19728: LD_INT 1
19730: PLUS
19731: ST_TO_ADDR
// end ;
19732: LD_VAR 0 1
19736: RET
// export function HackChangeUnitSide ; var i , j ; begin
19737: LD_INT 0
19739: PPUSH
19740: PPUSH
19741: PPUSH
// for i in all_units do
19742: LD_ADDR_VAR 0 2
19746: PUSH
19747: LD_OWVAR 3
19751: PUSH
19752: FOR_IN
19753: IFFALSE 19831
// if IsSelected ( i ) then
19755: LD_VAR 0 2
19759: PPUSH
19760: CALL_OW 306
19764: IFFALSE 19829
// begin j := GetSide ( i ) ;
19766: LD_ADDR_VAR 0 3
19770: PUSH
19771: LD_VAR 0 2
19775: PPUSH
19776: CALL_OW 255
19780: ST_TO_ADDR
// if j = 8 then
19781: LD_VAR 0 3
19785: PUSH
19786: LD_INT 8
19788: EQUAL
19789: IFFALSE 19801
// j := 0 else
19791: LD_ADDR_VAR 0 3
19795: PUSH
19796: LD_INT 0
19798: ST_TO_ADDR
19799: GO 19815
// j := j + 1 ;
19801: LD_ADDR_VAR 0 3
19805: PUSH
19806: LD_VAR 0 3
19810: PUSH
19811: LD_INT 1
19813: PLUS
19814: ST_TO_ADDR
// SetSide ( i , j ) ;
19815: LD_VAR 0 2
19819: PPUSH
19820: LD_VAR 0 3
19824: PPUSH
19825: CALL_OW 235
// end ;
19829: GO 19752
19831: POP
19832: POP
// end ;
19833: LD_VAR 0 1
19837: RET
// export function HackFog ; begin
19838: LD_INT 0
19840: PPUSH
// FogOff ( true ) ;
19841: LD_INT 1
19843: PPUSH
19844: CALL_OW 344
// end ;
19848: LD_VAR 0 1
19852: RET
// export function HackApeman ; begin
19853: LD_INT 0
19855: PPUSH
// uc_side := your_side ;
19856: LD_ADDR_OWVAR 20
19860: PUSH
19861: LD_OWVAR 2
19865: ST_TO_ADDR
// uc_nation := 0 ;
19866: LD_ADDR_OWVAR 21
19870: PUSH
19871: LD_INT 0
19873: ST_TO_ADDR
// hc_name :=  ;
19874: LD_ADDR_OWVAR 26
19878: PUSH
19879: LD_STRING 
19881: ST_TO_ADDR
// hc_gallery :=  ;
19882: LD_ADDR_OWVAR 33
19886: PUSH
19887: LD_STRING 
19889: ST_TO_ADDR
// hc_skills := [ 0 , 0 , 0 , 0 ] ;
19890: LD_ADDR_OWVAR 31
19894: PUSH
19895: LD_INT 0
19897: PUSH
19898: LD_INT 0
19900: PUSH
19901: LD_INT 0
19903: PUSH
19904: LD_INT 0
19906: PUSH
19907: EMPTY
19908: LIST
19909: LIST
19910: LIST
19911: LIST
19912: ST_TO_ADDR
// hc_class := class_apeman ;
19913: LD_ADDR_OWVAR 28
19917: PUSH
19918: LD_INT 12
19920: ST_TO_ADDR
// PlaceUnitAnywhere ( CreateHuman , true ) ;
19921: CALL_OW 44
19925: PPUSH
19926: LD_INT 1
19928: PPUSH
19929: CALL_OW 51
// end ;
19933: LD_VAR 0 1
19937: RET
// export function HackBoom ; begin
19938: LD_INT 0
19940: PPUSH
// uc_side := your_side ;
19941: LD_ADDR_OWVAR 20
19945: PUSH
19946: LD_OWVAR 2
19950: ST_TO_ADDR
// uc_nation := 1 ;
19951: LD_ADDR_OWVAR 21
19955: PUSH
19956: LD_INT 1
19958: ST_TO_ADDR
// vc_chassis := us_morphling ;
19959: LD_ADDR_OWVAR 37
19963: PUSH
19964: LD_INT 5
19966: ST_TO_ADDR
// vc_engine := engine_siberite ;
19967: LD_ADDR_OWVAR 39
19971: PUSH
19972: LD_INT 3
19974: ST_TO_ADDR
// vc_control := control_computer ;
19975: LD_ADDR_OWVAR 38
19979: PUSH
19980: LD_INT 3
19982: ST_TO_ADDR
// vc_weapon := us_siberium_rocket ;
19983: LD_ADDR_OWVAR 40
19987: PUSH
19988: LD_INT 8
19990: ST_TO_ADDR
// PlaceUnitAnywhere ( CreateVehicle , true ) ;
19991: CALL_OW 45
19995: PPUSH
19996: LD_INT 1
19998: PPUSH
19999: CALL_OW 51
// end ;
20003: LD_VAR 0 1
20007: RET
