// export ru , ru2 , am ; export ams0 , ams1 , ams2 , ams3 , ams4 , ams5 , ams6 , ams7 , ams8 , ams9 , amsa , amsb , amsc ; export ams0_sk , ams1_sk , ams2_sk , ams3_sk , ams4_sk , ams5_sk , ams6_sk , ams7_sk , ams8_sk , ams9_sk , amsa_sk , amsb_sk , amsc_sk ; export ams_1 , ams_2 , ams_3 , ams_4 , ams_5 , ams_6 ; export ams_1_sk , ams_2_sk , ams_3_sk , ams_4_sk , ams_5_sk , ams_6_sk ; export amm0 , amm0_sk , amm1 , amm1_sk , amm2 , amm2_sk , amm3 , amm3_sk , amm4 , amm4_sk , amm5 , amm5_sk , amm6 , amm6_sk , amm7 , amm7_sk ; export amv1 , amv1_ch , amv1_wp , amv2 , amv2_ch , amv2_wp , amv3 , amv3_ch , amv3_wp , amv4 , amv4_ch , amv4_wp , amv5 , amv5_ch , amv5_wp , amv6 , amv6_ch , amv6_wp , amv7 , amv7_ch , amv7_wp ; export amsn0 , amsn0_sk , amsn1 , amsn1_sk ; export ame0 , ame0_sk , ame1 , ame1_sk , ame2 , ame2_sk , ame3 , ame3_sk , ame4 , ame4_sk , ame5 , ame5_sk ; export chcipli , telepused , zdrhame , rychlik ; export dontGoOutSideArea ; var supply ; function setvars ; var tmp , tmp1 , tmp2 ; begin
   0: LD_INT 0
   2: PPUSH
   3: PPUSH
   4: PPUSH
   5: PPUSH
// ru = 3 ;
   6: LD_ADDR_EXP 1
  10: PUSH
  11: LD_INT 3
  13: ST_TO_ADDR
// ru2 = 6 ;
  14: LD_ADDR_EXP 2
  18: PUSH
  19: LD_INT 6
  21: ST_TO_ADDR
// am = 1 ;
  22: LD_ADDR_EXP 3
  26: PUSH
  27: LD_INT 1
  29: ST_TO_ADDR
// dontGoOutSideArea := false ;
  30: LD_ADDR_EXP 99
  34: PUSH
  35: LD_INT 0
  37: ST_TO_ADDR
// chcipli = 0 ;
  38: LD_ADDR_EXP 95
  42: PUSH
  43: LD_INT 0
  45: ST_TO_ADDR
// telepused = 0 ;
  46: LD_ADDR_EXP 96
  50: PUSH
  51: LD_INT 0
  53: ST_TO_ADDR
// supply = 19 ;
  54: LD_ADDR_LOC 1
  58: PUSH
  59: LD_INT 19
  61: ST_TO_ADDR
// lastsay = 0 ;
  62: LD_ADDR_EXP 126
  66: PUSH
  67: LD_INT 0
  69: ST_TO_ADDR
// nesahat = true ;
  70: LD_ADDR_EXP 127
  74: PUSH
  75: LD_INT 1
  77: ST_TO_ADDR
// rychlik = false ;
  78: LD_ADDR_EXP 98
  82: PUSH
  83: LD_INT 0
  85: ST_TO_ADDR
// zdrhame = 750 ;
  86: LD_ADDR_EXP 97
  90: PUSH
  91: LD_INT 750
  93: ST_TO_ADDR
// supply = [ 30 , 24 , 20 ] [ difficulty ] ;
  94: LD_ADDR_LOC 1
  98: PUSH
  99: LD_INT 30
 101: PUSH
 102: LD_INT 24
 104: PUSH
 105: LD_INT 20
 107: PUSH
 108: EMPTY
 109: LIST
 110: LIST
 111: LIST
 112: PUSH
 113: LD_OWVAR 67
 117: ARRAY
 118: ST_TO_ADDR
// ams0_sk = [ 3 , 5 , 7 ] [ difficulty ] ;
 119: LD_ADDR_EXP 17
 123: PUSH
 124: LD_INT 3
 126: PUSH
 127: LD_INT 5
 129: PUSH
 130: LD_INT 7
 132: PUSH
 133: EMPTY
 134: LIST
 135: LIST
 136: LIST
 137: PUSH
 138: LD_OWVAR 67
 142: ARRAY
 143: ST_TO_ADDR
// ams1_sk = [ 3 , 5 , 7 ] [ difficulty ] ;
 144: LD_ADDR_EXP 18
 148: PUSH
 149: LD_INT 3
 151: PUSH
 152: LD_INT 5
 154: PUSH
 155: LD_INT 7
 157: PUSH
 158: EMPTY
 159: LIST
 160: LIST
 161: LIST
 162: PUSH
 163: LD_OWVAR 67
 167: ARRAY
 168: ST_TO_ADDR
// ams2_sk = [ 5 , 7 , 9 ] [ difficulty ] ;
 169: LD_ADDR_EXP 19
 173: PUSH
 174: LD_INT 5
 176: PUSH
 177: LD_INT 7
 179: PUSH
 180: LD_INT 9
 182: PUSH
 183: EMPTY
 184: LIST
 185: LIST
 186: LIST
 187: PUSH
 188: LD_OWVAR 67
 192: ARRAY
 193: ST_TO_ADDR
// ams3_sk = [ 5 , 7 , 9 ] [ difficulty ] ;
 194: LD_ADDR_EXP 20
 198: PUSH
 199: LD_INT 5
 201: PUSH
 202: LD_INT 7
 204: PUSH
 205: LD_INT 9
 207: PUSH
 208: EMPTY
 209: LIST
 210: LIST
 211: LIST
 212: PUSH
 213: LD_OWVAR 67
 217: ARRAY
 218: ST_TO_ADDR
// ams4_sk = [ 5 , 7 , 9 ] [ difficulty ] ;
 219: LD_ADDR_EXP 21
 223: PUSH
 224: LD_INT 5
 226: PUSH
 227: LD_INT 7
 229: PUSH
 230: LD_INT 9
 232: PUSH
 233: EMPTY
 234: LIST
 235: LIST
 236: LIST
 237: PUSH
 238: LD_OWVAR 67
 242: ARRAY
 243: ST_TO_ADDR
// ams5_sk = [ 5 , 7 , 9 ] [ difficulty ] ;
 244: LD_ADDR_EXP 22
 248: PUSH
 249: LD_INT 5
 251: PUSH
 252: LD_INT 7
 254: PUSH
 255: LD_INT 9
 257: PUSH
 258: EMPTY
 259: LIST
 260: LIST
 261: LIST
 262: PUSH
 263: LD_OWVAR 67
 267: ARRAY
 268: ST_TO_ADDR
// ams6_sk = [ 5 , 7 , 9 ] [ difficulty ] ;
 269: LD_ADDR_EXP 23
 273: PUSH
 274: LD_INT 5
 276: PUSH
 277: LD_INT 7
 279: PUSH
 280: LD_INT 9
 282: PUSH
 283: EMPTY
 284: LIST
 285: LIST
 286: LIST
 287: PUSH
 288: LD_OWVAR 67
 292: ARRAY
 293: ST_TO_ADDR
// ams7_sk = [ 3 , 5 , 7 ] [ difficulty ] ;
 294: LD_ADDR_EXP 24
 298: PUSH
 299: LD_INT 3
 301: PUSH
 302: LD_INT 5
 304: PUSH
 305: LD_INT 7
 307: PUSH
 308: EMPTY
 309: LIST
 310: LIST
 311: LIST
 312: PUSH
 313: LD_OWVAR 67
 317: ARRAY
 318: ST_TO_ADDR
// ams8_sk = [ 3 , 5 , 7 ] [ difficulty ] ;
 319: LD_ADDR_EXP 25
 323: PUSH
 324: LD_INT 3
 326: PUSH
 327: LD_INT 5
 329: PUSH
 330: LD_INT 7
 332: PUSH
 333: EMPTY
 334: LIST
 335: LIST
 336: LIST
 337: PUSH
 338: LD_OWVAR 67
 342: ARRAY
 343: ST_TO_ADDR
// ams9_sk = [ 3 , 5 , 7 ] [ difficulty ] ;
 344: LD_ADDR_EXP 26
 348: PUSH
 349: LD_INT 3
 351: PUSH
 352: LD_INT 5
 354: PUSH
 355: LD_INT 7
 357: PUSH
 358: EMPTY
 359: LIST
 360: LIST
 361: LIST
 362: PUSH
 363: LD_OWVAR 67
 367: ARRAY
 368: ST_TO_ADDR
// amsa_sk = [ 3 , 5 , 7 ] [ difficulty ] ;
 369: LD_ADDR_EXP 27
 373: PUSH
 374: LD_INT 3
 376: PUSH
 377: LD_INT 5
 379: PUSH
 380: LD_INT 7
 382: PUSH
 383: EMPTY
 384: LIST
 385: LIST
 386: LIST
 387: PUSH
 388: LD_OWVAR 67
 392: ARRAY
 393: ST_TO_ADDR
// amsb_sk = [ 3 , 5 , 7 ] [ difficulty ] ;
 394: LD_ADDR_EXP 28
 398: PUSH
 399: LD_INT 3
 401: PUSH
 402: LD_INT 5
 404: PUSH
 405: LD_INT 7
 407: PUSH
 408: EMPTY
 409: LIST
 410: LIST
 411: LIST
 412: PUSH
 413: LD_OWVAR 67
 417: ARRAY
 418: ST_TO_ADDR
// amsc_sk = [ 3 , 5 , 7 ] [ difficulty ] ;
 419: LD_ADDR_EXP 29
 423: PUSH
 424: LD_INT 3
 426: PUSH
 427: LD_INT 5
 429: PUSH
 430: LD_INT 7
 432: PUSH
 433: EMPTY
 434: LIST
 435: LIST
 436: LIST
 437: PUSH
 438: LD_OWVAR 67
 442: ARRAY
 443: ST_TO_ADDR
// ams_1_sk = [ 5 , 7 , 9 ] [ difficulty ] ;
 444: LD_ADDR_EXP 36
 448: PUSH
 449: LD_INT 5
 451: PUSH
 452: LD_INT 7
 454: PUSH
 455: LD_INT 9
 457: PUSH
 458: EMPTY
 459: LIST
 460: LIST
 461: LIST
 462: PUSH
 463: LD_OWVAR 67
 467: ARRAY
 468: ST_TO_ADDR
// ams_2_sk = [ 5 , 7 , 9 ] [ difficulty ] ;
 469: LD_ADDR_EXP 37
 473: PUSH
 474: LD_INT 5
 476: PUSH
 477: LD_INT 7
 479: PUSH
 480: LD_INT 9
 482: PUSH
 483: EMPTY
 484: LIST
 485: LIST
 486: LIST
 487: PUSH
 488: LD_OWVAR 67
 492: ARRAY
 493: ST_TO_ADDR
// ams_3_sk = [ 5 , 7 , 9 ] [ difficulty ] ;
 494: LD_ADDR_EXP 38
 498: PUSH
 499: LD_INT 5
 501: PUSH
 502: LD_INT 7
 504: PUSH
 505: LD_INT 9
 507: PUSH
 508: EMPTY
 509: LIST
 510: LIST
 511: LIST
 512: PUSH
 513: LD_OWVAR 67
 517: ARRAY
 518: ST_TO_ADDR
// ams_4_sk = [ 5 , 7 , 9 ] [ difficulty ] ;
 519: LD_ADDR_EXP 39
 523: PUSH
 524: LD_INT 5
 526: PUSH
 527: LD_INT 7
 529: PUSH
 530: LD_INT 9
 532: PUSH
 533: EMPTY
 534: LIST
 535: LIST
 536: LIST
 537: PUSH
 538: LD_OWVAR 67
 542: ARRAY
 543: ST_TO_ADDR
// ams_5_sk = [ 5 , 7 , 9 ] [ difficulty ] ;
 544: LD_ADDR_EXP 40
 548: PUSH
 549: LD_INT 5
 551: PUSH
 552: LD_INT 7
 554: PUSH
 555: LD_INT 9
 557: PUSH
 558: EMPTY
 559: LIST
 560: LIST
 561: LIST
 562: PUSH
 563: LD_OWVAR 67
 567: ARRAY
 568: ST_TO_ADDR
// ams_6_sk = [ 5 , 7 , 9 ] [ difficulty ] ;
 569: LD_ADDR_EXP 41
 573: PUSH
 574: LD_INT 5
 576: PUSH
 577: LD_INT 7
 579: PUSH
 580: LD_INT 9
 582: PUSH
 583: EMPTY
 584: LIST
 585: LIST
 586: LIST
 587: PUSH
 588: LD_OWVAR 67
 592: ARRAY
 593: ST_TO_ADDR
// amm0_sk = [ 8 , 8 , 9 ] [ difficulty ] ;
 594: LD_ADDR_EXP 43
 598: PUSH
 599: LD_INT 8
 601: PUSH
 602: LD_INT 8
 604: PUSH
 605: LD_INT 9
 607: PUSH
 608: EMPTY
 609: LIST
 610: LIST
 611: LIST
 612: PUSH
 613: LD_OWVAR 67
 617: ARRAY
 618: ST_TO_ADDR
// amm1_sk = [ 5 , 7 , 9 ] [ difficulty ] ;
 619: LD_ADDR_EXP 45
 623: PUSH
 624: LD_INT 5
 626: PUSH
 627: LD_INT 7
 629: PUSH
 630: LD_INT 9
 632: PUSH
 633: EMPTY
 634: LIST
 635: LIST
 636: LIST
 637: PUSH
 638: LD_OWVAR 67
 642: ARRAY
 643: ST_TO_ADDR
// amm2_sk = [ 5 , 7 , 9 ] [ difficulty ] ;
 644: LD_ADDR_EXP 47
 648: PUSH
 649: LD_INT 5
 651: PUSH
 652: LD_INT 7
 654: PUSH
 655: LD_INT 9
 657: PUSH
 658: EMPTY
 659: LIST
 660: LIST
 661: LIST
 662: PUSH
 663: LD_OWVAR 67
 667: ARRAY
 668: ST_TO_ADDR
// amm3_sk = [ 5 , 7 , 9 ] [ difficulty ] ;
 669: LD_ADDR_EXP 49
 673: PUSH
 674: LD_INT 5
 676: PUSH
 677: LD_INT 7
 679: PUSH
 680: LD_INT 9
 682: PUSH
 683: EMPTY
 684: LIST
 685: LIST
 686: LIST
 687: PUSH
 688: LD_OWVAR 67
 692: ARRAY
 693: ST_TO_ADDR
// amm4_sk = [ 5 , 7 , 9 ] [ difficulty ] ;
 694: LD_ADDR_EXP 51
 698: PUSH
 699: LD_INT 5
 701: PUSH
 702: LD_INT 7
 704: PUSH
 705: LD_INT 9
 707: PUSH
 708: EMPTY
 709: LIST
 710: LIST
 711: LIST
 712: PUSH
 713: LD_OWVAR 67
 717: ARRAY
 718: ST_TO_ADDR
// amm5_sk = [ 5 , 7 , 9 ] [ difficulty ] ;
 719: LD_ADDR_EXP 53
 723: PUSH
 724: LD_INT 5
 726: PUSH
 727: LD_INT 7
 729: PUSH
 730: LD_INT 9
 732: PUSH
 733: EMPTY
 734: LIST
 735: LIST
 736: LIST
 737: PUSH
 738: LD_OWVAR 67
 742: ARRAY
 743: ST_TO_ADDR
// amm6_sk = [ 5 , 7 , 9 ] [ difficulty ] ;
 744: LD_ADDR_EXP 55
 748: PUSH
 749: LD_INT 5
 751: PUSH
 752: LD_INT 7
 754: PUSH
 755: LD_INT 9
 757: PUSH
 758: EMPTY
 759: LIST
 760: LIST
 761: LIST
 762: PUSH
 763: LD_OWVAR 67
 767: ARRAY
 768: ST_TO_ADDR
// amm7_sk = [ 5 , 7 , 9 ] [ difficulty ] ;
 769: LD_ADDR_EXP 57
 773: PUSH
 774: LD_INT 5
 776: PUSH
 777: LD_INT 7
 779: PUSH
 780: LD_INT 9
 782: PUSH
 783: EMPTY
 784: LIST
 785: LIST
 786: LIST
 787: PUSH
 788: LD_OWVAR 67
 792: ARRAY
 793: ST_TO_ADDR
// amv1_ch = [ us_medium_tracked , us_heavy_tracked , us_heavy_tracked ] [ difficulty ] ;
 794: LD_ADDR_EXP 59
 798: PUSH
 799: LD_INT 3
 801: PUSH
 802: LD_INT 4
 804: PUSH
 805: LD_INT 4
 807: PUSH
 808: EMPTY
 809: LIST
 810: LIST
 811: LIST
 812: PUSH
 813: LD_OWVAR 67
 817: ARRAY
 818: ST_TO_ADDR
// amv1_wp = [ us_double_gun , us_heavy_gun , us_heavy_gun ] [ difficulty ] ;
 819: LD_ADDR_EXP 60
 823: PUSH
 824: LD_INT 5
 826: PUSH
 827: LD_INT 6
 829: PUSH
 830: LD_INT 6
 832: PUSH
 833: EMPTY
 834: LIST
 835: LIST
 836: LIST
 837: PUSH
 838: LD_OWVAR 67
 842: ARRAY
 843: ST_TO_ADDR
// amv2_ch = [ us_medium_tracked , us_medium_tracked , us_medium_tracked ] [ difficulty ] ;
 844: LD_ADDR_EXP 62
 848: PUSH
 849: LD_INT 3
 851: PUSH
 852: LD_INT 3
 854: PUSH
 855: LD_INT 3
 857: PUSH
 858: EMPTY
 859: LIST
 860: LIST
 861: LIST
 862: PUSH
 863: LD_OWVAR 67
 867: ARRAY
 868: ST_TO_ADDR
// amv2_wp = [ us_rocket_launcher , us_laser , us_laser ] [ difficulty ] ;
 869: LD_ADDR_EXP 63
 873: PUSH
 874: LD_INT 7
 876: PUSH
 877: LD_INT 9
 879: PUSH
 880: LD_INT 9
 882: PUSH
 883: EMPTY
 884: LIST
 885: LIST
 886: LIST
 887: PUSH
 888: LD_OWVAR 67
 892: ARRAY
 893: ST_TO_ADDR
// amv3_ch = [ us_medium_tracked , us_medium_tracked , us_medium_tracked ] [ difficulty ] ;
 894: LD_ADDR_EXP 65
 898: PUSH
 899: LD_INT 3
 901: PUSH
 902: LD_INT 3
 904: PUSH
 905: LD_INT 3
 907: PUSH
 908: EMPTY
 909: LIST
 910: LIST
 911: LIST
 912: PUSH
 913: LD_OWVAR 67
 917: ARRAY
 918: ST_TO_ADDR
// amv3_wp = [ us_laser , us_laser , us_laser ] [ difficulty ] ;
 919: LD_ADDR_EXP 66
 923: PUSH
 924: LD_INT 9
 926: PUSH
 927: LD_INT 9
 929: PUSH
 930: LD_INT 9
 932: PUSH
 933: EMPTY
 934: LIST
 935: LIST
 936: LIST
 937: PUSH
 938: LD_OWVAR 67
 942: ARRAY
 943: ST_TO_ADDR
// amv4_ch = [ us_medium_tracked , us_medium_tracked , us_medium_tracked ] [ difficulty ] ;
 944: LD_ADDR_EXP 68
 948: PUSH
 949: LD_INT 3
 951: PUSH
 952: LD_INT 3
 954: PUSH
 955: LD_INT 3
 957: PUSH
 958: EMPTY
 959: LIST
 960: LIST
 961: LIST
 962: PUSH
 963: LD_OWVAR 67
 967: ARRAY
 968: ST_TO_ADDR
// amv4_wp = [ us_rocket_launcher , us_rocket_launcher , us_laser ] [ difficulty ] ;
 969: LD_ADDR_EXP 69
 973: PUSH
 974: LD_INT 7
 976: PUSH
 977: LD_INT 7
 979: PUSH
 980: LD_INT 9
 982: PUSH
 983: EMPTY
 984: LIST
 985: LIST
 986: LIST
 987: PUSH
 988: LD_OWVAR 67
 992: ARRAY
 993: ST_TO_ADDR
// amv5_ch = [ us_medium_tracked , us_medium_tracked , us_heavy_tracked ] [ difficulty ] ;
 994: LD_ADDR_EXP 71
 998: PUSH
 999: LD_INT 3
1001: PUSH
1002: LD_INT 3
1004: PUSH
1005: LD_INT 4
1007: PUSH
1008: EMPTY
1009: LIST
1010: LIST
1011: LIST
1012: PUSH
1013: LD_OWVAR 67
1017: ARRAY
1018: ST_TO_ADDR
// amv5_wp = [ us_machine_gun , us_gatling_gun , us_gatling_gun ] [ difficulty ] ;
1019: LD_ADDR_EXP 72
1023: PUSH
1024: LD_INT 2
1026: PUSH
1027: LD_INT 4
1029: PUSH
1030: LD_INT 4
1032: PUSH
1033: EMPTY
1034: LIST
1035: LIST
1036: LIST
1037: PUSH
1038: LD_OWVAR 67
1042: ARRAY
1043: ST_TO_ADDR
// amv6_ch = [ us_medium_tracked , us_medium_tracked , us_morphling ] [ difficulty ] ;
1044: LD_ADDR_EXP 74
1048: PUSH
1049: LD_INT 3
1051: PUSH
1052: LD_INT 3
1054: PUSH
1055: LD_INT 5
1057: PUSH
1058: EMPTY
1059: LIST
1060: LIST
1061: LIST
1062: PUSH
1063: LD_OWVAR 67
1067: ARRAY
1068: ST_TO_ADDR
// amv6_wp = [ us_rocket_launcher , us_laser , us_laser ] [ difficulty ] ;
1069: LD_ADDR_EXP 75
1073: PUSH
1074: LD_INT 7
1076: PUSH
1077: LD_INT 9
1079: PUSH
1080: LD_INT 9
1082: PUSH
1083: EMPTY
1084: LIST
1085: LIST
1086: LIST
1087: PUSH
1088: LD_OWVAR 67
1092: ARRAY
1093: ST_TO_ADDR
// amv7_ch = [ us_medium_wheeled , us_medium_tracked , us_morphling ] [ difficulty ] ;
1094: LD_ADDR_EXP 77
1098: PUSH
1099: LD_INT 2
1101: PUSH
1102: LD_INT 3
1104: PUSH
1105: LD_INT 5
1107: PUSH
1108: EMPTY
1109: LIST
1110: LIST
1111: LIST
1112: PUSH
1113: LD_OWVAR 67
1117: ARRAY
1118: ST_TO_ADDR
// amv7_wp = [ us_gatling_gun , us_gatling_gun , us_gatling_gun ] [ difficulty ] ;
1119: LD_ADDR_EXP 78
1123: PUSH
1124: LD_INT 4
1126: PUSH
1127: LD_INT 4
1129: PUSH
1130: LD_INT 4
1132: PUSH
1133: EMPTY
1134: LIST
1135: LIST
1136: LIST
1137: PUSH
1138: LD_OWVAR 67
1142: ARRAY
1143: ST_TO_ADDR
// amsn0_sk = [ 4 , 7 , 9 ] [ difficulty ] ;
1144: LD_ADDR_EXP 80
1148: PUSH
1149: LD_INT 4
1151: PUSH
1152: LD_INT 7
1154: PUSH
1155: LD_INT 9
1157: PUSH
1158: EMPTY
1159: LIST
1160: LIST
1161: LIST
1162: PUSH
1163: LD_OWVAR 67
1167: ARRAY
1168: ST_TO_ADDR
// amsn1_sk = [ 4 , 6 , 8 ] [ difficulty ] ;
1169: LD_ADDR_EXP 82
1173: PUSH
1174: LD_INT 4
1176: PUSH
1177: LD_INT 6
1179: PUSH
1180: LD_INT 8
1182: PUSH
1183: EMPTY
1184: LIST
1185: LIST
1186: LIST
1187: PUSH
1188: LD_OWVAR 67
1192: ARRAY
1193: ST_TO_ADDR
// ame0_sk = [ 4 , 6 , 8 ] [ difficulty ] ;
1194: LD_ADDR_EXP 84
1198: PUSH
1199: LD_INT 4
1201: PUSH
1202: LD_INT 6
1204: PUSH
1205: LD_INT 8
1207: PUSH
1208: EMPTY
1209: LIST
1210: LIST
1211: LIST
1212: PUSH
1213: LD_OWVAR 67
1217: ARRAY
1218: ST_TO_ADDR
// ame1_sk = [ 4 , 6 , 8 ] [ difficulty ] ;
1219: LD_ADDR_EXP 86
1223: PUSH
1224: LD_INT 4
1226: PUSH
1227: LD_INT 6
1229: PUSH
1230: LD_INT 8
1232: PUSH
1233: EMPTY
1234: LIST
1235: LIST
1236: LIST
1237: PUSH
1238: LD_OWVAR 67
1242: ARRAY
1243: ST_TO_ADDR
// ame2_sk = [ 4 , 6 , 8 ] [ difficulty ] ;
1244: LD_ADDR_EXP 88
1248: PUSH
1249: LD_INT 4
1251: PUSH
1252: LD_INT 6
1254: PUSH
1255: LD_INT 8
1257: PUSH
1258: EMPTY
1259: LIST
1260: LIST
1261: LIST
1262: PUSH
1263: LD_OWVAR 67
1267: ARRAY
1268: ST_TO_ADDR
// ame3_sk = [ 4 , 6 , 8 ] [ difficulty ] ;
1269: LD_ADDR_EXP 90
1273: PUSH
1274: LD_INT 4
1276: PUSH
1277: LD_INT 6
1279: PUSH
1280: LD_INT 8
1282: PUSH
1283: EMPTY
1284: LIST
1285: LIST
1286: LIST
1287: PUSH
1288: LD_OWVAR 67
1292: ARRAY
1293: ST_TO_ADDR
// ame4_sk = [ 4 , 6 , 8 ] [ difficulty ] ;
1294: LD_ADDR_EXP 92
1298: PUSH
1299: LD_INT 4
1301: PUSH
1302: LD_INT 6
1304: PUSH
1305: LD_INT 8
1307: PUSH
1308: EMPTY
1309: LIST
1310: LIST
1311: LIST
1312: PUSH
1313: LD_OWVAR 67
1317: ARRAY
1318: ST_TO_ADDR
// ame5_sk = [ 4 , 6 , 8 ] [ difficulty ] ;
1319: LD_ADDR_EXP 94
1323: PUSH
1324: LD_INT 4
1326: PUSH
1327: LD_INT 6
1329: PUSH
1330: LD_INT 8
1332: PUSH
1333: EMPTY
1334: LIST
1335: LIST
1336: LIST
1337: PUSH
1338: LD_OWVAR 67
1342: ARRAY
1343: ST_TO_ADDR
// tmp2 = [ 4 , 6 , 8 ] [ difficulty ] ;
1344: LD_ADDR_VAR 0 4
1348: PUSH
1349: LD_INT 4
1351: PUSH
1352: LD_INT 6
1354: PUSH
1355: LD_INT 8
1357: PUSH
1358: EMPTY
1359: LIST
1360: LIST
1361: LIST
1362: PUSH
1363: LD_OWVAR 67
1367: ARRAY
1368: ST_TO_ADDR
// tmp = filterallunits ( [ [ f_side , am ] , [ f_or , [ f_btype , b_bunker ] , [ f_btype , b_turret ] ] ] ) ;
1369: LD_ADDR_VAR 0 2
1373: PUSH
1374: LD_INT 22
1376: PUSH
1377: LD_EXP 3
1381: PUSH
1382: EMPTY
1383: LIST
1384: LIST
1385: PUSH
1386: LD_INT 2
1388: PUSH
1389: LD_INT 30
1391: PUSH
1392: LD_INT 32
1394: PUSH
1395: EMPTY
1396: LIST
1397: LIST
1398: PUSH
1399: LD_INT 30
1401: PUSH
1402: LD_INT 33
1404: PUSH
1405: EMPTY
1406: LIST
1407: LIST
1408: PUSH
1409: EMPTY
1410: LIST
1411: LIST
1412: LIST
1413: PUSH
1414: EMPTY
1415: LIST
1416: LIST
1417: PPUSH
1418: CALL_OW 69
1422: ST_TO_ADDR
// for tmp1 in tmp do
1423: LD_ADDR_VAR 0 3
1427: PUSH
1428: LD_VAR 0 2
1432: PUSH
1433: FOR_IN
1434: IFFALSE 1455
// setblevel ( [ tmp1 ] , tmp2 ) ;
1436: LD_VAR 0 3
1440: PUSH
1441: EMPTY
1442: LIST
1443: PPUSH
1444: LD_VAR 0 4
1448: PPUSH
1449: CALL_OW 241
1453: GO 1433
1455: POP
1456: POP
// tmp = [ ambunk2 , ambunk3 , ambunk4 , ambunk5 , ambunk6 ] ;
1457: LD_ADDR_VAR 0 2
1461: PUSH
1462: LD_INT 15
1464: PUSH
1465: LD_INT 14
1467: PUSH
1468: LD_INT 6
1470: PUSH
1471: LD_INT 7
1473: PUSH
1474: LD_INT 13
1476: PUSH
1477: EMPTY
1478: LIST
1479: LIST
1480: LIST
1481: LIST
1482: LIST
1483: ST_TO_ADDR
// for tmp1 in tmp do
1484: LD_ADDR_VAR 0 3
1488: PUSH
1489: LD_VAR 0 2
1493: PUSH
1494: FOR_IN
1495: IFFALSE 1514
// setblevel ( [ tmp1 ] , 6 ) ;
1497: LD_VAR 0 3
1501: PUSH
1502: EMPTY
1503: LIST
1504: PPUSH
1505: LD_INT 6
1507: PPUSH
1508: CALL_OW 241
1512: GO 1494
1514: POP
1515: POP
// end ;
1516: LD_VAR 0 1
1520: RET
// export debug ; starting begin debug = false ;
1521: LD_ADDR_EXP 100
1525: PUSH
1526: LD_INT 0
1528: ST_TO_ADDR
// randomizeall ;
1529: CALL_OW 11
// disable ( 01 ) ;
1533: LD_INT 1
1535: DISABLE_MARKED
// disable ( 02 ) ;
1536: LD_INT 2
1538: DISABLE_MARKED
// disable ( 03 ) ;
1539: LD_INT 3
1541: DISABLE_MARKED
// disable ( 04 ) ;
1542: LD_INT 4
1544: DISABLE_MARKED
// disable ( 05 ) ;
1545: LD_INT 5
1547: DISABLE_MARKED
// disable ( 08 ) ;
1548: LD_INT 8
1550: DISABLE_MARKED
// disable ( 09 ) ;
1551: LD_INT 9
1553: DISABLE_MARKED
// disable ( 10 ) ;
1554: LD_INT 10
1556: DISABLE_MARKED
// setvars ;
1557: CALL 0 0 0
// prepare_americans ;
1561: CALL 12755 0 0
// prepare_russians ;
1565: CALL 2207 0 0
// end ;
1569: END
// on buildingcomplete ( un ) do var tmp ;
1570: LD_INT 0
1572: PPUSH
// if ( getside ( un ) = ru ) and ( getbtype ( un ) = b_lab ) then
1573: LD_VAR 0 1
1577: PPUSH
1578: CALL_OW 255
1582: PUSH
1583: LD_EXP 1
1587: EQUAL
1588: PUSH
1589: LD_VAR 0 1
1593: PPUSH
1594: CALL_OW 266
1598: PUSH
1599: LD_INT 6
1601: EQUAL
1602: AND
1603: IFFALSE 1779
// begin disable ;
1605: DISABLE
// dialogueon ;
1606: CALL_OW 6
// if isok ( kiril ) then
1610: LD_EXP 111
1614: PPUSH
1615: CALL_OW 302
1619: IFFALSE 1635
// say ( kiril , DTeleportStart-Kir-1 ) else
1621: LD_EXP 111
1625: PPUSH
1626: LD_STRING DTeleportStart-Kir-1
1628: PPUSH
1629: CALL_OW 88
1633: GO 1775
// if isok ( kapitsova ) then
1635: LD_EXP 112
1639: PPUSH
1640: CALL_OW 302
1644: IFFALSE 1660
// say ( kapitsova , DTeleportStart-Kap-1 ) else
1646: LD_EXP 112
1650: PPUSH
1651: LD_STRING DTeleportStart-Kap-1
1653: PPUSH
1654: CALL_OW 88
1658: GO 1775
// if isok ( petrosyan ) then
1660: LD_EXP 113
1664: PPUSH
1665: CALL_OW 302
1669: IFFALSE 1685
// say ( petrosyan , DTeleportStart-Pty-1 ) else
1671: LD_EXP 113
1675: PPUSH
1676: LD_STRING DTeleportStart-Pty-1
1678: PPUSH
1679: CALL_OW 88
1683: GO 1775
// if isok ( scholtze ) then
1685: LD_EXP 114
1689: PPUSH
1690: CALL_OW 302
1694: IFFALSE 1710
// say ( scholtze , DTeleportStart-Sch-1 ) else
1696: LD_EXP 114
1700: PPUSH
1701: LD_STRING DTeleportStart-Sch-1
1703: PPUSH
1704: CALL_OW 88
1708: GO 1775
// begin tmp = filterallunits ( [ [ f_side , ru ] , [ f_class , class_scientistic ] , [ f_ok ] ] ) ;
1710: LD_ADDR_VAR 0 2
1714: PUSH
1715: LD_INT 22
1717: PUSH
1718: LD_EXP 1
1722: PUSH
1723: EMPTY
1724: LIST
1725: LIST
1726: PUSH
1727: LD_INT 25
1729: PUSH
1730: LD_INT 4
1732: PUSH
1733: EMPTY
1734: LIST
1735: LIST
1736: PUSH
1737: LD_INT 50
1739: PUSH
1740: EMPTY
1741: LIST
1742: PUSH
1743: EMPTY
1744: LIST
1745: LIST
1746: LIST
1747: PPUSH
1748: CALL_OW 69
1752: ST_TO_ADDR
// if tmp then
1753: LD_VAR 0 2
1757: IFFALSE 1775
// say ( tmp [ 1 ] , DTeleportStart-Rsol1-1 ) ;
1759: LD_VAR 0 2
1763: PUSH
1764: LD_INT 1
1766: ARRAY
1767: PPUSH
1768: LD_STRING DTeleportStart-Rsol1-1
1770: PPUSH
1771: CALL_OW 88
// end ; dialogueoff ;
1775: CALL_OW 7
// end ;
1779: PPOPN 2
1781: END
// on researchcomplete ( tech , lab ) do var tmp ;
1782: LD_INT 0
1784: PPUSH
// if tech = tech_targteleport then
1785: LD_VAR 0 1
1789: PUSH
1790: LD_INT 38
1792: EQUAL
1793: IFFALSE 1982
// begin dialogueon ;
1795: CALL_OW 6
// if isok ( kiril ) then
1799: LD_EXP 111
1803: PPUSH
1804: CALL_OW 302
1808: IFFALSE 1824
// say ( kiril , DTeleportEnd-Kir-1 ) else
1810: LD_EXP 111
1814: PPUSH
1815: LD_STRING DTeleportEnd-Kir-1
1817: PPUSH
1818: CALL_OW 88
1822: GO 1964
// if isok ( kapitsova ) then
1824: LD_EXP 112
1828: PPUSH
1829: CALL_OW 302
1833: IFFALSE 1849
// say ( kapitsova , DTeleportEnd-Kap-1 ) else
1835: LD_EXP 112
1839: PPUSH
1840: LD_STRING DTeleportEnd-Kap-1
1842: PPUSH
1843: CALL_OW 88
1847: GO 1964
// if isok ( petrosyan ) then
1849: LD_EXP 113
1853: PPUSH
1854: CALL_OW 302
1858: IFFALSE 1874
// say ( petrosyan , DTeleportEnd-Pty-1 ) else
1860: LD_EXP 113
1864: PPUSH
1865: LD_STRING DTeleportEnd-Pty-1
1867: PPUSH
1868: CALL_OW 88
1872: GO 1964
// if isok ( scholtze ) then
1874: LD_EXP 114
1878: PPUSH
1879: CALL_OW 302
1883: IFFALSE 1899
// say ( scholtze , DTeleportEnd-Sch-1 ) else
1885: LD_EXP 114
1889: PPUSH
1890: LD_STRING DTeleportEnd-Sch-1
1892: PPUSH
1893: CALL_OW 88
1897: GO 1964
// begin tmp = filterallunits ( [ [ f_side , ru ] , [ f_class , class_scientistic ] , [ f_ok ] ] ) ;
1899: LD_ADDR_VAR 0 3
1903: PUSH
1904: LD_INT 22
1906: PUSH
1907: LD_EXP 1
1911: PUSH
1912: EMPTY
1913: LIST
1914: LIST
1915: PUSH
1916: LD_INT 25
1918: PUSH
1919: LD_INT 4
1921: PUSH
1922: EMPTY
1923: LIST
1924: LIST
1925: PUSH
1926: LD_INT 50
1928: PUSH
1929: EMPTY
1930: LIST
1931: PUSH
1932: EMPTY
1933: LIST
1934: LIST
1935: LIST
1936: PPUSH
1937: CALL_OW 69
1941: ST_TO_ADDR
// if tmp then
1942: LD_VAR 0 3
1946: IFFALSE 1964
// say ( tmp [ 1 ] , DTeleportEnd-Rsol1-1 ) ;
1948: LD_VAR 0 3
1952: PUSH
1953: LD_INT 1
1955: ARRAY
1956: PPUSH
1957: LD_STRING DTeleportEnd-Rsol1-1
1959: PPUSH
1960: CALL_OW 88
// end ; dialogueoff ;
1964: CALL_OW 7
// wait ( 0 0$2 ) ;
1968: LD_INT 70
1970: PPUSH
1971: CALL_OW 67
// hint ( Teleport ) ;
1975: LD_STRING Teleport
1977: PPUSH
1978: CALL_OW 339
// end ;
1982: PPOPN 3
1984: END
// every 1 1$0 + 0 0$15 do
1985: GO 1987
1987: DISABLE
// begin createcratesarea ( 5 , targetarea , true ) ;
1988: LD_INT 5
1990: PPUSH
1991: LD_INT 9
1993: PPUSH
1994: LD_INT 1
1996: PPUSH
1997: CALL_OW 55
// if supply < 10 then
2001: LD_LOC 1
2005: PUSH
2006: LD_INT 10
2008: LESS
2009: IFFALSE 2028
// begin supply = supply - 1 ;
2011: LD_ADDR_LOC 1
2015: PUSH
2016: LD_LOC 1
2020: PUSH
2021: LD_INT 1
2023: MINUS
2024: ST_TO_ADDR
// enable ;
2025: ENABLE
// end else
2026: GO 2031
// enable ( 04 ) ;
2028: LD_INT 4
2030: ENABLE_MARKED
// end ;
2031: END
// every 2 2$0 marked 04 do
2032: GO 2034
2034: DISABLE
// begin createcratesarea ( 5 , targetarea , true ) ;
2035: LD_INT 5
2037: PPUSH
2038: LD_INT 9
2040: PPUSH
2041: LD_INT 1
2043: PPUSH
2044: CALL_OW 55
// if supply then
2048: LD_LOC 1
2052: IFFALSE 2069
// begin supply = supply - 1 ;
2054: LD_ADDR_LOC 1
2058: PUSH
2059: LD_LOC 1
2063: PUSH
2064: LD_INT 1
2066: MINUS
2067: ST_TO_ADDR
// enable ;
2068: ENABLE
// end ; end ;
2069: END
// every 0 0$7 do
2070: GO 2072
2072: DISABLE
// begin randomize ;
2073: CALL_OW 10
// enable ;
2077: ENABLE
// end ; end_of_file
2078: END
// export vsevol , popov , gaydar , yashin , titov , belkov , kuzmov , gnyevko , kozlov , furmanov , kiril , kapitsova , petrosyan , scholtze , dolgov , kovalyuk , karamazov , petrovova , oblukov , burlak , platonov , jmm ; export masha ; var obeti , obeti2 , survivors , ostatni , nedoboje ; export vs ; function myisinarea ( list , area , x , y ) ; var tmp , tmp1 ; begin
2079: LD_INT 0
2081: PPUSH
2082: PPUSH
2083: PPUSH
// tmp1 = [ ] ;
2084: LD_ADDR_VAR 0 7
2088: PUSH
2089: EMPTY
2090: ST_TO_ADDR
// for tmp in list do
2091: LD_ADDR_VAR 0 6
2095: PUSH
2096: LD_VAR 0 1
2100: PUSH
2101: FOR_IN
2102: IFFALSE 2142
// if not isinarea ( tmp , area ) then
2104: LD_VAR 0 6
2108: PPUSH
2109: LD_VAR 0 2
2113: PPUSH
2114: CALL_OW 308
2118: NOT
2119: IFFALSE 2140
// begin tmp1 = tmp1 ^ [ tmp ] ;
2121: LD_ADDR_VAR 0 7
2125: PUSH
2126: LD_VAR 0 7
2130: PUSH
2131: LD_VAR 0 6
2135: PUSH
2136: EMPTY
2137: LIST
2138: ADD
2139: ST_TO_ADDR
// end ;
2140: GO 2101
2142: POP
2143: POP
// if tmp1 then
2144: LD_VAR 0 7
2148: IFFALSE 2194
// begin comstop ( list diff tmp1 ) ;
2150: LD_VAR 0 1
2154: PUSH
2155: LD_VAR 0 7
2159: DIFF
2160: PPUSH
2161: CALL_OW 141
// commovexy ( tmp1 , x , y ) ;
2165: LD_VAR 0 7
2169: PPUSH
2170: LD_VAR 0 3
2174: PPUSH
2175: LD_VAR 0 4
2179: PPUSH
2180: CALL_OW 111
// result = false ;
2184: LD_ADDR_VAR 0 5
2188: PUSH
2189: LD_INT 0
2191: ST_TO_ADDR
// end else
2192: GO 2202
// result = true ;
2194: LD_ADDR_VAR 0 5
2198: PUSH
2199: LD_INT 1
2201: ST_TO_ADDR
// end ;
2202: LD_VAR 0 5
2206: RET
// export surv3 ; var vsevol_v , popov_v , gaydar_v , yashin_v , vehikly , vehiklyo , vehiklys ; export function prepare_russians ; var tmp , tmp2 , tmp3 , na , na2 , veh , cannon_fodder ; begin
2207: LD_INT 0
2209: PPUSH
2210: PPUSH
2211: PPUSH
2212: PPUSH
2213: PPUSH
2214: PPUSH
2215: PPUSH
2216: PPUSH
// centernowonxy ( 99 , 102 ) ;
2217: LD_INT 99
2219: PPUSH
2220: LD_INT 102
2222: PPUSH
2223: CALL_OW 86
// na = 0 ;
2227: LD_ADDR_VAR 0 5
2231: PUSH
2232: LD_INT 0
2234: ST_TO_ADDR
// na2 = 0 ;
2235: LD_ADDR_VAR 0 6
2239: PUSH
2240: LD_INT 0
2242: ST_TO_ADDR
// uc_side = ru ;
2243: LD_ADDR_OWVAR 20
2247: PUSH
2248: LD_EXP 1
2252: ST_TO_ADDR
// if testcharacters ( Burlak ) then
2253: LD_STRING Burlak
2255: PPUSH
2256: CALL_OW 28
2260: IFFALSE 2298
// if checkcharacterset ( Burlak ) then
2262: LD_STRING Burlak
2264: PPUSH
2265: CALL_OW 29
2269: IFFALSE 2289
// burlak = createcharacterwithclass ( Burlak , class_engineer ) else
2271: LD_ADDR_EXP 120
2275: PUSH
2276: LD_STRING Burlak
2278: PPUSH
2279: LD_INT 2
2281: PPUSH
2282: CALL_OW 35
2286: ST_TO_ADDR
2287: GO 2296
// msg ( jakto ze Burlak je chciplej?! ) else
2289: LD_STRING jakto ze Burlak je chciplej?!
2291: PPUSH
2292: CALL_OW 100
2296: GO 2305
// msg ( neny Burlak ) ;
2298: LD_STRING neny Burlak
2300: PPUSH
2301: CALL_OW 100
// platonov = newcharacter ( Platonov ) ;
2305: LD_ADDR_EXP 121
2309: PUSH
2310: LD_STRING Platonov
2312: PPUSH
2313: CALL_OW 25
2317: ST_TO_ADDR
// if not platonov then
2318: LD_EXP 121
2322: NOT
2323: IFFALSE 2332
// msg ( neny Platonov ) ;
2325: LD_STRING neny Platonov
2327: PPUSH
2328: CALL_OW 100
// uc_side = am ;
2332: LD_ADDR_OWVAR 20
2336: PUSH
2337: LD_EXP 3
2341: ST_TO_ADDR
// jmm = newcharacter ( Macmillan ) ;
2342: LD_ADDR_EXP 122
2346: PUSH
2347: LD_STRING Macmillan
2349: PPUSH
2350: CALL_OW 25
2354: ST_TO_ADDR
// if not jmm then
2355: LD_EXP 122
2359: NOT
2360: IFFALSE 2369
// msg ( neny Macmillan ) ;
2362: LD_STRING neny Macmillan
2364: PPUSH
2365: CALL_OW 100
// uc_side = ru2 ;
2369: LD_ADDR_OWVAR 20
2373: PUSH
2374: LD_EXP 2
2378: ST_TO_ADDR
// vs = false ;
2379: LD_ADDR_EXP 124
2383: PUSH
2384: LD_INT 0
2386: ST_TO_ADDR
// if testcharacters ( Vsevolod ) then
2387: LD_STRING Vsevolod
2389: PPUSH
2390: CALL_OW 28
2394: IFFALSE 2460
// if checkcharacterset ( Vsevolod ) then
2396: LD_STRING Vsevolod
2398: PPUSH
2399: CALL_OW 29
2403: IFFALSE 2431
// begin vs = true ;
2405: LD_ADDR_EXP 124
2409: PUSH
2410: LD_INT 1
2412: ST_TO_ADDR
// vsevol = createcharacterwithclass ( Vsevolod , class_soldier ) ;
2413: LD_ADDR_EXP 101
2417: PUSH
2418: LD_STRING Vsevolod
2420: PPUSH
2421: LD_INT 1
2423: PPUSH
2424: CALL_OW 35
2428: ST_TO_ADDR
// end else
2429: GO 2458
// begin vsevol = newcharacter ( Stolypin ) ;
2431: LD_ADDR_EXP 101
2435: PUSH
2436: LD_STRING Stolypin
2438: PPUSH
2439: CALL_OW 25
2443: ST_TO_ADDR
// if not vsevol then
2444: LD_EXP 101
2448: NOT
2449: IFFALSE 2458
// msg ( neny Stolypin ) ;
2451: LD_STRING neny Stolypin
2453: PPUSH
2454: CALL_OW 100
// end else
2458: GO 2467
// msg ( neny Vsevolod ) ;
2460: LD_STRING neny Vsevolod
2462: PPUSH
2463: CALL_OW 100
// popov = newcharacter ( Popov ) ;
2467: LD_ADDR_EXP 102
2471: PUSH
2472: LD_STRING Popov
2474: PPUSH
2475: CALL_OW 25
2479: ST_TO_ADDR
// if not popov then
2480: LD_EXP 102
2484: NOT
2485: IFFALSE 2494
// msg ( neny Popov ) ;
2487: LD_STRING neny Popov
2489: PPUSH
2490: CALL_OW 100
// if testcharacters ( Gaydar ) then
2494: LD_STRING Gaydar
2496: PPUSH
2497: CALL_OW 28
2501: IFFALSE 2554
// if checkcharacterset ( Gaydar ) then
2503: LD_STRING Gaydar
2505: PPUSH
2506: CALL_OW 29
2510: IFFALSE 2530
// gaydar = createcharacterwithclass ( Gaydar , class_soldier ) else
2512: LD_ADDR_EXP 103
2516: PUSH
2517: LD_STRING Gaydar
2519: PPUSH
2520: LD_INT 1
2522: PPUSH
2523: CALL_OW 35
2527: ST_TO_ADDR
2528: GO 2552
// begin gaydar = 0 ;
2530: LD_ADDR_EXP 103
2534: PUSH
2535: LD_INT 0
2537: ST_TO_ADDR
// na2 = na2 + 1 ;
2538: LD_ADDR_VAR 0 6
2542: PUSH
2543: LD_VAR 0 6
2547: PUSH
2548: LD_INT 1
2550: PLUS
2551: ST_TO_ADDR
// end else
2552: GO 2561
// msg ( neny Gaydar ) ;
2554: LD_STRING neny Gaydar
2556: PPUSH
2557: CALL_OW 100
// yashin = newcharacter ( Yashin ) ;
2561: LD_ADDR_EXP 104
2565: PUSH
2566: LD_STRING Yashin
2568: PPUSH
2569: CALL_OW 25
2573: ST_TO_ADDR
// if not yashin then
2574: LD_EXP 104
2578: NOT
2579: IFFALSE 2588
// msg ( neny Yashin ) ;
2581: LD_STRING neny Yashin
2583: PPUSH
2584: CALL_OW 100
// if testcharacters ( Titov ) then
2588: LD_STRING Titov
2590: PPUSH
2591: CALL_OW 28
2595: IFFALSE 2648
// if checkcharacterset ( Titov ) then
2597: LD_STRING Titov
2599: PPUSH
2600: CALL_OW 29
2604: IFFALSE 2624
// titov = createcharacterwithclass ( Titov , class_soldier ) else
2606: LD_ADDR_EXP 105
2610: PUSH
2611: LD_STRING Titov
2613: PPUSH
2614: LD_INT 1
2616: PPUSH
2617: CALL_OW 35
2621: ST_TO_ADDR
2622: GO 2646
// begin titov = 0 ;
2624: LD_ADDR_EXP 105
2628: PUSH
2629: LD_INT 0
2631: ST_TO_ADDR
// na2 = na2 + 1 ;
2632: LD_ADDR_VAR 0 6
2636: PUSH
2637: LD_VAR 0 6
2641: PUSH
2642: LD_INT 1
2644: PLUS
2645: ST_TO_ADDR
// end else
2646: GO 2655
// msg ( neny Titov ) ;
2648: LD_STRING neny Titov
2650: PPUSH
2651: CALL_OW 100
// if testcharacters ( Belkov ) then
2655: LD_STRING Belkov
2657: PPUSH
2658: CALL_OW 28
2662: IFFALSE 2715
// if checkcharacterset ( Belkov ) then
2664: LD_STRING Belkov
2666: PPUSH
2667: CALL_OW 29
2671: IFFALSE 2691
// belkov = createcharacterwithclass ( Belkov , class_soldier ) else
2673: LD_ADDR_EXP 106
2677: PUSH
2678: LD_STRING Belkov
2680: PPUSH
2681: LD_INT 1
2683: PPUSH
2684: CALL_OW 35
2688: ST_TO_ADDR
2689: GO 2713
// begin belkov = 0 ;
2691: LD_ADDR_EXP 106
2695: PUSH
2696: LD_INT 0
2698: ST_TO_ADDR
// na2 = na2 + 1 ;
2699: LD_ADDR_VAR 0 6
2703: PUSH
2704: LD_VAR 0 6
2708: PUSH
2709: LD_INT 1
2711: PLUS
2712: ST_TO_ADDR
// end else
2713: GO 2722
// msg ( neny Belkov ) ;
2715: LD_STRING neny Belkov
2717: PPUSH
2718: CALL_OW 100
// if testcharacters ( Kuzmov ) then
2722: LD_STRING Kuzmov
2724: PPUSH
2725: CALL_OW 28
2729: IFFALSE 2782
// if checkcharacterset ( Kuzmov ) then
2731: LD_STRING Kuzmov
2733: PPUSH
2734: CALL_OW 29
2738: IFFALSE 2758
// kuzmov = createcharacterwithclass ( Kuzmov , class_soldier ) else
2740: LD_ADDR_EXP 107
2744: PUSH
2745: LD_STRING Kuzmov
2747: PPUSH
2748: LD_INT 1
2750: PPUSH
2751: CALL_OW 35
2755: ST_TO_ADDR
2756: GO 2780
// begin kuzmov = 0 ;
2758: LD_ADDR_EXP 107
2762: PUSH
2763: LD_INT 0
2765: ST_TO_ADDR
// na2 = na2 + 1 ;
2766: LD_ADDR_VAR 0 6
2770: PUSH
2771: LD_VAR 0 6
2775: PUSH
2776: LD_INT 1
2778: PLUS
2779: ST_TO_ADDR
// end else
2780: GO 2789
// msg ( neny Kuzmov ) ;
2782: LD_STRING neny Kuzmov
2784: PPUSH
2785: CALL_OW 100
// if testcharacters ( Gnyevko ) then
2789: LD_STRING Gnyevko
2791: PPUSH
2792: CALL_OW 28
2796: IFFALSE 2849
// if checkcharacterset ( Gnyevko ) then
2798: LD_STRING Gnyevko
2800: PPUSH
2801: CALL_OW 29
2805: IFFALSE 2825
// gnyevko = createcharacterwithclass ( Gnyevko , class_soldier ) else
2807: LD_ADDR_EXP 108
2811: PUSH
2812: LD_STRING Gnyevko
2814: PPUSH
2815: LD_INT 1
2817: PPUSH
2818: CALL_OW 35
2822: ST_TO_ADDR
2823: GO 2847
// begin gnyevko = 0 ;
2825: LD_ADDR_EXP 108
2829: PUSH
2830: LD_INT 0
2832: ST_TO_ADDR
// na2 = na2 + 1 ;
2833: LD_ADDR_VAR 0 6
2837: PUSH
2838: LD_VAR 0 6
2842: PUSH
2843: LD_INT 1
2845: PLUS
2846: ST_TO_ADDR
// end else
2847: GO 2856
// msg ( neny Gnyevko ) ;
2849: LD_STRING neny Gnyevko
2851: PPUSH
2852: CALL_OW 100
// if testcharacters ( Kozlov ) then
2856: LD_STRING Kozlov
2858: PPUSH
2859: CALL_OW 28
2863: IFFALSE 2916
// if checkcharacterset ( Kozlov ) then
2865: LD_STRING Kozlov
2867: PPUSH
2868: CALL_OW 29
2872: IFFALSE 2892
// kozlov = createcharacterwithclass ( Kozlov , class_soldier ) else
2874: LD_ADDR_EXP 109
2878: PUSH
2879: LD_STRING Kozlov
2881: PPUSH
2882: LD_INT 1
2884: PPUSH
2885: CALL_OW 35
2889: ST_TO_ADDR
2890: GO 2914
// begin kozlov = 0 ;
2892: LD_ADDR_EXP 109
2896: PUSH
2897: LD_INT 0
2899: ST_TO_ADDR
// na2 = na2 + 1 ;
2900: LD_ADDR_VAR 0 6
2904: PUSH
2905: LD_VAR 0 6
2909: PUSH
2910: LD_INT 1
2912: PLUS
2913: ST_TO_ADDR
// end else
2914: GO 2923
// msg ( neny Kozlov ) ;
2916: LD_STRING neny Kozlov
2918: PPUSH
2919: CALL_OW 100
// uc_side = ru ;
2923: LD_ADDR_OWVAR 20
2927: PUSH
2928: LD_EXP 1
2932: ST_TO_ADDR
// furmanov = newcharacter ( Furmanov ) ;
2933: LD_ADDR_EXP 110
2937: PUSH
2938: LD_STRING Furmanov
2940: PPUSH
2941: CALL_OW 25
2945: ST_TO_ADDR
// if not furmanov then
2946: LD_EXP 110
2950: NOT
2951: IFFALSE 2960
// msg ( neny Furmanov ) ;
2953: LD_STRING neny Furmanov
2955: PPUSH
2956: CALL_OW 100
// if testcharacters ( Kirilenkova ) then
2960: LD_STRING Kirilenkova
2962: PPUSH
2963: CALL_OW 28
2967: IFFALSE 3020
// if checkcharacterset ( Kirilenkova ) then
2969: LD_STRING Kirilenkova
2971: PPUSH
2972: CALL_OW 29
2976: IFFALSE 2996
// kiril = createcharacterwithclass ( Kirilenkova , class_scientistic ) else
2978: LD_ADDR_EXP 111
2982: PUSH
2983: LD_STRING Kirilenkova
2985: PPUSH
2986: LD_INT 4
2988: PPUSH
2989: CALL_OW 35
2993: ST_TO_ADDR
2994: GO 3018
// begin kiril = 0 ;
2996: LD_ADDR_EXP 111
3000: PUSH
3001: LD_INT 0
3003: ST_TO_ADDR
// na = na + 1 ;
3004: LD_ADDR_VAR 0 5
3008: PUSH
3009: LD_VAR 0 5
3013: PUSH
3014: LD_INT 1
3016: PLUS
3017: ST_TO_ADDR
// end else
3018: GO 3027
// msg ( neny Kirilenkova ) ;
3020: LD_STRING neny Kirilenkova
3022: PPUSH
3023: CALL_OW 100
// if testcharacters ( Kapitsova ) then
3027: LD_STRING Kapitsova
3029: PPUSH
3030: CALL_OW 28
3034: IFFALSE 3087
// if checkcharacterset ( Kapitsova ) then
3036: LD_STRING Kapitsova
3038: PPUSH
3039: CALL_OW 29
3043: IFFALSE 3063
// kapitsova = createcharacterwithclass ( Kapitsova , class_scientistic ) else
3045: LD_ADDR_EXP 112
3049: PUSH
3050: LD_STRING Kapitsova
3052: PPUSH
3053: LD_INT 4
3055: PPUSH
3056: CALL_OW 35
3060: ST_TO_ADDR
3061: GO 3085
// begin kapitsova = 0 ;
3063: LD_ADDR_EXP 112
3067: PUSH
3068: LD_INT 0
3070: ST_TO_ADDR
// na = na + 1 ;
3071: LD_ADDR_VAR 0 5
3075: PUSH
3076: LD_VAR 0 5
3080: PUSH
3081: LD_INT 1
3083: PLUS
3084: ST_TO_ADDR
// end else
3085: GO 3094
// msg ( neny Kapitsova ) ;
3087: LD_STRING neny Kapitsova
3089: PPUSH
3090: CALL_OW 100
// if testcharacters ( Petrosyan ) then
3094: LD_STRING Petrosyan
3096: PPUSH
3097: CALL_OW 28
3101: IFFALSE 3154
// if checkcharacterset ( Petrosyan ) then
3103: LD_STRING Petrosyan
3105: PPUSH
3106: CALL_OW 29
3110: IFFALSE 3130
// petrosyan = createcharacterwithclass ( Petrosyan , class_scientistic ) else
3112: LD_ADDR_EXP 113
3116: PUSH
3117: LD_STRING Petrosyan
3119: PPUSH
3120: LD_INT 4
3122: PPUSH
3123: CALL_OW 35
3127: ST_TO_ADDR
3128: GO 3152
// begin petrosyan = 0 ;
3130: LD_ADDR_EXP 113
3134: PUSH
3135: LD_INT 0
3137: ST_TO_ADDR
// na = na + 1 ;
3138: LD_ADDR_VAR 0 5
3142: PUSH
3143: LD_VAR 0 5
3147: PUSH
3148: LD_INT 1
3150: PLUS
3151: ST_TO_ADDR
// end else
3152: GO 3161
// msg ( neny Petrosyan ) ;
3154: LD_STRING neny Petrosyan
3156: PPUSH
3157: CALL_OW 100
// if testcharacters ( Scholtze ) then
3161: LD_STRING Scholtze
3163: PPUSH
3164: CALL_OW 28
3168: IFFALSE 3221
// if checkcharacterset ( Scholtze ) then
3170: LD_STRING Scholtze
3172: PPUSH
3173: CALL_OW 29
3177: IFFALSE 3197
// scholtze = createcharacterwithclass ( Scholtze , class_scientistic ) else
3179: LD_ADDR_EXP 114
3183: PUSH
3184: LD_STRING Scholtze
3186: PPUSH
3187: LD_INT 4
3189: PPUSH
3190: CALL_OW 35
3194: ST_TO_ADDR
3195: GO 3219
// begin scholtze = 0 ;
3197: LD_ADDR_EXP 114
3201: PUSH
3202: LD_INT 0
3204: ST_TO_ADDR
// na = na + 1 ;
3205: LD_ADDR_VAR 0 5
3209: PUSH
3210: LD_VAR 0 5
3214: PUSH
3215: LD_INT 1
3217: PLUS
3218: ST_TO_ADDR
// end else
3219: GO 3228
// msg ( neny Scholtze ) ;
3221: LD_STRING neny Scholtze
3223: PPUSH
3224: CALL_OW 100
// uc_side = ru2 ;
3228: LD_ADDR_OWVAR 20
3232: PUSH
3233: LD_EXP 2
3237: ST_TO_ADDR
// if testcharacters ( Dolgov ) then
3238: LD_STRING Dolgov
3240: PPUSH
3241: CALL_OW 28
3245: IFFALSE 3298
// if checkcharacterset ( Dolgov ) then
3247: LD_STRING Dolgov
3249: PPUSH
3250: CALL_OW 29
3254: IFFALSE 3274
// dolgov = createcharacterwithclass ( Dolgov , class_soldier ) else
3256: LD_ADDR_EXP 115
3260: PUSH
3261: LD_STRING Dolgov
3263: PPUSH
3264: LD_INT 1
3266: PPUSH
3267: CALL_OW 35
3271: ST_TO_ADDR
3272: GO 3296
// begin dolgov = 0 ;
3274: LD_ADDR_EXP 115
3278: PUSH
3279: LD_INT 0
3281: ST_TO_ADDR
// na2 = na2 + 1 ;
3282: LD_ADDR_VAR 0 6
3286: PUSH
3287: LD_VAR 0 6
3291: PUSH
3292: LD_INT 1
3294: PLUS
3295: ST_TO_ADDR
// end else
3296: GO 3305
// msg ( neny Dolgov ) ;
3298: LD_STRING neny Dolgov
3300: PPUSH
3301: CALL_OW 100
// if testcharacters ( Kovalyuk ) then
3305: LD_STRING Kovalyuk
3307: PPUSH
3308: CALL_OW 28
3312: IFFALSE 3365
// if checkcharacterset ( Kovalyuk ) then
3314: LD_STRING Kovalyuk
3316: PPUSH
3317: CALL_OW 29
3321: IFFALSE 3341
// kovalyuk = createcharacterwithclass ( Kovalyuk , class_soldier ) else
3323: LD_ADDR_EXP 116
3327: PUSH
3328: LD_STRING Kovalyuk
3330: PPUSH
3331: LD_INT 1
3333: PPUSH
3334: CALL_OW 35
3338: ST_TO_ADDR
3339: GO 3363
// begin kovalyuk = 0 ;
3341: LD_ADDR_EXP 116
3345: PUSH
3346: LD_INT 0
3348: ST_TO_ADDR
// na2 = na2 + 1 ;
3349: LD_ADDR_VAR 0 6
3353: PUSH
3354: LD_VAR 0 6
3358: PUSH
3359: LD_INT 1
3361: PLUS
3362: ST_TO_ADDR
// end else
3363: GO 3372
// msg ( neny Kovalyuk ) ;
3365: LD_STRING neny Kovalyuk
3367: PPUSH
3368: CALL_OW 100
// if testcharacters ( Karamazov ) then
3372: LD_STRING Karamazov
3374: PPUSH
3375: CALL_OW 28
3379: IFFALSE 3432
// if checkcharacterset ( Karamazov ) then
3381: LD_STRING Karamazov
3383: PPUSH
3384: CALL_OW 29
3388: IFFALSE 3408
// karamazov = createcharacterwithclass ( Karamazov , class_soldier ) else
3390: LD_ADDR_EXP 117
3394: PUSH
3395: LD_STRING Karamazov
3397: PPUSH
3398: LD_INT 1
3400: PPUSH
3401: CALL_OW 35
3405: ST_TO_ADDR
3406: GO 3430
// begin karamazov = 0 ;
3408: LD_ADDR_EXP 117
3412: PUSH
3413: LD_INT 0
3415: ST_TO_ADDR
// na2 = na2 + 1 ;
3416: LD_ADDR_VAR 0 6
3420: PUSH
3421: LD_VAR 0 6
3425: PUSH
3426: LD_INT 1
3428: PLUS
3429: ST_TO_ADDR
// end else
3430: GO 3439
// msg ( neny Karamazov ) ;
3432: LD_STRING neny Karamazov
3434: PPUSH
3435: CALL_OW 100
// if testcharacters ( Petrovova ) then
3439: LD_STRING Petrovova
3441: PPUSH
3442: CALL_OW 28
3446: IFFALSE 3499
// if checkcharacterset ( Petrovova ) then
3448: LD_STRING Petrovova
3450: PPUSH
3451: CALL_OW 29
3455: IFFALSE 3475
// petrovova = createcharacterwithclass ( Petrovova , class_soldier ) else
3457: LD_ADDR_EXP 118
3461: PUSH
3462: LD_STRING Petrovova
3464: PPUSH
3465: LD_INT 1
3467: PPUSH
3468: CALL_OW 35
3472: ST_TO_ADDR
3473: GO 3497
// begin petrovova = 0 ;
3475: LD_ADDR_EXP 118
3479: PUSH
3480: LD_INT 0
3482: ST_TO_ADDR
// na2 = na2 + 1 ;
3483: LD_ADDR_VAR 0 6
3487: PUSH
3488: LD_VAR 0 6
3492: PUSH
3493: LD_INT 1
3495: PLUS
3496: ST_TO_ADDR
// end else
3497: GO 3506
// msg ( neny Petrovova ) ;
3499: LD_STRING neny Petrovova
3501: PPUSH
3502: CALL_OW 100
// if testcharacters ( Oblukov ) then
3506: LD_STRING Oblukov
3508: PPUSH
3509: CALL_OW 28
3513: IFFALSE 3566
// if checkcharacterset ( Oblukov ) then
3515: LD_STRING Oblukov
3517: PPUSH
3518: CALL_OW 29
3522: IFFALSE 3542
// oblukov = createcharacterwithclass ( Oblukov , class_soldier ) else
3524: LD_ADDR_EXP 119
3528: PUSH
3529: LD_STRING Oblukov
3531: PPUSH
3532: LD_INT 1
3534: PPUSH
3535: CALL_OW 35
3539: ST_TO_ADDR
3540: GO 3564
// begin oblukov = 0 ;
3542: LD_ADDR_EXP 119
3546: PUSH
3547: LD_INT 0
3549: ST_TO_ADDR
// na2 = na2 + 1 ;
3550: LD_ADDR_VAR 0 6
3554: PUSH
3555: LD_VAR 0 6
3559: PUSH
3560: LD_INT 1
3562: PLUS
3563: ST_TO_ADDR
// end else
3564: GO 3573
// msg ( neny Oblukov ) ;
3566: LD_STRING neny Oblukov
3568: PPUSH
3569: CALL_OW 100
// uc_side := ru ;
3573: LD_ADDR_OWVAR 20
3577: PUSH
3578: LD_EXP 1
3582: ST_TO_ADDR
// if testcharacters ( survivors3 ) then
3583: LD_STRING survivors3
3585: PPUSH
3586: CALL_OW 28
3590: IFFALSE 3618
// if checkcharacterset ( survivors3 ) then
3592: LD_STRING survivors3
3594: PPUSH
3595: CALL_OW 29
3599: IFFALSE 3616
// surv3 = createcharacterset ( survivors3 ) else
3601: LD_ADDR_EXP 125
3605: PUSH
3606: LD_STRING survivors3
3608: PPUSH
3609: CALL_OW 31
3613: ST_TO_ADDR
3614: GO 3616
// else
3616: GO 3625
// msg ( neny survivors3 ) ;
3618: LD_STRING neny survivors3
3620: PPUSH
3621: CALL_OW 100
// uc_nation = nation_russian ;
3625: LD_ADDR_OWVAR 21
3629: PUSH
3630: LD_INT 3
3632: ST_TO_ADDR
// if not testvariable ( Masha ) then
3633: LD_STRING Masha
3635: PPUSH
3636: CALL_OW 27
3640: NOT
3641: IFFALSE 3650
// msg ( neny Masha ) ;
3643: LD_STRING neny Masha
3645: PPUSH
3646: CALL_OW 100
// veh = loadvariable ( Masha , [ ] ) ;
3650: LD_ADDR_VAR 0 7
3654: PUSH
3655: LD_STRING Masha
3657: PPUSH
3658: EMPTY
3659: PPUSH
3660: CALL_OW 30
3664: ST_TO_ADDR
// if veh then
3665: LD_VAR 0 7
3669: IFFALSE 3751
// begin vc_chassis = veh [ 1 ] ;
3671: LD_ADDR_OWVAR 37
3675: PUSH
3676: LD_VAR 0 7
3680: PUSH
3681: LD_INT 1
3683: ARRAY
3684: ST_TO_ADDR
// vc_engine = veh [ 2 ] ;
3685: LD_ADDR_OWVAR 39
3689: PUSH
3690: LD_VAR 0 7
3694: PUSH
3695: LD_INT 2
3697: ARRAY
3698: ST_TO_ADDR
// vc_control = veh [ 3 ] ;
3699: LD_ADDR_OWVAR 38
3703: PUSH
3704: LD_VAR 0 7
3708: PUSH
3709: LD_INT 3
3711: ARRAY
3712: ST_TO_ADDR
// vc_weapon = veh [ 4 ] ;
3713: LD_ADDR_OWVAR 40
3717: PUSH
3718: LD_VAR 0 7
3722: PUSH
3723: LD_INT 4
3725: ARRAY
3726: ST_TO_ADDR
// masha = createvehicle ;
3727: LD_ADDR_EXP 123
3731: PUSH
3732: CALL_OW 45
3736: ST_TO_ADDR
// setmark ( masha , 1 ) ;
3737: LD_EXP 123
3741: PPUSH
3742: LD_INT 1
3744: PPUSH
3745: CALL_OW 242
// end else
3749: GO 3759
// masha = 0 ;
3751: LD_ADDR_EXP 123
3755: PUSH
3756: LD_INT 0
3758: ST_TO_ADDR
// uc_side = ru2 ;
3759: LD_ADDR_OWVAR 20
3763: PUSH
3764: LD_EXP 2
3768: ST_TO_ADDR
// ostatni = [ ] ;
3769: LD_ADDR_LOC 5
3773: PUSH
3774: EMPTY
3775: ST_TO_ADDR
// tmp2 = na + na2 ;
3776: LD_ADDR_VAR 0 3
3780: PUSH
3781: LD_VAR 0 5
3785: PUSH
3786: LD_VAR 0 6
3790: PLUS
3791: ST_TO_ADDR
// for tmp = 1 to tmp2 do
3792: LD_ADDR_VAR 0 2
3796: PUSH
3797: DOUBLE
3798: LD_INT 1
3800: DEC
3801: ST_TO_ADDR
3802: LD_VAR 0 3
3806: PUSH
3807: FOR_TO
3808: IFFALSE 3860
// begin preparehuman ( rand ( 1 , 2 ) , rand ( 1 , 4 ) , 7 ) ;
3810: LD_INT 1
3812: PPUSH
3813: LD_INT 2
3815: PPUSH
3816: CALL_OW 12
3820: PPUSH
3821: LD_INT 1
3823: PPUSH
3824: LD_INT 4
3826: PPUSH
3827: CALL_OW 12
3831: PPUSH
3832: LD_INT 7
3834: PPUSH
3835: CALL_OW 380
// ostatni = ostatni ^ [ createhuman ] ;
3839: LD_ADDR_LOC 5
3843: PUSH
3844: LD_LOC 5
3848: PUSH
3849: CALL_OW 44
3853: PUSH
3854: EMPTY
3855: LIST
3856: ADD
3857: ST_TO_ADDR
// end ;
3858: GO 3807
3860: POP
3861: POP
// cannon_fodder = [ ] ;
3862: LD_ADDR_VAR 0 8
3866: PUSH
3867: EMPTY
3868: ST_TO_ADDR
// for tmp = 1 to 3 do
3869: LD_ADDR_VAR 0 2
3873: PUSH
3874: DOUBLE
3875: LD_INT 1
3877: DEC
3878: ST_TO_ADDR
3879: LD_INT 3
3881: PUSH
3882: FOR_TO
3883: IFFALSE 3913
// begin PrepareSoldier ( false , 7 ) ;
3885: LD_INT 0
3887: PPUSH
3888: LD_INT 7
3890: PPUSH
3891: CALL_OW 381
// cannon_fodder = cannon_fodder ^ CreateHuman ;
3895: LD_ADDR_VAR 0 8
3899: PUSH
3900: LD_VAR 0 8
3904: PUSH
3905: CALL_OW 44
3909: ADD
3910: ST_TO_ADDR
// end ;
3911: GO 3882
3913: POP
3914: POP
// obeti = [ vsevol , popov , gaydar , yashin ] ;
3915: LD_ADDR_LOC 2
3919: PUSH
3920: LD_EXP 101
3924: PUSH
3925: LD_EXP 102
3929: PUSH
3930: LD_EXP 103
3934: PUSH
3935: LD_EXP 104
3939: PUSH
3940: EMPTY
3941: LIST
3942: LIST
3943: LIST
3944: LIST
3945: ST_TO_ADDR
// survivors = [ belkov , petrovova , titov , oblukov , kuzmov , gnyevko , kozlov , dolgov , kovalyuk , karamazov ] diff [ 0 ] ;
3946: LD_ADDR_LOC 4
3950: PUSH
3951: LD_EXP 106
3955: PUSH
3956: LD_EXP 118
3960: PUSH
3961: LD_EXP 105
3965: PUSH
3966: LD_EXP 119
3970: PUSH
3971: LD_EXP 107
3975: PUSH
3976: LD_EXP 108
3980: PUSH
3981: LD_EXP 109
3985: PUSH
3986: LD_EXP 115
3990: PUSH
3991: LD_EXP 116
3995: PUSH
3996: LD_EXP 117
4000: PUSH
4001: EMPTY
4002: LIST
4003: LIST
4004: LIST
4005: LIST
4006: LIST
4007: LIST
4008: LIST
4009: LIST
4010: LIST
4011: LIST
4012: PUSH
4013: LD_INT 0
4015: PUSH
4016: EMPTY
4017: LIST
4018: DIFF
4019: ST_TO_ADDR
// obeti2 = cannon_fodder ;
4020: LD_ADDR_LOC 3
4024: PUSH
4025: LD_VAR 0 8
4029: ST_TO_ADDR
// nedoboje = [ kiril , kapitsova , petrosyan , scholtze , furmanov ] diff [ 0 ] ;
4030: LD_ADDR_LOC 6
4034: PUSH
4035: LD_EXP 111
4039: PUSH
4040: LD_EXP 112
4044: PUSH
4045: LD_EXP 113
4049: PUSH
4050: LD_EXP 114
4054: PUSH
4055: LD_EXP 110
4059: PUSH
4060: EMPTY
4061: LIST
4062: LIST
4063: LIST
4064: LIST
4065: LIST
4066: PUSH
4067: LD_INT 0
4069: PUSH
4070: EMPTY
4071: LIST
4072: DIFF
4073: ST_TO_ADDR
// tmp2 = 7 - survivors ;
4074: LD_ADDR_VAR 0 3
4078: PUSH
4079: LD_INT 7
4081: PUSH
4082: LD_LOC 4
4086: MINUS
4087: ST_TO_ADDR
// for tmp = 1 to tmp2 do
4088: LD_ADDR_VAR 0 2
4092: PUSH
4093: DOUBLE
4094: LD_INT 1
4096: DEC
4097: ST_TO_ADDR
4098: LD_VAR 0 3
4102: PUSH
4103: FOR_TO
4104: IFFALSE 4223
// if surv3 then
4106: LD_EXP 125
4110: IFFALSE 4178
// begin survivors = survivors ^ [ surv3 [ 1 ] ] ;
4112: LD_ADDR_LOC 4
4116: PUSH
4117: LD_LOC 4
4121: PUSH
4122: LD_EXP 125
4126: PUSH
4127: LD_INT 1
4129: ARRAY
4130: PUSH
4131: EMPTY
4132: LIST
4133: ADD
4134: ST_TO_ADDR
// setside ( [ surv3 [ 1 ] ] , ru2 ) ;
4135: LD_EXP 125
4139: PUSH
4140: LD_INT 1
4142: ARRAY
4143: PUSH
4144: EMPTY
4145: LIST
4146: PPUSH
4147: LD_EXP 2
4151: PPUSH
4152: CALL_OW 235
// surv3 = surv3 diff surv3 [ 1 ] ;
4156: LD_ADDR_EXP 125
4160: PUSH
4161: LD_EXP 125
4165: PUSH
4166: LD_EXP 125
4170: PUSH
4171: LD_INT 1
4173: ARRAY
4174: DIFF
4175: ST_TO_ADDR
// end else
4176: GO 4221
// begin survivors = survivors ^ [ ostatni [ 1 ] ] ;
4178: LD_ADDR_LOC 4
4182: PUSH
4183: LD_LOC 4
4187: PUSH
4188: LD_LOC 5
4192: PUSH
4193: LD_INT 1
4195: ARRAY
4196: PUSH
4197: EMPTY
4198: LIST
4199: ADD
4200: ST_TO_ADDR
// ostatni = ostatni diff ostatni [ 1 ] ;
4201: LD_ADDR_LOC 5
4205: PUSH
4206: LD_LOC 5
4210: PUSH
4211: LD_LOC 5
4215: PUSH
4216: LD_INT 1
4218: ARRAY
4219: DIFF
4220: ST_TO_ADDR
// end ;
4221: GO 4103
4223: POP
4224: POP
// tmp2 = 3 - obeti2 ;
4225: LD_ADDR_VAR 0 3
4229: PUSH
4230: LD_INT 3
4232: PUSH
4233: LD_LOC 3
4237: MINUS
4238: ST_TO_ADDR
// for tmp = 1 to tmp2 do
4239: LD_ADDR_VAR 0 2
4243: PUSH
4244: DOUBLE
4245: LD_INT 1
4247: DEC
4248: ST_TO_ADDR
4249: LD_VAR 0 3
4253: PUSH
4254: FOR_TO
4255: IFFALSE 4302
// begin obeti2 = obeti2 ^ [ ostatni [ 1 ] ] ;
4257: LD_ADDR_LOC 3
4261: PUSH
4262: LD_LOC 3
4266: PUSH
4267: LD_LOC 5
4271: PUSH
4272: LD_INT 1
4274: ARRAY
4275: PUSH
4276: EMPTY
4277: LIST
4278: ADD
4279: ST_TO_ADDR
// ostatni = ostatni diff ostatni [ 1 ] ;
4280: LD_ADDR_LOC 5
4284: PUSH
4285: LD_LOC 5
4289: PUSH
4290: LD_LOC 5
4294: PUSH
4295: LD_INT 1
4297: ARRAY
4298: DIFF
4299: ST_TO_ADDR
// end ;
4300: GO 4254
4302: POP
4303: POP
// tmp2 = 5 - nedoboje ;
4304: LD_ADDR_VAR 0 3
4308: PUSH
4309: LD_INT 5
4311: PUSH
4312: LD_LOC 6
4316: MINUS
4317: ST_TO_ADDR
// for tmp = 1 to tmp2 do
4318: LD_ADDR_VAR 0 2
4322: PUSH
4323: DOUBLE
4324: LD_INT 1
4326: DEC
4327: ST_TO_ADDR
4328: LD_VAR 0 3
4332: PUSH
4333: FOR_TO
4334: IFFALSE 4453
// if surv3 then
4336: LD_EXP 125
4340: IFFALSE 4387
// begin nedoboje = nedoboje ^ [ surv3 [ 1 ] ] ;
4342: LD_ADDR_LOC 6
4346: PUSH
4347: LD_LOC 6
4351: PUSH
4352: LD_EXP 125
4356: PUSH
4357: LD_INT 1
4359: ARRAY
4360: PUSH
4361: EMPTY
4362: LIST
4363: ADD
4364: ST_TO_ADDR
// surv3 = surv3 diff surv3 [ 1 ] ;
4365: LD_ADDR_EXP 125
4369: PUSH
4370: LD_EXP 125
4374: PUSH
4375: LD_EXP 125
4379: PUSH
4380: LD_INT 1
4382: ARRAY
4383: DIFF
4384: ST_TO_ADDR
// end else
4385: GO 4451
// begin nedoboje = nedoboje ^ [ ostatni [ 1 ] ] ;
4387: LD_ADDR_LOC 6
4391: PUSH
4392: LD_LOC 6
4396: PUSH
4397: LD_LOC 5
4401: PUSH
4402: LD_INT 1
4404: ARRAY
4405: PUSH
4406: EMPTY
4407: LIST
4408: ADD
4409: ST_TO_ADDR
// setside ( [ ostatni [ 1 ] ] , ru ) ;
4410: LD_LOC 5
4414: PUSH
4415: LD_INT 1
4417: ARRAY
4418: PUSH
4419: EMPTY
4420: LIST
4421: PPUSH
4422: LD_EXP 1
4426: PPUSH
4427: CALL_OW 235
// ostatni = ostatni diff ostatni [ 1 ] ;
4431: LD_ADDR_LOC 5
4435: PUSH
4436: LD_LOC 5
4440: PUSH
4441: LD_LOC 5
4445: PUSH
4446: LD_INT 1
4448: ARRAY
4449: DIFF
4450: ST_TO_ADDR
// end ;
4451: GO 4333
4453: POP
4454: POP
// tmp3 = obeti ^ obeti2 ^ survivors ;
4455: LD_ADDR_VAR 0 4
4459: PUSH
4460: LD_LOC 2
4464: PUSH
4465: LD_LOC 3
4469: ADD
4470: PUSH
4471: LD_LOC 4
4475: ADD
4476: ST_TO_ADDR
// vehikly = [ ] ;
4477: LD_ADDR_LOC 11
4481: PUSH
4482: EMPTY
4483: ST_TO_ADDR
// vc_control = control_manual ;
4484: LD_ADDR_OWVAR 38
4488: PUSH
4489: LD_INT 1
4491: ST_TO_ADDR
// vc_engine = engine_siberite ;
4492: LD_ADDR_OWVAR 39
4496: PUSH
4497: LD_INT 3
4499: ST_TO_ADDR
// uc_side = ru ;
4500: LD_ADDR_OWVAR 20
4504: PUSH
4505: LD_EXP 1
4509: ST_TO_ADDR
// vc_weapon = ru_cargo_bay ;
4510: LD_ADDR_OWVAR 40
4514: PUSH
4515: LD_INT 51
4517: ST_TO_ADDR
// vc_chassis = ru_medium_wheeled ;
4518: LD_ADDR_OWVAR 37
4522: PUSH
4523: LD_INT 21
4525: ST_TO_ADDR
// for tmp = 1 to 3 do
4526: LD_ADDR_VAR 0 2
4530: PUSH
4531: DOUBLE
4532: LD_INT 1
4534: DEC
4535: ST_TO_ADDR
4536: LD_INT 3
4538: PUSH
4539: FOR_TO
4540: IFFALSE 4652
// begin tmp2 = createvehicle ;
4542: LD_ADDR_VAR 0 3
4546: PUSH
4547: CALL_OW 45
4551: ST_TO_ADDR
// if tmp = 1 then
4552: LD_VAR 0 2
4556: PUSH
4557: LD_INT 1
4559: EQUAL
4560: IFFALSE 4594
// begin setcargo ( tmp2 , mat_oil , 90 ) ;
4562: LD_VAR 0 3
4566: PPUSH
4567: LD_INT 2
4569: PPUSH
4570: LD_INT 90
4572: PPUSH
4573: CALL_OW 290
// addcargo ( tmp2 , mat_cans , 10 ) ;
4577: LD_VAR 0 3
4581: PPUSH
4582: LD_INT 1
4584: PPUSH
4585: LD_INT 10
4587: PPUSH
4588: CALL_OW 291
// end else
4592: GO 4609
// setcargo ( tmp2 , mat_cans , 100 ) ;
4594: LD_VAR 0 3
4598: PPUSH
4599: LD_INT 1
4601: PPUSH
4602: LD_INT 100
4604: PPUSH
4605: CALL_OW 290
// placehumaninunit ( nedoboje [ tmp ] , tmp2 ) ;
4609: LD_LOC 6
4613: PUSH
4614: LD_VAR 0 2
4618: ARRAY
4619: PPUSH
4620: LD_VAR 0 3
4624: PPUSH
4625: CALL_OW 52
// placeunitxyr ( tmp2 , 105 , 115 , 15 , false ) ;
4629: LD_VAR 0 3
4633: PPUSH
4634: LD_INT 105
4636: PPUSH
4637: LD_INT 115
4639: PPUSH
4640: LD_INT 15
4642: PPUSH
4643: LD_INT 0
4645: PPUSH
4646: CALL_OW 50
// end ;
4650: GO 4539
4652: POP
4653: POP
// placeunitxyr ( nedoboje [ 4 ] , 105 , 115 , 15 , false ) ;
4654: LD_LOC 6
4658: PUSH
4659: LD_INT 4
4661: ARRAY
4662: PPUSH
4663: LD_INT 105
4665: PPUSH
4666: LD_INT 115
4668: PPUSH
4669: LD_INT 15
4671: PPUSH
4672: LD_INT 0
4674: PPUSH
4675: CALL_OW 50
// placeunitxyr ( nedoboje [ 5 ] , 105 , 115 , 15 , false ) ;
4679: LD_LOC 6
4683: PUSH
4684: LD_INT 5
4686: ARRAY
4687: PPUSH
4688: LD_INT 105
4690: PPUSH
4691: LD_INT 115
4693: PPUSH
4694: LD_INT 15
4696: PPUSH
4697: LD_INT 0
4699: PPUSH
4700: CALL_OW 50
// if masha then
4704: LD_EXP 123
4708: IFFALSE 4747
// begin placehumaninunit ( burlak , masha ) ;
4710: LD_EXP 120
4714: PPUSH
4715: LD_EXP 123
4719: PPUSH
4720: CALL_OW 52
// placeunitxyr ( masha , 105 , 115 , 15 , false ) ;
4724: LD_EXP 123
4728: PPUSH
4729: LD_INT 105
4731: PPUSH
4732: LD_INT 115
4734: PPUSH
4735: LD_INT 15
4737: PPUSH
4738: LD_INT 0
4740: PPUSH
4741: CALL_OW 50
// end else
4745: GO 4768
// placeunitxyr ( burlak , 105 , 115 , 15 , false ) ;
4747: LD_EXP 120
4751: PPUSH
4752: LD_INT 105
4754: PPUSH
4755: LD_INT 115
4757: PPUSH
4758: LD_INT 15
4760: PPUSH
4761: LD_INT 0
4763: PPUSH
4764: CALL_OW 50
// uc_side = ru2 ;
4768: LD_ADDR_OWVAR 20
4772: PUSH
4773: LD_EXP 2
4777: ST_TO_ADDR
// tmp2 = [ [ ru_medium_tracked , ru_gatling_gun ] , [ ru_medium_tracked , ru_gatling_gun ] , [ ru_medium_tracked , ru_gatling_gun ] , [ ru_medium_tracked , ru_rocket_launcher ] , [ ru_medium_tracked , ru_rocket_launcher ] , [ ru_medium_tracked , ru_rocket_launcher ] , [ ru_medium_tracked , ru_gun ] , [ ru_medium_tracked , ru_gun ] , [ ru_medium_tracked , ru_gun ] , [ ru_medium_tracked , ru_gun ] , [ ru_medium_tracked , ru_rocket_launcher ] , [ ru_heavy_tracked , ru_heavy_gun ] , [ ru_heavy_tracked , ru_heavy_gun ] , [ ru_heavy_tracked , ru_heavy_gun ] ] ;
4778: LD_ADDR_VAR 0 3
4782: PUSH
4783: LD_INT 22
4785: PUSH
4786: LD_INT 43
4788: PUSH
4789: EMPTY
4790: LIST
4791: LIST
4792: PUSH
4793: LD_INT 22
4795: PUSH
4796: LD_INT 43
4798: PUSH
4799: EMPTY
4800: LIST
4801: LIST
4802: PUSH
4803: LD_INT 22
4805: PUSH
4806: LD_INT 43
4808: PUSH
4809: EMPTY
4810: LIST
4811: LIST
4812: PUSH
4813: LD_INT 22
4815: PUSH
4816: LD_INT 45
4818: PUSH
4819: EMPTY
4820: LIST
4821: LIST
4822: PUSH
4823: LD_INT 22
4825: PUSH
4826: LD_INT 45
4828: PUSH
4829: EMPTY
4830: LIST
4831: LIST
4832: PUSH
4833: LD_INT 22
4835: PUSH
4836: LD_INT 45
4838: PUSH
4839: EMPTY
4840: LIST
4841: LIST
4842: PUSH
4843: LD_INT 22
4845: PUSH
4846: LD_INT 44
4848: PUSH
4849: EMPTY
4850: LIST
4851: LIST
4852: PUSH
4853: LD_INT 22
4855: PUSH
4856: LD_INT 44
4858: PUSH
4859: EMPTY
4860: LIST
4861: LIST
4862: PUSH
4863: LD_INT 22
4865: PUSH
4866: LD_INT 44
4868: PUSH
4869: EMPTY
4870: LIST
4871: LIST
4872: PUSH
4873: LD_INT 22
4875: PUSH
4876: LD_INT 44
4878: PUSH
4879: EMPTY
4880: LIST
4881: LIST
4882: PUSH
4883: LD_INT 22
4885: PUSH
4886: LD_INT 45
4888: PUSH
4889: EMPTY
4890: LIST
4891: LIST
4892: PUSH
4893: LD_INT 24
4895: PUSH
4896: LD_INT 46
4898: PUSH
4899: EMPTY
4900: LIST
4901: LIST
4902: PUSH
4903: LD_INT 24
4905: PUSH
4906: LD_INT 46
4908: PUSH
4909: EMPTY
4910: LIST
4911: LIST
4912: PUSH
4913: LD_INT 24
4915: PUSH
4916: LD_INT 46
4918: PUSH
4919: EMPTY
4920: LIST
4921: LIST
4922: PUSH
4923: EMPTY
4924: LIST
4925: LIST
4926: LIST
4927: LIST
4928: LIST
4929: LIST
4930: LIST
4931: LIST
4932: LIST
4933: LIST
4934: LIST
4935: LIST
4936: LIST
4937: LIST
4938: ST_TO_ADDR
// for tmp = 1 to 14 do
4939: LD_ADDR_VAR 0 2
4943: PUSH
4944: DOUBLE
4945: LD_INT 1
4947: DEC
4948: ST_TO_ADDR
4949: LD_INT 14
4951: PUSH
4952: FOR_TO
4953: IFFALSE 5069
// begin vc_weapon = tmp2 [ tmp ] [ 2 ] ;
4955: LD_ADDR_OWVAR 40
4959: PUSH
4960: LD_VAR 0 3
4964: PUSH
4965: LD_VAR 0 2
4969: ARRAY
4970: PUSH
4971: LD_INT 2
4973: ARRAY
4974: ST_TO_ADDR
// vc_chassis = tmp2 [ tmp ] [ 1 ] ;
4975: LD_ADDR_OWVAR 37
4979: PUSH
4980: LD_VAR 0 3
4984: PUSH
4985: LD_VAR 0 2
4989: ARRAY
4990: PUSH
4991: LD_INT 1
4993: ARRAY
4994: ST_TO_ADDR
// vehikly = vehikly ^ [ createvehicle ] ;
4995: LD_ADDR_LOC 11
4999: PUSH
5000: LD_LOC 11
5004: PUSH
5005: CALL_OW 45
5009: PUSH
5010: EMPTY
5011: LIST
5012: ADD
5013: ST_TO_ADDR
// placehumaninunit ( tmp3 [ tmp ] , vehikly [ tmp ] ) ;
5014: LD_VAR 0 4
5018: PUSH
5019: LD_VAR 0 2
5023: ARRAY
5024: PPUSH
5025: LD_LOC 11
5029: PUSH
5030: LD_VAR 0 2
5034: ARRAY
5035: PPUSH
5036: CALL_OW 52
// placeunitxyr ( vehikly [ tmp ] , 105 , 115 , 15 , false ) ;
5040: LD_LOC 11
5044: PUSH
5045: LD_VAR 0 2
5049: ARRAY
5050: PPUSH
5051: LD_INT 105
5053: PPUSH
5054: LD_INT 115
5056: PPUSH
5057: LD_INT 15
5059: PPUSH
5060: LD_INT 0
5062: PPUSH
5063: CALL_OW 50
// end ;
5067: GO 4952
5069: POP
5070: POP
// vehiklyo = vehikly [ 1 ] ^ vehikly [ 2 ] ^ vehikly [ 3 ] ^ vehikly [ 4 ] ^ vehikly [ 5 ] ^ vehikly [ 6 ] ^ vehikly [ 7 ] ;
5071: LD_ADDR_LOC 12
5075: PUSH
5076: LD_LOC 11
5080: PUSH
5081: LD_INT 1
5083: ARRAY
5084: PUSH
5085: LD_LOC 11
5089: PUSH
5090: LD_INT 2
5092: ARRAY
5093: ADD
5094: PUSH
5095: LD_LOC 11
5099: PUSH
5100: LD_INT 3
5102: ARRAY
5103: ADD
5104: PUSH
5105: LD_LOC 11
5109: PUSH
5110: LD_INT 4
5112: ARRAY
5113: ADD
5114: PUSH
5115: LD_LOC 11
5119: PUSH
5120: LD_INT 5
5122: ARRAY
5123: ADD
5124: PUSH
5125: LD_LOC 11
5129: PUSH
5130: LD_INT 6
5132: ARRAY
5133: ADD
5134: PUSH
5135: LD_LOC 11
5139: PUSH
5140: LD_INT 7
5142: ARRAY
5143: ADD
5144: ST_TO_ADDR
// vehiklys = vehikly [ 8 ] ^ vehikly [ 9 ] ^ vehikly [ 10 ] ^ vehikly [ 11 ] ^ vehikly [ 12 ] ^ vehikly [ 13 ] ^ vehikly [ 14 ] ;
5145: LD_ADDR_LOC 13
5149: PUSH
5150: LD_LOC 11
5154: PUSH
5155: LD_INT 8
5157: ARRAY
5158: PUSH
5159: LD_LOC 11
5163: PUSH
5164: LD_INT 9
5166: ARRAY
5167: ADD
5168: PUSH
5169: LD_LOC 11
5173: PUSH
5174: LD_INT 10
5176: ARRAY
5177: ADD
5178: PUSH
5179: LD_LOC 11
5183: PUSH
5184: LD_INT 11
5186: ARRAY
5187: ADD
5188: PUSH
5189: LD_LOC 11
5193: PUSH
5194: LD_INT 12
5196: ARRAY
5197: ADD
5198: PUSH
5199: LD_LOC 11
5203: PUSH
5204: LD_INT 13
5206: ARRAY
5207: ADD
5208: PUSH
5209: LD_LOC 11
5213: PUSH
5214: LD_INT 14
5216: ARRAY
5217: ADD
5218: ST_TO_ADDR
// tmp = game_speed ;
5219: LD_ADDR_VAR 0 2
5223: PUSH
5224: LD_OWVAR 65
5228: ST_TO_ADDR
// game_speed = 2 ;
5229: LD_ADDR_OWVAR 65
5233: PUSH
5234: LD_INT 2
5236: ST_TO_ADDR
// commovexy ( vehikly , 95 , 98 ) ;
5237: LD_LOC 11
5241: PPUSH
5242: LD_INT 95
5244: PPUSH
5245: LD_INT 98
5247: PPUSH
5248: CALL_OW 111
// ingameon ;
5252: CALL_OW 8
// wait ( 0 0$7 ) ;
5256: LD_INT 245
5258: PPUSH
5259: CALL_OW 67
// while not myisinarea ( vehikly , arrival , 95 , 98 ) do
5263: LD_LOC 11
5267: PPUSH
5268: LD_INT 4
5270: PPUSH
5271: LD_INT 95
5273: PPUSH
5274: LD_INT 98
5276: PPUSH
5277: CALL 2079 0 4
5281: NOT
5282: IFFALSE 5293
// wait ( 0 0$1 ) ;
5284: LD_INT 35
5286: PPUSH
5287: CALL_OW 67
5291: GO 5263
// vsevol_v = isinunit ( vsevol ) ;
5293: LD_ADDR_LOC 7
5297: PUSH
5298: LD_EXP 101
5302: PPUSH
5303: CALL_OW 310
5307: ST_TO_ADDR
// popov_v = isinunit ( popov ) ;
5308: LD_ADDR_LOC 8
5312: PUSH
5313: LD_EXP 102
5317: PPUSH
5318: CALL_OW 310
5322: ST_TO_ADDR
// gaydar_v = isinunit ( gaydar ) ;
5323: LD_ADDR_LOC 9
5327: PUSH
5328: LD_EXP 103
5332: PPUSH
5333: CALL_OW 310
5337: ST_TO_ADDR
// yashin_v = isinunit ( yashin ) ;
5338: LD_ADDR_LOC 10
5342: PUSH
5343: LD_EXP 104
5347: PPUSH
5348: CALL_OW 310
5352: ST_TO_ADDR
// comexitvehicle ( [ yashin , popov , gaydar , vsevol ] ) ;
5353: LD_EXP 104
5357: PUSH
5358: LD_EXP 102
5362: PUSH
5363: LD_EXP 103
5367: PUSH
5368: LD_EXP 101
5372: PUSH
5373: EMPTY
5374: LIST
5375: LIST
5376: LIST
5377: LIST
5378: PPUSH
5379: CALL_OW 121
// wait ( 0 0$0.5 ) ;
5383: LD_INT 18
5385: PPUSH
5386: CALL_OW 67
// game_speed = tmp ;
5390: LD_ADDR_OWVAR 65
5394: PUSH
5395: LD_VAR 0 2
5399: ST_TO_ADDR
// centernowonunits ( [ burlak , yashin ] ) ;
5400: LD_EXP 120
5404: PUSH
5405: LD_EXP 104
5409: PUSH
5410: EMPTY
5411: LIST
5412: LIST
5413: PPUSH
5414: CALL_OW 87
// comstop ( vehikly ) ;
5418: LD_LOC 11
5422: PPUSH
5423: CALL_OW 141
// say ( yashin , DBetaStart-Yas-1 ) ;
5427: LD_EXP 104
5431: PPUSH
5432: LD_STRING DBetaStart-Yas-1
5434: PPUSH
5435: CALL_OW 88
// if vs then
5439: LD_EXP 124
5443: IFFALSE 5459
// say ( yashin , DBetaStart-Yas-1a ) else
5445: LD_EXP 104
5449: PPUSH
5450: LD_STRING DBetaStart-Yas-1a
5452: PPUSH
5453: CALL_OW 88
5457: GO 5471
// say ( yashin , DBetaStart-Yas-1b ) ;
5459: LD_EXP 104
5463: PPUSH
5464: LD_STRING DBetaStart-Yas-1b
5466: PPUSH
5467: CALL_OW 88
// say ( yashin , DBetaStart-Yas-1c ) ;
5471: LD_EXP 104
5475: PPUSH
5476: LD_STRING DBetaStart-Yas-1c
5478: PPUSH
5479: CALL_OW 88
// sayeffect ( DBetaStart-All-1 ) ;
5483: LD_STRING DBetaStart-All-1
5485: PPUSH
5486: CALL_OW 96
// while not myisinarea ( [ vsevol , popov , gaydar ] , arrival , 95 , 98 ) do
5490: LD_EXP 101
5494: PUSH
5495: LD_EXP 102
5499: PUSH
5500: LD_EXP 103
5504: PUSH
5505: EMPTY
5506: LIST
5507: LIST
5508: LIST
5509: PPUSH
5510: LD_INT 4
5512: PPUSH
5513: LD_INT 95
5515: PPUSH
5516: LD_INT 98
5518: PPUSH
5519: CALL 2079 0 4
5523: NOT
5524: IFFALSE 5535
// wait ( 0 0$0.5 ) ;
5526: LD_INT 18
5528: PPUSH
5529: CALL_OW 67
5533: GO 5490
// DoNotAttack ( am , vsevol ) ;
5535: LD_EXP 3
5539: PPUSH
5540: LD_EXP 101
5544: PPUSH
5545: CALL_OW 471
// DoNotAttack ( am , popov ) ;
5549: LD_EXP 3
5553: PPUSH
5554: LD_EXP 102
5558: PPUSH
5559: CALL_OW 471
// DoNotAttack ( am , gaydar ) ;
5563: LD_EXP 3
5567: PPUSH
5568: LD_EXP 103
5572: PPUSH
5573: CALL_OW 471
// comremember ( [ vsevol , popov , gaydar ] ) ;
5577: LD_EXP 101
5581: PUSH
5582: LD_EXP 102
5586: PUSH
5587: LD_EXP 103
5591: PUSH
5592: EMPTY
5593: LIST
5594: LIST
5595: LIST
5596: PPUSH
5597: CALL_OW 143
// commovexy ( vsevol , 135 , 90 ) ;
5601: LD_EXP 101
5605: PPUSH
5606: LD_INT 135
5608: PPUSH
5609: LD_INT 90
5611: PPUSH
5612: CALL_OW 111
// addcommovexy ( vsevol , 130 , 66 ) ;
5616: LD_EXP 101
5620: PPUSH
5621: LD_INT 130
5623: PPUSH
5624: LD_INT 66
5626: PPUSH
5627: CALL_OW 171
// addcommovexy ( vsevol , 124 , 65 ) ;
5631: LD_EXP 101
5635: PPUSH
5636: LD_INT 124
5638: PPUSH
5639: LD_INT 65
5641: PPUSH
5642: CALL_OW 171
// addcomwait ( vsevol , 0 0$0.5 ) ;
5646: LD_EXP 101
5650: PPUSH
5651: LD_INT 18
5653: PPUSH
5654: CALL_OW 202
// addcommovexy ( vsevol , 131 , 73 ) ;
5658: LD_EXP 101
5662: PPUSH
5663: LD_INT 131
5665: PPUSH
5666: LD_INT 73
5668: PPUSH
5669: CALL_OW 171
// addcomwait ( vsevol , 2 2$15 ) ;
5673: LD_EXP 101
5677: PPUSH
5678: LD_INT 4725
5680: PPUSH
5681: CALL_OW 202
// addcomreturn ( vsevol ) ;
5685: LD_EXP 101
5689: PPUSH
5690: CALL_OW 204
// commovexy ( popov , 66 , 88 ) ;
5694: LD_EXP 102
5698: PPUSH
5699: LD_INT 66
5701: PPUSH
5702: LD_INT 88
5704: PPUSH
5705: CALL_OW 111
// addcommovexy ( popov , 44 , 62 ) ;
5709: LD_EXP 102
5713: PPUSH
5714: LD_INT 44
5716: PPUSH
5717: LD_INT 62
5719: PPUSH
5720: CALL_OW 171
// addcommovexy ( popov , 45 , 68 ) ;
5724: LD_EXP 102
5728: PPUSH
5729: LD_INT 45
5731: PPUSH
5732: LD_INT 68
5734: PPUSH
5735: CALL_OW 171
// addcomwait ( popov , 3 3$15 ) ;
5739: LD_EXP 102
5743: PPUSH
5744: LD_INT 6825
5746: PPUSH
5747: CALL_OW 202
// addcomreturn ( popov ) ;
5751: LD_EXP 102
5755: PPUSH
5756: CALL_OW 204
// commovexy ( gaydar , 83 , 72 ) ;
5760: LD_EXP 103
5764: PPUSH
5765: LD_INT 83
5767: PPUSH
5768: LD_INT 72
5770: PPUSH
5771: CALL_OW 111
// addcomreturn ( gaydar ) ;
5775: LD_EXP 103
5779: PPUSH
5780: CALL_OW 204
// wait ( 0 0$7 ) ;
5784: LD_INT 245
5786: PPUSH
5787: CALL_OW 67
// comstop ( vehikly ) ;
5791: LD_LOC 11
5795: PPUSH
5796: CALL_OW 141
// say ( yashin , DBetaStart-Yas-2 ) ;
5800: LD_EXP 104
5804: PPUSH
5805: LD_STRING DBetaStart-Yas-2
5807: PPUSH
5808: CALL_OW 88
// say ( yashin , DBetaStart-Yas-2a ) ;
5812: LD_EXP 104
5816: PPUSH
5817: LD_STRING DBetaStart-Yas-2a
5819: PPUSH
5820: CALL_OW 88
// say ( burlak , DBetaStart-Bur-2 ) ;
5824: LD_EXP 120
5828: PPUSH
5829: LD_STRING DBetaStart-Bur-2
5831: PPUSH
5832: CALL_OW 88
// ingameoff ;
5836: CALL_OW 9
// saveforquickrestart ;
5840: CALL_OW 22
// wait ( 11 ) ;
5844: LD_INT 11
5846: PPUSH
5847: CALL_OW 67
// changemissionobjectives ( MStart ) ;
5851: LD_STRING MStart
5853: PPUSH
5854: CALL_OW 337
// dontGoOutSideArea := true ;
5858: LD_ADDR_EXP 99
5862: PUSH
5863: LD_INT 1
5865: ST_TO_ADDR
// wait ( 0 0$17 ) ;
5866: LD_INT 595
5868: PPUSH
5869: CALL_OW 67
// enable ( 01 ) ;
5873: LD_INT 1
5875: ENABLE_MARKED
// end ;
5876: LD_VAR 0 1
5880: RET
// every 0 0$1 trigger dontGoOutSideArea do var tmp ;
5881: LD_EXP 99
5885: IFFALSE 5961
5887: GO 5889
5889: DISABLE
5890: LD_INT 0
5892: PPUSH
// begin enable ;
5893: ENABLE
// tmp := FilterUnitsExceptArea ( arrival , [ f_side , ru2 ] ) diff [ vsevol , gaydar , popov ] ;
5894: LD_ADDR_VAR 0 1
5898: PUSH
5899: LD_INT 4
5901: PPUSH
5902: LD_INT 22
5904: PUSH
5905: LD_EXP 2
5909: PUSH
5910: EMPTY
5911: LIST
5912: LIST
5913: PPUSH
5914: CALL_OW 71
5918: PUSH
5919: LD_EXP 101
5923: PUSH
5924: LD_EXP 103
5928: PUSH
5929: LD_EXP 102
5933: PUSH
5934: EMPTY
5935: LIST
5936: LIST
5937: LIST
5938: DIFF
5939: ST_TO_ADDR
// if not tmp then
5940: LD_VAR 0 1
5944: NOT
5945: IFFALSE 5949
// exit ;
5947: GO 5961
// ComMoveToArea ( tmp , arrival ) ;
5949: LD_VAR 0 1
5953: PPUSH
5954: LD_INT 4
5956: PPUSH
5957: CALL_OW 113
// end ;
5961: PPOPN 1
5963: END
// var basedone ; every 0 0$1 trigger isinarea ( vsevol , arrival ) and isinarea ( popov , arrival ) and isinarea ( gaydar , arrival ) marked 01 do
5964: LD_EXP 101
5968: PPUSH
5969: LD_INT 4
5971: PPUSH
5972: CALL_OW 308
5976: PUSH
5977: LD_EXP 102
5981: PPUSH
5982: LD_INT 4
5984: PPUSH
5985: CALL_OW 308
5989: AND
5990: PUSH
5991: LD_EXP 103
5995: PPUSH
5996: LD_INT 4
5998: PPUSH
5999: CALL_OW 308
6003: AND
6004: IFFALSE 6484
6006: GO 6008
6008: DISABLE
// begin NormalAttack ( am , vsevol ) ;
6009: LD_EXP 3
6013: PPUSH
6014: LD_EXP 101
6018: PPUSH
6019: CALL_OW 472
// NormalAttack ( am , popov ) ;
6023: LD_EXP 3
6027: PPUSH
6028: LD_EXP 102
6032: PPUSH
6033: CALL_OW 472
// NormalAttack ( am , gaydar ) ;
6037: LD_EXP 3
6041: PPUSH
6042: LD_EXP 103
6046: PPUSH
6047: CALL_OW 472
// centernowonunits ( [ yashin , popov , vsevol , gaydar ] ) ;
6051: LD_EXP 104
6055: PUSH
6056: LD_EXP 102
6060: PUSH
6061: LD_EXP 101
6065: PUSH
6066: LD_EXP 103
6070: PUSH
6071: EMPTY
6072: LIST
6073: LIST
6074: LIST
6075: LIST
6076: PPUSH
6077: CALL_OW 87
// dialogueon ;
6081: CALL_OW 6
// say ( yashin , DBetaAttack-Yas-1 ) ;
6085: LD_EXP 104
6089: PPUSH
6090: LD_STRING DBetaAttack-Yas-1
6092: PPUSH
6093: CALL_OW 88
// centernowonxy ( 123 , 64 ) ;
6097: LD_INT 123
6099: PPUSH
6100: LD_INT 64
6102: PPUSH
6103: CALL_OW 86
// say ( vsevol , DBetaAttack-Vse-1 ) ;
6107: LD_EXP 101
6111: PPUSH
6112: LD_STRING DBetaAttack-Vse-1
6114: PPUSH
6115: CALL_OW 88
// centernowonxy ( 48 , 62 ) ;
6119: LD_INT 48
6121: PPUSH
6122: LD_INT 62
6124: PPUSH
6125: CALL_OW 86
// say ( popov , DBetaAttack-Pop-1 ) ;
6129: LD_EXP 102
6133: PPUSH
6134: LD_STRING DBetaAttack-Pop-1
6136: PPUSH
6137: CALL_OW 88
// centernowonxy ( 83 , 72 ) ;
6141: LD_INT 83
6143: PPUSH
6144: LD_INT 72
6146: PPUSH
6147: CALL_OW 86
// say ( gaydar , DBetaAttack-Gay-1 ) ;
6151: LD_EXP 103
6155: PPUSH
6156: LD_STRING DBetaAttack-Gay-1
6158: PPUSH
6159: CALL_OW 88
// say ( yashin , DBetaAttack-Yas-2 ) ;
6163: LD_EXP 104
6167: PPUSH
6168: LD_STRING DBetaAttack-Yas-2
6170: PPUSH
6171: CALL_OW 88
// basedone = false ;
6175: LD_ADDR_LOC 14
6179: PUSH
6180: LD_INT 0
6182: ST_TO_ADDR
// if filterallunits ( [ [ f_side , ru ] , [ f_or , [ f_btype , b_oil_power ] , [ f_btype , b_siberite_power ] ] ] ) and filterallunits ( [ [ f_side , ru ] , [ f_btype , b_factory ] ] ) then
6183: LD_INT 22
6185: PUSH
6186: LD_EXP 1
6190: PUSH
6191: EMPTY
6192: LIST
6193: LIST
6194: PUSH
6195: LD_INT 2
6197: PUSH
6198: LD_INT 30
6200: PUSH
6201: LD_INT 26
6203: PUSH
6204: EMPTY
6205: LIST
6206: LIST
6207: PUSH
6208: LD_INT 30
6210: PUSH
6211: LD_INT 28
6213: PUSH
6214: EMPTY
6215: LIST
6216: LIST
6217: PUSH
6218: EMPTY
6219: LIST
6220: LIST
6221: LIST
6222: PUSH
6223: EMPTY
6224: LIST
6225: LIST
6226: PPUSH
6227: CALL_OW 69
6231: PUSH
6232: LD_INT 22
6234: PUSH
6235: LD_EXP 1
6239: PUSH
6240: EMPTY
6241: LIST
6242: LIST
6243: PUSH
6244: LD_INT 30
6246: PUSH
6247: LD_INT 3
6249: PUSH
6250: EMPTY
6251: LIST
6252: LIST
6253: PUSH
6254: EMPTY
6255: LIST
6256: LIST
6257: PPUSH
6258: CALL_OW 69
6262: AND
6263: IFFALSE 6321
// begin say ( burlak , DBetaAttack-Bur-2 ) ;
6265: LD_EXP 120
6269: PPUSH
6270: LD_STRING DBetaAttack-Bur-2
6272: PPUSH
6273: CALL_OW 88
// say ( yashin , DBetaAttack-Yas-3 ) ;
6277: LD_EXP 104
6281: PPUSH
6282: LD_STRING DBetaAttack-Yas-3
6284: PPUSH
6285: CALL_OW 88
// changemissionobjectives ( MStarta ) ;
6289: LD_STRING MStarta
6291: PPUSH
6292: CALL_OW 337
// changemissionobjectives ( MfastOut ) ;
6296: LD_STRING MfastOut
6298: PPUSH
6299: CALL_OW 337
// basedone = true ;
6303: LD_ADDR_LOC 14
6307: PUSH
6308: LD_INT 1
6310: ST_TO_ADDR
// rychlik = true ;
6311: LD_ADDR_EXP 98
6315: PUSH
6316: LD_INT 1
6318: ST_TO_ADDR
// end else
6319: GO 6352
// begin say ( burlak , DBetaAttack-Bur-3 ) ;
6321: LD_EXP 120
6325: PPUSH
6326: LD_STRING DBetaAttack-Bur-3
6328: PPUSH
6329: CALL_OW 88
// say ( yashin , DBetaAttack-Yas-4 ) ;
6333: LD_EXP 104
6337: PPUSH
6338: LD_STRING DBetaAttack-Yas-4
6340: PPUSH
6341: CALL_OW 88
// changemissionobjectives ( MFastDel ) ;
6345: LD_STRING MFastDel
6347: PPUSH
6348: CALL_OW 337
// end ; say ( burlak , DBetaAttack-Bur-4 ) ;
6352: LD_EXP 120
6356: PPUSH
6357: LD_STRING DBetaAttack-Bur-4
6359: PPUSH
6360: CALL_OW 88
// say ( yashin , DBetaAttack-Yas-5 ) ;
6364: LD_EXP 104
6368: PPUSH
6369: LD_STRING DBetaAttack-Yas-5
6371: PPUSH
6372: CALL_OW 88
// if filterallunits ( [ [ f_side , ru ] , [ f_or , [ f_btype , b_lab ] , [ f_btype , b_lab_half ] , [ f_btype , b_lab_full ] ] ] ) then
6376: LD_INT 22
6378: PUSH
6379: LD_EXP 1
6383: PUSH
6384: EMPTY
6385: LIST
6386: LIST
6387: PUSH
6388: LD_INT 2
6390: PUSH
6391: LD_INT 30
6393: PUSH
6394: LD_INT 6
6396: PUSH
6397: EMPTY
6398: LIST
6399: LIST
6400: PUSH
6401: LD_INT 30
6403: PUSH
6404: LD_INT 7
6406: PUSH
6407: EMPTY
6408: LIST
6409: LIST
6410: PUSH
6411: LD_INT 30
6413: PUSH
6414: LD_INT 8
6416: PUSH
6417: EMPTY
6418: LIST
6419: LIST
6420: PUSH
6421: EMPTY
6422: LIST
6423: LIST
6424: LIST
6425: LIST
6426: PUSH
6427: EMPTY
6428: LIST
6429: LIST
6430: PPUSH
6431: CALL_OW 69
6435: IFFALSE 6461
// begin say ( burlak , DBetaAttack-Bur-5 ) ;
6437: LD_EXP 120
6441: PPUSH
6442: LD_STRING DBetaAttack-Bur-5
6444: PPUSH
6445: CALL_OW 88
// say ( yashin , DBetaAttack-Yas-6 ) ;
6449: LD_EXP 104
6453: PPUSH
6454: LD_STRING DBetaAttack-Yas-6
6456: PPUSH
6457: CALL_OW 88
// end ; say ( burlak , DBetaAttack-Bur-6 ) ;
6461: LD_EXP 120
6465: PPUSH
6466: LD_STRING DBetaAttack-Bur-6
6468: PPUSH
6469: CALL_OW 88
// dialogueoff ;
6473: CALL_OW 7
// changemissionobjectives ( MBull ) ;
6477: LD_STRING MBull
6479: PPUSH
6480: CALL_OW 337
// end ;
6484: END
// var lesnik ; function jevlese ; begin
6485: LD_INT 0
6487: PPUSH
// lesnik = filterunitsinarea ( les , [ [ f_side , ru ] , [ f_ok ] ] ) ;
6488: LD_ADDR_LOC 15
6492: PUSH
6493: LD_INT 5
6495: PPUSH
6496: LD_INT 22
6498: PUSH
6499: LD_EXP 1
6503: PUSH
6504: EMPTY
6505: LIST
6506: LIST
6507: PUSH
6508: LD_INT 50
6510: PUSH
6511: EMPTY
6512: LIST
6513: PUSH
6514: EMPTY
6515: LIST
6516: LIST
6517: PPUSH
6518: CALL_OW 70
6522: ST_TO_ADDR
// result = 0 + lesnik ;
6523: LD_ADDR_VAR 0 1
6527: PUSH
6528: LD_INT 0
6530: PUSH
6531: LD_LOC 15
6535: PLUS
6536: ST_TO_ADDR
// end ;
6537: LD_VAR 0 1
6541: RET
// export lastsay ; every 0 0$1.1 trigger jevlese marked 06 do
6542: CALL 6485 0 0
6546: IFFALSE 6610
6548: GO 6550
6550: DISABLE
// begin enable ;
6551: ENABLE
// commovetoarea ( lesnik , targetarea ) ;
6552: LD_LOC 15
6556: PPUSH
6557: LD_INT 9
6559: PPUSH
6560: CALL_OW 113
// if ( tick - lastsay ) > ( 0 0$7 ) then
6564: LD_OWVAR 1
6568: PUSH
6569: LD_EXP 126
6573: MINUS
6574: PUSH
6575: LD_INT 245
6577: GREATER
6578: IFFALSE 6610
// begin dialogueon ;
6580: CALL_OW 6
// say ( yashin , DSpoil-Yas-1 ) ;
6584: LD_EXP 104
6588: PPUSH
6589: LD_STRING DSpoil-Yas-1
6591: PPUSH
6592: CALL_OW 88
// dialogueoff ;
6596: CALL_OW 7
// lastsay = tick ;
6600: LD_ADDR_EXP 126
6604: PUSH
6605: LD_OWVAR 1
6609: ST_TO_ADDR
// end ; end ;
6610: END
// var buldoz1 , buldoz2 ; function buldozery ; var buldoz ; begin
6611: LD_INT 0
6613: PPUSH
6614: PPUSH
// buldoz = filterallunits ( [ [ f_side , ru ] , [ f_weapon , ru_bulldozer ] ] ) ;
6615: LD_ADDR_VAR 0 2
6619: PUSH
6620: LD_INT 22
6622: PUSH
6623: LD_EXP 1
6627: PUSH
6628: EMPTY
6629: LIST
6630: LIST
6631: PUSH
6632: LD_INT 34
6634: PUSH
6635: LD_INT 53
6637: PUSH
6638: EMPTY
6639: LIST
6640: LIST
6641: PUSH
6642: EMPTY
6643: LIST
6644: LIST
6645: PPUSH
6646: CALL_OW 69
6650: ST_TO_ADDR
// result = 0 + buldoz ;
6651: LD_ADDR_VAR 0 1
6655: PUSH
6656: LD_INT 0
6658: PUSH
6659: LD_VAR 0 2
6663: PLUS
6664: ST_TO_ADDR
// if result > 1 then
6665: LD_VAR 0 1
6669: PUSH
6670: LD_INT 1
6672: GREATER
6673: IFFALSE 6703
// begin buldoz1 = buldoz [ 1 ] ;
6675: LD_ADDR_LOC 16
6679: PUSH
6680: LD_VAR 0 2
6684: PUSH
6685: LD_INT 1
6687: ARRAY
6688: ST_TO_ADDR
// buldoz2 = buldoz [ 2 ] ;
6689: LD_ADDR_LOC 17
6693: PUSH
6694: LD_VAR 0 2
6698: PUSH
6699: LD_INT 2
6701: ARRAY
6702: ST_TO_ADDR
// end ; end ;
6703: LD_VAR 0 1
6707: RET
// function jsou_zpatky ; var tmp ; begin
6708: LD_INT 0
6710: PPUSH
6711: PPUSH
// result = true ;
6712: LD_ADDR_VAR 0 1
6716: PUSH
6717: LD_INT 1
6719: ST_TO_ADDR
// for tmp in survivors do
6720: LD_ADDR_VAR 0 2
6724: PUSH
6725: LD_LOC 4
6729: PUSH
6730: FOR_IN
6731: IFFALSE 6785
// if IsPlaced ( tmp ) and not isinarea ( tmp , uketar ) and not isdead ( tmp ) then
6733: LD_VAR 0 2
6737: PPUSH
6738: CALL_OW 305
6742: PUSH
6743: LD_VAR 0 2
6747: PPUSH
6748: LD_INT 7
6750: PPUSH
6751: CALL_OW 308
6755: NOT
6756: AND
6757: PUSH
6758: LD_VAR 0 2
6762: PPUSH
6763: CALL_OW 301
6767: NOT
6768: AND
6769: IFFALSE 6783
// begin result = false ;
6771: LD_ADDR_VAR 0 1
6775: PUSH
6776: LD_INT 0
6778: ST_TO_ADDR
// exit ;
6779: POP
6780: POP
6781: GO 6787
// end ;
6783: GO 6730
6785: POP
6786: POP
// end ;
6787: LD_VAR 0 1
6791: RET
// var nenicit , poskoz ; every 0 0$0.3 marked 10 do var tmp ;
6792: GO 6794
6794: DISABLE
6795: LD_INT 0
6797: PPUSH
// begin if nenicit then
6798: LD_LOC 18
6802: IFFALSE 6805
// enable ;
6804: ENABLE
// for tmp in [ ambunk2 , ambunk3 , ambunk4 , ambunk5 , ambunk6 ] do
6805: LD_ADDR_VAR 0 1
6809: PUSH
6810: LD_INT 15
6812: PUSH
6813: LD_INT 14
6815: PUSH
6816: LD_INT 6
6818: PUSH
6819: LD_INT 7
6821: PUSH
6822: LD_INT 13
6824: PUSH
6825: EMPTY
6826: LIST
6827: LIST
6828: LIST
6829: LIST
6830: LIST
6831: PUSH
6832: FOR_IN
6833: IFFALSE 6947
// if getlives ( tmp ) <= 500 then
6835: LD_VAR 0 1
6839: PPUSH
6840: CALL_OW 256
6844: PUSH
6845: LD_INT 500
6847: LESSEQUAL
6848: IFFALSE 6885
// begin donotattack ( ru2 , tmp ) ;
6850: LD_EXP 2
6854: PPUSH
6855: LD_VAR 0 1
6859: PPUSH
6860: CALL_OW 471
// poskoz = poskoz union [ tmp ] ;
6864: LD_ADDR_LOC 19
6868: PUSH
6869: LD_LOC 19
6873: PUSH
6874: LD_VAR 0 1
6878: PUSH
6879: EMPTY
6880: LIST
6881: UNION
6882: ST_TO_ADDR
// end else
6883: GO 6945
// if ( getlives ( tmp ) > 800 ) and ( tmp in poskoz ) then
6885: LD_VAR 0 1
6889: PPUSH
6890: CALL_OW 256
6894: PUSH
6895: LD_INT 800
6897: GREATER
6898: PUSH
6899: LD_VAR 0 1
6903: PUSH
6904: LD_LOC 19
6908: IN
6909: AND
6910: IFFALSE 6945
// begin poskoz = poskoz diff [ tmp ] ;
6912: LD_ADDR_LOC 19
6916: PUSH
6917: LD_LOC 19
6921: PUSH
6922: LD_VAR 0 1
6926: PUSH
6927: EMPTY
6928: LIST
6929: DIFF
6930: ST_TO_ADDR
// normalattack ( ru2 , tmp ) ;
6931: LD_EXP 2
6935: PPUSH
6936: LD_VAR 0 1
6940: PPUSH
6941: CALL_OW 472
// end ;
6945: GO 6832
6947: POP
6948: POP
// end ;
6949: PPOPN 1
6951: END
// var devet , dva , center_o ; every 0 0$0.9 trigger buldozery >= 2 do var popin , gayin , tmp , tmp2 , tspeed , oldbl1 , oldbl2 ; var b1 , b2 ;
6952: CALL 6611 0 0
6956: PUSH
6957: LD_INT 2
6959: GREATEREQUAL
6960: IFFALSE 10004
6962: GO 6964
6964: DISABLE
6965: LD_INT 0
6967: PPUSH
6968: PPUSH
6969: PPUSH
6970: PPUSH
6971: PPUSH
6972: PPUSH
6973: PPUSH
6974: PPUSH
6975: PPUSH
// begin dontGoOutSideArea := false ;
6976: LD_ADDR_EXP 99
6980: PUSH
6981: LD_INT 0
6983: ST_TO_ADDR
// changemissionobjectives ( MReady ) ;
6984: LD_STRING MReady
6986: PPUSH
6987: CALL_OW 337
// if not basedone then
6991: LD_LOC 14
6995: NOT
6996: IFFALSE 7005
// changemissionobjectives ( MStarta ) ;
6998: LD_STRING MStarta
7000: PPUSH
7001: CALL_OW 337
// popin = false ;
7005: LD_ADDR_VAR 0 1
7009: PUSH
7010: LD_INT 0
7012: ST_TO_ADDR
// gayin = false ;
7013: LD_ADDR_VAR 0 2
7017: PUSH
7018: LD_INT 0
7020: ST_TO_ADDR
// setside ( [ buldoz1 , buldoz2 ] , ru2 ) ;
7021: LD_LOC 16
7025: PUSH
7026: LD_LOC 17
7030: PUSH
7031: EMPTY
7032: LIST
7033: LIST
7034: PPUSH
7035: LD_EXP 2
7039: PPUSH
7040: CALL_OW 235
// if getcontrol ( buldoz1 ) = control_manual then
7044: LD_LOC 16
7048: PPUSH
7049: CALL_OW 263
7053: PUSH
7054: LD_INT 1
7056: EQUAL
7057: IFFALSE 7097
// begin comexitvehicle ( buldoz1 ) ;
7059: LD_LOC 16
7063: PPUSH
7064: CALL_OW 121
// wait ( 0 0$1 ) ;
7068: LD_INT 35
7070: PPUSH
7071: CALL_OW 67
// comenterunit ( popov , buldoz1 ) ;
7075: LD_EXP 102
7079: PPUSH
7080: LD_LOC 16
7084: PPUSH
7085: CALL_OW 120
// popin = true ;
7089: LD_ADDR_VAR 0 1
7093: PUSH
7094: LD_INT 1
7096: ST_TO_ADDR
// end ; if getcontrol ( buldoz2 ) = control_manual then
7097: LD_LOC 17
7101: PPUSH
7102: CALL_OW 263
7106: PUSH
7107: LD_INT 1
7109: EQUAL
7110: IFFALSE 7150
// begin comexitvehicle ( buldoz2 ) ;
7112: LD_LOC 17
7116: PPUSH
7117: CALL_OW 121
// wait ( 0 0$1 ) ;
7121: LD_INT 35
7123: PPUSH
7124: CALL_OW 67
// comenterunit ( gaydar , buldoz2 ) ;
7128: LD_EXP 103
7132: PPUSH
7133: LD_LOC 17
7137: PPUSH
7138: CALL_OW 120
// gayin = true ;
7142: LD_ADDR_VAR 0 2
7146: PUSH
7147: LD_INT 1
7149: ST_TO_ADDR
// end ; if popin then
7150: LD_VAR 0 1
7154: IFFALSE 7211
// while not isinunit ( popov ) do
7156: LD_EXP 102
7160: PPUSH
7161: CALL_OW 310
7165: NOT
7166: IFFALSE 7211
// begin if isdrivenby ( buldoz1 ) then
7168: LD_LOC 16
7172: PPUSH
7173: CALL_OW 311
7177: IFFALSE 7188
// comexitvehicle ( buldoz1 ) ;
7179: LD_LOC 16
7183: PPUSH
7184: CALL_OW 121
// wait ( 0 0$0.3 ) ;
7188: LD_INT 10
7190: PPUSH
7191: CALL_OW 67
// comenterunit ( popov , buldoz1 ) ;
7195: LD_EXP 102
7199: PPUSH
7200: LD_LOC 16
7204: PPUSH
7205: CALL_OW 120
// end ;
7209: GO 7156
// if gayin then
7211: LD_VAR 0 2
7215: IFFALSE 7272
// while not isinunit ( gaydar ) do
7217: LD_EXP 103
7221: PPUSH
7222: CALL_OW 310
7226: NOT
7227: IFFALSE 7272
// begin if isdrivenby ( buldoz2 ) then
7229: LD_LOC 17
7233: PPUSH
7234: CALL_OW 311
7238: IFFALSE 7249
// comexitvehicle ( buldoz2 ) ;
7240: LD_LOC 17
7244: PPUSH
7245: CALL_OW 121
// wait ( 0 0$0.3 ) ;
7249: LD_INT 10
7251: PPUSH
7252: CALL_OW 67
// comenterunit ( gaydar , buldoz2 ) ;
7256: LD_EXP 103
7260: PPUSH
7261: LD_LOC 17
7265: PPUSH
7266: CALL_OW 120
// end ;
7270: GO 7217
// setattitude ( ru2 , am , att_neutral , true ) ;
7272: LD_EXP 2
7276: PPUSH
7277: LD_EXP 3
7281: PPUSH
7282: LD_INT 0
7284: PPUSH
7285: LD_INT 1
7287: PPUSH
7288: CALL_OW 80
// centernowonunits ( [ buldoz1 , buldoz2 ] ) ;
7292: LD_LOC 16
7296: PUSH
7297: LD_LOC 17
7301: PUSH
7302: EMPTY
7303: LIST
7304: LIST
7305: PPUSH
7306: CALL_OW 87
// center_buld = true ;
7310: LD_ADDR_LOC 23
7314: PUSH
7315: LD_INT 1
7317: ST_TO_ADDR
// enable ( 05 ) ;
7318: LD_INT 5
7320: ENABLE_MARKED
// comfree ( filterallunits ( [ [ f_side , ru2 ] , [ f_type , unit_vehicle ] ] ) ) ;
7321: LD_INT 22
7323: PUSH
7324: LD_EXP 2
7328: PUSH
7329: EMPTY
7330: LIST
7331: LIST
7332: PUSH
7333: LD_INT 21
7335: PUSH
7336: LD_INT 2
7338: PUSH
7339: EMPTY
7340: LIST
7341: LIST
7342: PUSH
7343: EMPTY
7344: LIST
7345: LIST
7346: PPUSH
7347: CALL_OW 69
7351: PPUSH
7352: CALL_OW 139
// ingame_video = true ;
7356: LD_ADDR_OWVAR 52
7360: PUSH
7361: LD_INT 1
7363: ST_TO_ADDR
// interface_hidden = true ;
7364: LD_ADDR_OWVAR 54
7368: PUSH
7369: LD_INT 1
7371: ST_TO_ADDR
// disable ( 06 ) ;
7372: LD_INT 6
7374: DISABLE_MARKED
// commovexy ( buldoz1 , 87 , 86 ) ;
7375: LD_LOC 16
7379: PPUSH
7380: LD_INT 87
7382: PPUSH
7383: LD_INT 86
7385: PPUSH
7386: CALL_OW 111
// commovexy ( buldoz2 , 91 , 85 ) ;
7390: LD_LOC 17
7394: PPUSH
7395: LD_INT 91
7397: PPUSH
7398: LD_INT 85
7400: PPUSH
7401: CALL_OW 111
// commovexy ( buldoz2 , 91 , 84 ) ;
7405: LD_LOC 17
7409: PPUSH
7410: LD_INT 91
7412: PPUSH
7413: LD_INT 84
7415: PPUSH
7416: CALL_OW 111
// addcommovexy ( buldoz1 , 85 , 82 ) ;
7420: LD_LOC 16
7424: PPUSH
7425: LD_INT 85
7427: PPUSH
7428: LD_INT 82
7430: PPUSH
7431: CALL_OW 171
// addcommovexy ( buldoz2 , 89 , 81 ) ;
7435: LD_LOC 17
7439: PPUSH
7440: LD_INT 89
7442: PPUSH
7443: LD_INT 81
7445: PPUSH
7446: CALL_OW 171
// addcommovexy ( buldoz2 , 88 , 81 ) ;
7450: LD_LOC 17
7454: PPUSH
7455: LD_INT 88
7457: PPUSH
7458: LD_INT 81
7460: PPUSH
7461: CALL_OW 171
// addcommovexy ( buldoz1 , 83 , 78 ) ;
7465: LD_LOC 16
7469: PPUSH
7470: LD_INT 83
7472: PPUSH
7473: LD_INT 78
7475: PPUSH
7476: CALL_OW 171
// addcommovexy ( buldoz1 , 82 , 77 ) ;
7480: LD_LOC 16
7484: PPUSH
7485: LD_INT 82
7487: PPUSH
7488: LD_INT 77
7490: PPUSH
7491: CALL_OW 171
// addcommovexy ( buldoz1 , 82 , 76 ) ;
7495: LD_LOC 16
7499: PPUSH
7500: LD_INT 82
7502: PPUSH
7503: LD_INT 76
7505: PPUSH
7506: CALL_OW 171
// addcommovexy ( buldoz2 , 87 , 79 ) ;
7510: LD_LOC 17
7514: PPUSH
7515: LD_INT 87
7517: PPUSH
7518: LD_INT 79
7520: PPUSH
7521: CALL_OW 171
// addcommovexy ( buldoz1 , 81 , 74 ) ;
7525: LD_LOC 16
7529: PPUSH
7530: LD_INT 81
7532: PPUSH
7533: LD_INT 74
7535: PPUSH
7536: CALL_OW 171
// addcommovexy ( buldoz2 , 85 , 74 ) ;
7540: LD_LOC 17
7544: PPUSH
7545: LD_INT 85
7547: PPUSH
7548: LD_INT 74
7550: PPUSH
7551: CALL_OW 171
// addcommovexy ( buldoz1 , 79 , 69 ) ;
7555: LD_LOC 16
7559: PPUSH
7560: LD_INT 79
7562: PPUSH
7563: LD_INT 69
7565: PPUSH
7566: CALL_OW 171
// addcommovexy ( buldoz1 , 78 , 68 ) ;
7570: LD_LOC 16
7574: PPUSH
7575: LD_INT 78
7577: PPUSH
7578: LD_INT 68
7580: PPUSH
7581: CALL_OW 171
// addcommovexy ( buldoz1 , 79 , 67 ) ;
7585: LD_LOC 16
7589: PPUSH
7590: LD_INT 79
7592: PPUSH
7593: LD_INT 67
7595: PPUSH
7596: CALL_OW 171
// addcommovexy ( buldoz1 , 78 , 66 ) ;
7600: LD_LOC 16
7604: PPUSH
7605: LD_INT 78
7607: PPUSH
7608: LD_INT 66
7610: PPUSH
7611: CALL_OW 171
// addcommovexy ( buldoz2 , 83 , 70 ) ;
7615: LD_LOC 17
7619: PPUSH
7620: LD_INT 83
7622: PPUSH
7623: LD_INT 70
7625: PPUSH
7626: CALL_OW 171
// addcommovexy ( buldoz2 , 81 , 69 ) ;
7630: LD_LOC 17
7634: PPUSH
7635: LD_INT 81
7637: PPUSH
7638: LD_INT 69
7640: PPUSH
7641: CALL_OW 171
// addcommovexy ( buldoz2 , 80 , 66 ) ;
7645: LD_LOC 17
7649: PPUSH
7650: LD_INT 80
7652: PPUSH
7653: LD_INT 66
7655: PPUSH
7656: CALL_OW 171
// addcommovexy ( buldoz1 , 76 , 71 ) ;
7660: LD_LOC 16
7664: PPUSH
7665: LD_INT 76
7667: PPUSH
7668: LD_INT 71
7670: PPUSH
7671: CALL_OW 171
// addcommovexy ( buldoz2 , 86 , 71 ) ;
7675: LD_LOC 17
7679: PPUSH
7680: LD_INT 86
7682: PPUSH
7683: LD_INT 71
7685: PPUSH
7686: CALL_OW 171
// addcommovexy ( buldoz1 , 78 , 75 ) ;
7690: LD_LOC 16
7694: PPUSH
7695: LD_INT 78
7697: PPUSH
7698: LD_INT 75
7700: PPUSH
7701: CALL_OW 171
// addcommovexy ( buldoz2 , 88 , 73 ) ;
7705: LD_LOC 17
7709: PPUSH
7710: LD_INT 88
7712: PPUSH
7713: LD_INT 73
7715: PPUSH
7716: CALL_OW 171
// addcommovexy ( buldoz2 , 89 , 75 ) ;
7720: LD_LOC 17
7724: PPUSH
7725: LD_INT 89
7727: PPUSH
7728: LD_INT 75
7730: PPUSH
7731: CALL_OW 171
// addcommovexy ( buldoz1 , 80 , 78 ) ;
7735: LD_LOC 16
7739: PPUSH
7740: LD_INT 80
7742: PPUSH
7743: LD_INT 78
7745: PPUSH
7746: CALL_OW 171
// addcommovexy ( buldoz2 , 90 , 78 ) ;
7750: LD_LOC 17
7754: PPUSH
7755: LD_INT 90
7757: PPUSH
7758: LD_INT 78
7760: PPUSH
7761: CALL_OW 171
// addcommovexy ( buldoz1 , 81 , 81 ) ;
7765: LD_LOC 16
7769: PPUSH
7770: LD_INT 81
7772: PPUSH
7773: LD_INT 81
7775: PPUSH
7776: CALL_OW 171
// addcommovexy ( buldoz1 , 82 , 83 ) ;
7780: LD_LOC 16
7784: PPUSH
7785: LD_INT 82
7787: PPUSH
7788: LD_INT 83
7790: PPUSH
7791: CALL_OW 171
// addcommovexy ( buldoz1 , 83 , 84 ) ;
7795: LD_LOC 16
7799: PPUSH
7800: LD_INT 83
7802: PPUSH
7803: LD_INT 84
7805: PPUSH
7806: CALL_OW 171
// addcommovexy ( buldoz2 , 93 , 82 ) ;
7810: LD_LOC 17
7814: PPUSH
7815: LD_INT 93
7817: PPUSH
7818: LD_INT 82
7820: PPUSH
7821: CALL_OW 171
// addcommovexy ( buldoz1 , 81 , 84 ) ;
7825: LD_LOC 16
7829: PPUSH
7830: LD_INT 81
7832: PPUSH
7833: LD_INT 84
7835: PPUSH
7836: CALL_OW 171
// addcommovexy ( buldoz1 , 81 , 85 ) ;
7840: LD_LOC 16
7844: PPUSH
7845: LD_INT 81
7847: PPUSH
7848: LD_INT 85
7850: PPUSH
7851: CALL_OW 171
// addcommovexy ( buldoz2 , 95 , 85 ) ;
7855: LD_LOC 17
7859: PPUSH
7860: LD_INT 95
7862: PPUSH
7863: LD_INT 85
7865: PPUSH
7866: CALL_OW 171
// addcommovexy ( buldoz1 , 81 , 89 ) ;
7870: LD_LOC 16
7874: PPUSH
7875: LD_INT 81
7877: PPUSH
7878: LD_INT 89
7880: PPUSH
7881: CALL_OW 171
// addcommovexy ( buldoz2 , 104 , 89 ) ;
7885: LD_LOC 17
7889: PPUSH
7890: LD_INT 104
7892: PPUSH
7893: LD_INT 89
7895: PPUSH
7896: CALL_OW 171
// wait ( 0 0$1 ) ;
7900: LD_INT 35
7902: PPUSH
7903: CALL_OW 67
// b1 = false ;
7907: LD_ADDR_VAR 0 8
7911: PUSH
7912: LD_INT 0
7914: ST_TO_ADDR
// b2 = false ;
7915: LD_ADDR_VAR 0 9
7919: PUSH
7920: LD_INT 0
7922: ST_TO_ADDR
// while not ( b1 and b2 ) do
7923: LD_VAR 0 8
7927: PUSH
7928: LD_VAR 0 9
7932: AND
7933: NOT
7934: IFFALSE 8233
// begin if not b1 and not HasTask ( buldoz1 ) then
7936: LD_VAR 0 8
7940: NOT
7941: PUSH
7942: LD_LOC 16
7946: PPUSH
7947: CALL_OW 314
7951: NOT
7952: AND
7953: IFFALSE 8046
// begin if FreeHex ( 83 , 91 ) then
7955: LD_INT 83
7957: PPUSH
7958: LD_INT 91
7960: PPUSH
7961: CALL 10007 0 2
7965: IFFALSE 8009
// begin if not IsInArea ( buldoz1 , bulcile ) then
7967: LD_LOC 16
7971: PPUSH
7972: LD_INT 10
7974: PPUSH
7975: CALL_OW 308
7979: NOT
7980: IFFALSE 7999
// ComMoveXY ( buldoz1 , 83 , 91 ) else
7982: LD_LOC 16
7986: PPUSH
7987: LD_INT 83
7989: PPUSH
7990: LD_INT 91
7992: PPUSH
7993: CALL_OW 111
7997: GO 8007
// b1 = true ;
7999: LD_ADDR_VAR 0 8
8003: PUSH
8004: LD_INT 1
8006: ST_TO_ADDR
// end else
8007: GO 8046
// if GetY ( buldoz1 ) < 100 then
8009: LD_LOC 16
8013: PPUSH
8014: CALL_OW 251
8018: PUSH
8019: LD_INT 100
8021: LESS
8022: IFFALSE 8038
// ComMoveToArea ( buldoz1 , south_area ) else
8024: LD_LOC 16
8028: PPUSH
8029: LD_INT 11
8031: PPUSH
8032: CALL_OW 113
8036: GO 8046
// b1 = true ;
8038: LD_ADDR_VAR 0 8
8042: PUSH
8043: LD_INT 1
8045: ST_TO_ADDR
// end ; if not b2 and not HasTask ( buldoz2 ) then
8046: LD_VAR 0 9
8050: NOT
8051: PUSH
8052: LD_LOC 17
8056: PPUSH
8057: CALL_OW 314
8061: NOT
8062: AND
8063: IFFALSE 8156
// begin if FreeHex ( 106 , 91 ) then
8065: LD_INT 106
8067: PPUSH
8068: LD_INT 91
8070: PPUSH
8071: CALL 10007 0 2
8075: IFFALSE 8119
// begin if not IsInArea ( buldoz2 , bulcile ) then
8077: LD_LOC 17
8081: PPUSH
8082: LD_INT 10
8084: PPUSH
8085: CALL_OW 308
8089: NOT
8090: IFFALSE 8109
// ComMoveXY ( buldoz2 , 106 , 91 ) else
8092: LD_LOC 17
8096: PPUSH
8097: LD_INT 106
8099: PPUSH
8100: LD_INT 91
8102: PPUSH
8103: CALL_OW 111
8107: GO 8117
// b2 = true ;
8109: LD_ADDR_VAR 0 9
8113: PUSH
8114: LD_INT 1
8116: ST_TO_ADDR
// end else
8117: GO 8156
// if GetY ( buldoz2 ) < 100 then
8119: LD_LOC 17
8123: PPUSH
8124: CALL_OW 251
8128: PUSH
8129: LD_INT 100
8131: LESS
8132: IFFALSE 8148
// ComMoveToArea ( buldoz2 , south_area ) else
8134: LD_LOC 17
8138: PPUSH
8139: LD_INT 11
8141: PPUSH
8142: CALL_OW 113
8146: GO 8156
// b2 = true ;
8148: LD_ADDR_VAR 0 9
8152: PUSH
8153: LD_INT 1
8155: ST_TO_ADDR
// end ; for tmp in [ buldoz1 , buldoz2 ] do
8156: LD_ADDR_VAR 0 3
8160: PUSH
8161: LD_LOC 16
8165: PUSH
8166: LD_LOC 17
8170: PUSH
8171: EMPTY
8172: LIST
8173: LIST
8174: PUSH
8175: FOR_IN
8176: IFFALSE 8222
// if GetEngine ( tmp ) = engine_combustion and GetFuel ( tmp ) < 10 then
8178: LD_VAR 0 3
8182: PPUSH
8183: CALL_OW 262
8187: PUSH
8188: LD_INT 1
8190: EQUAL
8191: PUSH
8192: LD_VAR 0 3
8196: PPUSH
8197: CALL_OW 261
8201: PUSH
8202: LD_INT 10
8204: LESS
8205: AND
8206: IFFALSE 8220
// SetFuel ( tmp , 10 ) ;
8208: LD_VAR 0 3
8212: PPUSH
8213: LD_INT 10
8215: PPUSH
8216: CALL_OW 240
8220: GO 8175
8222: POP
8223: POP
// wait ( 0 0$1 ) ;
8224: LD_INT 35
8226: PPUSH
8227: CALL_OW 67
// end ;
8231: GO 7923
// disable ( 05 ) ;
8233: LD_INT 5
8235: DISABLE_MARKED
// center_buld = false ;
8236: LD_ADDR_LOC 23
8240: PUSH
8241: LD_INT 0
8243: ST_TO_ADDR
// center_o = true ;
8244: LD_ADDR_LOC 22
8248: PUSH
8249: LD_INT 1
8251: ST_TO_ADDR
// enable ( 08 ) ;
8252: LD_INT 8
8254: ENABLE_MARKED
// setattitude ( ru2 , am , att_enemy , true ) ;
8255: LD_EXP 2
8259: PPUSH
8260: LD_EXP 3
8264: PPUSH
8265: LD_INT 2
8267: PPUSH
8268: LD_INT 1
8270: PPUSH
8271: CALL_OW 80
// if popin then
8275: LD_VAR 0 1
8279: IFFALSE 8290
// comexitvehicle ( popov ) ;
8281: LD_EXP 102
8285: PPUSH
8286: CALL_OW 121
// if gayin then
8290: LD_VAR 0 2
8294: IFFALSE 8305
// comexitvehicle ( gaydar ) ;
8296: LD_EXP 103
8300: PPUSH
8301: CALL_OW 121
// while ( popin and isinunit ( popov ) ) or ( gayin and isinunit ( gaydar ) ) do
8305: LD_VAR 0 1
8309: PUSH
8310: LD_EXP 102
8314: PPUSH
8315: CALL_OW 310
8319: AND
8320: PUSH
8321: LD_VAR 0 2
8325: PUSH
8326: LD_EXP 103
8330: PPUSH
8331: CALL_OW 310
8335: AND
8336: OR
8337: IFFALSE 8348
// wait ( 0 0$0.5 ) ;
8339: LD_INT 18
8341: PPUSH
8342: CALL_OW 67
8346: GO 8305
// comenterunit ( vsevol , vsevol_v ) ;
8348: LD_EXP 101
8352: PPUSH
8353: LD_LOC 7
8357: PPUSH
8358: CALL_OW 120
// comenterunit ( popov , popov_v ) ;
8362: LD_EXP 102
8366: PPUSH
8367: LD_LOC 8
8371: PPUSH
8372: CALL_OW 120
// comenterunit ( gaydar , gaydar_v ) ;
8376: LD_EXP 103
8380: PPUSH
8381: LD_LOC 9
8385: PPUSH
8386: CALL_OW 120
// comenterunit ( yashin , yashin_v ) ;
8390: LD_EXP 104
8394: PPUSH
8395: LD_LOC 10
8399: PPUSH
8400: CALL_OW 120
// while not isinunit ( vsevol ) or not isinunit ( popov ) or not isinunit ( gaydar ) or not isinunit ( yashin ) do
8404: LD_EXP 101
8408: PPUSH
8409: CALL_OW 310
8413: NOT
8414: PUSH
8415: LD_EXP 102
8419: PPUSH
8420: CALL_OW 310
8424: NOT
8425: OR
8426: PUSH
8427: LD_EXP 103
8431: PPUSH
8432: CALL_OW 310
8436: NOT
8437: OR
8438: PUSH
8439: LD_EXP 104
8443: PPUSH
8444: CALL_OW 310
8448: NOT
8449: OR
8450: IFFALSE 8685
// begin wait ( 0 0$0.3 ) ;
8452: LD_INT 10
8454: PPUSH
8455: CALL_OW 67
// tmp = isinunit ( vsevol_v ) ;
8459: LD_ADDR_VAR 0 3
8463: PUSH
8464: LD_LOC 7
8468: PPUSH
8469: CALL_OW 310
8473: ST_TO_ADDR
// if tmp and tmp <> vsevol then
8474: LD_VAR 0 3
8478: PUSH
8479: LD_VAR 0 3
8483: PUSH
8484: LD_EXP 101
8488: NONEQUAL
8489: AND
8490: IFFALSE 8515
// begin comexitvehicle ( vsevol_v ) ;
8492: LD_LOC 7
8496: PPUSH
8497: CALL_OW 121
// comenterunit ( vsevol , vsevol_v ) ;
8501: LD_EXP 101
8505: PPUSH
8506: LD_LOC 7
8510: PPUSH
8511: CALL_OW 120
// end ; tmp = isinunit ( popov_v ) ;
8515: LD_ADDR_VAR 0 3
8519: PUSH
8520: LD_LOC 8
8524: PPUSH
8525: CALL_OW 310
8529: ST_TO_ADDR
// if tmp and tmp <> popov then
8530: LD_VAR 0 3
8534: PUSH
8535: LD_VAR 0 3
8539: PUSH
8540: LD_EXP 102
8544: NONEQUAL
8545: AND
8546: IFFALSE 8571
// begin comexitvehicle ( popov_v ) ;
8548: LD_LOC 8
8552: PPUSH
8553: CALL_OW 121
// comenterunit ( popov , popov_v ) ;
8557: LD_EXP 102
8561: PPUSH
8562: LD_LOC 8
8566: PPUSH
8567: CALL_OW 120
// end ; tmp = isinunit ( gaydar_v ) ;
8571: LD_ADDR_VAR 0 3
8575: PUSH
8576: LD_LOC 9
8580: PPUSH
8581: CALL_OW 310
8585: ST_TO_ADDR
// if tmp and tmp <> gaydar then
8586: LD_VAR 0 3
8590: PUSH
8591: LD_VAR 0 3
8595: PUSH
8596: LD_EXP 103
8600: NONEQUAL
8601: AND
8602: IFFALSE 8627
// begin comexitvehicle ( gaydar_v ) ;
8604: LD_LOC 9
8608: PPUSH
8609: CALL_OW 121
// comenterunit ( gaydar , gaydar_v ) ;
8613: LD_EXP 103
8617: PPUSH
8618: LD_LOC 9
8622: PPUSH
8623: CALL_OW 120
// end ; tmp = isinunit ( yashin_v ) ;
8627: LD_ADDR_VAR 0 3
8631: PUSH
8632: LD_LOC 10
8636: PPUSH
8637: CALL_OW 310
8641: ST_TO_ADDR
// if tmp and tmp <> yashin then
8642: LD_VAR 0 3
8646: PUSH
8647: LD_VAR 0 3
8651: PUSH
8652: LD_EXP 104
8656: NONEQUAL
8657: AND
8658: IFFALSE 8683
// begin comexitvehicle ( yashin_v ) ;
8660: LD_LOC 10
8664: PPUSH
8665: CALL_OW 121
// comenterunit ( yashin , yashin_v ) ;
8669: LD_EXP 104
8673: PPUSH
8674: LD_LOC 10
8678: PPUSH
8679: CALL_OW 120
// end ; end ;
8683: GO 8404
// for tmp in survivors do
8685: LD_ADDR_VAR 0 3
8689: PUSH
8690: LD_LOC 4
8694: PUSH
8695: FOR_IN
8696: IFFALSE 8714
// donotattack ( am , tmp ) ;
8698: LD_EXP 3
8702: PPUSH
8703: LD_VAR 0 3
8707: PPUSH
8708: CALL_OW 471
8712: GO 8695
8714: POP
8715: POP
// tspeed = game_speed ;
8716: LD_ADDR_VAR 0 5
8720: PUSH
8721: LD_OWVAR 65
8725: ST_TO_ADDR
// game_speed = 2 ;
8726: LD_ADDR_OWVAR 65
8730: PUSH
8731: LD_INT 2
8733: ST_TO_ADDR
// nesahat = false ;
8734: LD_ADDR_EXP 127
8738: PUSH
8739: LD_INT 0
8741: ST_TO_ADDR
// donotattack ( ru2 , ame1 ) ;
8742: LD_EXP 2
8746: PPUSH
8747: LD_EXP 85
8751: PPUSH
8752: CALL_OW 471
// donotattack ( ru2 , ame2 ) ;
8756: LD_EXP 2
8760: PPUSH
8761: LD_EXP 87
8765: PPUSH
8766: CALL_OW 471
// oldbl1 = getblevel ( ambunk3 ) ;
8770: LD_ADDR_VAR 0 6
8774: PUSH
8775: LD_INT 14
8777: PPUSH
8778: CALL_OW 267
8782: ST_TO_ADDR
// oldbl2 = getblevel ( ambunk5 ) ;
8783: LD_ADDR_VAR 0 7
8787: PUSH
8788: LD_INT 7
8790: PPUSH
8791: CALL_OW 267
8795: ST_TO_ADDR
// setblevel ( [ ambunk3 , ambunk5 ] , 10 ) ;
8796: LD_INT 14
8798: PUSH
8799: LD_INT 7
8801: PUSH
8802: EMPTY
8803: LIST
8804: LIST
8805: PPUSH
8806: LD_INT 10
8808: PPUSH
8809: CALL_OW 241
// nenicit = true ;
8813: LD_ADDR_LOC 18
8817: PUSH
8818: LD_INT 1
8820: ST_TO_ADDR
// poskoz = [ ] ;
8821: LD_ADDR_LOC 19
8825: PUSH
8826: EMPTY
8827: ST_TO_ADDR
// enable ( 10 ) ;
8828: LD_INT 10
8830: ENABLE_MARKED
// commovexy ( vehiklyo , 73 , 49 ) ;
8831: LD_LOC 12
8835: PPUSH
8836: LD_INT 73
8838: PPUSH
8839: LD_INT 49
8841: PPUSH
8842: CALL_OW 111
// wait ( 0 0$9 ) ;
8846: LD_INT 315
8848: PPUSH
8849: CALL_OW 67
// comagressivemove ( vehiklys , 74 , 54 ) ;
8853: LD_LOC 13
8857: PPUSH
8858: LD_INT 74
8860: PPUSH
8861: LD_INT 54
8863: PPUSH
8864: CALL_OW 114
// tmp2 = [ 1 , 2 , 3 , 4 ] ;
8868: LD_ADDR_VAR 0 4
8872: PUSH
8873: LD_INT 1
8875: PUSH
8876: LD_INT 2
8878: PUSH
8879: LD_INT 3
8881: PUSH
8882: LD_INT 4
8884: PUSH
8885: EMPTY
8886: LIST
8887: LIST
8888: LIST
8889: LIST
8890: ST_TO_ADDR
// tmp = rand ( 1 , 4 ) ;
8891: LD_ADDR_VAR 0 3
8895: PUSH
8896: LD_INT 1
8898: PPUSH
8899: LD_INT 4
8901: PPUSH
8902: CALL_OW 12
8906: ST_TO_ADDR
// tmp2 = tmp2 diff [ tmp ] ;
8907: LD_ADDR_VAR 0 4
8911: PUSH
8912: LD_VAR 0 4
8916: PUSH
8917: LD_VAR 0 3
8921: PUSH
8922: EMPTY
8923: LIST
8924: DIFF
8925: ST_TO_ADDR
// case tmp of 1 :
8926: LD_VAR 0 3
8930: PUSH
8931: LD_INT 1
8933: DOUBLE
8934: EQUAL
8935: IFTRUE 8939
8937: GO 8954
8939: POP
// say ( vsevol , DDeath-Vse-1 ) ; 2 :
8940: LD_EXP 101
8944: PPUSH
8945: LD_STRING DDeath-Vse-1
8947: PPUSH
8948: CALL_OW 88
8952: GO 9024
8954: LD_INT 2
8956: DOUBLE
8957: EQUAL
8958: IFTRUE 8962
8960: GO 8977
8962: POP
// say ( yashin , DDeath-Yas-1 ) ; 3 :
8963: LD_EXP 104
8967: PPUSH
8968: LD_STRING DDeath-Yas-1
8970: PPUSH
8971: CALL_OW 88
8975: GO 9024
8977: LD_INT 3
8979: DOUBLE
8980: EQUAL
8981: IFTRUE 8985
8983: GO 9000
8985: POP
// say ( popov , DDeath-Pop-1 ) ; 4 :
8986: LD_EXP 102
8990: PPUSH
8991: LD_STRING DDeath-Pop-1
8993: PPUSH
8994: CALL_OW 88
8998: GO 9024
9000: LD_INT 4
9002: DOUBLE
9003: EQUAL
9004: IFTRUE 9008
9006: GO 9023
9008: POP
// say ( gaydar , DDeath-Gay-1 ) ; end ;
9009: LD_EXP 103
9013: PPUSH
9014: LD_STRING DDeath-Gay-1
9016: PPUSH
9017: CALL_OW 88
9021: GO 9024
9023: POP
// tmp = rand ( 1 , 3 ) ;
9024: LD_ADDR_VAR 0 3
9028: PUSH
9029: LD_INT 1
9031: PPUSH
9032: LD_INT 3
9034: PPUSH
9035: CALL_OW 12
9039: ST_TO_ADDR
// case tmp2 [ tmp ] of 1 :
9040: LD_VAR 0 4
9044: PUSH
9045: LD_VAR 0 3
9049: ARRAY
9050: PUSH
9051: LD_INT 1
9053: DOUBLE
9054: EQUAL
9055: IFTRUE 9059
9057: GO 9074
9059: POP
// say ( vsevol , DDeath-Vse-1 ) ; 2 :
9060: LD_EXP 101
9064: PPUSH
9065: LD_STRING DDeath-Vse-1
9067: PPUSH
9068: CALL_OW 88
9072: GO 9144
9074: LD_INT 2
9076: DOUBLE
9077: EQUAL
9078: IFTRUE 9082
9080: GO 9097
9082: POP
// say ( yashin , DDeath-Yas-1 ) ; 3 :
9083: LD_EXP 104
9087: PPUSH
9088: LD_STRING DDeath-Yas-1
9090: PPUSH
9091: CALL_OW 88
9095: GO 9144
9097: LD_INT 3
9099: DOUBLE
9100: EQUAL
9101: IFTRUE 9105
9103: GO 9120
9105: POP
// say ( popov , DDeath-Pop-1 ) ; 4 :
9106: LD_EXP 102
9110: PPUSH
9111: LD_STRING DDeath-Pop-1
9113: PPUSH
9114: CALL_OW 88
9118: GO 9144
9120: LD_INT 4
9122: DOUBLE
9123: EQUAL
9124: IFTRUE 9128
9126: GO 9143
9128: POP
// say ( gaydar , DDeath-Gay-1 ) ; end ;
9129: LD_EXP 103
9133: PPUSH
9134: LD_STRING DDeath-Gay-1
9136: PPUSH
9137: CALL_OW 88
9141: GO 9144
9143: POP
// zdrhaci = [ ] ;
9144: LD_ADDR_LOC 24
9148: PUSH
9149: EMPTY
9150: ST_TO_ADDR
// dva = true ;
9151: LD_ADDR_LOC 21
9155: PUSH
9156: LD_INT 1
9158: ST_TO_ADDR
// enable ( 02 ) ;
9159: LD_INT 2
9161: ENABLE_MARKED
// while filterunitsinarea ( attckar , [ [ f_side , ru2 ] ] ) < 1 do
9162: LD_INT 8
9164: PPUSH
9165: LD_INT 22
9167: PUSH
9168: LD_EXP 2
9172: PUSH
9173: EMPTY
9174: LIST
9175: LIST
9176: PUSH
9177: EMPTY
9178: LIST
9179: PPUSH
9180: CALL_OW 70
9184: PUSH
9185: LD_INT 1
9187: LESS
9188: IFFALSE 9199
// wait ( 0 0$0.3 ) ;
9190: LD_INT 10
9192: PPUSH
9193: CALL_OW 67
9197: GO 9162
// disable ( 08 ) ;
9199: LD_INT 8
9201: DISABLE_MARKED
// center_o = false ;
9202: LD_ADDR_LOC 22
9206: PUSH
9207: LD_INT 0
9209: ST_TO_ADDR
// centeronxy ( 74 , 51 ) ;
9210: LD_INT 74
9212: PPUSH
9213: LD_INT 51
9215: PPUSH
9216: CALL_OW 84
// while filterunitsinarea ( attckar , [ [ f_side , ru2 ] ] ) < 2 do
9220: LD_INT 8
9222: PPUSH
9223: LD_INT 22
9225: PUSH
9226: LD_EXP 2
9230: PUSH
9231: EMPTY
9232: LIST
9233: LIST
9234: PUSH
9235: EMPTY
9236: LIST
9237: PPUSH
9238: CALL_OW 70
9242: PUSH
9243: LD_INT 2
9245: LESS
9246: IFFALSE 9257
// wait ( 0 0$0.3 ) ;
9248: LD_INT 10
9250: PPUSH
9251: CALL_OW 67
9255: GO 9220
// tmp2 = [ 1 , 2 , 3 , 4 ] ;
9257: LD_ADDR_VAR 0 4
9261: PUSH
9262: LD_INT 1
9264: PUSH
9265: LD_INT 2
9267: PUSH
9268: LD_INT 3
9270: PUSH
9271: LD_INT 4
9273: PUSH
9274: EMPTY
9275: LIST
9276: LIST
9277: LIST
9278: LIST
9279: ST_TO_ADDR
// tmp = rand ( 1 , 4 ) ;
9280: LD_ADDR_VAR 0 3
9284: PUSH
9285: LD_INT 1
9287: PPUSH
9288: LD_INT 4
9290: PPUSH
9291: CALL_OW 12
9295: ST_TO_ADDR
// tmp2 = tmp2 diff [ tmp ] ;
9296: LD_ADDR_VAR 0 4
9300: PUSH
9301: LD_VAR 0 4
9305: PUSH
9306: LD_VAR 0 3
9310: PUSH
9311: EMPTY
9312: LIST
9313: DIFF
9314: ST_TO_ADDR
// case tmp of 1 :
9315: LD_VAR 0 3
9319: PUSH
9320: LD_INT 1
9322: DOUBLE
9323: EQUAL
9324: IFTRUE 9328
9326: GO 9343
9328: POP
// say ( vsevol , DDeath-Vse-2 ) ; 2 :
9329: LD_EXP 101
9333: PPUSH
9334: LD_STRING DDeath-Vse-2
9336: PPUSH
9337: CALL_OW 88
9341: GO 9413
9343: LD_INT 2
9345: DOUBLE
9346: EQUAL
9347: IFTRUE 9351
9349: GO 9366
9351: POP
// say ( yashin , DDeath-Yas-2 ) ; 3 :
9352: LD_EXP 104
9356: PPUSH
9357: LD_STRING DDeath-Yas-2
9359: PPUSH
9360: CALL_OW 88
9364: GO 9413
9366: LD_INT 3
9368: DOUBLE
9369: EQUAL
9370: IFTRUE 9374
9372: GO 9389
9374: POP
// say ( popov , DDeath-Pop-2 ) ; 4 :
9375: LD_EXP 102
9379: PPUSH
9380: LD_STRING DDeath-Pop-2
9382: PPUSH
9383: CALL_OW 88
9387: GO 9413
9389: LD_INT 4
9391: DOUBLE
9392: EQUAL
9393: IFTRUE 9397
9395: GO 9412
9397: POP
// say ( gaydar , DDeath-Gay-2 ) ; end ;
9398: LD_EXP 103
9402: PPUSH
9403: LD_STRING DDeath-Gay-2
9405: PPUSH
9406: CALL_OW 88
9410: GO 9413
9412: POP
// tmp = rand ( 1 , 3 ) ;
9413: LD_ADDR_VAR 0 3
9417: PUSH
9418: LD_INT 1
9420: PPUSH
9421: LD_INT 3
9423: PPUSH
9424: CALL_OW 12
9428: ST_TO_ADDR
// case tmp2 [ tmp ] of 1 :
9429: LD_VAR 0 4
9433: PUSH
9434: LD_VAR 0 3
9438: ARRAY
9439: PUSH
9440: LD_INT 1
9442: DOUBLE
9443: EQUAL
9444: IFTRUE 9448
9446: GO 9463
9448: POP
// say ( vsevol , DDeath-Vse-2 ) ; 2 :
9449: LD_EXP 101
9453: PPUSH
9454: LD_STRING DDeath-Vse-2
9456: PPUSH
9457: CALL_OW 88
9461: GO 9533
9463: LD_INT 2
9465: DOUBLE
9466: EQUAL
9467: IFTRUE 9471
9469: GO 9486
9471: POP
// say ( yashin , DDeath-Yas-2 ) ; 3 :
9472: LD_EXP 104
9476: PPUSH
9477: LD_STRING DDeath-Yas-2
9479: PPUSH
9480: CALL_OW 88
9484: GO 9533
9486: LD_INT 3
9488: DOUBLE
9489: EQUAL
9490: IFTRUE 9494
9492: GO 9509
9494: POP
// say ( popov , DDeath-Pop-2 ) ; 4 :
9495: LD_EXP 102
9499: PPUSH
9500: LD_STRING DDeath-Pop-2
9502: PPUSH
9503: CALL_OW 88
9507: GO 9533
9509: LD_INT 4
9511: DOUBLE
9512: EQUAL
9513: IFTRUE 9517
9515: GO 9532
9517: POP
// say ( gaydar , DDeath-Gay-2 ) ; end ;
9518: LD_EXP 103
9522: PPUSH
9523: LD_STRING DDeath-Gay-2
9525: PPUSH
9526: CALL_OW 88
9530: GO 9533
9532: POP
// while not jsou_zpatky do
9533: CALL 6708 0 0
9537: NOT
9538: IFFALSE 9549
// wait ( 0 0$0.5 ) ;
9540: LD_INT 18
9542: PPUSH
9543: CALL_OW 67
9547: GO 9533
// nenicit = false ;
9549: LD_ADDR_LOC 18
9553: PUSH
9554: LD_INT 0
9556: ST_TO_ADDR
// disable ( 10 ) ;
9557: LD_INT 10
9559: DISABLE_MARKED
// disable ( 02 ) ;
9560: LD_INT 2
9562: DISABLE_MARKED
// dva = false ;
9563: LD_ADDR_LOC 21
9567: PUSH
9568: LD_INT 0
9570: ST_TO_ADDR
// disable ( 09 ) ;
9571: LD_INT 9
9573: DISABLE_MARKED
// devet = false ;
9574: LD_ADDR_LOC 20
9578: PUSH
9579: LD_INT 0
9581: ST_TO_ADDR
// setblevel ( [ ambunk3 ] , oldbl1 ) ;
9582: LD_INT 14
9584: PUSH
9585: EMPTY
9586: LIST
9587: PPUSH
9588: LD_VAR 0 6
9592: PPUSH
9593: CALL_OW 241
// setblevel ( [ ambunk5 ] , oldbl2 ) ;
9597: LD_INT 7
9599: PUSH
9600: EMPTY
9601: LIST
9602: PPUSH
9603: LD_VAR 0 7
9607: PPUSH
9608: CALL_OW 241
// game_speed = tspeed ;
9612: LD_ADDR_OWVAR 65
9616: PUSH
9617: LD_VAR 0 5
9621: ST_TO_ADDR
// centernowonxy ( 94 , 98 ) ;
9622: LD_INT 94
9624: PPUSH
9625: LD_INT 98
9627: PPUSH
9628: CALL_OW 86
// for tmp in survivors do
9632: LD_ADDR_VAR 0 3
9636: PUSH
9637: LD_LOC 4
9641: PUSH
9642: FOR_IN
9643: IFFALSE 9680
// if isinunit ( tmp ) then
9645: LD_VAR 0 3
9649: PPUSH
9650: CALL_OW 310
9654: IFFALSE 9678
// setside ( [ isinunit ( tmp ) ] , ru ) ;
9656: LD_VAR 0 3
9660: PPUSH
9661: CALL_OW 310
9665: PUSH
9666: EMPTY
9667: LIST
9668: PPUSH
9669: LD_EXP 1
9673: PPUSH
9674: CALL_OW 235
9678: GO 9642
9680: POP
9681: POP
// setside ( survivors , ru ) ;
9682: LD_LOC 4
9686: PPUSH
9687: LD_EXP 1
9691: PPUSH
9692: CALL_OW 235
// setside ( [ buldoz1 , buldoz2 ] , ru ) ;
9696: LD_LOC 16
9700: PUSH
9701: LD_LOC 17
9705: PUSH
9706: EMPTY
9707: LIST
9708: LIST
9709: PPUSH
9710: LD_EXP 1
9714: PPUSH
9715: CALL_OW 235
// for tmp in survivors do
9719: LD_ADDR_VAR 0 3
9723: PUSH
9724: LD_LOC 4
9728: PUSH
9729: FOR_IN
9730: IFFALSE 9748
// normalattack ( am , tmp ) ;
9732: LD_EXP 3
9736: PPUSH
9737: LD_VAR 0 3
9741: PPUSH
9742: CALL_OW 472
9746: GO 9729
9748: POP
9749: POP
// ingame_video = false ;
9750: LD_ADDR_OWVAR 52
9754: PUSH
9755: LD_INT 0
9757: ST_TO_ADDR
// interface_hidden = false ;
9758: LD_ADDR_OWVAR 54
9762: PUSH
9763: LD_INT 0
9765: ST_TO_ADDR
// dialogueon ;
9766: CALL_OW 6
// say ( burlak , DAftermath-Bur-1 ) ;
9770: LD_EXP 120
9774: PPUSH
9775: LD_STRING DAftermath-Bur-1
9777: PPUSH
9778: CALL_OW 88
// if isok ( titov ) then
9782: LD_EXP 105
9786: PPUSH
9787: CALL_OW 302
9791: IFFALSE 9805
// say ( titov , DAftermath-Tit-1 ) ;
9793: LD_EXP 105
9797: PPUSH
9798: LD_STRING DAftermath-Tit-1
9800: PPUSH
9801: CALL_OW 88
// if isok ( belkov ) then
9805: LD_EXP 106
9809: PPUSH
9810: CALL_OW 302
9814: IFFALSE 9828
// say ( belkov , DAftermath-Bel-1 ) ;
9816: LD_EXP 106
9820: PPUSH
9821: LD_STRING DAftermath-Bel-1
9823: PPUSH
9824: CALL_OW 88
// if isok ( kuzmov ) then
9828: LD_EXP 107
9832: PPUSH
9833: CALL_OW 302
9837: IFFALSE 9851
// say ( kuzmov , DAftermath-Kuz-1 ) ;
9839: LD_EXP 107
9843: PPUSH
9844: LD_STRING DAftermath-Kuz-1
9846: PPUSH
9847: CALL_OW 88
// if isok ( gnyevko ) then
9851: LD_EXP 108
9855: PPUSH
9856: CALL_OW 302
9860: IFFALSE 9874
// say ( gnyevko , DAftermath-Gny-1 ) ;
9862: LD_EXP 108
9866: PPUSH
9867: LD_STRING DAftermath-Gny-1
9869: PPUSH
9870: CALL_OW 88
// if isok ( belkov ) then
9874: LD_EXP 106
9878: PPUSH
9879: CALL_OW 302
9883: IFFALSE 9897
// say ( belkov , DAftermath-Bel-2 ) ;
9885: LD_EXP 106
9889: PPUSH
9890: LD_STRING DAftermath-Bel-2
9892: PPUSH
9893: CALL_OW 88
// if isok ( kozlov ) then
9897: LD_EXP 109
9901: PPUSH
9902: CALL_OW 302
9906: IFFALSE 9920
// say ( kozlov , DAftermath-Koz-2 ) ;
9908: LD_EXP 109
9912: PPUSH
9913: LD_STRING DAftermath-Koz-2
9915: PPUSH
9916: CALL_OW 88
// say ( furmanov , DAftermath-Fur-2 ) ;
9920: LD_EXP 110
9924: PPUSH
9925: LD_STRING DAftermath-Fur-2
9927: PPUSH
9928: CALL_OW 88
// say ( burlak , DAftermath-Bur-2 ) ;
9932: LD_EXP 120
9936: PPUSH
9937: LD_STRING DAftermath-Bur-2
9939: PPUSH
9940: CALL_OW 88
// say ( furmanov , DAftermath-Fur-3 ) ;
9944: LD_EXP 110
9948: PPUSH
9949: LD_STRING DAftermath-Fur-3
9951: PPUSH
9952: CALL_OW 88
// say ( burlak , DAftermath-Bur-3 ) ;
9956: LD_EXP 120
9960: PPUSH
9961: LD_STRING DAftermath-Bur-3
9963: PPUSH
9964: CALL_OW 88
// say ( burlak , DAftermath-Bur-3a ) ;
9968: LD_EXP 120
9972: PPUSH
9973: LD_STRING DAftermath-Bur-3a
9975: PPUSH
9976: CALL_OW 88
// dialogueoff ;
9980: CALL_OW 7
// changemissionobjectives ( MDest ) ;
9984: LD_STRING MDest
9986: PPUSH
9987: CALL_OW 337
// wait ( 0 0$15 ) ;
9991: LD_INT 525
9993: PPUSH
9994: CALL_OW 67
// enable ( 03 ) ;
9998: LD_INT 3
10000: ENABLE_MARKED
// disable ( 07 ) ;
10001: LD_INT 7
10003: DISABLE_MARKED
// end ;
10004: PPOPN 9
10006: END
// function FreeHex ( x , y ) ; var un ; begin
10007: LD_INT 0
10009: PPUSH
10010: PPUSH
// un = HexInfo ( x , y ) ;
10011: LD_ADDR_VAR 0 4
10015: PUSH
10016: LD_VAR 0 1
10020: PPUSH
10021: LD_VAR 0 2
10025: PPUSH
10026: CALL_OW 428
10030: ST_TO_ADDR
// if un = 0 then
10031: LD_VAR 0 4
10035: PUSH
10036: LD_INT 0
10038: EQUAL
10039: IFFALSE 10051
// begin result = true ;
10041: LD_ADDR_VAR 0 3
10045: PUSH
10046: LD_INT 1
10048: ST_TO_ADDR
// exit ;
10049: GO 10180
// end ; if un = - 1 then
10051: LD_VAR 0 4
10055: PUSH
10056: LD_INT 1
10058: NEG
10059: EQUAL
10060: IFFALSE 10072
// begin result = false ;
10062: LD_ADDR_VAR 0 3
10066: PUSH
10067: LD_INT 0
10069: ST_TO_ADDR
// exit ;
10070: GO 10180
// end ; if GetType ( un ) = unit_building or ( GetType ( un ) = unit_vehicle and ( ( GetControl ( un ) = control_manual and IsDrivenBy ( un ) = 0 ) or ( GetControl ( un ) = control_remote and IsControledBy ( un ) = 0 ) ) ) then
10072: LD_VAR 0 4
10076: PPUSH
10077: CALL_OW 247
10081: PUSH
10082: LD_INT 3
10084: EQUAL
10085: PUSH
10086: LD_VAR 0 4
10090: PPUSH
10091: CALL_OW 247
10095: PUSH
10096: LD_INT 2
10098: EQUAL
10099: PUSH
10100: LD_VAR 0 4
10104: PPUSH
10105: CALL_OW 263
10109: PUSH
10110: LD_INT 1
10112: EQUAL
10113: PUSH
10114: LD_VAR 0 4
10118: PPUSH
10119: CALL_OW 311
10123: PUSH
10124: LD_INT 0
10126: EQUAL
10127: AND
10128: PUSH
10129: LD_VAR 0 4
10133: PPUSH
10134: CALL_OW 263
10138: PUSH
10139: LD_INT 2
10141: EQUAL
10142: PUSH
10143: LD_VAR 0 4
10147: PPUSH
10148: CALL_OW 312
10152: PUSH
10153: LD_INT 0
10155: EQUAL
10156: AND
10157: OR
10158: AND
10159: OR
10160: IFFALSE 10172
// result = false else
10162: LD_ADDR_VAR 0 3
10166: PUSH
10167: LD_INT 0
10169: ST_TO_ADDR
10170: GO 10180
// result = true ;
10172: LD_ADDR_VAR 0 3
10176: PUSH
10177: LD_INT 1
10179: ST_TO_ADDR
// end ;
10180: LD_VAR 0 3
10184: RET
// on vehiclecaptured ( new , old , origside , by ) marked 07 do var tmp ;
10185: LD_INT 0
10187: PPUSH
// case old of vsevol_v :
10188: LD_VAR 0 2
10192: PUSH
10193: LD_LOC 7
10197: DOUBLE
10198: EQUAL
10199: IFTRUE 10203
10201: GO 10381
10203: POP
// begin comexitvehicle ( new ) ;
10204: LD_VAR 0 1
10208: PPUSH
10209: CALL_OW 121
// setside ( new , ru2 ) ;
10213: LD_VAR 0 1
10217: PPUSH
10218: LD_EXP 2
10222: PPUSH
10223: CALL_OW 235
// for tmp = 1 to 0 + vehikly do
10227: LD_ADDR_VAR 0 5
10231: PUSH
10232: DOUBLE
10233: LD_INT 1
10235: DEC
10236: ST_TO_ADDR
10237: LD_INT 0
10239: PUSH
10240: LD_LOC 11
10244: PLUS
10245: PUSH
10246: FOR_TO
10247: IFFALSE 10271
// if vehikly [ tmp ] = vsevol_v then
10249: LD_LOC 11
10253: PUSH
10254: LD_VAR 0 5
10258: ARRAY
10259: PUSH
10260: LD_LOC 7
10264: EQUAL
10265: IFFALSE 10269
// break ;
10267: GO 10271
10269: GO 10246
10271: POP
10272: POP
// vehikly = replace ( vehikly , tmp , new ) ;
10273: LD_ADDR_LOC 11
10277: PUSH
10278: LD_LOC 11
10282: PPUSH
10283: LD_VAR 0 5
10287: PPUSH
10288: LD_VAR 0 1
10292: PPUSH
10293: CALL_OW 1
10297: ST_TO_ADDR
// for tmp = 1 to 0 + vehiklyo do
10298: LD_ADDR_VAR 0 5
10302: PUSH
10303: DOUBLE
10304: LD_INT 1
10306: DEC
10307: ST_TO_ADDR
10308: LD_INT 0
10310: PUSH
10311: LD_LOC 12
10315: PLUS
10316: PUSH
10317: FOR_TO
10318: IFFALSE 10342
// if vehiklyo [ tmp ] = vsevol_v then
10320: LD_LOC 12
10324: PUSH
10325: LD_VAR 0 5
10329: ARRAY
10330: PUSH
10331: LD_LOC 7
10335: EQUAL
10336: IFFALSE 10340
// break ;
10338: GO 10342
10340: GO 10317
10342: POP
10343: POP
// vehiklyo = replace ( vehiklyo , tmp , new ) ;
10344: LD_ADDR_LOC 12
10348: PUSH
10349: LD_LOC 12
10353: PPUSH
10354: LD_VAR 0 5
10358: PPUSH
10359: LD_VAR 0 1
10363: PPUSH
10364: CALL_OW 1
10368: ST_TO_ADDR
// vsevol_v = new ;
10369: LD_ADDR_LOC 7
10373: PUSH
10374: LD_VAR 0 1
10378: ST_TO_ADDR
// end ; yashin_v :
10379: GO 10992
10381: LD_LOC 10
10385: DOUBLE
10386: EQUAL
10387: IFTRUE 10391
10389: GO 10569
10391: POP
// begin comexitvehicle ( new ) ;
10392: LD_VAR 0 1
10396: PPUSH
10397: CALL_OW 121
// setside ( new , ru2 ) ;
10401: LD_VAR 0 1
10405: PPUSH
10406: LD_EXP 2
10410: PPUSH
10411: CALL_OW 235
// for tmp = 1 to 0 + vehikly do
10415: LD_ADDR_VAR 0 5
10419: PUSH
10420: DOUBLE
10421: LD_INT 1
10423: DEC
10424: ST_TO_ADDR
10425: LD_INT 0
10427: PUSH
10428: LD_LOC 11
10432: PLUS
10433: PUSH
10434: FOR_TO
10435: IFFALSE 10459
// if vehikly [ tmp ] = yashin_v then
10437: LD_LOC 11
10441: PUSH
10442: LD_VAR 0 5
10446: ARRAY
10447: PUSH
10448: LD_LOC 10
10452: EQUAL
10453: IFFALSE 10457
// break ;
10455: GO 10459
10457: GO 10434
10459: POP
10460: POP
// vehikly = replace ( vehikly , tmp , new ) ;
10461: LD_ADDR_LOC 11
10465: PUSH
10466: LD_LOC 11
10470: PPUSH
10471: LD_VAR 0 5
10475: PPUSH
10476: LD_VAR 0 1
10480: PPUSH
10481: CALL_OW 1
10485: ST_TO_ADDR
// for tmp = 1 to 0 + vehiklyo do
10486: LD_ADDR_VAR 0 5
10490: PUSH
10491: DOUBLE
10492: LD_INT 1
10494: DEC
10495: ST_TO_ADDR
10496: LD_INT 0
10498: PUSH
10499: LD_LOC 12
10503: PLUS
10504: PUSH
10505: FOR_TO
10506: IFFALSE 10530
// if vehiklyo [ tmp ] = yashin_v then
10508: LD_LOC 12
10512: PUSH
10513: LD_VAR 0 5
10517: ARRAY
10518: PUSH
10519: LD_LOC 10
10523: EQUAL
10524: IFFALSE 10528
// break ;
10526: GO 10530
10528: GO 10505
10530: POP
10531: POP
// vehiklyo = replace ( vehiklyo , tmp , new ) ;
10532: LD_ADDR_LOC 12
10536: PUSH
10537: LD_LOC 12
10541: PPUSH
10542: LD_VAR 0 5
10546: PPUSH
10547: LD_VAR 0 1
10551: PPUSH
10552: CALL_OW 1
10556: ST_TO_ADDR
// yashin_v = new ;
10557: LD_ADDR_LOC 10
10561: PUSH
10562: LD_VAR 0 1
10566: ST_TO_ADDR
// end ; popov_v :
10567: GO 10992
10569: LD_LOC 8
10573: DOUBLE
10574: EQUAL
10575: IFTRUE 10579
10577: GO 10757
10579: POP
// begin comexitvehicle ( new ) ;
10580: LD_VAR 0 1
10584: PPUSH
10585: CALL_OW 121
// setside ( new , ru2 ) ;
10589: LD_VAR 0 1
10593: PPUSH
10594: LD_EXP 2
10598: PPUSH
10599: CALL_OW 235
// for tmp = 1 to 0 + vehikly do
10603: LD_ADDR_VAR 0 5
10607: PUSH
10608: DOUBLE
10609: LD_INT 1
10611: DEC
10612: ST_TO_ADDR
10613: LD_INT 0
10615: PUSH
10616: LD_LOC 11
10620: PLUS
10621: PUSH
10622: FOR_TO
10623: IFFALSE 10647
// if vehikly [ tmp ] = popov_v then
10625: LD_LOC 11
10629: PUSH
10630: LD_VAR 0 5
10634: ARRAY
10635: PUSH
10636: LD_LOC 8
10640: EQUAL
10641: IFFALSE 10645
// break ;
10643: GO 10647
10645: GO 10622
10647: POP
10648: POP
// vehikly = replace ( vehikly , tmp , new ) ;
10649: LD_ADDR_LOC 11
10653: PUSH
10654: LD_LOC 11
10658: PPUSH
10659: LD_VAR 0 5
10663: PPUSH
10664: LD_VAR 0 1
10668: PPUSH
10669: CALL_OW 1
10673: ST_TO_ADDR
// for tmp = 1 to 0 + vehiklyo do
10674: LD_ADDR_VAR 0 5
10678: PUSH
10679: DOUBLE
10680: LD_INT 1
10682: DEC
10683: ST_TO_ADDR
10684: LD_INT 0
10686: PUSH
10687: LD_LOC 12
10691: PLUS
10692: PUSH
10693: FOR_TO
10694: IFFALSE 10718
// if vehiklyo [ tmp ] = popov_v then
10696: LD_LOC 12
10700: PUSH
10701: LD_VAR 0 5
10705: ARRAY
10706: PUSH
10707: LD_LOC 8
10711: EQUAL
10712: IFFALSE 10716
// break ;
10714: GO 10718
10716: GO 10693
10718: POP
10719: POP
// vehiklyo = replace ( vehiklyo , tmp , new ) ;
10720: LD_ADDR_LOC 12
10724: PUSH
10725: LD_LOC 12
10729: PPUSH
10730: LD_VAR 0 5
10734: PPUSH
10735: LD_VAR 0 1
10739: PPUSH
10740: CALL_OW 1
10744: ST_TO_ADDR
// popov_v = new ;
10745: LD_ADDR_LOC 8
10749: PUSH
10750: LD_VAR 0 1
10754: ST_TO_ADDR
// end ; gaydar_v :
10755: GO 10992
10757: LD_LOC 9
10761: DOUBLE
10762: EQUAL
10763: IFTRUE 10767
10765: GO 10945
10767: POP
// begin comexitvehicle ( new ) ;
10768: LD_VAR 0 1
10772: PPUSH
10773: CALL_OW 121
// setside ( new , ru2 ) ;
10777: LD_VAR 0 1
10781: PPUSH
10782: LD_EXP 2
10786: PPUSH
10787: CALL_OW 235
// for tmp = 1 to 0 + vehikly do
10791: LD_ADDR_VAR 0 5
10795: PUSH
10796: DOUBLE
10797: LD_INT 1
10799: DEC
10800: ST_TO_ADDR
10801: LD_INT 0
10803: PUSH
10804: LD_LOC 11
10808: PLUS
10809: PUSH
10810: FOR_TO
10811: IFFALSE 10835
// if vehikly [ tmp ] = gaydar_v then
10813: LD_LOC 11
10817: PUSH
10818: LD_VAR 0 5
10822: ARRAY
10823: PUSH
10824: LD_LOC 9
10828: EQUAL
10829: IFFALSE 10833
// break ;
10831: GO 10835
10833: GO 10810
10835: POP
10836: POP
// vehikly = replace ( vehikly , tmp , new ) ;
10837: LD_ADDR_LOC 11
10841: PUSH
10842: LD_LOC 11
10846: PPUSH
10847: LD_VAR 0 5
10851: PPUSH
10852: LD_VAR 0 1
10856: PPUSH
10857: CALL_OW 1
10861: ST_TO_ADDR
// for tmp = 1 to 0 + vehiklyo do
10862: LD_ADDR_VAR 0 5
10866: PUSH
10867: DOUBLE
10868: LD_INT 1
10870: DEC
10871: ST_TO_ADDR
10872: LD_INT 0
10874: PUSH
10875: LD_LOC 12
10879: PLUS
10880: PUSH
10881: FOR_TO
10882: IFFALSE 10906
// if vehiklyo [ tmp ] = gaydar_v then
10884: LD_LOC 12
10888: PUSH
10889: LD_VAR 0 5
10893: ARRAY
10894: PUSH
10895: LD_LOC 9
10899: EQUAL
10900: IFFALSE 10904
// break ;
10902: GO 10906
10904: GO 10881
10906: POP
10907: POP
// vehiklyo = replace ( vehiklyo , tmp , new ) ;
10908: LD_ADDR_LOC 12
10912: PUSH
10913: LD_LOC 12
10917: PPUSH
10918: LD_VAR 0 5
10922: PPUSH
10923: LD_VAR 0 1
10927: PPUSH
10928: CALL_OW 1
10932: ST_TO_ADDR
// gaydar_v = new ;
10933: LD_ADDR_LOC 9
10937: PUSH
10938: LD_VAR 0 1
10942: ST_TO_ADDR
// end ; buldoz1 :
10943: GO 10992
10945: LD_LOC 16
10949: DOUBLE
10950: EQUAL
10951: IFTRUE 10955
10953: GO 10968
10955: POP
// buldoz1 = new ; buldoz2 :
10956: LD_ADDR_LOC 16
10960: PUSH
10961: LD_VAR 0 1
10965: ST_TO_ADDR
10966: GO 10992
10968: LD_LOC 17
10972: DOUBLE
10973: EQUAL
10974: IFTRUE 10978
10976: GO 10991
10978: POP
// buldoz2 = new ; end ;
10979: LD_ADDR_LOC 17
10983: PUSH
10984: LD_VAR 0 1
10988: ST_TO_ADDR
10989: GO 10992
10991: POP
10992: PPOPN 5
10994: END
// var center_buld ; every 0 0$2 marked 05 do
10995: GO 10997
10997: DISABLE
// begin if center_buld then
10998: LD_LOC 23
11002: IFFALSE 11005
// enable ;
11004: ENABLE
// centeronunits ( [ buldoz1 , buldoz2 ] ) ;
11005: LD_LOC 16
11009: PUSH
11010: LD_LOC 17
11014: PUSH
11015: EMPTY
11016: LIST
11017: LIST
11018: PPUSH
11019: CALL_OW 85
// end ;
11023: END
// every 0 0$1 + 0 0$0.1 marked 08 do
11024: GO 11026
11026: DISABLE
// begin if center_o then
11027: LD_LOC 22
11031: IFFALSE 11034
// enable ;
11033: ENABLE
// centeronunits ( nearestunittoxy ( vehiklyo , 73 , 49 ) ) ;
11034: LD_LOC 12
11038: PPUSH
11039: LD_INT 73
11041: PPUSH
11042: LD_INT 49
11044: PPUSH
11045: CALL_OW 73
11049: PPUSH
11050: CALL_OW 85
// end ;
11054: END
// every 0 0$1 + 0 0$0.2 marked 09 do
11055: GO 11057
11057: DISABLE
// begin if devet then
11058: LD_LOC 20
11062: IFFALSE 11065
// enable ;
11064: ENABLE
// centeronunits ( nearestunittoxy ( vehiklys , 74 , 54 ) ) ;
11065: LD_LOC 13
11069: PPUSH
11070: LD_INT 74
11072: PPUSH
11073: LD_INT 54
11075: PPUSH
11076: CALL_OW 73
11080: PPUSH
11081: CALL_OW 85
// end ;
11085: END
// var zdrhaci ; every 0 0$0.1 marked 02 do var tmp ;
11086: GO 11088
11088: DISABLE
11089: LD_INT 0
11091: PPUSH
// begin if not dva then
11092: LD_LOC 21
11096: NOT
11097: IFFALSE 11101
// exit ;
11099: GO 11327
// for tmp in vehiklys do
11101: LD_ADDR_VAR 0 1
11105: PUSH
11106: LD_LOC 13
11110: PUSH
11111: FOR_IN
11112: IFFALSE 11195
// if ( getlives ( tmp ) < zdrhame ) and not ( tmp in zdrhaci ) then
11114: LD_VAR 0 1
11118: PPUSH
11119: CALL_OW 256
11123: PUSH
11124: LD_EXP 97
11128: LESS
11129: PUSH
11130: LD_VAR 0 1
11134: PUSH
11135: LD_LOC 24
11139: IN
11140: NOT
11141: AND
11142: IFFALSE 11193
// begin commovexy ( tmp , 88 , 86 ) ;
11144: LD_VAR 0 1
11148: PPUSH
11149: LD_INT 88
11151: PPUSH
11152: LD_INT 86
11154: PPUSH
11155: CALL_OW 111
// addcommovexy ( tmp , 97 , 99 ) ;
11159: LD_VAR 0 1
11163: PPUSH
11164: LD_INT 97
11166: PPUSH
11167: LD_INT 99
11169: PPUSH
11170: CALL_OW 171
// zdrhaci = zdrhaci ^ [ tmp ] ;
11174: LD_ADDR_LOC 24
11178: PUSH
11179: LD_LOC 24
11183: PUSH
11184: LD_VAR 0 1
11188: PUSH
11189: EMPTY
11190: LIST
11191: ADD
11192: ST_TO_ADDR
// end ;
11193: GO 11111
11195: POP
11196: POP
// for tmp in survivors do
11197: LD_ADDR_VAR 0 1
11201: PUSH
11202: LD_LOC 4
11206: PUSH
11207: FOR_IN
11208: IFFALSE 11286
// if not isinunit ( tmp ) and not ( tmp in zdrhaci ) then
11210: LD_VAR 0 1
11214: PPUSH
11215: CALL_OW 310
11219: NOT
11220: PUSH
11221: LD_VAR 0 1
11225: PUSH
11226: LD_LOC 24
11230: IN
11231: NOT
11232: AND
11233: IFFALSE 11284
// begin commovexy ( tmp , 88 , 86 ) ;
11235: LD_VAR 0 1
11239: PPUSH
11240: LD_INT 88
11242: PPUSH
11243: LD_INT 86
11245: PPUSH
11246: CALL_OW 111
// addcommovexy ( tmp , 97 , 99 ) ;
11250: LD_VAR 0 1
11254: PPUSH
11255: LD_INT 97
11257: PPUSH
11258: LD_INT 99
11260: PPUSH
11261: CALL_OW 171
// zdrhaci = zdrhaci ^ [ tmp ] ;
11265: LD_ADDR_LOC 24
11269: PUSH
11270: LD_LOC 24
11274: PUSH
11275: LD_VAR 0 1
11279: PUSH
11280: EMPTY
11281: LIST
11282: ADD
11283: ST_TO_ADDR
// end ;
11284: GO 11207
11286: POP
11287: POP
// if ( ( 0 + zdrhaci ) > 2 ) and not devet then
11288: LD_INT 0
11290: PUSH
11291: LD_LOC 24
11295: PLUS
11296: PUSH
11297: LD_INT 2
11299: GREATER
11300: PUSH
11301: LD_LOC 20
11305: NOT
11306: AND
11307: IFFALSE 11320
// begin devet = true ;
11309: LD_ADDR_LOC 20
11313: PUSH
11314: LD_INT 1
11316: ST_TO_ADDR
// enable ( 09 ) ;
11317: LD_INT 9
11319: ENABLE_MARKED
// end ; if dva then
11320: LD_LOC 21
11324: IFFALSE 11327
// enable ;
11326: ENABLE
// end ;
11327: PPOPN 1
11329: END
// export nesahat ; on unitgoestored ( un ) do case un of vsevol :
11330: LD_VAR 0 1
11334: PUSH
11335: LD_EXP 101
11339: DOUBLE
11340: EQUAL
11341: IFTRUE 11345
11343: GO 11406
11345: POP
// if vs then
11346: LD_EXP 124
11350: IFFALSE 11392
// begin forcesay ( vsevol , DDeath-Vse-3 ) ;
11352: LD_EXP 101
11356: PPUSH
11357: LD_STRING DDeath-Vse-3
11359: PPUSH
11360: CALL_OW 91
// say ( burlak , DDeath-Bur-3 ) ;
11364: LD_EXP 120
11368: PPUSH
11369: LD_STRING DDeath-Bur-3
11371: PPUSH
11372: CALL_OW 88
// priorityattack ( am , vsevol ) ;
11376: LD_EXP 3
11380: PPUSH
11381: LD_EXP 101
11385: PPUSH
11386: CALL_OW 470
// end else
11390: GO 11404
// forcesay ( vsevol , DDeath-Sto-3 ) ; yashin :
11392: LD_EXP 101
11396: PPUSH
11397: LD_STRING DDeath-Sto-3
11399: PPUSH
11400: CALL_OW 91
11404: GO 11866
11406: LD_EXP 104
11410: DOUBLE
11411: EQUAL
11412: IFTRUE 11416
11414: GO 11445
11416: POP
// begin forcesay ( yashin , DDeath-Yas-3 ) ;
11417: LD_EXP 104
11421: PPUSH
11422: LD_STRING DDeath-Yas-3
11424: PPUSH
11425: CALL_OW 91
// priorityattack ( am , yashin ) ;
11429: LD_EXP 3
11433: PPUSH
11434: LD_EXP 104
11438: PPUSH
11439: CALL_OW 470
// end ; popov :
11443: GO 11866
11445: LD_EXP 102
11449: DOUBLE
11450: EQUAL
11451: IFTRUE 11455
11453: GO 11484
11455: POP
// begin forcesay ( popov , DDeath-Pop-3 ) ;
11456: LD_EXP 102
11460: PPUSH
11461: LD_STRING DDeath-Pop-3
11463: PPUSH
11464: CALL_OW 91
// priorityattack ( am , popov ) ;
11468: LD_EXP 3
11472: PPUSH
11473: LD_EXP 102
11477: PPUSH
11478: CALL_OW 470
// end ; gaydar :
11482: GO 11866
11484: LD_EXP 103
11488: DOUBLE
11489: EQUAL
11490: IFTRUE 11494
11492: GO 11523
11494: POP
// begin forcesay ( gaydar , DDeath-Gay-3 ) ;
11495: LD_EXP 103
11499: PPUSH
11500: LD_STRING DDeath-Gay-3
11502: PPUSH
11503: CALL_OW 91
// priorityattack ( am , gaydar ) ;
11507: LD_EXP 3
11511: PPUSH
11512: LD_EXP 103
11516: PPUSH
11517: CALL_OW 470
// end ; else
11521: GO 11866
11523: POP
// if ( getside ( un ) = ru2 ) and nesahat then
11524: LD_VAR 0 1
11528: PPUSH
11529: CALL_OW 255
11533: PUSH
11534: LD_EXP 2
11538: EQUAL
11539: PUSH
11540: LD_EXP 127
11544: AND
11545: IFFALSE 11556
// youlost ( Mad ) else
11547: LD_STRING Mad
11549: PPUSH
11550: CALL_OW 104
11554: GO 11866
// if ( getside ( un ) = am ) then
11556: LD_VAR 0 1
11560: PPUSH
11561: CALL_OW 255
11565: PUSH
11566: LD_EXP 3
11570: EQUAL
11571: IFFALSE 11866
// case un of amv1 :
11573: LD_VAR 0 1
11577: PUSH
11578: LD_EXP 58
11582: DOUBLE
11583: EQUAL
11584: IFTRUE 11588
11586: GO 11619
11588: POP
// begin comrepairvehicle ( amm1 , amv1 ) ;
11589: LD_EXP 44
11593: PPUSH
11594: LD_EXP 58
11598: PPUSH
11599: CALL_OW 129
// addcomenterunit ( amm1 , amv1 ) ;
11603: LD_EXP 44
11607: PPUSH
11608: LD_EXP 58
11612: PPUSH
11613: CALL_OW 180
// end ; amv2 :
11617: GO 11866
11619: LD_EXP 61
11623: DOUBLE
11624: EQUAL
11625: IFTRUE 11629
11627: GO 11660
11629: POP
// begin comrepairvehicle ( amm2 , amv2 ) ;
11630: LD_EXP 46
11634: PPUSH
11635: LD_EXP 61
11639: PPUSH
11640: CALL_OW 129
// addcomenterunit ( amm2 , amv2 ) ;
11644: LD_EXP 46
11648: PPUSH
11649: LD_EXP 61
11653: PPUSH
11654: CALL_OW 180
// end ; amv3 :
11658: GO 11866
11660: LD_EXP 64
11664: DOUBLE
11665: EQUAL
11666: IFTRUE 11670
11668: GO 11701
11670: POP
// begin comrepairvehicle ( amm3 , amv3 ) ;
11671: LD_EXP 48
11675: PPUSH
11676: LD_EXP 64
11680: PPUSH
11681: CALL_OW 129
// addcomenterunit ( amm3 , amv3 ) ;
11685: LD_EXP 48
11689: PPUSH
11690: LD_EXP 64
11694: PPUSH
11695: CALL_OW 180
// end ; amv4 :
11699: GO 11866
11701: LD_EXP 67
11705: DOUBLE
11706: EQUAL
11707: IFTRUE 11711
11709: GO 11742
11711: POP
// begin comrepairvehicle ( amm4 , amv4 ) ;
11712: LD_EXP 50
11716: PPUSH
11717: LD_EXP 67
11721: PPUSH
11722: CALL_OW 129
// addcomenterunit ( amm4 , amv4 ) ;
11726: LD_EXP 50
11730: PPUSH
11731: LD_EXP 67
11735: PPUSH
11736: CALL_OW 180
// end ; amv5 :
11740: GO 11866
11742: LD_EXP 70
11746: DOUBLE
11747: EQUAL
11748: IFTRUE 11752
11750: GO 11783
11752: POP
// begin comrepairvehicle ( amm4 , amv5 ) ;
11753: LD_EXP 50
11757: PPUSH
11758: LD_EXP 70
11762: PPUSH
11763: CALL_OW 129
// addcomenterunit ( amm4 , amv5 ) ;
11767: LD_EXP 50
11771: PPUSH
11772: LD_EXP 70
11776: PPUSH
11777: CALL_OW 180
// end ; amv6 :
11781: GO 11866
11783: LD_EXP 73
11787: DOUBLE
11788: EQUAL
11789: IFTRUE 11793
11791: GO 11824
11793: POP
// begin comrepairvehicle ( amm6 , amv6 ) ;
11794: LD_EXP 54
11798: PPUSH
11799: LD_EXP 73
11803: PPUSH
11804: CALL_OW 129
// addcomenterunit ( amm6 , amv6 ) ;
11808: LD_EXP 54
11812: PPUSH
11813: LD_EXP 73
11817: PPUSH
11818: CALL_OW 180
// end ; amv7 :
11822: GO 11866
11824: LD_EXP 76
11828: DOUBLE
11829: EQUAL
11830: IFTRUE 11834
11832: GO 11865
11834: POP
// begin comrepairvehicle ( amm7 , amv7 ) ;
11835: LD_EXP 56
11839: PPUSH
11840: LD_EXP 76
11844: PPUSH
11845: CALL_OW 129
// addcomenterunit ( amm7 , amv7 ) ;
11849: LD_EXP 56
11853: PPUSH
11854: LD_EXP 76
11858: PPUSH
11859: CALL_OW 180
// end ; end ; end ;
11863: GO 11866
11865: POP
11866: PPOPN 1
11868: END
// on unitdestroyed ( un ) do if un = burlak then
11869: LD_VAR 0 1
11873: PUSH
11874: LD_EXP 120
11878: EQUAL
11879: IFFALSE 11890
// youlost ( Burlak ) else
11881: LD_STRING Burlak
11883: PPUSH
11884: CALL_OW 104
11888: GO 11936
// if ( getside ( un ) = ru ) and ( gettype ( un ) = unit_human ) then
11890: LD_VAR 0 1
11894: PPUSH
11895: CALL_OW 255
11899: PUSH
11900: LD_EXP 1
11904: EQUAL
11905: PUSH
11906: LD_VAR 0 1
11910: PPUSH
11911: CALL_OW 247
11915: PUSH
11916: LD_INT 1
11918: EQUAL
11919: AND
11920: IFFALSE 11936
// chcipli = chcipli + 1 ;
11922: LD_ADDR_EXP 95
11926: PUSH
11927: LD_EXP 95
11931: PUSH
11932: LD_INT 1
11934: PLUS
11935: ST_TO_ADDR
11936: PPOPN 1
11938: END
// on unitteleported ( tel , un ) do begin telepused = 1 ;
11939: LD_ADDR_EXP 96
11943: PUSH
11944: LD_INT 1
11946: ST_TO_ADDR
// disable ;
11947: DISABLE
// end ;
11948: PPOPN 2
11950: END
// on Contact ( side1 , side2 ) do begin if side1 = 3 and side2 = 6 then
11951: LD_VAR 0 1
11955: PUSH
11956: LD_INT 3
11958: EQUAL
11959: PUSH
11960: LD_VAR 0 2
11964: PUSH
11965: LD_INT 6
11967: EQUAL
11968: AND
11969: IFFALSE 11978
// YouLost ( Mad ) ;
11971: LD_STRING Mad
11973: PPUSH
11974: CALL_OW 104
// end ;
11978: PPOPN 2
11980: END
// every 0 0$1 trigger ( not filterallunits ( [ [ f_side , am ] , [ f_alive ] , [ f_type , unit_human ] ] ) ) marked 03 do var tmp ;
11981: LD_INT 22
11983: PUSH
11984: LD_EXP 3
11988: PUSH
11989: EMPTY
11990: LIST
11991: LIST
11992: PUSH
11993: LD_INT 51
11995: PUSH
11996: EMPTY
11997: LIST
11998: PUSH
11999: LD_INT 21
12001: PUSH
12002: LD_INT 1
12004: PUSH
12005: EMPTY
12006: LIST
12007: LIST
12008: PUSH
12009: EMPTY
12010: LIST
12011: LIST
12012: LIST
12013: PPUSH
12014: CALL_OW 69
12018: NOT
12019: IFFALSE 12299
12021: GO 12023
12023: DISABLE
12024: LD_INT 0
12026: PPUSH
// begin dialogueon ;
12027: CALL_OW 6
// say ( burlak , DBetaCaptured-Bur-1 ) ;
12031: LD_EXP 120
12035: PPUSH
12036: LD_STRING DBetaCaptured-Bur-1
12038: PPUSH
12039: CALL_OW 88
// say ( jmm , DBetaCaptured-JMM-1 ) ;
12043: LD_EXP 122
12047: PPUSH
12048: LD_STRING DBetaCaptured-JMM-1
12050: PPUSH
12051: CALL_OW 88
// say ( burlak , DBetaCaptured-Bur-2 ) ;
12055: LD_EXP 120
12059: PPUSH
12060: LD_STRING DBetaCaptured-Bur-2
12062: PPUSH
12063: CALL_OW 88
// dwait ( 0 0$1 ) ;
12067: LD_INT 35
12069: PPUSH
12070: CALL_OW 68
// sayradio ( platonov , DReturn-Pla-1 ) ;
12074: LD_EXP 121
12078: PPUSH
12079: LD_STRING DReturn-Pla-1
12081: PPUSH
12082: CALL_OW 94
// say ( burlak , DReturn-Bur-1 ) ;
12086: LD_EXP 120
12090: PPUSH
12091: LD_STRING DReturn-Bur-1
12093: PPUSH
12094: CALL_OW 88
// sayradio ( platonov , DReturn-Pla-2 ) ;
12098: LD_EXP 121
12102: PPUSH
12103: LD_STRING DReturn-Pla-2
12105: PPUSH
12106: CALL_OW 94
// dialogueoff ;
12110: CALL_OW 7
// SA_EndMission ( 3 , 11 , chcipli > 4 , rychlik > 0 , telepused > 0 ) ;
12114: LD_INT 3
12116: PPUSH
12117: LD_INT 11
12119: PPUSH
12120: LD_EXP 95
12124: PUSH
12125: LD_INT 4
12127: GREATER
12128: PPUSH
12129: LD_EXP 98
12133: PUSH
12134: LD_INT 0
12136: GREATER
12137: PPUSH
12138: LD_EXP 96
12142: PUSH
12143: LD_INT 0
12145: GREATER
12146: PPUSH
12147: CALL 15812 0 5
// if chcipli > 4 then
12151: LD_EXP 95
12155: PUSH
12156: LD_INT 4
12158: GREATER
12159: IFFALSE 12174
// addmedal ( LittleLosses , - 1 ) else
12161: LD_STRING LittleLosses
12163: PPUSH
12164: LD_INT 1
12166: NEG
12167: PPUSH
12168: CALL_OW 101
12172: GO 12184
// addmedal ( LittleLosses , 1 ) ;
12174: LD_STRING LittleLosses
12176: PPUSH
12177: LD_INT 1
12179: PPUSH
12180: CALL_OW 101
// if rychlik then
12184: LD_EXP 98
12188: IFFALSE 12202
// addmedal ( Quick , 1 ) else
12190: LD_STRING Quick
12192: PPUSH
12193: LD_INT 1
12195: PPUSH
12196: CALL_OW 101
12200: GO 12213
// addmedal ( Quick , - 1 ) ;
12202: LD_STRING Quick
12204: PPUSH
12205: LD_INT 1
12207: NEG
12208: PPUSH
12209: CALL_OW 101
// if telepused then
12213: LD_EXP 96
12217: IFFALSE 12231
// addmedal ( Teleport , 1 ) else
12219: LD_STRING Teleport
12221: PPUSH
12222: LD_INT 1
12224: PPUSH
12225: CALL_OW 101
12229: GO 12242
// addmedal ( Teleport , - 1 ) ;
12231: LD_STRING Teleport
12233: PPUSH
12234: LD_INT 1
12236: NEG
12237: PPUSH
12238: CALL_OW 101
// givemedals ( Main ) ;
12242: LD_STRING Main
12244: PPUSH
12245: CALL_OW 102
// rewardpeople ( filterallunits ( [ [ f_alive ] , [ f_side , ru ] , [ f_type , unit_human ] ] ) ) ;
12249: LD_INT 51
12251: PUSH
12252: EMPTY
12253: LIST
12254: PUSH
12255: LD_INT 22
12257: PUSH
12258: LD_EXP 1
12262: PUSH
12263: EMPTY
12264: LIST
12265: LIST
12266: PUSH
12267: LD_INT 21
12269: PUSH
12270: LD_INT 1
12272: PUSH
12273: EMPTY
12274: LIST
12275: LIST
12276: PUSH
12277: EMPTY
12278: LIST
12279: LIST
12280: LIST
12281: PPUSH
12282: CALL_OW 69
12286: PPUSH
12287: CALL_OW 43
// saveitall ;
12291: CALL 12302 0 0
// youwin ;
12295: CALL_OW 103
// end ;
12299: PPOPN 1
12301: END
// function saveitall ; var tmp ; begin
12302: LD_INT 0
12304: PPUSH
12305: PPUSH
// savecharacters ( burlak , Burlak ) ;
12306: LD_EXP 120
12310: PPUSH
12311: LD_STRING Burlak
12313: PPUSH
12314: CALL_OW 38
// if vs then
12318: LD_EXP 124
12322: IFFALSE 12338
// savecharacters ( vsevol , Vsevolod ) else
12324: LD_EXP 101
12328: PPUSH
12329: LD_STRING Vsevolod
12331: PPUSH
12332: CALL_OW 38
12336: GO 12350
// savecharacters ( vsevol , Stolypin ) ;
12338: LD_EXP 101
12342: PPUSH
12343: LD_STRING Stolypin
12345: PPUSH
12346: CALL_OW 38
// savecharacters ( popov , Popov ) ;
12350: LD_EXP 102
12354: PPUSH
12355: LD_STRING Popov
12357: PPUSH
12358: CALL_OW 38
// savecharacters ( gaydar , Gaydar ) ;
12362: LD_EXP 103
12366: PPUSH
12367: LD_STRING Gaydar
12369: PPUSH
12370: CALL_OW 38
// savecharacters ( yashin , Yashin ) ;
12374: LD_EXP 104
12378: PPUSH
12379: LD_STRING Yashin
12381: PPUSH
12382: CALL_OW 38
// savecharacters ( titov , Titov ) ;
12386: LD_EXP 105
12390: PPUSH
12391: LD_STRING Titov
12393: PPUSH
12394: CALL_OW 38
// savecharacters ( belkov , Belkov ) ;
12398: LD_EXP 106
12402: PPUSH
12403: LD_STRING Belkov
12405: PPUSH
12406: CALL_OW 38
// savecharacters ( kuzmov , Kuzmov ) ;
12410: LD_EXP 107
12414: PPUSH
12415: LD_STRING Kuzmov
12417: PPUSH
12418: CALL_OW 38
// savecharacters ( gnyevko , Gnyevko ) ;
12422: LD_EXP 108
12426: PPUSH
12427: LD_STRING Gnyevko
12429: PPUSH
12430: CALL_OW 38
// savecharacters ( kozlov , Kozlov ) ;
12434: LD_EXP 109
12438: PPUSH
12439: LD_STRING Kozlov
12441: PPUSH
12442: CALL_OW 38
// savecharacters ( furmanov , Furmanov ) ;
12446: LD_EXP 110
12450: PPUSH
12451: LD_STRING Furmanov
12453: PPUSH
12454: CALL_OW 38
// savecharacters ( kiril , Kirilenkova ) ;
12458: LD_EXP 111
12462: PPUSH
12463: LD_STRING Kirilenkova
12465: PPUSH
12466: CALL_OW 38
// savecharacters ( kapitsova , Kapitsova ) ;
12470: LD_EXP 112
12474: PPUSH
12475: LD_STRING Kapitsova
12477: PPUSH
12478: CALL_OW 38
// savecharacters ( petrosyan , Petrosyan ) ;
12482: LD_EXP 113
12486: PPUSH
12487: LD_STRING Petrosyan
12489: PPUSH
12490: CALL_OW 38
// savecharacters ( scholtze , Scholtze ) ;
12494: LD_EXP 114
12498: PPUSH
12499: LD_STRING Scholtze
12501: PPUSH
12502: CALL_OW 38
// savecharacters ( dolgov , Dolgov ) ;
12506: LD_EXP 115
12510: PPUSH
12511: LD_STRING Dolgov
12513: PPUSH
12514: CALL_OW 38
// savecharacters ( kovalyuk , Kovalyuk ) ;
12518: LD_EXP 116
12522: PPUSH
12523: LD_STRING Kovalyuk
12525: PPUSH
12526: CALL_OW 38
// savecharacters ( karamazov , Karamazov ) ;
12530: LD_EXP 117
12534: PPUSH
12535: LD_STRING Karamazov
12537: PPUSH
12538: CALL_OW 38
// savecharacters ( petrovova , Petrovova ) ;
12542: LD_EXP 118
12546: PPUSH
12547: LD_STRING Petrovova
12549: PPUSH
12550: CALL_OW 38
// savecharacters ( oblukov , Oblukov ) ;
12554: LD_EXP 119
12558: PPUSH
12559: LD_STRING Oblukov
12561: PPUSH
12562: CALL_OW 38
// tmp = filterallunits ( [ [ f_alive ] , [ f_side , ru ] , [ f_type , unit_human ] ] ) ;
12566: LD_ADDR_VAR 0 2
12570: PUSH
12571: LD_INT 51
12573: PUSH
12574: EMPTY
12575: LIST
12576: PUSH
12577: LD_INT 22
12579: PUSH
12580: LD_EXP 1
12584: PUSH
12585: EMPTY
12586: LIST
12587: LIST
12588: PUSH
12589: LD_INT 21
12591: PUSH
12592: LD_INT 1
12594: PUSH
12595: EMPTY
12596: LIST
12597: LIST
12598: PUSH
12599: EMPTY
12600: LIST
12601: LIST
12602: LIST
12603: PPUSH
12604: CALL_OW 69
12608: ST_TO_ADDR
// savecharacters ( tmp ^ surv3 diff [ burlak , vsevol , popov , gaydar , yashin , titov , belkov , kuzmov , gnyevko , kozlov , furmanov , kiril , kapitsova , petrosyan , scholtze , dolgov , kovalyuk , karamazov , petrovova , oblukov ] , survivors3 ) ;
12609: LD_VAR 0 2
12613: PUSH
12614: LD_EXP 125
12618: ADD
12619: PUSH
12620: LD_EXP 120
12624: PUSH
12625: LD_EXP 101
12629: PUSH
12630: LD_EXP 102
12634: PUSH
12635: LD_EXP 103
12639: PUSH
12640: LD_EXP 104
12644: PUSH
12645: LD_EXP 105
12649: PUSH
12650: LD_EXP 106
12654: PUSH
12655: LD_EXP 107
12659: PUSH
12660: LD_EXP 108
12664: PUSH
12665: LD_EXP 109
12669: PUSH
12670: LD_EXP 110
12674: PUSH
12675: LD_EXP 111
12679: PUSH
12680: LD_EXP 112
12684: PUSH
12685: LD_EXP 113
12689: PUSH
12690: LD_EXP 114
12694: PUSH
12695: LD_EXP 115
12699: PUSH
12700: LD_EXP 116
12704: PUSH
12705: LD_EXP 117
12709: PUSH
12710: LD_EXP 118
12714: PUSH
12715: LD_EXP 119
12719: PUSH
12720: EMPTY
12721: LIST
12722: LIST
12723: LIST
12724: LIST
12725: LIST
12726: LIST
12727: LIST
12728: LIST
12729: LIST
12730: LIST
12731: LIST
12732: LIST
12733: LIST
12734: LIST
12735: LIST
12736: LIST
12737: LIST
12738: LIST
12739: LIST
12740: LIST
12741: DIFF
12742: PPUSH
12743: LD_STRING survivors3
12745: PPUSH
12746: CALL_OW 38
// end ;
12750: LD_VAR 0 1
12754: RET
// export function prepare_americans ; var tmp ; begin
12755: LD_INT 0
12757: PPUSH
12758: PPUSH
// uc_side = am ;
12759: LD_ADDR_OWVAR 20
12763: PUSH
12764: LD_EXP 3
12768: ST_TO_ADDR
// uc_nation = nation_american ;
12769: LD_ADDR_OWVAR 21
12773: PUSH
12774: LD_INT 1
12776: ST_TO_ADDR
// preparesoldier ( sex_male , ams0_sk ) ;
12777: LD_INT 1
12779: PPUSH
12780: LD_EXP 17
12784: PPUSH
12785: CALL_OW 381
// tmp = createhuman ;
12789: LD_ADDR_VAR 0 2
12793: PUSH
12794: CALL_OW 44
12798: ST_TO_ADDR
// placeunitxyr ( tmp , 34 , 38 , 1 , false ) ;
12799: LD_VAR 0 2
12803: PPUSH
12804: LD_INT 34
12806: PPUSH
12807: LD_INT 38
12809: PPUSH
12810: LD_INT 1
12812: PPUSH
12813: LD_INT 0
12815: PPUSH
12816: CALL_OW 50
// comenterunit ( tmp , ambunk0 ) ;
12820: LD_VAR 0 2
12824: PPUSH
12825: LD_INT 1
12827: PPUSH
12828: CALL_OW 120
// ams0 = tmp ;
12832: LD_ADDR_EXP 4
12836: PUSH
12837: LD_VAR 0 2
12841: ST_TO_ADDR
// preparesoldier ( sex_male , ams1_sk ) ;
12842: LD_INT 1
12844: PPUSH
12845: LD_EXP 18
12849: PPUSH
12850: CALL_OW 381
// tmp = createhuman ;
12854: LD_ADDR_VAR 0 2
12858: PUSH
12859: CALL_OW 44
12863: ST_TO_ADDR
// placeunitxyr ( tmp , 54 , 46 , 1 , false ) ;
12864: LD_VAR 0 2
12868: PPUSH
12869: LD_INT 54
12871: PPUSH
12872: LD_INT 46
12874: PPUSH
12875: LD_INT 1
12877: PPUSH
12878: LD_INT 0
12880: PPUSH
12881: CALL_OW 50
// comenterunit ( tmp , ambunk1 ) ;
12885: LD_VAR 0 2
12889: PPUSH
12890: LD_INT 5
12892: PPUSH
12893: CALL_OW 120
// ams1 = tmp ;
12897: LD_ADDR_EXP 5
12901: PUSH
12902: LD_VAR 0 2
12906: ST_TO_ADDR
// preparesoldier ( sex_male , ams2_sk ) ;
12907: LD_INT 1
12909: PPUSH
12910: LD_EXP 19
12914: PPUSH
12915: CALL_OW 381
// tmp = createhuman ;
12919: LD_ADDR_VAR 0 2
12923: PUSH
12924: CALL_OW 44
12928: ST_TO_ADDR
// placeunitxyr ( tmp , 58 , 47 , 1 , false ) ;
12929: LD_VAR 0 2
12933: PPUSH
12934: LD_INT 58
12936: PPUSH
12937: LD_INT 47
12939: PPUSH
12940: LD_INT 1
12942: PPUSH
12943: LD_INT 0
12945: PPUSH
12946: CALL_OW 50
// comenterunit ( tmp , ambunk2 ) ;
12950: LD_VAR 0 2
12954: PPUSH
12955: LD_INT 15
12957: PPUSH
12958: CALL_OW 120
// ams2 = tmp ;
12962: LD_ADDR_EXP 6
12966: PUSH
12967: LD_VAR 0 2
12971: ST_TO_ADDR
// preparesoldier ( sex_male , ams3_sk ) ;
12972: LD_INT 1
12974: PPUSH
12975: LD_EXP 20
12979: PPUSH
12980: CALL_OW 381
// tmp = createhuman ;
12984: LD_ADDR_VAR 0 2
12988: PUSH
12989: CALL_OW 44
12993: ST_TO_ADDR
// placeunitxyr ( tmp , 62 , 48 , 1 , false ) ;
12994: LD_VAR 0 2
12998: PPUSH
12999: LD_INT 62
13001: PPUSH
13002: LD_INT 48
13004: PPUSH
13005: LD_INT 1
13007: PPUSH
13008: LD_INT 0
13010: PPUSH
13011: CALL_OW 50
// comenterunit ( tmp , ambunk3 ) ;
13015: LD_VAR 0 2
13019: PPUSH
13020: LD_INT 14
13022: PPUSH
13023: CALL_OW 120
// ams3 = tmp ;
13027: LD_ADDR_EXP 7
13031: PUSH
13032: LD_VAR 0 2
13036: ST_TO_ADDR
// preparesoldier ( sex_male , ams4_sk ) ;
13037: LD_INT 1
13039: PPUSH
13040: LD_EXP 21
13044: PPUSH
13045: CALL_OW 381
// tmp = createhuman ;
13049: LD_ADDR_VAR 0 2
13053: PUSH
13054: CALL_OW 44
13058: ST_TO_ADDR
// placeunitxyr ( tmp , 60 , 44 , 1 , false ) ;
13059: LD_VAR 0 2
13063: PPUSH
13064: LD_INT 60
13066: PPUSH
13067: LD_INT 44
13069: PPUSH
13070: LD_INT 1
13072: PPUSH
13073: LD_INT 0
13075: PPUSH
13076: CALL_OW 50
// comenterunit ( tmp , ambunk4 ) ;
13080: LD_VAR 0 2
13084: PPUSH
13085: LD_INT 6
13087: PPUSH
13088: CALL_OW 120
// ams4 = tmp ;
13092: LD_ADDR_EXP 8
13096: PUSH
13097: LD_VAR 0 2
13101: ST_TO_ADDR
// preparesoldier ( sex_male , ams5_sk ) ;
13102: LD_INT 1
13104: PPUSH
13105: LD_EXP 22
13109: PPUSH
13110: CALL_OW 381
// tmp = createhuman ;
13114: LD_ADDR_VAR 0 2
13118: PUSH
13119: CALL_OW 44
13123: ST_TO_ADDR
// placeunitxyr ( tmp , 83 , 50 , 1 , false ) ;
13124: LD_VAR 0 2
13128: PPUSH
13129: LD_INT 83
13131: PPUSH
13132: LD_INT 50
13134: PPUSH
13135: LD_INT 1
13137: PPUSH
13138: LD_INT 0
13140: PPUSH
13141: CALL_OW 50
// comenterunit ( tmp , ambunk5 ) ;
13145: LD_VAR 0 2
13149: PPUSH
13150: LD_INT 7
13152: PPUSH
13153: CALL_OW 120
// ams5 = tmp ;
13157: LD_ADDR_EXP 9
13161: PUSH
13162: LD_VAR 0 2
13166: ST_TO_ADDR
// preparesoldier ( sex_male , ams6_sk ) ;
13167: LD_INT 1
13169: PPUSH
13170: LD_EXP 23
13174: PPUSH
13175: CALL_OW 381
// tmp = createhuman ;
13179: LD_ADDR_VAR 0 2
13183: PUSH
13184: CALL_OW 44
13188: ST_TO_ADDR
// placeunitxyr ( tmp , 83 , 47 , 1 , false ) ;
13189: LD_VAR 0 2
13193: PPUSH
13194: LD_INT 83
13196: PPUSH
13197: LD_INT 47
13199: PPUSH
13200: LD_INT 1
13202: PPUSH
13203: LD_INT 0
13205: PPUSH
13206: CALL_OW 50
// comenterunit ( tmp , ambunk6 ) ;
13210: LD_VAR 0 2
13214: PPUSH
13215: LD_INT 13
13217: PPUSH
13218: CALL_OW 120
// ams6 = tmp ;
13222: LD_ADDR_EXP 10
13226: PUSH
13227: LD_VAR 0 2
13231: ST_TO_ADDR
// preparesoldier ( sex_male , ams7_sk ) ;
13232: LD_INT 1
13234: PPUSH
13235: LD_EXP 24
13239: PPUSH
13240: CALL_OW 381
// tmp = createhuman ;
13244: LD_ADDR_VAR 0 2
13248: PUSH
13249: CALL_OW 44
13253: ST_TO_ADDR
// placeunitxyr ( tmp , 100 , 47 , 1 , false ) ;
13254: LD_VAR 0 2
13258: PPUSH
13259: LD_INT 100
13261: PPUSH
13262: LD_INT 47
13264: PPUSH
13265: LD_INT 1
13267: PPUSH
13268: LD_INT 0
13270: PPUSH
13271: CALL_OW 50
// comenterunit ( tmp , ambunk7 ) ;
13275: LD_VAR 0 2
13279: PPUSH
13280: LD_INT 8
13282: PPUSH
13283: CALL_OW 120
// ams7 = tmp ;
13287: LD_ADDR_EXP 11
13291: PUSH
13292: LD_VAR 0 2
13296: ST_TO_ADDR
// preparesoldier ( sex_male , ams8_sk ) ;
13297: LD_INT 1
13299: PPUSH
13300: LD_EXP 25
13304: PPUSH
13305: CALL_OW 381
// tmp = createhuman ;
13309: LD_ADDR_VAR 0 2
13313: PUSH
13314: CALL_OW 44
13318: ST_TO_ADDR
// placeunitxyr ( tmp , 96 , 30 , 1 , false ) ;
13319: LD_VAR 0 2
13323: PPUSH
13324: LD_INT 96
13326: PPUSH
13327: LD_INT 30
13329: PPUSH
13330: LD_INT 1
13332: PPUSH
13333: LD_INT 0
13335: PPUSH
13336: CALL_OW 50
// comenterunit ( tmp , ambunk8 ) ;
13340: LD_VAR 0 2
13344: PPUSH
13345: LD_INT 9
13347: PPUSH
13348: CALL_OW 120
// ams8 = tmp ;
13352: LD_ADDR_EXP 12
13356: PUSH
13357: LD_VAR 0 2
13361: ST_TO_ADDR
// preparesoldier ( sex_male , ams9_sk ) ;
13362: LD_INT 1
13364: PPUSH
13365: LD_EXP 26
13369: PPUSH
13370: CALL_OW 381
// tmp = createhuman ;
13374: LD_ADDR_VAR 0 2
13378: PUSH
13379: CALL_OW 44
13383: ST_TO_ADDR
// placeunitxyr ( tmp , 94 , 30 , 1 , false ) ;
13384: LD_VAR 0 2
13388: PPUSH
13389: LD_INT 94
13391: PPUSH
13392: LD_INT 30
13394: PPUSH
13395: LD_INT 1
13397: PPUSH
13398: LD_INT 0
13400: PPUSH
13401: CALL_OW 50
// comenterunit ( tmp , ambunk9 ) ;
13405: LD_VAR 0 2
13409: PPUSH
13410: LD_INT 17
13412: PPUSH
13413: CALL_OW 120
// ams9 = tmp ;
13417: LD_ADDR_EXP 13
13421: PUSH
13422: LD_VAR 0 2
13426: ST_TO_ADDR
// preparesoldier ( sex_male , amsa_sk ) ;
13427: LD_INT 1
13429: PPUSH
13430: LD_EXP 27
13434: PPUSH
13435: CALL_OW 381
// tmp = createhuman ;
13439: LD_ADDR_VAR 0 2
13443: PUSH
13444: CALL_OW 44
13448: ST_TO_ADDR
// placeunitxyr ( tmp , 84 , 17 , 1 , false ) ;
13449: LD_VAR 0 2
13453: PPUSH
13454: LD_INT 84
13456: PPUSH
13457: LD_INT 17
13459: PPUSH
13460: LD_INT 1
13462: PPUSH
13463: LD_INT 0
13465: PPUSH
13466: CALL_OW 50
// comenterunit ( tmp , ambunka ) ;
13470: LD_VAR 0 2
13474: PPUSH
13475: LD_INT 12
13477: PPUSH
13478: CALL_OW 120
// amsa = tmp ;
13482: LD_ADDR_EXP 14
13486: PUSH
13487: LD_VAR 0 2
13491: ST_TO_ADDR
// preparesoldier ( sex_male , amsb_sk ) ;
13492: LD_INT 1
13494: PPUSH
13495: LD_EXP 28
13499: PPUSH
13500: CALL_OW 381
// tmp = createhuman ;
13504: LD_ADDR_VAR 0 2
13508: PUSH
13509: CALL_OW 44
13513: ST_TO_ADDR
// placeunitxyr ( tmp , 91 , 10 , 1 , false ) ;
13514: LD_VAR 0 2
13518: PPUSH
13519: LD_INT 91
13521: PPUSH
13522: LD_INT 10
13524: PPUSH
13525: LD_INT 1
13527: PPUSH
13528: LD_INT 0
13530: PPUSH
13531: CALL_OW 50
// comenterunit ( tmp , ambunkb ) ;
13535: LD_VAR 0 2
13539: PPUSH
13540: LD_INT 11
13542: PPUSH
13543: CALL_OW 120
// amsb = tmp ;
13547: LD_ADDR_EXP 15
13551: PUSH
13552: LD_VAR 0 2
13556: ST_TO_ADDR
// preparesoldier ( sex_male , amsc_sk ) ;
13557: LD_INT 1
13559: PPUSH
13560: LD_EXP 29
13564: PPUSH
13565: CALL_OW 381
// tmp = createhuman ;
13569: LD_ADDR_VAR 0 2
13573: PUSH
13574: CALL_OW 44
13578: ST_TO_ADDR
// placeunitxyr ( tmp , 95 , 9 , 1 , false ) ;
13579: LD_VAR 0 2
13583: PPUSH
13584: LD_INT 95
13586: PPUSH
13587: LD_INT 9
13589: PPUSH
13590: LD_INT 1
13592: PPUSH
13593: LD_INT 0
13595: PPUSH
13596: CALL_OW 50
// comenterunit ( tmp , ambunkc ) ;
13600: LD_VAR 0 2
13604: PPUSH
13605: LD_INT 10
13607: PPUSH
13608: CALL_OW 120
// amsc = tmp ;
13612: LD_ADDR_EXP 16
13616: PUSH
13617: LD_VAR 0 2
13621: ST_TO_ADDR
// preparesoldier ( sex_male , ams_1_sk ) ;
13622: LD_INT 1
13624: PPUSH
13625: LD_EXP 36
13629: PPUSH
13630: CALL_OW 381
// tmp = createhuman ;
13634: LD_ADDR_VAR 0 2
13638: PUSH
13639: CALL_OW 44
13643: ST_TO_ADDR
// placeunitxyr ( tmp , 69 , 33 , 1 , false ) ;
13644: LD_VAR 0 2
13648: PPUSH
13649: LD_INT 69
13651: PPUSH
13652: LD_INT 33
13654: PPUSH
13655: LD_INT 1
13657: PPUSH
13658: LD_INT 0
13660: PPUSH
13661: CALL_OW 50
// comenterunit ( tmp , ambarr ) ;
13665: LD_VAR 0 2
13669: PPUSH
13670: LD_INT 26
13672: PPUSH
13673: CALL_OW 120
// ams_1 = tmp ;
13677: LD_ADDR_EXP 30
13681: PUSH
13682: LD_VAR 0 2
13686: ST_TO_ADDR
// preparesoldier ( sex_male , ams_2_sk ) ;
13687: LD_INT 1
13689: PPUSH
13690: LD_EXP 37
13694: PPUSH
13695: CALL_OW 381
// tmp = createhuman ;
13699: LD_ADDR_VAR 0 2
13703: PUSH
13704: CALL_OW 44
13708: ST_TO_ADDR
// placeunitxyr ( tmp , 69 , 33 , 1 , false ) ;
13709: LD_VAR 0 2
13713: PPUSH
13714: LD_INT 69
13716: PPUSH
13717: LD_INT 33
13719: PPUSH
13720: LD_INT 1
13722: PPUSH
13723: LD_INT 0
13725: PPUSH
13726: CALL_OW 50
// comenterunit ( tmp , ambarr ) ;
13730: LD_VAR 0 2
13734: PPUSH
13735: LD_INT 26
13737: PPUSH
13738: CALL_OW 120
// ams_2 = tmp ;
13742: LD_ADDR_EXP 31
13746: PUSH
13747: LD_VAR 0 2
13751: ST_TO_ADDR
// preparesoldier ( sex_male , ams_3_sk ) ;
13752: LD_INT 1
13754: PPUSH
13755: LD_EXP 38
13759: PPUSH
13760: CALL_OW 381
// tmp = createhuman ;
13764: LD_ADDR_VAR 0 2
13768: PUSH
13769: CALL_OW 44
13773: ST_TO_ADDR
// placeunitxyr ( tmp , 69 , 33 , 1 , false ) ;
13774: LD_VAR 0 2
13778: PPUSH
13779: LD_INT 69
13781: PPUSH
13782: LD_INT 33
13784: PPUSH
13785: LD_INT 1
13787: PPUSH
13788: LD_INT 0
13790: PPUSH
13791: CALL_OW 50
// comenterunit ( tmp , ambarr ) ;
13795: LD_VAR 0 2
13799: PPUSH
13800: LD_INT 26
13802: PPUSH
13803: CALL_OW 120
// ams_3 = tmp ;
13807: LD_ADDR_EXP 32
13811: PUSH
13812: LD_VAR 0 2
13816: ST_TO_ADDR
// preparesoldier ( sex_male , ams_4_sk ) ;
13817: LD_INT 1
13819: PPUSH
13820: LD_EXP 39
13824: PPUSH
13825: CALL_OW 381
// tmp = createhuman ;
13829: LD_ADDR_VAR 0 2
13833: PUSH
13834: CALL_OW 44
13838: ST_TO_ADDR
// placeunitxyr ( tmp , 69 , 33 , 1 , false ) ;
13839: LD_VAR 0 2
13843: PPUSH
13844: LD_INT 69
13846: PPUSH
13847: LD_INT 33
13849: PPUSH
13850: LD_INT 1
13852: PPUSH
13853: LD_INT 0
13855: PPUSH
13856: CALL_OW 50
// comenterunit ( tmp , ambarr ) ;
13860: LD_VAR 0 2
13864: PPUSH
13865: LD_INT 26
13867: PPUSH
13868: CALL_OW 120
// ams_4 = tmp ;
13872: LD_ADDR_EXP 33
13876: PUSH
13877: LD_VAR 0 2
13881: ST_TO_ADDR
// preparesoldier ( sex_male , ams_5_sk ) ;
13882: LD_INT 1
13884: PPUSH
13885: LD_EXP 40
13889: PPUSH
13890: CALL_OW 381
// tmp = createhuman ;
13894: LD_ADDR_VAR 0 2
13898: PUSH
13899: CALL_OW 44
13903: ST_TO_ADDR
// placeunitxyr ( tmp , 69 , 33 , 1 , false ) ;
13904: LD_VAR 0 2
13908: PPUSH
13909: LD_INT 69
13911: PPUSH
13912: LD_INT 33
13914: PPUSH
13915: LD_INT 1
13917: PPUSH
13918: LD_INT 0
13920: PPUSH
13921: CALL_OW 50
// comenterunit ( tmp , ambarr ) ;
13925: LD_VAR 0 2
13929: PPUSH
13930: LD_INT 26
13932: PPUSH
13933: CALL_OW 120
// ams_5 = tmp ;
13937: LD_ADDR_EXP 34
13941: PUSH
13942: LD_VAR 0 2
13946: ST_TO_ADDR
// preparesoldier ( sex_male , ams_6_sk ) ;
13947: LD_INT 1
13949: PPUSH
13950: LD_EXP 41
13954: PPUSH
13955: CALL_OW 381
// tmp = createhuman ;
13959: LD_ADDR_VAR 0 2
13963: PUSH
13964: CALL_OW 44
13968: ST_TO_ADDR
// placeunitxyr ( tmp , 69 , 33 , 1 , false ) ;
13969: LD_VAR 0 2
13973: PPUSH
13974: LD_INT 69
13976: PPUSH
13977: LD_INT 33
13979: PPUSH
13980: LD_INT 1
13982: PPUSH
13983: LD_INT 0
13985: PPUSH
13986: CALL_OW 50
// comenterunit ( tmp , ambarr ) ;
13990: LD_VAR 0 2
13994: PPUSH
13995: LD_INT 26
13997: PPUSH
13998: CALL_OW 120
// ams_6 = tmp ;
14002: LD_ADDR_EXP 35
14006: PUSH
14007: LD_VAR 0 2
14011: ST_TO_ADDR
// preparemechanic ( sex_female , amm0_sk ) ;
14012: LD_INT 2
14014: PPUSH
14015: LD_EXP 43
14019: PPUSH
14020: CALL_OW 383
// amm0 = createhuman ;
14024: LD_ADDR_EXP 42
14028: PUSH
14029: CALL_OW 44
14033: ST_TO_ADDR
// placeunitxyr ( amm0 , 45 , 15 , 1 , false ) ;
14034: LD_EXP 42
14038: PPUSH
14039: LD_INT 45
14041: PPUSH
14042: LD_INT 15
14044: PPUSH
14045: LD_INT 1
14047: PPUSH
14048: LD_INT 0
14050: PPUSH
14051: CALL_OW 50
// comenterunit ( amm0 , amcntltwr ) ;
14055: LD_EXP 42
14059: PPUSH
14060: LD_INT 30
14062: PPUSH
14063: CALL_OW 120
// vc_control = control_manual ;
14067: LD_ADDR_OWVAR 38
14071: PUSH
14072: LD_INT 1
14074: ST_TO_ADDR
// vc_engine = engine_siberite ;
14075: LD_ADDR_OWVAR 39
14079: PUSH
14080: LD_INT 3
14082: ST_TO_ADDR
// vc_chassis = amv1_ch ;
14083: LD_ADDR_OWVAR 37
14087: PUSH
14088: LD_EXP 59
14092: ST_TO_ADDR
// vc_weapon = amv1_wp ;
14093: LD_ADDR_OWVAR 40
14097: PUSH
14098: LD_EXP 60
14102: ST_TO_ADDR
// amv1 = createvehicle ;
14103: LD_ADDR_EXP 58
14107: PUSH
14108: CALL_OW 45
14112: ST_TO_ADDR
// setdir ( amv1 , 2 ) ;
14113: LD_EXP 58
14117: PPUSH
14118: LD_INT 2
14120: PPUSH
14121: CALL_OW 233
// placeunitxy ( amv1 , 61 , 32 , false ) ;
14125: LD_EXP 58
14129: PPUSH
14130: LD_INT 61
14132: PPUSH
14133: LD_INT 32
14135: PPUSH
14136: LD_INT 0
14138: PPUSH
14139: CALL_OW 48
// preparemechanic ( sex_male , amm1_sk ) ;
14143: LD_INT 1
14145: PPUSH
14146: LD_EXP 45
14150: PPUSH
14151: CALL_OW 383
// amm1 = createhuman ;
14155: LD_ADDR_EXP 44
14159: PUSH
14160: CALL_OW 44
14164: ST_TO_ADDR
// placehumaninunit ( amm1 , amv1 ) ;
14165: LD_EXP 44
14169: PPUSH
14170: LD_EXP 58
14174: PPUSH
14175: CALL_OW 52
// vc_chassis = amv2_ch ;
14179: LD_ADDR_OWVAR 37
14183: PUSH
14184: LD_EXP 62
14188: ST_TO_ADDR
// vc_weapon = amv2_wp ;
14189: LD_ADDR_OWVAR 40
14193: PUSH
14194: LD_EXP 63
14198: ST_TO_ADDR
// amv2 = createvehicle ;
14199: LD_ADDR_EXP 61
14203: PUSH
14204: CALL_OW 45
14208: ST_TO_ADDR
// setdir ( amv2 , 3 ) ;
14209: LD_EXP 61
14213: PPUSH
14214: LD_INT 3
14216: PPUSH
14217: CALL_OW 233
// placeunitxy ( amv2 , 75 , 34 , false ) ;
14221: LD_EXP 61
14225: PPUSH
14226: LD_INT 75
14228: PPUSH
14229: LD_INT 34
14231: PPUSH
14232: LD_INT 0
14234: PPUSH
14235: CALL_OW 48
// preparemechanic ( sex_male , amm2_sk ) ;
14239: LD_INT 1
14241: PPUSH
14242: LD_EXP 47
14246: PPUSH
14247: CALL_OW 383
// amm2 = createhuman ;
14251: LD_ADDR_EXP 46
14255: PUSH
14256: CALL_OW 44
14260: ST_TO_ADDR
// placehumaninunit ( amm2 , amv2 ) ;
14261: LD_EXP 46
14265: PPUSH
14266: LD_EXP 61
14270: PPUSH
14271: CALL_OW 52
// vc_chassis = amv3_ch ;
14275: LD_ADDR_OWVAR 37
14279: PUSH
14280: LD_EXP 65
14284: ST_TO_ADDR
// vc_weapon = amv3_wp ;
14285: LD_ADDR_OWVAR 40
14289: PUSH
14290: LD_EXP 66
14294: ST_TO_ADDR
// amv3 = createvehicle ;
14295: LD_ADDR_EXP 64
14299: PUSH
14300: CALL_OW 45
14304: ST_TO_ADDR
// setdir ( amv3 , 2 ) ;
14305: LD_EXP 64
14309: PPUSH
14310: LD_INT 2
14312: PPUSH
14313: CALL_OW 233
// placeunitxy ( amv3 , 38 , 31 , false ) ;
14317: LD_EXP 64
14321: PPUSH
14322: LD_INT 38
14324: PPUSH
14325: LD_INT 31
14327: PPUSH
14328: LD_INT 0
14330: PPUSH
14331: CALL_OW 48
// preparemechanic ( sex_male , amm3_sk ) ;
14335: LD_INT 1
14337: PPUSH
14338: LD_EXP 49
14342: PPUSH
14343: CALL_OW 383
// amm3 = createhuman ;
14347: LD_ADDR_EXP 48
14351: PUSH
14352: CALL_OW 44
14356: ST_TO_ADDR
// placehumaninunit ( amm3 , amv3 ) ;
14357: LD_EXP 48
14361: PPUSH
14362: LD_EXP 64
14366: PPUSH
14367: CALL_OW 52
// vc_chassis = amv4_ch ;
14371: LD_ADDR_OWVAR 37
14375: PUSH
14376: LD_EXP 68
14380: ST_TO_ADDR
// vc_weapon = amv4_wp ;
14381: LD_ADDR_OWVAR 40
14385: PUSH
14386: LD_EXP 69
14390: ST_TO_ADDR
// amv4 = createvehicle ;
14391: LD_ADDR_EXP 67
14395: PUSH
14396: CALL_OW 45
14400: ST_TO_ADDR
// setdir ( amv4 , 3 ) ;
14401: LD_EXP 67
14405: PPUSH
14406: LD_INT 3
14408: PPUSH
14409: CALL_OW 233
// placeunitxy ( amv4 , 47 , 35 , false ) ;
14413: LD_EXP 67
14417: PPUSH
14418: LD_INT 47
14420: PPUSH
14421: LD_INT 35
14423: PPUSH
14424: LD_INT 0
14426: PPUSH
14427: CALL_OW 48
// preparemechanic ( sex_male , amm4_sk ) ;
14431: LD_INT 1
14433: PPUSH
14434: LD_EXP 51
14438: PPUSH
14439: CALL_OW 383
// amm4 = createhuman ;
14443: LD_ADDR_EXP 50
14447: PUSH
14448: CALL_OW 44
14452: ST_TO_ADDR
// placehumaninunit ( amm4 , amv4 ) ;
14453: LD_EXP 50
14457: PPUSH
14458: LD_EXP 67
14462: PPUSH
14463: CALL_OW 52
// vc_chassis = amv5_ch ;
14467: LD_ADDR_OWVAR 37
14471: PUSH
14472: LD_EXP 71
14476: ST_TO_ADDR
// vc_weapon = amv5_wp ;
14477: LD_ADDR_OWVAR 40
14481: PUSH
14482: LD_EXP 72
14486: ST_TO_ADDR
// amv5 = createvehicle ;
14487: LD_ADDR_EXP 70
14491: PUSH
14492: CALL_OW 45
14496: ST_TO_ADDR
// setdir ( amv5 , 1 ) ;
14497: LD_EXP 70
14501: PPUSH
14502: LD_INT 1
14504: PPUSH
14505: CALL_OW 233
// placeunitxy ( amv5 , 83 , 23 , false ) ;
14509: LD_EXP 70
14513: PPUSH
14514: LD_INT 83
14516: PPUSH
14517: LD_INT 23
14519: PPUSH
14520: LD_INT 0
14522: PPUSH
14523: CALL_OW 48
// preparemechanic ( sex_male , amm5_sk ) ;
14527: LD_INT 1
14529: PPUSH
14530: LD_EXP 53
14534: PPUSH
14535: CALL_OW 383
// amm5 = createhuman ;
14539: LD_ADDR_EXP 52
14543: PUSH
14544: CALL_OW 44
14548: ST_TO_ADDR
// placehumaninunit ( amm5 , amv5 ) ;
14549: LD_EXP 52
14553: PPUSH
14554: LD_EXP 70
14558: PPUSH
14559: CALL_OW 52
// vc_chassis = amv6_ch ;
14563: LD_ADDR_OWVAR 37
14567: PUSH
14568: LD_EXP 74
14572: ST_TO_ADDR
// vc_weapon = amv6_wp ;
14573: LD_ADDR_OWVAR 40
14577: PUSH
14578: LD_EXP 75
14582: ST_TO_ADDR
// amv6 = createvehicle ;
14583: LD_ADDR_EXP 73
14587: PUSH
14588: CALL_OW 45
14592: ST_TO_ADDR
// setdir ( amv6 , 2 ) ;
14593: LD_EXP 73
14597: PPUSH
14598: LD_INT 2
14600: PPUSH
14601: CALL_OW 233
// placeunitxy ( amv6 , 80 , 8 , false ) ;
14605: LD_EXP 73
14609: PPUSH
14610: LD_INT 80
14612: PPUSH
14613: LD_INT 8
14615: PPUSH
14616: LD_INT 0
14618: PPUSH
14619: CALL_OW 48
// preparemechanic ( sex_male , amm6_sk ) ;
14623: LD_INT 1
14625: PPUSH
14626: LD_EXP 55
14630: PPUSH
14631: CALL_OW 383
// amm6 = createhuman ;
14635: LD_ADDR_EXP 54
14639: PUSH
14640: CALL_OW 44
14644: ST_TO_ADDR
// placehumaninunit ( amm6 , amv6 ) ;
14645: LD_EXP 54
14649: PPUSH
14650: LD_EXP 73
14654: PPUSH
14655: CALL_OW 52
// vc_chassis = amv7_ch ;
14659: LD_ADDR_OWVAR 37
14663: PUSH
14664: LD_EXP 77
14668: ST_TO_ADDR
// vc_weapon = amv7_wp ;
14669: LD_ADDR_OWVAR 40
14673: PUSH
14674: LD_EXP 78
14678: ST_TO_ADDR
// amv7 = createvehicle ;
14679: LD_ADDR_EXP 76
14683: PUSH
14684: CALL_OW 45
14688: ST_TO_ADDR
// setdir ( amv7 , 3 ) ;
14689: LD_EXP 76
14693: PPUSH
14694: LD_INT 3
14696: PPUSH
14697: CALL_OW 233
// placeunitxy ( amv7 , 43 , 31 , false ) ;
14701: LD_EXP 76
14705: PPUSH
14706: LD_INT 43
14708: PPUSH
14709: LD_INT 31
14711: PPUSH
14712: LD_INT 0
14714: PPUSH
14715: CALL_OW 48
// preparemechanic ( sex_male , amm7_sk ) ;
14719: LD_INT 1
14721: PPUSH
14722: LD_EXP 57
14726: PPUSH
14727: CALL_OW 383
// amm7 = createhuman ;
14731: LD_ADDR_EXP 56
14735: PUSH
14736: CALL_OW 44
14740: ST_TO_ADDR
// placehumaninunit ( amm7 , amv7 ) ;
14741: LD_EXP 56
14745: PPUSH
14746: LD_EXP 76
14750: PPUSH
14751: CALL_OW 52
// preparehuman ( sex_male , class_sniper , amsn0_sk ) ;
14755: LD_INT 1
14757: PPUSH
14758: LD_INT 5
14760: PPUSH
14761: LD_EXP 80
14765: PPUSH
14766: CALL_OW 380
// amsn0 = createhuman ;
14770: LD_ADDR_EXP 79
14774: PUSH
14775: CALL_OW 44
14779: ST_TO_ADDR
// placeunitxyr ( amsn0 , 99 , 40 , 1 , false ) ;
14780: LD_EXP 79
14784: PPUSH
14785: LD_INT 99
14787: PPUSH
14788: LD_INT 40
14790: PPUSH
14791: LD_INT 1
14793: PPUSH
14794: LD_INT 0
14796: PPUSH
14797: CALL_OW 50
// comhold ( amsn0 ) ;
14801: LD_EXP 79
14805: PPUSH
14806: CALL_OW 140
// preparehuman ( sex_male , class_sniper , amsn1_sk ) ;
14810: LD_INT 1
14812: PPUSH
14813: LD_INT 5
14815: PPUSH
14816: LD_EXP 82
14820: PPUSH
14821: CALL_OW 380
// amsn1 = createhuman ;
14825: LD_ADDR_EXP 81
14829: PUSH
14830: CALL_OW 44
14834: ST_TO_ADDR
// placeunitxyr ( amsn1 , 94 , 11 , 1 , false ) ;
14835: LD_EXP 81
14839: PPUSH
14840: LD_INT 94
14842: PPUSH
14843: LD_INT 11
14845: PPUSH
14846: LD_INT 1
14848: PPUSH
14849: LD_INT 0
14851: PPUSH
14852: CALL_OW 50
// comhold ( amsn1 ) ;
14856: LD_EXP 81
14860: PPUSH
14861: CALL_OW 140
// prepareengineer ( sex_female , 7 ) ;
14865: LD_INT 2
14867: PPUSH
14868: LD_INT 7
14870: PPUSH
14871: CALL_OW 382
// tmp = createhuman ;
14875: LD_ADDR_VAR 0 2
14879: PUSH
14880: CALL_OW 44
14884: ST_TO_ADDR
// placeunitxyr ( tmp , 78 , 23 , 2 , false ) ;
14885: LD_VAR 0 2
14889: PPUSH
14890: LD_INT 78
14892: PPUSH
14893: LD_INT 23
14895: PPUSH
14896: LD_INT 2
14898: PPUSH
14899: LD_INT 0
14901: PPUSH
14902: CALL_OW 50
// comenterunit ( tmp , amwareh ) ;
14906: LD_VAR 0 2
14910: PPUSH
14911: LD_INT 3
14913: PPUSH
14914: CALL_OW 120
// prepareengineer ( sex_male , ame0_sk ) ;
14918: LD_INT 1
14920: PPUSH
14921: LD_EXP 84
14925: PPUSH
14926: CALL_OW 382
// ame0 = createhuman ;
14930: LD_ADDR_EXP 83
14934: PUSH
14935: CALL_OW 44
14939: ST_TO_ADDR
// placeunitxyr ( ame0 , 31 , 37 , 1 , false ) ;
14940: LD_EXP 83
14944: PPUSH
14945: LD_INT 31
14947: PPUSH
14948: LD_INT 37
14950: PPUSH
14951: LD_INT 1
14953: PPUSH
14954: LD_INT 0
14956: PPUSH
14957: CALL_OW 50
// comhold ( ame0 ) ;
14961: LD_EXP 83
14965: PPUSH
14966: CALL_OW 140
// prepareengineer ( sex_male , ame1_sk ) ;
14970: LD_INT 1
14972: PPUSH
14973: LD_EXP 86
14977: PPUSH
14978: CALL_OW 382
// ame1 = createhuman ;
14982: LD_ADDR_EXP 85
14986: PUSH
14987: CALL_OW 44
14991: ST_TO_ADDR
// placeunitxyr ( ame1 , 58 , 45 , 1 , false ) ;
14992: LD_EXP 85
14996: PPUSH
14997: LD_INT 58
14999: PPUSH
15000: LD_INT 45
15002: PPUSH
15003: LD_INT 1
15005: PPUSH
15006: LD_INT 0
15008: PPUSH
15009: CALL_OW 50
// comhold ( ame1 ) ;
15013: LD_EXP 85
15017: PPUSH
15018: CALL_OW 140
// prepareengineer ( sex_male , ame2_sk ) ;
15022: LD_INT 1
15024: PPUSH
15025: LD_EXP 88
15029: PPUSH
15030: CALL_OW 382
// ame2 = createhuman ;
15034: LD_ADDR_EXP 87
15038: PUSH
15039: CALL_OW 44
15043: ST_TO_ADDR
// placeunitxyr ( ame2 , 86 , 48 , 1 , false ) ;
15044: LD_EXP 87
15048: PPUSH
15049: LD_INT 86
15051: PPUSH
15052: LD_INT 48
15054: PPUSH
15055: LD_INT 1
15057: PPUSH
15058: LD_INT 0
15060: PPUSH
15061: CALL_OW 50
// comhold ( ame2 ) ;
15065: LD_EXP 87
15069: PPUSH
15070: CALL_OW 140
// prepareengineer ( sex_male , ame3_sk ) ;
15074: LD_INT 1
15076: PPUSH
15077: LD_EXP 90
15081: PPUSH
15082: CALL_OW 382
// ame3 = createhuman ;
15086: LD_ADDR_EXP 89
15090: PUSH
15091: CALL_OW 44
15095: ST_TO_ADDR
// placeunitxyr ( ame3 , 96 , 33 , 1 , false ) ;
15096: LD_EXP 89
15100: PPUSH
15101: LD_INT 96
15103: PPUSH
15104: LD_INT 33
15106: PPUSH
15107: LD_INT 1
15109: PPUSH
15110: LD_INT 0
15112: PPUSH
15113: CALL_OW 50
// comhold ( ame3 ) ;
15117: LD_EXP 89
15121: PPUSH
15122: CALL_OW 140
// prepareengineer ( sex_male , ame4_sk ) ;
15126: LD_INT 1
15128: PPUSH
15129: LD_EXP 92
15133: PPUSH
15134: CALL_OW 382
// ame4 = createhuman ;
15138: LD_ADDR_EXP 91
15142: PUSH
15143: CALL_OW 44
15147: ST_TO_ADDR
// placeunitxyr ( ame4 , 81 , 29 , 1 , false ) ;
15148: LD_EXP 91
15152: PPUSH
15153: LD_INT 81
15155: PPUSH
15156: LD_INT 29
15158: PPUSH
15159: LD_INT 1
15161: PPUSH
15162: LD_INT 0
15164: PPUSH
15165: CALL_OW 50
// comhold ( ame4 ) ;
15169: LD_EXP 91
15173: PPUSH
15174: CALL_OW 140
// prepareengineer ( sex_male , ame5_sk ) ;
15178: LD_INT 1
15180: PPUSH
15181: LD_EXP 94
15185: PPUSH
15186: CALL_OW 382
// ame5 = createhuman ;
15190: LD_ADDR_EXP 93
15194: PUSH
15195: CALL_OW 44
15199: ST_TO_ADDR
// placeunitxyr ( ame5 , 93 , 8 , 1 , false ) ;
15200: LD_EXP 93
15204: PPUSH
15205: LD_INT 93
15207: PPUSH
15208: LD_INT 8
15210: PPUSH
15211: LD_INT 1
15213: PPUSH
15214: LD_INT 0
15216: PPUSH
15217: CALL_OW 50
// comhold ( ame5 ) ;
15221: LD_EXP 93
15225: PPUSH
15226: CALL_OW 140
// inzinyri = [ ame0 , ame1 , ame2 , ame3 , ame4 , ame5 ] ;
15230: LD_ADDR_LOC 27
15234: PUSH
15235: LD_EXP 83
15239: PUSH
15240: LD_EXP 85
15244: PUSH
15245: LD_EXP 87
15249: PUSH
15250: LD_EXP 89
15254: PUSH
15255: LD_EXP 91
15259: PUSH
15260: LD_EXP 93
15264: PUSH
15265: EMPTY
15266: LIST
15267: LIST
15268: LIST
15269: LIST
15270: LIST
15271: LIST
15272: ST_TO_ADDR
// comremember ( inzinyri ) ;
15273: LD_LOC 27
15277: PPUSH
15278: CALL_OW 143
// opravujte = [ [ ambunk0 ] , [ ambunk1 , ambunk2 , ambunk3 , ambunk4 ] , [ ambunk5 , ambunk6 , ambunk7 ] , [ ambunk7 , ambunk8 , ambunk9 ] , [ ambarr , ambunka ] , [ ambunkb , ambunkc ] ] ;
15282: LD_ADDR_LOC 25
15286: PUSH
15287: LD_INT 1
15289: PUSH
15290: EMPTY
15291: LIST
15292: PUSH
15293: LD_INT 5
15295: PUSH
15296: LD_INT 15
15298: PUSH
15299: LD_INT 14
15301: PUSH
15302: LD_INT 6
15304: PUSH
15305: EMPTY
15306: LIST
15307: LIST
15308: LIST
15309: LIST
15310: PUSH
15311: LD_INT 7
15313: PUSH
15314: LD_INT 13
15316: PUSH
15317: LD_INT 8
15319: PUSH
15320: EMPTY
15321: LIST
15322: LIST
15323: LIST
15324: PUSH
15325: LD_INT 8
15327: PUSH
15328: LD_INT 9
15330: PUSH
15331: LD_INT 17
15333: PUSH
15334: EMPTY
15335: LIST
15336: LIST
15337: LIST
15338: PUSH
15339: LD_INT 26
15341: PUSH
15342: LD_INT 12
15344: PUSH
15345: EMPTY
15346: LIST
15347: LIST
15348: PUSH
15349: LD_INT 11
15351: PUSH
15352: LD_INT 10
15354: PUSH
15355: EMPTY
15356: LIST
15357: LIST
15358: PUSH
15359: EMPTY
15360: LIST
15361: LIST
15362: LIST
15363: LIST
15364: LIST
15365: LIST
15366: ST_TO_ADDR
// end ;
15367: LD_VAR 0 1
15371: RET
// var opravujte ; var opravujese ; var inzinyri ; every 0 0$3 do var tmp , tmp2 , tmp3 , oprav , buds , lives ;
15372: GO 15374
15374: DISABLE
15375: LD_INT 0
15377: PPUSH
15378: PPUSH
15379: PPUSH
15380: PPUSH
15381: PPUSH
15382: PPUSH
// begin for tmp = 1 to 0 + opravujte do
15383: LD_ADDR_VAR 0 1
15387: PUSH
15388: DOUBLE
15389: LD_INT 1
15391: DEC
15392: ST_TO_ADDR
15393: LD_INT 0
15395: PUSH
15396: LD_LOC 25
15400: PLUS
15401: PUSH
15402: FOR_TO
15403: IFFALSE 15634
// begin buds = [ ] ;
15405: LD_ADDR_VAR 0 5
15409: PUSH
15410: EMPTY
15411: ST_TO_ADDR
// lives = [ ] ;
15412: LD_ADDR_VAR 0 6
15416: PUSH
15417: EMPTY
15418: ST_TO_ADDR
// for tmp2 in opravujte [ tmp ] do
15419: LD_ADDR_VAR 0 2
15423: PUSH
15424: LD_LOC 25
15428: PUSH
15429: LD_VAR 0 1
15433: ARRAY
15434: PUSH
15435: FOR_IN
15436: IFFALSE 15498
// if ( getlives ( tmp2 ) < hranice_zdravi ) then
15438: LD_VAR 0 2
15442: PPUSH
15443: CALL_OW 256
15447: PUSH
15448: LD_INT 1000
15450: LESS
15451: IFFALSE 15496
// begin buds = buds ^ [ tmp2 ] ;
15453: LD_ADDR_VAR 0 5
15457: PUSH
15458: LD_VAR 0 5
15462: PUSH
15463: LD_VAR 0 2
15467: PUSH
15468: EMPTY
15469: LIST
15470: ADD
15471: ST_TO_ADDR
// lives = lives ^ [ getlives ( tmp2 ) ] ;
15472: LD_ADDR_VAR 0 6
15476: PUSH
15477: LD_VAR 0 6
15481: PUSH
15482: LD_VAR 0 2
15486: PPUSH
15487: CALL_OW 256
15491: PUSH
15492: EMPTY
15493: LIST
15494: ADD
15495: ST_TO_ADDR
// end ;
15496: GO 15435
15498: POP
15499: POP
// tmp2 = sortlistbylistasc ( buds , lives ) ;
15500: LD_ADDR_VAR 0 2
15504: PUSH
15505: LD_VAR 0 5
15509: PPUSH
15510: LD_VAR 0 6
15514: PPUSH
15515: CALL_OW 76
15519: ST_TO_ADDR
// if tmp2 then
15520: LD_VAR 0 2
15524: IFFALSE 15632
// begin comrepairbuilding ( inzinyri [ tmp ] , tmp2 [ 1 ] ) ;
15526: LD_LOC 27
15530: PUSH
15531: LD_VAR 0 1
15535: ARRAY
15536: PPUSH
15537: LD_VAR 0 2
15541: PUSH
15542: LD_INT 1
15544: ARRAY
15545: PPUSH
15546: CALL_OW 130
// for tmp3 = 2 to 0 + tmp2 do
15550: LD_ADDR_VAR 0 3
15554: PUSH
15555: DOUBLE
15556: LD_INT 2
15558: DEC
15559: ST_TO_ADDR
15560: LD_INT 0
15562: PUSH
15563: LD_VAR 0 2
15567: PLUS
15568: PUSH
15569: FOR_TO
15570: IFFALSE 15600
// addcomrepairbuilding ( inzinyri [ tmp ] , tmp2 [ tmp3 ] ) ;
15572: LD_LOC 27
15576: PUSH
15577: LD_VAR 0 1
15581: ARRAY
15582: PPUSH
15583: LD_VAR 0 2
15587: PUSH
15588: LD_VAR 0 3
15592: ARRAY
15593: PPUSH
15594: CALL_OW 190
15598: GO 15569
15600: POP
15601: POP
// addcomreturn ( inzinyri [ tmp ] ) ;
15602: LD_LOC 27
15606: PUSH
15607: LD_VAR 0 1
15611: ARRAY
15612: PPUSH
15613: CALL_OW 204
// addcomhold ( inzinyri [ tmp ] ) ;
15617: LD_LOC 27
15621: PUSH
15622: LD_VAR 0 1
15626: ARRAY
15627: PPUSH
15628: CALL_OW 200
// end ; end ;
15632: GO 15402
15634: POP
15635: POP
// enable ;
15636: ENABLE
// end ; end_of_file
15637: PPOPN 6
15639: END
// every 0 0$2 + 0 0$0.1 do
15640: GO 15642
15642: DISABLE
// begin if FilterAllUnits ( [ [ f_side , 3 ] , [ f_or , [ f_class , class_apeman ] , [ f_class , class_apeman_engineer ] , [ f_class , class_apeman_soldier ] , [ f_class , class_apeman_kamikaze ] ] ] ) > FilterAllUnits ( [ [ f_side , 3 ] , [ 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
15643: LD_INT 22
15645: PUSH
15646: LD_INT 3
15648: PUSH
15649: EMPTY
15650: LIST
15651: LIST
15652: PUSH
15653: LD_INT 2
15655: PUSH
15656: LD_INT 25
15658: PUSH
15659: LD_INT 12
15661: PUSH
15662: EMPTY
15663: LIST
15664: LIST
15665: PUSH
15666: LD_INT 25
15668: PUSH
15669: LD_INT 16
15671: PUSH
15672: EMPTY
15673: LIST
15674: LIST
15675: PUSH
15676: LD_INT 25
15678: PUSH
15679: LD_INT 15
15681: PUSH
15682: EMPTY
15683: LIST
15684: LIST
15685: PUSH
15686: LD_INT 25
15688: PUSH
15689: LD_INT 17
15691: PUSH
15692: EMPTY
15693: LIST
15694: LIST
15695: PUSH
15696: EMPTY
15697: LIST
15698: LIST
15699: LIST
15700: LIST
15701: LIST
15702: PUSH
15703: EMPTY
15704: LIST
15705: LIST
15706: PPUSH
15707: CALL_OW 69
15711: PUSH
15712: LD_INT 22
15714: PUSH
15715: LD_INT 3
15717: PUSH
15718: EMPTY
15719: LIST
15720: LIST
15721: PUSH
15722: LD_INT 21
15724: PUSH
15725: LD_INT 1
15727: PUSH
15728: EMPTY
15729: LIST
15730: LIST
15731: PUSH
15732: LD_INT 3
15734: PUSH
15735: LD_INT 2
15737: PUSH
15738: LD_INT 25
15740: PUSH
15741: LD_INT 12
15743: PUSH
15744: EMPTY
15745: LIST
15746: LIST
15747: PUSH
15748: LD_INT 25
15750: PUSH
15751: LD_INT 16
15753: PUSH
15754: EMPTY
15755: LIST
15756: LIST
15757: PUSH
15758: LD_INT 25
15760: PUSH
15761: LD_INT 15
15763: PUSH
15764: EMPTY
15765: LIST
15766: LIST
15767: PUSH
15768: LD_INT 25
15770: PUSH
15771: LD_INT 17
15773: PUSH
15774: EMPTY
15775: LIST
15776: LIST
15777: PUSH
15778: EMPTY
15779: LIST
15780: LIST
15781: LIST
15782: LIST
15783: LIST
15784: PUSH
15785: EMPTY
15786: LIST
15787: LIST
15788: PUSH
15789: EMPTY
15790: LIST
15791: LIST
15792: LIST
15793: PPUSH
15794: CALL_OW 69
15798: GREATER
15799: IFFALSE 15810
// begin SetAchievement ( ACH_POTA ) ;
15801: LD_STRING ACH_POTA
15803: PPUSH
15804: CALL_OW 543
// exit ;
15808: GO 15811
// end ; enable ;
15810: ENABLE
// end ; end_of_file
15811: END
// export function SA_EndMission ( campaignNumber , missionNumber , medal1 , medal2 , medal3 ) ; var achiv ; begin
15812: LD_INT 0
15814: PPUSH
15815: PPUSH
// if not missionNumber then
15816: LD_VAR 0 2
15820: NOT
15821: IFFALSE 15825
// exit ;
15823: GO 15955
// achiv := false ;
15825: LD_ADDR_VAR 0 7
15829: PUSH
15830: LD_INT 0
15832: ST_TO_ADDR
// case campaignNumber of 1 :
15833: LD_VAR 0 1
15837: PUSH
15838: LD_INT 1
15840: DOUBLE
15841: EQUAL
15842: IFTRUE 15846
15844: GO 15857
15846: POP
// achiv := ACH_GOTA ; 2 :
15847: LD_ADDR_VAR 0 7
15851: PUSH
15852: LD_STRING ACH_GOTA
15854: ST_TO_ADDR
15855: GO 15907
15857: LD_INT 2
15859: DOUBLE
15860: EQUAL
15861: IFTRUE 15865
15863: GO 15868
15865: POP
// ; 3 :
15866: GO 15907
15868: LD_INT 3
15870: DOUBLE
15871: EQUAL
15872: IFTRUE 15876
15874: GO 15887
15876: POP
// achiv := ACH_MOTSU ; 4 :
15877: LD_ADDR_VAR 0 7
15881: PUSH
15882: LD_STRING ACH_MOTSU
15884: ST_TO_ADDR
15885: GO 15907
15887: LD_INT 4
15889: DOUBLE
15890: EQUAL
15891: IFTRUE 15895
15893: GO 15906
15895: POP
// achiv := ACH_LOP ; end ;
15896: LD_ADDR_VAR 0 7
15900: PUSH
15901: LD_STRING ACH_LOP
15903: ST_TO_ADDR
15904: GO 15907
15906: POP
// if Difficulty = 3 and achiv and medal1 and medal2 and medal3 then
15907: LD_OWVAR 67
15911: PUSH
15912: LD_INT 3
15914: EQUAL
15915: PUSH
15916: LD_VAR 0 7
15920: AND
15921: PUSH
15922: LD_VAR 0 3
15926: AND
15927: PUSH
15928: LD_VAR 0 4
15932: AND
15933: PUSH
15934: LD_VAR 0 5
15938: AND
15939: IFFALSE 15955
// SetAchievementEX ( achiv , missionNumber ) ;
15941: LD_VAR 0 7
15945: PPUSH
15946: LD_VAR 0 2
15950: PPUSH
15951: CALL_OW 564
// end ;
15955: LD_VAR 0 6
15959: RET
// export function SA_BehemothConstructed ; begin
15960: LD_INT 0
15962: PPUSH
// SetAchievement ( ACH_SMC ) ;
15963: LD_STRING ACH_SMC
15965: PPUSH
15966: CALL_OW 543
// end ;
15970: LD_VAR 0 1
15974: RET
// on CustomCommand ( p1 , p2 , p3 , p4 , p5 , p6 ) do begin case p2 of 1 :
15975: LD_VAR 0 2
15979: PUSH
15980: LD_INT 1
15982: DOUBLE
15983: EQUAL
15984: IFTRUE 15988
15986: GO 15995
15988: POP
// HackUnlimitedResources ; 2 :
15989: CALL 16179 0 0
15993: GO 16176
15995: LD_INT 2
15997: DOUBLE
15998: EQUAL
15999: IFTRUE 16003
16001: GO 16010
16003: POP
// HackSetLevel10 ; 3 :
16004: CALL 16312 0 0
16008: GO 16176
16010: LD_INT 3
16012: DOUBLE
16013: EQUAL
16014: IFTRUE 16018
16016: GO 16025
16018: POP
// HackSetLevel10YourUnits ; 4 :
16019: CALL 16397 0 0
16023: GO 16176
16025: LD_INT 4
16027: DOUBLE
16028: EQUAL
16029: IFTRUE 16033
16031: GO 16055
16033: POP
// HackSpawnHuman ( p3 , p4 , p5 ) ; 5 :
16034: LD_VAR 0 3
16038: PPUSH
16039: LD_VAR 0 4
16043: PPUSH
16044: LD_VAR 0 5
16048: PPUSH
16049: CALL 16487 0 3
16053: GO 16176
16055: LD_INT 5
16057: DOUBLE
16058: EQUAL
16059: IFTRUE 16063
16061: GO 16070
16063: POP
// HackSpawnVehicle ; 6 :
16064: CALL 16548 0 0
16068: GO 16176
16070: LD_INT 6
16072: DOUBLE
16073: EQUAL
16074: IFTRUE 16078
16076: GO 16085
16078: POP
// HackInvincible ; 7 :
16079: CALL 17094 0 0
16083: GO 16176
16085: LD_INT 7
16087: DOUBLE
16088: EQUAL
16089: IFTRUE 16093
16091: GO 16100
16093: POP
// HackInvisible ; 8 :
16094: CALL 17205 0 0
16098: GO 16176
16100: LD_INT 8
16102: DOUBLE
16103: EQUAL
16104: IFTRUE 16108
16106: GO 16115
16108: POP
// HackChangeYourSide ; 9 :
16109: CALL 17262 0 0
16113: GO 16176
16115: LD_INT 9
16117: DOUBLE
16118: EQUAL
16119: IFTRUE 16123
16121: GO 16130
16123: POP
// HackChangeUnitSide ; 10 :
16124: CALL 17304 0 0
16128: GO 16176
16130: LD_INT 10
16132: DOUBLE
16133: EQUAL
16134: IFTRUE 16138
16136: GO 16145
16138: POP
// HackFog ; 11 :
16139: CALL 17405 0 0
16143: GO 16176
16145: LD_INT 11
16147: DOUBLE
16148: EQUAL
16149: IFTRUE 16153
16151: GO 16160
16153: POP
// HackApeman ; 12 :
16154: CALL 17420 0 0
16158: GO 16176
16160: LD_INT 12
16162: DOUBLE
16163: EQUAL
16164: IFTRUE 16168
16166: GO 16175
16168: POP
// HackBoom ; end ;
16169: CALL 17505 0 0
16173: GO 16176
16175: POP
// end ;
16176: PPOPN 6
16178: END
// export function HackUnlimitedResources ; var i , j , tmp ; begin
16179: LD_INT 0
16181: PPUSH
16182: PPUSH
16183: PPUSH
16184: PPUSH
// tmp := FilterAllUnits ( [ [ f_side , your_side ] , [ f_or , [ f_btype , b_depot ] , [ f_btype , b_warehouse ] ] ] ) ;
16185: LD_ADDR_VAR 0 4
16189: PUSH
16190: LD_INT 22
16192: PUSH
16193: LD_OWVAR 2
16197: PUSH
16198: EMPTY
16199: LIST
16200: LIST
16201: PUSH
16202: LD_INT 2
16204: PUSH
16205: LD_INT 30
16207: PUSH
16208: LD_INT 0
16210: PUSH
16211: EMPTY
16212: LIST
16213: LIST
16214: PUSH
16215: LD_INT 30
16217: PUSH
16218: LD_INT 1
16220: PUSH
16221: EMPTY
16222: LIST
16223: LIST
16224: PUSH
16225: EMPTY
16226: LIST
16227: LIST
16228: LIST
16229: PUSH
16230: EMPTY
16231: LIST
16232: LIST
16233: PPUSH
16234: CALL_OW 69
16238: ST_TO_ADDR
// if not tmp then
16239: LD_VAR 0 4
16243: NOT
16244: IFFALSE 16248
// exit ;
16246: GO 16307
// for i in tmp do
16248: LD_ADDR_VAR 0 2
16252: PUSH
16253: LD_VAR 0 4
16257: PUSH
16258: FOR_IN
16259: IFFALSE 16305
// for j = 1 to 3 do
16261: LD_ADDR_VAR 0 3
16265: PUSH
16266: DOUBLE
16267: LD_INT 1
16269: DEC
16270: ST_TO_ADDR
16271: LD_INT 3
16273: PUSH
16274: FOR_TO
16275: IFFALSE 16301
// SetResourceType ( GetBase ( i ) , j , 99999 ) ;
16277: LD_VAR 0 2
16281: PPUSH
16282: CALL_OW 274
16286: PPUSH
16287: LD_VAR 0 3
16291: PPUSH
16292: LD_INT 99999
16294: PPUSH
16295: CALL_OW 277
16299: GO 16274
16301: POP
16302: POP
16303: GO 16258
16305: POP
16306: POP
// end ;
16307: LD_VAR 0 1
16311: RET
// export function HackSetLevel10 ; var i , j ; begin
16312: LD_INT 0
16314: PPUSH
16315: PPUSH
16316: PPUSH
// for i in FilterAllUnits ( [ f_type , unit_human ] ) do
16317: LD_ADDR_VAR 0 2
16321: PUSH
16322: LD_INT 21
16324: PUSH
16325: LD_INT 1
16327: PUSH
16328: EMPTY
16329: LIST
16330: LIST
16331: PPUSH
16332: CALL_OW 69
16336: PUSH
16337: FOR_IN
16338: IFFALSE 16390
// if IsSelected ( i ) then
16340: LD_VAR 0 2
16344: PPUSH
16345: CALL_OW 306
16349: IFFALSE 16388
// begin for j := 1 to 4 do
16351: LD_ADDR_VAR 0 3
16355: PUSH
16356: DOUBLE
16357: LD_INT 1
16359: DEC
16360: ST_TO_ADDR
16361: LD_INT 4
16363: PUSH
16364: FOR_TO
16365: IFFALSE 16386
// SetSkill ( i , j , 10 ) ;
16367: LD_VAR 0 2
16371: PPUSH
16372: LD_VAR 0 3
16376: PPUSH
16377: LD_INT 10
16379: PPUSH
16380: CALL_OW 237
16384: GO 16364
16386: POP
16387: POP
// end ;
16388: GO 16337
16390: POP
16391: POP
// end ;
16392: LD_VAR 0 1
16396: RET
// export function HackSetLevel10YourUnits ; var i , j ; begin
16397: LD_INT 0
16399: PPUSH
16400: PPUSH
16401: PPUSH
// for i in FilterAllUnits ( [ [ f_side , your_side ] , [ f_type , unit_human ] ] ) do
16402: LD_ADDR_VAR 0 2
16406: PUSH
16407: LD_INT 22
16409: PUSH
16410: LD_OWVAR 2
16414: PUSH
16415: EMPTY
16416: LIST
16417: LIST
16418: PUSH
16419: LD_INT 21
16421: PUSH
16422: LD_INT 1
16424: PUSH
16425: EMPTY
16426: LIST
16427: LIST
16428: PUSH
16429: EMPTY
16430: LIST
16431: LIST
16432: PPUSH
16433: CALL_OW 69
16437: PUSH
16438: FOR_IN
16439: IFFALSE 16480
// begin for j := 1 to 4 do
16441: LD_ADDR_VAR 0 3
16445: PUSH
16446: DOUBLE
16447: LD_INT 1
16449: DEC
16450: ST_TO_ADDR
16451: LD_INT 4
16453: PUSH
16454: FOR_TO
16455: IFFALSE 16476
// SetSkill ( i , j , 10 ) ;
16457: LD_VAR 0 2
16461: PPUSH
16462: LD_VAR 0 3
16466: PPUSH
16467: LD_INT 10
16469: PPUSH
16470: CALL_OW 237
16474: GO 16454
16476: POP
16477: POP
// end ;
16478: GO 16438
16480: POP
16481: POP
// end ;
16482: LD_VAR 0 1
16486: RET
// export function HackSpawnHuman ( nation , class , skill ) ; begin
16487: LD_INT 0
16489: PPUSH
// uc_side := your_side ;
16490: LD_ADDR_OWVAR 20
16494: PUSH
16495: LD_OWVAR 2
16499: ST_TO_ADDR
// uc_nation := nation ;
16500: LD_ADDR_OWVAR 21
16504: PUSH
16505: LD_VAR 0 1
16509: ST_TO_ADDR
// InitHc ;
16510: CALL_OW 19
// PrepareHuman ( false , class , skill ) ;
16514: LD_INT 0
16516: PPUSH
16517: LD_VAR 0 2
16521: PPUSH
16522: LD_VAR 0 3
16526: PPUSH
16527: CALL_OW 380
// PlaceUnitAnywhere ( CreateHuman , true ) ;
16531: CALL_OW 44
16535: PPUSH
16536: LD_INT 1
16538: PPUSH
16539: CALL_OW 51
// end ;
16543: LD_VAR 0 4
16547: RET
// export function HackSpawnVehicle ; begin
16548: LD_INT 0
16550: PPUSH
// uc_side := your_side ;
16551: LD_ADDR_OWVAR 20
16555: PUSH
16556: LD_OWVAR 2
16560: ST_TO_ADDR
// uc_nation := rand ( 1 , 3 ) ;
16561: LD_ADDR_OWVAR 21
16565: PUSH
16566: LD_INT 1
16568: PPUSH
16569: LD_INT 3
16571: PPUSH
16572: CALL_OW 12
16576: ST_TO_ADDR
// InitVc ;
16577: CALL_OW 20
// case uc_nation of 1 :
16581: LD_OWVAR 21
16585: PUSH
16586: LD_INT 1
16588: DOUBLE
16589: EQUAL
16590: IFTRUE 16594
16592: GO 16738
16594: POP
// begin vc_chassis := [ us_light_wheeled , us_medium_wheeled , us_medium_tracked , us_heavy_tracked , us_morphling ] [ rand ( 1 , 5 ) ] ;
16595: LD_ADDR_OWVAR 37
16599: PUSH
16600: LD_INT 1
16602: PUSH
16603: LD_INT 2
16605: PUSH
16606: LD_INT 3
16608: PUSH
16609: LD_INT 4
16611: PUSH
16612: LD_INT 5
16614: PUSH
16615: EMPTY
16616: LIST
16617: LIST
16618: LIST
16619: LIST
16620: LIST
16621: PUSH
16622: LD_INT 1
16624: PPUSH
16625: LD_INT 5
16627: PPUSH
16628: CALL_OW 12
16632: ARRAY
16633: ST_TO_ADDR
// vc_engine := rand ( 1 , 3 ) ;
16634: LD_ADDR_OWVAR 39
16638: PUSH
16639: LD_INT 1
16641: PPUSH
16642: LD_INT 3
16644: PPUSH
16645: CALL_OW 12
16649: ST_TO_ADDR
// vc_control := [ control_manual , control_remote , control_computer ] [ rand ( 1 , 3 ) ] ;
16650: LD_ADDR_OWVAR 38
16654: PUSH
16655: LD_INT 1
16657: PUSH
16658: LD_INT 2
16660: PUSH
16661: LD_INT 3
16663: PUSH
16664: EMPTY
16665: LIST
16666: LIST
16667: LIST
16668: PUSH
16669: LD_INT 1
16671: PPUSH
16672: LD_INT 3
16674: PPUSH
16675: CALL_OW 12
16679: ARRAY
16680: 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 ) ] ;
16681: LD_ADDR_OWVAR 40
16685: PUSH
16686: LD_INT 2
16688: PUSH
16689: LD_INT 4
16691: PUSH
16692: LD_INT 5
16694: PUSH
16695: LD_INT 3
16697: PUSH
16698: LD_INT 7
16700: PUSH
16701: LD_INT 8
16703: PUSH
16704: LD_INT 9
16706: PUSH
16707: LD_INT 10
16709: PUSH
16710: LD_INT 6
16712: PUSH
16713: EMPTY
16714: LIST
16715: LIST
16716: LIST
16717: LIST
16718: LIST
16719: LIST
16720: LIST
16721: LIST
16722: LIST
16723: PUSH
16724: LD_INT 1
16726: PPUSH
16727: LD_INT 9
16729: PPUSH
16730: CALL_OW 12
16734: ARRAY
16735: ST_TO_ADDR
// end ; 2 :
16736: GO 17003
16738: LD_INT 2
16740: DOUBLE
16741: EQUAL
16742: IFTRUE 16746
16744: GO 16870
16746: POP
// begin vc_chassis := [ ar_hovercraft , ar_light_trike , ar_medium_trike , ar_half_tracked ] [ rand ( 1 , 4 ) ] ;
16747: LD_ADDR_OWVAR 37
16751: PUSH
16752: LD_INT 11
16754: PUSH
16755: LD_INT 12
16757: PUSH
16758: LD_INT 13
16760: PUSH
16761: LD_INT 14
16763: PUSH
16764: EMPTY
16765: LIST
16766: LIST
16767: LIST
16768: LIST
16769: PUSH
16770: LD_INT 1
16772: PPUSH
16773: LD_INT 4
16775: PPUSH
16776: CALL_OW 12
16780: ARRAY
16781: ST_TO_ADDR
// vc_engine := rand ( 1 , 3 ) ;
16782: LD_ADDR_OWVAR 39
16786: PUSH
16787: LD_INT 1
16789: PPUSH
16790: LD_INT 3
16792: PPUSH
16793: CALL_OW 12
16797: ST_TO_ADDR
// vc_control := [ control_manual , control_remote , control_apeman ] [ rand ( 1 , 3 ) ] ;
16798: LD_ADDR_OWVAR 38
16802: PUSH
16803: LD_INT 1
16805: PUSH
16806: LD_INT 2
16808: PUSH
16809: LD_INT 5
16811: PUSH
16812: EMPTY
16813: LIST
16814: LIST
16815: LIST
16816: PUSH
16817: LD_INT 1
16819: PPUSH
16820: LD_INT 3
16822: PPUSH
16823: CALL_OW 12
16827: ARRAY
16828: ST_TO_ADDR
// vc_weapon := [ ar_double_machine_gun , ar_flame_thrower , ar_gun , ar_rocket_launcher , ar_selfpropelled_bomb ] [ rand ( 1 , 5 ) ] ;
16829: LD_ADDR_OWVAR 40
16833: PUSH
16834: LD_INT 24
16836: PUSH
16837: LD_INT 26
16839: PUSH
16840: LD_INT 27
16842: PUSH
16843: LD_INT 28
16845: PUSH
16846: LD_INT 29
16848: PUSH
16849: EMPTY
16850: LIST
16851: LIST
16852: LIST
16853: LIST
16854: LIST
16855: PUSH
16856: LD_INT 1
16858: PPUSH
16859: LD_INT 5
16861: PPUSH
16862: CALL_OW 12
16866: ARRAY
16867: ST_TO_ADDR
// end ; 3 :
16868: GO 17003
16870: LD_INT 3
16872: DOUBLE
16873: EQUAL
16874: IFTRUE 16878
16876: GO 17002
16878: POP
// begin vc_chassis := [ ru_medium_wheeled , ru_heavy_wheeled , ru_medium_tracked , ru_heavy_tracked ] [ rand ( 1 , 4 ) ] ;
16879: LD_ADDR_OWVAR 37
16883: PUSH
16884: LD_INT 21
16886: PUSH
16887: LD_INT 23
16889: PUSH
16890: LD_INT 22
16892: PUSH
16893: LD_INT 24
16895: PUSH
16896: EMPTY
16897: LIST
16898: LIST
16899: LIST
16900: LIST
16901: PUSH
16902: LD_INT 1
16904: PPUSH
16905: LD_INT 4
16907: PPUSH
16908: CALL_OW 12
16912: ARRAY
16913: ST_TO_ADDR
// vc_engine := rand ( 1 , 3 ) ;
16914: LD_ADDR_OWVAR 39
16918: PUSH
16919: LD_INT 1
16921: PPUSH
16922: LD_INT 3
16924: PPUSH
16925: CALL_OW 12
16929: ST_TO_ADDR
// vc_control := [ control_manual , control_computer ] [ rand ( 1 , 2 ) ] ;
16930: LD_ADDR_OWVAR 38
16934: PUSH
16935: LD_INT 1
16937: PUSH
16938: LD_INT 3
16940: PUSH
16941: EMPTY
16942: LIST
16943: LIST
16944: PUSH
16945: LD_INT 1
16947: PPUSH
16948: LD_INT 2
16950: PPUSH
16951: CALL_OW 12
16955: ARRAY
16956: 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 ) ] ;
16957: LD_ADDR_OWVAR 40
16961: PUSH
16962: LD_INT 42
16964: PUSH
16965: LD_INT 43
16967: PUSH
16968: LD_INT 44
16970: PUSH
16971: LD_INT 46
16973: PUSH
16974: LD_INT 48
16976: PUSH
16977: LD_INT 47
16979: PUSH
16980: EMPTY
16981: LIST
16982: LIST
16983: LIST
16984: LIST
16985: LIST
16986: LIST
16987: PUSH
16988: LD_INT 1
16990: PPUSH
16991: LD_INT 6
16993: PPUSH
16994: CALL_OW 12
16998: ARRAY
16999: ST_TO_ADDR
// end ; end ;
17000: GO 17003
17002: POP
// PlaceUnitAnywhere ( CreateVehicle , true ) ;
17003: CALL_OW 45
17007: PPUSH
17008: LD_INT 1
17010: PPUSH
17011: CALL_OW 51
// end ;
17015: LD_VAR 0 1
17019: RET
// export invincible ; every 1 do
17020: GO 17022
17022: DISABLE
// invincible := [ ] ;
17023: LD_ADDR_EXP 128
17027: PUSH
17028: EMPTY
17029: ST_TO_ADDR
17030: END
// every 10 do var i ;
17031: GO 17033
17033: DISABLE
17034: LD_INT 0
17036: PPUSH
// begin enable ;
17037: ENABLE
// if not invincible then
17038: LD_EXP 128
17042: NOT
17043: IFFALSE 17047
// exit ;
17045: GO 17091
// for i in invincible do
17047: LD_ADDR_VAR 0 1
17051: PUSH
17052: LD_EXP 128
17056: PUSH
17057: FOR_IN
17058: IFFALSE 17089
// if GetLives ( i ) < 1000 then
17060: LD_VAR 0 1
17064: PPUSH
17065: CALL_OW 256
17069: PUSH
17070: LD_INT 1000
17072: LESS
17073: IFFALSE 17087
// SetLives ( i , 1000 ) ;
17075: LD_VAR 0 1
17079: PPUSH
17080: LD_INT 1000
17082: PPUSH
17083: CALL_OW 234
17087: GO 17057
17089: POP
17090: POP
// end ;
17091: PPOPN 1
17093: END
// export function HackInvincible ; var i ; begin
17094: LD_INT 0
17096: PPUSH
17097: PPUSH
// for i in FilterAllUnits ( [ f_or , [ f_type , unit_human ] , [ f_type , unit_vehicle ] ] ) do
17098: LD_ADDR_VAR 0 2
17102: PUSH
17103: LD_INT 2
17105: PUSH
17106: LD_INT 21
17108: PUSH
17109: LD_INT 1
17111: PUSH
17112: EMPTY
17113: LIST
17114: LIST
17115: PUSH
17116: LD_INT 21
17118: PUSH
17119: LD_INT 2
17121: PUSH
17122: EMPTY
17123: LIST
17124: LIST
17125: PUSH
17126: EMPTY
17127: LIST
17128: LIST
17129: LIST
17130: PPUSH
17131: CALL_OW 69
17135: PUSH
17136: FOR_IN
17137: IFFALSE 17198
// if IsSelected ( i ) then
17139: LD_VAR 0 2
17143: PPUSH
17144: CALL_OW 306
17148: IFFALSE 17196
// begin if i in invincible then
17150: LD_VAR 0 2
17154: PUSH
17155: LD_EXP 128
17159: IN
17160: IFFALSE 17180
// invincible := invincible diff i else
17162: LD_ADDR_EXP 128
17166: PUSH
17167: LD_EXP 128
17171: PUSH
17172: LD_VAR 0 2
17176: DIFF
17177: ST_TO_ADDR
17178: GO 17196
// invincible := invincible union i ;
17180: LD_ADDR_EXP 128
17184: PUSH
17185: LD_EXP 128
17189: PUSH
17190: LD_VAR 0 2
17194: UNION
17195: ST_TO_ADDR
// end ;
17196: GO 17136
17198: POP
17199: POP
// end ;
17200: LD_VAR 0 1
17204: RET
// export function HackInvisible ; var i , j ; begin
17205: LD_INT 0
17207: PPUSH
17208: PPUSH
17209: PPUSH
// for i in FilterAllUnits ( [ f_type , unit_human ] ) do
17210: LD_ADDR_VAR 0 2
17214: PUSH
17215: LD_INT 21
17217: PUSH
17218: LD_INT 1
17220: PUSH
17221: EMPTY
17222: LIST
17223: LIST
17224: PPUSH
17225: CALL_OW 69
17229: PUSH
17230: FOR_IN
17231: IFFALSE 17255
// if IsSelected ( i ) then
17233: LD_VAR 0 2
17237: PPUSH
17238: CALL_OW 306
17242: IFFALSE 17253
// begin ComForceInvisible ( i ) ;
17244: LD_VAR 0 2
17248: PPUSH
17249: CALL_OW 496
// end ;
17253: GO 17230
17255: POP
17256: POP
// end ;
17257: LD_VAR 0 1
17261: RET
// export function HackChangeYourSide ; begin
17262: LD_INT 0
17264: PPUSH
// if your_side = 8 then
17265: LD_OWVAR 2
17269: PUSH
17270: LD_INT 8
17272: EQUAL
17273: IFFALSE 17285
// your_side := 0 else
17275: LD_ADDR_OWVAR 2
17279: PUSH
17280: LD_INT 0
17282: ST_TO_ADDR
17283: GO 17299
// your_side := your_side + 1 ;
17285: LD_ADDR_OWVAR 2
17289: PUSH
17290: LD_OWVAR 2
17294: PUSH
17295: LD_INT 1
17297: PLUS
17298: ST_TO_ADDR
// end ;
17299: LD_VAR 0 1
17303: RET
// export function HackChangeUnitSide ; var i , j ; begin
17304: LD_INT 0
17306: PPUSH
17307: PPUSH
17308: PPUSH
// for i in all_units do
17309: LD_ADDR_VAR 0 2
17313: PUSH
17314: LD_OWVAR 3
17318: PUSH
17319: FOR_IN
17320: IFFALSE 17398
// if IsSelected ( i ) then
17322: LD_VAR 0 2
17326: PPUSH
17327: CALL_OW 306
17331: IFFALSE 17396
// begin j := GetSide ( i ) ;
17333: LD_ADDR_VAR 0 3
17337: PUSH
17338: LD_VAR 0 2
17342: PPUSH
17343: CALL_OW 255
17347: ST_TO_ADDR
// if j = 8 then
17348: LD_VAR 0 3
17352: PUSH
17353: LD_INT 8
17355: EQUAL
17356: IFFALSE 17368
// j := 0 else
17358: LD_ADDR_VAR 0 3
17362: PUSH
17363: LD_INT 0
17365: ST_TO_ADDR
17366: GO 17382
// j := j + 1 ;
17368: LD_ADDR_VAR 0 3
17372: PUSH
17373: LD_VAR 0 3
17377: PUSH
17378: LD_INT 1
17380: PLUS
17381: ST_TO_ADDR
// SetSide ( i , j ) ;
17382: LD_VAR 0 2
17386: PPUSH
17387: LD_VAR 0 3
17391: PPUSH
17392: CALL_OW 235
// end ;
17396: GO 17319
17398: POP
17399: POP
// end ;
17400: LD_VAR 0 1
17404: RET
// export function HackFog ; begin
17405: LD_INT 0
17407: PPUSH
// FogOff ( true ) ;
17408: LD_INT 1
17410: PPUSH
17411: CALL_OW 344
// end ;
17415: LD_VAR 0 1
17419: RET
// export function HackApeman ; begin
17420: LD_INT 0
17422: PPUSH
// uc_side := your_side ;
17423: LD_ADDR_OWVAR 20
17427: PUSH
17428: LD_OWVAR 2
17432: ST_TO_ADDR
// uc_nation := 0 ;
17433: LD_ADDR_OWVAR 21
17437: PUSH
17438: LD_INT 0
17440: ST_TO_ADDR
// hc_name :=  ;
17441: LD_ADDR_OWVAR 26
17445: PUSH
17446: LD_STRING 
17448: ST_TO_ADDR
// hc_gallery :=  ;
17449: LD_ADDR_OWVAR 33
17453: PUSH
17454: LD_STRING 
17456: ST_TO_ADDR
// hc_skills := [ 0 , 0 , 0 , 0 ] ;
17457: LD_ADDR_OWVAR 31
17461: PUSH
17462: LD_INT 0
17464: PUSH
17465: LD_INT 0
17467: PUSH
17468: LD_INT 0
17470: PUSH
17471: LD_INT 0
17473: PUSH
17474: EMPTY
17475: LIST
17476: LIST
17477: LIST
17478: LIST
17479: ST_TO_ADDR
// hc_class := class_apeman ;
17480: LD_ADDR_OWVAR 28
17484: PUSH
17485: LD_INT 12
17487: ST_TO_ADDR
// PlaceUnitAnywhere ( CreateHuman , true ) ;
17488: CALL_OW 44
17492: PPUSH
17493: LD_INT 1
17495: PPUSH
17496: CALL_OW 51
// end ;
17500: LD_VAR 0 1
17504: RET
// export function HackBoom ; begin
17505: LD_INT 0
17507: PPUSH
// uc_side := your_side ;
17508: LD_ADDR_OWVAR 20
17512: PUSH
17513: LD_OWVAR 2
17517: ST_TO_ADDR
// uc_nation := 1 ;
17518: LD_ADDR_OWVAR 21
17522: PUSH
17523: LD_INT 1
17525: ST_TO_ADDR
// vc_chassis := us_morphling ;
17526: LD_ADDR_OWVAR 37
17530: PUSH
17531: LD_INT 5
17533: ST_TO_ADDR
// vc_engine := engine_siberite ;
17534: LD_ADDR_OWVAR 39
17538: PUSH
17539: LD_INT 3
17541: ST_TO_ADDR
// vc_control := control_computer ;
17542: LD_ADDR_OWVAR 38
17546: PUSH
17547: LD_INT 3
17549: ST_TO_ADDR
// vc_weapon := us_siberium_rocket ;
17550: LD_ADDR_OWVAR 40
17554: PUSH
17555: LD_INT 8
17557: ST_TO_ADDR
// PlaceUnitAnywhere ( CreateVehicle , true ) ;
17558: CALL_OW 45
17562: PPUSH
17563: LD_INT 1
17565: PPUSH
17566: CALL_OW 51
// end ;
17570: LD_VAR 0 1
17574: RET
