// export rus , am , ar , am_odj , legion ; export scie0 , scie0_sk , baz0 , baz0_sk , baz1 , baz1_sk , baz2 , baz2_sk , baz3 , baz3_sk , baz4 , baz4_sk , baz5 , baz5_sk ; export guard0_chassis , guard0_weapon , guard0_dr , guard1_chassis , guard1_weapon , guard1_dr , guard2_chassis , guard2_weapon , guard2_dr , guard3_chassis , guard3_weapon , guard3_dr ; export def0_chassis , def0_weapon , def0_dr , def1_chassis , def1_weapon , def1_dr , def2_chassis , def2_weapon , def2_dr ; export defa_chassis , defa_weapon , defa_driver , defb_chassis , defb_weapon , defb_driver ; export runo0_chassis , runo0_weapon , runo0_driver , runo1_chassis , runo1_weapon , runo1_driver , runo2_chassis , runo2_weapon , runo2_driver ; export ruso0_chassis , ruso0_weapon , ruso0_driver , ruso1_chassis , ruso1_weapon , ruso1_driver , ruso2_chassis , ruso2_weapon , ruso2_driver ; export amv0_ch , amv0_wp , amv1_ch , amv1_wp , amv2_ch , amv2_wp , amv3_ch , amv3_wp , amv0_dr , amv1_dr ; export amsold0_lvl , amsold1_lvl , amscie0_lvl ; export zas1_ch , zas1_wp , zas2_ch , zas2_wp , zas3_ch , zas3_wp , zas1_dr , zas2_dr , zas3_dr ; export req_sib , req_cans , req_sib_ , req_cans_ , req2_sib , req2_cans , req2_sib_ , req2_cans_ , creq_sib , creq_cans , creq_sib_ , creq_cans_ , creq2_sib , creq2_cans , creq2_sib_ , creq2_cans_ ; export fact_mech0 , fact_mech1 ; export t1_1_ch , t1_1_wp , t1_2_ch , t1_2_wp , t1_3_ch , t1_3_wp ; export t2_1_ch , t2_1_wp , t2_2_ch , t2_2_wp , t2_3_ch , t2_3_wp ; export t3_1_ch , t3_1_wp , t3_2_ch , t3_2_wp , t3_3_ch , t3_3_wp ; export marked_3 , telepmed ; export scie1_sk , scie2_sk , scie3_sk , scie4_sk , scie5_sk ; export arv0_ch , arv0_wp , arv0_dr , arv1_ch , arv1_wp , arv1_dr , arv2_ch , arv2_wp , arv2_dr , arsld0 , arsld1 ; export rubunw0_cr , rubunw1_cr , rubunw2_cr , rubune0_cr , rubune1_cr ; export default_skill , rta ; export secondPass ; var cperiode , cper , supplies ; function set_vars ; begin
   0: LD_INT 0
   2: PPUSH
// rus = 3 ;
   3: LD_ADDR_EXP 1
   7: PUSH
   8: LD_INT 3
  10: ST_TO_ADDR
// am = 1 ;
  11: LD_ADDR_EXP 2
  15: PUSH
  16: LD_INT 1
  18: ST_TO_ADDR
// ar = 2 ;
  19: LD_ADDR_EXP 3
  23: PUSH
  24: LD_INT 2
  26: ST_TO_ADDR
// am_odj = 4 ;
  27: LD_ADDR_EXP 4
  31: PUSH
  32: LD_INT 4
  34: ST_TO_ADDR
// amv0_ch = us_medium_wheeled ;
  35: LD_ADDR_EXP 65
  39: PUSH
  40: LD_INT 2
  42: ST_TO_ADDR
// amv0_wp = us_gatling_gun ;
  43: LD_ADDR_EXP 66
  47: PUSH
  48: LD_INT 4
  50: ST_TO_ADDR
// amv0_dr = 5 ;
  51: LD_ADDR_EXP 73
  55: PUSH
  56: LD_INT 5
  58: ST_TO_ADDR
// amv1_ch = us_medium_tracked ;
  59: LD_ADDR_EXP 67
  63: PUSH
  64: LD_INT 3
  66: ST_TO_ADDR
// amv1_wp = us_double_gun ;
  67: LD_ADDR_EXP 68
  71: PUSH
  72: LD_INT 5
  74: ST_TO_ADDR
// amv1_dr = 5 ;
  75: LD_ADDR_EXP 74
  79: PUSH
  80: LD_INT 5
  82: ST_TO_ADDR
// amv2_ch = us_medium_wheeled ;
  83: LD_ADDR_EXP 69
  87: PUSH
  88: LD_INT 2
  90: ST_TO_ADDR
// amv2_wp = us_light_gun ;
  91: LD_ADDR_EXP 70
  95: PUSH
  96: LD_INT 3
  98: ST_TO_ADDR
// amv3_ch = us_medium_tracked ;
  99: LD_ADDR_EXP 71
 103: PUSH
 104: LD_INT 3
 106: ST_TO_ADDR
// amv3_wp = us_gatling_gun ;
 107: LD_ADDR_EXP 72
 111: PUSH
 112: LD_INT 4
 114: ST_TO_ADDR
// amsold0_lvl = 6 ;
 115: LD_ADDR_EXP 75
 119: PUSH
 120: LD_INT 6
 122: ST_TO_ADDR
// amsold1_lvl = 7 ;
 123: LD_ADDR_EXP 76
 127: PUSH
 128: LD_INT 7
 130: ST_TO_ADDR
// amscie0_lvl = 6 ;
 131: LD_ADDR_EXP 77
 135: PUSH
 136: LD_INT 6
 138: ST_TO_ADDR
// zas1_ch = us_medium_tracked ;
 139: LD_ADDR_EXP 78
 143: PUSH
 144: LD_INT 3
 146: ST_TO_ADDR
// zas1_wp = us_gatling_gun ;
 147: LD_ADDR_EXP 79
 151: PUSH
 152: LD_INT 4
 154: ST_TO_ADDR
// zas1_dr = 6 ;
 155: LD_ADDR_EXP 84
 159: PUSH
 160: LD_INT 6
 162: ST_TO_ADDR
// zas2_ch = us_medium_wheeled ;
 163: LD_ADDR_EXP 80
 167: PUSH
 168: LD_INT 2
 170: ST_TO_ADDR
// zas2_wp = us_double_gun ;
 171: LD_ADDR_EXP 81
 175: PUSH
 176: LD_INT 5
 178: ST_TO_ADDR
// zas2_dr = 3 ;
 179: LD_ADDR_EXP 85
 183: PUSH
 184: LD_INT 3
 186: ST_TO_ADDR
// zas3_ch = us_medium_wheeled ;
 187: LD_ADDR_EXP 82
 191: PUSH
 192: LD_INT 2
 194: ST_TO_ADDR
// zas3_wp = us_light_gun ;
 195: LD_ADDR_EXP 83
 199: PUSH
 200: LD_INT 3
 202: ST_TO_ADDR
// zas3_dr = 6 ;
 203: LD_ADDR_EXP 86
 207: PUSH
 208: LD_INT 6
 210: ST_TO_ADDR
// arv0_ch = ar_medium_trike ;
 211: LD_ADDR_EXP 130
 215: PUSH
 216: LD_INT 13
 218: ST_TO_ADDR
// arv0_wp = ar_gatling_gun ;
 219: LD_ADDR_EXP 131
 223: PUSH
 224: LD_INT 25
 226: ST_TO_ADDR
// arv0_dr = 6 ;
 227: LD_ADDR_EXP 132
 231: PUSH
 232: LD_INT 6
 234: ST_TO_ADDR
// arv1_ch = ar_half_tracked ;
 235: LD_ADDR_EXP 133
 239: PUSH
 240: LD_INT 14
 242: ST_TO_ADDR
// arv1_wp = ar_light_gun ;
 243: LD_ADDR_EXP 134
 247: PUSH
 248: LD_INT 23
 250: ST_TO_ADDR
// arv1_dr = 6 ;
 251: LD_ADDR_EXP 135
 255: PUSH
 256: LD_INT 6
 258: ST_TO_ADDR
// arv2_ch = ar_medium_trike ;
 259: LD_ADDR_EXP 136
 263: PUSH
 264: LD_INT 13
 266: ST_TO_ADDR
// arv2_wp = ar_flame_thrower ;
 267: LD_ADDR_EXP 137
 271: PUSH
 272: LD_INT 26
 274: ST_TO_ADDR
// arv2_dr = 5 ;
 275: LD_ADDR_EXP 138
 279: PUSH
 280: LD_INT 5
 282: ST_TO_ADDR
// arsld0 = 6 ;
 283: LD_ADDR_EXP 139
 287: PUSH
 288: LD_INT 6
 290: ST_TO_ADDR
// arsld1 = 7 ;
 291: LD_ADDR_EXP 140
 295: PUSH
 296: LD_INT 7
 298: ST_TO_ADDR
// req_sib = 100 ;
 299: LD_ADDR_EXP 87
 303: PUSH
 304: LD_INT 100
 306: ST_TO_ADDR
// req_cans = 100 ;
 307: LD_ADDR_EXP 88
 311: PUSH
 312: LD_INT 100
 314: ST_TO_ADDR
// req_sib_ = 60 ;
 315: LD_ADDR_EXP 89
 319: PUSH
 320: LD_INT 60
 322: ST_TO_ADDR
// req_cans_ = 60 ;
 323: LD_ADDR_EXP 90
 327: PUSH
 328: LD_INT 60
 330: ST_TO_ADDR
// req2_sib = 200 ;
 331: LD_ADDR_EXP 91
 335: PUSH
 336: LD_INT 200
 338: ST_TO_ADDR
// req2_cans = 200 ;
 339: LD_ADDR_EXP 92
 343: PUSH
 344: LD_INT 200
 346: ST_TO_ADDR
// req2_sib_ = 120 ;
 347: LD_ADDR_EXP 93
 351: PUSH
 352: LD_INT 120
 354: ST_TO_ADDR
// req2_cans_ = 120 ;
 355: LD_ADDR_EXP 94
 359: PUSH
 360: LD_INT 120
 362: ST_TO_ADDR
// creq_sib = req_sib ;
 363: LD_ADDR_EXP 95
 367: PUSH
 368: LD_EXP 87
 372: ST_TO_ADDR
// creq_cans = req_cans ;
 373: LD_ADDR_EXP 96
 377: PUSH
 378: LD_EXP 88
 382: ST_TO_ADDR
// creq_sib_ = req_sib_ ;
 383: LD_ADDR_EXP 97
 387: PUSH
 388: LD_EXP 89
 392: ST_TO_ADDR
// creq_cans_ = req_cans_ ;
 393: LD_ADDR_EXP 98
 397: PUSH
 398: LD_EXP 90
 402: ST_TO_ADDR
// creq2_sib = req2_sib ;
 403: LD_ADDR_EXP 99
 407: PUSH
 408: LD_EXP 91
 412: ST_TO_ADDR
// creq2_cans = req2_cans ;
 413: LD_ADDR_EXP 100
 417: PUSH
 418: LD_EXP 92
 422: ST_TO_ADDR
// creq2_sib_ = req2_sib_ ;
 423: LD_ADDR_EXP 101
 427: PUSH
 428: LD_EXP 93
 432: ST_TO_ADDR
// creq2_cans_ = req2_cans_ ;
 433: LD_ADDR_EXP 102
 437: PUSH
 438: LD_EXP 94
 442: ST_TO_ADDR
// default_skill = [ 7 , 6 , 5 ] [ difficulty ] ;
 443: LD_ADDR_EXP 146
 447: PUSH
 448: LD_INT 7
 450: PUSH
 451: LD_INT 6
 453: PUSH
 454: LD_INT 5
 456: PUSH
 457: EMPTY
 458: LIST
 459: LIST
 460: LIST
 461: PUSH
 462: LD_OWVAR 67
 466: ARRAY
 467: ST_TO_ADDR
// cperiode = [ 1 1$45 , 2 2$05 , 2 2$25 ] [ difficulty ] ;
 468: LD_ADDR_LOC 1
 472: PUSH
 473: LD_INT 3675
 475: PUSH
 476: LD_INT 4375
 478: PUSH
 479: LD_INT 5075
 481: PUSH
 482: EMPTY
 483: LIST
 484: LIST
 485: LIST
 486: PUSH
 487: LD_OWVAR 67
 491: ARRAY
 492: ST_TO_ADDR
// supplies = [ 51 , 27 , 41 ] [ difficulty ] ;
 493: LD_ADDR_LOC 3
 497: PUSH
 498: LD_INT 51
 500: PUSH
 501: LD_INT 27
 503: PUSH
 504: LD_INT 41
 506: PUSH
 507: EMPTY
 508: LIST
 509: LIST
 510: LIST
 511: PUSH
 512: LD_OWVAR 67
 516: ARRAY
 517: ST_TO_ADDR
// rta = [ [ 10 , 30 , 10 , 20 , 17 ] , [ 14 , 22 , 7 , 8 , 11 ] , [ 10 , 18 , 5 , 4 , 7 ] ] [ difficulty ] ;
 518: LD_ADDR_EXP 147
 522: PUSH
 523: LD_INT 10
 525: PUSH
 526: LD_INT 30
 528: PUSH
 529: LD_INT 10
 531: PUSH
 532: LD_INT 20
 534: PUSH
 535: LD_INT 17
 537: PUSH
 538: EMPTY
 539: LIST
 540: LIST
 541: LIST
 542: LIST
 543: LIST
 544: PUSH
 545: LD_INT 14
 547: PUSH
 548: LD_INT 22
 550: PUSH
 551: LD_INT 7
 553: PUSH
 554: LD_INT 8
 556: PUSH
 557: LD_INT 11
 559: PUSH
 560: EMPTY
 561: LIST
 562: LIST
 563: LIST
 564: LIST
 565: LIST
 566: PUSH
 567: LD_INT 10
 569: PUSH
 570: LD_INT 18
 572: PUSH
 573: LD_INT 5
 575: PUSH
 576: LD_INT 4
 578: PUSH
 579: LD_INT 7
 581: PUSH
 582: EMPTY
 583: LIST
 584: LIST
 585: LIST
 586: LIST
 587: LIST
 588: PUSH
 589: EMPTY
 590: LIST
 591: LIST
 592: LIST
 593: PUSH
 594: LD_OWVAR 67
 598: ARRAY
 599: ST_TO_ADDR
// scie0_sk = [ 3 , 5 , 7 ] [ difficulty ] ;
 600: LD_ADDR_EXP 7
 604: PUSH
 605: LD_INT 3
 607: PUSH
 608: LD_INT 5
 610: PUSH
 611: LD_INT 7
 613: PUSH
 614: EMPTY
 615: LIST
 616: LIST
 617: LIST
 618: PUSH
 619: LD_OWVAR 67
 623: ARRAY
 624: ST_TO_ADDR
// baz0_sk = [ 4 , 6 , 8 ] [ difficulty ] ;
 625: LD_ADDR_EXP 9
 629: PUSH
 630: LD_INT 4
 632: PUSH
 633: LD_INT 6
 635: PUSH
 636: LD_INT 8
 638: PUSH
 639: EMPTY
 640: LIST
 641: LIST
 642: LIST
 643: PUSH
 644: LD_OWVAR 67
 648: ARRAY
 649: ST_TO_ADDR
// baz1_sk = [ 3 , 5 , 7 ] [ difficulty ] ;
 650: LD_ADDR_EXP 11
 654: PUSH
 655: LD_INT 3
 657: PUSH
 658: LD_INT 5
 660: PUSH
 661: LD_INT 7
 663: PUSH
 664: EMPTY
 665: LIST
 666: LIST
 667: LIST
 668: PUSH
 669: LD_OWVAR 67
 673: ARRAY
 674: ST_TO_ADDR
// baz2_sk = [ 4 , 6 , 8 ] [ difficulty ] ;
 675: LD_ADDR_EXP 13
 679: PUSH
 680: LD_INT 4
 682: PUSH
 683: LD_INT 6
 685: PUSH
 686: LD_INT 8
 688: PUSH
 689: EMPTY
 690: LIST
 691: LIST
 692: LIST
 693: PUSH
 694: LD_OWVAR 67
 698: ARRAY
 699: ST_TO_ADDR
// baz3_sk = [ 4 , 6 , 8 ] [ difficulty ] ;
 700: LD_ADDR_EXP 15
 704: PUSH
 705: LD_INT 4
 707: PUSH
 708: LD_INT 6
 710: PUSH
 711: LD_INT 8
 713: PUSH
 714: EMPTY
 715: LIST
 716: LIST
 717: LIST
 718: PUSH
 719: LD_OWVAR 67
 723: ARRAY
 724: ST_TO_ADDR
// baz4_sk = [ 3 , 5 , 7 ] [ difficulty ] ;
 725: LD_ADDR_EXP 17
 729: PUSH
 730: LD_INT 3
 732: PUSH
 733: LD_INT 5
 735: PUSH
 736: LD_INT 7
 738: PUSH
 739: EMPTY
 740: LIST
 741: LIST
 742: LIST
 743: PUSH
 744: LD_OWVAR 67
 748: ARRAY
 749: ST_TO_ADDR
// baz5_sk = [ 4 , 6 , 8 ] [ difficulty ] ;
 750: LD_ADDR_EXP 19
 754: PUSH
 755: LD_INT 4
 757: PUSH
 758: LD_INT 6
 760: PUSH
 761: LD_INT 8
 763: PUSH
 764: EMPTY
 765: LIST
 766: LIST
 767: LIST
 768: PUSH
 769: LD_OWVAR 67
 773: ARRAY
 774: ST_TO_ADDR
// guard0_chassis = [ ru_medium_wheeled , ru_medium_wheeled , ru_heavy_wheeled ] [ difficulty ] ;
 775: LD_ADDR_EXP 20
 779: PUSH
 780: LD_INT 21
 782: PUSH
 783: LD_INT 21
 785: PUSH
 786: LD_INT 23
 788: PUSH
 789: EMPTY
 790: LIST
 791: LIST
 792: LIST
 793: PUSH
 794: LD_OWVAR 67
 798: ARRAY
 799: ST_TO_ADDR
// guard0_weapon = [ ru_gun , ru_gun , ru_gun ] [ difficulty ] ;
 800: LD_ADDR_EXP 21
 804: PUSH
 805: LD_INT 44
 807: PUSH
 808: LD_INT 44
 810: PUSH
 811: LD_INT 44
 813: PUSH
 814: EMPTY
 815: LIST
 816: LIST
 817: LIST
 818: PUSH
 819: LD_OWVAR 67
 823: ARRAY
 824: ST_TO_ADDR
// guard0_dr = [ 4 , 6 , 8 ] [ difficulty ] ;
 825: LD_ADDR_EXP 22
 829: PUSH
 830: LD_INT 4
 832: PUSH
 833: LD_INT 6
 835: PUSH
 836: LD_INT 8
 838: PUSH
 839: EMPTY
 840: LIST
 841: LIST
 842: LIST
 843: PUSH
 844: LD_OWVAR 67
 848: ARRAY
 849: ST_TO_ADDR
// guard1_chassis = [ ru_medium_tracked , ru_medium_tracked , ru_medium_tracked ] [ difficulty ] ;
 850: LD_ADDR_EXP 23
 854: PUSH
 855: LD_INT 22
 857: PUSH
 858: LD_INT 22
 860: PUSH
 861: LD_INT 22
 863: PUSH
 864: EMPTY
 865: LIST
 866: LIST
 867: LIST
 868: PUSH
 869: LD_OWVAR 67
 873: ARRAY
 874: ST_TO_ADDR
// guard1_weapon = [ ru_gatling_gun , ru_gatling_gun , ru_gatling_gun ] [ difficulty ] ;
 875: LD_ADDR_EXP 24
 879: PUSH
 880: LD_INT 43
 882: PUSH
 883: LD_INT 43
 885: PUSH
 886: LD_INT 43
 888: PUSH
 889: EMPTY
 890: LIST
 891: LIST
 892: LIST
 893: PUSH
 894: LD_OWVAR 67
 898: ARRAY
 899: ST_TO_ADDR
// guard1_dr = [ 3 , 5 , 7 ] [ difficulty ] ;
 900: LD_ADDR_EXP 25
 904: PUSH
 905: LD_INT 3
 907: PUSH
 908: LD_INT 5
 910: PUSH
 911: LD_INT 7
 913: PUSH
 914: EMPTY
 915: LIST
 916: LIST
 917: LIST
 918: PUSH
 919: LD_OWVAR 67
 923: ARRAY
 924: ST_TO_ADDR
// guard2_chassis = [ ru_medium_wheeled , ru_medium_wheeled , ru_medium_wheeled ] [ difficulty ] ;
 925: LD_ADDR_EXP 26
 929: PUSH
 930: LD_INT 21
 932: PUSH
 933: LD_INT 21
 935: PUSH
 936: LD_INT 21
 938: PUSH
 939: EMPTY
 940: LIST
 941: LIST
 942: LIST
 943: PUSH
 944: LD_OWVAR 67
 948: ARRAY
 949: ST_TO_ADDR
// guard2_weapon = [ ru_heavy_machine_gun , ru_gatling_gun , ru_gatling_gun ] [ difficulty ] ;
 950: LD_ADDR_EXP 27
 954: PUSH
 955: LD_INT 42
 957: PUSH
 958: LD_INT 43
 960: PUSH
 961: LD_INT 43
 963: PUSH
 964: EMPTY
 965: LIST
 966: LIST
 967: LIST
 968: PUSH
 969: LD_OWVAR 67
 973: ARRAY
 974: ST_TO_ADDR
// guard2_dr = [ 4 , 6 , 8 ] [ difficulty ] ;
 975: LD_ADDR_EXP 28
 979: PUSH
 980: LD_INT 4
 982: PUSH
 983: LD_INT 6
 985: PUSH
 986: LD_INT 8
 988: PUSH
 989: EMPTY
 990: LIST
 991: LIST
 992: LIST
 993: PUSH
 994: LD_OWVAR 67
 998: ARRAY
 999: ST_TO_ADDR
// guard3_chassis = [ ru_medium_tracked , ru_medium_tracked , ru_heavy_tracked ] [ difficulty ] ;
1000: LD_ADDR_EXP 29
1004: PUSH
1005: LD_INT 22
1007: PUSH
1008: LD_INT 22
1010: PUSH
1011: LD_INT 24
1013: PUSH
1014: EMPTY
1015: LIST
1016: LIST
1017: LIST
1018: PUSH
1019: LD_OWVAR 67
1023: ARRAY
1024: ST_TO_ADDR
// guard3_weapon = [ ru_gun , ru_gun , ru_heavy_gun ] [ difficulty ] ;
1025: LD_ADDR_EXP 30
1029: PUSH
1030: LD_INT 44
1032: PUSH
1033: LD_INT 44
1035: PUSH
1036: LD_INT 46
1038: PUSH
1039: EMPTY
1040: LIST
1041: LIST
1042: LIST
1043: PUSH
1044: LD_OWVAR 67
1048: ARRAY
1049: ST_TO_ADDR
// guard3_dr = [ 3 , 5 , 7 ] [ difficulty ] ;
1050: LD_ADDR_EXP 31
1054: PUSH
1055: LD_INT 3
1057: PUSH
1058: LD_INT 5
1060: PUSH
1061: LD_INT 7
1063: PUSH
1064: EMPTY
1065: LIST
1066: LIST
1067: LIST
1068: PUSH
1069: LD_OWVAR 67
1073: ARRAY
1074: ST_TO_ADDR
// def0_chassis = [ ru_medium_wheeled , ru_medium_wheeled , ru_medium_wheeled ] [ difficulty ] ;
1075: LD_ADDR_EXP 32
1079: PUSH
1080: LD_INT 21
1082: PUSH
1083: LD_INT 21
1085: PUSH
1086: LD_INT 21
1088: PUSH
1089: EMPTY
1090: LIST
1091: LIST
1092: LIST
1093: PUSH
1094: LD_OWVAR 67
1098: ARRAY
1099: ST_TO_ADDR
// def0_weapon = [ ru_gatling_gun , ru_gatling_gun , ru_gatling_gun ] [ difficulty ] ;
1100: LD_ADDR_EXP 33
1104: PUSH
1105: LD_INT 43
1107: PUSH
1108: LD_INT 43
1110: PUSH
1111: LD_INT 43
1113: PUSH
1114: EMPTY
1115: LIST
1116: LIST
1117: LIST
1118: PUSH
1119: LD_OWVAR 67
1123: ARRAY
1124: ST_TO_ADDR
// def0_dr = [ 2 , 4 , 6 ] [ difficulty ] ;
1125: LD_ADDR_EXP 34
1129: PUSH
1130: LD_INT 2
1132: PUSH
1133: LD_INT 4
1135: PUSH
1136: LD_INT 6
1138: PUSH
1139: EMPTY
1140: LIST
1141: LIST
1142: LIST
1143: PUSH
1144: LD_OWVAR 67
1148: ARRAY
1149: ST_TO_ADDR
// def1_chassis = [ ru_medium_wheeled , ru_medium_wheeled , ru_medium_wheeled ] [ difficulty ] ;
1150: LD_ADDR_EXP 35
1154: PUSH
1155: LD_INT 21
1157: PUSH
1158: LD_INT 21
1160: PUSH
1161: LD_INT 21
1163: PUSH
1164: EMPTY
1165: LIST
1166: LIST
1167: LIST
1168: PUSH
1169: LD_OWVAR 67
1173: ARRAY
1174: ST_TO_ADDR
// def1_weapon = [ ru_heavy_machine_gun , ru_gatling_gun , ru_gatling_gun ] [ difficulty ] ;
1175: LD_ADDR_EXP 36
1179: PUSH
1180: LD_INT 42
1182: PUSH
1183: LD_INT 43
1185: PUSH
1186: LD_INT 43
1188: PUSH
1189: EMPTY
1190: LIST
1191: LIST
1192: LIST
1193: PUSH
1194: LD_OWVAR 67
1198: ARRAY
1199: ST_TO_ADDR
// def1_dr = [ 3 , 5 , 7 ] [ difficulty ] ;
1200: LD_ADDR_EXP 37
1204: PUSH
1205: LD_INT 3
1207: PUSH
1208: LD_INT 5
1210: PUSH
1211: LD_INT 7
1213: PUSH
1214: EMPTY
1215: LIST
1216: LIST
1217: LIST
1218: PUSH
1219: LD_OWVAR 67
1223: ARRAY
1224: ST_TO_ADDR
// def2_chassis = [ ru_medium_wheeled , ru_medium_wheeled , ru_heavy_wheeled ] [ difficulty ] ;
1225: LD_ADDR_EXP 38
1229: PUSH
1230: LD_INT 21
1232: PUSH
1233: LD_INT 21
1235: PUSH
1236: LD_INT 23
1238: PUSH
1239: EMPTY
1240: LIST
1241: LIST
1242: LIST
1243: PUSH
1244: LD_OWVAR 67
1248: ARRAY
1249: ST_TO_ADDR
// def2_weapon = [ ru_gun , ru_gun , ru_heavy_gun ] [ difficulty ] ;
1250: LD_ADDR_EXP 39
1254: PUSH
1255: LD_INT 44
1257: PUSH
1258: LD_INT 44
1260: PUSH
1261: LD_INT 46
1263: PUSH
1264: EMPTY
1265: LIST
1266: LIST
1267: LIST
1268: PUSH
1269: LD_OWVAR 67
1273: ARRAY
1274: ST_TO_ADDR
// def2_dr = [ 3 , 4 , 6 ] [ difficulty ] ;
1275: LD_ADDR_EXP 40
1279: PUSH
1280: LD_INT 3
1282: PUSH
1283: LD_INT 4
1285: PUSH
1286: LD_INT 6
1288: PUSH
1289: EMPTY
1290: LIST
1291: LIST
1292: LIST
1293: PUSH
1294: LD_OWVAR 67
1298: ARRAY
1299: ST_TO_ADDR
// defa_chassis = [ ru_medium_tracked , ru_medium_tracked , ru_medium_tracked ] [ difficulty ] ;
1300: LD_ADDR_EXP 41
1304: PUSH
1305: LD_INT 22
1307: PUSH
1308: LD_INT 22
1310: PUSH
1311: LD_INT 22
1313: PUSH
1314: EMPTY
1315: LIST
1316: LIST
1317: LIST
1318: PUSH
1319: LD_OWVAR 67
1323: ARRAY
1324: ST_TO_ADDR
// defa_weapon = [ ru_gun , ru_gun , ru_gun ] [ difficulty ] ;
1325: LD_ADDR_EXP 42
1329: PUSH
1330: LD_INT 44
1332: PUSH
1333: LD_INT 44
1335: PUSH
1336: LD_INT 44
1338: PUSH
1339: EMPTY
1340: LIST
1341: LIST
1342: LIST
1343: PUSH
1344: LD_OWVAR 67
1348: ARRAY
1349: ST_TO_ADDR
// defa_driver = [ 3 , 5 , 7 ] [ difficulty ] ;
1350: LD_ADDR_EXP 43
1354: PUSH
1355: LD_INT 3
1357: PUSH
1358: LD_INT 5
1360: PUSH
1361: LD_INT 7
1363: PUSH
1364: EMPTY
1365: LIST
1366: LIST
1367: LIST
1368: PUSH
1369: LD_OWVAR 67
1373: ARRAY
1374: ST_TO_ADDR
// defb_chassis = [ ru_medium_wheeled , ru_medium_wheeled , ru_medium_wheeled ] [ difficulty ] ;
1375: LD_ADDR_EXP 44
1379: PUSH
1380: LD_INT 21
1382: PUSH
1383: LD_INT 21
1385: PUSH
1386: LD_INT 21
1388: PUSH
1389: EMPTY
1390: LIST
1391: LIST
1392: LIST
1393: PUSH
1394: LD_OWVAR 67
1398: ARRAY
1399: ST_TO_ADDR
// defb_weapon = [ ru_gatling_gun , ru_gatling_gun , ru_gatling_gun ] [ difficulty ] ;
1400: LD_ADDR_EXP 45
1404: PUSH
1405: LD_INT 43
1407: PUSH
1408: LD_INT 43
1410: PUSH
1411: LD_INT 43
1413: PUSH
1414: EMPTY
1415: LIST
1416: LIST
1417: LIST
1418: PUSH
1419: LD_OWVAR 67
1423: ARRAY
1424: ST_TO_ADDR
// defb_driver = [ 3 , 4 , 6 ] [ difficulty ] ;
1425: LD_ADDR_EXP 46
1429: PUSH
1430: LD_INT 3
1432: PUSH
1433: LD_INT 4
1435: PUSH
1436: LD_INT 6
1438: PUSH
1439: EMPTY
1440: LIST
1441: LIST
1442: LIST
1443: PUSH
1444: LD_OWVAR 67
1448: ARRAY
1449: ST_TO_ADDR
// rubunw0_cr = [ 3 , 5 , 7 ] [ difficulty ] ;
1450: LD_ADDR_EXP 141
1454: PUSH
1455: LD_INT 3
1457: PUSH
1458: LD_INT 5
1460: PUSH
1461: LD_INT 7
1463: PUSH
1464: EMPTY
1465: LIST
1466: LIST
1467: LIST
1468: PUSH
1469: LD_OWVAR 67
1473: ARRAY
1474: ST_TO_ADDR
// rubunw1_cr = [ 4 , 5 , 7 ] [ difficulty ] ;
1475: LD_ADDR_EXP 142
1479: PUSH
1480: LD_INT 4
1482: PUSH
1483: LD_INT 5
1485: PUSH
1486: LD_INT 7
1488: PUSH
1489: EMPTY
1490: LIST
1491: LIST
1492: LIST
1493: PUSH
1494: LD_OWVAR 67
1498: ARRAY
1499: ST_TO_ADDR
// rubunw2_cr = [ 4 , 5 , 7 ] [ difficulty ] ;
1500: LD_ADDR_EXP 143
1504: PUSH
1505: LD_INT 4
1507: PUSH
1508: LD_INT 5
1510: PUSH
1511: LD_INT 7
1513: PUSH
1514: EMPTY
1515: LIST
1516: LIST
1517: LIST
1518: PUSH
1519: LD_OWVAR 67
1523: ARRAY
1524: ST_TO_ADDR
// fact_mech0 = [ 6 , 6 , 6 ] [ difficulty ] ;
1525: LD_ADDR_EXP 103
1529: PUSH
1530: LD_INT 6
1532: PUSH
1533: LD_INT 6
1535: PUSH
1536: LD_INT 6
1538: PUSH
1539: EMPTY
1540: LIST
1541: LIST
1542: LIST
1543: PUSH
1544: LD_OWVAR 67
1548: ARRAY
1549: ST_TO_ADDR
// fact_mech1 = [ 7 , 7 , 7 ] [ difficulty ] ;
1550: LD_ADDR_EXP 104
1554: PUSH
1555: LD_INT 7
1557: PUSH
1558: LD_INT 7
1560: PUSH
1561: LD_INT 7
1563: PUSH
1564: EMPTY
1565: LIST
1566: LIST
1567: LIST
1568: PUSH
1569: LD_OWVAR 67
1573: ARRAY
1574: ST_TO_ADDR
// t1_1_ch = [ ru_medium_wheeled , ru_medium_wheeled , ru_medium_wheeled ] [ difficulty ] ;
1575: LD_ADDR_EXP 105
1579: PUSH
1580: LD_INT 21
1582: PUSH
1583: LD_INT 21
1585: PUSH
1586: LD_INT 21
1588: PUSH
1589: EMPTY
1590: LIST
1591: LIST
1592: LIST
1593: PUSH
1594: LD_OWVAR 67
1598: ARRAY
1599: ST_TO_ADDR
// t1_1_wp = [ ru_heavy_machine_gun , ru_gatling_gun , ru_gatling_gun ] [ difficulty ] ;
1600: LD_ADDR_EXP 106
1604: PUSH
1605: LD_INT 42
1607: PUSH
1608: LD_INT 43
1610: PUSH
1611: LD_INT 43
1613: PUSH
1614: EMPTY
1615: LIST
1616: LIST
1617: LIST
1618: PUSH
1619: LD_OWVAR 67
1623: ARRAY
1624: ST_TO_ADDR
// t1_2_ch = [ ru_medium_wheeled , ru_heavy_wheeled , ru_heavy_wheeled ] [ difficulty ] ;
1625: LD_ADDR_EXP 107
1629: PUSH
1630: LD_INT 21
1632: PUSH
1633: LD_INT 23
1635: PUSH
1636: LD_INT 23
1638: PUSH
1639: EMPTY
1640: LIST
1641: LIST
1642: LIST
1643: PUSH
1644: LD_OWVAR 67
1648: ARRAY
1649: ST_TO_ADDR
// t1_2_wp = [ ru_gun , ru_gun , ru_gun ] [ difficulty ] ;
1650: LD_ADDR_EXP 108
1654: PUSH
1655: LD_INT 44
1657: PUSH
1658: LD_INT 44
1660: PUSH
1661: LD_INT 44
1663: PUSH
1664: EMPTY
1665: LIST
1666: LIST
1667: LIST
1668: PUSH
1669: LD_OWVAR 67
1673: ARRAY
1674: ST_TO_ADDR
// t1_3_ch = [ ru_medium_wheeled , ru_medium_wheeled , ru_heavy_wheeled ] [ difficulty ] ;
1675: LD_ADDR_EXP 109
1679: PUSH
1680: LD_INT 21
1682: PUSH
1683: LD_INT 21
1685: PUSH
1686: LD_INT 23
1688: PUSH
1689: EMPTY
1690: LIST
1691: LIST
1692: LIST
1693: PUSH
1694: LD_OWVAR 67
1698: ARRAY
1699: ST_TO_ADDR
// t1_3_wp = [ ru_gatling_gun , ru_gatling_gun , ru_gatling_gun ] [ difficulty ] ;
1700: LD_ADDR_EXP 110
1704: PUSH
1705: LD_INT 43
1707: PUSH
1708: LD_INT 43
1710: PUSH
1711: LD_INT 43
1713: PUSH
1714: EMPTY
1715: LIST
1716: LIST
1717: LIST
1718: PUSH
1719: LD_OWVAR 67
1723: ARRAY
1724: ST_TO_ADDR
// t2_1_ch = [ ru_medium_wheeled , ru_medium_wheeled , ru_heavy_wheeled ] [ difficulty ] ;
1725: LD_ADDR_EXP 111
1729: PUSH
1730: LD_INT 21
1732: PUSH
1733: LD_INT 21
1735: PUSH
1736: LD_INT 23
1738: PUSH
1739: EMPTY
1740: LIST
1741: LIST
1742: LIST
1743: PUSH
1744: LD_OWVAR 67
1748: ARRAY
1749: ST_TO_ADDR
// t2_1_wp = [ ru_gatling_gun , ru_gun , ru_gun ] [ difficulty ] ;
1750: LD_ADDR_EXP 112
1754: PUSH
1755: LD_INT 43
1757: PUSH
1758: LD_INT 44
1760: PUSH
1761: LD_INT 44
1763: PUSH
1764: EMPTY
1765: LIST
1766: LIST
1767: LIST
1768: PUSH
1769: LD_OWVAR 67
1773: ARRAY
1774: ST_TO_ADDR
// t2_2_ch = [ ru_medium_wheeled , ru_medium_wheeled , ru_heavy_wheeled ] [ difficulty ] ;
1775: LD_ADDR_EXP 113
1779: PUSH
1780: LD_INT 21
1782: PUSH
1783: LD_INT 21
1785: PUSH
1786: LD_INT 23
1788: PUSH
1789: EMPTY
1790: LIST
1791: LIST
1792: LIST
1793: PUSH
1794: LD_OWVAR 67
1798: ARRAY
1799: ST_TO_ADDR
// t2_2_wp = [ ru_gatling_gun , ru_gatling_gun , ru_gatling_gun ] [ difficulty ] ;
1800: LD_ADDR_EXP 114
1804: PUSH
1805: LD_INT 43
1807: PUSH
1808: LD_INT 43
1810: PUSH
1811: LD_INT 43
1813: PUSH
1814: EMPTY
1815: LIST
1816: LIST
1817: LIST
1818: PUSH
1819: LD_OWVAR 67
1823: ARRAY
1824: ST_TO_ADDR
// t2_3_ch = [ ru_medium_wheeled , ru_medium_wheeled , ru_medium_wheeled ] [ difficulty ] ;
1825: LD_ADDR_EXP 115
1829: PUSH
1830: LD_INT 21
1832: PUSH
1833: LD_INT 21
1835: PUSH
1836: LD_INT 21
1838: PUSH
1839: EMPTY
1840: LIST
1841: LIST
1842: LIST
1843: PUSH
1844: LD_OWVAR 67
1848: ARRAY
1849: ST_TO_ADDR
// t2_3_wp = [ ru_gun , ru_gun , ru_gun ] [ difficulty ] ;
1850: LD_ADDR_EXP 116
1854: PUSH
1855: LD_INT 44
1857: PUSH
1858: LD_INT 44
1860: PUSH
1861: LD_INT 44
1863: PUSH
1864: EMPTY
1865: LIST
1866: LIST
1867: LIST
1868: PUSH
1869: LD_OWVAR 67
1873: ARRAY
1874: ST_TO_ADDR
// t3_1_ch = [ ru_medium_wheeled , ru_medium_wheeled , ru_medium_wheeled ] [ difficulty ] ;
1875: LD_ADDR_EXP 117
1879: PUSH
1880: LD_INT 21
1882: PUSH
1883: LD_INT 21
1885: PUSH
1886: LD_INT 21
1888: PUSH
1889: EMPTY
1890: LIST
1891: LIST
1892: LIST
1893: PUSH
1894: LD_OWVAR 67
1898: ARRAY
1899: ST_TO_ADDR
// t3_1_wp = [ ru_gatling_gun , ru_gatling_gun , ru_gatling_gun ] [ difficulty ] ;
1900: LD_ADDR_EXP 118
1904: PUSH
1905: LD_INT 43
1907: PUSH
1908: LD_INT 43
1910: PUSH
1911: LD_INT 43
1913: PUSH
1914: EMPTY
1915: LIST
1916: LIST
1917: LIST
1918: PUSH
1919: LD_OWVAR 67
1923: ARRAY
1924: ST_TO_ADDR
// t3_2_ch = [ ru_medium_wheeled , ru_heavy_wheeled , ru_heavy_wheeled ] [ difficulty ] ;
1925: LD_ADDR_EXP 119
1929: PUSH
1930: LD_INT 21
1932: PUSH
1933: LD_INT 23
1935: PUSH
1936: LD_INT 23
1938: PUSH
1939: EMPTY
1940: LIST
1941: LIST
1942: LIST
1943: PUSH
1944: LD_OWVAR 67
1948: ARRAY
1949: ST_TO_ADDR
// t3_2_wp = [ ru_gun , ru_heavy_gun , ru_heavy_gun ] [ difficulty ] ;
1950: LD_ADDR_EXP 120
1954: PUSH
1955: LD_INT 44
1957: PUSH
1958: LD_INT 46
1960: PUSH
1961: LD_INT 46
1963: PUSH
1964: EMPTY
1965: LIST
1966: LIST
1967: LIST
1968: PUSH
1969: LD_OWVAR 67
1973: ARRAY
1974: ST_TO_ADDR
// t3_3_ch = [ ru_medium_wheeled , ru_medium_wheeled , ru_heavy_wheeled ] [ difficulty ] ;
1975: LD_ADDR_EXP 121
1979: PUSH
1980: LD_INT 21
1982: PUSH
1983: LD_INT 21
1985: PUSH
1986: LD_INT 23
1988: PUSH
1989: EMPTY
1990: LIST
1991: LIST
1992: LIST
1993: PUSH
1994: LD_OWVAR 67
1998: ARRAY
1999: ST_TO_ADDR
// t3_3_wp = [ ru_gatling_gun , ru_gun , ru_gun ] [ difficulty ] ;
2000: LD_ADDR_EXP 122
2004: PUSH
2005: LD_INT 43
2007: PUSH
2008: LD_INT 44
2010: PUSH
2011: LD_INT 44
2013: PUSH
2014: EMPTY
2015: LIST
2016: LIST
2017: LIST
2018: PUSH
2019: LD_OWVAR 67
2023: ARRAY
2024: ST_TO_ADDR
// scie1_sk = [ 5 , 5 , 5 ] [ difficulty ] ;
2025: LD_ADDR_EXP 125
2029: PUSH
2030: LD_INT 5
2032: PUSH
2033: LD_INT 5
2035: PUSH
2036: LD_INT 5
2038: PUSH
2039: EMPTY
2040: LIST
2041: LIST
2042: LIST
2043: PUSH
2044: LD_OWVAR 67
2048: ARRAY
2049: ST_TO_ADDR
// scie2_sk = [ 6 , 6 , 6 ] [ difficulty ] ;
2050: LD_ADDR_EXP 126
2054: PUSH
2055: LD_INT 6
2057: PUSH
2058: LD_INT 6
2060: PUSH
2061: LD_INT 6
2063: PUSH
2064: EMPTY
2065: LIST
2066: LIST
2067: LIST
2068: PUSH
2069: LD_OWVAR 67
2073: ARRAY
2074: ST_TO_ADDR
// scie3_sk = [ 7 , 7 , 7 ] [ difficulty ] ;
2075: LD_ADDR_EXP 127
2079: PUSH
2080: LD_INT 7
2082: PUSH
2083: LD_INT 7
2085: PUSH
2086: LD_INT 7
2088: PUSH
2089: EMPTY
2090: LIST
2091: LIST
2092: LIST
2093: PUSH
2094: LD_OWVAR 67
2098: ARRAY
2099: ST_TO_ADDR
// scie4_sk = [ 6 , 6 , 6 ] [ difficulty ] ;
2100: LD_ADDR_EXP 128
2104: PUSH
2105: LD_INT 6
2107: PUSH
2108: LD_INT 6
2110: PUSH
2111: LD_INT 6
2113: PUSH
2114: EMPTY
2115: LIST
2116: LIST
2117: LIST
2118: PUSH
2119: LD_OWVAR 67
2123: ARRAY
2124: ST_TO_ADDR
// scie5_sk = [ 5 , 5 , 5 ] [ difficulty ] ;
2125: LD_ADDR_EXP 129
2129: PUSH
2130: LD_INT 5
2132: PUSH
2133: LD_INT 5
2135: PUSH
2136: LD_INT 5
2138: PUSH
2139: EMPTY
2140: LIST
2141: LIST
2142: LIST
2143: PUSH
2144: LD_OWVAR 67
2148: ARRAY
2149: ST_TO_ADDR
// rubune0_cr = [ 3 , 4 , 5 ] [ difficulty ] ;
2150: LD_ADDR_EXP 144
2154: PUSH
2155: LD_INT 3
2157: PUSH
2158: LD_INT 4
2160: PUSH
2161: LD_INT 5
2163: PUSH
2164: EMPTY
2165: LIST
2166: LIST
2167: LIST
2168: PUSH
2169: LD_OWVAR 67
2173: ARRAY
2174: ST_TO_ADDR
// rubune1_cr = [ 4 , 5 , 6 ] [ difficulty ] ;
2175: LD_ADDR_EXP 145
2179: PUSH
2180: LD_INT 4
2182: PUSH
2183: LD_INT 5
2185: PUSH
2186: LD_INT 6
2188: PUSH
2189: EMPTY
2190: LIST
2191: LIST
2192: LIST
2193: PUSH
2194: LD_OWVAR 67
2198: ARRAY
2199: ST_TO_ADDR
// runo0_chassis = [ ru_medium_tracked , ru_medium_tracked , ru_medium_tracked ] [ difficulty ] ;
2200: LD_ADDR_EXP 47
2204: PUSH
2205: LD_INT 22
2207: PUSH
2208: LD_INT 22
2210: PUSH
2211: LD_INT 22
2213: PUSH
2214: EMPTY
2215: LIST
2216: LIST
2217: LIST
2218: PUSH
2219: LD_OWVAR 67
2223: ARRAY
2224: ST_TO_ADDR
// runo0_weapon = [ ru_heavy_machine_gun , ru_gatling_gun , ru_gatling_gun ] [ difficulty ] ;
2225: LD_ADDR_EXP 48
2229: PUSH
2230: LD_INT 42
2232: PUSH
2233: LD_INT 43
2235: PUSH
2236: LD_INT 43
2238: PUSH
2239: EMPTY
2240: LIST
2241: LIST
2242: LIST
2243: PUSH
2244: LD_OWVAR 67
2248: ARRAY
2249: ST_TO_ADDR
// runo0_driver = [ 3 , 4 , 5 ] [ difficulty ] ;
2250: LD_ADDR_EXP 49
2254: PUSH
2255: LD_INT 3
2257: PUSH
2258: LD_INT 4
2260: PUSH
2261: LD_INT 5
2263: PUSH
2264: EMPTY
2265: LIST
2266: LIST
2267: LIST
2268: PUSH
2269: LD_OWVAR 67
2273: ARRAY
2274: ST_TO_ADDR
// runo1_chassis = [ ru_medium_tracked , ru_heavy_tracked , ru_heavy_tracked ] [ difficulty ] ;
2275: LD_ADDR_EXP 50
2279: PUSH
2280: LD_INT 22
2282: PUSH
2283: LD_INT 24
2285: PUSH
2286: LD_INT 24
2288: PUSH
2289: EMPTY
2290: LIST
2291: LIST
2292: LIST
2293: PUSH
2294: LD_OWVAR 67
2298: ARRAY
2299: ST_TO_ADDR
// runo1_weapon = [ ru_gun , ru_heavy_gun , ru_heavy_gun ] [ difficulty ] ;
2300: LD_ADDR_EXP 51
2304: PUSH
2305: LD_INT 44
2307: PUSH
2308: LD_INT 46
2310: PUSH
2311: LD_INT 46
2313: PUSH
2314: EMPTY
2315: LIST
2316: LIST
2317: LIST
2318: PUSH
2319: LD_OWVAR 67
2323: ARRAY
2324: ST_TO_ADDR
// runo1_driver = [ 4 , 4 , 6 ] [ difficulty ] ;
2325: LD_ADDR_EXP 52
2329: PUSH
2330: LD_INT 4
2332: PUSH
2333: LD_INT 4
2335: PUSH
2336: LD_INT 6
2338: PUSH
2339: EMPTY
2340: LIST
2341: LIST
2342: LIST
2343: PUSH
2344: LD_OWVAR 67
2348: ARRAY
2349: ST_TO_ADDR
// runo2_chassis = [ ru_medium_tracked , ru_medium_tracked , ru_heavy_tracked ] [ difficulty ] ;
2350: LD_ADDR_EXP 53
2354: PUSH
2355: LD_INT 22
2357: PUSH
2358: LD_INT 22
2360: PUSH
2361: LD_INT 24
2363: PUSH
2364: EMPTY
2365: LIST
2366: LIST
2367: LIST
2368: PUSH
2369: LD_OWVAR 67
2373: ARRAY
2374: ST_TO_ADDR
// runo2_weapon = [ ru_gatling_gun , ru_gun , ru_gun ] [ difficulty ] ;
2375: LD_ADDR_EXP 54
2379: PUSH
2380: LD_INT 43
2382: PUSH
2383: LD_INT 44
2385: PUSH
2386: LD_INT 44
2388: PUSH
2389: EMPTY
2390: LIST
2391: LIST
2392: LIST
2393: PUSH
2394: LD_OWVAR 67
2398: ARRAY
2399: ST_TO_ADDR
// runo2_driver = [ 3 , 4 , 5 ] [ difficulty ] ;
2400: LD_ADDR_EXP 55
2404: PUSH
2405: LD_INT 3
2407: PUSH
2408: LD_INT 4
2410: PUSH
2411: LD_INT 5
2413: PUSH
2414: EMPTY
2415: LIST
2416: LIST
2417: LIST
2418: PUSH
2419: LD_OWVAR 67
2423: ARRAY
2424: ST_TO_ADDR
// ruso0_chassis = [ ru_medium_tracked , ru_heavy_tracked , ru_heavy_tracked ] [ difficulty ] ;
2425: LD_ADDR_EXP 56
2429: PUSH
2430: LD_INT 22
2432: PUSH
2433: LD_INT 24
2435: PUSH
2436: LD_INT 24
2438: PUSH
2439: EMPTY
2440: LIST
2441: LIST
2442: LIST
2443: PUSH
2444: LD_OWVAR 67
2448: ARRAY
2449: ST_TO_ADDR
// ruso0_weapon = [ ru_gatling_gun , ru_gatling_gun , ru_gatling_gun ] [ difficulty ] ;
2450: LD_ADDR_EXP 57
2454: PUSH
2455: LD_INT 43
2457: PUSH
2458: LD_INT 43
2460: PUSH
2461: LD_INT 43
2463: PUSH
2464: EMPTY
2465: LIST
2466: LIST
2467: LIST
2468: PUSH
2469: LD_OWVAR 67
2473: ARRAY
2474: ST_TO_ADDR
// ruso0_driver = [ 5 , 6 , 6 ] [ difficulty ] ;
2475: LD_ADDR_EXP 58
2479: PUSH
2480: LD_INT 5
2482: PUSH
2483: LD_INT 6
2485: PUSH
2486: LD_INT 6
2488: PUSH
2489: EMPTY
2490: LIST
2491: LIST
2492: LIST
2493: PUSH
2494: LD_OWVAR 67
2498: ARRAY
2499: ST_TO_ADDR
// ruso1_chassis = [ ru_medium_wheeled , ru_heavy_wheeled , ru_heavy_wheeled ] [ difficulty ] ;
2500: LD_ADDR_EXP 59
2504: PUSH
2505: LD_INT 21
2507: PUSH
2508: LD_INT 23
2510: PUSH
2511: LD_INT 23
2513: PUSH
2514: EMPTY
2515: LIST
2516: LIST
2517: LIST
2518: PUSH
2519: LD_OWVAR 67
2523: ARRAY
2524: ST_TO_ADDR
// ruso1_weapon = [ ru_gun , ru_gun , ru_heavy_gun ] [ difficulty ] ;
2525: LD_ADDR_EXP 60
2529: PUSH
2530: LD_INT 44
2532: PUSH
2533: LD_INT 44
2535: PUSH
2536: LD_INT 46
2538: PUSH
2539: EMPTY
2540: LIST
2541: LIST
2542: LIST
2543: PUSH
2544: LD_OWVAR 67
2548: ARRAY
2549: ST_TO_ADDR
// ruso1_driver = [ 5 , 5 , 6 ] [ difficulty ] ;
2550: LD_ADDR_EXP 61
2554: PUSH
2555: LD_INT 5
2557: PUSH
2558: LD_INT 5
2560: PUSH
2561: LD_INT 6
2563: PUSH
2564: EMPTY
2565: LIST
2566: LIST
2567: LIST
2568: PUSH
2569: LD_OWVAR 67
2573: ARRAY
2574: ST_TO_ADDR
// ruso2_chassis = [ ru_medium_wheeled , ru_heavy_wheeled , ru_heavy_wheeled ] [ difficulty ] ;
2575: LD_ADDR_EXP 62
2579: PUSH
2580: LD_INT 21
2582: PUSH
2583: LD_INT 23
2585: PUSH
2586: LD_INT 23
2588: PUSH
2589: EMPTY
2590: LIST
2591: LIST
2592: LIST
2593: PUSH
2594: LD_OWVAR 67
2598: ARRAY
2599: ST_TO_ADDR
// ruso2_weapon = [ ru_gun , ru_gun , ru_heavy_gun ] [ difficulty ] ;
2600: LD_ADDR_EXP 63
2604: PUSH
2605: LD_INT 44
2607: PUSH
2608: LD_INT 44
2610: PUSH
2611: LD_INT 46
2613: PUSH
2614: EMPTY
2615: LIST
2616: LIST
2617: LIST
2618: PUSH
2619: LD_OWVAR 67
2623: ARRAY
2624: ST_TO_ADDR
// ruso2_driver = [ 5 , 6 , 6 ] [ difficulty ] ;
2625: LD_ADDR_EXP 64
2629: PUSH
2630: LD_INT 5
2632: PUSH
2633: LD_INT 6
2635: PUSH
2636: LD_INT 6
2638: PUSH
2639: EMPTY
2640: LIST
2641: LIST
2642: LIST
2643: PUSH
2644: LD_OWVAR 67
2648: ARRAY
2649: ST_TO_ADDR
// setblevel ( [ rubunw0 , rubunw1 , rubunw2 ] , [ 3 , 5 , 7 ] [ difficulty ] ) ;
2650: LD_INT 16
2652: PUSH
2653: LD_INT 17
2655: PUSH
2656: LD_INT 18
2658: PUSH
2659: EMPTY
2660: LIST
2661: LIST
2662: LIST
2663: PPUSH
2664: LD_INT 3
2666: PUSH
2667: LD_INT 5
2669: PUSH
2670: LD_INT 7
2672: PUSH
2673: EMPTY
2674: LIST
2675: LIST
2676: LIST
2677: PUSH
2678: LD_OWVAR 67
2682: ARRAY
2683: PPUSH
2684: CALL_OW 241
// setblevel ( [ rubune0 , rubune1 ] , [ 4 , 6 , 8 ] [ difficulty ] ) ;
2688: LD_INT 22
2690: PUSH
2691: LD_INT 24
2693: PUSH
2694: EMPTY
2695: LIST
2696: LIST
2697: PPUSH
2698: LD_INT 4
2700: PUSH
2701: LD_INT 6
2703: PUSH
2704: LD_INT 8
2706: PUSH
2707: EMPTY
2708: LIST
2709: LIST
2710: LIST
2711: PUSH
2712: LD_OWVAR 67
2716: ARRAY
2717: PPUSH
2718: CALL_OW 241
// setblevel ( [ ruturr0 , ruturr1 ] , [ 5 , 7 , 9 ] [ difficulty ] ) ;
2722: LD_INT 1
2724: PUSH
2725: LD_INT 2
2727: PUSH
2728: EMPTY
2729: LIST
2730: LIST
2731: PPUSH
2732: LD_INT 5
2734: PUSH
2735: LD_INT 7
2737: PUSH
2738: LD_INT 9
2740: PUSH
2741: EMPTY
2742: LIST
2743: LIST
2744: LIST
2745: PUSH
2746: LD_OWVAR 67
2750: ARRAY
2751: PPUSH
2752: CALL_OW 241
// secondPass = 0 ;
2756: LD_ADDR_EXP 148
2760: PUSH
2761: LD_INT 0
2763: ST_TO_ADDR
// end ;
2764: LD_VAR 0 1
2768: RET
// export debug , dialog6uzbyl ; starting begin SA_OnMissionStart ;
2769: CALL 28337 0 0
// debug = false ;
2773: LD_ADDR_EXP 149
2777: PUSH
2778: LD_INT 0
2780: ST_TO_ADDR
// fstamdep = 60 60$0 ;
2781: LD_ADDR_EXP 226
2785: PUSH
2786: LD_INT 126000
2788: ST_TO_ADDR
// dialog6uzbyl = false ;
2789: LD_ADDR_EXP 150
2793: PUSH
2794: LD_INT 0
2796: ST_TO_ADDR
// cper = cperiode ;
2797: LD_ADDR_LOC 2
2801: PUSH
2802: LD_LOC 1
2806: ST_TO_ADDR
// ingame_video = true ;
2807: LD_ADDR_OWVAR 52
2811: PUSH
2812: LD_INT 1
2814: ST_TO_ADDR
// interface_hidden = true ;
2815: LD_ADDR_OWVAR 54
2819: PUSH
2820: LD_INT 1
2822: ST_TO_ADDR
// set_vars ;
2823: CALL 0 0 0
// amattbf = false ;
2827: LD_ADDR_EXP 223
2831: PUSH
2832: LD_INT 0
2834: ST_TO_ADDR
// attackers = [ ] ;
2835: LD_ADDR_EXP 221
2839: PUSH
2840: EMPTY
2841: ST_TO_ADDR
// att_began = false ;
2842: LD_ADDR_EXP 222
2846: PUSH
2847: LD_INT 0
2849: ST_TO_ADDR
// zdrhat = false ;
2850: LD_ADDR_EXP 151
2854: PUSH
2855: LD_INT 0
2857: ST_TO_ADDR
// brod = false ;
2858: LD_ADDR_EXP 152
2862: PUSH
2863: LD_INT 0
2865: ST_TO_ADDR
// zapbrod = false ;
2866: LD_ADDR_EXP 153
2870: PUSH
2871: LD_INT 0
2873: ST_TO_ADDR
// most_att_bg = false ;
2874: LD_ADDR_EXP 154
2878: PUSH
2879: LD_INT 0
2881: ST_TO_ADDR
// legion = - 1 ;
2882: LD_ADDR_EXP 5
2886: PUSH
2887: LD_INT 1
2889: NEG
2890: ST_TO_ADDR
// marked_3 = true ;
2891: LD_ADDR_EXP 123
2895: PUSH
2896: LD_INT 1
2898: ST_TO_ADDR
// achjo = true ;
2899: LD_ADDR_EXP 156
2903: PUSH
2904: LD_INT 1
2906: ST_TO_ADDR
// us_in_udoli_ = [ ] ;
2907: LD_ADDR_EXP 157
2911: PUSH
2912: EMPTY
2913: ST_TO_ADDR
// pr_loz = 0 ;
2914: LD_ADDR_EXP 225
2918: PUSH
2919: LD_INT 0
2921: ST_TO_ADDR
// telepmed = 0 ;
2922: LD_ADDR_EXP 124
2926: PUSH
2927: LD_INT 0
2929: ST_TO_ADDR
// zasilka = 15 15$0 ;
2930: LD_ADDR_EXP 155
2934: PUSH
2935: LD_INT 31500
2937: ST_TO_ADDR
// disable ( 5 ) ;
2938: LD_INT 5
2940: DISABLE_MARKED
// disable ( 6 ) ;
2941: LD_INT 6
2943: DISABLE_MARKED
// disable ( 7 ) ;
2944: LD_INT 7
2946: DISABLE_MARKED
// disable ( 8 ) ;
2947: LD_INT 8
2949: DISABLE_MARKED
// disable ( 9 ) ;
2950: LD_INT 9
2952: DISABLE_MARKED
// disable ( 10 ) ;
2953: LD_INT 10
2955: DISABLE_MARKED
// disable ( 101 ) ;
2956: LD_INT 101
2958: DISABLE_MARKED
// disable ( 12 ) ;
2959: LD_INT 12
2961: DISABLE_MARKED
// disable ( 102 ) ;
2962: LD_INT 102
2964: DISABLE_MARKED
// disable ( 14 ) ;
2965: LD_INT 14
2967: DISABLE_MARKED
// disable ( 15 ) ;
2968: LD_INT 15
2970: DISABLE_MARKED
// disable ( 16 ) ;
2971: LD_INT 16
2973: DISABLE_MARKED
// disable ( 17 ) ;
2974: LD_INT 17
2976: DISABLE_MARKED
// prepare_russians ;
2977: CALL 5220 0 0
// prepare_americans ;
2981: CALL 7922 0 0
// intro ;
2985: CALL 3283 0 0
// end ;
2989: END
// every 0 0$15 + 7 7$00 do
2990: GO 2992
2992: DISABLE
// begin cper = cper - 0 0$15 ;
2993: LD_ADDR_LOC 2
2997: PUSH
2998: LD_LOC 2
3002: PUSH
3003: LD_INT 525
3005: MINUS
3006: ST_TO_ADDR
// if cper <= 0 then
3007: LD_LOC 2
3011: PUSH
3012: LD_INT 0
3014: LESSEQUAL
3015: IFFALSE 3072
// begin if createcratesarea ( 5 , dropzone , true ) then
3017: LD_INT 5
3019: PPUSH
3020: LD_INT 19
3022: PPUSH
3023: LD_INT 1
3025: PPUSH
3026: CALL_OW 55
3030: IFFALSE 3069
// begin if ( supplies > 1 ) then
3032: LD_LOC 3
3036: PUSH
3037: LD_INT 1
3039: GREATER
3040: IFFALSE 3057
// begin supplies = supplies - 1 ;
3042: LD_ADDR_LOC 3
3046: PUSH
3047: LD_LOC 3
3051: PUSH
3052: LD_INT 1
3054: MINUS
3055: ST_TO_ADDR
// enable ;
3056: ENABLE
// end ; cper = cperiode ;
3057: LD_ADDR_LOC 2
3061: PUSH
3062: LD_LOC 1
3066: ST_TO_ADDR
// end else
3067: GO 3070
// enable ;
3069: ENABLE
// end else
3070: GO 3073
// enable ;
3072: ENABLE
// end ;
3073: END
// every 0 0$7 do
3074: GO 3076
3076: DISABLE
// begin randomize ;
3077: CALL_OW 10
// enable ;
3081: ENABLE
// end ; end_of_file
3082: END
// export zdrhat , brod , zapbrod , most_att_bg ; export zasilka ; export achjo ; every 0 0$0.1 + 0 0$5 marked 17 do var tmp ;
3083: GO 3085
3085: DISABLE
3086: LD_INT 0
3088: PPUSH
// begin if marked_17 then
3089: LD_LOC 5
3093: IFFALSE 3096
// enable ;
3095: ENABLE
// for tmp in amgrupa_ do
3096: LD_ADDR_VAR 0 1
3100: PUSH
3101: LD_LOC 4
3105: PUSH
3106: FOR_IN
3107: IFFALSE 3278
// case getlives ( tmp ) of 1 .. 250 :
3109: LD_VAR 0 1
3113: PPUSH
3114: CALL_OW 256
3118: PUSH
3119: LD_INT 1
3121: DOUBLE
3122: GREATEREQUAL
3123: IFFALSE 3131
3125: LD_INT 250
3127: DOUBLE
3128: LESSEQUAL
3129: IFTRUE 3133
3131: GO 3149
3133: POP
// if debug then
3134: LD_EXP 149
3138: IFFALSE 3147
// msg ( shit, negdo je v cervenem! ) ; 251 .. 500 :
3140: LD_STRING shit, negdo je v cervenem!
3142: PPUSH
3143: CALL_OW 100
3147: GO 3276
3149: LD_INT 251
3151: DOUBLE
3152: GREATEREQUAL
3153: IFFALSE 3161
3155: LD_INT 500
3157: DOUBLE
3158: LESSEQUAL
3159: IFTRUE 3163
3161: GO 3191
3163: POP
// begin setlives ( tmp , 500 ) ;
3164: LD_VAR 0 1
3168: PPUSH
3169: LD_INT 500
3171: PPUSH
3172: CALL_OW 234
// if debug then
3176: LD_EXP 149
3180: IFFALSE 3189
// msg ( 251-500 ) ;
3182: LD_STRING 251-500
3184: PPUSH
3185: CALL_OW 100
// end ; 501 .. 750 :
3189: GO 3276
3191: LD_INT 501
3193: DOUBLE
3194: GREATEREQUAL
3195: IFFALSE 3203
3197: LD_INT 750
3199: DOUBLE
3200: LESSEQUAL
3201: IFTRUE 3205
3203: GO 3233
3205: POP
// begin setlives ( tmp , 750 ) ;
3206: LD_VAR 0 1
3210: PPUSH
3211: LD_INT 750
3213: PPUSH
3214: CALL_OW 234
// if debug then
3218: LD_EXP 149
3222: IFFALSE 3231
// msg ( 501-750 ) ;
3224: LD_STRING 501-750
3226: PPUSH
3227: CALL_OW 100
// end ; 751 .. 999 :
3231: GO 3276
3233: LD_INT 751
3235: DOUBLE
3236: GREATEREQUAL
3237: IFFALSE 3245
3239: LD_INT 999
3241: DOUBLE
3242: LESSEQUAL
3243: IFTRUE 3247
3245: GO 3275
3247: POP
// begin setlives ( tmp , 999 ) ;
3248: LD_VAR 0 1
3252: PPUSH
3253: LD_INT 999
3255: PPUSH
3256: CALL_OW 234
// if debug then
3260: LD_EXP 149
3264: IFFALSE 3273
// msg ( 751-999 ) ;
3266: LD_STRING 751-999
3268: PPUSH
3269: CALL_OW 100
// end ; end ;
3273: GO 3276
3275: POP
3276: GO 3106
3278: POP
3279: POP
// end ;
3280: PPOPN 1
3282: END
// var amgrupa_ , marked_17 ; export function intro ; var tmp ; begin
3283: LD_INT 0
3285: PPUSH
3286: PPUSH
// amgrupa_ = [ ] ;
3287: LD_ADDR_LOC 4
3291: PUSH
3292: EMPTY
3293: ST_TO_ADDR
// for tmp in am_grupa do
3294: LD_ADDR_VAR 0 2
3298: PUSH
3299: LD_EXP 185
3303: PUSH
3304: FOR_IN
3305: IFFALSE 3369
// if gettype ( tmp ) = unit_human then
3307: LD_VAR 0 2
3311: PPUSH
3312: CALL_OW 247
3316: PUSH
3317: LD_INT 1
3319: EQUAL
3320: IFFALSE 3343
// amgrupa_ = amgrupa_ ^ [ tmp ] else
3322: LD_ADDR_LOC 4
3326: PUSH
3327: LD_LOC 4
3331: PUSH
3332: LD_VAR 0 2
3336: PUSH
3337: EMPTY
3338: LIST
3339: ADD
3340: ST_TO_ADDR
3341: GO 3367
// amgrupa_ = amgrupa_ ^ [ isdrivenby ( tmp ) ] ;
3343: LD_ADDR_LOC 4
3347: PUSH
3348: LD_LOC 4
3352: PUSH
3353: LD_VAR 0 2
3357: PPUSH
3358: CALL_OW 311
3362: PUSH
3363: EMPTY
3364: LIST
3365: ADD
3366: ST_TO_ADDR
3367: GO 3304
3369: POP
3370: POP
// amgrupa_ = amgrupa_ diff [ 0 ] ;
3371: LD_ADDR_LOC 4
3375: PUSH
3376: LD_LOC 4
3380: PUSH
3381: LD_INT 0
3383: PUSH
3384: EMPTY
3385: LIST
3386: DIFF
3387: ST_TO_ADDR
// disable ( 1 ) ;
3388: LD_INT 1
3390: DISABLE_MARKED
// wait ( 0 0$1 ) ;
3391: LD_INT 35
3393: PPUSH
3394: CALL_OW 67
// centernowonunits ( am_grupa ) ;
3398: LD_EXP 185
3402: PPUSH
3403: CALL_OW 87
// commovexy ( am_grupa , 133 , 92 ) ;
3407: LD_EXP 185
3411: PPUSH
3412: LD_INT 133
3414: PPUSH
3415: LD_INT 92
3417: PPUSH
3418: CALL_OW 111
// say ( john , D1-JMM-1 ) ;
3422: LD_EXP 174
3426: PPUSH
3427: LD_STRING D1-JMM-1
3429: PPUSH
3430: CALL_OW 88
// commovexy ( am_grupa , 123 , 85 ) ;
3434: LD_EXP 185
3438: PPUSH
3439: LD_INT 123
3441: PPUSH
3442: LD_INT 85
3444: PPUSH
3445: CALL_OW 111
// say ( lucy , D1-Don-1 ) ;
3449: LD_EXP 176
3453: PPUSH
3454: LD_STRING D1-Don-1
3456: PPUSH
3457: CALL_OW 88
// say ( john , D1-JMM-2 ) ;
3461: LD_EXP 174
3465: PPUSH
3466: LD_STRING D1-JMM-2
3468: PPUSH
3469: CALL_OW 88
// commovexy ( am_grupa , 113 , 84 ) ;
3473: LD_EXP 185
3477: PPUSH
3478: LD_INT 113
3480: PPUSH
3481: LD_INT 84
3483: PPUSH
3484: CALL_OW 111
// say ( lucy , D1-Don-2 ) ;
3488: LD_EXP 176
3492: PPUSH
3493: LD_STRING D1-Don-2
3495: PPUSH
3496: CALL_OW 88
// commovexy ( am_grupa , 101 , 84 ) ;
3500: LD_EXP 185
3504: PPUSH
3505: LD_INT 101
3507: PPUSH
3508: LD_INT 84
3510: PPUSH
3511: CALL_OW 111
// while not brod do
3515: LD_EXP 152
3519: NOT
3520: IFFALSE 3531
// wait ( 0 0$0.2 ) ;
3522: LD_INT 7
3524: PPUSH
3525: CALL_OW 67
3529: GO 3515
// say ( am_grupa [ 1 ] , D1-Sol1-2 ) ;
3531: LD_EXP 185
3535: PUSH
3536: LD_INT 1
3538: ARRAY
3539: PPUSH
3540: LD_STRING D1-Sol1-2
3542: PPUSH
3543: CALL_OW 88
// say ( john , D1-JMM-3 ) ;
3547: LD_EXP 174
3551: PPUSH
3552: LD_STRING D1-JMM-3
3554: PPUSH
3555: CALL_OW 88
// changemissionobjectives ( M1 ) ;
3559: LD_STRING M1
3561: PPUSH
3562: CALL_OW 337
// marked_17 = true ;
3566: LD_ADDR_LOC 5
3570: PUSH
3571: LD_INT 1
3573: ST_TO_ADDR
// enable ( 17 ) ;
3574: LD_INT 17
3576: ENABLE_MARKED
// commovexy ( unitfilter ( am_grupa , [ [ f_type , unit_vehicle ] ] ) , 82 , 61 ) ;
3577: LD_EXP 185
3581: PPUSH
3582: LD_INT 21
3584: PUSH
3585: LD_INT 2
3587: PUSH
3588: EMPTY
3589: LIST
3590: LIST
3591: PUSH
3592: EMPTY
3593: LIST
3594: PPUSH
3595: CALL_OW 72
3599: PPUSH
3600: LD_INT 82
3602: PPUSH
3603: LD_INT 61
3605: PPUSH
3606: CALL_OW 111
// wait ( 0 0$1.7 ) ;
3610: LD_INT 59
3612: PPUSH
3613: CALL_OW 67
// commovexy ( unitfilter ( am_grupa , [ [ f_type , unit_human ] ] ) , 82 , 61 ) ;
3617: LD_EXP 185
3621: PPUSH
3622: LD_INT 21
3624: PUSH
3625: LD_INT 1
3627: PUSH
3628: EMPTY
3629: LIST
3630: LIST
3631: PUSH
3632: EMPTY
3633: LIST
3634: PPUSH
3635: CALL_OW 72
3639: PPUSH
3640: LD_INT 82
3642: PPUSH
3643: LD_INT 61
3645: PPUSH
3646: CALL_OW 111
// while not att_began do
3650: LD_EXP 222
3654: NOT
3655: IFFALSE 3666
// wait ( 0 0$0.2 ) ;
3657: LD_INT 7
3659: PPUSH
3660: CALL_OW 67
3664: GO 3650
// wait ( 0 0$1.5 ) ;
3666: LD_INT 52
3668: PPUSH
3669: CALL_OW 67
// say ( john , D1a-JMM-1 ) ;
3673: LD_EXP 174
3677: PPUSH
3678: LD_STRING D1a-JMM-1
3680: PPUSH
3681: CALL_OW 88
// wait ( 0 0$1 ) ;
3685: LD_INT 35
3687: PPUSH
3688: CALL_OW 67
// say ( lucy , D1a-Don-1 ) ;
3692: LD_EXP 176
3696: PPUSH
3697: LD_STRING D1a-Don-1
3699: PPUSH
3700: CALL_OW 88
// say ( john , D1a-JMM-2 ) ;
3704: LD_EXP 174
3708: PPUSH
3709: LD_STRING D1a-JMM-2
3711: PPUSH
3712: CALL_OW 88
// enable ( 1 ) ;
3716: LD_INT 1
3718: ENABLE_MARKED
// disable ( 4 ) ;
3719: LD_INT 4
3721: DISABLE_MARKED
// while filterunitsinarea ( brod2 , [ [ f_side , am ] , [ f_ok ] ] ) do
3722: LD_INT 1
3724: PPUSH
3725: LD_INT 22
3727: PUSH
3728: LD_EXP 2
3732: PUSH
3733: EMPTY
3734: LIST
3735: LIST
3736: PUSH
3737: LD_INT 50
3739: PUSH
3740: EMPTY
3741: LIST
3742: PUSH
3743: EMPTY
3744: LIST
3745: LIST
3746: PPUSH
3747: CALL_OW 70
3751: IFFALSE 3762
// wait ( 0 0$1 ) ;
3753: LD_INT 35
3755: PPUSH
3756: CALL_OW 67
3760: GO 3722
// marked_3 = false ;
3762: LD_ADDR_EXP 123
3766: PUSH
3767: LD_INT 0
3769: ST_TO_ADDR
// wait ( 0 0$1 ) ;
3770: LD_INT 35
3772: PPUSH
3773: CALL_OW 67
// disable ( 02 ) ;
3777: LD_INT 2
3779: DISABLE_MARKED
// achjo = false ;
3780: LD_ADDR_EXP 156
3784: PUSH
3785: LD_INT 0
3787: ST_TO_ADDR
// comstop ( [ baz0 , baz1 , baz2 , baz3 , baz4 , baz5 ] ) ;
3788: LD_EXP 8
3792: PUSH
3793: LD_EXP 10
3797: PUSH
3798: LD_EXP 12
3802: PUSH
3803: LD_EXP 14
3807: PUSH
3808: LD_EXP 16
3812: PUSH
3813: LD_EXP 18
3817: PUSH
3818: EMPTY
3819: LIST
3820: LIST
3821: LIST
3822: LIST
3823: LIST
3824: LIST
3825: PPUSH
3826: CALL_OW 141
// comfree ( [ baz0 , baz1 , baz2 , baz3 , baz4 , baz5 ] ) ;
3830: LD_EXP 8
3834: PUSH
3835: LD_EXP 10
3839: PUSH
3840: LD_EXP 12
3844: PUSH
3845: LD_EXP 14
3849: PUSH
3850: LD_EXP 16
3854: PUSH
3855: LD_EXP 18
3859: PUSH
3860: EMPTY
3861: LIST
3862: LIST
3863: LIST
3864: LIST
3865: LIST
3866: LIST
3867: PPUSH
3868: CALL_OW 139
// disable ( 1 ) ;
3872: LD_INT 1
3874: DISABLE_MARKED
// marked_17 = false ;
3875: LD_ADDR_LOC 5
3879: PUSH
3880: LD_INT 0
3882: ST_TO_ADDR
// disable ( 17 ) ;
3883: LD_INT 17
3885: DISABLE_MARKED
// say ( lucy , D1b-Don-1 ) ;
3886: LD_EXP 176
3890: PPUSH
3891: LD_STRING D1b-Don-1
3893: PPUSH
3894: CALL_OW 88
// say ( john , D1b-JMM-1 ) ;
3898: LD_EXP 174
3902: PPUSH
3903: LD_STRING D1b-JMM-1
3905: PPUSH
3906: CALL_OW 88
// say ( am_grupa [ 1 ] , D1b-Sol1-1 ) ;
3910: LD_EXP 185
3914: PUSH
3915: LD_INT 1
3917: ARRAY
3918: PPUSH
3919: LD_STRING D1b-Sol1-1
3921: PPUSH
3922: CALL_OW 88
// say ( lucy , D1b-Don-2 ) ;
3926: LD_EXP 176
3930: PPUSH
3931: LD_STRING D1b-Don-2
3933: PPUSH
3934: CALL_OW 88
// say ( john , D1b-JMM-2 ) ;
3938: LD_EXP 174
3942: PPUSH
3943: LD_STRING D1b-JMM-2
3945: PPUSH
3946: CALL_OW 88
// ingame_video = false ;
3950: LD_ADDR_OWVAR 52
3954: PUSH
3955: LD_INT 0
3957: ST_TO_ADDR
// saveforquickrestart ;
3958: CALL_OW 22
// wait ( 0 0$0.5 ) ;
3962: LD_INT 18
3964: PPUSH
3965: CALL_OW 67
// case query ( Q1 ) of 1 :
3969: LD_STRING Q1
3971: PPUSH
3972: CALL_OW 97
3976: PUSH
3977: LD_INT 1
3979: DOUBLE
3980: EQUAL
3981: IFTRUE 3985
3983: GO 4136
3985: POP
// begin say ( john , D2-JMM-1 ) ;
3986: LD_EXP 174
3990: PPUSH
3991: LD_STRING D2-JMM-1
3993: PPUSH
3994: CALL_OW 88
// sayradio ( powell , D2-Pow-1 ) ;
3998: LD_EXP 175
4002: PPUSH
4003: LD_STRING D2-Pow-1
4005: PPUSH
4006: CALL_OW 94
// say ( john , D2a-JMM-1 ) ;
4010: LD_EXP 174
4014: PPUSH
4015: LD_STRING D2a-JMM-1
4017: PPUSH
4018: CALL_OW 88
// sayradio ( powell , D2a-Pow-1 ) ;
4022: LD_EXP 175
4026: PPUSH
4027: LD_STRING D2a-Pow-1
4029: PPUSH
4030: CALL_OW 94
// say ( john , D2a-JMM-2 ) ;
4034: LD_EXP 174
4038: PPUSH
4039: LD_STRING D2a-JMM-2
4041: PPUSH
4042: CALL_OW 88
// sayradio ( powell , D2a-Pow-2 ) ;
4046: LD_EXP 175
4050: PPUSH
4051: LD_STRING D2a-Pow-2
4053: PPUSH
4054: CALL_OW 94
// say ( john , D2a-JMM-3 ) ;
4058: LD_EXP 174
4062: PPUSH
4063: LD_STRING D2a-JMM-3
4065: PPUSH
4066: CALL_OW 88
// sayradio ( powell , D2a-Pow-3 ) ;
4070: LD_EXP 175
4074: PPUSH
4075: LD_STRING D2a-Pow-3
4077: PPUSH
4078: CALL_OW 94
// say ( john , D2c-JMM-1 ) ;
4082: LD_EXP 174
4086: PPUSH
4087: LD_STRING D2c-JMM-1
4089: PPUSH
4090: CALL_OW 88
// sayradio ( powell , D2c-Pow-1 ) ;
4094: LD_EXP 175
4098: PPUSH
4099: LD_STRING D2c-Pow-1
4101: PPUSH
4102: CALL_OW 94
// say ( john , D2c-JMM-2 ) ;
4106: LD_EXP 174
4110: PPUSH
4111: LD_STRING D2c-JMM-2
4113: PPUSH
4114: CALL_OW 88
// secondPass = 1 ;
4118: LD_ADDR_EXP 148
4122: PUSH
4123: LD_INT 1
4125: ST_TO_ADDR
// zasilka = 1 1$0 ;
4126: LD_ADDR_EXP 155
4130: PUSH
4131: LD_INT 2100
4133: ST_TO_ADDR
// end ; 2 :
4134: GO 4267
4136: LD_INT 2
4138: DOUBLE
4139: EQUAL
4140: IFTRUE 4144
4142: GO 4247
4144: POP
// begin say ( john , D2-JMM-1 ) ;
4145: LD_EXP 174
4149: PPUSH
4150: LD_STRING D2-JMM-1
4152: PPUSH
4153: CALL_OW 88
// sayradio ( powell , D2-Pow-1 ) ;
4157: LD_EXP 175
4161: PPUSH
4162: LD_STRING D2-Pow-1
4164: PPUSH
4165: CALL_OW 94
// say ( john , D2b-JMM-1 ) ;
4169: LD_EXP 174
4173: PPUSH
4174: LD_STRING D2b-JMM-1
4176: PPUSH
4177: CALL_OW 88
// sayradio ( powell , D2b-Pow-1 ) ;
4181: LD_EXP 175
4185: PPUSH
4186: LD_STRING D2b-Pow-1
4188: PPUSH
4189: CALL_OW 94
// say ( john , D2c-JMM-1 ) ;
4193: LD_EXP 174
4197: PPUSH
4198: LD_STRING D2c-JMM-1
4200: PPUSH
4201: CALL_OW 88
// sayradio ( powell , D2c-Pow-1 ) ;
4205: LD_EXP 175
4209: PPUSH
4210: LD_STRING D2c-Pow-1
4212: PPUSH
4213: CALL_OW 94
// say ( john , D2c-JMM-2 ) ;
4217: LD_EXP 174
4221: PPUSH
4222: LD_STRING D2c-JMM-2
4224: PPUSH
4225: CALL_OW 88
// secondPass = 1 ;
4229: LD_ADDR_EXP 148
4233: PUSH
4234: LD_INT 1
4236: ST_TO_ADDR
// zasilka = 1 1$0 ;
4237: LD_ADDR_EXP 155
4241: PUSH
4242: LD_INT 2100
4244: ST_TO_ADDR
// end ; 3 :
4245: GO 4267
4247: LD_INT 3
4249: DOUBLE
4250: EQUAL
4251: IFTRUE 4255
4253: GO 4266
4255: POP
// zapbrod = true ; end ;
4256: LD_ADDR_EXP 153
4260: PUSH
4261: LD_INT 1
4263: ST_TO_ADDR
4264: GO 4267
4266: POP
// ingame_video = false ;
4267: LD_ADDR_OWVAR 52
4271: PUSH
4272: LD_INT 0
4274: ST_TO_ADDR
// interface_hidden = false ;
4275: LD_ADDR_OWVAR 54
4279: PUSH
4280: LD_INT 0
4282: ST_TO_ADDR
// bazukeri_jdete_do_toho := true ;
4283: LD_ADDR_EXP 230
4287: PUSH
4288: LD_INT 1
4290: ST_TO_ADDR
// am_grupa = [ ] ;
4291: LD_ADDR_EXP 185
4295: PUSH
4296: EMPTY
4297: ST_TO_ADDR
// end ;
4298: LD_VAR 0 1
4302: RET
// every 0 0$1 marked 4 do
4303: GO 4305
4305: DISABLE
// begin if am_grupa then
4306: LD_EXP 185
4310: IFFALSE 4313
// enable ;
4312: ENABLE
// centeronunits ( am_grupa ) ;
4313: LD_EXP 185
4317: PPUSH
4318: CALL_OW 85
// end ;
4322: END
// every 0 0$0.5 trigger isinarea ( am_grupa [ 1 ] , vidi_brod ) do
4323: LD_EXP 185
4327: PUSH
4328: LD_INT 1
4330: ARRAY
4331: PPUSH
4332: LD_INT 8
4334: PPUSH
4335: CALL_OW 308
4339: IFFALSE 4352
4341: GO 4343
4343: DISABLE
// brod = true ;
4344: LD_ADDR_EXP 152
4348: PUSH
4349: LD_INT 1
4351: ST_TO_ADDR
4352: END
// every 0 0$0.2 marked 1 do var tmp , grp ;
4353: GO 4355
4355: DISABLE
4356: LD_INT 0
4358: PPUSH
4359: PPUSH
// begin if am_grupa then
4360: LD_EXP 185
4364: IFFALSE 4367
// enable ;
4366: ENABLE
// if zdrhat then
4367: LD_EXP 151
4371: IFFALSE 4407
// begin for tmp in am_grupa do
4373: LD_ADDR_VAR 0 1
4377: PUSH
4378: LD_EXP 185
4382: PUSH
4383: FOR_IN
4384: IFFALSE 4403
// ComMoveXY ( tmp , 99 , 82 ) ;
4386: LD_VAR 0 1
4390: PPUSH
4391: LD_INT 99
4393: PPUSH
4394: LD_INT 82
4396: PPUSH
4397: CALL_OW 111
4401: GO 4383
4403: POP
4404: POP
// end else
4405: GO 4494
// begin grp = UnitFilter ( am_grupa , [ [ f_type , unit_human ] ] ) ;
4407: LD_ADDR_VAR 0 2
4411: PUSH
4412: LD_EXP 185
4416: PPUSH
4417: LD_INT 21
4419: PUSH
4420: LD_INT 1
4422: PUSH
4423: EMPTY
4424: LIST
4425: LIST
4426: PUSH
4427: EMPTY
4428: LIST
4429: PPUSH
4430: CALL_OW 72
4434: ST_TO_ADDR
// for tmp in grp do
4435: LD_ADDR_VAR 0 1
4439: PUSH
4440: LD_VAR 0 2
4444: PUSH
4445: FOR_IN
4446: IFFALSE 4492
// begin if GetLives ( tmp ) < 500 then
4448: LD_VAR 0 1
4452: PPUSH
4453: CALL_OW 256
4457: PUSH
4458: LD_INT 500
4460: LESS
4461: IFFALSE 4475
// SetLives ( tmp , 510 ) ;
4463: LD_VAR 0 1
4467: PPUSH
4468: LD_INT 510
4470: PPUSH
4471: CALL_OW 234
// ComMoveXY ( tmp , 99 , 82 ) ;
4475: LD_VAR 0 1
4479: PPUSH
4480: LD_INT 99
4482: PPUSH
4483: LD_INT 82
4485: PPUSH
4486: CALL_OW 111
// end ;
4490: GO 4445
4492: POP
4493: POP
// end ; end ;
4494: PPOPN 2
4496: END
// on unitgoestored ( un ) do if ( un = ru_lab ) and not dialog6uzbyl then
4497: LD_VAR 0 1
4501: PUSH
4502: LD_INT 3
4504: EQUAL
4505: PUSH
4506: LD_EXP 150
4510: NOT
4511: AND
4512: IFFALSE 4559
// begin dialog6uzbyl = true ;
4514: LD_ADDR_EXP 150
4518: PUSH
4519: LD_INT 1
4521: ST_TO_ADDR
// dialogueon ;
4522: CALL_OW 6
// say ( john , D6-JMM-1 ) ;
4526: LD_EXP 174
4530: PPUSH
4531: LD_STRING D6-JMM-1
4533: PPUSH
4534: CALL_OW 88
// dialogueoff ;
4538: CALL_OW 7
// commovexy ( ru_scies , 8 , 2 ) ;
4542: LD_EXP 167
4546: PPUSH
4547: LD_INT 8
4549: PPUSH
4550: LD_INT 2
4552: PPUSH
4553: CALL_OW 111
// end else
4557: GO 4642
// if marked_3 and ( un in am_grupa ) then
4559: LD_EXP 123
4563: PUSH
4564: LD_VAR 0 1
4568: PUSH
4569: LD_EXP 185
4573: IN
4574: AND
4575: IFFALSE 4642
// begin if not zdrhat then
4577: LD_EXP 151
4581: NOT
4582: IFFALSE 4607
// begin commovexy ( am_grupa , 99 , 82 ) ;
4584: LD_EXP 185
4588: PPUSH
4589: LD_INT 99
4591: PPUSH
4592: LD_INT 82
4594: PPUSH
4595: CALL_OW 111
// zdrhat = true ;
4599: LD_ADDR_EXP 151
4603: PUSH
4604: LD_INT 1
4606: ST_TO_ADDR
// end ; if isdrivenby ( un ) then
4607: LD_VAR 0 1
4611: PPUSH
4612: CALL_OW 311
4616: IFFALSE 4642
// am_grupa = am_grupa ^ [ isdrivenby ( un ) ] ;
4618: LD_ADDR_EXP 185
4622: PUSH
4623: LD_EXP 185
4627: PUSH
4628: LD_VAR 0 1
4632: PPUSH
4633: CALL_OW 311
4637: PUSH
4638: EMPTY
4639: LIST
4640: ADD
4641: ST_TO_ADDR
// end ;
4642: PPOPN 1
4644: END
// export us_in_udoli_ ; function us_in_udoli ; begin
4645: LD_INT 0
4647: PPUSH
// us_in_udoli_ = us_in_udoli_ union filterunitsinarea ( udoli , [ [ f_side , am ] , [ f_ok ] ] ) ;
4648: LD_ADDR_EXP 157
4652: PUSH
4653: LD_EXP 157
4657: PUSH
4658: LD_INT 9
4660: PPUSH
4661: LD_INT 22
4663: PUSH
4664: LD_EXP 2
4668: PUSH
4669: EMPTY
4670: LIST
4671: LIST
4672: PUSH
4673: LD_INT 50
4675: PUSH
4676: EMPTY
4677: LIST
4678: PUSH
4679: EMPTY
4680: LIST
4681: LIST
4682: PPUSH
4683: CALL_OW 70
4687: UNION
4688: ST_TO_ADDR
// result = 0 + us_in_udoli_ ;
4689: LD_ADDR_VAR 0 1
4693: PUSH
4694: LD_INT 0
4696: PUSH
4697: LD_EXP 157
4701: PLUS
4702: ST_TO_ADDR
// end ;
4703: LD_VAR 0 1
4707: RET
// every 0 0$0.5 trigger zapbrod and not most_att_bg and us_in_udoli do
4708: LD_EXP 153
4712: PUSH
4713: LD_EXP 154
4717: NOT
4718: AND
4719: PUSH
4720: CALL 4645 0 0
4724: AND
4725: IFFALSE 4739
4727: GO 4729
4729: DISABLE
// begin most_att_bg = true ;
4730: LD_ADDR_EXP 154
4734: PUSH
4735: LD_INT 1
4737: ST_TO_ADDR
// enable ;
4738: ENABLE
// end ;
4739: END
// function negdo_zustal ; var tmp ; begin
4740: LD_INT 0
4742: PPUSH
4743: PPUSH
// tmp = filterunitsinarea ( zdrhaji , [ [ f_side , am ] ] ) ;
4744: LD_ADDR_VAR 0 2
4748: PUSH
4749: LD_INT 21
4751: PPUSH
4752: LD_INT 22
4754: PUSH
4755: LD_EXP 2
4759: PUSH
4760: EMPTY
4761: LIST
4762: LIST
4763: PUSH
4764: EMPTY
4765: LIST
4766: PPUSH
4767: CALL_OW 70
4771: ST_TO_ADDR
// us_in_udoli_ = unitfilter ( us_in_udoli_ , [ [ f_ok ] ] ) diff tmp ;
4772: LD_ADDR_EXP 157
4776: PUSH
4777: LD_EXP 157
4781: PPUSH
4782: LD_INT 50
4784: PUSH
4785: EMPTY
4786: LIST
4787: PUSH
4788: EMPTY
4789: LIST
4790: PPUSH
4791: CALL_OW 72
4795: PUSH
4796: LD_VAR 0 2
4800: DIFF
4801: ST_TO_ADDR
// result = 0 + us_in_udoli_ ;
4802: LD_ADDR_VAR 0 1
4806: PUSH
4807: LD_INT 0
4809: PUSH
4810: LD_EXP 157
4814: PLUS
4815: ST_TO_ADDR
// end ;
4816: LD_VAR 0 1
4820: RET
// every 0 0$0.5 trigger zapbrod and most_att_bg and not negdo_zustal do var tmp ;
4821: LD_EXP 153
4825: PUSH
4826: LD_EXP 154
4830: AND
4831: PUSH
4832: CALL 4740 0 0
4836: NOT
4837: AND
4838: IFFALSE 5217
4840: GO 4842
4842: DISABLE
4843: LD_INT 0
4845: PPUSH
// begin most_att_bg = false ;
4846: LD_ADDR_EXP 154
4850: PUSH
4851: LD_INT 0
4853: ST_TO_ADDR
// tmp = unitfilter ( [ guard0 , guard1 , guard2 , guard3 ] , [ [ f_side , rus ] , [ f_ok ] ] ) ;
4854: LD_ADDR_VAR 0 1
4858: PUSH
4859: LD_EXP 158
4863: PUSH
4864: LD_EXP 159
4868: PUSH
4869: LD_EXP 160
4873: PUSH
4874: LD_EXP 161
4878: PUSH
4879: EMPTY
4880: LIST
4881: LIST
4882: LIST
4883: LIST
4884: PPUSH
4885: LD_INT 22
4887: PUSH
4888: LD_EXP 1
4892: PUSH
4893: EMPTY
4894: LIST
4895: LIST
4896: PUSH
4897: LD_INT 50
4899: PUSH
4900: EMPTY
4901: LIST
4902: PUSH
4903: EMPTY
4904: LIST
4905: LIST
4906: PPUSH
4907: CALL_OW 72
4911: ST_TO_ADDR
// if tmp and isok ( john ) then
4912: LD_VAR 0 1
4916: PUSH
4917: LD_EXP 174
4921: PPUSH
4922: CALL_OW 302
4926: AND
4927: IFFALSE 5217
// begin dialogueon ;
4929: CALL_OW 6
// case query ( Q1a ) of 1 :
4933: LD_STRING Q1a
4935: PPUSH
4936: CALL_OW 97
4940: PUSH
4941: LD_INT 1
4943: DOUBLE
4944: EQUAL
4945: IFTRUE 4949
4947: GO 5100
4949: POP
// begin say ( john , D2-JMM-1 ) ;
4950: LD_EXP 174
4954: PPUSH
4955: LD_STRING D2-JMM-1
4957: PPUSH
4958: CALL_OW 88
// sayradio ( powell , D2-Pow-1 ) ;
4962: LD_EXP 175
4966: PPUSH
4967: LD_STRING D2-Pow-1
4969: PPUSH
4970: CALL_OW 94
// say ( john , D2a-JMM-1 ) ;
4974: LD_EXP 174
4978: PPUSH
4979: LD_STRING D2a-JMM-1
4981: PPUSH
4982: CALL_OW 88
// sayradio ( powell , D2a-Pow-1 ) ;
4986: LD_EXP 175
4990: PPUSH
4991: LD_STRING D2a-Pow-1
4993: PPUSH
4994: CALL_OW 94
// say ( john , D2a-JMM-2 ) ;
4998: LD_EXP 174
5002: PPUSH
5003: LD_STRING D2a-JMM-2
5005: PPUSH
5006: CALL_OW 88
// sayradio ( powell , D2a-Pow-2 ) ;
5010: LD_EXP 175
5014: PPUSH
5015: LD_STRING D2a-Pow-2
5017: PPUSH
5018: CALL_OW 94
// say ( john , D2a-JMM-3 ) ;
5022: LD_EXP 174
5026: PPUSH
5027: LD_STRING D2a-JMM-3
5029: PPUSH
5030: CALL_OW 88
// sayradio ( powell , D2a-Pow-3 ) ;
5034: LD_EXP 175
5038: PPUSH
5039: LD_STRING D2a-Pow-3
5041: PPUSH
5042: CALL_OW 94
// say ( john , D2c-JMM-1 ) ;
5046: LD_EXP 174
5050: PPUSH
5051: LD_STRING D2c-JMM-1
5053: PPUSH
5054: CALL_OW 88
// sayradio ( powell , D2-Pow-1 ) ;
5058: LD_EXP 175
5062: PPUSH
5063: LD_STRING D2-Pow-1
5065: PPUSH
5066: CALL_OW 94
// say ( john , D2c-JMM-2 ) ;
5070: LD_EXP 174
5074: PPUSH
5075: LD_STRING D2c-JMM-2
5077: PPUSH
5078: CALL_OW 88
// zapbrod = false ;
5082: LD_ADDR_EXP 153
5086: PUSH
5087: LD_INT 0
5089: ST_TO_ADDR
// zasilka = 1 1$0 ;
5090: LD_ADDR_EXP 155
5094: PUSH
5095: LD_INT 2100
5097: ST_TO_ADDR
// end ; 2 :
5098: GO 5212
5100: LD_INT 2
5102: DOUBLE
5103: EQUAL
5104: IFTRUE 5108
5106: GO 5211
5108: POP
// begin say ( john , D2-JMM-1 ) ;
5109: LD_EXP 174
5113: PPUSH
5114: LD_STRING D2-JMM-1
5116: PPUSH
5117: CALL_OW 88
// sayradio ( powell , D2-Pow-1 ) ;
5121: LD_EXP 175
5125: PPUSH
5126: LD_STRING D2-Pow-1
5128: PPUSH
5129: CALL_OW 94
// say ( john , D2b-JMM-1 ) ;
5133: LD_EXP 174
5137: PPUSH
5138: LD_STRING D2b-JMM-1
5140: PPUSH
5141: CALL_OW 88
// sayradio ( powell , D2b-Pow-1 ) ;
5145: LD_EXP 175
5149: PPUSH
5150: LD_STRING D2b-Pow-1
5152: PPUSH
5153: CALL_OW 94
// say ( john , D2c-JMM-1 ) ;
5157: LD_EXP 174
5161: PPUSH
5162: LD_STRING D2c-JMM-1
5164: PPUSH
5165: CALL_OW 88
// sayradio ( powell , D2-Pow-1 ) ;
5169: LD_EXP 175
5173: PPUSH
5174: LD_STRING D2-Pow-1
5176: PPUSH
5177: CALL_OW 94
// say ( john , D2c-JMM-2 ) ;
5181: LD_EXP 174
5185: PPUSH
5186: LD_STRING D2c-JMM-2
5188: PPUSH
5189: CALL_OW 88
// zapbrod = false ;
5193: LD_ADDR_EXP 153
5197: PUSH
5198: LD_INT 0
5200: ST_TO_ADDR
// zasilka = 1 1$0 ;
5201: LD_ADDR_EXP 155
5205: PUSH
5206: LD_INT 2100
5208: ST_TO_ADDR
// end ; end ;
5209: GO 5212
5211: POP
// dialogueoff ;
5212: CALL_OW 7
// enable ;
5216: ENABLE
// end ; end ; end_of_file
5217: PPOPN 1
5219: END
// var timelap0 ; export guard0 , guard1 , guard2 , guard3 ; export def0 , def1 , def2 , defa , defb ; export ru_scies ; export ruso0 , ruso1 , ruso2 , runo0 , runo1 , runo2 ; export john , powell , lucy , kurt , kurt_veh , kurtloc ; export amv0 , amv1 , amv2 , amv3 , amscie0 ; export am_grupa ; export function prepare_russians ; var tmp ; begin
5220: LD_INT 0
5222: PPUSH
5223: PPUSH
// uc_nation = nation_russian ;
5224: LD_ADDR_OWVAR 21
5228: PUSH
5229: LD_INT 3
5231: ST_TO_ADDR
// uc_side = rus ;
5232: LD_ADDR_OWVAR 20
5236: PUSH
5237: LD_EXP 1
5241: ST_TO_ADDR
// preparehuman ( sex_male , class_bazooker , baz0_sk ) ;
5242: LD_INT 1
5244: PPUSH
5245: LD_INT 9
5247: PPUSH
5248: LD_EXP 9
5252: PPUSH
5253: CALL_OW 380
// baz0 = createhuman ;
5257: LD_ADDR_EXP 8
5261: PUSH
5262: CALL_OW 44
5266: ST_TO_ADDR
// placeunitxy ( baz0 , 70 , 54 , false ) ;
5267: LD_EXP 8
5271: PPUSH
5272: LD_INT 70
5274: PPUSH
5275: LD_INT 54
5277: PPUSH
5278: LD_INT 0
5280: PPUSH
5281: CALL_OW 48
// comhold ( baz0 ) ;
5285: LD_EXP 8
5289: PPUSH
5290: CALL_OW 140
// preparehuman ( sex_male , class_bazooker , baz1_sk ) ;
5294: LD_INT 1
5296: PPUSH
5297: LD_INT 9
5299: PPUSH
5300: LD_EXP 11
5304: PPUSH
5305: CALL_OW 380
// baz1 = createhuman ;
5309: LD_ADDR_EXP 10
5313: PUSH
5314: CALL_OW 44
5318: ST_TO_ADDR
// placeunitxy ( baz1 , 69 , 54 , false ) ;
5319: LD_EXP 10
5323: PPUSH
5324: LD_INT 69
5326: PPUSH
5327: LD_INT 54
5329: PPUSH
5330: LD_INT 0
5332: PPUSH
5333: CALL_OW 48
// comhold ( baz1 ) ;
5337: LD_EXP 10
5341: PPUSH
5342: CALL_OW 140
// preparehuman ( sex_male , class_bazooker , baz2_sk ) ;
5346: LD_INT 1
5348: PPUSH
5349: LD_INT 9
5351: PPUSH
5352: LD_EXP 13
5356: PPUSH
5357: CALL_OW 380
// baz2 = createhuman ;
5361: LD_ADDR_EXP 12
5365: PUSH
5366: CALL_OW 44
5370: ST_TO_ADDR
// placeunitxy ( baz2 , 70 , 53 , false ) ;
5371: LD_EXP 12
5375: PPUSH
5376: LD_INT 70
5378: PPUSH
5379: LD_INT 53
5381: PPUSH
5382: LD_INT 0
5384: PPUSH
5385: CALL_OW 48
// comhold ( baz2 ) ;
5389: LD_EXP 12
5393: PPUSH
5394: CALL_OW 140
// preparehuman ( sex_male , class_bazooker , baz3_sk ) ;
5398: LD_INT 1
5400: PPUSH
5401: LD_INT 9
5403: PPUSH
5404: LD_EXP 15
5408: PPUSH
5409: CALL_OW 380
// baz3 = createhuman ;
5413: LD_ADDR_EXP 14
5417: PUSH
5418: CALL_OW 44
5422: ST_TO_ADDR
// placeunitxy ( baz3 , 68 , 52 , false ) ;
5423: LD_EXP 14
5427: PPUSH
5428: LD_INT 68
5430: PPUSH
5431: LD_INT 52
5433: PPUSH
5434: LD_INT 0
5436: PPUSH
5437: CALL_OW 48
// comhold ( baz3 ) ;
5441: LD_EXP 14
5445: PPUSH
5446: CALL_OW 140
// preparehuman ( sex_male , class_bazooker , baz4_sk ) ;
5450: LD_INT 1
5452: PPUSH
5453: LD_INT 9
5455: PPUSH
5456: LD_EXP 17
5460: PPUSH
5461: CALL_OW 380
// baz4 = createhuman ;
5465: LD_ADDR_EXP 16
5469: PUSH
5470: CALL_OW 44
5474: ST_TO_ADDR
// placeunitxy ( baz4 , 69 , 52 , false ) ;
5475: LD_EXP 16
5479: PPUSH
5480: LD_INT 69
5482: PPUSH
5483: LD_INT 52
5485: PPUSH
5486: LD_INT 0
5488: PPUSH
5489: CALL_OW 48
// comhold ( baz4 ) ;
5493: LD_EXP 16
5497: PPUSH
5498: CALL_OW 140
// preparehuman ( sex_male , class_bazooker , baz5_sk ) ;
5502: LD_INT 1
5504: PPUSH
5505: LD_INT 9
5507: PPUSH
5508: LD_EXP 19
5512: PPUSH
5513: CALL_OW 380
// baz5 = createhuman ;
5517: LD_ADDR_EXP 18
5521: PUSH
5522: CALL_OW 44
5526: ST_TO_ADDR
// placeunitxy ( baz5 , 68 , 53 , false ) ;
5527: LD_EXP 18
5531: PPUSH
5532: LD_INT 68
5534: PPUSH
5535: LD_INT 53
5537: PPUSH
5538: LD_INT 0
5540: PPUSH
5541: CALL_OW 48
// comhold ( baz5 ) ;
5545: LD_EXP 18
5549: PPUSH
5550: CALL_OW 140
// preparescientist ( sex_female , scie0_sk ) ;
5554: LD_INT 2
5556: PPUSH
5557: LD_EXP 7
5561: PPUSH
5562: CALL_OW 384
// scie0 = createhuman ;
5566: LD_ADDR_EXP 6
5570: PUSH
5571: CALL_OW 44
5575: ST_TO_ADDR
// placeunitxy ( scie0 , 69 , 53 , false ) ;
5576: LD_EXP 6
5580: PPUSH
5581: LD_INT 69
5583: PPUSH
5584: LD_INT 53
5586: PPUSH
5587: LD_INT 0
5589: PPUSH
5590: CALL_OW 48
// comfree ( scie0 ) ;
5594: LD_EXP 6
5598: PPUSH
5599: CALL_OW 139
// comremember ( [ scie0 , baz0 , baz1 , baz2 , baz3 , baz4 , baz5 ] ) ;
5603: LD_EXP 6
5607: PUSH
5608: LD_EXP 8
5612: PUSH
5613: LD_EXP 10
5617: PUSH
5618: LD_EXP 12
5622: PUSH
5623: LD_EXP 14
5627: PUSH
5628: LD_EXP 16
5632: PUSH
5633: LD_EXP 18
5637: PUSH
5638: EMPTY
5639: LIST
5640: LIST
5641: LIST
5642: LIST
5643: LIST
5644: LIST
5645: LIST
5646: PPUSH
5647: CALL_OW 143
// vc_control = control_computer ;
5651: LD_ADDR_OWVAR 38
5655: PUSH
5656: LD_INT 3
5658: ST_TO_ADDR
// vc_engine = engine_siberite ;
5659: LD_ADDR_OWVAR 39
5663: PUSH
5664: LD_INT 3
5666: ST_TO_ADDR
// vc_chassis = ru_heavy_tracked ;
5667: LD_ADDR_OWVAR 37
5671: PUSH
5672: LD_INT 24
5674: ST_TO_ADDR
// vc_weapon = ru_time_lapser ;
5675: LD_ADDR_OWVAR 40
5679: PUSH
5680: LD_INT 49
5682: ST_TO_ADDR
// timelap0 = createvehicle ;
5683: LD_ADDR_LOC 6
5687: PUSH
5688: CALL_OW 45
5692: ST_TO_ADDR
// setdir ( timelap0 , 5 ) ;
5693: LD_LOC 6
5697: PPUSH
5698: LD_INT 5
5700: PPUSH
5701: CALL_OW 233
// placeunitxy ( timelap0 , 90 , 38 , false ) ;
5705: LD_LOC 6
5709: PPUSH
5710: LD_INT 90
5712: PPUSH
5713: LD_INT 38
5715: PPUSH
5716: LD_INT 0
5718: PPUSH
5719: CALL_OW 48
// comhold ( timelap0 ) ;
5723: LD_LOC 6
5727: PPUSH
5728: CALL_OW 140
// vc_control = control_manual ;
5732: LD_ADDR_OWVAR 38
5736: PUSH
5737: LD_INT 1
5739: ST_TO_ADDR
// vc_chassis = guard0_chassis ;
5740: LD_ADDR_OWVAR 37
5744: PUSH
5745: LD_EXP 20
5749: ST_TO_ADDR
// vc_weapon = guard0_weapon ;
5750: LD_ADDR_OWVAR 40
5754: PUSH
5755: LD_EXP 21
5759: ST_TO_ADDR
// guard0 = createvehicle ;
5760: LD_ADDR_EXP 158
5764: PUSH
5765: CALL_OW 45
5769: ST_TO_ADDR
// setdir ( guard0 , 3 ) ;
5770: LD_EXP 158
5774: PPUSH
5775: LD_INT 3
5777: PPUSH
5778: CALL_OW 233
// placeunitxy ( guard0 , 58 , 77 , false ) ;
5782: LD_EXP 158
5786: PPUSH
5787: LD_INT 58
5789: PPUSH
5790: LD_INT 77
5792: PPUSH
5793: LD_INT 0
5795: PPUSH
5796: CALL_OW 48
// preparemechanic ( sex_male , guard0_dr ) ;
5800: LD_INT 1
5802: PPUSH
5803: LD_EXP 22
5807: PPUSH
5808: CALL_OW 383
// placehumaninunit ( createhuman , guard0 ) ;
5812: CALL_OW 44
5816: PPUSH
5817: LD_EXP 158
5821: PPUSH
5822: CALL_OW 52
// vc_chassis = guard1_chassis ;
5826: LD_ADDR_OWVAR 37
5830: PUSH
5831: LD_EXP 23
5835: ST_TO_ADDR
// vc_weapon = guard1_weapon ;
5836: LD_ADDR_OWVAR 40
5840: PUSH
5841: LD_EXP 24
5845: ST_TO_ADDR
// guard1 = createvehicle ;
5846: LD_ADDR_EXP 159
5850: PUSH
5851: CALL_OW 45
5855: ST_TO_ADDR
// setdir ( guard1 , 3 ) ;
5856: LD_EXP 159
5860: PPUSH
5861: LD_INT 3
5863: PPUSH
5864: CALL_OW 233
// placeunitxy ( guard1 , 54 , 76 , false ) ;
5868: LD_EXP 159
5872: PPUSH
5873: LD_INT 54
5875: PPUSH
5876: LD_INT 76
5878: PPUSH
5879: LD_INT 0
5881: PPUSH
5882: CALL_OW 48
// preparemechanic ( sex_male , guard1_dr ) ;
5886: LD_INT 1
5888: PPUSH
5889: LD_EXP 25
5893: PPUSH
5894: CALL_OW 383
// placehumaninunit ( createhuman , guard1 ) ;
5898: CALL_OW 44
5902: PPUSH
5903: LD_EXP 159
5907: PPUSH
5908: CALL_OW 52
// vc_chassis = guard2_chassis ;
5912: LD_ADDR_OWVAR 37
5916: PUSH
5917: LD_EXP 26
5921: ST_TO_ADDR
// vc_weapon = guard2_weapon ;
5922: LD_ADDR_OWVAR 40
5926: PUSH
5927: LD_EXP 27
5931: ST_TO_ADDR
// guard2 = createvehicle ;
5932: LD_ADDR_EXP 160
5936: PUSH
5937: CALL_OW 45
5941: ST_TO_ADDR
// setdir ( guard2 , 3 ) ;
5942: LD_EXP 160
5946: PPUSH
5947: LD_INT 3
5949: PPUSH
5950: CALL_OW 233
// placeunitxy ( guard2 , 50 , 74 , false ) ;
5954: LD_EXP 160
5958: PPUSH
5959: LD_INT 50
5961: PPUSH
5962: LD_INT 74
5964: PPUSH
5965: LD_INT 0
5967: PPUSH
5968: CALL_OW 48
// preparemechanic ( sex_male , guard2_dr ) ;
5972: LD_INT 1
5974: PPUSH
5975: LD_EXP 28
5979: PPUSH
5980: CALL_OW 383
// placehumaninunit ( createhuman , guard2 ) ;
5984: CALL_OW 44
5988: PPUSH
5989: LD_EXP 160
5993: PPUSH
5994: CALL_OW 52
// vc_chassis = guard3_chassis ;
5998: LD_ADDR_OWVAR 37
6002: PUSH
6003: LD_EXP 29
6007: ST_TO_ADDR
// vc_weapon = guard3_weapon ;
6008: LD_ADDR_OWVAR 40
6012: PUSH
6013: LD_EXP 30
6017: ST_TO_ADDR
// if difficulty > 1 then
6018: LD_OWVAR 67
6022: PUSH
6023: LD_INT 1
6025: GREATER
6026: IFFALSE 6040
// guard3 = createvehicle else
6028: LD_ADDR_EXP 161
6032: PUSH
6033: CALL_OW 45
6037: ST_TO_ADDR
6038: GO 6048
// guard3 = 0 ;
6040: LD_ADDR_EXP 161
6044: PUSH
6045: LD_INT 0
6047: ST_TO_ADDR
// setdir ( guard3 , 2 ) ;
6048: LD_EXP 161
6052: PPUSH
6053: LD_INT 2
6055: PPUSH
6056: CALL_OW 233
// placeunitxy ( guard3 , 45 , 73 , false ) ;
6060: LD_EXP 161
6064: PPUSH
6065: LD_INT 45
6067: PPUSH
6068: LD_INT 73
6070: PPUSH
6071: LD_INT 0
6073: PPUSH
6074: CALL_OW 48
// preparemechanic ( sex_male , guard3_dr ) ;
6078: LD_INT 1
6080: PPUSH
6081: LD_EXP 31
6085: PPUSH
6086: CALL_OW 383
// placehumaninunit ( createhuman , guard3 ) ;
6090: CALL_OW 44
6094: PPUSH
6095: LD_EXP 161
6099: PPUSH
6100: CALL_OW 52
// comremember ( [ guard0 , guard1 , guard2 , guard3 ] ) ;
6104: LD_EXP 158
6108: PUSH
6109: LD_EXP 159
6113: PUSH
6114: LD_EXP 160
6118: PUSH
6119: LD_EXP 161
6123: PUSH
6124: EMPTY
6125: LIST
6126: LIST
6127: LIST
6128: LIST
6129: PPUSH
6130: CALL_OW 143
// teleportexit ( ruteleprt , 113 , 116 ) ;
6134: LD_INT 10
6136: PPUSH
6137: LD_INT 113
6139: PPUSH
6140: LD_INT 116
6142: PPUSH
6143: CALL_OW 243
// vc_control = control_manual ;
6147: LD_ADDR_OWVAR 38
6151: PUSH
6152: LD_INT 1
6154: ST_TO_ADDR
// vc_chassis = def0_chassis ;
6155: LD_ADDR_OWVAR 37
6159: PUSH
6160: LD_EXP 32
6164: ST_TO_ADDR
// vc_weapon = def0_weapon ;
6165: LD_ADDR_OWVAR 40
6169: PUSH
6170: LD_EXP 33
6174: ST_TO_ADDR
// def0 = createvehicle ;
6175: LD_ADDR_EXP 162
6179: PUSH
6180: CALL_OW 45
6184: ST_TO_ADDR
// setdir ( def0 , 2 ) ;
6185: LD_EXP 162
6189: PPUSH
6190: LD_INT 2
6192: PPUSH
6193: CALL_OW 233
// placeunitxy ( def0 , 23 , 17 , false ) ;
6197: LD_EXP 162
6201: PPUSH
6202: LD_INT 23
6204: PPUSH
6205: LD_INT 17
6207: PPUSH
6208: LD_INT 0
6210: PPUSH
6211: CALL_OW 48
// preparemechanic ( sex_male , def0_dr ) ;
6215: LD_INT 1
6217: PPUSH
6218: LD_EXP 34
6222: PPUSH
6223: CALL_OW 383
// placehumaninunit ( createhuman , def0 ) ;
6227: CALL_OW 44
6231: PPUSH
6232: LD_EXP 162
6236: PPUSH
6237: CALL_OW 52
// vc_chassis = def1_chassis ;
6241: LD_ADDR_OWVAR 37
6245: PUSH
6246: LD_EXP 35
6250: ST_TO_ADDR
// vc_weapon = def1_weapon ;
6251: LD_ADDR_OWVAR 40
6255: PUSH
6256: LD_EXP 36
6260: ST_TO_ADDR
// def1 = createvehicle ;
6261: LD_ADDR_EXP 163
6265: PUSH
6266: CALL_OW 45
6270: ST_TO_ADDR
// setdir ( def1 , 3 ) ;
6271: LD_EXP 163
6275: PPUSH
6276: LD_INT 3
6278: PPUSH
6279: CALL_OW 233
// placeunitxy ( def1 , 35 , 19 , false ) ;
6283: LD_EXP 163
6287: PPUSH
6288: LD_INT 35
6290: PPUSH
6291: LD_INT 19
6293: PPUSH
6294: LD_INT 0
6296: PPUSH
6297: CALL_OW 48
// preparemechanic ( sex_male , def1_dr ) ;
6301: LD_INT 1
6303: PPUSH
6304: LD_EXP 37
6308: PPUSH
6309: CALL_OW 383
// placehumaninunit ( createhuman , def1 ) ;
6313: CALL_OW 44
6317: PPUSH
6318: LD_EXP 163
6322: PPUSH
6323: CALL_OW 52
// vc_chassis = def2_chassis ;
6327: LD_ADDR_OWVAR 37
6331: PUSH
6332: LD_EXP 38
6336: ST_TO_ADDR
// vc_weapon = def2_weapon ;
6337: LD_ADDR_OWVAR 40
6341: PUSH
6342: LD_EXP 39
6346: ST_TO_ADDR
// def2 = createvehicle ;
6347: LD_ADDR_EXP 164
6351: PUSH
6352: CALL_OW 45
6356: ST_TO_ADDR
// setdir ( def2 , 2 ) ;
6357: LD_EXP 164
6361: PPUSH
6362: LD_INT 2
6364: PPUSH
6365: CALL_OW 233
// placeunitxy ( def2 , 29 , 13 , false ) ;
6369: LD_EXP 164
6373: PPUSH
6374: LD_INT 29
6376: PPUSH
6377: LD_INT 13
6379: PPUSH
6380: LD_INT 0
6382: PPUSH
6383: CALL_OW 48
// preparemechanic ( sex_male , def2_dr ) ;
6387: LD_INT 1
6389: PPUSH
6390: LD_EXP 40
6394: PPUSH
6395: CALL_OW 383
// placehumaninunit ( createhuman , def2 ) ;
6399: CALL_OW 44
6403: PPUSH
6404: LD_EXP 164
6408: PPUSH
6409: CALL_OW 52
// comremember ( [ def0 , def1 , def2 ] ) ;
6413: LD_EXP 162
6417: PUSH
6418: LD_EXP 163
6422: PUSH
6423: LD_EXP 164
6427: PUSH
6428: EMPTY
6429: LIST
6430: LIST
6431: LIST
6432: PPUSH
6433: CALL_OW 143
// vc_control = control_manual ;
6437: LD_ADDR_OWVAR 38
6441: PUSH
6442: LD_INT 1
6444: ST_TO_ADDR
// vc_chassis = defa_chassis ;
6445: LD_ADDR_OWVAR 37
6449: PUSH
6450: LD_EXP 41
6454: ST_TO_ADDR
// vc_weapon = defa_weapon ;
6455: LD_ADDR_OWVAR 40
6459: PUSH
6460: LD_EXP 42
6464: ST_TO_ADDR
// defa = createvehicle ;
6465: LD_ADDR_EXP 165
6469: PUSH
6470: CALL_OW 45
6474: ST_TO_ADDR
// setdir ( defa , 2 ) ;
6475: LD_EXP 165
6479: PPUSH
6480: LD_INT 2
6482: PPUSH
6483: CALL_OW 233
// placeunitxy ( defa , 37 , 14 , false ) ;
6487: LD_EXP 165
6491: PPUSH
6492: LD_INT 37
6494: PPUSH
6495: LD_INT 14
6497: PPUSH
6498: LD_INT 0
6500: PPUSH
6501: CALL_OW 48
// preparemechanic ( sex_male , defa_driver ) ;
6505: LD_INT 1
6507: PPUSH
6508: LD_EXP 43
6512: PPUSH
6513: CALL_OW 383
// placehumaninunit ( createhuman , defa ) ;
6517: CALL_OW 44
6521: PPUSH
6522: LD_EXP 165
6526: PPUSH
6527: CALL_OW 52
// vc_chassis = defb_chassis ;
6531: LD_ADDR_OWVAR 37
6535: PUSH
6536: LD_EXP 44
6540: ST_TO_ADDR
// vc_weapon = defb_weapon ;
6541: LD_ADDR_OWVAR 40
6545: PUSH
6546: LD_EXP 45
6550: ST_TO_ADDR
// defb = createvehicle ;
6551: LD_ADDR_EXP 166
6555: PUSH
6556: CALL_OW 45
6560: ST_TO_ADDR
// setdir ( defb , 2 ) ;
6561: LD_EXP 166
6565: PPUSH
6566: LD_INT 2
6568: PPUSH
6569: CALL_OW 233
// placeunitxy ( defb , 36 , 9 , false ) ;
6573: LD_EXP 166
6577: PPUSH
6578: LD_INT 36
6580: PPUSH
6581: LD_INT 9
6583: PPUSH
6584: LD_INT 0
6586: PPUSH
6587: CALL_OW 48
// preparemechanic ( sex_male , defb_driver ) ;
6591: LD_INT 1
6593: PPUSH
6594: LD_EXP 46
6598: PPUSH
6599: CALL_OW 383
// placehumaninunit ( createhuman , defb ) ;
6603: CALL_OW 44
6607: PPUSH
6608: LD_EXP 166
6612: PPUSH
6613: CALL_OW 52
// preparesoldier ( sex_male , rubunw0_cr ) ;
6617: LD_INT 1
6619: PPUSH
6620: LD_EXP 141
6624: PPUSH
6625: CALL_OW 381
// tmp = createhuman ;
6629: LD_ADDR_VAR 0 2
6633: PUSH
6634: CALL_OW 44
6638: ST_TO_ADDR
// placeunitxy ( tmp , 33 , 18 , false ) ;
6639: LD_VAR 0 2
6643: PPUSH
6644: LD_INT 33
6646: PPUSH
6647: LD_INT 18
6649: PPUSH
6650: LD_INT 0
6652: PPUSH
6653: CALL_OW 48
// comenterunit ( tmp , rubunw0 ) ;
6657: LD_VAR 0 2
6661: PPUSH
6662: LD_INT 16
6664: PPUSH
6665: CALL_OW 120
// preparesoldier ( sex_male , rubunw1_cr ) ;
6669: LD_INT 1
6671: PPUSH
6672: LD_EXP 142
6676: PPUSH
6677: CALL_OW 381
// tmp = createhuman ;
6681: LD_ADDR_VAR 0 2
6685: PUSH
6686: CALL_OW 44
6690: ST_TO_ADDR
// placeunitxy ( tmp , 37 , 20 , false ) ;
6691: LD_VAR 0 2
6695: PPUSH
6696: LD_INT 37
6698: PPUSH
6699: LD_INT 20
6701: PPUSH
6702: LD_INT 0
6704: PPUSH
6705: CALL_OW 48
// comenterunit ( tmp , rubunw1 ) ;
6709: LD_VAR 0 2
6713: PPUSH
6714: LD_INT 17
6716: PPUSH
6717: CALL_OW 120
// preparesoldier ( sex_male , rubunw2_cr ) ;
6721: LD_INT 1
6723: PPUSH
6724: LD_EXP 143
6728: PPUSH
6729: CALL_OW 381
// tmp = createhuman ;
6733: LD_ADDR_VAR 0 2
6737: PUSH
6738: CALL_OW 44
6742: ST_TO_ADDR
// placeunitxy ( tmp , 44 , 16 , false ) ;
6743: LD_VAR 0 2
6747: PPUSH
6748: LD_INT 44
6750: PPUSH
6751: LD_INT 16
6753: PPUSH
6754: LD_INT 0
6756: PPUSH
6757: CALL_OW 48
// comenterunit ( tmp , rubunw2 ) ;
6761: LD_VAR 0 2
6765: PPUSH
6766: LD_INT 18
6768: PPUSH
6769: CALL_OW 120
// preparemechanic ( sex_male , fact_mech0 ) ;
6773: LD_INT 1
6775: PPUSH
6776: LD_EXP 103
6780: PPUSH
6781: CALL_OW 383
// tmp = createhuman ;
6785: LD_ADDR_VAR 0 2
6789: PUSH
6790: CALL_OW 44
6794: ST_TO_ADDR
// placeunitxyr ( tmp , 19 , 16 , 3 , false ) ;
6795: LD_VAR 0 2
6799: PPUSH
6800: LD_INT 19
6802: PPUSH
6803: LD_INT 16
6805: PPUSH
6806: LD_INT 3
6808: PPUSH
6809: LD_INT 0
6811: PPUSH
6812: CALL_OW 50
// comenterunit ( tmp , ru_fact ) ;
6816: LD_VAR 0 2
6820: PPUSH
6821: LD_INT 21
6823: PPUSH
6824: CALL_OW 120
// preparemechanic ( sex_female , fact_mech1 ) ;
6828: LD_INT 2
6830: PPUSH
6831: LD_EXP 104
6835: PPUSH
6836: CALL_OW 383
// tmp = createhuman ;
6840: LD_ADDR_VAR 0 2
6844: PUSH
6845: CALL_OW 44
6849: ST_TO_ADDR
// placeunitxyr ( tmp , 19 , 16 , 3 , false ) ;
6850: LD_VAR 0 2
6854: PPUSH
6855: LD_INT 19
6857: PPUSH
6858: LD_INT 16
6860: PPUSH
6861: LD_INT 3
6863: PPUSH
6864: LD_INT 0
6866: PPUSH
6867: CALL_OW 50
// comenterunit ( tmp , ru_fact ) ;
6871: LD_VAR 0 2
6875: PPUSH
6876: LD_INT 21
6878: PPUSH
6879: CALL_OW 120
// ru_scies = [ ] ;
6883: LD_ADDR_EXP 167
6887: PUSH
6888: EMPTY
6889: ST_TO_ADDR
// ru_scies_ = 0 ;
6890: LD_ADDR_EXP 224
6894: PUSH
6895: LD_INT 0
6897: ST_TO_ADDR
// ru_scies__ = 5 ;
6898: LD_ADDR_EXP 229
6902: PUSH
6903: LD_INT 5
6905: ST_TO_ADDR
// preparescientist ( sex_male , scie1_sk ) ;
6906: LD_INT 1
6908: PPUSH
6909: LD_EXP 125
6913: PPUSH
6914: CALL_OW 384
// tmp = createhuman ;
6918: LD_ADDR_VAR 0 2
6922: PUSH
6923: CALL_OW 44
6927: ST_TO_ADDR
// placeunitxyr ( tmp , 55 , 4 , 2 , false ) ;
6928: LD_VAR 0 2
6932: PPUSH
6933: LD_INT 55
6935: PPUSH
6936: LD_INT 4
6938: PPUSH
6939: LD_INT 2
6941: PPUSH
6942: LD_INT 0
6944: PPUSH
6945: CALL_OW 50
// comenterunit ( tmp , ru_lab ) ;
6949: LD_VAR 0 2
6953: PPUSH
6954: LD_INT 3
6956: PPUSH
6957: CALL_OW 120
// ru_scies = ru_scies ^ tmp ;
6961: LD_ADDR_EXP 167
6965: PUSH
6966: LD_EXP 167
6970: PUSH
6971: LD_VAR 0 2
6975: ADD
6976: ST_TO_ADDR
// preparescientist ( sex_female , scie2_sk ) ;
6977: LD_INT 2
6979: PPUSH
6980: LD_EXP 126
6984: PPUSH
6985: CALL_OW 384
// tmp = createhuman ;
6989: LD_ADDR_VAR 0 2
6993: PUSH
6994: CALL_OW 44
6998: ST_TO_ADDR
// placeunitxyr ( tmp , 55 , 4 , 2 , false ) ;
6999: LD_VAR 0 2
7003: PPUSH
7004: LD_INT 55
7006: PPUSH
7007: LD_INT 4
7009: PPUSH
7010: LD_INT 2
7012: PPUSH
7013: LD_INT 0
7015: PPUSH
7016: CALL_OW 50
// comenterunit ( tmp , ru_lab ) ;
7020: LD_VAR 0 2
7024: PPUSH
7025: LD_INT 3
7027: PPUSH
7028: CALL_OW 120
// ru_scies = ru_scies ^ tmp ;
7032: LD_ADDR_EXP 167
7036: PUSH
7037: LD_EXP 167
7041: PUSH
7042: LD_VAR 0 2
7046: ADD
7047: ST_TO_ADDR
// preparescientist ( sex_female , scie3_sk ) ;
7048: LD_INT 2
7050: PPUSH
7051: LD_EXP 127
7055: PPUSH
7056: CALL_OW 384
// tmp = createhuman ;
7060: LD_ADDR_VAR 0 2
7064: PUSH
7065: CALL_OW 44
7069: ST_TO_ADDR
// placeunitxyr ( tmp , 55 , 4 , 2 , false ) ;
7070: LD_VAR 0 2
7074: PPUSH
7075: LD_INT 55
7077: PPUSH
7078: LD_INT 4
7080: PPUSH
7081: LD_INT 2
7083: PPUSH
7084: LD_INT 0
7086: PPUSH
7087: CALL_OW 50
// comenterunit ( tmp , ru_lab ) ;
7091: LD_VAR 0 2
7095: PPUSH
7096: LD_INT 3
7098: PPUSH
7099: CALL_OW 120
// ru_scies = ru_scies ^ tmp ;
7103: LD_ADDR_EXP 167
7107: PUSH
7108: LD_EXP 167
7112: PUSH
7113: LD_VAR 0 2
7117: ADD
7118: ST_TO_ADDR
// preparescientist ( sex_male , scie4_sk ) ;
7119: LD_INT 1
7121: PPUSH
7122: LD_EXP 128
7126: PPUSH
7127: CALL_OW 384
// tmp = createhuman ;
7131: LD_ADDR_VAR 0 2
7135: PUSH
7136: CALL_OW 44
7140: ST_TO_ADDR
// placeunitxyr ( tmp , 55 , 4 , 2 , false ) ;
7141: LD_VAR 0 2
7145: PPUSH
7146: LD_INT 55
7148: PPUSH
7149: LD_INT 4
7151: PPUSH
7152: LD_INT 2
7154: PPUSH
7155: LD_INT 0
7157: PPUSH
7158: CALL_OW 50
// comenterunit ( tmp , ru_lab ) ;
7162: LD_VAR 0 2
7166: PPUSH
7167: LD_INT 3
7169: PPUSH
7170: CALL_OW 120
// ru_scies = ru_scies ^ tmp ;
7174: LD_ADDR_EXP 167
7178: PUSH
7179: LD_EXP 167
7183: PUSH
7184: LD_VAR 0 2
7188: ADD
7189: ST_TO_ADDR
// preparescientist ( sex_female , scie5_sk ) ;
7190: LD_INT 2
7192: PPUSH
7193: LD_EXP 129
7197: PPUSH
7198: CALL_OW 384
// tmp = createhuman ;
7202: LD_ADDR_VAR 0 2
7206: PUSH
7207: CALL_OW 44
7211: ST_TO_ADDR
// placeunitxyr ( tmp , 55 , 4 , 2 , false ) ;
7212: LD_VAR 0 2
7216: PPUSH
7217: LD_INT 55
7219: PPUSH
7220: LD_INT 4
7222: PPUSH
7223: LD_INT 2
7225: PPUSH
7226: LD_INT 0
7228: PPUSH
7229: CALL_OW 50
// comenterunit ( tmp , ru_lab ) ;
7233: LD_VAR 0 2
7237: PPUSH
7238: LD_INT 3
7240: PPUSH
7241: CALL_OW 120
// ru_scies = ru_scies ^ tmp ;
7245: LD_ADDR_EXP 167
7249: PUSH
7250: LD_EXP 167
7254: PUSH
7255: LD_VAR 0 2
7259: ADD
7260: ST_TO_ADDR
// preparesoldier ( sex_male , rubune0_cr ) ;
7261: LD_INT 1
7263: PPUSH
7264: LD_EXP 144
7268: PPUSH
7269: CALL_OW 381
// tmp = createhuman ;
7273: LD_ADDR_VAR 0 2
7277: PUSH
7278: CALL_OW 44
7282: ST_TO_ADDR
// placeunitxy ( tmp , 75 , 16 , false ) ;
7283: LD_VAR 0 2
7287: PPUSH
7288: LD_INT 75
7290: PPUSH
7291: LD_INT 16
7293: PPUSH
7294: LD_INT 0
7296: PPUSH
7297: CALL_OW 48
// comenterunit ( tmp , rubune0 ) ;
7301: LD_VAR 0 2
7305: PPUSH
7306: LD_INT 22
7308: PPUSH
7309: CALL_OW 120
// preparesoldier ( sex_male , rubune1_cr ) ;
7313: LD_INT 1
7315: PPUSH
7316: LD_EXP 145
7320: PPUSH
7321: CALL_OW 381
// tmp = createhuman ;
7325: LD_ADDR_VAR 0 2
7329: PUSH
7330: CALL_OW 44
7334: ST_TO_ADDR
// placeunitxy ( tmp , 78 , 14 , false ) ;
7335: LD_VAR 0 2
7339: PPUSH
7340: LD_INT 78
7342: PPUSH
7343: LD_INT 14
7345: PPUSH
7346: LD_INT 0
7348: PPUSH
7349: CALL_OW 48
// comenterunit ( tmp , rubune1 ) ;
7353: LD_VAR 0 2
7357: PPUSH
7358: LD_INT 24
7360: PPUSH
7361: CALL_OW 120
// vc_control = control_manual ;
7365: LD_ADDR_OWVAR 38
7369: PUSH
7370: LD_INT 1
7372: ST_TO_ADDR
// vc_chassis = runo0_chassis ;
7373: LD_ADDR_OWVAR 37
7377: PUSH
7378: LD_EXP 47
7382: ST_TO_ADDR
// vc_weapon = runo0_weapon ;
7383: LD_ADDR_OWVAR 40
7387: PUSH
7388: LD_EXP 48
7392: ST_TO_ADDR
// runo0 = createvehicle ;
7393: LD_ADDR_EXP 171
7397: PUSH
7398: CALL_OW 45
7402: ST_TO_ADDR
// setdir ( runo0 , 3 ) ;
7403: LD_EXP 171
7407: PPUSH
7408: LD_INT 3
7410: PPUSH
7411: CALL_OW 233
// placeunitxy ( runo0 , 72 , 19 , false ) ;
7415: LD_EXP 171
7419: PPUSH
7420: LD_INT 72
7422: PPUSH
7423: LD_INT 19
7425: PPUSH
7426: LD_INT 0
7428: PPUSH
7429: CALL_OW 48
// preparemechanic ( sex_male , runo0_driver ) ;
7433: LD_INT 1
7435: PPUSH
7436: LD_EXP 49
7440: PPUSH
7441: CALL_OW 383
// placehumaninunit ( createhuman , runo0 ) ;
7445: CALL_OW 44
7449: PPUSH
7450: LD_EXP 171
7454: PPUSH
7455: CALL_OW 52
// vc_chassis = runo1_chassis ;
7459: LD_ADDR_OWVAR 37
7463: PUSH
7464: LD_EXP 50
7468: ST_TO_ADDR
// vc_weapon = runo1_weapon ;
7469: LD_ADDR_OWVAR 40
7473: PUSH
7474: LD_EXP 51
7478: ST_TO_ADDR
// runo1 = createvehicle ;
7479: LD_ADDR_EXP 172
7483: PUSH
7484: CALL_OW 45
7488: ST_TO_ADDR
// setdir ( runo1 , 1 ) ;
7489: LD_EXP 172
7493: PPUSH
7494: LD_INT 1
7496: PPUSH
7497: CALL_OW 233
// placeunitxy ( runo1 , 71 , 3 , false ) ;
7501: LD_EXP 172
7505: PPUSH
7506: LD_INT 71
7508: PPUSH
7509: LD_INT 3
7511: PPUSH
7512: LD_INT 0
7514: PPUSH
7515: CALL_OW 48
// preparemechanic ( sex_male , runo1_driver ) ;
7519: LD_INT 1
7521: PPUSH
7522: LD_EXP 52
7526: PPUSH
7527: CALL_OW 383
// placehumaninunit ( createhuman , runo1 ) ;
7531: CALL_OW 44
7535: PPUSH
7536: LD_EXP 172
7540: PPUSH
7541: CALL_OW 52
// vc_chassis = runo2_chassis ;
7545: LD_ADDR_OWVAR 37
7549: PUSH
7550: LD_EXP 53
7554: ST_TO_ADDR
// vc_weapon = runo2_weapon ;
7555: LD_ADDR_OWVAR 40
7559: PUSH
7560: LD_EXP 54
7564: ST_TO_ADDR
// runo2 = createvehicle ;
7565: LD_ADDR_EXP 173
7569: PUSH
7570: CALL_OW 45
7574: ST_TO_ADDR
// setdir ( runo2 , 1 ) ;
7575: LD_EXP 173
7579: PPUSH
7580: LD_INT 1
7582: PPUSH
7583: CALL_OW 233
// placeunitxy ( runo2 , 75 , 9 , false ) ;
7587: LD_EXP 173
7591: PPUSH
7592: LD_INT 75
7594: PPUSH
7595: LD_INT 9
7597: PPUSH
7598: LD_INT 0
7600: PPUSH
7601: CALL_OW 48
// preparemechanic ( sex_male , runo2_driver ) ;
7605: LD_INT 1
7607: PPUSH
7608: LD_EXP 55
7612: PPUSH
7613: CALL_OW 383
// placehumaninunit ( createhuman , runo2 ) ;
7617: CALL_OW 44
7621: PPUSH
7622: LD_EXP 173
7626: PPUSH
7627: CALL_OW 52
// vc_control = control_manual ;
7631: LD_ADDR_OWVAR 38
7635: PUSH
7636: LD_INT 1
7638: ST_TO_ADDR
// vc_chassis = ruso0_chassis ;
7639: LD_ADDR_OWVAR 37
7643: PUSH
7644: LD_EXP 56
7648: ST_TO_ADDR
// vc_weapon = ruso0_weapon ;
7649: LD_ADDR_OWVAR 40
7653: PUSH
7654: LD_EXP 57
7658: ST_TO_ADDR
// ruso0 = createvehicle ;
7659: LD_ADDR_EXP 168
7663: PUSH
7664: CALL_OW 45
7668: ST_TO_ADDR
// setdir ( ruso0 , 5 ) ;
7669: LD_EXP 168
7673: PPUSH
7674: LD_INT 5
7676: PPUSH
7677: CALL_OW 233
// placeunitxy ( ruso0 , 93 , 38 , false ) ;
7681: LD_EXP 168
7685: PPUSH
7686: LD_INT 93
7688: PPUSH
7689: LD_INT 38
7691: PPUSH
7692: LD_INT 0
7694: PPUSH
7695: CALL_OW 48
// preparemechanic ( sex_male , ruso0_driver ) ;
7699: LD_INT 1
7701: PPUSH
7702: LD_EXP 58
7706: PPUSH
7707: CALL_OW 383
// placehumaninunit ( createhuman , ruso0 ) ;
7711: CALL_OW 44
7715: PPUSH
7716: LD_EXP 168
7720: PPUSH
7721: CALL_OW 52
// vc_control = control_manual ;
7725: LD_ADDR_OWVAR 38
7729: PUSH
7730: LD_INT 1
7732: ST_TO_ADDR
// vc_chassis = ruso1_chassis ;
7733: LD_ADDR_OWVAR 37
7737: PUSH
7738: LD_EXP 59
7742: ST_TO_ADDR
// vc_weapon = ruso1_weapon ;
7743: LD_ADDR_OWVAR 40
7747: PUSH
7748: LD_EXP 60
7752: ST_TO_ADDR
// ruso1 = createvehicle ;
7753: LD_ADDR_EXP 169
7757: PUSH
7758: CALL_OW 45
7762: ST_TO_ADDR
// setdir ( ruso1 , 4 ) ;
7763: LD_EXP 169
7767: PPUSH
7768: LD_INT 4
7770: PPUSH
7771: CALL_OW 233
// placeunitxy ( ruso1 , 92 , 43 , false ) ;
7775: LD_EXP 169
7779: PPUSH
7780: LD_INT 92
7782: PPUSH
7783: LD_INT 43
7785: PPUSH
7786: LD_INT 0
7788: PPUSH
7789: CALL_OW 48
// preparemechanic ( sex_male , ruso1_driver ) ;
7793: LD_INT 1
7795: PPUSH
7796: LD_EXP 61
7800: PPUSH
7801: CALL_OW 383
// placehumaninunit ( createhuman , ruso1 ) ;
7805: CALL_OW 44
7809: PPUSH
7810: LD_EXP 169
7814: PPUSH
7815: CALL_OW 52
// vc_control = control_manual ;
7819: LD_ADDR_OWVAR 38
7823: PUSH
7824: LD_INT 1
7826: ST_TO_ADDR
// vc_chassis = ruso2_chassis ;
7827: LD_ADDR_OWVAR 37
7831: PUSH
7832: LD_EXP 62
7836: ST_TO_ADDR
// vc_weapon = ruso2_weapon ;
7837: LD_ADDR_OWVAR 40
7841: PUSH
7842: LD_EXP 63
7846: ST_TO_ADDR
// ruso2 = createvehicle ;
7847: LD_ADDR_EXP 170
7851: PUSH
7852: CALL_OW 45
7856: ST_TO_ADDR
// setdir ( ruso2 , 1 ) ;
7857: LD_EXP 170
7861: PPUSH
7862: LD_INT 1
7864: PPUSH
7865: CALL_OW 233
// placeunitxy ( ruso2 , 98 , 42 , false ) ;
7869: LD_EXP 170
7873: PPUSH
7874: LD_INT 98
7876: PPUSH
7877: LD_INT 42
7879: PPUSH
7880: LD_INT 0
7882: PPUSH
7883: CALL_OW 48
// preparemechanic ( sex_male , ruso2_driver ) ;
7887: LD_INT 1
7889: PPUSH
7890: LD_EXP 64
7894: PPUSH
7895: CALL_OW 383
// placehumaninunit ( createhuman , ruso2 ) ;
7899: CALL_OW 44
7903: PPUSH
7904: LD_EXP 170
7908: PPUSH
7909: CALL_OW 52
// prepare_bazookers ;
7913: CALL 27427 0 0
// end ;
7917: LD_VAR 0 1
7921: RET
// export otherwithjmm , othernotjmm , withjmmvip , notjmmvip , withjmmvip_ , notjmmvip_ ; export bobby , cyrus , lisa , cornel , frank , brown , glad , denis , yamoko , gary ; export bobbyloc , cyrusloc , lisaloc , cornelloc , frankloc , brownloc , gladloc , denisloc , yamokoloc , garyloc ; export eng0 , mech0 , mech1 , mech2 , sold0 , sold1 , sold2 ; export nepouzitvip , nepouzitoth ; export function prepare_americans ; var tmp , tmp2 , kurtl2 , tmpvip , tmpother , tmpvsici , case_ ; begin
7922: LD_INT 0
7924: PPUSH
7925: PPUSH
7926: PPUSH
7927: PPUSH
7928: PPUSH
7929: PPUSH
7930: PPUSH
7931: PPUSH
// uc_nation = nation_american ;
7932: LD_ADDR_OWVAR 21
7936: PUSH
7937: LD_INT 1
7939: ST_TO_ADDR
// uc_side = am ;
7940: LD_ADDR_OWVAR 20
7944: PUSH
7945: LD_EXP 2
7949: ST_TO_ADDR
// if testcharacters ( JMM ) and checkcharacterset ( JMM ) then
7950: LD_STRING JMM
7952: PPUSH
7953: CALL_OW 28
7957: PUSH
7958: LD_STRING JMM
7960: PPUSH
7961: CALL_OW 29
7965: AND
7966: IFFALSE 7986
// john = createcharacterwithclass ( JMM , class_soldier ) else
7968: LD_ADDR_EXP 174
7972: PUSH
7973: LD_STRING JMM
7975: PPUSH
7976: LD_INT 1
7978: PPUSH
7979: CALL_OW 35
7983: ST_TO_ADDR
7984: GO 7999
// buildquery ( neny JMM , [ OK ] ) ;
7986: LD_STRING neny JMM
7988: PPUSH
7989: LD_STRING OK
7991: PUSH
7992: EMPTY
7993: LIST
7994: PPUSH
7995: CALL_OW 99
// powell = newcharacter ( Powell ) ;
7999: LD_ADDR_EXP 175
8003: PUSH
8004: LD_STRING Powell
8006: PPUSH
8007: CALL_OW 25
8011: ST_TO_ADDR
// if not powell then
8012: LD_EXP 175
8016: NOT
8017: IFFALSE 8032
// buildquery ( neny Powell , [ OK ] ) ;
8019: LD_STRING neny Powell
8021: PPUSH
8022: LD_STRING OK
8024: PUSH
8025: EMPTY
8026: LIST
8027: PPUSH
8028: CALL_OW 99
// if not testcharacters ( Donaldson ) then
8032: LD_STRING Donaldson
8034: PPUSH
8035: CALL_OW 28
8039: NOT
8040: IFFALSE 8057
// buildquery ( neny Donaldson , [ OK ] ) else
8042: LD_STRING neny Donaldson
8044: PPUSH
8045: LD_STRING OK
8047: PUSH
8048: EMPTY
8049: LIST
8050: PPUSH
8051: CALL_OW 99
8055: GO 8105
// if checkcharacterset ( Donaldson ) then
8057: LD_STRING Donaldson
8059: PPUSH
8060: CALL_OW 29
8064: IFFALSE 8084
// lucy = createcharacterwithclass ( Donaldson , class_soldier ) else
8066: LD_ADDR_EXP 176
8070: PUSH
8071: LD_STRING Donaldson
8073: PPUSH
8074: LD_INT 1
8076: PPUSH
8077: CALL_OW 35
8081: ST_TO_ADDR
8082: GO 8105
// begin preparesoldier ( sex_female , - 7 ) ;
8084: LD_INT 2
8086: PPUSH
8087: LD_INT 7
8089: NEG
8090: PPUSH
8091: CALL_OW 381
// lucy = createhuman ;
8095: LD_ADDR_EXP 176
8099: PUSH
8100: CALL_OW 44
8104: ST_TO_ADDR
// end ; if testcharacters ( Kurt ) then
8105: LD_STRING Kurt
8107: PPUSH
8108: CALL_OW 28
8112: IFFALSE 8270
// if checkcharacterset ( Kurt ) then
8114: LD_STRING Kurt
8116: PPUSH
8117: CALL_OW 29
8121: IFFALSE 8240
// begin kurt = createcharacterwithclass ( Kurt , class_soldier ) ;
8123: LD_ADDR_EXP 177
8127: PUSH
8128: LD_STRING Kurt
8130: PPUSH
8131: LD_INT 1
8133: PPUSH
8134: CALL_OW 35
8138: ST_TO_ADDR
// if testvariable ( KurtLeaves ) then
8139: LD_STRING KurtLeaves
8141: PPUSH
8142: CALL_OW 27
8146: IFFALSE 8167
// kurtloc = loadvariable ( KurtLeaves , - 1 ) else
8148: LD_ADDR_EXP 179
8152: PUSH
8153: LD_STRING KurtLeaves
8155: PPUSH
8156: LD_INT 1
8158: NEG
8159: PPUSH
8160: CALL_OW 30
8164: ST_TO_ADDR
8165: GO 8180
// buildquery ( neny KurtLeaves , [ OK ] ) ;
8167: LD_STRING neny KurtLeaves
8169: PPUSH
8170: LD_STRING OK
8172: PUSH
8173: EMPTY
8174: LIST
8175: PPUSH
8176: CALL_OW 99
// if testvariable ( KurtEscapes ) then
8180: LD_STRING KurtEscapes
8182: PPUSH
8183: CALL_OW 27
8187: IFFALSE 8208
// kurtl2 = loadvariable ( KurtEscapes , - 1 ) else
8189: LD_ADDR_VAR 0 4
8193: PUSH
8194: LD_STRING KurtEscapes
8196: PPUSH
8197: LD_INT 1
8199: NEG
8200: PPUSH
8201: CALL_OW 30
8205: ST_TO_ADDR
8206: GO 8221
// buildquery ( neny KurtEscapes , [ OK ] ) ;
8208: LD_STRING neny KurtEscapes
8210: PPUSH
8211: LD_STRING OK
8213: PUSH
8214: EMPTY
8215: LIST
8216: PPUSH
8217: CALL_OW 99
// kurtloc = kurtloc and not kurtl2 ;
8221: LD_ADDR_EXP 179
8225: PUSH
8226: LD_EXP 179
8230: PUSH
8231: LD_VAR 0 4
8235: NOT
8236: AND
8237: ST_TO_ADDR
// end else
8238: GO 8268
// begin preparesoldier ( sex_male , 7 ) ;
8240: LD_INT 1
8242: PPUSH
8243: LD_INT 7
8245: PPUSH
8246: CALL_OW 381
// kurt = createhuman ;
8250: LD_ADDR_EXP 177
8254: PUSH
8255: CALL_OW 44
8259: ST_TO_ADDR
// kurtloc = 0 ;
8260: LD_ADDR_EXP 179
8264: PUSH
8265: LD_INT 0
8267: ST_TO_ADDR
// end else
8268: GO 8283
// buildquery ( neny Kurt , [ OK ] ) ;
8270: LD_STRING neny Kurt
8272: PPUSH
8273: LD_STRING OK
8275: PUSH
8276: EMPTY
8277: LIST
8278: PPUSH
8279: CALL_OW 99
// setdir ( john , 5 ) ;
8283: LD_EXP 174
8287: PPUSH
8288: LD_INT 5
8290: PPUSH
8291: CALL_OW 233
// placeunitxy ( john , 143 , 96 , false ) ;
8295: LD_EXP 174
8299: PPUSH
8300: LD_INT 143
8302: PPUSH
8303: LD_INT 96
8305: PPUSH
8306: LD_INT 0
8308: PPUSH
8309: CALL_OW 48
// setdir ( lucy , 5 ) ;
8313: LD_EXP 176
8317: PPUSH
8318: LD_INT 5
8320: PPUSH
8321: CALL_OW 233
// placeunitxy ( lucy , 143 , 98 , false ) ;
8325: LD_EXP 176
8329: PPUSH
8330: LD_INT 143
8332: PPUSH
8333: LD_INT 98
8335: PPUSH
8336: LD_INT 0
8338: PPUSH
8339: CALL_OW 48
// withjmmvip = [ ] ;
8343: LD_ADDR_EXP 188
8347: PUSH
8348: EMPTY
8349: ST_TO_ADDR
// notjmmvip = [ ] ;
8350: LD_ADDR_EXP 189
8354: PUSH
8355: EMPTY
8356: ST_TO_ADDR
// withjmmvip_ = [ ] ;
8357: LD_ADDR_EXP 190
8361: PUSH
8362: EMPTY
8363: ST_TO_ADDR
// notjmmvip_ = [ ] ;
8364: LD_ADDR_EXP 191
8368: PUSH
8369: EMPTY
8370: ST_TO_ADDR
// if not testcharacters ( Bobby ) then
8371: LD_STRING Bobby
8373: PPUSH
8374: CALL_OW 28
8378: NOT
8379: IFFALSE 8390
// msg ( neny Bobby ) else
8381: LD_STRING neny Bobby
8383: PPUSH
8384: CALL_OW 100
8388: GO 8534
// if not checkcharacterset ( Bobby ) then
8390: LD_STRING Bobby
8392: PPUSH
8393: CALL_OW 29
8397: NOT
8398: IFFALSE 8410
// bobby = 0 else
8400: LD_ADDR_EXP 192
8404: PUSH
8405: LD_INT 0
8407: ST_TO_ADDR
8408: GO 8534
// begin bobby = createcharacterwithclass ( Bobby , class_mechanic ) ;
8410: LD_ADDR_EXP 192
8414: PUSH
8415: LD_STRING Bobby
8417: PPUSH
8418: LD_INT 3
8420: PPUSH
8421: CALL_OW 35
8425: ST_TO_ADDR
// bobbyloc = loadvariable ( BobbyLoc , - 1 ) ;
8426: LD_ADDR_EXP 202
8430: PUSH
8431: LD_STRING BobbyLoc
8433: PPUSH
8434: LD_INT 1
8436: NEG
8437: PPUSH
8438: CALL_OW 30
8442: ST_TO_ADDR
// case bobbyloc of 6 :
8443: LD_EXP 202
8447: PUSH
8448: LD_INT 6
8450: DOUBLE
8451: EQUAL
8452: IFTRUE 8456
8454: GO 8478
8456: POP
// withjmmvip = withjmmvip ^ [ bobby ] ; 7 :
8457: LD_ADDR_EXP 188
8461: PUSH
8462: LD_EXP 188
8466: PUSH
8467: LD_EXP 192
8471: PUSH
8472: EMPTY
8473: LIST
8474: ADD
8475: ST_TO_ADDR
8476: GO 8534
8478: LD_INT 7
8480: DOUBLE
8481: EQUAL
8482: IFTRUE 8486
8484: GO 8508
8486: POP
// notjmmvip = notjmmvip ^ [ bobby ] ; - 1 :
8487: LD_ADDR_EXP 189
8491: PUSH
8492: LD_EXP 189
8496: PUSH
8497: LD_EXP 192
8501: PUSH
8502: EMPTY
8503: LIST
8504: ADD
8505: ST_TO_ADDR
8506: GO 8534
8508: LD_INT 1
8510: NEG
8511: DOUBLE
8512: EQUAL
8513: IFTRUE 8517
8515: GO 8533
8517: POP
// buildquery ( neny BobbyLoc , [ OK ] ) ; end ;
8518: LD_STRING neny BobbyLoc
8520: PPUSH
8521: LD_STRING OK
8523: PUSH
8524: EMPTY
8525: LIST
8526: PPUSH
8527: CALL_OW 99
8531: GO 8534
8533: POP
// end ; if not testcharacters ( Cyrus ) then
8534: LD_STRING Cyrus
8536: PPUSH
8537: CALL_OW 28
8541: NOT
8542: IFFALSE 8553
// msg ( neny Cyrus ) else
8544: LD_STRING neny Cyrus
8546: PPUSH
8547: CALL_OW 100
8551: GO 8697
// if not checkcharacterset ( Cyrus ) then
8553: LD_STRING Cyrus
8555: PPUSH
8556: CALL_OW 29
8560: NOT
8561: IFFALSE 8573
// cyrus = 0 else
8563: LD_ADDR_EXP 193
8567: PUSH
8568: LD_INT 0
8570: ST_TO_ADDR
8571: GO 8697
// begin cyrus = createcharacterwithclass ( Cyrus , class_soldier ) ;
8573: LD_ADDR_EXP 193
8577: PUSH
8578: LD_STRING Cyrus
8580: PPUSH
8581: LD_INT 1
8583: PPUSH
8584: CALL_OW 35
8588: ST_TO_ADDR
// cyrusloc = loadvariable ( CyrusLoc , - 1 ) ;
8589: LD_ADDR_EXP 203
8593: PUSH
8594: LD_STRING CyrusLoc
8596: PPUSH
8597: LD_INT 1
8599: NEG
8600: PPUSH
8601: CALL_OW 30
8605: ST_TO_ADDR
// case cyrusloc of 6 :
8606: LD_EXP 203
8610: PUSH
8611: LD_INT 6
8613: DOUBLE
8614: EQUAL
8615: IFTRUE 8619
8617: GO 8641
8619: POP
// withjmmvip = withjmmvip ^ [ cyrus ] ; 7 :
8620: LD_ADDR_EXP 188
8624: PUSH
8625: LD_EXP 188
8629: PUSH
8630: LD_EXP 193
8634: PUSH
8635: EMPTY
8636: LIST
8637: ADD
8638: ST_TO_ADDR
8639: GO 8697
8641: LD_INT 7
8643: DOUBLE
8644: EQUAL
8645: IFTRUE 8649
8647: GO 8671
8649: POP
// notjmmvip = notjmmvip ^ [ cyrus ] ; - 1 :
8650: LD_ADDR_EXP 189
8654: PUSH
8655: LD_EXP 189
8659: PUSH
8660: LD_EXP 193
8664: PUSH
8665: EMPTY
8666: LIST
8667: ADD
8668: ST_TO_ADDR
8669: GO 8697
8671: LD_INT 1
8673: NEG
8674: DOUBLE
8675: EQUAL
8676: IFTRUE 8680
8678: GO 8696
8680: POP
// buildquery ( neny CyrusLoc , [ OK ] ) ; end ;
8681: LD_STRING neny CyrusLoc
8683: PPUSH
8684: LD_STRING OK
8686: PUSH
8687: EMPTY
8688: LIST
8689: PPUSH
8690: CALL_OW 99
8694: GO 8697
8696: POP
// end ; if not testcharacters ( Lisa ) then
8697: LD_STRING Lisa
8699: PPUSH
8700: CALL_OW 28
8704: NOT
8705: IFFALSE 8716
// msg ( neny Lisa ) else
8707: LD_STRING neny Lisa
8709: PPUSH
8710: CALL_OW 100
8714: GO 8860
// if not checkcharacterset ( Lisa ) then
8716: LD_STRING Lisa
8718: PPUSH
8719: CALL_OW 29
8723: NOT
8724: IFFALSE 8736
// lisa = 0 else
8726: LD_ADDR_EXP 194
8730: PUSH
8731: LD_INT 0
8733: ST_TO_ADDR
8734: GO 8860
// begin lisa = createcharacterwithclass ( Lisa , class_soldier ) ;
8736: LD_ADDR_EXP 194
8740: PUSH
8741: LD_STRING Lisa
8743: PPUSH
8744: LD_INT 1
8746: PPUSH
8747: CALL_OW 35
8751: ST_TO_ADDR
// lisaloc = loadvariable ( LisaLoc , - 1 ) ;
8752: LD_ADDR_EXP 204
8756: PUSH
8757: LD_STRING LisaLoc
8759: PPUSH
8760: LD_INT 1
8762: NEG
8763: PPUSH
8764: CALL_OW 30
8768: ST_TO_ADDR
// case lisaloc of 6 :
8769: LD_EXP 204
8773: PUSH
8774: LD_INT 6
8776: DOUBLE
8777: EQUAL
8778: IFTRUE 8782
8780: GO 8804
8782: POP
// withjmmvip = withjmmvip ^ [ lisa ] ; 7 :
8783: LD_ADDR_EXP 188
8787: PUSH
8788: LD_EXP 188
8792: PUSH
8793: LD_EXP 194
8797: PUSH
8798: EMPTY
8799: LIST
8800: ADD
8801: ST_TO_ADDR
8802: GO 8860
8804: LD_INT 7
8806: DOUBLE
8807: EQUAL
8808: IFTRUE 8812
8810: GO 8834
8812: POP
// notjmmvip = notjmmvip ^ [ lisa ] ; - 1 :
8813: LD_ADDR_EXP 189
8817: PUSH
8818: LD_EXP 189
8822: PUSH
8823: LD_EXP 194
8827: PUSH
8828: EMPTY
8829: LIST
8830: ADD
8831: ST_TO_ADDR
8832: GO 8860
8834: LD_INT 1
8836: NEG
8837: DOUBLE
8838: EQUAL
8839: IFTRUE 8843
8841: GO 8859
8843: POP
// buildquery ( neny LisaLoc , [ OK ] ) ; end ;
8844: LD_STRING neny LisaLoc
8846: PPUSH
8847: LD_STRING OK
8849: PUSH
8850: EMPTY
8851: LIST
8852: PPUSH
8853: CALL_OW 99
8857: GO 8860
8859: POP
// end ; if not testcharacters ( Cornell ) then
8860: LD_STRING Cornell
8862: PPUSH
8863: CALL_OW 28
8867: NOT
8868: IFFALSE 8879
// msg ( neny Cornell ) else
8870: LD_STRING neny Cornell
8872: PPUSH
8873: CALL_OW 100
8877: GO 9023
// if not checkcharacterset ( Cornell ) then
8879: LD_STRING Cornell
8881: PPUSH
8882: CALL_OW 29
8886: NOT
8887: IFFALSE 8899
// cornel = 0 else
8889: LD_ADDR_EXP 195
8893: PUSH
8894: LD_INT 0
8896: ST_TO_ADDR
8897: GO 9023
// begin cornel = createcharacterwithclass ( Cornell , class_soldier ) ;
8899: LD_ADDR_EXP 195
8903: PUSH
8904: LD_STRING Cornell
8906: PPUSH
8907: LD_INT 1
8909: PPUSH
8910: CALL_OW 35
8914: ST_TO_ADDR
// cornelloc = loadvariable ( CornellLoc , - 1 ) ;
8915: LD_ADDR_EXP 205
8919: PUSH
8920: LD_STRING CornellLoc
8922: PPUSH
8923: LD_INT 1
8925: NEG
8926: PPUSH
8927: CALL_OW 30
8931: ST_TO_ADDR
// case cornelloc of 6 :
8932: LD_EXP 205
8936: PUSH
8937: LD_INT 6
8939: DOUBLE
8940: EQUAL
8941: IFTRUE 8945
8943: GO 8967
8945: POP
// withjmmvip = withjmmvip ^ [ cornel ] ; 7 :
8946: LD_ADDR_EXP 188
8950: PUSH
8951: LD_EXP 188
8955: PUSH
8956: LD_EXP 195
8960: PUSH
8961: EMPTY
8962: LIST
8963: ADD
8964: ST_TO_ADDR
8965: GO 9023
8967: LD_INT 7
8969: DOUBLE
8970: EQUAL
8971: IFTRUE 8975
8973: GO 8997
8975: POP
// notjmmvip = notjmmvip ^ [ cornel ] ; - 1 :
8976: LD_ADDR_EXP 189
8980: PUSH
8981: LD_EXP 189
8985: PUSH
8986: LD_EXP 195
8990: PUSH
8991: EMPTY
8992: LIST
8993: ADD
8994: ST_TO_ADDR
8995: GO 9023
8997: LD_INT 1
8999: NEG
9000: DOUBLE
9001: EQUAL
9002: IFTRUE 9006
9004: GO 9022
9006: POP
// buildquery ( neny CornellLoc , [ OK ] ) ; end ;
9007: LD_STRING neny CornellLoc
9009: PPUSH
9010: LD_STRING OK
9012: PUSH
9013: EMPTY
9014: LIST
9015: PPUSH
9016: CALL_OW 99
9020: GO 9023
9022: POP
// end ; if not testcharacters ( Frank ) then
9023: LD_STRING Frank
9025: PPUSH
9026: CALL_OW 28
9030: NOT
9031: IFFALSE 9042
// msg ( neny Frank ) else
9033: LD_STRING neny Frank
9035: PPUSH
9036: CALL_OW 100
9040: GO 9186
// if not checkcharacterset ( Frank ) then
9042: LD_STRING Frank
9044: PPUSH
9045: CALL_OW 29
9049: NOT
9050: IFFALSE 9062
// frank = 0 else
9052: LD_ADDR_EXP 196
9056: PUSH
9057: LD_INT 0
9059: ST_TO_ADDR
9060: GO 9186
// begin frank = createcharacterwithclass ( Frank , class_soldier ) ;
9062: LD_ADDR_EXP 196
9066: PUSH
9067: LD_STRING Frank
9069: PPUSH
9070: LD_INT 1
9072: PPUSH
9073: CALL_OW 35
9077: ST_TO_ADDR
// frankloc = loadvariable ( FrankLoc , - 1 ) ;
9078: LD_ADDR_EXP 206
9082: PUSH
9083: LD_STRING FrankLoc
9085: PPUSH
9086: LD_INT 1
9088: NEG
9089: PPUSH
9090: CALL_OW 30
9094: ST_TO_ADDR
// case frankloc of 6 :
9095: LD_EXP 206
9099: PUSH
9100: LD_INT 6
9102: DOUBLE
9103: EQUAL
9104: IFTRUE 9108
9106: GO 9130
9108: POP
// withjmmvip = withjmmvip ^ [ frank ] ; 7 :
9109: LD_ADDR_EXP 188
9113: PUSH
9114: LD_EXP 188
9118: PUSH
9119: LD_EXP 196
9123: PUSH
9124: EMPTY
9125: LIST
9126: ADD
9127: ST_TO_ADDR
9128: GO 9186
9130: LD_INT 7
9132: DOUBLE
9133: EQUAL
9134: IFTRUE 9138
9136: GO 9160
9138: POP
// notjmmvip = notjmmvip ^ [ frank ] ; - 1 :
9139: LD_ADDR_EXP 189
9143: PUSH
9144: LD_EXP 189
9148: PUSH
9149: LD_EXP 196
9153: PUSH
9154: EMPTY
9155: LIST
9156: ADD
9157: ST_TO_ADDR
9158: GO 9186
9160: LD_INT 1
9162: NEG
9163: DOUBLE
9164: EQUAL
9165: IFTRUE 9169
9167: GO 9185
9169: POP
// buildquery ( neny FrankLoc , [ OK ] ) ; end ;
9170: LD_STRING neny FrankLoc
9172: PPUSH
9173: LD_STRING OK
9175: PUSH
9176: EMPTY
9177: LIST
9178: PPUSH
9179: CALL_OW 99
9183: GO 9186
9185: POP
// end ; if not testcharacters ( Brown ) then
9186: LD_STRING Brown
9188: PPUSH
9189: CALL_OW 28
9193: NOT
9194: IFFALSE 9205
// msg ( neny Brown ) else
9196: LD_STRING neny Brown
9198: PPUSH
9199: CALL_OW 100
9203: GO 9349
// if not checkcharacterset ( Brown ) then
9205: LD_STRING Brown
9207: PPUSH
9208: CALL_OW 29
9212: NOT
9213: IFFALSE 9225
// brown = 0 else
9215: LD_ADDR_EXP 197
9219: PUSH
9220: LD_INT 0
9222: ST_TO_ADDR
9223: GO 9349
// begin brown = createcharacterwithclass ( Brown , class_soldier ) ;
9225: LD_ADDR_EXP 197
9229: PUSH
9230: LD_STRING Brown
9232: PPUSH
9233: LD_INT 1
9235: PPUSH
9236: CALL_OW 35
9240: ST_TO_ADDR
// brownloc = loadvariable ( BrownLoc , - 1 ) ;
9241: LD_ADDR_EXP 207
9245: PUSH
9246: LD_STRING BrownLoc
9248: PPUSH
9249: LD_INT 1
9251: NEG
9252: PPUSH
9253: CALL_OW 30
9257: ST_TO_ADDR
// case brownloc of 6 :
9258: LD_EXP 207
9262: PUSH
9263: LD_INT 6
9265: DOUBLE
9266: EQUAL
9267: IFTRUE 9271
9269: GO 9293
9271: POP
// withjmmvip = withjmmvip ^ [ brown ] ; 7 :
9272: LD_ADDR_EXP 188
9276: PUSH
9277: LD_EXP 188
9281: PUSH
9282: LD_EXP 197
9286: PUSH
9287: EMPTY
9288: LIST
9289: ADD
9290: ST_TO_ADDR
9291: GO 9349
9293: LD_INT 7
9295: DOUBLE
9296: EQUAL
9297: IFTRUE 9301
9299: GO 9323
9301: POP
// notjmmvip = notjmmvip ^ [ brown ] ; - 1 :
9302: LD_ADDR_EXP 189
9306: PUSH
9307: LD_EXP 189
9311: PUSH
9312: LD_EXP 197
9316: PUSH
9317: EMPTY
9318: LIST
9319: ADD
9320: ST_TO_ADDR
9321: GO 9349
9323: LD_INT 1
9325: NEG
9326: DOUBLE
9327: EQUAL
9328: IFTRUE 9332
9330: GO 9348
9332: POP
// buildquery ( neny BrownLoc , [ OK ] ) ; end ;
9333: LD_STRING neny BrownLoc
9335: PPUSH
9336: LD_STRING OK
9338: PUSH
9339: EMPTY
9340: LIST
9341: PPUSH
9342: CALL_OW 99
9346: GO 9349
9348: POP
// end ; if not testcharacters ( Gladstone ) then
9349: LD_STRING Gladstone
9351: PPUSH
9352: CALL_OW 28
9356: NOT
9357: IFFALSE 9368
// msg ( neny Gladstone ) else
9359: LD_STRING neny Gladstone
9361: PPUSH
9362: CALL_OW 100
9366: GO 9512
// if not checkcharacterset ( Gladstone ) then
9368: LD_STRING Gladstone
9370: PPUSH
9371: CALL_OW 29
9375: NOT
9376: IFFALSE 9388
// glad = 0 else
9378: LD_ADDR_EXP 198
9382: PUSH
9383: LD_INT 0
9385: ST_TO_ADDR
9386: GO 9512
// begin glad = createcharacterwithclass ( Gladstone , class_scientistic ) ;
9388: LD_ADDR_EXP 198
9392: PUSH
9393: LD_STRING Gladstone
9395: PPUSH
9396: LD_INT 4
9398: PPUSH
9399: CALL_OW 35
9403: ST_TO_ADDR
// gladloc = loadvariable ( GladstoneLoc , - 1 ) ;
9404: LD_ADDR_EXP 208
9408: PUSH
9409: LD_STRING GladstoneLoc
9411: PPUSH
9412: LD_INT 1
9414: NEG
9415: PPUSH
9416: CALL_OW 30
9420: ST_TO_ADDR
// case gladloc of 6 :
9421: LD_EXP 208
9425: PUSH
9426: LD_INT 6
9428: DOUBLE
9429: EQUAL
9430: IFTRUE 9434
9432: GO 9456
9434: POP
// withjmmvip_ = withjmmvip_ ^ [ glad ] ; 7 :
9435: LD_ADDR_EXP 190
9439: PUSH
9440: LD_EXP 190
9444: PUSH
9445: LD_EXP 198
9449: PUSH
9450: EMPTY
9451: LIST
9452: ADD
9453: ST_TO_ADDR
9454: GO 9512
9456: LD_INT 7
9458: DOUBLE
9459: EQUAL
9460: IFTRUE 9464
9462: GO 9486
9464: POP
// notjmmvip_ = notjmmvip_ ^ [ glad ] ; - 1 :
9465: LD_ADDR_EXP 191
9469: PUSH
9470: LD_EXP 191
9474: PUSH
9475: LD_EXP 198
9479: PUSH
9480: EMPTY
9481: LIST
9482: ADD
9483: ST_TO_ADDR
9484: GO 9512
9486: LD_INT 1
9488: NEG
9489: DOUBLE
9490: EQUAL
9491: IFTRUE 9495
9493: GO 9511
9495: POP
// buildquery ( neny GladstoneLoc , [ OK ] ) ; end ;
9496: LD_STRING neny GladstoneLoc
9498: PPUSH
9499: LD_STRING OK
9501: PUSH
9502: EMPTY
9503: LIST
9504: PPUSH
9505: CALL_OW 99
9509: GO 9512
9511: POP
// end ; if not testcharacters ( Denis ) then
9512: LD_STRING Denis
9514: PPUSH
9515: CALL_OW 28
9519: NOT
9520: IFFALSE 9531
// msg ( neny Denis ) else
9522: LD_STRING neny Denis
9524: PPUSH
9525: CALL_OW 100
9529: GO 9675
// if not checkcharacterset ( Denis ) then
9531: LD_STRING Denis
9533: PPUSH
9534: CALL_OW 29
9538: NOT
9539: IFFALSE 9551
// denis = 0 else
9541: LD_ADDR_EXP 199
9545: PUSH
9546: LD_INT 0
9548: ST_TO_ADDR
9549: GO 9675
// begin denis = createcharacterwithclass ( Denis , class_scientistic ) ;
9551: LD_ADDR_EXP 199
9555: PUSH
9556: LD_STRING Denis
9558: PPUSH
9559: LD_INT 4
9561: PPUSH
9562: CALL_OW 35
9566: ST_TO_ADDR
// denisloc = loadvariable ( DenisLoc , - 1 ) ;
9567: LD_ADDR_EXP 209
9571: PUSH
9572: LD_STRING DenisLoc
9574: PPUSH
9575: LD_INT 1
9577: NEG
9578: PPUSH
9579: CALL_OW 30
9583: ST_TO_ADDR
// case denisloc of 6 :
9584: LD_EXP 209
9588: PUSH
9589: LD_INT 6
9591: DOUBLE
9592: EQUAL
9593: IFTRUE 9597
9595: GO 9619
9597: POP
// withjmmvip_ = withjmmvip_ ^ [ denis ] ; 7 :
9598: LD_ADDR_EXP 190
9602: PUSH
9603: LD_EXP 190
9607: PUSH
9608: LD_EXP 199
9612: PUSH
9613: EMPTY
9614: LIST
9615: ADD
9616: ST_TO_ADDR
9617: GO 9675
9619: LD_INT 7
9621: DOUBLE
9622: EQUAL
9623: IFTRUE 9627
9625: GO 9649
9627: POP
// notjmmvip_ = notjmmvip_ ^ [ denis ] ; - 1 :
9628: LD_ADDR_EXP 191
9632: PUSH
9633: LD_EXP 191
9637: PUSH
9638: LD_EXP 199
9642: PUSH
9643: EMPTY
9644: LIST
9645: ADD
9646: ST_TO_ADDR
9647: GO 9675
9649: LD_INT 1
9651: NEG
9652: DOUBLE
9653: EQUAL
9654: IFTRUE 9658
9656: GO 9674
9658: POP
// buildquery ( neny DenisLoc , [ OK ] ) ; end ;
9659: LD_STRING neny DenisLoc
9661: PPUSH
9662: LD_STRING OK
9664: PUSH
9665: EMPTY
9666: LIST
9667: PPUSH
9668: CALL_OW 99
9672: GO 9675
9674: POP
// end ; yamoko = 0 ;
9675: LD_ADDR_EXP 200
9679: PUSH
9680: LD_INT 0
9682: ST_TO_ADDR
// if not frank then
9683: LD_EXP 196
9687: NOT
9688: IFFALSE 9853
// if not testcharacters ( Yamoko ) then
9690: LD_STRING Yamoko
9692: PPUSH
9693: CALL_OW 28
9697: NOT
9698: IFFALSE 9709
// msg ( neny Yamoko ) else
9700: LD_STRING neny Yamoko
9702: PPUSH
9703: CALL_OW 100
9707: GO 9853
// if not checkcharacterset ( Yamoko ) then
9709: LD_STRING Yamoko
9711: PPUSH
9712: CALL_OW 29
9716: NOT
9717: IFFALSE 9729
// yamoko = 0 else
9719: LD_ADDR_EXP 200
9723: PUSH
9724: LD_INT 0
9726: ST_TO_ADDR
9727: GO 9853
// begin yamoko = createcharacterwithclass ( Yamoko , class_soldier ) ;
9729: LD_ADDR_EXP 200
9733: PUSH
9734: LD_STRING Yamoko
9736: PPUSH
9737: LD_INT 1
9739: PPUSH
9740: CALL_OW 35
9744: ST_TO_ADDR
// yamokoloc = loadvariable ( YamokoLoc , - 1 ) ;
9745: LD_ADDR_EXP 210
9749: PUSH
9750: LD_STRING YamokoLoc
9752: PPUSH
9753: LD_INT 1
9755: NEG
9756: PPUSH
9757: CALL_OW 30
9761: ST_TO_ADDR
// case yamokoloc of 6 :
9762: LD_EXP 210
9766: PUSH
9767: LD_INT 6
9769: DOUBLE
9770: EQUAL
9771: IFTRUE 9775
9773: GO 9797
9775: POP
// withjmmvip = withjmmvip ^ [ yamoko ] ; 7 :
9776: LD_ADDR_EXP 188
9780: PUSH
9781: LD_EXP 188
9785: PUSH
9786: LD_EXP 200
9790: PUSH
9791: EMPTY
9792: LIST
9793: ADD
9794: ST_TO_ADDR
9795: GO 9853
9797: LD_INT 7
9799: DOUBLE
9800: EQUAL
9801: IFTRUE 9805
9803: GO 9827
9805: POP
// notjmmvip = notjmmvip ^ [ yamoko ] ; - 1 :
9806: LD_ADDR_EXP 189
9810: PUSH
9811: LD_EXP 189
9815: PUSH
9816: LD_EXP 200
9820: PUSH
9821: EMPTY
9822: LIST
9823: ADD
9824: ST_TO_ADDR
9825: GO 9853
9827: LD_INT 1
9829: NEG
9830: DOUBLE
9831: EQUAL
9832: IFTRUE 9836
9834: GO 9852
9836: POP
// buildquery ( neny YamokoLoc , [ OK ] ) ; end ;
9837: LD_STRING neny YamokoLoc
9839: PPUSH
9840: LD_STRING OK
9842: PUSH
9843: EMPTY
9844: LIST
9845: PPUSH
9846: CALL_OW 99
9850: GO 9853
9852: POP
// end ; if not testcharacters ( Gary ) then
9853: LD_STRING Gary
9855: PPUSH
9856: CALL_OW 28
9860: NOT
9861: IFFALSE 9872
// msg ( neny Gary ) else
9863: LD_STRING neny Gary
9865: PPUSH
9866: CALL_OW 100
9870: GO 10016
// if not checkcharacterset ( Gary ) then
9872: LD_STRING Gary
9874: PPUSH
9875: CALL_OW 29
9879: NOT
9880: IFFALSE 9892
// gary = 0 else
9882: LD_ADDR_EXP 201
9886: PUSH
9887: LD_INT 0
9889: ST_TO_ADDR
9890: GO 10016
// begin gary = createcharacterwithclass ( Gary , class_soldier ) ;
9892: LD_ADDR_EXP 201
9896: PUSH
9897: LD_STRING Gary
9899: PPUSH
9900: LD_INT 1
9902: PPUSH
9903: CALL_OW 35
9907: ST_TO_ADDR
// garyloc = loadvariable ( GaryLoc , - 1 ) ;
9908: LD_ADDR_EXP 211
9912: PUSH
9913: LD_STRING GaryLoc
9915: PPUSH
9916: LD_INT 1
9918: NEG
9919: PPUSH
9920: CALL_OW 30
9924: ST_TO_ADDR
// case garyloc of 6 :
9925: LD_EXP 211
9929: PUSH
9930: LD_INT 6
9932: DOUBLE
9933: EQUAL
9934: IFTRUE 9938
9936: GO 9960
9938: POP
// withjmmvip = withjmmvip ^ [ gary ] ; 7 :
9939: LD_ADDR_EXP 188
9943: PUSH
9944: LD_EXP 188
9948: PUSH
9949: LD_EXP 201
9953: PUSH
9954: EMPTY
9955: LIST
9956: ADD
9957: ST_TO_ADDR
9958: GO 10016
9960: LD_INT 7
9962: DOUBLE
9963: EQUAL
9964: IFTRUE 9968
9966: GO 9990
9968: POP
// notjmmvip = notjmmvip ^ [ gary ] ; - 1 :
9969: LD_ADDR_EXP 189
9973: PUSH
9974: LD_EXP 189
9978: PUSH
9979: LD_EXP 201
9983: PUSH
9984: EMPTY
9985: LIST
9986: ADD
9987: ST_TO_ADDR
9988: GO 10016
9990: LD_INT 1
9992: NEG
9993: DOUBLE
9994: EQUAL
9995: IFTRUE 9999
9997: GO 10015
9999: POP
// buildquery ( neny GaryLoc , [ OK ] ) ; end ;
10000: LD_STRING neny GaryLoc
10002: PPUSH
10003: LD_STRING OK
10005: PUSH
10006: EMPTY
10007: LIST
10008: PPUSH
10009: CALL_OW 99
10013: GO 10016
10015: POP
// end ; if not testcharacters ( otherwithJMM ) or not checkcharacterset ( otherwithJMM ) then
10016: LD_STRING otherwithJMM
10018: PPUSH
10019: CALL_OW 28
10023: NOT
10024: PUSH
10025: LD_STRING otherwithJMM
10027: PPUSH
10028: CALL_OW 29
10032: NOT
10033: OR
10034: IFFALSE 10045
// msg ( neny otherwithJMM ) else
10036: LD_STRING neny otherwithJMM
10038: PPUSH
10039: CALL_OW 100
10043: GO 10058
// otherwithjmm = createcharacterset ( otherwithJMM ) ;
10045: LD_ADDR_EXP 186
10049: PUSH
10050: LD_STRING otherwithJMM
10052: PPUSH
10053: CALL_OW 31
10057: ST_TO_ADDR
// if not testcharacters ( othernotJMM ) or not checkcharacterset ( othernotJMM ) then
10058: LD_STRING othernotJMM
10060: PPUSH
10061: CALL_OW 28
10065: NOT
10066: PUSH
10067: LD_STRING othernotJMM
10069: PPUSH
10070: CALL_OW 29
10074: NOT
10075: OR
10076: IFFALSE 10087
// msg ( neny othernotJMM ) else
10078: LD_STRING neny othernotJMM
10080: PPUSH
10081: CALL_OW 100
10085: GO 10100
// othernotjmm = createcharacterset ( othernotJMM ) ;
10087: LD_ADDR_EXP 187
10091: PUSH
10092: LD_STRING othernotJMM
10094: PPUSH
10095: CALL_OW 31
10099: ST_TO_ADDR
// for tmp in otherwithjmm do
10100: LD_ADDR_VAR 0 2
10104: PUSH
10105: LD_EXP 186
10109: PUSH
10110: FOR_IN
10111: IFFALSE 10149
// if getclass ( tmp ) in [ class_mortar , class_engineer ] then
10113: LD_VAR 0 2
10117: PPUSH
10118: CALL_OW 257
10122: PUSH
10123: LD_INT 8
10125: PUSH
10126: LD_INT 2
10128: PUSH
10129: EMPTY
10130: LIST
10131: LIST
10132: IN
10133: IFFALSE 10147
// setclass ( tmp , class_soldier ) ;
10135: LD_VAR 0 2
10139: PPUSH
10140: LD_INT 1
10142: PPUSH
10143: CALL_OW 336
10147: GO 10110
10149: POP
10150: POP
// for tmp in othernotjmm do
10151: LD_ADDR_VAR 0 2
10155: PUSH
10156: LD_EXP 187
10160: PUSH
10161: FOR_IN
10162: IFFALSE 10200
// if getclass ( tmp ) in [ class_mortar , class_engineer ] then
10164: LD_VAR 0 2
10168: PPUSH
10169: CALL_OW 257
10173: PUSH
10174: LD_INT 8
10176: PUSH
10177: LD_INT 2
10179: PUSH
10180: EMPTY
10181: LIST
10182: LIST
10183: IN
10184: IFFALSE 10198
// setclass ( tmp , class_soldier ) ;
10186: LD_VAR 0 2
10190: PPUSH
10191: LD_INT 1
10193: PPUSH
10194: CALL_OW 336
10198: GO 10161
10200: POP
10201: POP
// if 0 + withjmmvip_ + notjmmvip_ then
10202: LD_INT 0
10204: PUSH
10205: LD_EXP 190
10209: PLUS
10210: PUSH
10211: LD_EXP 191
10215: PLUS
10216: IFFALSE 10240
// amscie0 = ( withjmmvip_ ^ notjmmvip_ ) [ 1 ] else
10218: LD_ADDR_EXP 184
10222: PUSH
10223: LD_EXP 190
10227: PUSH
10228: LD_EXP 191
10232: ADD
10233: PUSH
10234: LD_INT 1
10236: ARRAY
10237: ST_TO_ADDR
10238: GO 10348
// if 0 + otherwithjmm + othernotjmm then
10240: LD_INT 0
10242: PUSH
10243: LD_EXP 186
10247: PLUS
10248: PUSH
10249: LD_EXP 187
10253: PLUS
10254: IFFALSE 10326
// begin amscie0 = findmaxskill2 ( otherwithjmm ^ othernotjmm , skill_scientistic ) ;
10256: LD_ADDR_EXP 184
10260: PUSH
10261: LD_EXP 186
10265: PUSH
10266: LD_EXP 187
10270: ADD
10271: PPUSH
10272: LD_INT 4
10274: PPUSH
10275: CALL_OW 434
10279: ST_TO_ADDR
// setclass ( amscie0 , class_scientistic ) ;
10280: LD_EXP 184
10284: PPUSH
10285: LD_INT 4
10287: PPUSH
10288: CALL_OW 336
// otherwithjmm = otherwithjmm diff amscie0 ;
10292: LD_ADDR_EXP 186
10296: PUSH
10297: LD_EXP 186
10301: PUSH
10302: LD_EXP 184
10306: DIFF
10307: ST_TO_ADDR
// othernotjmm = othernotjmm diff amscie0 ;
10308: LD_ADDR_EXP 187
10312: PUSH
10313: LD_EXP 187
10317: PUSH
10318: LD_EXP 184
10322: DIFF
10323: ST_TO_ADDR
// end else
10324: GO 10348
// begin preparescientist ( sex_female , amscie0_lvl ) ;
10326: LD_INT 2
10328: PPUSH
10329: LD_EXP 77
10333: PPUSH
10334: CALL_OW 384
// amscie0 = createhuman ;
10338: LD_ADDR_EXP 184
10342: PUSH
10343: CALL_OW 44
10347: ST_TO_ADDR
// end ; case_ = 0 ;
10348: LD_ADDR_VAR 0 8
10352: PUSH
10353: LD_INT 0
10355: ST_TO_ADDR
// vc_control = control_manual ;
10356: LD_ADDR_OWVAR 38
10360: PUSH
10361: LD_INT 1
10363: ST_TO_ADDR
// vc_engine = engine_siberite ;
10364: LD_ADDR_OWVAR 39
10368: PUSH
10369: LD_INT 3
10371: ST_TO_ADDR
// tmpvip = withjmmvip ^ notjmmvip ;
10372: LD_ADDR_VAR 0 5
10376: PUSH
10377: LD_EXP 188
10381: PUSH
10382: LD_EXP 189
10386: ADD
10387: ST_TO_ADDR
// tmpother = otherwithjmm ^ othernotjmm ;
10388: LD_ADDR_VAR 0 6
10392: PUSH
10393: LD_EXP 186
10397: PUSH
10398: LD_EXP 187
10402: ADD
10403: ST_TO_ADDR
// if ( 0 + tmpvip ) >= 7 then
10404: LD_INT 0
10406: PUSH
10407: LD_VAR 0 5
10411: PLUS
10412: PUSH
10413: LD_INT 7
10415: GREATEREQUAL
10416: IFFALSE 11479
// begin am_grupa = [ tmpvip [ 1 ] ] ;
10418: LD_ADDR_EXP 185
10422: PUSH
10423: LD_VAR 0 5
10427: PUSH
10428: LD_INT 1
10430: ARRAY
10431: PUSH
10432: EMPTY
10433: LIST
10434: ST_TO_ADDR
// tmpvip = delete ( tmpvip , 1 ) ;
10435: LD_ADDR_VAR 0 5
10439: PUSH
10440: LD_VAR 0 5
10444: PPUSH
10445: LD_INT 1
10447: PPUSH
10448: CALL_OW 3
10452: ST_TO_ADDR
// am_grupa = am_grupa ^ [ tmpvip [ 1 ] ] ;
10453: LD_ADDR_EXP 185
10457: PUSH
10458: LD_EXP 185
10462: PUSH
10463: LD_VAR 0 5
10467: PUSH
10468: LD_INT 1
10470: ARRAY
10471: PUSH
10472: EMPTY
10473: LIST
10474: ADD
10475: ST_TO_ADDR
// tmpvip = delete ( tmpvip , 1 ) ;
10476: LD_ADDR_VAR 0 5
10480: PUSH
10481: LD_VAR 0 5
10485: PPUSH
10486: LD_INT 1
10488: PPUSH
10489: CALL_OW 3
10493: ST_TO_ADDR
// placeunitxyr ( am_grupa [ 1 ] , 144 , 97 , 3 , false ) ;
10494: LD_EXP 185
10498: PUSH
10499: LD_INT 1
10501: ARRAY
10502: PPUSH
10503: LD_INT 144
10505: PPUSH
10506: LD_INT 97
10508: PPUSH
10509: LD_INT 3
10511: PPUSH
10512: LD_INT 0
10514: PPUSH
10515: CALL_OW 50
// placeunitxyr ( am_grupa [ 2 ] , 144 , 97 , 3 , false ) ;
10519: LD_EXP 185
10523: PUSH
10524: LD_INT 2
10526: ARRAY
10527: PPUSH
10528: LD_INT 144
10530: PPUSH
10531: LD_INT 97
10533: PPUSH
10534: LD_INT 3
10536: PPUSH
10537: LD_INT 0
10539: PPUSH
10540: CALL_OW 50
// placeunitxyr ( amscie0 , 144 , 97 , 3 , false ) ;
10544: LD_EXP 184
10548: PPUSH
10549: LD_INT 144
10551: PPUSH
10552: LD_INT 97
10554: PPUSH
10555: LD_INT 3
10557: PPUSH
10558: LD_INT 0
10560: PPUSH
10561: CALL_OW 50
// vc_chassis = amv0_ch ;
10565: LD_ADDR_OWVAR 37
10569: PUSH
10570: LD_EXP 65
10574: ST_TO_ADDR
// vc_weapon = amv0_wp ;
10575: LD_ADDR_OWVAR 40
10579: PUSH
10580: LD_EXP 66
10584: ST_TO_ADDR
// amv0 = createvehicle ;
10585: LD_ADDR_EXP 180
10589: PUSH
10590: CALL_OW 45
10594: ST_TO_ADDR
// setdir ( amv0 , 5 ) ;
10595: LD_EXP 180
10599: PPUSH
10600: LD_INT 5
10602: PPUSH
10603: CALL_OW 233
// placeunitxyr ( amv0 , 146 , 97 , 3 , false ) ;
10607: LD_EXP 180
10611: PPUSH
10612: LD_INT 146
10614: PPUSH
10615: LD_INT 97
10617: PPUSH
10618: LD_INT 3
10620: PPUSH
10621: LD_INT 0
10623: PPUSH
10624: CALL_OW 50
// placehumaninunit ( tmpvip [ 1 ] , amv0 ) ;
10628: LD_VAR 0 5
10632: PUSH
10633: LD_INT 1
10635: ARRAY
10636: PPUSH
10637: LD_EXP 180
10641: PPUSH
10642: CALL_OW 52
// tmpvip = delete ( tmpvip , 1 ) ;
10646: LD_ADDR_VAR 0 5
10650: PUSH
10651: LD_VAR 0 5
10655: PPUSH
10656: LD_INT 1
10658: PPUSH
10659: CALL_OW 3
10663: ST_TO_ADDR
// vc_chassis = amv1_ch ;
10664: LD_ADDR_OWVAR 37
10668: PUSH
10669: LD_EXP 67
10673: ST_TO_ADDR
// vc_weapon = amv1_wp ;
10674: LD_ADDR_OWVAR 40
10678: PUSH
10679: LD_EXP 68
10683: ST_TO_ADDR
// amv1 = createvehicle ;
10684: LD_ADDR_EXP 181
10688: PUSH
10689: CALL_OW 45
10693: ST_TO_ADDR
// setdir ( amv1 , 5 ) ;
10694: LD_EXP 181
10698: PPUSH
10699: LD_INT 5
10701: PPUSH
10702: CALL_OW 233
// placeunitxyr ( amv1 , 146 , 99 , 3 , false ) ;
10706: LD_EXP 181
10710: PPUSH
10711: LD_INT 146
10713: PPUSH
10714: LD_INT 99
10716: PPUSH
10717: LD_INT 3
10719: PPUSH
10720: LD_INT 0
10722: PPUSH
10723: CALL_OW 50
// placehumaninunit ( tmpvip [ 1 ] , amv1 ) ;
10727: LD_VAR 0 5
10731: PUSH
10732: LD_INT 1
10734: ARRAY
10735: PPUSH
10736: LD_EXP 181
10740: PPUSH
10741: CALL_OW 52
// tmpvip = delete ( tmpvip , 1 ) ;
10745: LD_ADDR_VAR 0 5
10749: PUSH
10750: LD_VAR 0 5
10754: PPUSH
10755: LD_INT 1
10757: PPUSH
10758: CALL_OW 3
10762: ST_TO_ADDR
// vc_control = control_computer ;
10763: LD_ADDR_OWVAR 38
10767: PUSH
10768: LD_INT 3
10770: ST_TO_ADDR
// vc_chassis = amv2_ch ;
10771: LD_ADDR_OWVAR 37
10775: PUSH
10776: LD_EXP 69
10780: ST_TO_ADDR
// vc_weapon = amv2_wp ;
10781: LD_ADDR_OWVAR 40
10785: PUSH
10786: LD_EXP 70
10790: ST_TO_ADDR
// amv2 = createvehicle ;
10791: LD_ADDR_EXP 182
10795: PUSH
10796: CALL_OW 45
10800: ST_TO_ADDR
// setdir ( amv2 , 5 ) ;
10801: LD_EXP 182
10805: PPUSH
10806: LD_INT 5
10808: PPUSH
10809: CALL_OW 233
// placeunitxyr ( amv2 , 150 , 103 , 3 , false ) ;
10813: LD_EXP 182
10817: PPUSH
10818: LD_INT 150
10820: PPUSH
10821: LD_INT 103
10823: PPUSH
10824: LD_INT 3
10826: PPUSH
10827: LD_INT 0
10829: PPUSH
10830: CALL_OW 50
// vc_control = control_computer ;
10834: LD_ADDR_OWVAR 38
10838: PUSH
10839: LD_INT 3
10841: ST_TO_ADDR
// vc_chassis = amv3_ch ;
10842: LD_ADDR_OWVAR 37
10846: PUSH
10847: LD_EXP 71
10851: ST_TO_ADDR
// vc_weapon = amv3_wp ;
10852: LD_ADDR_OWVAR 40
10856: PUSH
10857: LD_EXP 72
10861: ST_TO_ADDR
// amv3 = createvehicle ;
10862: LD_ADDR_EXP 183
10866: PUSH
10867: CALL_OW 45
10871: ST_TO_ADDR
// setdir ( amv3 , 5 ) ;
10872: LD_EXP 183
10876: PPUSH
10877: LD_INT 5
10879: PPUSH
10880: CALL_OW 233
// placeunitxyr ( amv3 , 145 , 94 , 3 , false ) ;
10884: LD_EXP 183
10888: PPUSH
10889: LD_INT 145
10891: PPUSH
10892: LD_INT 94
10894: PPUSH
10895: LD_INT 3
10897: PPUSH
10898: LD_INT 0
10900: PPUSH
10901: CALL_OW 50
// eng0 = findmaxskill2 ( tmpvip , skill_engineering ) ;
10905: LD_ADDR_EXP 212
10909: PUSH
10910: LD_VAR 0 5
10914: PPUSH
10915: LD_INT 2
10917: PPUSH
10918: CALL_OW 434
10922: ST_TO_ADDR
// setclass ( eng0 , class_engineer ) ;
10923: LD_EXP 212
10927: PPUSH
10928: LD_INT 2
10930: PPUSH
10931: CALL_OW 336
// tmpvip = tmpvip diff eng0 ;
10935: LD_ADDR_VAR 0 5
10939: PUSH
10940: LD_VAR 0 5
10944: PUSH
10945: LD_EXP 212
10949: DIFF
10950: ST_TO_ADDR
// sold0 = findmaxskill2 ( tmpvip , skill_combat ) ;
10951: LD_ADDR_EXP 216
10955: PUSH
10956: LD_VAR 0 5
10960: PPUSH
10961: LD_INT 1
10963: PPUSH
10964: CALL_OW 434
10968: ST_TO_ADDR
// tmpvip = tmpvip diff sold0 ;
10969: LD_ADDR_VAR 0 5
10973: PUSH
10974: LD_VAR 0 5
10978: PUSH
10979: LD_EXP 216
10983: DIFF
10984: ST_TO_ADDR
// sold1 = findmaxskill2 ( tmpvip , skill_combat ) ;
10985: LD_ADDR_EXP 217
10989: PUSH
10990: LD_VAR 0 5
10994: PPUSH
10995: LD_INT 1
10997: PPUSH
10998: CALL_OW 434
11002: ST_TO_ADDR
// tmpvip = tmpvip diff sold1 ;
11003: LD_ADDR_VAR 0 5
11007: PUSH
11008: LD_VAR 0 5
11012: PUSH
11013: LD_EXP 217
11017: DIFF
11018: ST_TO_ADDR
// if ( 0 + tmpother ) >= 4 then
11019: LD_INT 0
11021: PUSH
11022: LD_VAR 0 6
11026: PLUS
11027: PUSH
11028: LD_INT 4
11030: GREATEREQUAL
11031: IFFALSE 11215
// begin case_ = 1 ;
11033: LD_ADDR_VAR 0 8
11037: PUSH
11038: LD_INT 1
11040: ST_TO_ADDR
// sold2 = findmaxskill2 ( tmpother , skill_combat ) ;
11041: LD_ADDR_EXP 218
11045: PUSH
11046: LD_VAR 0 6
11050: PPUSH
11051: LD_INT 1
11053: PPUSH
11054: CALL_OW 434
11058: ST_TO_ADDR
// tmpother = tmpother diff sold2 ;
11059: LD_ADDR_VAR 0 6
11063: PUSH
11064: LD_VAR 0 6
11068: PUSH
11069: LD_EXP 218
11073: DIFF
11074: ST_TO_ADDR
// mech0 = findmaxskill2 ( tmpother , skill_mechanical ) ;
11075: LD_ADDR_EXP 213
11079: PUSH
11080: LD_VAR 0 6
11084: PPUSH
11085: LD_INT 3
11087: PPUSH
11088: CALL_OW 434
11092: ST_TO_ADDR
// setclass ( mech0 , class_mechanic ) ;
11093: LD_EXP 213
11097: PPUSH
11098: LD_INT 3
11100: PPUSH
11101: CALL_OW 336
// tmpother = tmpother diff mech0 ;
11105: LD_ADDR_VAR 0 6
11109: PUSH
11110: LD_VAR 0 6
11114: PUSH
11115: LD_EXP 213
11119: DIFF
11120: ST_TO_ADDR
// mech1 = findmaxskill2 ( tmpother , skill_mechanical ) ;
11121: LD_ADDR_EXP 214
11125: PUSH
11126: LD_VAR 0 6
11130: PPUSH
11131: LD_INT 3
11133: PPUSH
11134: CALL_OW 434
11138: ST_TO_ADDR
// setclass ( mech1 , class_mechanic ) ;
11139: LD_EXP 214
11143: PPUSH
11144: LD_INT 3
11146: PPUSH
11147: CALL_OW 336
// tmpother = tmpother diff mech1 ;
11151: LD_ADDR_VAR 0 6
11155: PUSH
11156: LD_VAR 0 6
11160: PUSH
11161: LD_EXP 214
11165: DIFF
11166: ST_TO_ADDR
// mech2 = findmaxskill2 ( tmpother , skill_mechanical ) ;
11167: LD_ADDR_EXP 215
11171: PUSH
11172: LD_VAR 0 6
11176: PPUSH
11177: LD_INT 3
11179: PPUSH
11180: CALL_OW 434
11184: ST_TO_ADDR
// setclass ( mech2 , class_mechanic ) ;
11185: LD_EXP 215
11189: PPUSH
11190: LD_INT 3
11192: PPUSH
11193: CALL_OW 336
// tmpother = tmpother diff mech2 ;
11197: LD_ADDR_VAR 0 6
11201: PUSH
11202: LD_VAR 0 6
11206: PUSH
11207: LD_EXP 215
11211: DIFF
11212: ST_TO_ADDR
// end else
11213: GO 11477
// begin case_ = 2 ;
11215: LD_ADDR_VAR 0 8
11219: PUSH
11220: LD_INT 2
11222: ST_TO_ADDR
// tmp2 = 0 + tmpother ;
11223: LD_ADDR_VAR 0 3
11227: PUSH
11228: LD_INT 0
11230: PUSH
11231: LD_VAR 0 6
11235: PLUS
11236: ST_TO_ADDR
// for tmp = ( tmp2 + 1 ) to 4 do
11237: LD_ADDR_VAR 0 2
11241: PUSH
11242: DOUBLE
11243: LD_VAR 0 3
11247: PUSH
11248: LD_INT 1
11250: PLUS
11251: DEC
11252: ST_TO_ADDR
11253: LD_INT 4
11255: PUSH
11256: FOR_TO
11257: IFFALSE 11303
// begin preparehuman ( rand ( 1 , 2 ) , class_soldier , default_skill ) ;
11259: LD_INT 1
11261: PPUSH
11262: LD_INT 2
11264: PPUSH
11265: CALL_OW 12
11269: PPUSH
11270: LD_INT 1
11272: PPUSH
11273: LD_EXP 146
11277: PPUSH
11278: CALL_OW 380
// tmpother = tmpother ^ [ createhuman ] ;
11282: LD_ADDR_VAR 0 6
11286: PUSH
11287: LD_VAR 0 6
11291: PUSH
11292: CALL_OW 44
11296: PUSH
11297: EMPTY
11298: LIST
11299: ADD
11300: ST_TO_ADDR
// end ;
11301: GO 11256
11303: POP
11304: POP
// sold2 = findmaxskill2 ( tmpother , skill_combat ) ;
11305: LD_ADDR_EXP 218
11309: PUSH
11310: LD_VAR 0 6
11314: PPUSH
11315: LD_INT 1
11317: PPUSH
11318: CALL_OW 434
11322: ST_TO_ADDR
// tmpother = tmpother diff sold2 ;
11323: LD_ADDR_VAR 0 6
11327: PUSH
11328: LD_VAR 0 6
11332: PUSH
11333: LD_EXP 218
11337: DIFF
11338: ST_TO_ADDR
// mech0 = findmaxskill2 ( tmpother , skill_mechanical ) ;
11339: LD_ADDR_EXP 213
11343: PUSH
11344: LD_VAR 0 6
11348: PPUSH
11349: LD_INT 3
11351: PPUSH
11352: CALL_OW 434
11356: ST_TO_ADDR
// setclass ( mech0 , class_mechanic ) ;
11357: LD_EXP 213
11361: PPUSH
11362: LD_INT 3
11364: PPUSH
11365: CALL_OW 336
// tmpother = tmpother diff mech0 ;
11369: LD_ADDR_VAR 0 6
11373: PUSH
11374: LD_VAR 0 6
11378: PUSH
11379: LD_EXP 213
11383: DIFF
11384: ST_TO_ADDR
// mech1 = findmaxskill2 ( tmpother , skill_mechanical ) ;
11385: LD_ADDR_EXP 214
11389: PUSH
11390: LD_VAR 0 6
11394: PPUSH
11395: LD_INT 3
11397: PPUSH
11398: CALL_OW 434
11402: ST_TO_ADDR
// setclass ( mech1 , class_mechanic ) ;
11403: LD_EXP 214
11407: PPUSH
11408: LD_INT 3
11410: PPUSH
11411: CALL_OW 336
// tmpother = tmpother diff mech1 ;
11415: LD_ADDR_VAR 0 6
11419: PUSH
11420: LD_VAR 0 6
11424: PUSH
11425: LD_EXP 214
11429: DIFF
11430: ST_TO_ADDR
// mech2 = findmaxskill2 ( tmpother , skill_mechanical ) ;
11431: LD_ADDR_EXP 215
11435: PUSH
11436: LD_VAR 0 6
11440: PPUSH
11441: LD_INT 3
11443: PPUSH
11444: CALL_OW 434
11448: ST_TO_ADDR
// setclass ( mech2 , class_mechanic ) ;
11449: LD_EXP 215
11453: PPUSH
11454: LD_INT 3
11456: PPUSH
11457: CALL_OW 336
// tmpother = tmpother diff mech2 ;
11461: LD_ADDR_VAR 0 6
11465: PUSH
11466: LD_VAR 0 6
11470: PUSH
11471: LD_EXP 215
11475: DIFF
11476: ST_TO_ADDR
// end ; end else
11477: GO 12420
// begin tmpvsici = tmpvip ^ tmpother ;
11479: LD_ADDR_VAR 0 7
11483: PUSH
11484: LD_VAR 0 5
11488: PUSH
11489: LD_VAR 0 6
11493: ADD
11494: ST_TO_ADDR
// if 0 + tmpvsici >= 11 then
11495: LD_INT 0
11497: PUSH
11498: LD_VAR 0 7
11502: PLUS
11503: PUSH
11504: LD_INT 11
11506: GREATEREQUAL
11507: IFFALSE 11519
// case_ = 3 else
11509: LD_ADDR_VAR 0 8
11513: PUSH
11514: LD_INT 3
11516: ST_TO_ADDR
11517: GO 11609
// begin case_ = 4 ;
11519: LD_ADDR_VAR 0 8
11523: PUSH
11524: LD_INT 4
11526: ST_TO_ADDR
// tmp2 = 0 + tmpvsici ;
11527: LD_ADDR_VAR 0 3
11531: PUSH
11532: LD_INT 0
11534: PUSH
11535: LD_VAR 0 7
11539: PLUS
11540: ST_TO_ADDR
// for tmp = ( tmp2 + 1 ) to 11 do
11541: LD_ADDR_VAR 0 2
11545: PUSH
11546: DOUBLE
11547: LD_VAR 0 3
11551: PUSH
11552: LD_INT 1
11554: PLUS
11555: DEC
11556: ST_TO_ADDR
11557: LD_INT 11
11559: PUSH
11560: FOR_TO
11561: IFFALSE 11607
// begin preparehuman ( rand ( 1 , 2 ) , class_soldier , default_skill ) ;
11563: LD_INT 1
11565: PPUSH
11566: LD_INT 2
11568: PPUSH
11569: CALL_OW 12
11573: PPUSH
11574: LD_INT 1
11576: PPUSH
11577: LD_EXP 146
11581: PPUSH
11582: CALL_OW 380
// tmpvsici = tmpvsici ^ [ createhuman ] ;
11586: LD_ADDR_VAR 0 7
11590: PUSH
11591: LD_VAR 0 7
11595: PUSH
11596: CALL_OW 44
11600: PUSH
11601: EMPTY
11602: LIST
11603: ADD
11604: ST_TO_ADDR
// end ;
11605: GO 11560
11607: POP
11608: POP
// end ; am_grupa = [ tmpvsici [ 1 ] ] ;
11609: LD_ADDR_EXP 185
11613: PUSH
11614: LD_VAR 0 7
11618: PUSH
11619: LD_INT 1
11621: ARRAY
11622: PUSH
11623: EMPTY
11624: LIST
11625: ST_TO_ADDR
// tmpvsici = delete ( tmpvsici , 1 ) ;
11626: LD_ADDR_VAR 0 7
11630: PUSH
11631: LD_VAR 0 7
11635: PPUSH
11636: LD_INT 1
11638: PPUSH
11639: CALL_OW 3
11643: ST_TO_ADDR
// am_grupa = am_grupa ^ [ tmpvsici [ 1 ] ] ;
11644: LD_ADDR_EXP 185
11648: PUSH
11649: LD_EXP 185
11653: PUSH
11654: LD_VAR 0 7
11658: PUSH
11659: LD_INT 1
11661: ARRAY
11662: PUSH
11663: EMPTY
11664: LIST
11665: ADD
11666: ST_TO_ADDR
// tmpvsici = delete ( tmpvsici , 1 ) ;
11667: LD_ADDR_VAR 0 7
11671: PUSH
11672: LD_VAR 0 7
11676: PPUSH
11677: LD_INT 1
11679: PPUSH
11680: CALL_OW 3
11684: ST_TO_ADDR
// placeunitxyr ( am_grupa [ 1 ] , 144 , 97 , 3 , false ) ;
11685: LD_EXP 185
11689: PUSH
11690: LD_INT 1
11692: ARRAY
11693: PPUSH
11694: LD_INT 144
11696: PPUSH
11697: LD_INT 97
11699: PPUSH
11700: LD_INT 3
11702: PPUSH
11703: LD_INT 0
11705: PPUSH
11706: CALL_OW 50
// placeunitxyr ( am_grupa [ 2 ] , 144 , 97 , 3 , false ) ;
11710: LD_EXP 185
11714: PUSH
11715: LD_INT 2
11717: ARRAY
11718: PPUSH
11719: LD_INT 144
11721: PPUSH
11722: LD_INT 97
11724: PPUSH
11725: LD_INT 3
11727: PPUSH
11728: LD_INT 0
11730: PPUSH
11731: CALL_OW 50
// placeunitxyr ( amscie0 , 144 , 97 , 3 , false ) ;
11735: LD_EXP 184
11739: PPUSH
11740: LD_INT 144
11742: PPUSH
11743: LD_INT 97
11745: PPUSH
11746: LD_INT 3
11748: PPUSH
11749: LD_INT 0
11751: PPUSH
11752: CALL_OW 50
// vc_chassis = amv0_ch ;
11756: LD_ADDR_OWVAR 37
11760: PUSH
11761: LD_EXP 65
11765: ST_TO_ADDR
// vc_weapon = amv0_wp ;
11766: LD_ADDR_OWVAR 40
11770: PUSH
11771: LD_EXP 66
11775: ST_TO_ADDR
// amv0 = createvehicle ;
11776: LD_ADDR_EXP 180
11780: PUSH
11781: CALL_OW 45
11785: ST_TO_ADDR
// setdir ( amv0 , 5 ) ;
11786: LD_EXP 180
11790: PPUSH
11791: LD_INT 5
11793: PPUSH
11794: CALL_OW 233
// placeunitxyr ( amv0 , 146 , 97 , 3 , false ) ;
11798: LD_EXP 180
11802: PPUSH
11803: LD_INT 146
11805: PPUSH
11806: LD_INT 97
11808: PPUSH
11809: LD_INT 3
11811: PPUSH
11812: LD_INT 0
11814: PPUSH
11815: CALL_OW 50
// setclass ( [ tmpvsici [ 1 ] ] , class_mechanic ) ;
11819: LD_VAR 0 7
11823: PUSH
11824: LD_INT 1
11826: ARRAY
11827: PUSH
11828: EMPTY
11829: LIST
11830: PPUSH
11831: LD_INT 3
11833: PPUSH
11834: CALL_OW 336
// placehumaninunit ( tmpvsici [ 1 ] , amv0 ) ;
11838: LD_VAR 0 7
11842: PUSH
11843: LD_INT 1
11845: ARRAY
11846: PPUSH
11847: LD_EXP 180
11851: PPUSH
11852: CALL_OW 52
// tmpvsici = delete ( tmpvsici , 1 ) ;
11856: LD_ADDR_VAR 0 7
11860: PUSH
11861: LD_VAR 0 7
11865: PPUSH
11866: LD_INT 1
11868: PPUSH
11869: CALL_OW 3
11873: ST_TO_ADDR
// vc_chassis = amv1_ch ;
11874: LD_ADDR_OWVAR 37
11878: PUSH
11879: LD_EXP 67
11883: ST_TO_ADDR
// vc_weapon = amv1_wp ;
11884: LD_ADDR_OWVAR 40
11888: PUSH
11889: LD_EXP 68
11893: ST_TO_ADDR
// amv1 = createvehicle ;
11894: LD_ADDR_EXP 181
11898: PUSH
11899: CALL_OW 45
11903: ST_TO_ADDR
// setdir ( amv1 , 5 ) ;
11904: LD_EXP 181
11908: PPUSH
11909: LD_INT 5
11911: PPUSH
11912: CALL_OW 233
// placeunitxyr ( amv1 , 146 , 99 , 3 , false ) ;
11916: LD_EXP 181
11920: PPUSH
11921: LD_INT 146
11923: PPUSH
11924: LD_INT 99
11926: PPUSH
11927: LD_INT 3
11929: PPUSH
11930: LD_INT 0
11932: PPUSH
11933: CALL_OW 50
// setclass ( [ tmpvsici [ 1 ] ] , class_mechanic ) ;
11937: LD_VAR 0 7
11941: PUSH
11942: LD_INT 1
11944: ARRAY
11945: PUSH
11946: EMPTY
11947: LIST
11948: PPUSH
11949: LD_INT 3
11951: PPUSH
11952: CALL_OW 336
// placehumaninunit ( tmpvsici [ 1 ] , amv1 ) ;
11956: LD_VAR 0 7
11960: PUSH
11961: LD_INT 1
11963: ARRAY
11964: PPUSH
11965: LD_EXP 181
11969: PPUSH
11970: CALL_OW 52
// tmpvsici = delete ( tmpvsici , 1 ) ;
11974: LD_ADDR_VAR 0 7
11978: PUSH
11979: LD_VAR 0 7
11983: PPUSH
11984: LD_INT 1
11986: PPUSH
11987: CALL_OW 3
11991: ST_TO_ADDR
// vc_control = control_computer ;
11992: LD_ADDR_OWVAR 38
11996: PUSH
11997: LD_INT 3
11999: ST_TO_ADDR
// vc_chassis = amv2_ch ;
12000: LD_ADDR_OWVAR 37
12004: PUSH
12005: LD_EXP 69
12009: ST_TO_ADDR
// vc_weapon = amv2_wp ;
12010: LD_ADDR_OWVAR 40
12014: PUSH
12015: LD_EXP 70
12019: ST_TO_ADDR
// amv2 = createvehicle ;
12020: LD_ADDR_EXP 182
12024: PUSH
12025: CALL_OW 45
12029: ST_TO_ADDR
// setdir ( amv2 , 5 ) ;
12030: LD_EXP 182
12034: PPUSH
12035: LD_INT 5
12037: PPUSH
12038: CALL_OW 233
// placeunitxyr ( amv2 , 150 , 103 , 3 , false ) ;
12042: LD_EXP 182
12046: PPUSH
12047: LD_INT 150
12049: PPUSH
12050: LD_INT 103
12052: PPUSH
12053: LD_INT 3
12055: PPUSH
12056: LD_INT 0
12058: PPUSH
12059: CALL_OW 50
// vc_control = control_computer ;
12063: LD_ADDR_OWVAR 38
12067: PUSH
12068: LD_INT 3
12070: ST_TO_ADDR
// vc_chassis = amv3_ch ;
12071: LD_ADDR_OWVAR 37
12075: PUSH
12076: LD_EXP 71
12080: ST_TO_ADDR
// vc_weapon = amv3_wp ;
12081: LD_ADDR_OWVAR 40
12085: PUSH
12086: LD_EXP 72
12090: ST_TO_ADDR
// amv3 = createvehicle ;
12091: LD_ADDR_EXP 183
12095: PUSH
12096: CALL_OW 45
12100: ST_TO_ADDR
// setdir ( amv3 , 5 ) ;
12101: LD_EXP 183
12105: PPUSH
12106: LD_INT 5
12108: PPUSH
12109: CALL_OW 233
// placeunitxyr ( amv3 , 145 , 94 , 3 , false ) ;
12113: LD_EXP 183
12117: PPUSH
12118: LD_INT 145
12120: PPUSH
12121: LD_INT 94
12123: PPUSH
12124: LD_INT 3
12126: PPUSH
12127: LD_INT 0
12129: PPUSH
12130: CALL_OW 50
// eng0 = findmaxskill2 ( tmpvsici , skill_engineering ) ;
12134: LD_ADDR_EXP 212
12138: PUSH
12139: LD_VAR 0 7
12143: PPUSH
12144: LD_INT 2
12146: PPUSH
12147: CALL_OW 434
12151: ST_TO_ADDR
// setclass ( eng0 , class_engineer ) ;
12152: LD_EXP 212
12156: PPUSH
12157: LD_INT 2
12159: PPUSH
12160: CALL_OW 336
// tmpvsici = tmpvsici diff eng0 ;
12164: LD_ADDR_VAR 0 7
12168: PUSH
12169: LD_VAR 0 7
12173: PUSH
12174: LD_EXP 212
12178: DIFF
12179: ST_TO_ADDR
// sold0 = findmaxskill2 ( tmpvsici , skill_combat ) ;
12180: LD_ADDR_EXP 216
12184: PUSH
12185: LD_VAR 0 7
12189: PPUSH
12190: LD_INT 1
12192: PPUSH
12193: CALL_OW 434
12197: ST_TO_ADDR
// tmpvsici = tmpvsici diff sold0 ;
12198: LD_ADDR_VAR 0 7
12202: PUSH
12203: LD_VAR 0 7
12207: PUSH
12208: LD_EXP 216
12212: DIFF
12213: ST_TO_ADDR
// sold1 = findmaxskill2 ( tmpvsici , skill_combat ) ;
12214: LD_ADDR_EXP 217
12218: PUSH
12219: LD_VAR 0 7
12223: PPUSH
12224: LD_INT 1
12226: PPUSH
12227: CALL_OW 434
12231: ST_TO_ADDR
// tmpvsici = tmpvsici diff sold1 ;
12232: LD_ADDR_VAR 0 7
12236: PUSH
12237: LD_VAR 0 7
12241: PUSH
12242: LD_EXP 217
12246: DIFF
12247: ST_TO_ADDR
// sold2 = findmaxskill2 ( tmpvsici , skill_combat ) ;
12248: LD_ADDR_EXP 218
12252: PUSH
12253: LD_VAR 0 7
12257: PPUSH
12258: LD_INT 1
12260: PPUSH
12261: CALL_OW 434
12265: ST_TO_ADDR
// tmpvsici = tmpvsici diff sold2 ;
12266: LD_ADDR_VAR 0 7
12270: PUSH
12271: LD_VAR 0 7
12275: PUSH
12276: LD_EXP 218
12280: DIFF
12281: ST_TO_ADDR
// mech0 = findmaxskill2 ( tmpvsici , skill_mechanical ) ;
12282: LD_ADDR_EXP 213
12286: PUSH
12287: LD_VAR 0 7
12291: PPUSH
12292: LD_INT 3
12294: PPUSH
12295: CALL_OW 434
12299: ST_TO_ADDR
// setclass ( mech0 , class_mechanic ) ;
12300: LD_EXP 213
12304: PPUSH
12305: LD_INT 3
12307: PPUSH
12308: CALL_OW 336
// tmpvsici = tmpvsici diff mech0 ;
12312: LD_ADDR_VAR 0 7
12316: PUSH
12317: LD_VAR 0 7
12321: PUSH
12322: LD_EXP 213
12326: DIFF
12327: ST_TO_ADDR
// mech1 = findmaxskill2 ( tmpvsici , skill_mechanical ) ;
12328: LD_ADDR_EXP 214
12332: PUSH
12333: LD_VAR 0 7
12337: PPUSH
12338: LD_INT 3
12340: PPUSH
12341: CALL_OW 434
12345: ST_TO_ADDR
// setclass ( mech0 , class_mechanic ) ;
12346: LD_EXP 213
12350: PPUSH
12351: LD_INT 3
12353: PPUSH
12354: CALL_OW 336
// tmpvsici = tmpvsici diff mech1 ;
12358: LD_ADDR_VAR 0 7
12362: PUSH
12363: LD_VAR 0 7
12367: PUSH
12368: LD_EXP 214
12372: DIFF
12373: ST_TO_ADDR
// mech2 = findmaxskill2 ( tmpvsici , skill_mechanical ) ;
12374: LD_ADDR_EXP 215
12378: PUSH
12379: LD_VAR 0 7
12383: PPUSH
12384: LD_INT 3
12386: PPUSH
12387: CALL_OW 434
12391: ST_TO_ADDR
// setclass ( mech0 , class_mechanic ) ;
12392: LD_EXP 213
12396: PPUSH
12397: LD_INT 3
12399: PPUSH
12400: CALL_OW 336
// tmpvsici = tmpvsici diff mech2 ;
12404: LD_ADDR_VAR 0 7
12408: PUSH
12409: LD_VAR 0 7
12413: PUSH
12414: LD_EXP 215
12418: DIFF
12419: ST_TO_ADDR
// end ; case case_ of 1 :
12420: LD_VAR 0 8
12424: PUSH
12425: LD_INT 1
12427: DOUBLE
12428: EQUAL
12429: IFTRUE 12433
12431: GO 12456
12433: POP
// begin nepouzitvip = tmpvip ;
12434: LD_ADDR_EXP 219
12438: PUSH
12439: LD_VAR 0 5
12443: ST_TO_ADDR
// nepouzitoth = tmpother ;
12444: LD_ADDR_EXP 220
12448: PUSH
12449: LD_VAR 0 6
12453: ST_TO_ADDR
// end ; 2 :
12454: GO 12549
12456: LD_INT 2
12458: DOUBLE
12459: EQUAL
12460: IFTRUE 12464
12462: GO 12499
12464: POP
// begin nepouzitvip = tmpvip ;
12465: LD_ADDR_EXP 219
12469: PUSH
12470: LD_VAR 0 5
12474: ST_TO_ADDR
// nepouzitoth = tmpother isect ( otherwithjmm ^ othernotjmm ) ;
12475: LD_ADDR_EXP 220
12479: PUSH
12480: LD_VAR 0 6
12484: PUSH
12485: LD_EXP 186
12489: PUSH
12490: LD_EXP 187
12494: ADD
12495: ISECT
12496: ST_TO_ADDR
// end ; 3 , 4 :
12497: GO 12549
12499: LD_INT 3
12501: DOUBLE
12502: EQUAL
12503: IFTRUE 12513
12505: LD_INT 4
12507: DOUBLE
12508: EQUAL
12509: IFTRUE 12513
12511: GO 12548
12513: POP
// begin nepouzitvip = tmpvsici isect tmpvip ;
12514: LD_ADDR_EXP 219
12518: PUSH
12519: LD_VAR 0 7
12523: PUSH
12524: LD_VAR 0 5
12528: ISECT
12529: ST_TO_ADDR
// nepouzitoth = tmpvsici isect tmpother ;
12530: LD_ADDR_EXP 220
12534: PUSH
12535: LD_VAR 0 7
12539: PUSH
12540: LD_VAR 0 6
12544: ISECT
12545: ST_TO_ADDR
// end ; end ;
12546: GO 12549
12548: POP
// am_grupa = am_grupa ^ [ john , lucy , amv0 , amv1 , amv2 , amv3 , amscie0 ] ;
12549: LD_ADDR_EXP 185
12553: PUSH
12554: LD_EXP 185
12558: PUSH
12559: LD_EXP 174
12563: PUSH
12564: LD_EXP 176
12568: PUSH
12569: LD_EXP 180
12573: PUSH
12574: LD_EXP 181
12578: PUSH
12579: LD_EXP 182
12583: PUSH
12584: LD_EXP 183
12588: PUSH
12589: LD_EXP 184
12593: PUSH
12594: EMPTY
12595: LIST
12596: LIST
12597: LIST
12598: LIST
12599: LIST
12600: LIST
12601: LIST
12602: ADD
12603: ST_TO_ADDR
// end ; end_of_file
12604: LD_VAR 0 1
12608: RET
// export attackers ; export att_began ; function intro_att ; begin
12609: LD_INT 0
12611: PPUSH
// attackers = filterunitsinarea ( brod2 , [ [ f_side , am ] , [ f_type , unit_vehicle ] ] ) ;
12612: LD_ADDR_EXP 221
12616: PUSH
12617: LD_INT 1
12619: PPUSH
12620: LD_INT 22
12622: PUSH
12623: LD_EXP 2
12627: PUSH
12628: EMPTY
12629: LIST
12630: LIST
12631: PUSH
12632: LD_INT 21
12634: PUSH
12635: LD_INT 2
12637: PUSH
12638: EMPTY
12639: LIST
12640: LIST
12641: PUSH
12642: EMPTY
12643: LIST
12644: LIST
12645: PPUSH
12646: CALL_OW 70
12650: ST_TO_ADDR
// result = 0 + attackers ;
12651: LD_ADDR_VAR 0 1
12655: PUSH
12656: LD_INT 0
12658: PUSH
12659: LD_EXP 221
12663: PLUS
12664: ST_TO_ADDR
// end ;
12665: LD_VAR 0 1
12669: RET
// every 0 0$0.33 trigger achjo marked 2 do
12670: LD_EXP 156
12674: IFFALSE 12983
12676: GO 12678
12678: DISABLE
// begin enable ;
12679: ENABLE
// if intro_att and not zdrhat then
12680: CALL 12609 0 0
12684: PUSH
12685: LD_EXP 151
12689: NOT
12690: AND
12691: IFFALSE 12792
// begin if not att_began then
12693: LD_EXP 222
12697: NOT
12698: IFFALSE 12708
// att_began = true ;
12700: LD_ADDR_EXP 222
12704: PUSH
12705: LD_INT 1
12707: ST_TO_ADDR
// comtimeshift ( baz3 , getx ( attackers [ 1 ] ) , gety ( attackers [ 1 ] ) ) ;
12708: LD_EXP 14
12712: PPUSH
12713: LD_EXP 221
12717: PUSH
12718: LD_INT 1
12720: ARRAY
12721: PPUSH
12722: CALL_OW 250
12726: PPUSH
12727: LD_EXP 221
12731: PUSH
12732: LD_INT 1
12734: ARRAY
12735: PPUSH
12736: CALL_OW 251
12740: PPUSH
12741: CALL_OW 154
// comattackunit ( [ baz0 , baz1 , baz2 , baz4 , baz5 ] , attackers [ 1 ] ) ;
12745: LD_EXP 8
12749: PUSH
12750: LD_EXP 10
12754: PUSH
12755: LD_EXP 12
12759: PUSH
12760: LD_EXP 16
12764: PUSH
12765: LD_EXP 18
12769: PUSH
12770: EMPTY
12771: LIST
12772: LIST
12773: LIST
12774: LIST
12775: LIST
12776: PPUSH
12777: LD_EXP 221
12781: PUSH
12782: LD_INT 1
12784: ARRAY
12785: PPUSH
12786: CALL_OW 115
// end else
12790: GO 12852
// begin if att_began and attackers then
12792: LD_EXP 222
12796: PUSH
12797: LD_EXP 221
12801: AND
12802: IFFALSE 12852
// comtimeshift ( [ baz0 , baz1 , baz2 , baz3 , baz4 , baz5 ] , 87 , 67 ) ;
12804: LD_EXP 8
12808: PUSH
12809: LD_EXP 10
12813: PUSH
12814: LD_EXP 12
12818: PUSH
12819: LD_EXP 14
12823: PUSH
12824: LD_EXP 16
12828: PUSH
12829: LD_EXP 18
12833: PUSH
12834: EMPTY
12835: LIST
12836: LIST
12837: LIST
12838: LIST
12839: LIST
12840: LIST
12841: PPUSH
12842: LD_INT 87
12844: PPUSH
12845: LD_INT 67
12847: PPUSH
12848: CALL_OW 154
// end ; if unitfilter ( [ scie0 , baz0 , baz1 , baz2 , baz3 , baz4 , baz5 ] , [ [ f_alive ] ] ) diff filterunitsinarea ( bazukeri , [ [ f_side , rus ] ] ) then
12852: LD_EXP 6
12856: PUSH
12857: LD_EXP 8
12861: PUSH
12862: LD_EXP 10
12866: PUSH
12867: LD_EXP 12
12871: PUSH
12872: LD_EXP 14
12876: PUSH
12877: LD_EXP 16
12881: PUSH
12882: LD_EXP 18
12886: PUSH
12887: EMPTY
12888: LIST
12889: LIST
12890: LIST
12891: LIST
12892: LIST
12893: LIST
12894: LIST
12895: PPUSH
12896: LD_INT 51
12898: PUSH
12899: EMPTY
12900: LIST
12901: PUSH
12902: EMPTY
12903: LIST
12904: PPUSH
12905: CALL_OW 72
12909: PUSH
12910: LD_INT 7
12912: PPUSH
12913: LD_INT 22
12915: PUSH
12916: LD_EXP 1
12920: PUSH
12921: EMPTY
12922: LIST
12923: LIST
12924: PUSH
12925: EMPTY
12926: LIST
12927: PPUSH
12928: CALL_OW 70
12932: DIFF
12933: IFFALSE 12983
// comreturn ( [ scie0 , baz0 , baz1 , baz2 , baz3 , baz4 , baz5 ] ) ;
12935: LD_EXP 6
12939: PUSH
12940: LD_EXP 8
12944: PUSH
12945: LD_EXP 10
12949: PUSH
12950: LD_EXP 12
12954: PUSH
12955: LD_EXP 14
12959: PUSH
12960: LD_EXP 16
12964: PUSH
12965: LD_EXP 18
12969: PUSH
12970: EMPTY
12971: LIST
12972: LIST
12973: LIST
12974: LIST
12975: LIST
12976: LIST
12977: LIST
12978: PPUSH
12979: CALL_OW 144
// end ;
12983: END
// var uhlici ; function guardsoutofrange ; begin
12984: LD_INT 0
12986: PPUSH
// uhlici = [ ] ;
12987: LD_ADDR_LOC 7
12991: PUSH
12992: EMPTY
12993: ST_TO_ADDR
// if not isinarea ( guard0 , ar_guard0 ) then
12994: LD_EXP 158
12998: PPUSH
12999: LD_INT 2
13001: PPUSH
13002: CALL_OW 308
13006: NOT
13007: IFFALSE 13022
// uhlici = [ guard0 ] ;
13009: LD_ADDR_LOC 7
13013: PUSH
13014: LD_EXP 158
13018: PUSH
13019: EMPTY
13020: LIST
13021: ST_TO_ADDR
// if not isinarea ( guard1 , ar_guard1 ) then
13022: LD_EXP 159
13026: PPUSH
13027: LD_INT 3
13029: PPUSH
13030: CALL_OW 308
13034: NOT
13035: IFFALSE 13056
// uhlici = uhlici ^ [ guard1 ] ;
13037: LD_ADDR_LOC 7
13041: PUSH
13042: LD_LOC 7
13046: PUSH
13047: LD_EXP 159
13051: PUSH
13052: EMPTY
13053: LIST
13054: ADD
13055: ST_TO_ADDR
// if not isinarea ( guard2 , ar_guard2 ) then
13056: LD_EXP 160
13060: PPUSH
13061: LD_INT 4
13063: PPUSH
13064: CALL_OW 308
13068: NOT
13069: IFFALSE 13090
// uhlici = uhlici ^ [ guard2 ] ;
13071: LD_ADDR_LOC 7
13075: PUSH
13076: LD_LOC 7
13080: PUSH
13081: LD_EXP 160
13085: PUSH
13086: EMPTY
13087: LIST
13088: ADD
13089: ST_TO_ADDR
// if not isinarea ( guard3 , ar_guard3 ) then
13090: LD_EXP 161
13094: PPUSH
13095: LD_INT 5
13097: PPUSH
13098: CALL_OW 308
13102: NOT
13103: IFFALSE 13124
// uhlici = uhlici ^ [ guard3 ] ;
13105: LD_ADDR_LOC 7
13109: PUSH
13110: LD_LOC 7
13114: PUSH
13115: LD_EXP 161
13119: PUSH
13120: EMPTY
13121: LIST
13122: ADD
13123: ST_TO_ADDR
// result = 0 + uhlici ;
13124: LD_ADDR_VAR 0 1
13128: PUSH
13129: LD_INT 0
13131: PUSH
13132: LD_LOC 7
13136: PLUS
13137: ST_TO_ADDR
// end ;
13138: LD_VAR 0 1
13142: RET
// every 0 0$0.6 trigger guardsoutofrange do var tmp ;
13143: CALL 12984 0 0
13147: IFFALSE 13279
13149: GO 13151
13151: DISABLE
13152: LD_INT 0
13154: PPUSH
// begin for tmp in uhlici do
13155: LD_ADDR_VAR 0 1
13159: PUSH
13160: LD_LOC 7
13164: PUSH
13165: FOR_IN
13166: IFFALSE 13276
// case tmp of guard0 :
13168: LD_VAR 0 1
13172: PUSH
13173: LD_EXP 158
13177: DOUBLE
13178: EQUAL
13179: IFTRUE 13183
13181: GO 13198
13183: POP
// commovetoarea ( guard0 , ar_guard ) ; guard1 :
13184: LD_EXP 158
13188: PPUSH
13189: LD_INT 20
13191: PPUSH
13192: CALL_OW 113
13196: GO 13274
13198: LD_EXP 159
13202: DOUBLE
13203: EQUAL
13204: IFTRUE 13208
13206: GO 13223
13208: POP
// commovetoarea ( guard1 , ar_guard ) ; guard2 :
13209: LD_EXP 159
13213: PPUSH
13214: LD_INT 20
13216: PPUSH
13217: CALL_OW 113
13221: GO 13274
13223: LD_EXP 160
13227: DOUBLE
13228: EQUAL
13229: IFTRUE 13233
13231: GO 13248
13233: POP
// commovetoarea ( guard2 , ar_guard ) ; guard3 :
13234: LD_EXP 160
13238: PPUSH
13239: LD_INT 20
13241: PPUSH
13242: CALL_OW 113
13246: GO 13274
13248: LD_EXP 161
13252: DOUBLE
13253: EQUAL
13254: IFTRUE 13258
13256: GO 13273
13258: POP
// commovetoarea ( guard3 , ar_guard ) ; end ;
13259: LD_EXP 161
13263: PPUSH
13264: LD_INT 20
13266: PPUSH
13267: CALL_OW 113
13271: GO 13274
13273: POP
13274: GO 13165
13276: POP
13277: POP
// enable ;
13278: ENABLE
// end ;
13279: PPOPN 1
13281: END
// var utocnici ; export amattbf ; function amattb ; begin
13282: LD_INT 0
13284: PPUSH
// utocnici = filterunitsinarea ( prusmykb , [ [ f_side , am ] ] ) ;
13285: LD_ADDR_LOC 8
13289: PUSH
13290: LD_INT 6
13292: PPUSH
13293: LD_INT 22
13295: PUSH
13296: LD_EXP 2
13300: PUSH
13301: EMPTY
13302: LIST
13303: LIST
13304: PUSH
13305: EMPTY
13306: LIST
13307: PPUSH
13308: CALL_OW 70
13312: ST_TO_ADDR
// result = 0 + utocnici ;
13313: LD_ADDR_VAR 0 1
13317: PUSH
13318: LD_INT 0
13320: PUSH
13321: LD_LOC 8
13325: PLUS
13326: ST_TO_ADDR
// end ;
13327: LD_VAR 0 1
13331: RET
// every 0 0$1 trigger amattb and not amattbf do
13332: CALL 13282 0 0
13336: PUSH
13337: LD_EXP 223
13341: NOT
13342: AND
13343: IFFALSE 13390
13345: GO 13347
13347: DISABLE
// begin amattbf = true ;
13348: LD_ADDR_EXP 223
13352: PUSH
13353: LD_INT 1
13355: ST_TO_ADDR
// comattackunit ( [ def0 , def1 , def2 ] , utocnici [ 1 ] ) ;
13356: LD_EXP 162
13360: PUSH
13361: LD_EXP 163
13365: PUSH
13366: LD_EXP 164
13370: PUSH
13371: EMPTY
13372: LIST
13373: LIST
13374: LIST
13375: PPUSH
13376: LD_LOC 8
13380: PUSH
13381: LD_INT 1
13383: ARRAY
13384: PPUSH
13385: CALL_OW 115
// enable ;
13389: ENABLE
// end ;
13390: END
// every 0 0$1 + 0 0$0.5 trigger filterunitsinarea ( prusmykb , [ [ f_side , am ] ] ) = 0 and amattbf do
13391: LD_INT 6
13393: PPUSH
13394: LD_INT 22
13396: PUSH
13397: LD_EXP 2
13401: PUSH
13402: EMPTY
13403: LIST
13404: LIST
13405: PUSH
13406: EMPTY
13407: LIST
13408: PPUSH
13409: CALL_OW 70
13413: PUSH
13414: LD_INT 0
13416: EQUAL
13417: PUSH
13418: LD_EXP 223
13422: AND
13423: IFFALSE 13461
13425: GO 13427
13427: DISABLE
// begin comreturn ( [ def0 , def1 , def2 ] ) ;
13428: LD_EXP 162
13432: PUSH
13433: LD_EXP 163
13437: PUSH
13438: LD_EXP 164
13442: PUSH
13443: EMPTY
13444: LIST
13445: LIST
13446: LIST
13447: PPUSH
13448: CALL_OW 144
// amattbf = false ;
13452: LD_ADDR_EXP 223
13456: PUSH
13457: LD_INT 0
13459: ST_TO_ADDR
// enable ;
13460: ENABLE
// end ;
13461: END
// var telep , trupka ; every 4 4$30 trigger secondPass = 1 do
13462: LD_EXP 148
13466: PUSH
13467: LD_INT 1
13469: EQUAL
13470: IFFALSE 13559
13472: GO 13474
13474: DISABLE
// begin telep = [ ] ;
13475: LD_ADDR_LOC 9
13479: PUSH
13480: EMPTY
13481: ST_TO_ADDR
// telepattno = 1 ;
13482: LD_ADDR_LOC 12
13486: PUSH
13487: LD_INT 1
13489: ST_TO_ADDR
// comconstruct ( ru_fact , t1_1_ch , engine_siberite , control_computer , t1_1_wp ) ;
13490: LD_INT 21
13492: PPUSH
13493: LD_EXP 105
13497: PPUSH
13498: LD_INT 3
13500: PPUSH
13501: LD_INT 3
13503: PPUSH
13504: LD_EXP 106
13508: PPUSH
13509: CALL_OW 125
// addcomconstruct ( ru_fact , t1_2_ch , engine_siberite , control_computer , t1_2_wp ) ;
13513: LD_INT 21
13515: PPUSH
13516: LD_EXP 107
13520: PPUSH
13521: LD_INT 3
13523: PPUSH
13524: LD_INT 3
13526: PPUSH
13527: LD_EXP 108
13531: PPUSH
13532: CALL_OW 185
// addcomconstruct ( ru_fact , t1_3_ch , engine_siberite , control_computer , t1_3_wp ) ;
13536: LD_INT 21
13538: PPUSH
13539: LD_EXP 109
13543: PPUSH
13544: LD_INT 3
13546: PPUSH
13547: LD_INT 3
13549: PPUSH
13550: LD_EXP 110
13554: PPUSH
13555: CALL_OW 185
// end ;
13559: END
// var tmp_eve ; var telepattno ; on vehicleconstructed ( veh , fact ) do if fact = ru_fact then
13560: LD_VAR 0 2
13564: PUSH
13565: LD_INT 21
13567: EQUAL
13568: IFFALSE 13682
// begin telep = telep ^ [ veh ] ;
13570: LD_ADDR_LOC 9
13574: PUSH
13575: LD_LOC 9
13579: PUSH
13580: LD_VAR 0 1
13584: PUSH
13585: EMPTY
13586: LIST
13587: ADD
13588: ST_TO_ADDR
// if telep = 3 then
13589: LD_LOC 9
13593: PUSH
13594: LD_INT 3
13596: EQUAL
13597: IFFALSE 13682
// begin enable ( 100 + telepattno ) ;
13599: LD_INT 100
13601: PUSH
13602: LD_LOC 12
13606: PLUS
13607: ENABLE_MARKED
// for tmp_eve in telep do
13608: LD_ADDR_LOC 11
13612: PUSH
13613: LD_LOC 9
13617: PUSH
13618: FOR_IN
13619: IFFALSE 13635
// commoveunit ( tmp_eve , ruteleprt ) ;
13621: LD_LOC 11
13625: PPUSH
13626: LD_INT 10
13628: PPUSH
13629: CALL_OW 112
13633: GO 13618
13635: POP
13636: POP
// addcomagressivemove ( telep , 102 , 97 ) ;
13637: LD_LOC 9
13641: PPUSH
13642: LD_INT 102
13644: PPUSH
13645: LD_INT 97
13647: PPUSH
13648: CALL_OW 174
// addcomagressivemove ( telep , 117 , 93 ) ;
13652: LD_LOC 9
13656: PPUSH
13657: LD_INT 117
13659: PPUSH
13660: LD_INT 93
13662: PPUSH
13663: CALL_OW 174
// addcomagressivemove ( telep , 137 , 107 ) ;
13667: LD_LOC 9
13671: PPUSH
13672: LD_INT 137
13674: PPUSH
13675: LD_INT 107
13677: PPUSH
13678: CALL_OW 174
// end ; end ;
13682: PPOPN 2
13684: END
// every 0 0$0.3 trigger see ( am , telep [ 1 ] ) or see ( am , telep [ 2 ] ) or see ( am , telep [ 3 ] ) marked 101 do var tmp ;
13685: LD_EXP 2
13689: PPUSH
13690: LD_LOC 9
13694: PUSH
13695: LD_INT 1
13697: ARRAY
13698: PPUSH
13699: CALL_OW 292
13703: PUSH
13704: LD_EXP 2
13708: PPUSH
13709: LD_LOC 9
13713: PUSH
13714: LD_INT 2
13716: ARRAY
13717: PPUSH
13718: CALL_OW 292
13722: OR
13723: PUSH
13724: LD_EXP 2
13728: PPUSH
13729: LD_LOC 9
13733: PUSH
13734: LD_INT 3
13736: ARRAY
13737: PPUSH
13738: CALL_OW 292
13742: OR
13743: IFFALSE 13977
13745: GO 13747
13747: DISABLE
13748: LD_INT 0
13750: PPUSH
// begin tmp = filterunitsinarea ( ambase , [ [ f_side , am ] , [ f_type , unit_human ] ] ) diff john ;
13751: LD_ADDR_VAR 0 1
13755: PUSH
13756: LD_INT 11
13758: PPUSH
13759: LD_INT 22
13761: PUSH
13762: LD_EXP 2
13766: PUSH
13767: EMPTY
13768: LIST
13769: LIST
13770: PUSH
13771: LD_INT 21
13773: PUSH
13774: LD_INT 1
13776: PUSH
13777: EMPTY
13778: LIST
13779: LIST
13780: PUSH
13781: EMPTY
13782: LIST
13783: LIST
13784: PPUSH
13785: CALL_OW 70
13789: PUSH
13790: LD_EXP 174
13794: DIFF
13795: ST_TO_ADDR
// if not tmp then
13796: LD_VAR 0 1
13800: NOT
13801: IFFALSE 13845
// tmp = filterallunits ( [ [ f_side , am ] , [ f_type , unit_human ] ] ) diff john ;
13803: LD_ADDR_VAR 0 1
13807: PUSH
13808: LD_INT 22
13810: PUSH
13811: LD_EXP 2
13815: PUSH
13816: EMPTY
13817: LIST
13818: LIST
13819: PUSH
13820: LD_INT 21
13822: PUSH
13823: LD_INT 1
13825: PUSH
13826: EMPTY
13827: LIST
13828: LIST
13829: PUSH
13830: EMPTY
13831: LIST
13832: LIST
13833: PPUSH
13834: CALL_OW 69
13838: PUSH
13839: LD_EXP 174
13843: DIFF
13844: ST_TO_ADDR
// dialogueon ;
13845: CALL_OW 6
// if tmp then
13849: LD_VAR 0 1
13853: IFFALSE 13936
// begin if getsex ( tmp [ 1 ] ) = sex_female then
13855: LD_VAR 0 1
13859: PUSH
13860: LD_INT 1
13862: ARRAY
13863: PPUSH
13864: CALL_OW 258
13868: PUSH
13869: LD_INT 2
13871: EQUAL
13872: IFFALSE 13892
// say ( tmp [ 1 ] , DT1-FSol1-1 ) else
13874: LD_VAR 0 1
13878: PUSH
13879: LD_INT 1
13881: ARRAY
13882: PPUSH
13883: LD_STRING DT1-FSol1-1
13885: PPUSH
13886: CALL_OW 88
13890: GO 13908
// say ( tmp [ 1 ] , DT1-Sol1-1 ) ;
13892: LD_VAR 0 1
13896: PUSH
13897: LD_INT 1
13899: ARRAY
13900: PPUSH
13901: LD_STRING DT1-Sol1-1
13903: PPUSH
13904: CALL_OW 88
// say ( john , DT1-JMM-1 ) ;
13908: LD_EXP 174
13912: PPUSH
13913: LD_STRING DT1-JMM-1
13915: PPUSH
13916: CALL_OW 88
// trupka = tmp [ 1 ] ;
13920: LD_ADDR_LOC 10
13924: PUSH
13925: LD_VAR 0 1
13929: PUSH
13930: LD_INT 1
13932: ARRAY
13933: ST_TO_ADDR
// end else
13934: GO 13970
// begin say ( john , DT1-Sol1-1 ) ;
13936: LD_EXP 174
13940: PPUSH
13941: LD_STRING DT1-Sol1-1
13943: PPUSH
13944: CALL_OW 88
// say ( john , DT1-JMM-1 ) ;
13948: LD_EXP 174
13952: PPUSH
13953: LD_STRING DT1-JMM-1
13955: PPUSH
13956: CALL_OW 88
// trupka = john ;
13960: LD_ADDR_LOC 10
13964: PUSH
13965: LD_EXP 174
13969: ST_TO_ADDR
// end ; dialogueoff ;
13970: CALL_OW 7
// enable ( 12 ) ;
13974: LD_INT 12
13976: ENABLE_MARKED
// end ;
13977: PPOPN 1
13979: END
// every 0 0$0.4 trigger ( not isok ( telep [ 1 ] ) ) and ( not isok ( telep [ 2 ] ) ) and ( not isok ( telep [ 3 ] ) ) marked 12 do
13980: LD_LOC 9
13984: PUSH
13985: LD_INT 1
13987: ARRAY
13988: PPUSH
13989: CALL_OW 302
13993: NOT
13994: PUSH
13995: LD_LOC 9
13999: PUSH
14000: LD_INT 2
14002: ARRAY
14003: PPUSH
14004: CALL_OW 302
14008: NOT
14009: AND
14010: PUSH
14011: LD_LOC 9
14015: PUSH
14016: LD_INT 3
14018: ARRAY
14019: PPUSH
14020: CALL_OW 302
14024: NOT
14025: AND
14026: IFFALSE 14111
14028: GO 14030
14030: DISABLE
// begin dialogueon ;
14031: CALL_OW 6
// dwait ( 0 0$2 ) ;
14035: LD_INT 70
14037: PPUSH
14038: CALL_OW 68
// say ( john , DT1a-JMM-1 ) ;
14042: LD_EXP 174
14046: PPUSH
14047: LD_STRING DT1a-JMM-1
14049: PPUSH
14050: CALL_OW 88
// if getsex ( trupka ) = sex_male then
14054: LD_LOC 10
14058: PPUSH
14059: CALL_OW 258
14063: PUSH
14064: LD_INT 1
14066: EQUAL
14067: IFFALSE 14083
// say ( trupka , DT1a-Sol1-1 ) else
14069: LD_LOC 10
14073: PPUSH
14074: LD_STRING DT1a-Sol1-1
14076: PPUSH
14077: CALL_OW 88
14081: GO 14095
// say ( trupka , DT1a-FSol1-1 ) ;
14083: LD_LOC 10
14087: PPUSH
14088: LD_STRING DT1a-FSol1-1
14090: PPUSH
14091: CALL_OW 88
// say ( john , DT1a-JMM-2 ) ;
14095: LD_EXP 174
14099: PPUSH
14100: LD_STRING DT1a-JMM-2
14102: PPUSH
14103: CALL_OW 88
// dialogueoff ;
14107: CALL_OW 7
// end ;
14111: END
// every 9 9$30 trigger secondPass = 1 do
14112: LD_EXP 148
14116: PUSH
14117: LD_INT 1
14119: EQUAL
14120: IFFALSE 14209
14122: GO 14124
14124: DISABLE
// begin telep = [ ] ;
14125: LD_ADDR_LOC 9
14129: PUSH
14130: EMPTY
14131: ST_TO_ADDR
// telepattno = 2 ;
14132: LD_ADDR_LOC 12
14136: PUSH
14137: LD_INT 2
14139: ST_TO_ADDR
// comconstruct ( ru_fact , t2_1_ch , engine_siberite , control_computer , t2_1_wp ) ;
14140: LD_INT 21
14142: PPUSH
14143: LD_EXP 111
14147: PPUSH
14148: LD_INT 3
14150: PPUSH
14151: LD_INT 3
14153: PPUSH
14154: LD_EXP 112
14158: PPUSH
14159: CALL_OW 125
// addcomconstruct ( ru_fact , t2_2_ch , engine_siberite , control_computer , t2_2_wp ) ;
14163: LD_INT 21
14165: PPUSH
14166: LD_EXP 113
14170: PPUSH
14171: LD_INT 3
14173: PPUSH
14174: LD_INT 3
14176: PPUSH
14177: LD_EXP 114
14181: PPUSH
14182: CALL_OW 185
// addcomconstruct ( ru_fact , t2_3_ch , engine_siberite , control_computer , t2_3_wp ) ;
14186: LD_INT 21
14188: PPUSH
14189: LD_EXP 115
14193: PPUSH
14194: LD_INT 3
14196: PPUSH
14197: LD_INT 3
14199: PPUSH
14200: LD_EXP 116
14204: PPUSH
14205: CALL_OW 185
// end ;
14209: END
// every 0 0$0.3 trigger see ( am , telep [ 1 ] ) or see ( am , telep [ 2 ] ) or see ( am , telep [ 3 ] ) marked 102 do var tmp ;
14210: LD_EXP 2
14214: PPUSH
14215: LD_LOC 9
14219: PUSH
14220: LD_INT 1
14222: ARRAY
14223: PPUSH
14224: CALL_OW 292
14228: PUSH
14229: LD_EXP 2
14233: PPUSH
14234: LD_LOC 9
14238: PUSH
14239: LD_INT 2
14241: ARRAY
14242: PPUSH
14243: CALL_OW 292
14247: OR
14248: PUSH
14249: LD_EXP 2
14253: PPUSH
14254: LD_LOC 9
14258: PUSH
14259: LD_INT 3
14261: ARRAY
14262: PPUSH
14263: CALL_OW 292
14267: OR
14268: IFFALSE 14478
14270: GO 14272
14272: DISABLE
14273: LD_INT 0
14275: PPUSH
// begin tmp = filterunitsinarea ( ambase , [ [ f_side , am ] , [ f_type , unit_human ] ] ) diff john ;
14276: LD_ADDR_VAR 0 1
14280: PUSH
14281: LD_INT 11
14283: PPUSH
14284: LD_INT 22
14286: PUSH
14287: LD_EXP 2
14291: PUSH
14292: EMPTY
14293: LIST
14294: LIST
14295: PUSH
14296: LD_INT 21
14298: PUSH
14299: LD_INT 1
14301: PUSH
14302: EMPTY
14303: LIST
14304: LIST
14305: PUSH
14306: EMPTY
14307: LIST
14308: LIST
14309: PPUSH
14310: CALL_OW 70
14314: PUSH
14315: LD_EXP 174
14319: DIFF
14320: ST_TO_ADDR
// if not tmp then
14321: LD_VAR 0 1
14325: NOT
14326: IFFALSE 14370
// tmp = filterallunits ( [ [ f_side , am ] , [ f_type , unit_human ] ] ) diff john ;
14328: LD_ADDR_VAR 0 1
14332: PUSH
14333: LD_INT 22
14335: PUSH
14336: LD_EXP 2
14340: PUSH
14341: EMPTY
14342: LIST
14343: LIST
14344: PUSH
14345: LD_INT 21
14347: PUSH
14348: LD_INT 1
14350: PUSH
14351: EMPTY
14352: LIST
14353: LIST
14354: PUSH
14355: EMPTY
14356: LIST
14357: LIST
14358: PPUSH
14359: CALL_OW 69
14363: PUSH
14364: LD_EXP 174
14368: DIFF
14369: ST_TO_ADDR
// dialogueon ;
14370: CALL_OW 6
// if tmp then
14374: LD_VAR 0 1
14378: IFFALSE 14449
// begin if getsex ( tmp [ 1 ] ) = sex_female then
14380: LD_VAR 0 1
14384: PUSH
14385: LD_INT 1
14387: ARRAY
14388: PPUSH
14389: CALL_OW 258
14393: PUSH
14394: LD_INT 2
14396: EQUAL
14397: IFFALSE 14417
// say ( tmp [ 1 ] , DT2-FSol1-1 ) else
14399: LD_VAR 0 1
14403: PUSH
14404: LD_INT 1
14406: ARRAY
14407: PPUSH
14408: LD_STRING DT2-FSol1-1
14410: PPUSH
14411: CALL_OW 88
14415: GO 14433
// say ( tmp [ 1 ] , DT2-Sol1-1 ) ;
14417: LD_VAR 0 1
14421: PUSH
14422: LD_INT 1
14424: ARRAY
14425: PPUSH
14426: LD_STRING DT2-Sol1-1
14428: PPUSH
14429: CALL_OW 88
// trupka = tmp [ 1 ] ;
14433: LD_ADDR_LOC 10
14437: PUSH
14438: LD_VAR 0 1
14442: PUSH
14443: LD_INT 1
14445: ARRAY
14446: ST_TO_ADDR
// end else
14447: GO 14471
// begin say ( john , DT2-Sol1-1 ) ;
14449: LD_EXP 174
14453: PPUSH
14454: LD_STRING DT2-Sol1-1
14456: PPUSH
14457: CALL_OW 88
// trupka = john ;
14461: LD_ADDR_LOC 10
14465: PUSH
14466: LD_EXP 174
14470: ST_TO_ADDR
// end ; dialogueoff ;
14471: CALL_OW 7
// enable ( 14 ) ;
14475: LD_INT 14
14477: ENABLE_MARKED
// end ;
14478: PPOPN 1
14480: END
// every 0 0$0.4 trigger ( not isok ( telep [ 1 ] ) ) and ( not isok ( telep [ 2 ] ) ) and ( not isok ( telep [ 3 ] ) ) marked 14 do
14481: LD_LOC 9
14485: PUSH
14486: LD_INT 1
14488: ARRAY
14489: PPUSH
14490: CALL_OW 302
14494: NOT
14495: PUSH
14496: LD_LOC 9
14500: PUSH
14501: LD_INT 2
14503: ARRAY
14504: PPUSH
14505: CALL_OW 302
14509: NOT
14510: AND
14511: PUSH
14512: LD_LOC 9
14516: PUSH
14517: LD_INT 3
14519: ARRAY
14520: PPUSH
14521: CALL_OW 302
14525: NOT
14526: AND
14527: IFFALSE 14623
14529: GO 14531
14531: DISABLE
// begin dialogueon ;
14532: CALL_OW 6
// dwait ( 0 0$2 ) ;
14536: LD_INT 70
14538: PPUSH
14539: CALL_OW 68
// say ( john , DT2a-JMM-1 ) ;
14543: LD_EXP 174
14547: PPUSH
14548: LD_STRING DT2a-JMM-1
14550: PPUSH
14551: CALL_OW 88
// if getsex ( trupka ) = sex_male then
14555: LD_LOC 10
14559: PPUSH
14560: CALL_OW 258
14564: PUSH
14565: LD_INT 1
14567: EQUAL
14568: IFFALSE 14584
// say ( trupka , DT2a-Sol1-1 ) else
14570: LD_LOC 10
14574: PPUSH
14575: LD_STRING DT2a-Sol1-1
14577: PPUSH
14578: CALL_OW 88
14582: GO 14596
// say ( trupka , DT2a-FSol1-1 ) ;
14584: LD_LOC 10
14588: PPUSH
14589: LD_STRING DT2a-FSol1-1
14591: PPUSH
14592: CALL_OW 88
// if isok ( lucy ) then
14596: LD_EXP 176
14600: PPUSH
14601: CALL_OW 302
14605: IFFALSE 14619
// say ( lucy , DT2a-Don-1 ) ;
14607: LD_EXP 176
14611: PPUSH
14612: LD_STRING DT2a-Don-1
14614: PPUSH
14615: CALL_OW 88
// dialogueoff ;
14619: CALL_OW 7
// end ;
14623: END
// every 14 14$00 trigger secondPass = 1 do var rmw , rhw , rmt , rht , rgg , r_g , rhg , rrl , r_r ;
14624: LD_EXP 148
14628: PUSH
14629: LD_INT 1
14631: EQUAL
14632: IFFALSE 15249
14634: GO 14636
14636: DISABLE
14637: LD_INT 0
14639: PPUSH
14640: PPUSH
14641: PPUSH
14642: PPUSH
14643: PPUSH
14644: PPUSH
14645: PPUSH
14646: PPUSH
14647: PPUSH
// begin settech ( tech_comp3 , rus , state_researched ) ;
14648: LD_INT 59
14650: PPUSH
14651: LD_EXP 1
14655: PPUSH
14656: LD_INT 2
14658: PPUSH
14659: CALL_OW 322
// telep = [ ] ;
14663: LD_ADDR_LOC 9
14667: PUSH
14668: EMPTY
14669: ST_TO_ADDR
// telepattno = 3 ;
14670: LD_ADDR_LOC 12
14674: PUSH
14675: LD_INT 3
14677: ST_TO_ADDR
// fourthplus = 0 ;
14678: LD_ADDR_LOC 13
14682: PUSH
14683: LD_INT 0
14685: ST_TO_ADDR
// comconstruct ( ru_fact , t3_1_ch , engine_siberite , control_computer , t3_1_wp ) ;
14686: LD_INT 21
14688: PPUSH
14689: LD_EXP 117
14693: PPUSH
14694: LD_INT 3
14696: PPUSH
14697: LD_INT 3
14699: PPUSH
14700: LD_EXP 118
14704: PPUSH
14705: CALL_OW 125
// addcomconstruct ( ru_fact , t3_2_ch , engine_siberite , control_computer , t3_2_wp ) ;
14709: LD_INT 21
14711: PPUSH
14712: LD_EXP 119
14716: PPUSH
14717: LD_INT 3
14719: PPUSH
14720: LD_INT 3
14722: PPUSH
14723: LD_EXP 120
14727: PPUSH
14728: CALL_OW 185
// addcomconstruct ( ru_fact , t3_3_ch , engine_siberite , control_computer , t3_3_wp ) ;
14732: LD_INT 21
14734: PPUSH
14735: LD_EXP 121
14739: PPUSH
14740: LD_INT 3
14742: PPUSH
14743: LD_INT 3
14745: PPUSH
14746: LD_EXP 122
14750: PPUSH
14751: CALL_OW 185
// rmw = ru_medium_wheeled ;
14755: LD_ADDR_VAR 0 1
14759: PUSH
14760: LD_INT 21
14762: ST_TO_ADDR
// rhw = ru_heavy_wheeled ;
14763: LD_ADDR_VAR 0 2
14767: PUSH
14768: LD_INT 23
14770: ST_TO_ADDR
// rmt = ru_medium_tracked ;
14771: LD_ADDR_VAR 0 3
14775: PUSH
14776: LD_INT 22
14778: ST_TO_ADDR
// rht = ru_heavy_tracked ;
14779: LD_ADDR_VAR 0 4
14783: PUSH
14784: LD_INT 24
14786: ST_TO_ADDR
// rgg = ru_gatling_gun ;
14787: LD_ADDR_VAR 0 5
14791: PUSH
14792: LD_INT 43
14794: ST_TO_ADDR
// r_g = ru_gun ;
14795: LD_ADDR_VAR 0 6
14799: PUSH
14800: LD_INT 44
14802: ST_TO_ADDR
// rhg = ru_heavy_gun ;
14803: LD_ADDR_VAR 0 7
14807: PUSH
14808: LD_INT 46
14810: ST_TO_ADDR
// rrl = ru_rocket_launcher ;
14811: LD_ADDR_VAR 0 8
14815: PUSH
14816: LD_INT 45
14818: ST_TO_ADDR
// r_r = ru_rocket ;
14819: LD_ADDR_VAR 0 9
14823: PUSH
14824: LD_INT 47
14826: ST_TO_ADDR
// chs = [ [ [ rmw , rmw , rmw ] , [ rmw , rhw , rmw ] , [ rmw , rhw , rmw ] ] , [ [ rmt , rhw , rmw ] , [ rmw , rht , rmw ] , [ rht , rhw , rmt ] ] , [ [ rmt , rhw , rmt ] , [ rmt , rht , rmt ] , [ rht , rht , rht ] ] ] [ difficulty ] ;
14827: LD_ADDR_LOC 14
14831: PUSH
14832: LD_VAR 0 1
14836: PUSH
14837: LD_VAR 0 1
14841: PUSH
14842: LD_VAR 0 1
14846: PUSH
14847: EMPTY
14848: LIST
14849: LIST
14850: LIST
14851: PUSH
14852: LD_VAR 0 1
14856: PUSH
14857: LD_VAR 0 2
14861: PUSH
14862: LD_VAR 0 1
14866: PUSH
14867: EMPTY
14868: LIST
14869: LIST
14870: LIST
14871: PUSH
14872: LD_VAR 0 1
14876: PUSH
14877: LD_VAR 0 2
14881: PUSH
14882: LD_VAR 0 1
14886: PUSH
14887: EMPTY
14888: LIST
14889: LIST
14890: LIST
14891: PUSH
14892: EMPTY
14893: LIST
14894: LIST
14895: LIST
14896: PUSH
14897: LD_VAR 0 3
14901: PUSH
14902: LD_VAR 0 2
14906: PUSH
14907: LD_VAR 0 1
14911: PUSH
14912: EMPTY
14913: LIST
14914: LIST
14915: LIST
14916: PUSH
14917: LD_VAR 0 1
14921: PUSH
14922: LD_VAR 0 4
14926: PUSH
14927: LD_VAR 0 1
14931: PUSH
14932: EMPTY
14933: LIST
14934: LIST
14935: LIST
14936: PUSH
14937: LD_VAR 0 4
14941: PUSH
14942: LD_VAR 0 2
14946: PUSH
14947: LD_VAR 0 3
14951: PUSH
14952: EMPTY
14953: LIST
14954: LIST
14955: LIST
14956: PUSH
14957: EMPTY
14958: LIST
14959: LIST
14960: LIST
14961: PUSH
14962: LD_VAR 0 3
14966: PUSH
14967: LD_VAR 0 2
14971: PUSH
14972: LD_VAR 0 3
14976: PUSH
14977: EMPTY
14978: LIST
14979: LIST
14980: LIST
14981: PUSH
14982: LD_VAR 0 3
14986: PUSH
14987: LD_VAR 0 4
14991: PUSH
14992: LD_VAR 0 3
14996: PUSH
14997: EMPTY
14998: LIST
14999: LIST
15000: LIST
15001: PUSH
15002: LD_VAR 0 4
15006: PUSH
15007: LD_VAR 0 4
15011: PUSH
15012: LD_VAR 0 4
15016: PUSH
15017: EMPTY
15018: LIST
15019: LIST
15020: LIST
15021: PUSH
15022: EMPTY
15023: LIST
15024: LIST
15025: LIST
15026: PUSH
15027: EMPTY
15028: LIST
15029: LIST
15030: LIST
15031: PUSH
15032: LD_OWVAR 67
15036: ARRAY
15037: ST_TO_ADDR
// wps = [ [ [ rgg , r_g , rgg ] , [ rgg , rhg , rgg ] , [ rgg , rhg , r_g ] ] , [ [ rgg , rhg , r_g ] , [ rgg , rhg , rrl ] , [ rhg , r_r , r_g ] ] , [ [ r_g , rhg , r_g ] , [ r_g , r_r , r_g ] , [ r_r , rhg , rhg ] ] ] [ difficulty ] ;
15038: LD_ADDR_LOC 15
15042: PUSH
15043: LD_VAR 0 5
15047: PUSH
15048: LD_VAR 0 6
15052: PUSH
15053: LD_VAR 0 5
15057: PUSH
15058: EMPTY
15059: LIST
15060: LIST
15061: LIST
15062: PUSH
15063: LD_VAR 0 5
15067: PUSH
15068: LD_VAR 0 7
15072: PUSH
15073: LD_VAR 0 5
15077: PUSH
15078: EMPTY
15079: LIST
15080: LIST
15081: LIST
15082: PUSH
15083: LD_VAR 0 5
15087: PUSH
15088: LD_VAR 0 7
15092: PUSH
15093: LD_VAR 0 6
15097: PUSH
15098: EMPTY
15099: LIST
15100: LIST
15101: LIST
15102: PUSH
15103: EMPTY
15104: LIST
15105: LIST
15106: LIST
15107: PUSH
15108: LD_VAR 0 5
15112: PUSH
15113: LD_VAR 0 7
15117: PUSH
15118: LD_VAR 0 6
15122: PUSH
15123: EMPTY
15124: LIST
15125: LIST
15126: LIST
15127: PUSH
15128: LD_VAR 0 5
15132: PUSH
15133: LD_VAR 0 7
15137: PUSH
15138: LD_VAR 0 8
15142: PUSH
15143: EMPTY
15144: LIST
15145: LIST
15146: LIST
15147: PUSH
15148: LD_VAR 0 7
15152: PUSH
15153: LD_VAR 0 9
15157: PUSH
15158: LD_VAR 0 6
15162: PUSH
15163: EMPTY
15164: LIST
15165: LIST
15166: LIST
15167: PUSH
15168: EMPTY
15169: LIST
15170: LIST
15171: LIST
15172: PUSH
15173: LD_VAR 0 6
15177: PUSH
15178: LD_VAR 0 7
15182: PUSH
15183: LD_VAR 0 6
15187: PUSH
15188: EMPTY
15189: LIST
15190: LIST
15191: LIST
15192: PUSH
15193: LD_VAR 0 6
15197: PUSH
15198: LD_VAR 0 9
15202: PUSH
15203: LD_VAR 0 6
15207: PUSH
15208: EMPTY
15209: LIST
15210: LIST
15211: LIST
15212: PUSH
15213: LD_VAR 0 9
15217: PUSH
15218: LD_VAR 0 7
15222: PUSH
15223: LD_VAR 0 7
15227: PUSH
15228: EMPTY
15229: LIST
15230: LIST
15231: LIST
15232: PUSH
15233: EMPTY
15234: LIST
15235: LIST
15236: LIST
15237: PUSH
15238: EMPTY
15239: LIST
15240: LIST
15241: LIST
15242: PUSH
15243: LD_OWVAR 67
15247: ARRAY
15248: ST_TO_ADDR
// end ;
15249: PPOPN 9
15251: END
// var fourthplus , chs , wps ; every 1 1$0 + 15 15$0 trigger secondPass = 1 do var ch , wp , tmp , tmp1 , tmp2 ;
15252: LD_EXP 148
15256: PUSH
15257: LD_INT 1
15259: EQUAL
15260: IFFALSE 15911
15262: GO 15264
15264: DISABLE
15265: LD_INT 0
15267: PPUSH
15268: PPUSH
15269: PPUSH
15270: PPUSH
15271: PPUSH
// begin fourthplus = fourthplus + 1 ;
15272: LD_ADDR_LOC 13
15276: PUSH
15277: LD_LOC 13
15281: PUSH
15282: LD_INT 1
15284: PLUS
15285: ST_TO_ADDR
// ch = 0 ;
15286: LD_ADDR_VAR 0 1
15290: PUSH
15291: LD_INT 0
15293: ST_TO_ADDR
// case fourthplus of 1 .. rta [ 1 ] :
15294: LD_LOC 13
15298: PUSH
15299: LD_INT 1
15301: DOUBLE
15302: GREATEREQUAL
15303: IFFALSE 15317
15305: LD_EXP 147
15309: PUSH
15310: LD_INT 1
15312: ARRAY
15313: DOUBLE
15314: LESSEQUAL
15315: IFTRUE 15319
15317: GO 15388
15319: POP
// if not ( fourthplus mod rta [ 3 ] ) then
15320: LD_LOC 13
15324: PUSH
15325: LD_EXP 147
15329: PUSH
15330: LD_INT 3
15332: ARRAY
15333: MOD
15334: NOT
15335: IFFALSE 15386
// begin telep = [ ] ;
15337: LD_ADDR_LOC 9
15341: PUSH
15342: EMPTY
15343: ST_TO_ADDR
// telepattno = telepattno + 1 ;
15344: LD_ADDR_LOC 12
15348: PUSH
15349: LD_LOC 12
15353: PUSH
15354: LD_INT 1
15356: PLUS
15357: ST_TO_ADDR
// ch = chs [ 1 ] ;
15358: LD_ADDR_VAR 0 1
15362: PUSH
15363: LD_LOC 14
15367: PUSH
15368: LD_INT 1
15370: ARRAY
15371: ST_TO_ADDR
// wp = wps [ 1 ] ;
15372: LD_ADDR_VAR 0 2
15376: PUSH
15377: LD_LOC 15
15381: PUSH
15382: LD_INT 1
15384: ARRAY
15385: ST_TO_ADDR
// end ; ( rta [ 1 ] + 1 ) .. rta [ 2 ] :
15386: GO 15574
15388: LD_EXP 147
15392: PUSH
15393: LD_INT 1
15395: ARRAY
15396: PUSH
15397: LD_INT 1
15399: PLUS
15400: DOUBLE
15401: GREATEREQUAL
15402: IFFALSE 15416
15404: LD_EXP 147
15408: PUSH
15409: LD_INT 2
15411: ARRAY
15412: DOUBLE
15413: LESSEQUAL
15414: IFTRUE 15418
15416: GO 15497
15418: POP
// if not ( ( fourthplus - rta [ 1 ] ) mod rta [ 4 ] ) then
15419: LD_LOC 13
15423: PUSH
15424: LD_EXP 147
15428: PUSH
15429: LD_INT 1
15431: ARRAY
15432: MINUS
15433: PUSH
15434: LD_EXP 147
15438: PUSH
15439: LD_INT 4
15441: ARRAY
15442: MOD
15443: NOT
15444: IFFALSE 15495
// begin telep = [ ] ;
15446: LD_ADDR_LOC 9
15450: PUSH
15451: EMPTY
15452: ST_TO_ADDR
// telepattno = telepattno + 1 ;
15453: LD_ADDR_LOC 12
15457: PUSH
15458: LD_LOC 12
15462: PUSH
15463: LD_INT 1
15465: PLUS
15466: ST_TO_ADDR
// ch = chs [ 2 ] ;
15467: LD_ADDR_VAR 0 1
15471: PUSH
15472: LD_LOC 14
15476: PUSH
15477: LD_INT 2
15479: ARRAY
15480: ST_TO_ADDR
// wp = wps [ 2 ] ;
15481: LD_ADDR_VAR 0 2
15485: PUSH
15486: LD_LOC 15
15490: PUSH
15491: LD_INT 2
15493: ARRAY
15494: ST_TO_ADDR
// end ; else
15495: GO 15574
15497: POP
// if not ( ( fourthplus - rta [ 2 ] ) mod rta [ 5 ] ) then
15498: LD_LOC 13
15502: PUSH
15503: LD_EXP 147
15507: PUSH
15508: LD_INT 2
15510: ARRAY
15511: MINUS
15512: PUSH
15513: LD_EXP 147
15517: PUSH
15518: LD_INT 5
15520: ARRAY
15521: MOD
15522: NOT
15523: IFFALSE 15574
// begin telep = [ ] ;
15525: LD_ADDR_LOC 9
15529: PUSH
15530: EMPTY
15531: ST_TO_ADDR
// telepattno = telepattno + 1 ;
15532: LD_ADDR_LOC 12
15536: PUSH
15537: LD_LOC 12
15541: PUSH
15542: LD_INT 1
15544: PLUS
15545: ST_TO_ADDR
// ch = chs [ 3 ] ;
15546: LD_ADDR_VAR 0 1
15550: PUSH
15551: LD_LOC 14
15555: PUSH
15556: LD_INT 3
15558: ARRAY
15559: ST_TO_ADDR
// wp = wps [ 3 ] ;
15560: LD_ADDR_VAR 0 2
15564: PUSH
15565: LD_LOC 15
15569: PUSH
15570: LD_INT 3
15572: ARRAY
15573: ST_TO_ADDR
// end ; end ; enable ;
15574: ENABLE
// if not ch then
15575: LD_VAR 0 1
15579: NOT
15580: IFFALSE 15584
// exit ;
15582: GO 15911
// tmp = costofvehicle ( ch [ 1 ] , engine_siberite , control_computer , wp [ 1 ] ) ;
15584: LD_ADDR_VAR 0 3
15588: PUSH
15589: LD_VAR 0 1
15593: PUSH
15594: LD_INT 1
15596: ARRAY
15597: PPUSH
15598: LD_INT 3
15600: PPUSH
15601: LD_INT 3
15603: PPUSH
15604: LD_VAR 0 2
15608: PUSH
15609: LD_INT 1
15611: ARRAY
15612: PPUSH
15613: CALL_OW 449
15617: ST_TO_ADDR
// tmp1 = costofvehicle ( ch [ 2 ] , engine_siberite , control_computer , wp [ 2 ] ) ;
15618: LD_ADDR_VAR 0 4
15622: PUSH
15623: LD_VAR 0 1
15627: PUSH
15628: LD_INT 2
15630: ARRAY
15631: PPUSH
15632: LD_INT 3
15634: PPUSH
15635: LD_INT 3
15637: PPUSH
15638: LD_VAR 0 2
15642: PUSH
15643: LD_INT 2
15645: ARRAY
15646: PPUSH
15647: CALL_OW 449
15651: ST_TO_ADDR
// tmp2 = costofvehicle ( ch [ 3 ] , engine_siberite , control_computer , wp [ 3 ] ) ;
15652: LD_ADDR_VAR 0 5
15656: PUSH
15657: LD_VAR 0 1
15661: PUSH
15662: LD_INT 3
15664: ARRAY
15665: PPUSH
15666: LD_INT 3
15668: PPUSH
15669: LD_INT 3
15671: PPUSH
15672: LD_VAR 0 2
15676: PUSH
15677: LD_INT 3
15679: ARRAY
15680: PPUSH
15681: CALL_OW 449
15685: ST_TO_ADDR
// addresourcetype ( getbase ( ru_fact ) , mat_cans , tmp [ 1 ] + tmp1 [ 1 ] + tmp2 [ 1 ] ) ;
15686: LD_INT 21
15688: PPUSH
15689: CALL_OW 274
15693: PPUSH
15694: LD_INT 1
15696: PPUSH
15697: LD_VAR 0 3
15701: PUSH
15702: LD_INT 1
15704: ARRAY
15705: PUSH
15706: LD_VAR 0 4
15710: PUSH
15711: LD_INT 1
15713: ARRAY
15714: PLUS
15715: PUSH
15716: LD_VAR 0 5
15720: PUSH
15721: LD_INT 1
15723: ARRAY
15724: PLUS
15725: PPUSH
15726: CALL_OW 276
// addresourcetype ( getbase ( ru_fact ) , mat_oil , tmp [ 2 ] + tmp1 [ 2 ] + tmp2 [ 2 ] ) ;
15730: LD_INT 21
15732: PPUSH
15733: CALL_OW 274
15737: PPUSH
15738: LD_INT 2
15740: PPUSH
15741: LD_VAR 0 3
15745: PUSH
15746: LD_INT 2
15748: ARRAY
15749: PUSH
15750: LD_VAR 0 4
15754: PUSH
15755: LD_INT 2
15757: ARRAY
15758: PLUS
15759: PUSH
15760: LD_VAR 0 5
15764: PUSH
15765: LD_INT 2
15767: ARRAY
15768: PLUS
15769: PPUSH
15770: CALL_OW 276
// addresourcetype ( getbase ( ru_fact ) , mat_siberit , tmp [ 3 ] + tmp1 [ 3 ] + tmp2 [ 3 ] ) ;
15774: LD_INT 21
15776: PPUSH
15777: CALL_OW 274
15781: PPUSH
15782: LD_INT 3
15784: PPUSH
15785: LD_VAR 0 3
15789: PUSH
15790: LD_INT 3
15792: ARRAY
15793: PUSH
15794: LD_VAR 0 4
15798: PUSH
15799: LD_INT 3
15801: ARRAY
15802: PLUS
15803: PUSH
15804: LD_VAR 0 5
15808: PUSH
15809: LD_INT 3
15811: ARRAY
15812: PLUS
15813: PPUSH
15814: CALL_OW 276
// comconstruct ( ru_fact , ch [ 1 ] , engine_siberite , control_computer , wp [ 1 ] ) ;
15818: LD_INT 21
15820: PPUSH
15821: LD_VAR 0 1
15825: PUSH
15826: LD_INT 1
15828: ARRAY
15829: PPUSH
15830: LD_INT 3
15832: PPUSH
15833: LD_INT 3
15835: PPUSH
15836: LD_VAR 0 2
15840: PUSH
15841: LD_INT 1
15843: ARRAY
15844: PPUSH
15845: CALL_OW 125
// addcomconstruct ( ru_fact , ch [ 2 ] , engine_siberite , control_computer , wp [ 2 ] ) ;
15849: LD_INT 21
15851: PPUSH
15852: LD_VAR 0 1
15856: PUSH
15857: LD_INT 2
15859: ARRAY
15860: PPUSH
15861: LD_INT 3
15863: PPUSH
15864: LD_INT 3
15866: PPUSH
15867: LD_VAR 0 2
15871: PUSH
15872: LD_INT 2
15874: ARRAY
15875: PPUSH
15876: CALL_OW 185
// addcomconstruct ( ru_fact , ch [ 3 ] , engine_siberite , control_computer , wp [ 3 ] ) ;
15880: LD_INT 21
15882: PPUSH
15883: LD_VAR 0 1
15887: PUSH
15888: LD_INT 3
15890: ARRAY
15891: PPUSH
15892: LD_INT 3
15894: PPUSH
15895: LD_INT 3
15897: PPUSH
15898: LD_VAR 0 2
15902: PUSH
15903: LD_INT 3
15905: ARRAY
15906: PPUSH
15907: CALL_OW 185
// end ;
15911: PPOPN 5
15913: END
// every 0 0$0.3 trigger see ( am , ruteleprt ) do var tmp , tmq , tmr ;
15914: LD_EXP 2
15918: PPUSH
15919: LD_INT 10
15921: PPUSH
15922: CALL_OW 292
15926: IFFALSE 16141
15928: GO 15930
15930: DISABLE
15931: LD_INT 0
15933: PPUSH
15934: PPUSH
15935: PPUSH
// begin telepmed = 1 ;
15936: LD_ADDR_EXP 124
15940: PUSH
15941: LD_INT 1
15943: ST_TO_ADDR
// tmp = filterallunits ( [ [ f_side , am ] , [ f_type , unit_human ] , [ f_placed ] ] ) diff john ;
15944: LD_ADDR_VAR 0 1
15948: PUSH
15949: LD_INT 22
15951: PUSH
15952: LD_EXP 2
15956: PUSH
15957: EMPTY
15958: LIST
15959: LIST
15960: PUSH
15961: LD_INT 21
15963: PUSH
15964: LD_INT 1
15966: PUSH
15967: EMPTY
15968: LIST
15969: LIST
15970: PUSH
15971: LD_INT 52
15973: PUSH
15974: EMPTY
15975: LIST
15976: PUSH
15977: EMPTY
15978: LIST
15979: LIST
15980: LIST
15981: PPUSH
15982: CALL_OW 69
15986: PUSH
15987: LD_EXP 174
15991: DIFF
15992: ST_TO_ADDR
// tmq = [ ] ;
15993: LD_ADDR_VAR 0 2
15997: PUSH
15998: EMPTY
15999: ST_TO_ADDR
// for tmr in tmp do
16000: LD_ADDR_VAR 0 3
16004: PUSH
16005: LD_VAR 0 1
16009: PUSH
16010: FOR_IN
16011: IFFALSE 16042
// tmq = tmq ^ [ getdistunits ( ruteleprt , tmr ) ] ;
16013: LD_ADDR_VAR 0 2
16017: PUSH
16018: LD_VAR 0 2
16022: PUSH
16023: LD_INT 10
16025: PPUSH
16026: LD_VAR 0 3
16030: PPUSH
16031: CALL_OW 296
16035: PUSH
16036: EMPTY
16037: LIST
16038: ADD
16039: ST_TO_ADDR
16040: GO 16010
16042: POP
16043: POP
// tmr = worstfromlistbylist ( tmp , tmq ) ;
16044: LD_ADDR_VAR 0 3
16048: PUSH
16049: LD_VAR 0 1
16053: PPUSH
16054: LD_VAR 0 2
16058: PPUSH
16059: CALL_OW 78
16063: ST_TO_ADDR
// dialogueon ;
16064: CALL_OW 6
// if tmr then
16068: LD_VAR 0 3
16072: IFFALSE 16127
// begin if getsex ( tmr ) = sex_male then
16074: LD_VAR 0 3
16078: PPUSH
16079: CALL_OW 258
16083: PUSH
16084: LD_INT 1
16086: EQUAL
16087: IFFALSE 16103
// say ( tmr , DT3-Sol1-1 ) else
16089: LD_VAR 0 3
16093: PPUSH
16094: LD_STRING DT3-Sol1-1
16096: PPUSH
16097: CALL_OW 88
16101: GO 16115
// say ( tmr , DT3-FSol1-1 ) ;
16103: LD_VAR 0 3
16107: PPUSH
16108: LD_STRING DT3-FSol1-1
16110: PPUSH
16111: CALL_OW 88
// say ( john , DT3-JMM-1 ) ;
16115: LD_EXP 174
16119: PPUSH
16120: LD_STRING DT3-JMM-1
16122: PPUSH
16123: CALL_OW 88
// end ; changemissionobjectives ( M2 ) ;
16127: LD_STRING M2
16129: PPUSH
16130: CALL_OW 337
// dialogueoff ;
16134: CALL_OW 7
// enable ( 15 ) ;
16138: LD_INT 15
16140: ENABLE_MARKED
// end ;
16141: PPOPN 3
16143: END
// on unitteleported ( tel , un ) marked 15 do var tmp , tmq , tmr ;
16144: LD_INT 0
16146: PPUSH
16147: PPUSH
16148: PPUSH
// if tel = ruteleprt and getside ( un ) = am then
16149: LD_VAR 0 1
16153: PUSH
16154: LD_INT 10
16156: EQUAL
16157: PUSH
16158: LD_VAR 0 2
16162: PPUSH
16163: CALL_OW 255
16167: PUSH
16168: LD_EXP 2
16172: EQUAL
16173: AND
16174: IFFALSE 16417
// begin wait ( 0 0$1 ) ;
16176: LD_INT 35
16178: PPUSH
16179: CALL_OW 67
// telepmed = 2 ;
16183: LD_ADDR_EXP 124
16187: PUSH
16188: LD_INT 2
16190: ST_TO_ADDR
// tmp = filterallunits ( [ [ f_side , am ] , [ f_type , unit_human ] , [ f_placed ] ] ) ;
16191: LD_ADDR_VAR 0 3
16195: PUSH
16196: LD_INT 22
16198: PUSH
16199: LD_EXP 2
16203: PUSH
16204: EMPTY
16205: LIST
16206: LIST
16207: PUSH
16208: LD_INT 21
16210: PUSH
16211: LD_INT 1
16213: PUSH
16214: EMPTY
16215: LIST
16216: LIST
16217: PUSH
16218: LD_INT 52
16220: PUSH
16221: EMPTY
16222: LIST
16223: PUSH
16224: EMPTY
16225: LIST
16226: LIST
16227: LIST
16228: PPUSH
16229: CALL_OW 69
16233: ST_TO_ADDR
// tmq = [ ] ;
16234: LD_ADDR_VAR 0 4
16238: PUSH
16239: EMPTY
16240: ST_TO_ADDR
// for tmr in tmp do
16241: LD_ADDR_VAR 0 5
16245: PUSH
16246: LD_VAR 0 3
16250: PUSH
16251: FOR_IN
16252: IFFALSE 16283
// tmq = tmq ^ [ getdistunits ( ruteleprt , tmr ) ] ;
16254: LD_ADDR_VAR 0 4
16258: PUSH
16259: LD_VAR 0 4
16263: PUSH
16264: LD_INT 10
16266: PPUSH
16267: LD_VAR 0 5
16271: PPUSH
16272: CALL_OW 296
16276: PUSH
16277: EMPTY
16278: LIST
16279: ADD
16280: ST_TO_ADDR
16281: GO 16251
16283: POP
16284: POP
// tmr = worstfromlistbylist ( tmp , tmq ) ;
16285: LD_ADDR_VAR 0 5
16289: PUSH
16290: LD_VAR 0 3
16294: PPUSH
16295: LD_VAR 0 4
16299: PPUSH
16300: CALL_OW 78
16304: ST_TO_ADDR
// dialogueon ;
16305: CALL_OW 6
// if tmp then
16309: LD_VAR 0 3
16313: IFFALSE 16358
// if getsex ( tmr ) = sex_male then
16315: LD_VAR 0 5
16319: PPUSH
16320: CALL_OW 258
16324: PUSH
16325: LD_INT 1
16327: EQUAL
16328: IFFALSE 16344
// say ( tmr , DT3a-Sol1-1 ) else
16330: LD_VAR 0 5
16334: PPUSH
16335: LD_STRING DT3a-Sol1-1
16337: PPUSH
16338: CALL_OW 88
16342: GO 16356
// say ( tmr , DT3a-FSol1-1 ) else
16344: LD_VAR 0 5
16348: PPUSH
16349: LD_STRING DT3a-FSol1-1
16351: PPUSH
16352: CALL_OW 88
16356: GO 16370
// say ( john , DT3a-Sol1-1 ) ;
16358: LD_EXP 174
16362: PPUSH
16363: LD_STRING DT3a-Sol1-1
16365: PPUSH
16366: CALL_OW 88
// say ( john , DT3a-JMM-1 ) ;
16370: LD_EXP 174
16374: PPUSH
16375: LD_STRING DT3a-JMM-1
16377: PPUSH
16378: CALL_OW 88
// centernowonunits ( un ) ;
16382: LD_VAR 0 2
16386: PPUSH
16387: CALL_OW 87
// say ( john , DT3a-JMM-1a ) ;
16391: LD_EXP 174
16395: PPUSH
16396: LD_STRING DT3a-JMM-1a
16398: PPUSH
16399: CALL_OW 88
// dialogueoff ;
16403: CALL_OW 7
// changemissionobjectives ( M2a ) ;
16407: LD_STRING M2a
16409: PPUSH
16410: CALL_OW 337
// disable ( 15 ) ;
16414: LD_INT 15
16416: DISABLE_MARKED
// end ;
16417: PPOPN 5
16419: END
// export ru_scies_ ; every 0 0$0.5 do var tmp , tmq ;
16420: GO 16422
16422: DISABLE
16423: LD_INT 0
16425: PPUSH
16426: PPUSH
// begin tmp = filterunitsinarea ( vedci_zdrhaji , [ [ f_side , rus ] , [ f_type , unit_human ] , [ f_class , class_scientistic ] ] ) ;
16427: LD_ADDR_VAR 0 1
16431: PUSH
16432: LD_INT 14
16434: PPUSH
16435: LD_INT 22
16437: PUSH
16438: LD_EXP 1
16442: PUSH
16443: EMPTY
16444: LIST
16445: LIST
16446: PUSH
16447: LD_INT 21
16449: PUSH
16450: LD_INT 1
16452: PUSH
16453: EMPTY
16454: LIST
16455: LIST
16456: PUSH
16457: LD_INT 25
16459: PUSH
16460: LD_INT 4
16462: PUSH
16463: EMPTY
16464: LIST
16465: LIST
16466: PUSH
16467: EMPTY
16468: LIST
16469: LIST
16470: LIST
16471: PPUSH
16472: CALL_OW 70
16476: ST_TO_ADDR
// if tmp then
16477: LD_VAR 0 1
16481: IFFALSE 16525
// for tmq in tmp do
16483: LD_ADDR_VAR 0 2
16487: PUSH
16488: LD_VAR 0 1
16492: PUSH
16493: FOR_IN
16494: IFFALSE 16523
// if removeunit ( tmq ) then
16496: LD_VAR 0 2
16500: PPUSH
16501: CALL_OW 64
16505: IFFALSE 16521
// ru_scies_ = ru_scies_ + 1 ;
16507: LD_ADDR_EXP 224
16511: PUSH
16512: LD_EXP 224
16516: PUSH
16517: LD_INT 1
16519: PLUS
16520: ST_TO_ADDR
16521: GO 16493
16523: POP
16524: POP
// if ru_scies_ < 5 then
16525: LD_EXP 224
16529: PUSH
16530: LD_INT 5
16532: LESS
16533: IFFALSE 16538
// enable else
16535: ENABLE
16536: GO 16545
// changemissionobjectives ( M1b ) ;
16538: LD_STRING M1b
16540: PPUSH
16541: CALL_OW 337
// end ;
16545: PPOPN 2
16547: END
// every 0 0$1.13 do var tmp , tmq ;
16548: GO 16550
16550: DISABLE
16551: LD_INT 0
16553: PPUSH
16554: PPUSH
// begin tmp = unitfilter ( [ ruso0 , ruso1 , ruso2 ] , [ [ f_ok ] ] ) diff filterunitsinarea ( southdef , [ [ f_side , rus ] , [ f_ok ] ] ) ;
16555: LD_ADDR_VAR 0 1
16559: PUSH
16560: LD_EXP 168
16564: PUSH
16565: LD_EXP 169
16569: PUSH
16570: LD_EXP 170
16574: PUSH
16575: EMPTY
16576: LIST
16577: LIST
16578: LIST
16579: PPUSH
16580: LD_INT 50
16582: PUSH
16583: EMPTY
16584: LIST
16585: PUSH
16586: EMPTY
16587: LIST
16588: PPUSH
16589: CALL_OW 72
16593: PUSH
16594: LD_INT 15
16596: PPUSH
16597: LD_INT 22
16599: PUSH
16600: LD_EXP 1
16604: PUSH
16605: EMPTY
16606: LIST
16607: LIST
16608: PUSH
16609: LD_INT 50
16611: PUSH
16612: EMPTY
16613: LIST
16614: PUSH
16615: EMPTY
16616: LIST
16617: LIST
16618: PPUSH
16619: CALL_OW 70
16623: DIFF
16624: ST_TO_ADDR
// if tmp then
16625: LD_VAR 0 1
16629: IFFALSE 16646
// comagressivemove ( tmp , 95 , 42 ) ;
16631: LD_VAR 0 1
16635: PPUSH
16636: LD_INT 95
16638: PPUSH
16639: LD_INT 42
16641: PPUSH
16642: CALL_OW 114
// enable ;
16646: ENABLE
// end ;
16647: PPOPN 2
16649: END
// every 0 0$1.129 do var tmp , tmq ;
16650: GO 16652
16652: DISABLE
16653: LD_INT 0
16655: PPUSH
16656: PPUSH
// begin if not isinarea ( runo0 , northdefa ) then
16657: LD_EXP 171
16661: PPUSH
16662: LD_INT 16
16664: PPUSH
16665: CALL_OW 308
16669: NOT
16670: IFFALSE 16687
// comagressivemove ( runo0 , 72 , 19 ) ;
16672: LD_EXP 171
16676: PPUSH
16677: LD_INT 72
16679: PPUSH
16680: LD_INT 19
16682: PPUSH
16683: CALL_OW 114
// enable ;
16687: ENABLE
// end ;
16688: PPOPN 2
16690: END
// every 0 0$1.131 do var tmp , tmq ;
16691: GO 16693
16693: DISABLE
16694: LD_INT 0
16696: PPUSH
16697: PPUSH
// begin if not isinarea ( runo1 , northdefb ) then
16698: LD_EXP 172
16702: PPUSH
16703: LD_INT 17
16705: PPUSH
16706: CALL_OW 308
16710: NOT
16711: IFFALSE 16728
// comagressivemove ( runo1 , 71 , 3 ) ;
16713: LD_EXP 172
16717: PPUSH
16718: LD_INT 71
16720: PPUSH
16721: LD_INT 3
16723: PPUSH
16724: CALL_OW 114
// if not isinarea ( runo2 , northdefb ) then
16728: LD_EXP 173
16732: PPUSH
16733: LD_INT 17
16735: PPUSH
16736: CALL_OW 308
16740: NOT
16741: IFFALSE 16758
// comagressivemove ( runo2 , 75 , 9 ) ;
16743: LD_EXP 173
16747: PPUSH
16748: LD_INT 75
16750: PPUSH
16751: LD_INT 9
16753: PPUSH
16754: CALL_OW 114
// enable ;
16758: ENABLE
// end ; end_of_file
16759: PPOPN 2
16761: END
// var am_grupb ; var c11 , c12 , c21 , c22 , c23 , c31 , c32 ; var vyber ; export pr_loz ; every 0 0$1 do var tmp ;
16762: GO 16764
16764: DISABLE
16765: LD_INT 0
16767: PPUSH
// begin if not zapbrod then
16768: LD_EXP 153
16772: NOT
16773: IFFALSE 16789
// zasilka = zasilka - 0 0$1 ;
16775: LD_ADDR_EXP 155
16779: PUSH
16780: LD_EXP 155
16784: PUSH
16785: LD_INT 35
16787: MINUS
16788: ST_TO_ADDR
// if zasilka <= 0 then
16789: LD_EXP 155
16793: PUSH
16794: LD_INT 0
16796: LESSEQUAL
16797: IFFALSE 17240
// begin uc_nation = nation_american ;
16799: LD_ADDR_OWVAR 21
16803: PUSH
16804: LD_INT 1
16806: ST_TO_ADDR
// uc_side = am ;
16807: LD_ADDR_OWVAR 20
16811: PUSH
16812: LD_EXP 2
16816: ST_TO_ADDR
// vc_control = control_manual ;
16817: LD_ADDR_OWVAR 38
16821: PUSH
16822: LD_INT 1
16824: ST_TO_ADDR
// vc_engine = engine_siberite ;
16825: LD_ADDR_OWVAR 39
16829: PUSH
16830: LD_INT 3
16832: ST_TO_ADDR
// vc_chassis = zas1_ch ;
16833: LD_ADDR_OWVAR 37
16837: PUSH
16838: LD_EXP 78
16842: ST_TO_ADDR
// vc_weapon = zas1_wp ;
16843: LD_ADDR_OWVAR 40
16847: PUSH
16848: LD_EXP 79
16852: ST_TO_ADDR
// tmp = createvehicle ;
16853: LD_ADDR_VAR 0 1
16857: PUSH
16858: CALL_OW 45
16862: ST_TO_ADDR
// setdir ( tmp , 4 ) ;
16863: LD_VAR 0 1
16867: PPUSH
16868: LD_INT 4
16870: PPUSH
16871: CALL_OW 233
// placeunitxyr ( tmp , 144 , 100 , 4 , false ) ;
16875: LD_VAR 0 1
16879: PPUSH
16880: LD_INT 144
16882: PPUSH
16883: LD_INT 100
16885: PPUSH
16886: LD_INT 4
16888: PPUSH
16889: LD_INT 0
16891: PPUSH
16892: CALL_OW 50
// placehumaninunit ( mech0 , tmp ) ;
16896: LD_EXP 213
16900: PPUSH
16901: LD_VAR 0 1
16905: PPUSH
16906: CALL_OW 52
// vc_chassis = zas2_ch ;
16910: LD_ADDR_OWVAR 37
16914: PUSH
16915: LD_EXP 80
16919: ST_TO_ADDR
// vc_weapon = zas2_wp ;
16920: LD_ADDR_OWVAR 40
16924: PUSH
16925: LD_EXP 81
16929: ST_TO_ADDR
// tmp = createvehicle ;
16930: LD_ADDR_VAR 0 1
16934: PUSH
16935: CALL_OW 45
16939: ST_TO_ADDR
// setdir ( tmp , 4 ) ;
16940: LD_VAR 0 1
16944: PPUSH
16945: LD_INT 4
16947: PPUSH
16948: CALL_OW 233
// placeunitxyr ( tmp , 144 , 100 , 4 , false ) ;
16952: LD_VAR 0 1
16956: PPUSH
16957: LD_INT 144
16959: PPUSH
16960: LD_INT 100
16962: PPUSH
16963: LD_INT 4
16965: PPUSH
16966: LD_INT 0
16968: PPUSH
16969: CALL_OW 50
// placehumaninunit ( mech1 , tmp ) ;
16973: LD_EXP 214
16977: PPUSH
16978: LD_VAR 0 1
16982: PPUSH
16983: CALL_OW 52
// vc_control = control_computer ;
16987: LD_ADDR_OWVAR 38
16991: PUSH
16992: LD_INT 3
16994: ST_TO_ADDR
// vc_chassis = us_medium_wheeled ;
16995: LD_ADDR_OWVAR 37
16999: PUSH
17000: LD_INT 2
17002: ST_TO_ADDR
// vc_weapon = us_cargo_bay ;
17003: LD_ADDR_OWVAR 40
17007: PUSH
17008: LD_INT 12
17010: ST_TO_ADDR
// c11 = createvehicle ;
17011: LD_ADDR_LOC 17
17015: PUSH
17016: CALL_OW 45
17020: ST_TO_ADDR
// setdir ( c11 , 4 ) ;
17021: LD_LOC 17
17025: PPUSH
17026: LD_INT 4
17028: PPUSH
17029: CALL_OW 233
// setcargo ( c11 , mat_cans , 80 ) ;
17033: LD_LOC 17
17037: PPUSH
17038: LD_INT 1
17040: PPUSH
17041: LD_INT 80
17043: PPUSH
17044: CALL_OW 290
// addcargo ( c11 , mat_siberit , 20 ) ;
17048: LD_LOC 17
17052: PPUSH
17053: LD_INT 3
17055: PPUSH
17056: LD_INT 20
17058: PPUSH
17059: CALL_OW 291
// placeunitxyr ( c11 , 143 , 95 , 5 , false ) ;
17063: LD_LOC 17
17067: PPUSH
17068: LD_INT 143
17070: PPUSH
17071: LD_INT 95
17073: PPUSH
17074: LD_INT 5
17076: PPUSH
17077: LD_INT 0
17079: PPUSH
17080: CALL_OW 50
// c12 = createvehicle ;
17084: LD_ADDR_LOC 18
17088: PUSH
17089: CALL_OW 45
17093: ST_TO_ADDR
// setdir ( c12 , 4 ) ;
17094: LD_LOC 18
17098: PPUSH
17099: LD_INT 4
17101: PPUSH
17102: CALL_OW 233
// setcargo ( c12 , mat_siberit , 100 ) ;
17106: LD_LOC 18
17110: PPUSH
17111: LD_INT 3
17113: PPUSH
17114: LD_INT 100
17116: PPUSH
17117: CALL_OW 290
// placeunitxyr ( c12 , 143 , 95 , 5 , false ) ;
17121: LD_LOC 18
17125: PPUSH
17126: LD_INT 143
17128: PPUSH
17129: LD_INT 95
17131: PPUSH
17132: LD_INT 5
17134: PPUSH
17135: LD_INT 0
17137: PPUSH
17138: CALL_OW 50
// placeunitxyr ( eng0 , 146 , 100 , 3 , false ) ;
17142: LD_EXP 212
17146: PPUSH
17147: LD_INT 146
17149: PPUSH
17150: LD_INT 100
17152: PPUSH
17153: LD_INT 3
17155: PPUSH
17156: LD_INT 0
17158: PPUSH
17159: CALL_OW 50
// placeunitxyr ( sold0 , 146 , 100 , 3 , false ) ;
17163: LD_EXP 216
17167: PPUSH
17168: LD_INT 146
17170: PPUSH
17171: LD_INT 100
17173: PPUSH
17174: LD_INT 3
17176: PPUSH
17177: LD_INT 0
17179: PPUSH
17180: CALL_OW 50
// dialogueon ;
17184: CALL_OW 6
// say ( john , DC1-JMM-1 ) ;
17188: LD_EXP 174
17192: PPUSH
17193: LD_STRING DC1-JMM-1
17195: PPUSH
17196: CALL_OW 88
// sayradio ( powell , DC1-Pow-1 ) ;
17200: LD_EXP 175
17204: PPUSH
17205: LD_STRING DC1-Pow-1
17207: PPUSH
17208: CALL_OW 94
// dialogueoff ;
17212: CALL_OW 7
// zasilka = 4 4$0 ;
17216: LD_ADDR_EXP 155
17220: PUSH
17221: LD_INT 8400
17223: ST_TO_ADDR
// odjet = 2 ;
17224: LD_ADDR_LOC 25
17228: PUSH
17229: LD_INT 2
17231: ST_TO_ADDR
// enable ( 5 ) ;
17232: LD_INT 5
17234: ENABLE_MARKED
// enable ( 6 ) ;
17235: LD_INT 6
17237: ENABLE_MARKED
// end else
17238: GO 17241
// enable ;
17240: ENABLE
// end ;
17241: PPOPN 1
17243: END
// var odjet , odjet2 , odjet3 ; every 0 0$1 + 0 0$0.1 trigger ( isplaced ( c11 ) and ( not getcargo ( c11 , mat_cans ) ) and ( not getcargo ( c11 , mat_siberit ) ) ) or ( isplaced ( c12 ) and not getcargo ( c12 , mat_siberit ) ) marked 5 do var tmp ;
17244: LD_LOC 17
17248: PPUSH
17249: CALL_OW 305
17253: PUSH
17254: LD_LOC 17
17258: PPUSH
17259: LD_INT 1
17261: PPUSH
17262: CALL_OW 289
17266: NOT
17267: AND
17268: PUSH
17269: LD_LOC 17
17273: PPUSH
17274: LD_INT 3
17276: PPUSH
17277: CALL_OW 289
17281: NOT
17282: AND
17283: PUSH
17284: LD_LOC 18
17288: PPUSH
17289: CALL_OW 305
17293: PUSH
17294: LD_LOC 18
17298: PPUSH
17299: LD_INT 3
17301: PPUSH
17302: CALL_OW 289
17306: NOT
17307: AND
17308: OR
17309: IFFALSE 17435
17311: GO 17313
17313: DISABLE
17314: LD_INT 0
17316: PPUSH
// begin if isplaced ( c12 ) and ( not getcargo ( c12 , mat_siberit ) ) then
17317: LD_LOC 18
17321: PPUSH
17322: CALL_OW 305
17326: PUSH
17327: LD_LOC 18
17331: PPUSH
17332: LD_INT 3
17334: PPUSH
17335: CALL_OW 289
17339: NOT
17340: AND
17341: IFFALSE 17363
// begin tmp = c12 ;
17343: LD_ADDR_VAR 0 1
17347: PUSH
17348: LD_LOC 18
17352: ST_TO_ADDR
// c12 = 0 ;
17353: LD_ADDR_LOC 18
17357: PUSH
17358: LD_INT 0
17360: ST_TO_ADDR
// end else
17361: GO 17381
// begin tmp = c11 ;
17363: LD_ADDR_VAR 0 1
17367: PUSH
17368: LD_LOC 17
17372: ST_TO_ADDR
// c11 = 0 ;
17373: LD_ADDR_LOC 17
17377: PUSH
17378: LD_INT 0
17380: ST_TO_ADDR
// end ; setside ( tmp , am_odj ) ;
17381: LD_VAR 0 1
17385: PPUSH
17386: LD_EXP 4
17390: PPUSH
17391: CALL_OW 235
// commovexy ( tmp , 150 , 101 ) ;
17395: LD_VAR 0 1
17399: PPUSH
17400: LD_INT 150
17402: PPUSH
17403: LD_INT 101
17405: PPUSH
17406: CALL_OW 111
// odjet = odjet - 1 ;
17410: LD_ADDR_LOC 25
17414: PUSH
17415: LD_LOC 25
17419: PUSH
17420: LD_INT 1
17422: MINUS
17423: ST_TO_ADDR
// if odjet > 0 then
17424: LD_LOC 25
17428: PUSH
17429: LD_INT 0
17431: GREATER
17432: IFFALSE 17435
// enable ;
17434: ENABLE
// end ;
17435: PPOPN 1
17437: END
// every 0 0$1 marked 6 do var tmp ;
17438: GO 17440
17440: DISABLE
17441: LD_INT 0
17443: PPUSH
// begin zasilka = zasilka - 0 0$1 ;
17444: LD_ADDR_EXP 155
17448: PUSH
17449: LD_EXP 155
17453: PUSH
17454: LD_INT 35
17456: MINUS
17457: ST_TO_ADDR
// if zasilka = 0 then
17458: LD_EXP 155
17462: PUSH
17463: LD_INT 0
17465: EQUAL
17466: IFFALSE 17869
// begin uc_nation = nation_american ;
17468: LD_ADDR_OWVAR 21
17472: PUSH
17473: LD_INT 1
17475: ST_TO_ADDR
// uc_side = am ;
17476: LD_ADDR_OWVAR 20
17480: PUSH
17481: LD_EXP 2
17485: ST_TO_ADDR
// vc_control = control_manual ;
17486: LD_ADDR_OWVAR 38
17490: PUSH
17491: LD_INT 1
17493: ST_TO_ADDR
// vc_engine = engine_siberite ;
17494: LD_ADDR_OWVAR 39
17498: PUSH
17499: LD_INT 3
17501: ST_TO_ADDR
// vc_chassis = zas3_ch ;
17502: LD_ADDR_OWVAR 37
17506: PUSH
17507: LD_EXP 82
17511: ST_TO_ADDR
// vc_weapon = zas3_wp ;
17512: LD_ADDR_OWVAR 40
17516: PUSH
17517: LD_EXP 83
17521: ST_TO_ADDR
// tmp = createvehicle ;
17522: LD_ADDR_VAR 0 1
17526: PUSH
17527: CALL_OW 45
17531: ST_TO_ADDR
// setdir ( tmp , 4 ) ;
17532: LD_VAR 0 1
17536: PPUSH
17537: LD_INT 4
17539: PPUSH
17540: CALL_OW 233
// placeunitxyr ( tmp , 144 , 100 , 4 , false ) ;
17544: LD_VAR 0 1
17548: PPUSH
17549: LD_INT 144
17551: PPUSH
17552: LD_INT 100
17554: PPUSH
17555: LD_INT 4
17557: PPUSH
17558: LD_INT 0
17560: PPUSH
17561: CALL_OW 50
// placehumaninunit ( mech2 , tmp ) ;
17565: LD_EXP 215
17569: PPUSH
17570: LD_VAR 0 1
17574: PPUSH
17575: CALL_OW 52
// vc_control = control_computer ;
17579: LD_ADDR_OWVAR 38
17583: PUSH
17584: LD_INT 3
17586: ST_TO_ADDR
// vc_chassis = us_medium_wheeled ;
17587: LD_ADDR_OWVAR 37
17591: PUSH
17592: LD_INT 2
17594: ST_TO_ADDR
// vc_weapon = us_cargo_bay ;
17595: LD_ADDR_OWVAR 40
17599: PUSH
17600: LD_INT 12
17602: ST_TO_ADDR
// c21 = createvehicle ;
17603: LD_ADDR_LOC 19
17607: PUSH
17608: CALL_OW 45
17612: ST_TO_ADDR
// setdir ( c21 , 4 ) ;
17613: LD_LOC 19
17617: PPUSH
17618: LD_INT 4
17620: PPUSH
17621: CALL_OW 233
// setcargo ( c21 , mat_cans , 100 ) ;
17625: LD_LOC 19
17629: PPUSH
17630: LD_INT 1
17632: PPUSH
17633: LD_INT 100
17635: PPUSH
17636: CALL_OW 290
// placeunitxyr ( c21 , 143 , 95 , 7 , false ) ;
17640: LD_LOC 19
17644: PPUSH
17645: LD_INT 143
17647: PPUSH
17648: LD_INT 95
17650: PPUSH
17651: LD_INT 7
17653: PPUSH
17654: LD_INT 0
17656: PPUSH
17657: CALL_OW 50
// c22 = createvehicle ;
17661: LD_ADDR_LOC 20
17665: PUSH
17666: CALL_OW 45
17670: ST_TO_ADDR
// setdir ( c22 , 4 ) ;
17671: LD_LOC 20
17675: PPUSH
17676: LD_INT 4
17678: PPUSH
17679: CALL_OW 233
// setcargo ( c22 , mat_cans , 100 ) ;
17683: LD_LOC 20
17687: PPUSH
17688: LD_INT 1
17690: PPUSH
17691: LD_INT 100
17693: PPUSH
17694: CALL_OW 290
// placeunitxyr ( c22 , 143 , 95 , 7 , false ) ;
17698: LD_LOC 20
17702: PPUSH
17703: LD_INT 143
17705: PPUSH
17706: LD_INT 95
17708: PPUSH
17709: LD_INT 7
17711: PPUSH
17712: LD_INT 0
17714: PPUSH
17715: CALL_OW 50
// c23 = createvehicle ;
17719: LD_ADDR_LOC 21
17723: PUSH
17724: CALL_OW 45
17728: ST_TO_ADDR
// setdir ( c23 , 4 ) ;
17729: LD_LOC 21
17733: PPUSH
17734: LD_INT 4
17736: PPUSH
17737: CALL_OW 233
// setcargo ( c23 , mat_siberit , 50 ) ;
17741: LD_LOC 21
17745: PPUSH
17746: LD_INT 3
17748: PPUSH
17749: LD_INT 50
17751: PPUSH
17752: CALL_OW 290
// addcargo ( c23 , mat_oil , 50 ) ;
17756: LD_LOC 21
17760: PPUSH
17761: LD_INT 2
17763: PPUSH
17764: LD_INT 50
17766: PPUSH
17767: CALL_OW 291
// placeunitxyr ( c23 , 143 , 95 , 7 , false ) ;
17771: LD_LOC 21
17775: PPUSH
17776: LD_INT 143
17778: PPUSH
17779: LD_INT 95
17781: PPUSH
17782: LD_INT 7
17784: PPUSH
17785: LD_INT 0
17787: PPUSH
17788: CALL_OW 50
// placeunitxyr ( sold1 , 146 , 100 , 3 , false ) ;
17792: LD_EXP 217
17796: PPUSH
17797: LD_INT 146
17799: PPUSH
17800: LD_INT 100
17802: PPUSH
17803: LD_INT 3
17805: PPUSH
17806: LD_INT 0
17808: PPUSH
17809: CALL_OW 50
// dialogueon ;
17813: CALL_OW 6
// say ( john , DC2-JMM-1 ) ;
17817: LD_EXP 174
17821: PPUSH
17822: LD_STRING DC2-JMM-1
17824: PPUSH
17825: CALL_OW 88
// sayradio ( powell , DC2-Pow-1 ) ;
17829: LD_EXP 175
17833: PPUSH
17834: LD_STRING DC2-Pow-1
17836: PPUSH
17837: CALL_OW 94
// dialogueoff ;
17841: CALL_OW 7
// zasilka = 5 5$0 ;
17845: LD_ADDR_EXP 155
17849: PUSH
17850: LD_INT 10500
17852: ST_TO_ADDR
// odjet2 = 3 ;
17853: LD_ADDR_LOC 26
17857: PUSH
17858: LD_INT 3
17860: ST_TO_ADDR
// enable ( 7 ) ;
17861: LD_INT 7
17863: ENABLE_MARKED
// enable ( 8 ) ;
17864: LD_INT 8
17866: ENABLE_MARKED
// end else
17867: GO 17870
// enable ;
17869: ENABLE
// end ;
17870: PPOPN 1
17872: END
// every 0 0$1 + 0 0$0.1 trigger ( isplaced ( c21 ) and not getcargo ( c21 , mat_cans ) ) or ( isplaced ( c22 ) and not getcargo ( c22 , mat_cans ) ) or ( isplaced ( c23 ) and ( not getcargo ( c23 , mat_siberit ) ) and ( not getcargo ( c23 , mat_oil ) ) ) marked 7 do var tmp ;
17873: LD_LOC 19
17877: PPUSH
17878: CALL_OW 305
17882: PUSH
17883: LD_LOC 19
17887: PPUSH
17888: LD_INT 1
17890: PPUSH
17891: CALL_OW 289
17895: NOT
17896: AND
17897: PUSH
17898: LD_LOC 20
17902: PPUSH
17903: CALL_OW 305
17907: PUSH
17908: LD_LOC 20
17912: PPUSH
17913: LD_INT 1
17915: PPUSH
17916: CALL_OW 289
17920: NOT
17921: AND
17922: OR
17923: PUSH
17924: LD_LOC 21
17928: PPUSH
17929: CALL_OW 305
17933: PUSH
17934: LD_LOC 21
17938: PPUSH
17939: LD_INT 3
17941: PPUSH
17942: CALL_OW 289
17946: NOT
17947: AND
17948: PUSH
17949: LD_LOC 21
17953: PPUSH
17954: LD_INT 2
17956: PPUSH
17957: CALL_OW 289
17961: NOT
17962: AND
17963: OR
17964: IFFALSE 18136
17966: GO 17968
17968: DISABLE
17969: LD_INT 0
17971: PPUSH
// begin if isplaced ( c21 ) and not getcargo ( c21 , mat_cans ) then
17972: LD_LOC 19
17976: PPUSH
17977: CALL_OW 305
17981: PUSH
17982: LD_LOC 19
17986: PPUSH
17987: LD_INT 1
17989: PPUSH
17990: CALL_OW 289
17994: NOT
17995: AND
17996: IFFALSE 18018
// begin tmp = c21 ;
17998: LD_ADDR_VAR 0 1
18002: PUSH
18003: LD_LOC 19
18007: ST_TO_ADDR
// c21 = 0 ;
18008: LD_ADDR_LOC 19
18012: PUSH
18013: LD_INT 0
18015: ST_TO_ADDR
// end else
18016: GO 18082
// if isplaced ( c22 ) and not getcargo ( c22 , mat_cans ) then
18018: LD_LOC 20
18022: PPUSH
18023: CALL_OW 305
18027: PUSH
18028: LD_LOC 20
18032: PPUSH
18033: LD_INT 1
18035: PPUSH
18036: CALL_OW 289
18040: NOT
18041: AND
18042: IFFALSE 18064
// begin tmp = c22 ;
18044: LD_ADDR_VAR 0 1
18048: PUSH
18049: LD_LOC 20
18053: ST_TO_ADDR
// c22 = 0 ;
18054: LD_ADDR_LOC 20
18058: PUSH
18059: LD_INT 0
18061: ST_TO_ADDR
// end else
18062: GO 18082
// begin tmp = c23 ;
18064: LD_ADDR_VAR 0 1
18068: PUSH
18069: LD_LOC 21
18073: ST_TO_ADDR
// c23 = 0 ;
18074: LD_ADDR_LOC 21
18078: PUSH
18079: LD_INT 0
18081: ST_TO_ADDR
// end ; setside ( tmp , am_odj ) ;
18082: LD_VAR 0 1
18086: PPUSH
18087: LD_EXP 4
18091: PPUSH
18092: CALL_OW 235
// commovexy ( tmp , 150 , 101 ) ;
18096: LD_VAR 0 1
18100: PPUSH
18101: LD_INT 150
18103: PPUSH
18104: LD_INT 101
18106: PPUSH
18107: CALL_OW 111
// odjet2 = odjet2 - 1 ;
18111: LD_ADDR_LOC 26
18115: PUSH
18116: LD_LOC 26
18120: PUSH
18121: LD_INT 1
18123: MINUS
18124: ST_TO_ADDR
// if odjet2 > 0 then
18125: LD_LOC 26
18129: PUSH
18130: LD_INT 0
18132: GREATER
18133: IFFALSE 18136
// enable ;
18135: ENABLE
// end ;
18136: PPOPN 1
18138: END
// every 0 0$1 marked 8 do var tmp ;
18139: GO 18141
18141: DISABLE
18142: LD_INT 0
18144: PPUSH
// begin zasilka = zasilka - 0 0$1 ;
18145: LD_ADDR_EXP 155
18149: PUSH
18150: LD_EXP 155
18154: PUSH
18155: LD_INT 35
18157: MINUS
18158: ST_TO_ADDR
// if zasilka = 0 then
18159: LD_EXP 155
18163: PUSH
18164: LD_INT 0
18166: EQUAL
18167: IFFALSE 18393
// begin uc_nation = nation_american ;
18169: LD_ADDR_OWVAR 21
18173: PUSH
18174: LD_INT 1
18176: ST_TO_ADDR
// uc_side = am ;
18177: LD_ADDR_OWVAR 20
18181: PUSH
18182: LD_EXP 2
18186: ST_TO_ADDR
// vc_control = control_computer ;
18187: LD_ADDR_OWVAR 38
18191: PUSH
18192: LD_INT 3
18194: ST_TO_ADDR
// vc_chassis = us_medium_wheeled ;
18195: LD_ADDR_OWVAR 37
18199: PUSH
18200: LD_INT 2
18202: ST_TO_ADDR
// vc_weapon = us_cargo_bay ;
18203: LD_ADDR_OWVAR 40
18207: PUSH
18208: LD_INT 12
18210: ST_TO_ADDR
// c31 = createvehicle ;
18211: LD_ADDR_LOC 22
18215: PUSH
18216: CALL_OW 45
18220: ST_TO_ADDR
// setdir ( c31 , 4 ) ;
18221: LD_LOC 22
18225: PPUSH
18226: LD_INT 4
18228: PPUSH
18229: CALL_OW 233
// setcargo ( c31 , mat_cans , 100 ) ;
18233: LD_LOC 22
18237: PPUSH
18238: LD_INT 1
18240: PPUSH
18241: LD_INT 100
18243: PPUSH
18244: CALL_OW 290
// placeunitxyr ( c31 , 143 , 95 , 7 , false ) ;
18248: LD_LOC 22
18252: PPUSH
18253: LD_INT 143
18255: PPUSH
18256: LD_INT 95
18258: PPUSH
18259: LD_INT 7
18261: PPUSH
18262: LD_INT 0
18264: PPUSH
18265: CALL_OW 50
// c32 = createvehicle ;
18269: LD_ADDR_LOC 23
18273: PUSH
18274: CALL_OW 45
18278: ST_TO_ADDR
// setdir ( c32 , 4 ) ;
18279: LD_LOC 23
18283: PPUSH
18284: LD_INT 4
18286: PPUSH
18287: CALL_OW 233
// setcargo ( c32 , mat_cans , 100 ) ;
18291: LD_LOC 23
18295: PPUSH
18296: LD_INT 1
18298: PPUSH
18299: LD_INT 100
18301: PPUSH
18302: CALL_OW 290
// placeunitxyr ( c32 , 143 , 95 , 7 , false ) ;
18306: LD_LOC 23
18310: PPUSH
18311: LD_INT 143
18313: PPUSH
18314: LD_INT 95
18316: PPUSH
18317: LD_INT 7
18319: PPUSH
18320: LD_INT 0
18322: PPUSH
18323: CALL_OW 50
// placeunitxyr ( sold2 , 146 , 100 , 3 , false ) ;
18327: LD_EXP 218
18331: PPUSH
18332: LD_INT 146
18334: PPUSH
18335: LD_INT 100
18337: PPUSH
18338: LD_INT 3
18340: PPUSH
18341: LD_INT 0
18343: PPUSH
18344: CALL_OW 50
// dialogueon ;
18348: CALL_OW 6
// sayradio ( powell , DC3-Pow-1 ) ;
18352: LD_EXP 175
18356: PPUSH
18357: LD_STRING DC3-Pow-1
18359: PPUSH
18360: CALL_OW 94
// say ( john , DC3-JMM-1 ) ;
18364: LD_EXP 174
18368: PPUSH
18369: LD_STRING DC3-JMM-1
18371: PPUSH
18372: CALL_OW 88
// dialogueoff ;
18376: CALL_OW 7
// odjet3 = 2 ;
18380: LD_ADDR_LOC 27
18384: PUSH
18385: LD_INT 2
18387: ST_TO_ADDR
// enable ( 9 ) ;
18388: LD_INT 9
18390: ENABLE_MARKED
// end else
18391: GO 18394
// enable ;
18393: ENABLE
// end ;
18394: PPOPN 1
18396: END
// every 0 0$1 + 0 0$0.1 trigger ( isplaced ( c31 ) and not getcargo ( c31 , mat_cans ) ) or ( isplaced ( c32 ) and not getcargo ( c32 , mat_cans ) ) marked 9 do var tmp ;
18397: LD_LOC 22
18401: PPUSH
18402: CALL_OW 305
18406: PUSH
18407: LD_LOC 22
18411: PPUSH
18412: LD_INT 1
18414: PPUSH
18415: CALL_OW 289
18419: NOT
18420: AND
18421: PUSH
18422: LD_LOC 23
18426: PPUSH
18427: CALL_OW 305
18431: PUSH
18432: LD_LOC 23
18436: PPUSH
18437: LD_INT 1
18439: PPUSH
18440: CALL_OW 289
18444: NOT
18445: AND
18446: OR
18447: IFFALSE 18573
18449: GO 18451
18451: DISABLE
18452: LD_INT 0
18454: PPUSH
// begin if isplaced ( c31 ) and not getcargo ( c31 , mat_cans ) then
18455: LD_LOC 22
18459: PPUSH
18460: CALL_OW 305
18464: PUSH
18465: LD_LOC 22
18469: PPUSH
18470: LD_INT 1
18472: PPUSH
18473: CALL_OW 289
18477: NOT
18478: AND
18479: IFFALSE 18501
// begin tmp = c31 ;
18481: LD_ADDR_VAR 0 1
18485: PUSH
18486: LD_LOC 22
18490: ST_TO_ADDR
// c31 = 0 ;
18491: LD_ADDR_LOC 22
18495: PUSH
18496: LD_INT 0
18498: ST_TO_ADDR
// end else
18499: GO 18519
// begin tmp = c32 ;
18501: LD_ADDR_VAR 0 1
18505: PUSH
18506: LD_LOC 23
18510: ST_TO_ADDR
// c32 = 0 ;
18511: LD_ADDR_LOC 23
18515: PUSH
18516: LD_INT 0
18518: ST_TO_ADDR
// end ; setside ( tmp , am_odj ) ;
18519: LD_VAR 0 1
18523: PPUSH
18524: LD_EXP 4
18528: PPUSH
18529: CALL_OW 235
// commovexy ( tmp , 150 , 101 ) ;
18533: LD_VAR 0 1
18537: PPUSH
18538: LD_INT 150
18540: PPUSH
18541: LD_INT 101
18543: PPUSH
18544: CALL_OW 111
// odjet3 = odjet3 - 1 ;
18548: LD_ADDR_LOC 27
18552: PUSH
18553: LD_LOC 27
18557: PUSH
18558: LD_INT 1
18560: MINUS
18561: ST_TO_ADDR
// if odjet3 > 0 then
18562: LD_LOC 27
18566: PUSH
18567: LD_INT 0
18569: GREATER
18570: IFFALSE 18573
// enable ;
18572: ENABLE
// end ;
18573: PPOPN 1
18575: END
// var odjizdelci ; function odjizdeji ; var tmp ; begin
18576: LD_INT 0
18578: PPUSH
18579: PPUSH
// odjizdelci = filterunitsinarea ( odjezd , [ [ f_side , am_odj ] ] ) ;
18580: LD_ADDR_LOC 28
18584: PUSH
18585: LD_INT 10
18587: PPUSH
18588: LD_INT 22
18590: PUSH
18591: LD_EXP 4
18595: PUSH
18596: EMPTY
18597: LIST
18598: LIST
18599: PUSH
18600: EMPTY
18601: LIST
18602: PPUSH
18603: CALL_OW 70
18607: ST_TO_ADDR
// result = 0 + odjizdelci ;
18608: LD_ADDR_VAR 0 1
18612: PUSH
18613: LD_INT 0
18615: PUSH
18616: LD_LOC 28
18620: PLUS
18621: ST_TO_ADDR
// end ;
18622: LD_VAR 0 1
18626: RET
// every 0 0$1 do var tmp ;
18627: GO 18629
18629: DISABLE
18630: LD_INT 0
18632: PPUSH
// begin if odjizdeji then
18633: CALL 18576 0 0
18637: IFFALSE 18665
// for tmp in odjizdelci do
18639: LD_ADDR_VAR 0 1
18643: PUSH
18644: LD_LOC 28
18648: PUSH
18649: FOR_IN
18650: IFFALSE 18663
// destroyunit ( tmp ) ;
18652: LD_VAR 0 1
18656: PPUSH
18657: CALL_OW 65
18661: GO 18649
18663: POP
18664: POP
// tmp = filterunitsinarea ( ambase , [ [ f_side , am_odj ] , [ f_ok ] ] ) ;
18665: LD_ADDR_VAR 0 1
18669: PUSH
18670: LD_INT 11
18672: PPUSH
18673: LD_INT 22
18675: PUSH
18676: LD_EXP 4
18680: PUSH
18681: EMPTY
18682: LIST
18683: LIST
18684: PUSH
18685: LD_INT 50
18687: PUSH
18688: EMPTY
18689: LIST
18690: PUSH
18691: EMPTY
18692: LIST
18693: LIST
18694: PPUSH
18695: CALL_OW 70
18699: ST_TO_ADDR
// if tmp then
18700: LD_VAR 0 1
18704: IFFALSE 18721
// begin commovexy ( tmp , 150 , 101 ) ;
18706: LD_VAR 0 1
18710: PPUSH
18711: LD_INT 150
18713: PPUSH
18714: LD_INT 101
18716: PPUSH
18717: CALL_OW 111
// end ; enable ;
18721: ENABLE
// end ;
18722: PPOPN 1
18724: END
// export fstamdep ; on buildingcomplete ( un ) do if ( getbtype ( un ) = b_depot ) and ( getside ( un ) = am ) then
18725: LD_VAR 0 1
18729: PPUSH
18730: CALL_OW 266
18734: PUSH
18735: LD_INT 0
18737: EQUAL
18738: PUSH
18739: LD_VAR 0 1
18743: PPUSH
18744: CALL_OW 255
18748: PUSH
18749: LD_EXP 2
18753: EQUAL
18754: AND
18755: IFFALSE 18772
// begin fstamdep = tick + 5 5$0 ;
18757: LD_ADDR_EXP 226
18761: PUSH
18762: LD_OWVAR 1
18766: PUSH
18767: LD_INT 10500
18769: PLUS
18770: ST_TO_ADDR
// disable ;
18771: DISABLE
// end ;
18772: PPOPN 1
18774: END
// export legion_cheated ; every 0 0$20 + 4 4$15 trigger filterallunits ( [ [ f_side , am ] , [ f_type , unit_building ] , [ f_or , [ f_btype , b_depot ] , [ f_btype , b_warehouse ] ] ] ) do var tmp , tmp2 , str , li , tmps , tmpc , depoty ;
18775: LD_INT 22
18777: PUSH
18778: LD_EXP 2
18782: PUSH
18783: EMPTY
18784: LIST
18785: LIST
18786: PUSH
18787: LD_INT 21
18789: PUSH
18790: LD_INT 3
18792: PUSH
18793: EMPTY
18794: LIST
18795: LIST
18796: PUSH
18797: LD_INT 2
18799: PUSH
18800: LD_INT 30
18802: PUSH
18803: LD_INT 0
18805: PUSH
18806: EMPTY
18807: LIST
18808: LIST
18809: PUSH
18810: LD_INT 30
18812: PUSH
18813: LD_INT 1
18815: PUSH
18816: EMPTY
18817: LIST
18818: LIST
18819: PUSH
18820: EMPTY
18821: LIST
18822: LIST
18823: LIST
18824: PUSH
18825: EMPTY
18826: LIST
18827: LIST
18828: LIST
18829: PPUSH
18830: CALL_OW 69
18834: IFFALSE 25033
18836: GO 18838
18838: DISABLE
18839: LD_INT 0
18841: PPUSH
18842: PPUSH
18843: PPUSH
18844: PPUSH
18845: PPUSH
18846: PPUSH
18847: PPUSH
// begin while fstamdep > tick do
18848: LD_EXP 226
18852: PUSH
18853: LD_OWVAR 1
18857: GREATER
18858: IFFALSE 18869
// wait ( 0 0$3 ) ;
18860: LD_INT 105
18862: PPUSH
18863: CALL_OW 67
18867: GO 18848
// uc_nation = nation_arabian ;
18869: LD_ADDR_OWVAR 21
18873: PUSH
18874: LD_INT 2
18876: ST_TO_ADDR
// uc_side = ar ;
18877: LD_ADDR_OWVAR 20
18881: PUSH
18882: LD_EXP 3
18886: ST_TO_ADDR
// setside ( kurt , ar ) ;
18887: LD_EXP 177
18891: PPUSH
18892: LD_EXP 3
18896: PPUSH
18897: CALL_OW 235
// vc_control = control_manual ;
18901: LD_ADDR_OWVAR 38
18905: PUSH
18906: LD_INT 1
18908: ST_TO_ADDR
// vc_engine = engine_combustion ;
18909: LD_ADDR_OWVAR 39
18913: PUSH
18914: LD_INT 1
18916: ST_TO_ADDR
// vc_chassis = ar_medium_trike ;
18917: LD_ADDR_OWVAR 37
18921: PUSH
18922: LD_INT 13
18924: ST_TO_ADDR
// vc_weapon = ar_double_machine_gun ;
18925: LD_ADDR_OWVAR 40
18929: PUSH
18930: LD_INT 24
18932: ST_TO_ADDR
// kurt_veh = createvehicle ;
18933: LD_ADDR_EXP 178
18937: PUSH
18938: CALL_OW 45
18942: ST_TO_ADDR
// setdir ( kurt_veh , 4 ) ;
18943: LD_EXP 178
18947: PPUSH
18948: LD_INT 4
18950: PPUSH
18951: CALL_OW 233
// placeunitxyr ( kurt_veh , 148 , 100 , 3 , false ) ;
18955: LD_EXP 178
18959: PPUSH
18960: LD_INT 148
18962: PPUSH
18963: LD_INT 100
18965: PPUSH
18966: LD_INT 3
18968: PPUSH
18969: LD_INT 0
18971: PPUSH
18972: CALL_OW 50
// placehumaninunit ( kurt , kurt_veh ) ;
18976: LD_EXP 177
18980: PPUSH
18981: LD_EXP 178
18985: PPUSH
18986: CALL_OW 52
// wait ( 0 0$0.5 ) ;
18990: LD_INT 18
18992: PPUSH
18993: CALL_OW 67
// commovexy ( kurt_veh , 134 , 93 ) ;
18997: LD_EXP 178
19001: PPUSH
19002: LD_INT 134
19004: PPUSH
19005: LD_INT 93
19007: PPUSH
19008: CALL_OW 111
// addcomexitvehicle ( kurt_veh ) ;
19012: LD_EXP 178
19016: PPUSH
19017: CALL_OW 181
// wait ( 0 0$5 ) ;
19021: LD_INT 175
19023: PPUSH
19024: CALL_OW 67
// legion_cheated = 0 ;
19028: LD_ADDR_EXP 227
19032: PUSH
19033: LD_INT 0
19035: ST_TO_ADDR
// tmp = filterallunits ( [ [ f_side , am ] , [ f_sex , sex_male ] ] ) diff john ;
19036: LD_ADDR_VAR 0 1
19040: PUSH
19041: LD_INT 22
19043: PUSH
19044: LD_EXP 2
19048: PUSH
19049: EMPTY
19050: LIST
19051: LIST
19052: PUSH
19053: LD_INT 26
19055: PUSH
19056: LD_INT 1
19058: PUSH
19059: EMPTY
19060: LIST
19061: LIST
19062: PUSH
19063: EMPTY
19064: LIST
19065: LIST
19066: PPUSH
19067: CALL_OW 69
19071: PUSH
19072: LD_EXP 174
19076: DIFF
19077: ST_TO_ADDR
// dialogueon ;
19078: CALL_OW 6
// changesidefog ( ar , am ) ;
19082: LD_EXP 3
19086: PPUSH
19087: LD_EXP 2
19091: PPUSH
19092: CALL_OW 343
// if tmp then
19096: LD_VAR 0 1
19100: IFFALSE 19118
// say ( tmp [ 1 ] , D3-Sol1-1 ) ;
19102: LD_VAR 0 1
19106: PUSH
19107: LD_INT 1
19109: ARRAY
19110: PPUSH
19111: LD_STRING D3-Sol1-1
19113: PPUSH
19114: CALL_OW 88
// centernowonunits ( kurt_veh ) ;
19118: LD_EXP 178
19122: PPUSH
19123: CALL_OW 87
// say ( kurt , D3-Kurt-1 ) ;
19127: LD_EXP 177
19131: PPUSH
19132: LD_STRING D3-Kurt-1
19134: PPUSH
19135: CALL_OW 88
// say ( john , D3-JMM-1 ) ;
19139: LD_EXP 174
19143: PPUSH
19144: LD_STRING D3-JMM-1
19146: PPUSH
19147: CALL_OW 88
// if kurtloc then
19151: LD_EXP 179
19155: IFFALSE 19183
// begin say ( kurt , D3-Kurt-2 ) ;
19157: LD_EXP 177
19161: PPUSH
19162: LD_STRING D3-Kurt-2
19164: PPUSH
19165: CALL_OW 88
// say ( john , D3-JMM-2 ) ;
19169: LD_EXP 174
19173: PPUSH
19174: LD_STRING D3-JMM-2
19176: PPUSH
19177: CALL_OW 88
// end else
19181: GO 19207
// begin say ( kurt , D3-Kurt-3 ) ;
19183: LD_EXP 177
19187: PPUSH
19188: LD_STRING D3-Kurt-3
19190: PPUSH
19191: CALL_OW 88
// say ( john , D3-JMM-3 ) ;
19195: LD_EXP 174
19199: PPUSH
19200: LD_STRING D3-JMM-3
19202: PPUSH
19203: CALL_OW 88
// end ; say ( kurt , D3-Kurt-4 ) ;
19207: LD_EXP 177
19211: PPUSH
19212: LD_STRING D3-Kurt-4
19214: PPUSH
19215: CALL_OW 88
// say ( john , D3-JMM-4 ) ;
19219: LD_EXP 174
19223: PPUSH
19224: LD_STRING D3-JMM-4
19226: PPUSH
19227: CALL_OW 88
// say ( kurt , D3-Kurt-5 ) ;
19231: LD_EXP 177
19235: PPUSH
19236: LD_STRING D3-Kurt-5
19238: PPUSH
19239: CALL_OW 88
// depoty = unitfilter ( filterallunits ( [ [ f_side , am ] , [ f_type , unit_building ] ] ) , [ f_or , [ f_btype , b_depot ] , [ f_btype , b_warehouse ] ] ) ;
19243: LD_ADDR_VAR 0 7
19247: PUSH
19248: LD_INT 22
19250: PUSH
19251: LD_EXP 2
19255: PUSH
19256: EMPTY
19257: LIST
19258: LIST
19259: PUSH
19260: LD_INT 21
19262: PUSH
19263: LD_INT 3
19265: PUSH
19266: EMPTY
19267: LIST
19268: LIST
19269: PUSH
19270: EMPTY
19271: LIST
19272: LIST
19273: PPUSH
19274: CALL_OW 69
19278: PPUSH
19279: LD_INT 2
19281: PUSH
19282: LD_INT 30
19284: PUSH
19285: LD_INT 0
19287: PUSH
19288: EMPTY
19289: LIST
19290: LIST
19291: PUSH
19292: LD_INT 30
19294: PUSH
19295: LD_INT 1
19297: PUSH
19298: EMPTY
19299: LIST
19300: LIST
19301: PUSH
19302: EMPTY
19303: LIST
19304: LIST
19305: LIST
19306: PPUSH
19307: CALL_OW 72
19311: ST_TO_ADDR
// tmpc = 0 ;
19312: LD_ADDR_VAR 0 6
19316: PUSH
19317: LD_INT 0
19319: ST_TO_ADDR
// tmps = 0 ;
19320: LD_ADDR_VAR 0 5
19324: PUSH
19325: LD_INT 0
19327: ST_TO_ADDR
// for tmp in depoty do
19328: LD_ADDR_VAR 0 1
19332: PUSH
19333: LD_VAR 0 7
19337: PUSH
19338: FOR_IN
19339: IFFALSE 19401
// begin tmpc = tmpc + getresourcetype ( getbase ( tmp ) , mat_cans ) ;
19341: LD_ADDR_VAR 0 6
19345: PUSH
19346: LD_VAR 0 6
19350: PUSH
19351: LD_VAR 0 1
19355: PPUSH
19356: CALL_OW 274
19360: PPUSH
19361: LD_INT 1
19363: PPUSH
19364: CALL_OW 275
19368: PLUS
19369: ST_TO_ADDR
// tmps = tmps + getresourcetype ( getbase ( tmp ) , mat_siberit ) ;
19370: LD_ADDR_VAR 0 5
19374: PUSH
19375: LD_VAR 0 5
19379: PUSH
19380: LD_VAR 0 1
19384: PPUSH
19385: CALL_OW 274
19389: PPUSH
19390: LD_INT 3
19392: PPUSH
19393: CALL_OW 275
19397: PLUS
19398: ST_TO_ADDR
// end ;
19399: GO 19338
19401: POP
19402: POP
// if kurtloc = 0 then
19403: LD_EXP 179
19407: PUSH
19408: LD_INT 0
19410: EQUAL
19411: IFFALSE 19503
// begin say ( kurt , D3-Kurt-5b ) ;
19413: LD_EXP 177
19417: PPUSH
19418: LD_STRING D3-Kurt-5b
19420: PPUSH
19421: CALL_OW 88
// str = Q2 ;
19425: LD_ADDR_VAR 0 3
19429: PUSH
19430: LD_STRING Q2
19432: ST_TO_ADDR
// if ( tmpc >= req_cans ) and ( tmps >= req_sib ) then
19433: LD_VAR 0 6
19437: PUSH
19438: LD_EXP 88
19442: GREATEREQUAL
19443: PUSH
19444: LD_VAR 0 5
19448: PUSH
19449: LD_EXP 87
19453: GREATEREQUAL
19454: AND
19455: IFFALSE 19482
// li = [ 1 , 2 , 3 , 4 ] else
19457: LD_ADDR_VAR 0 4
19461: PUSH
19462: LD_INT 1
19464: PUSH
19465: LD_INT 2
19467: PUSH
19468: LD_INT 3
19470: PUSH
19471: LD_INT 4
19473: PUSH
19474: EMPTY
19475: LIST
19476: LIST
19477: LIST
19478: LIST
19479: ST_TO_ADDR
19480: GO 19501
// li = [ 1 , 3 , 4 ] ;
19482: LD_ADDR_VAR 0 4
19486: PUSH
19487: LD_INT 1
19489: PUSH
19490: LD_INT 3
19492: PUSH
19493: LD_INT 4
19495: PUSH
19496: EMPTY
19497: LIST
19498: LIST
19499: LIST
19500: ST_TO_ADDR
// end else
19501: GO 19591
// begin say ( kurt , D3-Kurt-5a ) ;
19503: LD_EXP 177
19507: PPUSH
19508: LD_STRING D3-Kurt-5a
19510: PPUSH
19511: CALL_OW 88
// str = Q2K ;
19515: LD_ADDR_VAR 0 3
19519: PUSH
19520: LD_STRING Q2K
19522: ST_TO_ADDR
// if ( tmpc >= req_cans_ ) and ( tmps >= req_sib_ ) then
19523: LD_VAR 0 6
19527: PUSH
19528: LD_EXP 90
19532: GREATEREQUAL
19533: PUSH
19534: LD_VAR 0 5
19538: PUSH
19539: LD_EXP 89
19543: GREATEREQUAL
19544: AND
19545: IFFALSE 19572
// li = [ 1 , 2 , 3 , 4 ] else
19547: LD_ADDR_VAR 0 4
19551: PUSH
19552: LD_INT 1
19554: PUSH
19555: LD_INT 2
19557: PUSH
19558: LD_INT 3
19560: PUSH
19561: LD_INT 4
19563: PUSH
19564: EMPTY
19565: LIST
19566: LIST
19567: LIST
19568: LIST
19569: ST_TO_ADDR
19570: GO 19591
// li = [ 1 , 3 , 4 ] ;
19572: LD_ADDR_VAR 0 4
19576: PUSH
19577: LD_INT 1
19579: PUSH
19580: LD_INT 3
19582: PUSH
19583: LD_INT 4
19585: PUSH
19586: EMPTY
19587: LIST
19588: LIST
19589: LIST
19590: ST_TO_ADDR
// end ; vyber = selectivequery ( str , li ) ;
19591: LD_ADDR_LOC 24
19595: PUSH
19596: LD_VAR 0 3
19600: PPUSH
19601: LD_VAR 0 4
19605: PPUSH
19606: CALL_OW 98
19610: ST_TO_ADDR
// legion = - 1 ;
19611: LD_ADDR_EXP 5
19615: PUSH
19616: LD_INT 1
19618: NEG
19619: ST_TO_ADDR
// case vyber of 1 :
19620: LD_LOC 24
19624: PUSH
19625: LD_INT 1
19627: DOUBLE
19628: EQUAL
19629: IFTRUE 19633
19631: GO 19660
19633: POP
// begin say ( john , D3Ka-JMM-1 ) ;
19634: LD_EXP 174
19638: PPUSH
19639: LD_STRING D3Ka-JMM-1
19641: PPUSH
19642: CALL_OW 88
// say ( kurt , D3Ka-Kurt-1 ) ;
19646: LD_EXP 177
19650: PPUSH
19651: LD_STRING D3Ka-Kurt-1
19653: PPUSH
19654: CALL_OW 88
// end ; 2 :
19658: GO 24069
19660: LD_INT 2
19662: DOUBLE
19663: EQUAL
19664: IFTRUE 19668
19666: GO 19991
19668: POP
// begin legion = 0 ;
19669: LD_ADDR_EXP 5
19673: PUSH
19674: LD_INT 0
19676: ST_TO_ADDR
// say ( john , D3Kb-JMM-1 ) ;
19677: LD_EXP 174
19681: PPUSH
19682: LD_STRING D3Kb-JMM-1
19684: PPUSH
19685: CALL_OW 88
// say ( kurt , D3Kb-Kurt-1 ) ;
19689: LD_EXP 177
19693: PPUSH
19694: LD_STRING D3Kb-Kurt-1
19696: PPUSH
19697: CALL_OW 88
// if kurtloc then
19701: LD_EXP 179
19705: IFFALSE 19729
// begin req_cans = creq_cans_ ;
19707: LD_ADDR_EXP 88
19711: PUSH
19712: LD_EXP 98
19716: ST_TO_ADDR
// req_sib = creq_sib_ ;
19717: LD_ADDR_EXP 87
19721: PUSH
19722: LD_EXP 97
19726: ST_TO_ADDR
// end else
19727: GO 19749
// begin req_cans = creq_cans ;
19729: LD_ADDR_EXP 88
19733: PUSH
19734: LD_EXP 96
19738: ST_TO_ADDR
// req_sib = creq_sib ;
19739: LD_ADDR_EXP 87
19743: PUSH
19744: LD_EXP 95
19748: ST_TO_ADDR
// end ; for tmp in depoty do
19749: LD_ADDR_VAR 0 1
19753: PUSH
19754: LD_VAR 0 7
19758: PUSH
19759: FOR_IN
19760: IFFALSE 19867
// begin tmp2 = getresourcetype ( getbase ( tmp ) , mat_cans ) ;
19762: LD_ADDR_VAR 0 2
19766: PUSH
19767: LD_VAR 0 1
19771: PPUSH
19772: CALL_OW 274
19776: PPUSH
19777: LD_INT 1
19779: PPUSH
19780: CALL_OW 275
19784: ST_TO_ADDR
// if tmp2 >= req_cans then
19785: LD_VAR 0 2
19789: PUSH
19790: LD_EXP 88
19794: GREATEREQUAL
19795: IFFALSE 19829
// begin setresourcetype ( getbase ( tmp ) , mat_cans , tmp2 - req_cans ) ;
19797: LD_VAR 0 1
19801: PPUSH
19802: CALL_OW 274
19806: PPUSH
19807: LD_INT 1
19809: PPUSH
19810: LD_VAR 0 2
19814: PUSH
19815: LD_EXP 88
19819: MINUS
19820: PPUSH
19821: CALL_OW 277
// break ;
19825: GO 19867
// end else
19827: GO 19865
// begin setresourcetype ( getbase ( tmp ) , mat_cans , 0 ) ;
19829: LD_VAR 0 1
19833: PPUSH
19834: CALL_OW 274
19838: PPUSH
19839: LD_INT 1
19841: PPUSH
19842: LD_INT 0
19844: PPUSH
19845: CALL_OW 277
// req_cans = req_cans - tmp2 ;
19849: LD_ADDR_EXP 88
19853: PUSH
19854: LD_EXP 88
19858: PUSH
19859: LD_VAR 0 2
19863: MINUS
19864: ST_TO_ADDR
// end ; end ;
19865: GO 19759
19867: POP
19868: POP
// for tmp in depoty do
19869: LD_ADDR_VAR 0 1
19873: PUSH
19874: LD_VAR 0 7
19878: PUSH
19879: FOR_IN
19880: IFFALSE 19987
// begin tmp2 = getresourcetype ( getbase ( tmp ) , mat_siberit ) ;
19882: LD_ADDR_VAR 0 2
19886: PUSH
19887: LD_VAR 0 1
19891: PPUSH
19892: CALL_OW 274
19896: PPUSH
19897: LD_INT 3
19899: PPUSH
19900: CALL_OW 275
19904: ST_TO_ADDR
// if tmp2 >= req_sib then
19905: LD_VAR 0 2
19909: PUSH
19910: LD_EXP 87
19914: GREATEREQUAL
19915: IFFALSE 19949
// begin setresourcetype ( getbase ( tmp ) , mat_siberit , tmp2 - req_sib ) ;
19917: LD_VAR 0 1
19921: PPUSH
19922: CALL_OW 274
19926: PPUSH
19927: LD_INT 3
19929: PPUSH
19930: LD_VAR 0 2
19934: PUSH
19935: LD_EXP 87
19939: MINUS
19940: PPUSH
19941: CALL_OW 277
// break ;
19945: GO 19987
// end else
19947: GO 19985
// begin setresourcetype ( getbase ( tmp ) , mat_siberit , 0 ) ;
19949: LD_VAR 0 1
19953: PPUSH
19954: CALL_OW 274
19958: PPUSH
19959: LD_INT 3
19961: PPUSH
19962: LD_INT 0
19964: PPUSH
19965: CALL_OW 277
// req_sib = req_sib - tmp2 ;
19969: LD_ADDR_EXP 87
19973: PUSH
19974: LD_EXP 87
19978: PUSH
19979: LD_VAR 0 2
19983: MINUS
19984: ST_TO_ADDR
// end ; end ;
19985: GO 19879
19987: POP
19988: POP
// end ; 3 :
19989: GO 24069
19991: LD_INT 3
19993: DOUBLE
19994: EQUAL
19995: IFTRUE 19999
19997: GO 21635
19999: POP
// begin say ( john , D3Kc1-JMM-1 ) ;
20000: LD_EXP 174
20004: PPUSH
20005: LD_STRING D3Kc1-JMM-1
20007: PPUSH
20008: CALL_OW 88
// say ( kurt , D3Kc1-Kurt-1 ) ;
20012: LD_EXP 177
20016: PPUSH
20017: LD_STRING D3Kc1-Kurt-1
20019: PPUSH
20020: CALL_OW 88
// say ( john , D3Kc1-JMM-2 ) ;
20024: LD_EXP 174
20028: PPUSH
20029: LD_STRING D3Kc1-JMM-2
20031: PPUSH
20032: CALL_OW 88
// say ( kurt , D3Kc1-Kurt-2 ) ;
20036: LD_EXP 177
20040: PPUSH
20041: LD_STRING D3Kc1-Kurt-2
20043: PPUSH
20044: CALL_OW 88
// pr_loz = 1 ;
20048: LD_ADDR_EXP 225
20052: PUSH
20053: LD_INT 1
20055: ST_TO_ADDR
// case selectivequery ( Q2b , [ 1 , 2 , 3 ] ) of 1 , 2 :
20056: LD_STRING Q2b
20058: PPUSH
20059: LD_INT 1
20061: PUSH
20062: LD_INT 2
20064: PUSH
20065: LD_INT 3
20067: PUSH
20068: EMPTY
20069: LIST
20070: LIST
20071: LIST
20072: PPUSH
20073: CALL_OW 98
20077: PUSH
20078: LD_INT 1
20080: DOUBLE
20081: EQUAL
20082: IFTRUE 20092
20084: LD_INT 2
20086: DOUBLE
20087: EQUAL
20088: IFTRUE 20092
20090: GO 21549
20092: POP
// begin if vyber = 1 then
20093: LD_LOC 24
20097: PUSH
20098: LD_INT 1
20100: EQUAL
20101: IFFALSE 20117
// say ( john , D4a-JMM-1 ) else
20103: LD_EXP 174
20107: PPUSH
20108: LD_STRING D4a-JMM-1
20110: PPUSH
20111: CALL_OW 88
20115: GO 20141
// begin say ( john , D4b-JMM-1 ) ;
20117: LD_EXP 174
20121: PPUSH
20122: LD_STRING D4b-JMM-1
20124: PPUSH
20125: CALL_OW 88
// say ( kurt , D4b-Kurt-1 ) ;
20129: LD_EXP 177
20133: PPUSH
20134: LD_STRING D4b-Kurt-1
20136: PPUSH
20137: CALL_OW 88
// end ; vyber = selectivequery ( str , li ) ;
20141: LD_ADDR_LOC 24
20145: PUSH
20146: LD_VAR 0 3
20150: PPUSH
20151: LD_VAR 0 4
20155: PPUSH
20156: CALL_OW 98
20160: ST_TO_ADDR
// case vyber of 1 :
20161: LD_LOC 24
20165: PUSH
20166: LD_INT 1
20168: DOUBLE
20169: EQUAL
20170: IFTRUE 20174
20172: GO 20201
20174: POP
// begin say ( john , D3Ka-JMM-1 ) ;
20175: LD_EXP 174
20179: PPUSH
20180: LD_STRING D3Ka-JMM-1
20182: PPUSH
20183: CALL_OW 88
// say ( kurt , D3Ka-Kurt-1 ) ;
20187: LD_EXP 177
20191: PPUSH
20192: LD_STRING D3Ka-Kurt-1
20194: PPUSH
20195: CALL_OW 88
// end ; 2 :
20199: GO 21547
20201: LD_INT 2
20203: DOUBLE
20204: EQUAL
20205: IFTRUE 20209
20207: GO 20510
20209: POP
// begin legion = 0 ;
20210: LD_ADDR_EXP 5
20214: PUSH
20215: LD_INT 0
20217: ST_TO_ADDR
// say ( john , D3Kb-JMM-1 ) ;
20218: LD_EXP 174
20222: PPUSH
20223: LD_STRING D3Kb-JMM-1
20225: PPUSH
20226: CALL_OW 88
// say ( kurt , D3Kb-Kurt-1 ) ;
20230: LD_EXP 177
20234: PPUSH
20235: LD_STRING D3Kb-Kurt-1
20237: PPUSH
20238: CALL_OW 88
// if kurtloc then
20242: LD_EXP 179
20246: IFFALSE 20268
// begin req_cans = req_cans_ ;
20248: LD_ADDR_EXP 88
20252: PUSH
20253: LD_EXP 90
20257: ST_TO_ADDR
// req_sib = req_sib_ ;
20258: LD_ADDR_EXP 87
20262: PUSH
20263: LD_EXP 89
20267: ST_TO_ADDR
// end ; for tmp in depoty do
20268: LD_ADDR_VAR 0 1
20272: PUSH
20273: LD_VAR 0 7
20277: PUSH
20278: FOR_IN
20279: IFFALSE 20386
// begin tmp2 = getresourcetype ( getbase ( tmp ) , mat_cans ) ;
20281: LD_ADDR_VAR 0 2
20285: PUSH
20286: LD_VAR 0 1
20290: PPUSH
20291: CALL_OW 274
20295: PPUSH
20296: LD_INT 1
20298: PPUSH
20299: CALL_OW 275
20303: ST_TO_ADDR
// if tmp2 >= req_cans then
20304: LD_VAR 0 2
20308: PUSH
20309: LD_EXP 88
20313: GREATEREQUAL
20314: IFFALSE 20348
// begin setresourcetype ( getbase ( tmp ) , mat_cans , tmp2 - req_cans ) ;
20316: LD_VAR 0 1
20320: PPUSH
20321: CALL_OW 274
20325: PPUSH
20326: LD_INT 1
20328: PPUSH
20329: LD_VAR 0 2
20333: PUSH
20334: LD_EXP 88
20338: MINUS
20339: PPUSH
20340: CALL_OW 277
// break ;
20344: GO 20386
// end else
20346: GO 20384
// begin setresourcetype ( getbase ( tmp ) , mat_cans , 0 ) ;
20348: LD_VAR 0 1
20352: PPUSH
20353: CALL_OW 274
20357: PPUSH
20358: LD_INT 1
20360: PPUSH
20361: LD_INT 0
20363: PPUSH
20364: CALL_OW 277
// req_cans = req_cans - tmp2 ;
20368: LD_ADDR_EXP 88
20372: PUSH
20373: LD_EXP 88
20377: PUSH
20378: LD_VAR 0 2
20382: MINUS
20383: ST_TO_ADDR
// end ; end ;
20384: GO 20278
20386: POP
20387: POP
// for tmp in depoty do
20388: LD_ADDR_VAR 0 1
20392: PUSH
20393: LD_VAR 0 7
20397: PUSH
20398: FOR_IN
20399: IFFALSE 20506
// begin tmp2 = getresourcetype ( getbase ( tmp ) , mat_siberit ) ;
20401: LD_ADDR_VAR 0 2
20405: PUSH
20406: LD_VAR 0 1
20410: PPUSH
20411: CALL_OW 274
20415: PPUSH
20416: LD_INT 3
20418: PPUSH
20419: CALL_OW 275
20423: ST_TO_ADDR
// if tmp2 >= req_sib then
20424: LD_VAR 0 2
20428: PUSH
20429: LD_EXP 87
20433: GREATEREQUAL
20434: IFFALSE 20468
// begin setresourcetype ( getbase ( tmp ) , mat_siberit , tmp2 - req_sib ) ;
20436: LD_VAR 0 1
20440: PPUSH
20441: CALL_OW 274
20445: PPUSH
20446: LD_INT 3
20448: PPUSH
20449: LD_VAR 0 2
20453: PUSH
20454: LD_EXP 87
20458: MINUS
20459: PPUSH
20460: CALL_OW 277
// break ;
20464: GO 20506
// end else
20466: GO 20504
// begin setresourcetype ( getbase ( tmp ) , mat_siberit , 0 ) ;
20468: LD_VAR 0 1
20472: PPUSH
20473: CALL_OW 274
20477: PPUSH
20478: LD_INT 3
20480: PPUSH
20481: LD_INT 0
20483: PPUSH
20484: CALL_OW 277
// req_sib = req_sib - tmp2 ;
20488: LD_ADDR_EXP 87
20492: PUSH
20493: LD_EXP 87
20497: PUSH
20498: LD_VAR 0 2
20502: MINUS
20503: ST_TO_ADDR
// end ; end ;
20504: GO 20398
20506: POP
20507: POP
// end ; 3 :
20508: GO 21547
20510: LD_INT 3
20512: DOUBLE
20513: EQUAL
20514: IFTRUE 20518
20516: GO 20553
20518: POP
// begin say ( john , D3Kc2-JMM-1 ) ;
20519: LD_EXP 174
20523: PPUSH
20524: LD_STRING D3Kc2-JMM-1
20526: PPUSH
20527: CALL_OW 88
// say ( kurt , D3Kc2-Kurt-1 ) ;
20531: LD_EXP 177
20535: PPUSH
20536: LD_STRING D3Kc2-Kurt-1
20538: PPUSH
20539: CALL_OW 88
// vyber = 1 ;
20543: LD_ADDR_LOC 24
20547: PUSH
20548: LD_INT 1
20550: ST_TO_ADDR
// end ; 4 :
20551: GO 21547
20553: LD_INT 4
20555: DOUBLE
20556: EQUAL
20557: IFTRUE 20561
20559: GO 21546
20561: POP
// begin say ( john , D3Kd-JMM-1 ) ;
20562: LD_EXP 174
20566: PPUSH
20567: LD_STRING D3Kd-JMM-1
20569: PPUSH
20570: CALL_OW 88
// if kurtloc = 0 then
20574: LD_EXP 179
20578: PUSH
20579: LD_INT 0
20581: EQUAL
20582: IFFALSE 20704
// begin str = Q2a ;
20584: LD_ADDR_VAR 0 3
20588: PUSH
20589: LD_STRING Q2a
20591: ST_TO_ADDR
// li = [ 1 ] ;
20592: LD_ADDR_VAR 0 4
20596: PUSH
20597: LD_INT 1
20599: PUSH
20600: EMPTY
20601: LIST
20602: ST_TO_ADDR
// if ( tmpc >= req_cans ) and ( tmps >= req_sib ) then
20603: LD_VAR 0 6
20607: PUSH
20608: LD_EXP 88
20612: GREATEREQUAL
20613: PUSH
20614: LD_VAR 0 5
20618: PUSH
20619: LD_EXP 87
20623: GREATEREQUAL
20624: AND
20625: IFFALSE 20644
// li = li ^ [ 2 ] ;
20627: LD_ADDR_VAR 0 4
20631: PUSH
20632: LD_VAR 0 4
20636: PUSH
20637: LD_INT 2
20639: PUSH
20640: EMPTY
20641: LIST
20642: ADD
20643: ST_TO_ADDR
// if ( tmpc >= req2_cans ) and ( tmps >= req2_sib ) then
20644: LD_VAR 0 6
20648: PUSH
20649: LD_EXP 92
20653: GREATEREQUAL
20654: PUSH
20655: LD_VAR 0 5
20659: PUSH
20660: LD_EXP 91
20664: GREATEREQUAL
20665: AND
20666: IFFALSE 20685
// li = li ^ [ 3 ] ;
20668: LD_ADDR_VAR 0 4
20672: PUSH
20673: LD_VAR 0 4
20677: PUSH
20678: LD_INT 3
20680: PUSH
20681: EMPTY
20682: LIST
20683: ADD
20684: ST_TO_ADDR
// li = li ^ [ 4 ] ;
20685: LD_ADDR_VAR 0 4
20689: PUSH
20690: LD_VAR 0 4
20694: PUSH
20695: LD_INT 4
20697: PUSH
20698: EMPTY
20699: LIST
20700: ADD
20701: ST_TO_ADDR
// end else
20702: GO 20822
// begin str = Q2aK ;
20704: LD_ADDR_VAR 0 3
20708: PUSH
20709: LD_STRING Q2aK
20711: ST_TO_ADDR
// li = [ 1 ] ;
20712: LD_ADDR_VAR 0 4
20716: PUSH
20717: LD_INT 1
20719: PUSH
20720: EMPTY
20721: LIST
20722: ST_TO_ADDR
// if ( tmpc >= req_cans_ ) and ( tmps >= req_sib_ ) then
20723: LD_VAR 0 6
20727: PUSH
20728: LD_EXP 90
20732: GREATEREQUAL
20733: PUSH
20734: LD_VAR 0 5
20738: PUSH
20739: LD_EXP 89
20743: GREATEREQUAL
20744: AND
20745: IFFALSE 20764
// li = li ^ [ 2 ] ;
20747: LD_ADDR_VAR 0 4
20751: PUSH
20752: LD_VAR 0 4
20756: PUSH
20757: LD_INT 2
20759: PUSH
20760: EMPTY
20761: LIST
20762: ADD
20763: ST_TO_ADDR
// if ( tmpc >= req2_cans_ ) and ( tmps >= req2_sib_ ) then
20764: LD_VAR 0 6
20768: PUSH
20769: LD_EXP 94
20773: GREATEREQUAL
20774: PUSH
20775: LD_VAR 0 5
20779: PUSH
20780: LD_EXP 93
20784: GREATEREQUAL
20785: AND
20786: IFFALSE 20805
// li = li ^ [ 3 ] ;
20788: LD_ADDR_VAR 0 4
20792: PUSH
20793: LD_VAR 0 4
20797: PUSH
20798: LD_INT 3
20800: PUSH
20801: EMPTY
20802: LIST
20803: ADD
20804: ST_TO_ADDR
// li = li ^ [ 4 ] ;
20805: LD_ADDR_VAR 0 4
20809: PUSH
20810: LD_VAR 0 4
20814: PUSH
20815: LD_INT 4
20817: PUSH
20818: EMPTY
20819: LIST
20820: ADD
20821: ST_TO_ADDR
// end ; vyber = selectivequery ( str , li ) ;
20822: LD_ADDR_LOC 24
20826: PUSH
20827: LD_VAR 0 3
20831: PPUSH
20832: LD_VAR 0 4
20836: PPUSH
20837: CALL_OW 98
20841: ST_TO_ADDR
// case vyber of 1 :
20842: LD_LOC 24
20846: PUSH
20847: LD_INT 1
20849: DOUBLE
20850: EQUAL
20851: IFTRUE 20855
20853: GO 20882
20855: POP
// begin say ( john , D3Ka-JMM-1 ) ;
20856: LD_EXP 174
20860: PPUSH
20861: LD_STRING D3Ka-JMM-1
20863: PPUSH
20864: CALL_OW 88
// say ( kurt , D3Ka-Kurt-1 ) ;
20868: LD_EXP 177
20872: PPUSH
20873: LD_STRING D3Ka-Kurt-1
20875: PPUSH
20876: CALL_OW 88
// end ; 2 :
20880: GO 21544
20882: LD_INT 2
20884: DOUBLE
20885: EQUAL
20886: IFTRUE 20890
20888: GO 21191
20890: POP
// begin legion = 0 ;
20891: LD_ADDR_EXP 5
20895: PUSH
20896: LD_INT 0
20898: ST_TO_ADDR
// say ( john , D3Kb-JMM-1 ) ;
20899: LD_EXP 174
20903: PPUSH
20904: LD_STRING D3Kb-JMM-1
20906: PPUSH
20907: CALL_OW 88
// say ( kurt , D3Kb-Kurt-1 ) ;
20911: LD_EXP 177
20915: PPUSH
20916: LD_STRING D3Kb-Kurt-1
20918: PPUSH
20919: CALL_OW 88
// if kurtloc then
20923: LD_EXP 179
20927: IFFALSE 20949
// begin req_cans = req_cans_ ;
20929: LD_ADDR_EXP 88
20933: PUSH
20934: LD_EXP 90
20938: ST_TO_ADDR
// req_sib = req_sib_ ;
20939: LD_ADDR_EXP 87
20943: PUSH
20944: LD_EXP 89
20948: ST_TO_ADDR
// end ; for tmp in depoty do
20949: LD_ADDR_VAR 0 1
20953: PUSH
20954: LD_VAR 0 7
20958: PUSH
20959: FOR_IN
20960: IFFALSE 21067
// begin tmp2 = getresourcetype ( getbase ( tmp ) , mat_cans ) ;
20962: LD_ADDR_VAR 0 2
20966: PUSH
20967: LD_VAR 0 1
20971: PPUSH
20972: CALL_OW 274
20976: PPUSH
20977: LD_INT 1
20979: PPUSH
20980: CALL_OW 275
20984: ST_TO_ADDR
// if tmp2 >= req_cans then
20985: LD_VAR 0 2
20989: PUSH
20990: LD_EXP 88
20994: GREATEREQUAL
20995: IFFALSE 21029
// begin setresourcetype ( getbase ( tmp ) , mat_cans , tmp2 - req_cans ) ;
20997: LD_VAR 0 1
21001: PPUSH
21002: CALL_OW 274
21006: PPUSH
21007: LD_INT 1
21009: PPUSH
21010: LD_VAR 0 2
21014: PUSH
21015: LD_EXP 88
21019: MINUS
21020: PPUSH
21021: CALL_OW 277
// break ;
21025: GO 21067
// end else
21027: GO 21065
// begin setresourcetype ( getbase ( tmp ) , mat_cans , 0 ) ;
21029: LD_VAR 0 1
21033: PPUSH
21034: CALL_OW 274
21038: PPUSH
21039: LD_INT 1
21041: PPUSH
21042: LD_INT 0
21044: PPUSH
21045: CALL_OW 277
// req_cans = req_cans - tmp2 ;
21049: LD_ADDR_EXP 88
21053: PUSH
21054: LD_EXP 88
21058: PUSH
21059: LD_VAR 0 2
21063: MINUS
21064: ST_TO_ADDR
// end ; end ;
21065: GO 20959
21067: POP
21068: POP
// for tmp in depoty do
21069: LD_ADDR_VAR 0 1
21073: PUSH
21074: LD_VAR 0 7
21078: PUSH
21079: FOR_IN
21080: IFFALSE 21187
// begin tmp2 = getresourcetype ( getbase ( tmp ) , mat_siberit ) ;
21082: LD_ADDR_VAR 0 2
21086: PUSH
21087: LD_VAR 0 1
21091: PPUSH
21092: CALL_OW 274
21096: PPUSH
21097: LD_INT 3
21099: PPUSH
21100: CALL_OW 275
21104: ST_TO_ADDR
// if tmp2 >= req_sib then
21105: LD_VAR 0 2
21109: PUSH
21110: LD_EXP 87
21114: GREATEREQUAL
21115: IFFALSE 21149
// begin setresourcetype ( getbase ( tmp ) , mat_siberit , tmp2 - req_sib ) ;
21117: LD_VAR 0 1
21121: PPUSH
21122: CALL_OW 274
21126: PPUSH
21127: LD_INT 3
21129: PPUSH
21130: LD_VAR 0 2
21134: PUSH
21135: LD_EXP 87
21139: MINUS
21140: PPUSH
21141: CALL_OW 277
// break ;
21145: GO 21187
// end else
21147: GO 21185
// begin setresourcetype ( getbase ( tmp ) , mat_siberit , 0 ) ;
21149: LD_VAR 0 1
21153: PPUSH
21154: CALL_OW 274
21158: PPUSH
21159: LD_INT 3
21161: PPUSH
21162: LD_INT 0
21164: PPUSH
21165: CALL_OW 277
// req_sib = req_sib - tmp2 ;
21169: LD_ADDR_EXP 87
21173: PUSH
21174: LD_EXP 87
21178: PUSH
21179: LD_VAR 0 2
21183: MINUS
21184: ST_TO_ADDR
// end ; end ;
21185: GO 21079
21187: POP
21188: POP
// end ; 3 :
21189: GO 21544
21191: LD_INT 3
21193: DOUBLE
21194: EQUAL
21195: IFTRUE 21199
21197: GO 21500
21199: POP
// begin legion = 1 ;
21200: LD_ADDR_EXP 5
21204: PUSH
21205: LD_INT 1
21207: ST_TO_ADDR
// say ( john , D3Ke-JMM-1 ) ;
21208: LD_EXP 174
21212: PPUSH
21213: LD_STRING D3Ke-JMM-1
21215: PPUSH
21216: CALL_OW 88
// say ( kurt , D3Ke-Kurt-1 ) ;
21220: LD_EXP 177
21224: PPUSH
21225: LD_STRING D3Ke-Kurt-1
21227: PPUSH
21228: CALL_OW 88
// if kurtloc then
21232: LD_EXP 179
21236: IFFALSE 21258
// begin req2_cans = req2_cans_ ;
21238: LD_ADDR_EXP 92
21242: PUSH
21243: LD_EXP 94
21247: ST_TO_ADDR
// req2_sib = req2_sib_ ;
21248: LD_ADDR_EXP 91
21252: PUSH
21253: LD_EXP 93
21257: ST_TO_ADDR
// end ; for tmp in depoty do
21258: LD_ADDR_VAR 0 1
21262: PUSH
21263: LD_VAR 0 7
21267: PUSH
21268: FOR_IN
21269: IFFALSE 21376
// begin tmp2 = getresourcetype ( getbase ( tmp ) , mat_cans ) ;
21271: LD_ADDR_VAR 0 2
21275: PUSH
21276: LD_VAR 0 1
21280: PPUSH
21281: CALL_OW 274
21285: PPUSH
21286: LD_INT 1
21288: PPUSH
21289: CALL_OW 275
21293: ST_TO_ADDR
// if tmp2 >= req2_cans then
21294: LD_VAR 0 2
21298: PUSH
21299: LD_EXP 92
21303: GREATEREQUAL
21304: IFFALSE 21338
// begin setresourcetype ( getbase ( tmp ) , mat_cans , tmp2 - req2_cans ) ;
21306: LD_VAR 0 1
21310: PPUSH
21311: CALL_OW 274
21315: PPUSH
21316: LD_INT 1
21318: PPUSH
21319: LD_VAR 0 2
21323: PUSH
21324: LD_EXP 92
21328: MINUS
21329: PPUSH
21330: CALL_OW 277
// break ;
21334: GO 21376
// end else
21336: GO 21374
// begin setresourcetype ( getbase ( tmp ) , mat_cans , 0 ) ;
21338: LD_VAR 0 1
21342: PPUSH
21343: CALL_OW 274
21347: PPUSH
21348: LD_INT 1
21350: PPUSH
21351: LD_INT 0
21353: PPUSH
21354: CALL_OW 277
// req2_cans = req2_cans - tmp2 ;
21358: LD_ADDR_EXP 92
21362: PUSH
21363: LD_EXP 92
21367: PUSH
21368: LD_VAR 0 2
21372: MINUS
21373: ST_TO_ADDR
// end ; end ;
21374: GO 21268
21376: POP
21377: POP
// for tmp in depoty do
21378: LD_ADDR_VAR 0 1
21382: PUSH
21383: LD_VAR 0 7
21387: PUSH
21388: FOR_IN
21389: IFFALSE 21496
// begin tmp2 = getresourcetype ( getbase ( tmp ) , mat_siberit ) ;
21391: LD_ADDR_VAR 0 2
21395: PUSH
21396: LD_VAR 0 1
21400: PPUSH
21401: CALL_OW 274
21405: PPUSH
21406: LD_INT 3
21408: PPUSH
21409: CALL_OW 275
21413: ST_TO_ADDR
// if tmp2 >= req2_sib then
21414: LD_VAR 0 2
21418: PUSH
21419: LD_EXP 91
21423: GREATEREQUAL
21424: IFFALSE 21458
// begin setresourcetype ( getbase ( tmp ) , mat_siberit , tmp2 - req2_sib ) ;
21426: LD_VAR 0 1
21430: PPUSH
21431: CALL_OW 274
21435: PPUSH
21436: LD_INT 3
21438: PPUSH
21439: LD_VAR 0 2
21443: PUSH
21444: LD_EXP 91
21448: MINUS
21449: PPUSH
21450: CALL_OW 277
// break ;
21454: GO 21496
// end else
21456: GO 21494
// begin setresourcetype ( getbase ( tmp ) , mat_siberit , 0 ) ;
21458: LD_VAR 0 1
21462: PPUSH
21463: CALL_OW 274
21467: PPUSH
21468: LD_INT 3
21470: PPUSH
21471: LD_INT 0
21473: PPUSH
21474: CALL_OW 277
// req2_sib = req2_sib - tmp2 ;
21478: LD_ADDR_EXP 91
21482: PUSH
21483: LD_EXP 91
21487: PUSH
21488: LD_VAR 0 2
21492: MINUS
21493: ST_TO_ADDR
// end ; end ;
21494: GO 21388
21496: POP
21497: POP
// end ; 4 :
21498: GO 21544
21500: LD_INT 4
21502: DOUBLE
21503: EQUAL
21504: IFTRUE 21508
21506: GO 21543
21508: POP
// begin say ( john , D3Kc2-JMM-1 ) ;
21509: LD_EXP 174
21513: PPUSH
21514: LD_STRING D3Kc2-JMM-1
21516: PPUSH
21517: CALL_OW 88
// say ( kurt , D3Kc2-Kurt-1 ) ;
21521: LD_EXP 177
21525: PPUSH
21526: LD_STRING D3Kc2-Kurt-1
21528: PPUSH
21529: CALL_OW 88
// vyber = 1 ;
21533: LD_ADDR_LOC 24
21537: PUSH
21538: LD_INT 1
21540: ST_TO_ADDR
// end ; end ;
21541: GO 21544
21543: POP
// end ; end ;
21544: GO 21547
21546: POP
// end ; 3 :
21547: GO 21633
21549: LD_INT 3
21551: DOUBLE
21552: EQUAL
21553: IFTRUE 21557
21555: GO 21632
21557: POP
// begin say ( john , D4c-JMM-1 ) ;
21558: LD_EXP 174
21562: PPUSH
21563: LD_STRING D4c-JMM-1
21565: PPUSH
21566: CALL_OW 88
// say ( kurt , D4c-Kurt-1 ) ;
21570: LD_EXP 177
21574: PPUSH
21575: LD_STRING D4c-Kurt-1
21577: PPUSH
21578: CALL_OW 88
// say ( john , D4c-JMM-2 ) ;
21582: LD_EXP 174
21586: PPUSH
21587: LD_STRING D4c-JMM-2
21589: PPUSH
21590: CALL_OW 88
// say ( kurt , D4c-Kurt-2 ) ;
21594: LD_EXP 177
21598: PPUSH
21599: LD_STRING D4c-Kurt-2
21601: PPUSH
21602: CALL_OW 88
// legion_cheated = 1 ;
21606: LD_ADDR_EXP 227
21610: PUSH
21611: LD_INT 1
21613: ST_TO_ADDR
// vyber = 2 ;
21614: LD_ADDR_LOC 24
21618: PUSH
21619: LD_INT 2
21621: ST_TO_ADDR
// legion = 0 ;
21622: LD_ADDR_EXP 5
21626: PUSH
21627: LD_INT 0
21629: ST_TO_ADDR
// end ; end ;
21630: GO 21633
21632: POP
// end ; 4 :
21633: GO 24069
21635: LD_INT 4
21637: DOUBLE
21638: EQUAL
21639: IFTRUE 21643
21641: GO 24068
21643: POP
// begin say ( john , D3Kd-JMM-1 ) ;
21644: LD_EXP 174
21648: PPUSH
21649: LD_STRING D3Kd-JMM-1
21651: PPUSH
21652: CALL_OW 88
// if kurtloc = 0 then
21656: LD_EXP 179
21660: PUSH
21661: LD_INT 0
21663: EQUAL
21664: IFFALSE 21786
// begin str = Q2a ;
21666: LD_ADDR_VAR 0 3
21670: PUSH
21671: LD_STRING Q2a
21673: ST_TO_ADDR
// li = [ 1 ] ;
21674: LD_ADDR_VAR 0 4
21678: PUSH
21679: LD_INT 1
21681: PUSH
21682: EMPTY
21683: LIST
21684: ST_TO_ADDR
// if ( tmpc >= req_cans ) and ( tmps >= req_sib ) then
21685: LD_VAR 0 6
21689: PUSH
21690: LD_EXP 88
21694: GREATEREQUAL
21695: PUSH
21696: LD_VAR 0 5
21700: PUSH
21701: LD_EXP 87
21705: GREATEREQUAL
21706: AND
21707: IFFALSE 21726
// li = li ^ [ 2 ] ;
21709: LD_ADDR_VAR 0 4
21713: PUSH
21714: LD_VAR 0 4
21718: PUSH
21719: LD_INT 2
21721: PUSH
21722: EMPTY
21723: LIST
21724: ADD
21725: ST_TO_ADDR
// if ( tmpc >= req2_cans ) and ( tmps >= req2_sib ) then
21726: LD_VAR 0 6
21730: PUSH
21731: LD_EXP 92
21735: GREATEREQUAL
21736: PUSH
21737: LD_VAR 0 5
21741: PUSH
21742: LD_EXP 91
21746: GREATEREQUAL
21747: AND
21748: IFFALSE 21767
// li = li ^ [ 3 ] ;
21750: LD_ADDR_VAR 0 4
21754: PUSH
21755: LD_VAR 0 4
21759: PUSH
21760: LD_INT 3
21762: PUSH
21763: EMPTY
21764: LIST
21765: ADD
21766: ST_TO_ADDR
// li = li ^ [ 4 ] ;
21767: LD_ADDR_VAR 0 4
21771: PUSH
21772: LD_VAR 0 4
21776: PUSH
21777: LD_INT 4
21779: PUSH
21780: EMPTY
21781: LIST
21782: ADD
21783: ST_TO_ADDR
// end else
21784: GO 21904
// begin str = Q2aK ;
21786: LD_ADDR_VAR 0 3
21790: PUSH
21791: LD_STRING Q2aK
21793: ST_TO_ADDR
// li = [ 1 ] ;
21794: LD_ADDR_VAR 0 4
21798: PUSH
21799: LD_INT 1
21801: PUSH
21802: EMPTY
21803: LIST
21804: ST_TO_ADDR
// if ( tmpc >= req_cans_ ) and ( tmps >= req_sib_ ) then
21805: LD_VAR 0 6
21809: PUSH
21810: LD_EXP 90
21814: GREATEREQUAL
21815: PUSH
21816: LD_VAR 0 5
21820: PUSH
21821: LD_EXP 89
21825: GREATEREQUAL
21826: AND
21827: IFFALSE 21846
// li = li ^ [ 2 ] ;
21829: LD_ADDR_VAR 0 4
21833: PUSH
21834: LD_VAR 0 4
21838: PUSH
21839: LD_INT 2
21841: PUSH
21842: EMPTY
21843: LIST
21844: ADD
21845: ST_TO_ADDR
// if ( tmpc >= req2_cans_ ) and ( tmps >= req2_sib_ ) then
21846: LD_VAR 0 6
21850: PUSH
21851: LD_EXP 94
21855: GREATEREQUAL
21856: PUSH
21857: LD_VAR 0 5
21861: PUSH
21862: LD_EXP 93
21866: GREATEREQUAL
21867: AND
21868: IFFALSE 21887
// li = li ^ [ 3 ] ;
21870: LD_ADDR_VAR 0 4
21874: PUSH
21875: LD_VAR 0 4
21879: PUSH
21880: LD_INT 3
21882: PUSH
21883: EMPTY
21884: LIST
21885: ADD
21886: ST_TO_ADDR
// li = li ^ [ 4 ] ;
21887: LD_ADDR_VAR 0 4
21891: PUSH
21892: LD_VAR 0 4
21896: PUSH
21897: LD_INT 4
21899: PUSH
21900: EMPTY
21901: LIST
21902: ADD
21903: ST_TO_ADDR
// end ; vyber = selectivequery ( str , li ) ;
21904: LD_ADDR_LOC 24
21908: PUSH
21909: LD_VAR 0 3
21913: PPUSH
21914: LD_VAR 0 4
21918: PPUSH
21919: CALL_OW 98
21923: ST_TO_ADDR
// case vyber of 1 :
21924: LD_LOC 24
21928: PUSH
21929: LD_INT 1
21931: DOUBLE
21932: EQUAL
21933: IFTRUE 21937
21935: GO 21964
21937: POP
// begin say ( john , D3Ka-JMM-1 ) ;
21938: LD_EXP 174
21942: PPUSH
21943: LD_STRING D3Ka-JMM-1
21945: PPUSH
21946: CALL_OW 88
// say ( kurt , D3Ka-Kurt-1 ) ;
21950: LD_EXP 177
21954: PPUSH
21955: LD_STRING D3Ka-Kurt-1
21957: PPUSH
21958: CALL_OW 88
// end ; 2 :
21962: GO 24066
21964: LD_INT 2
21966: DOUBLE
21967: EQUAL
21968: IFTRUE 21972
21970: GO 22273
21972: POP
// begin legion = 0 ;
21973: LD_ADDR_EXP 5
21977: PUSH
21978: LD_INT 0
21980: ST_TO_ADDR
// say ( john , D3Kb-JMM-1 ) ;
21981: LD_EXP 174
21985: PPUSH
21986: LD_STRING D3Kb-JMM-1
21988: PPUSH
21989: CALL_OW 88
// say ( kurt , D3Kb-Kurt-1 ) ;
21993: LD_EXP 177
21997: PPUSH
21998: LD_STRING D3Kb-Kurt-1
22000: PPUSH
22001: CALL_OW 88
// if kurtloc then
22005: LD_EXP 179
22009: IFFALSE 22031
// begin req_cans = req_cans_ ;
22011: LD_ADDR_EXP 88
22015: PUSH
22016: LD_EXP 90
22020: ST_TO_ADDR
// req_sib = req_sib_ ;
22021: LD_ADDR_EXP 87
22025: PUSH
22026: LD_EXP 89
22030: ST_TO_ADDR
// end ; for tmp in depoty do
22031: LD_ADDR_VAR 0 1
22035: PUSH
22036: LD_VAR 0 7
22040: PUSH
22041: FOR_IN
22042: IFFALSE 22149
// begin tmp2 = getresourcetype ( getbase ( tmp ) , mat_cans ) ;
22044: LD_ADDR_VAR 0 2
22048: PUSH
22049: LD_VAR 0 1
22053: PPUSH
22054: CALL_OW 274
22058: PPUSH
22059: LD_INT 1
22061: PPUSH
22062: CALL_OW 275
22066: ST_TO_ADDR
// if tmp2 >= req_cans then
22067: LD_VAR 0 2
22071: PUSH
22072: LD_EXP 88
22076: GREATEREQUAL
22077: IFFALSE 22111
// begin setresourcetype ( getbase ( tmp ) , mat_cans , tmp2 - req_cans ) ;
22079: LD_VAR 0 1
22083: PPUSH
22084: CALL_OW 274
22088: PPUSH
22089: LD_INT 1
22091: PPUSH
22092: LD_VAR 0 2
22096: PUSH
22097: LD_EXP 88
22101: MINUS
22102: PPUSH
22103: CALL_OW 277
// break ;
22107: GO 22149
// end else
22109: GO 22147
// begin setresourcetype ( getbase ( tmp ) , mat_cans , 0 ) ;
22111: LD_VAR 0 1
22115: PPUSH
22116: CALL_OW 274
22120: PPUSH
22121: LD_INT 1
22123: PPUSH
22124: LD_INT 0
22126: PPUSH
22127: CALL_OW 277
// req_cans = req_cans - tmp2 ;
22131: LD_ADDR_EXP 88
22135: PUSH
22136: LD_EXP 88
22140: PUSH
22141: LD_VAR 0 2
22145: MINUS
22146: ST_TO_ADDR
// end ; end ;
22147: GO 22041
22149: POP
22150: POP
// for tmp in depoty do
22151: LD_ADDR_VAR 0 1
22155: PUSH
22156: LD_VAR 0 7
22160: PUSH
22161: FOR_IN
22162: IFFALSE 22269
// begin tmp2 = getresourcetype ( getbase ( tmp ) , mat_siberit ) ;
22164: LD_ADDR_VAR 0 2
22168: PUSH
22169: LD_VAR 0 1
22173: PPUSH
22174: CALL_OW 274
22178: PPUSH
22179: LD_INT 3
22181: PPUSH
22182: CALL_OW 275
22186: ST_TO_ADDR
// if tmp2 >= req_sib then
22187: LD_VAR 0 2
22191: PUSH
22192: LD_EXP 87
22196: GREATEREQUAL
22197: IFFALSE 22231
// begin setresourcetype ( getbase ( tmp ) , mat_siberit , tmp2 - req_sib ) ;
22199: LD_VAR 0 1
22203: PPUSH
22204: CALL_OW 274
22208: PPUSH
22209: LD_INT 3
22211: PPUSH
22212: LD_VAR 0 2
22216: PUSH
22217: LD_EXP 87
22221: MINUS
22222: PPUSH
22223: CALL_OW 277
// break ;
22227: GO 22269
// end else
22229: GO 22267
// begin setresourcetype ( getbase ( tmp ) , mat_siberit , 0 ) ;
22231: LD_VAR 0 1
22235: PPUSH
22236: CALL_OW 274
22240: PPUSH
22241: LD_INT 3
22243: PPUSH
22244: LD_INT 0
22246: PPUSH
22247: CALL_OW 277
// req_sib = req_sib - tmp2 ;
22251: LD_ADDR_EXP 87
22255: PUSH
22256: LD_EXP 87
22260: PUSH
22261: LD_VAR 0 2
22265: MINUS
22266: ST_TO_ADDR
// end ; end ;
22267: GO 22161
22269: POP
22270: POP
// end ; 3 :
22271: GO 24066
22273: LD_INT 3
22275: DOUBLE
22276: EQUAL
22277: IFTRUE 22281
22279: GO 22582
22281: POP
// begin legion = 1 ;
22282: LD_ADDR_EXP 5
22286: PUSH
22287: LD_INT 1
22289: ST_TO_ADDR
// say ( john , D3Ke-JMM-1 ) ;
22290: LD_EXP 174
22294: PPUSH
22295: LD_STRING D3Ke-JMM-1
22297: PPUSH
22298: CALL_OW 88
// say ( kurt , D3Ke-Kurt-1 ) ;
22302: LD_EXP 177
22306: PPUSH
22307: LD_STRING D3Ke-Kurt-1
22309: PPUSH
22310: CALL_OW 88
// if kurtloc then
22314: LD_EXP 179
22318: IFFALSE 22340
// begin req2_cans = req2_cans_ ;
22320: LD_ADDR_EXP 92
22324: PUSH
22325: LD_EXP 94
22329: ST_TO_ADDR
// req2_sib = req2_sib_ ;
22330: LD_ADDR_EXP 91
22334: PUSH
22335: LD_EXP 93
22339: ST_TO_ADDR
// end ; for tmp in depoty do
22340: LD_ADDR_VAR 0 1
22344: PUSH
22345: LD_VAR 0 7
22349: PUSH
22350: FOR_IN
22351: IFFALSE 22458
// begin tmp2 = getresourcetype ( getbase ( tmp ) , mat_cans ) ;
22353: LD_ADDR_VAR 0 2
22357: PUSH
22358: LD_VAR 0 1
22362: PPUSH
22363: CALL_OW 274
22367: PPUSH
22368: LD_INT 1
22370: PPUSH
22371: CALL_OW 275
22375: ST_TO_ADDR
// if tmp2 >= req2_cans then
22376: LD_VAR 0 2
22380: PUSH
22381: LD_EXP 92
22385: GREATEREQUAL
22386: IFFALSE 22420
// begin setresourcetype ( getbase ( tmp ) , mat_cans , tmp2 - req2_cans ) ;
22388: LD_VAR 0 1
22392: PPUSH
22393: CALL_OW 274
22397: PPUSH
22398: LD_INT 1
22400: PPUSH
22401: LD_VAR 0 2
22405: PUSH
22406: LD_EXP 92
22410: MINUS
22411: PPUSH
22412: CALL_OW 277
// break ;
22416: GO 22458
// end else
22418: GO 22456
// begin setresourcetype ( getbase ( tmp ) , mat_cans , 0 ) ;
22420: LD_VAR 0 1
22424: PPUSH
22425: CALL_OW 274
22429: PPUSH
22430: LD_INT 1
22432: PPUSH
22433: LD_INT 0
22435: PPUSH
22436: CALL_OW 277
// req2_cans = req2_cans - tmp2 ;
22440: LD_ADDR_EXP 92
22444: PUSH
22445: LD_EXP 92
22449: PUSH
22450: LD_VAR 0 2
22454: MINUS
22455: ST_TO_ADDR
// end ; end ;
22456: GO 22350
22458: POP
22459: POP
// for tmp in depoty do
22460: LD_ADDR_VAR 0 1
22464: PUSH
22465: LD_VAR 0 7
22469: PUSH
22470: FOR_IN
22471: IFFALSE 22578
// begin tmp2 = getresourcetype ( getbase ( tmp ) , mat_siberit ) ;
22473: LD_ADDR_VAR 0 2
22477: PUSH
22478: LD_VAR 0 1
22482: PPUSH
22483: CALL_OW 274
22487: PPUSH
22488: LD_INT 3
22490: PPUSH
22491: CALL_OW 275
22495: ST_TO_ADDR
// if tmp2 >= req2_sib then
22496: LD_VAR 0 2
22500: PUSH
22501: LD_EXP 91
22505: GREATEREQUAL
22506: IFFALSE 22540
// begin setresourcetype ( getbase ( tmp ) , mat_siberit , tmp2 - req2_sib ) ;
22508: LD_VAR 0 1
22512: PPUSH
22513: CALL_OW 274
22517: PPUSH
22518: LD_INT 3
22520: PPUSH
22521: LD_VAR 0 2
22525: PUSH
22526: LD_EXP 91
22530: MINUS
22531: PPUSH
22532: CALL_OW 277
// break ;
22536: GO 22578
// end else
22538: GO 22576
// begin setresourcetype ( getbase ( tmp ) , mat_siberit , 0 ) ;
22540: LD_VAR 0 1
22544: PPUSH
22545: CALL_OW 274
22549: PPUSH
22550: LD_INT 3
22552: PPUSH
22553: LD_INT 0
22555: PPUSH
22556: CALL_OW 277
// req2_sib = req2_sib - tmp2 ;
22560: LD_ADDR_EXP 91
22564: PUSH
22565: LD_EXP 91
22569: PUSH
22570: LD_VAR 0 2
22574: MINUS
22575: ST_TO_ADDR
// end ; end ;
22576: GO 22470
22578: POP
22579: POP
// end ; 4 :
22580: GO 24066
22582: LD_INT 4
22584: DOUBLE
22585: EQUAL
22586: IFTRUE 22590
22588: GO 24065
22590: POP
// begin say ( john , D3Kc1-JMM-1 ) ;
22591: LD_EXP 174
22595: PPUSH
22596: LD_STRING D3Kc1-JMM-1
22598: PPUSH
22599: CALL_OW 88
// say ( kurt , D3Kc1-Kurt-1 ) ;
22603: LD_EXP 177
22607: PPUSH
22608: LD_STRING D3Kc1-Kurt-1
22610: PPUSH
22611: CALL_OW 88
// say ( john , D3Kc1-JMM-2 ) ;
22615: LD_EXP 174
22619: PPUSH
22620: LD_STRING D3Kc1-JMM-2
22622: PPUSH
22623: CALL_OW 88
// say ( kurt , D3Kc1-Kurt-2 ) ;
22627: LD_EXP 177
22631: PPUSH
22632: LD_STRING D3Kc1-Kurt-2
22634: PPUSH
22635: CALL_OW 88
// pr_loz = 1 ;
22639: LD_ADDR_EXP 225
22643: PUSH
22644: LD_INT 1
22646: ST_TO_ADDR
// case selectivequery ( Q2b , [ 1 , 2 , 3 ] ) of 1 , 2 :
22647: LD_STRING Q2b
22649: PPUSH
22650: LD_INT 1
22652: PUSH
22653: LD_INT 2
22655: PUSH
22656: LD_INT 3
22658: PUSH
22659: EMPTY
22660: LIST
22661: LIST
22662: LIST
22663: PPUSH
22664: CALL_OW 98
22668: PUSH
22669: LD_INT 1
22671: DOUBLE
22672: EQUAL
22673: IFTRUE 22683
22675: LD_INT 2
22677: DOUBLE
22678: EQUAL
22679: IFTRUE 22683
22681: GO 23456
22683: POP
// begin if vyber = 1 then
22684: LD_LOC 24
22688: PUSH
22689: LD_INT 1
22691: EQUAL
22692: IFFALSE 22708
// say ( john , D4a-JMM-1 ) else
22694: LD_EXP 174
22698: PPUSH
22699: LD_STRING D4a-JMM-1
22701: PPUSH
22702: CALL_OW 88
22706: GO 22732
// begin say ( john , D4b-JMM-1 ) ;
22708: LD_EXP 174
22712: PPUSH
22713: LD_STRING D4b-JMM-1
22715: PPUSH
22716: CALL_OW 88
// say ( kurt , D4b-Kurt-1 ) ;
22720: LD_EXP 177
22724: PPUSH
22725: LD_STRING D4b-Kurt-1
22727: PPUSH
22728: CALL_OW 88
// end ; vyber = selectivequery ( str , li ) ;
22732: LD_ADDR_LOC 24
22736: PUSH
22737: LD_VAR 0 3
22741: PPUSH
22742: LD_VAR 0 4
22746: PPUSH
22747: CALL_OW 98
22751: ST_TO_ADDR
// case vyber of 1 :
22752: LD_LOC 24
22756: PUSH
22757: LD_INT 1
22759: DOUBLE
22760: EQUAL
22761: IFTRUE 22765
22763: GO 22792
22765: POP
// begin say ( john , D3Ka-JMM-1 ) ;
22766: LD_EXP 174
22770: PPUSH
22771: LD_STRING D3Ka-JMM-1
22773: PPUSH
22774: CALL_OW 88
// say ( kurt , D3Ka-Kurt-1 ) ;
22778: LD_EXP 177
22782: PPUSH
22783: LD_STRING D3Ka-Kurt-1
22785: PPUSH
22786: CALL_OW 88
// end ; 2 :
22790: GO 23454
22792: LD_INT 2
22794: DOUBLE
22795: EQUAL
22796: IFTRUE 22800
22798: GO 23101
22800: POP
// begin legion = 0 ;
22801: LD_ADDR_EXP 5
22805: PUSH
22806: LD_INT 0
22808: ST_TO_ADDR
// say ( john , D3Kb-JMM-1 ) ;
22809: LD_EXP 174
22813: PPUSH
22814: LD_STRING D3Kb-JMM-1
22816: PPUSH
22817: CALL_OW 88
// say ( kurt , D3Kb-Kurt-1 ) ;
22821: LD_EXP 177
22825: PPUSH
22826: LD_STRING D3Kb-Kurt-1
22828: PPUSH
22829: CALL_OW 88
// if kurtloc then
22833: LD_EXP 179
22837: IFFALSE 22859
// begin req_cans = req_cans_ ;
22839: LD_ADDR_EXP 88
22843: PUSH
22844: LD_EXP 90
22848: ST_TO_ADDR
// req_sib = req_sib_ ;
22849: LD_ADDR_EXP 87
22853: PUSH
22854: LD_EXP 89
22858: ST_TO_ADDR
// end ; for tmp in depoty do
22859: LD_ADDR_VAR 0 1
22863: PUSH
22864: LD_VAR 0 7
22868: PUSH
22869: FOR_IN
22870: IFFALSE 22977
// begin tmp2 = getresourcetype ( getbase ( tmp ) , mat_cans ) ;
22872: LD_ADDR_VAR 0 2
22876: PUSH
22877: LD_VAR 0 1
22881: PPUSH
22882: CALL_OW 274
22886: PPUSH
22887: LD_INT 1
22889: PPUSH
22890: CALL_OW 275
22894: ST_TO_ADDR
// if tmp2 >= req_cans then
22895: LD_VAR 0 2
22899: PUSH
22900: LD_EXP 88
22904: GREATEREQUAL
22905: IFFALSE 22939
// begin setresourcetype ( getbase ( tmp ) , mat_cans , tmp2 - req_cans ) ;
22907: LD_VAR 0 1
22911: PPUSH
22912: CALL_OW 274
22916: PPUSH
22917: LD_INT 1
22919: PPUSH
22920: LD_VAR 0 2
22924: PUSH
22925: LD_EXP 88
22929: MINUS
22930: PPUSH
22931: CALL_OW 277
// break ;
22935: GO 22977
// end else
22937: GO 22975
// begin setresourcetype ( getbase ( tmp ) , mat_cans , 0 ) ;
22939: LD_VAR 0 1
22943: PPUSH
22944: CALL_OW 274
22948: PPUSH
22949: LD_INT 1
22951: PPUSH
22952: LD_INT 0
22954: PPUSH
22955: CALL_OW 277
// req_cans = req_cans - tmp2 ;
22959: LD_ADDR_EXP 88
22963: PUSH
22964: LD_EXP 88
22968: PUSH
22969: LD_VAR 0 2
22973: MINUS
22974: ST_TO_ADDR
// end ; end ;
22975: GO 22869
22977: POP
22978: POP
// for tmp in depoty do
22979: LD_ADDR_VAR 0 1
22983: PUSH
22984: LD_VAR 0 7
22988: PUSH
22989: FOR_IN
22990: IFFALSE 23097
// begin tmp2 = getresourcetype ( getbase ( tmp ) , mat_siberit ) ;
22992: LD_ADDR_VAR 0 2
22996: PUSH
22997: LD_VAR 0 1
23001: PPUSH
23002: CALL_OW 274
23006: PPUSH
23007: LD_INT 3
23009: PPUSH
23010: CALL_OW 275
23014: ST_TO_ADDR
// if tmp2 >= req_sib then
23015: LD_VAR 0 2
23019: PUSH
23020: LD_EXP 87
23024: GREATEREQUAL
23025: IFFALSE 23059
// begin setresourcetype ( getbase ( tmp ) , mat_siberit , tmp2 - req_sib ) ;
23027: LD_VAR 0 1
23031: PPUSH
23032: CALL_OW 274
23036: PPUSH
23037: LD_INT 3
23039: PPUSH
23040: LD_VAR 0 2
23044: PUSH
23045: LD_EXP 87
23049: MINUS
23050: PPUSH
23051: CALL_OW 277
// break ;
23055: GO 23097
// end else
23057: GO 23095
// begin setresourcetype ( getbase ( tmp ) , mat_siberit , 0 ) ;
23059: LD_VAR 0 1
23063: PPUSH
23064: CALL_OW 274
23068: PPUSH
23069: LD_INT 3
23071: PPUSH
23072: LD_INT 0
23074: PPUSH
23075: CALL_OW 277
// req_sib = req_sib - tmp2 ;
23079: LD_ADDR_EXP 87
23083: PUSH
23084: LD_EXP 87
23088: PUSH
23089: LD_VAR 0 2
23093: MINUS
23094: ST_TO_ADDR
// end ; end ;
23095: GO 22989
23097: POP
23098: POP
// end ; 3 :
23099: GO 23454
23101: LD_INT 3
23103: DOUBLE
23104: EQUAL
23105: IFTRUE 23109
23107: GO 23410
23109: POP
// begin legion = 1 ;
23110: LD_ADDR_EXP 5
23114: PUSH
23115: LD_INT 1
23117: ST_TO_ADDR
// say ( john , D3Ke-JMM-1 ) ;
23118: LD_EXP 174
23122: PPUSH
23123: LD_STRING D3Ke-JMM-1
23125: PPUSH
23126: CALL_OW 88
// say ( kurt , D3Ke-Kurt-1 ) ;
23130: LD_EXP 177
23134: PPUSH
23135: LD_STRING D3Ke-Kurt-1
23137: PPUSH
23138: CALL_OW 88
// if kurtloc then
23142: LD_EXP 179
23146: IFFALSE 23168
// begin req2_cans = req2_cans_ ;
23148: LD_ADDR_EXP 92
23152: PUSH
23153: LD_EXP 94
23157: ST_TO_ADDR
// req2_sib = req2_sib_ ;
23158: LD_ADDR_EXP 91
23162: PUSH
23163: LD_EXP 93
23167: ST_TO_ADDR
// end ; for tmp in depoty do
23168: LD_ADDR_VAR 0 1
23172: PUSH
23173: LD_VAR 0 7
23177: PUSH
23178: FOR_IN
23179: IFFALSE 23286
// begin tmp2 = getresourcetype ( getbase ( tmp ) , mat_cans ) ;
23181: LD_ADDR_VAR 0 2
23185: PUSH
23186: LD_VAR 0 1
23190: PPUSH
23191: CALL_OW 274
23195: PPUSH
23196: LD_INT 1
23198: PPUSH
23199: CALL_OW 275
23203: ST_TO_ADDR
// if tmp2 >= req2_cans then
23204: LD_VAR 0 2
23208: PUSH
23209: LD_EXP 92
23213: GREATEREQUAL
23214: IFFALSE 23248
// begin setresourcetype ( getbase ( tmp ) , mat_cans , tmp2 - req2_cans ) ;
23216: LD_VAR 0 1
23220: PPUSH
23221: CALL_OW 274
23225: PPUSH
23226: LD_INT 1
23228: PPUSH
23229: LD_VAR 0 2
23233: PUSH
23234: LD_EXP 92
23238: MINUS
23239: PPUSH
23240: CALL_OW 277
// break ;
23244: GO 23286
// end else
23246: GO 23284
// begin setresourcetype ( getbase ( tmp ) , mat_cans , 0 ) ;
23248: LD_VAR 0 1
23252: PPUSH
23253: CALL_OW 274
23257: PPUSH
23258: LD_INT 1
23260: PPUSH
23261: LD_INT 0
23263: PPUSH
23264: CALL_OW 277
// req2_cans = req2_cans - tmp2 ;
23268: LD_ADDR_EXP 92
23272: PUSH
23273: LD_EXP 92
23277: PUSH
23278: LD_VAR 0 2
23282: MINUS
23283: ST_TO_ADDR
// end ; end ;
23284: GO 23178
23286: POP
23287: POP
// for tmp in depoty do
23288: LD_ADDR_VAR 0 1
23292: PUSH
23293: LD_VAR 0 7
23297: PUSH
23298: FOR_IN
23299: IFFALSE 23406
// begin tmp2 = getresourcetype ( getbase ( tmp ) , mat_siberit ) ;
23301: LD_ADDR_VAR 0 2
23305: PUSH
23306: LD_VAR 0 1
23310: PPUSH
23311: CALL_OW 274
23315: PPUSH
23316: LD_INT 3
23318: PPUSH
23319: CALL_OW 275
23323: ST_TO_ADDR
// if tmp2 >= req2_sib then
23324: LD_VAR 0 2
23328: PUSH
23329: LD_EXP 91
23333: GREATEREQUAL
23334: IFFALSE 23368
// begin setresourcetype ( getbase ( tmp ) , mat_siberit , tmp2 - req2_sib ) ;
23336: LD_VAR 0 1
23340: PPUSH
23341: CALL_OW 274
23345: PPUSH
23346: LD_INT 3
23348: PPUSH
23349: LD_VAR 0 2
23353: PUSH
23354: LD_EXP 91
23358: MINUS
23359: PPUSH
23360: CALL_OW 277
// break ;
23364: GO 23406
// end else
23366: GO 23404
// begin setresourcetype ( getbase ( tmp ) , mat_siberit , 0 ) ;
23368: LD_VAR 0 1
23372: PPUSH
23373: CALL_OW 274
23377: PPUSH
23378: LD_INT 3
23380: PPUSH
23381: LD_INT 0
23383: PPUSH
23384: CALL_OW 277
// req2_sib = req2_sib - tmp2 ;
23388: LD_ADDR_EXP 91
23392: PUSH
23393: LD_EXP 91
23397: PUSH
23398: LD_VAR 0 2
23402: MINUS
23403: ST_TO_ADDR
// end ; end ;
23404: GO 23298
23406: POP
23407: POP
// end ; 4 :
23408: GO 23454
23410: LD_INT 4
23412: DOUBLE
23413: EQUAL
23414: IFTRUE 23418
23416: GO 23453
23418: POP
// begin say ( john , D3Kc2-JMM-1 ) ;
23419: LD_EXP 174
23423: PPUSH
23424: LD_STRING D3Kc2-JMM-1
23426: PPUSH
23427: CALL_OW 88
// say ( kurt , D3Kc2-Kurt-1 ) ;
23431: LD_EXP 177
23435: PPUSH
23436: LD_STRING D3Kc2-Kurt-1
23438: PPUSH
23439: CALL_OW 88
// vyber = 1 ;
23443: LD_ADDR_LOC 24
23447: PUSH
23448: LD_INT 1
23450: ST_TO_ADDR
// end ; end ;
23451: GO 23454
23453: POP
// end ; 3 :
23454: GO 24063
23456: LD_INT 3
23458: DOUBLE
23459: EQUAL
23460: IFTRUE 23464
23462: GO 24062
23464: POP
// begin say ( john , D4c-JMM-1 ) ;
23465: LD_EXP 174
23469: PPUSH
23470: LD_STRING D4c-JMM-1
23472: PPUSH
23473: CALL_OW 88
// say ( kurt , D4c-Kurt-1 ) ;
23477: LD_EXP 177
23481: PPUSH
23482: LD_STRING D4c-Kurt-1
23484: PPUSH
23485: CALL_OW 88
// say ( john , D4c-JMM-2 ) ;
23489: LD_EXP 174
23493: PPUSH
23494: LD_STRING D4c-JMM-2
23496: PPUSH
23497: CALL_OW 88
// say ( kurt , D4c-Kurt-2 ) ;
23501: LD_EXP 177
23505: PPUSH
23506: LD_STRING D4c-Kurt-2
23508: PPUSH
23509: CALL_OW 88
// legion_cheated = 1 ;
23513: LD_ADDR_EXP 227
23517: PUSH
23518: LD_INT 1
23520: ST_TO_ADDR
// vyber = 2 ;
23521: LD_ADDR_LOC 24
23525: PUSH
23526: LD_INT 2
23528: ST_TO_ADDR
// legion = 0 ;
23529: LD_ADDR_EXP 5
23533: PUSH
23534: LD_INT 0
23536: ST_TO_ADDR
// li = [ 1 ] ;
23537: LD_ADDR_VAR 0 4
23541: PUSH
23542: LD_INT 1
23544: PUSH
23545: EMPTY
23546: LIST
23547: ST_TO_ADDR
// if kurtloc = 0 then
23548: LD_EXP 179
23552: PUSH
23553: LD_INT 0
23555: EQUAL
23556: IFFALSE 23609
// begin str = Q2c ;
23558: LD_ADDR_VAR 0 3
23562: PUSH
23563: LD_STRING Q2c
23565: ST_TO_ADDR
// if ( tmpc >= req_cans ) and ( tmps >= req_sib ) then
23566: LD_VAR 0 6
23570: PUSH
23571: LD_EXP 88
23575: GREATEREQUAL
23576: PUSH
23577: LD_VAR 0 5
23581: PUSH
23582: LD_EXP 87
23586: GREATEREQUAL
23587: AND
23588: IFFALSE 23607
// li = li ^ [ 2 ] ;
23590: LD_ADDR_VAR 0 4
23594: PUSH
23595: LD_VAR 0 4
23599: PUSH
23600: LD_INT 2
23602: PUSH
23603: EMPTY
23604: LIST
23605: ADD
23606: ST_TO_ADDR
// end else
23607: GO 23658
// begin str = Q2cK ;
23609: LD_ADDR_VAR 0 3
23613: PUSH
23614: LD_STRING Q2cK
23616: ST_TO_ADDR
// if ( tmpc >= req_cans_ ) and ( tmps >= req_sib_ ) then
23617: LD_VAR 0 6
23621: PUSH
23622: LD_EXP 90
23626: GREATEREQUAL
23627: PUSH
23628: LD_VAR 0 5
23632: PUSH
23633: LD_EXP 89
23637: GREATEREQUAL
23638: AND
23639: IFFALSE 23658
// li = li ^ [ 2 ] ;
23641: LD_ADDR_VAR 0 4
23645: PUSH
23646: LD_VAR 0 4
23650: PUSH
23651: LD_INT 2
23653: PUSH
23654: EMPTY
23655: LIST
23656: ADD
23657: ST_TO_ADDR
// end ; if li > 1 then
23658: LD_VAR 0 4
23662: PUSH
23663: LD_INT 1
23665: GREATER
23666: IFFALSE 24060
// begin vyber = selectivequery ( str , li ) ;
23668: LD_ADDR_LOC 24
23672: PUSH
23673: LD_VAR 0 3
23677: PPUSH
23678: LD_VAR 0 4
23682: PPUSH
23683: CALL_OW 98
23687: ST_TO_ADDR
// case vyber of 1 :
23688: LD_LOC 24
23692: PUSH
23693: LD_INT 1
23695: DOUBLE
23696: EQUAL
23697: IFTRUE 23701
23699: GO 23728
23701: POP
// begin say ( john , D5Ka-JMM-1 ) ;
23702: LD_EXP 174
23706: PPUSH
23707: LD_STRING D5Ka-JMM-1
23709: PPUSH
23710: CALL_OW 88
// say ( kurt , D5Ka-Kurt-1 ) ;
23714: LD_EXP 177
23718: PPUSH
23719: LD_STRING D5Ka-Kurt-1
23721: PPUSH
23722: CALL_OW 88
// end ; 2 :
23726: GO 24060
23728: LD_INT 2
23730: DOUBLE
23731: EQUAL
23732: IFTRUE 23736
23734: GO 24059
23736: POP
// begin legion = 1 ;
23737: LD_ADDR_EXP 5
23741: PUSH
23742: LD_INT 1
23744: ST_TO_ADDR
// say ( john , D3Ke-JMM-1 ) ;
23745: LD_EXP 174
23749: PPUSH
23750: LD_STRING D3Ke-JMM-1
23752: PPUSH
23753: CALL_OW 88
// say ( kurt , D3Ke-Kurt-1 ) ;
23757: LD_EXP 177
23761: PPUSH
23762: LD_STRING D3Ke-Kurt-1
23764: PPUSH
23765: CALL_OW 88
// if kurtloc then
23769: LD_EXP 179
23773: IFFALSE 23797
// begin req2_cans = req_cans_ ;
23775: LD_ADDR_EXP 92
23779: PUSH
23780: LD_EXP 90
23784: ST_TO_ADDR
// req2_sib = req_sib_ ;
23785: LD_ADDR_EXP 91
23789: PUSH
23790: LD_EXP 89
23794: ST_TO_ADDR
// end else
23795: GO 23817
// begin req2_cans = req_cans ;
23797: LD_ADDR_EXP 92
23801: PUSH
23802: LD_EXP 88
23806: ST_TO_ADDR
// req2_sib = req_sib ;
23807: LD_ADDR_EXP 91
23811: PUSH
23812: LD_EXP 87
23816: ST_TO_ADDR
// end ; for tmp in depoty do
23817: LD_ADDR_VAR 0 1
23821: PUSH
23822: LD_VAR 0 7
23826: PUSH
23827: FOR_IN
23828: IFFALSE 23935
// begin tmp2 = getresourcetype ( getbase ( tmp ) , mat_cans ) ;
23830: LD_ADDR_VAR 0 2
23834: PUSH
23835: LD_VAR 0 1
23839: PPUSH
23840: CALL_OW 274
23844: PPUSH
23845: LD_INT 1
23847: PPUSH
23848: CALL_OW 275
23852: ST_TO_ADDR
// if tmp2 >= req2_cans then
23853: LD_VAR 0 2
23857: PUSH
23858: LD_EXP 92
23862: GREATEREQUAL
23863: IFFALSE 23897
// begin setresourcetype ( getbase ( tmp ) , mat_cans , tmp2 - req2_cans ) ;
23865: LD_VAR 0 1
23869: PPUSH
23870: CALL_OW 274
23874: PPUSH
23875: LD_INT 1
23877: PPUSH
23878: LD_VAR 0 2
23882: PUSH
23883: LD_EXP 92
23887: MINUS
23888: PPUSH
23889: CALL_OW 277
// break ;
23893: GO 23935
// end else
23895: GO 23933
// begin setresourcetype ( getbase ( tmp ) , mat_cans , 0 ) ;
23897: LD_VAR 0 1
23901: PPUSH
23902: CALL_OW 274
23906: PPUSH
23907: LD_INT 1
23909: PPUSH
23910: LD_INT 0
23912: PPUSH
23913: CALL_OW 277
// req2_cans = req2_cans - tmp2 ;
23917: LD_ADDR_EXP 92
23921: PUSH
23922: LD_EXP 92
23926: PUSH
23927: LD_VAR 0 2
23931: MINUS
23932: ST_TO_ADDR
// end ; end ;
23933: GO 23827
23935: POP
23936: POP
// for tmp in depoty do
23937: LD_ADDR_VAR 0 1
23941: PUSH
23942: LD_VAR 0 7
23946: PUSH
23947: FOR_IN
23948: IFFALSE 24055
// begin tmp2 = getresourcetype ( getbase ( tmp ) , mat_siberit ) ;
23950: LD_ADDR_VAR 0 2
23954: PUSH
23955: LD_VAR 0 1
23959: PPUSH
23960: CALL_OW 274
23964: PPUSH
23965: LD_INT 3
23967: PPUSH
23968: CALL_OW 275
23972: ST_TO_ADDR
// if tmp2 >= req2_sib then
23973: LD_VAR 0 2
23977: PUSH
23978: LD_EXP 91
23982: GREATEREQUAL
23983: IFFALSE 24017
// begin setresourcetype ( getbase ( tmp ) , mat_siberit , tmp2 - req2_sib ) ;
23985: LD_VAR 0 1
23989: PPUSH
23990: CALL_OW 274
23994: PPUSH
23995: LD_INT 3
23997: PPUSH
23998: LD_VAR 0 2
24002: PUSH
24003: LD_EXP 91
24007: MINUS
24008: PPUSH
24009: CALL_OW 277
// break ;
24013: GO 24055
// end else
24015: GO 24053
// begin setresourcetype ( getbase ( tmp ) , mat_siberit , 0 ) ;
24017: LD_VAR 0 1
24021: PPUSH
24022: CALL_OW 274
24026: PPUSH
24027: LD_INT 3
24029: PPUSH
24030: LD_INT 0
24032: PPUSH
24033: CALL_OW 277
// req2_sib = req2_sib - tmp2 ;
24037: LD_ADDR_EXP 91
24041: PUSH
24042: LD_EXP 91
24046: PUSH
24047: LD_VAR 0 2
24051: MINUS
24052: ST_TO_ADDR
// end ; end ;
24053: GO 23947
24055: POP
24056: POP
// end ; end ;
24057: GO 24060
24059: POP
// end ; end ; end ;
24060: GO 24063
24062: POP
// end ; end ;
24063: GO 24066
24065: POP
// end ; end ;
24066: GO 24069
24068: POP
// changesidefog ( ar , ar ) ;
24069: LD_EXP 3
24073: PPUSH
24074: LD_EXP 3
24078: PPUSH
24079: CALL_OW 343
// dialogueoff ;
24083: CALL_OW 7
// smejdi_ar = [ ] ;
24087: LD_ADDR_EXP 228
24091: PUSH
24092: EMPTY
24093: ST_TO_ADDR
// case legion of - 1 :
24094: LD_EXP 5
24098: PUSH
24099: LD_INT 1
24101: NEG
24102: DOUBLE
24103: EQUAL
24104: IFTRUE 24108
24106: GO 24348
24108: POP
// begin setattitude ( rus , ar , att_friend , true ) ;
24109: LD_EXP 1
24113: PPUSH
24114: LD_EXP 3
24118: PPUSH
24119: LD_INT 1
24121: PPUSH
24122: LD_INT 1
24124: PPUSH
24125: CALL_OW 80
// uc_nation = nation_arabian ;
24129: LD_ADDR_OWVAR 21
24133: PUSH
24134: LD_INT 2
24136: ST_TO_ADDR
// uc_side = ar ;
24137: LD_ADDR_OWVAR 20
24141: PUSH
24142: LD_EXP 3
24146: ST_TO_ADDR
// preparesoldier ( sex_male , 6 ) ;
24147: LD_INT 1
24149: PPUSH
24150: LD_INT 6
24152: PPUSH
24153: CALL_OW 381
// tmp2 = createhuman ;
24157: LD_ADDR_VAR 0 2
24161: PUSH
24162: CALL_OW 44
24166: ST_TO_ADDR
// placeunitxyr ( tmp2 , 35 , 42 , 2 , false ) ;
24167: LD_VAR 0 2
24171: PPUSH
24172: LD_INT 35
24174: PPUSH
24175: LD_INT 42
24177: PPUSH
24178: LD_INT 2
24180: PPUSH
24181: LD_INT 0
24183: PPUSH
24184: CALL_OW 50
// complaceremotecharge ( tmp2 , 36 , 51 , 0 ) ;
24188: LD_VAR 0 2
24192: PPUSH
24193: LD_INT 36
24195: PPUSH
24196: LD_INT 51
24198: PPUSH
24199: LD_INT 0
24201: PPUSH
24202: CALL_OW 133
// addcommovexy ( tmp2 , 36 , 44 ) ;
24206: LD_VAR 0 2
24210: PPUSH
24211: LD_INT 36
24213: PPUSH
24214: LD_INT 44
24216: PPUSH
24217: CALL_OW 171
// addcomcrawl ( tmp2 ) ;
24221: LD_VAR 0 2
24225: PPUSH
24226: CALL_OW 197
// addcomturnxy ( tmp2 , 36 , 51 ) ;
24230: LD_VAR 0 2
24234: PPUSH
24235: LD_INT 36
24237: PPUSH
24238: LD_INT 51
24240: PPUSH
24241: CALL_OW 178
// preparesoldier ( sex_female , 6 ) ;
24245: LD_INT 2
24247: PPUSH
24248: LD_INT 6
24250: PPUSH
24251: CALL_OW 381
// tmp2 = createhuman ;
24255: LD_ADDR_VAR 0 2
24259: PUSH
24260: CALL_OW 44
24264: ST_TO_ADDR
// placeunitxyr ( tmp2 , 35 , 42 , 2 , false ) ;
24265: LD_VAR 0 2
24269: PPUSH
24270: LD_INT 35
24272: PPUSH
24273: LD_INT 42
24275: PPUSH
24276: LD_INT 2
24278: PPUSH
24279: LD_INT 0
24281: PPUSH
24282: CALL_OW 50
// complaceremotecharge ( tmp2 , 35 , 51 , 0 ) ;
24286: LD_VAR 0 2
24290: PPUSH
24291: LD_INT 35
24293: PPUSH
24294: LD_INT 51
24296: PPUSH
24297: LD_INT 0
24299: PPUSH
24300: CALL_OW 133
// addcommovexy ( tmp2 , 35 , 43 ) ;
24304: LD_VAR 0 2
24308: PPUSH
24309: LD_INT 35
24311: PPUSH
24312: LD_INT 43
24314: PPUSH
24315: CALL_OW 171
// addcomcrawl ( tmp2 ) ;
24319: LD_VAR 0 2
24323: PPUSH
24324: CALL_OW 197
// addcomturnxy ( tmp2 , 35 , 51 ) ;
24328: LD_VAR 0 2
24332: PPUSH
24333: LD_INT 35
24335: PPUSH
24336: LD_INT 51
24338: PPUSH
24339: CALL_OW 178
// enable ( 16 ) ;
24343: LD_INT 16
24345: ENABLE_MARKED
// end ; 0 :
24346: GO 24956
24348: LD_INT 0
24350: DOUBLE
24351: EQUAL
24352: IFTRUE 24356
24354: GO 24399
24356: POP
// begin setattitude ( am , ar , att_neutral , true ) ;
24357: LD_EXP 2
24361: PPUSH
24362: LD_EXP 3
24366: PPUSH
24367: LD_INT 0
24369: PPUSH
24370: LD_INT 1
24372: PPUSH
24373: CALL_OW 80
// setattitude ( rus , ar , att_neutral , true ) ;
24377: LD_EXP 1
24381: PPUSH
24382: LD_EXP 3
24386: PPUSH
24387: LD_INT 0
24389: PPUSH
24390: LD_INT 1
24392: PPUSH
24393: CALL_OW 80
// end ; 1 :
24397: GO 24956
24399: LD_INT 1
24401: DOUBLE
24402: EQUAL
24403: IFTRUE 24407
24405: GO 24955
24407: POP
// begin SA_OnEmployMercenaries ;
24408: CALL 28352 0 0
// setattitude ( am , ar , att_friend , true ) ;
24412: LD_EXP 2
24416: PPUSH
24417: LD_EXP 3
24421: PPUSH
24422: LD_INT 1
24424: PPUSH
24425: LD_INT 1
24427: PPUSH
24428: CALL_OW 80
// setattitude ( rus , ar , att_enemy , true ) ;
24432: LD_EXP 1
24436: PPUSH
24437: LD_EXP 3
24441: PPUSH
24442: LD_INT 2
24444: PPUSH
24445: LD_INT 1
24447: PPUSH
24448: CALL_OW 80
// uc_nation = nation_arabian ;
24452: LD_ADDR_OWVAR 21
24456: PUSH
24457: LD_INT 2
24459: ST_TO_ADDR
// uc_side = am ;
24460: LD_ADDR_OWVAR 20
24464: PUSH
24465: LD_EXP 2
24469: ST_TO_ADDR
// vc_control = control_manual ;
24470: LD_ADDR_OWVAR 38
24474: PUSH
24475: LD_INT 1
24477: ST_TO_ADDR
// vc_engine = engine_siberite ;
24478: LD_ADDR_OWVAR 39
24482: PUSH
24483: LD_INT 3
24485: ST_TO_ADDR
// vc_chassis = arv0_ch ;
24486: LD_ADDR_OWVAR 37
24490: PUSH
24491: LD_EXP 130
24495: ST_TO_ADDR
// vc_weapon = arv0_wp ;
24496: LD_ADDR_OWVAR 40
24500: PUSH
24501: LD_EXP 131
24505: ST_TO_ADDR
// tmp2 = createvehicle ;
24506: LD_ADDR_VAR 0 2
24510: PUSH
24511: CALL_OW 45
24515: ST_TO_ADDR
// preparemechanic ( sex_male , arv0_dr ) ;
24516: LD_INT 1
24518: PPUSH
24519: LD_EXP 132
24523: PPUSH
24524: CALL_OW 383
// setdir ( tmp2 , 4 ) ;
24528: LD_VAR 0 2
24532: PPUSH
24533: LD_INT 4
24535: PPUSH
24536: CALL_OW 233
// placeunitxyr ( tmp2 , 144 , 96 , 2 , false ) ;
24540: LD_VAR 0 2
24544: PPUSH
24545: LD_INT 144
24547: PPUSH
24548: LD_INT 96
24550: PPUSH
24551: LD_INT 2
24553: PPUSH
24554: LD_INT 0
24556: PPUSH
24557: CALL_OW 50
// placehumaninunit ( createhuman , tmp2 ) ;
24561: CALL_OW 44
24565: PPUSH
24566: LD_VAR 0 2
24570: PPUSH
24571: CALL_OW 52
// tmp = [ tmp2 ] ;
24575: LD_ADDR_VAR 0 1
24579: PUSH
24580: LD_VAR 0 2
24584: PUSH
24585: EMPTY
24586: LIST
24587: ST_TO_ADDR
// vc_chassis = arv1_ch ;
24588: LD_ADDR_OWVAR 37
24592: PUSH
24593: LD_EXP 133
24597: ST_TO_ADDR
// vc_weapon = arv1_wp ;
24598: LD_ADDR_OWVAR 40
24602: PUSH
24603: LD_EXP 134
24607: ST_TO_ADDR
// tmp2 = createvehicle ;
24608: LD_ADDR_VAR 0 2
24612: PUSH
24613: CALL_OW 45
24617: ST_TO_ADDR
// preparemechanic ( sex_female , arv1_dr ) ;
24618: LD_INT 2
24620: PPUSH
24621: LD_EXP 135
24625: PPUSH
24626: CALL_OW 383
// setdir ( tmp2 , 4 ) ;
24630: LD_VAR 0 2
24634: PPUSH
24635: LD_INT 4
24637: PPUSH
24638: CALL_OW 233
// placeunitxyr ( tmp2 , 144 , 99 , 2 , false ) ;
24642: LD_VAR 0 2
24646: PPUSH
24647: LD_INT 144
24649: PPUSH
24650: LD_INT 99
24652: PPUSH
24653: LD_INT 2
24655: PPUSH
24656: LD_INT 0
24658: PPUSH
24659: CALL_OW 50
// placehumaninunit ( createhuman , tmp2 ) ;
24663: CALL_OW 44
24667: PPUSH
24668: LD_VAR 0 2
24672: PPUSH
24673: CALL_OW 52
// tmp = tmp ^ [ tmp2 ] ;
24677: LD_ADDR_VAR 0 1
24681: PUSH
24682: LD_VAR 0 1
24686: PUSH
24687: LD_VAR 0 2
24691: PUSH
24692: EMPTY
24693: LIST
24694: ADD
24695: ST_TO_ADDR
// vc_chassis = arv2_ch ;
24696: LD_ADDR_OWVAR 37
24700: PUSH
24701: LD_EXP 136
24705: ST_TO_ADDR
// vc_weapon = arv2_wp ;
24706: LD_ADDR_OWVAR 40
24710: PUSH
24711: LD_EXP 137
24715: ST_TO_ADDR
// tmp2 = createvehicle ;
24716: LD_ADDR_VAR 0 2
24720: PUSH
24721: CALL_OW 45
24725: ST_TO_ADDR
// preparemechanic ( sex_male , arv2_dr ) ;
24726: LD_INT 1
24728: PPUSH
24729: LD_EXP 138
24733: PPUSH
24734: CALL_OW 383
// setdir ( tmp2 , 4 ) ;
24738: LD_VAR 0 2
24742: PPUSH
24743: LD_INT 4
24745: PPUSH
24746: CALL_OW 233
// placeunitxyr ( tmp2 , 147 , 102 , 2 , false ) ;
24750: LD_VAR 0 2
24754: PPUSH
24755: LD_INT 147
24757: PPUSH
24758: LD_INT 102
24760: PPUSH
24761: LD_INT 2
24763: PPUSH
24764: LD_INT 0
24766: PPUSH
24767: CALL_OW 50
// placehumaninunit ( createhuman , tmp2 ) ;
24771: CALL_OW 44
24775: PPUSH
24776: LD_VAR 0 2
24780: PPUSH
24781: CALL_OW 52
// tmp = tmp ^ [ tmp2 ] ;
24785: LD_ADDR_VAR 0 1
24789: PUSH
24790: LD_VAR 0 1
24794: PUSH
24795: LD_VAR 0 2
24799: PUSH
24800: EMPTY
24801: LIST
24802: ADD
24803: ST_TO_ADDR
// preparesoldier ( sex_male , arsld0 ) ;
24804: LD_INT 1
24806: PPUSH
24807: LD_EXP 139
24811: PPUSH
24812: CALL_OW 381
// tmp2 = createhuman ;
24816: LD_ADDR_VAR 0 2
24820: PUSH
24821: CALL_OW 44
24825: ST_TO_ADDR
// placeunitxyr ( tmp2 , 143 , 97 , 2 , false ) ;
24826: LD_VAR 0 2
24830: PPUSH
24831: LD_INT 143
24833: PPUSH
24834: LD_INT 97
24836: PPUSH
24837: LD_INT 2
24839: PPUSH
24840: LD_INT 0
24842: PPUSH
24843: CALL_OW 50
// tmp = tmp ^ [ tmp2 ] ;
24847: LD_ADDR_VAR 0 1
24851: PUSH
24852: LD_VAR 0 1
24856: PUSH
24857: LD_VAR 0 2
24861: PUSH
24862: EMPTY
24863: LIST
24864: ADD
24865: ST_TO_ADDR
// preparesoldier ( sex_male , arsld1 ) ;
24866: LD_INT 1
24868: PPUSH
24869: LD_EXP 140
24873: PPUSH
24874: CALL_OW 381
// tmp2 = createhuman ;
24878: LD_ADDR_VAR 0 2
24882: PUSH
24883: CALL_OW 44
24887: ST_TO_ADDR
// placeunitxyr ( tmp2 , 147 , 100 , 2 , false ) ;
24888: LD_VAR 0 2
24892: PPUSH
24893: LD_INT 147
24895: PPUSH
24896: LD_INT 100
24898: PPUSH
24899: LD_INT 2
24901: PPUSH
24902: LD_INT 0
24904: PPUSH
24905: CALL_OW 50
// tmp = tmp ^ [ tmp2 ] ;
24909: LD_ADDR_VAR 0 1
24913: PUSH
24914: LD_VAR 0 1
24918: PUSH
24919: LD_VAR 0 2
24923: PUSH
24924: EMPTY
24925: LIST
24926: ADD
24927: ST_TO_ADDR
// commovexy ( tmp , 134 , 93 ) ;
24928: LD_VAR 0 1
24932: PPUSH
24933: LD_INT 134
24935: PPUSH
24936: LD_INT 93
24938: PPUSH
24939: CALL_OW 111
// smejdi_ar = tmp ;
24943: LD_ADDR_EXP 228
24947: PUSH
24948: LD_VAR 0 1
24952: ST_TO_ADDR
// end ; end ;
24953: GO 24956
24955: POP
// comenterunit ( kurt , kurt_veh ) ;
24956: LD_EXP 177
24960: PPUSH
24961: LD_EXP 178
24965: PPUSH
24966: CALL_OW 120
// while not isinunit ( kurt ) do
24970: LD_EXP 177
24974: PPUSH
24975: CALL_OW 310
24979: NOT
24980: IFFALSE 25005
// begin wait ( 0 0$1 ) ;
24982: LD_INT 35
24984: PPUSH
24985: CALL_OW 67
// comenterunit ( kurt , kurt_veh ) ;
24989: LD_EXP 177
24993: PPUSH
24994: LD_EXP 178
24998: PPUSH
24999: CALL_OW 120
// end ;
25003: GO 24970
// commovexy ( kurt_veh , 150 , 101 ) ;
25005: LD_EXP 178
25009: PPUSH
25010: LD_INT 150
25012: PPUSH
25013: LD_INT 101
25015: PPUSH
25016: CALL_OW 111
// enable ( 10 ) ;
25020: LD_INT 10
25022: ENABLE_MARKED
// enable ( 99 ) ;
25023: LD_INT 99
25025: ENABLE_MARKED
// hint ( Legion ) ;
25026: LD_STRING Legion
25028: PPUSH
25029: CALL_OW 339
// end ;
25033: PPOPN 7
25035: END
// export smejdi_ar ; every 0 0$1 trigger isplaced ( kurt ) and ( not hastask ( kurt_veh ) ) marked 99 do
25036: LD_EXP 177
25040: PPUSH
25041: CALL_OW 305
25045: PUSH
25046: LD_EXP 178
25050: PPUSH
25051: CALL_OW 314
25055: NOT
25056: AND
25057: IFFALSE 25078
25059: GO 25061
25061: DISABLE
// begin commovexy ( kurt_veh , 150 , 101 ) ;
25062: LD_EXP 178
25066: PPUSH
25067: LD_INT 150
25069: PPUSH
25070: LD_INT 101
25072: PPUSH
25073: CALL_OW 111
// enable ;
25077: ENABLE
// end ;
25078: END
// every 0 0$1 trigger isinarea ( kurt_veh , odjezd ) marked 10 do
25079: LD_EXP 178
25083: PPUSH
25084: LD_INT 10
25086: PPUSH
25087: CALL_OW 308
25091: IFFALSE 25139
25093: GO 25095
25095: DISABLE
// begin disable ( 99 ) ;
25096: LD_INT 99
25098: DISABLE_MARKED
// destroyunit ( kurt_veh ) ;
25099: LD_EXP 178
25103: PPUSH
25104: CALL_OW 65
// if legion = - 1 then
25108: LD_EXP 5
25112: PUSH
25113: LD_INT 1
25115: NEG
25116: EQUAL
25117: IFFALSE 25139
// setattitude ( am , ar , att_enemy , true ) ;
25119: LD_EXP 2
25123: PPUSH
25124: LD_EXP 3
25128: PPUSH
25129: LD_INT 2
25131: PPUSH
25132: LD_INT 1
25134: PPUSH
25135: CALL_OW 80
// end ;
25139: END
// every 0 0$0.5 trigger filterunitsinarea ( minefield , [ [ f_side , am ] , [ f_type , unit_human ] ] ) marked 16 do
25140: LD_INT 13
25142: PPUSH
25143: LD_INT 22
25145: PUSH
25146: LD_EXP 2
25150: PUSH
25151: EMPTY
25152: LIST
25153: LIST
25154: PUSH
25155: LD_INT 21
25157: PUSH
25158: LD_INT 1
25160: PUSH
25161: EMPTY
25162: LIST
25163: LIST
25164: PUSH
25165: EMPTY
25166: LIST
25167: LIST
25168: PPUSH
25169: CALL_OW 70
25173: IFFALSE 25213
25175: GO 25177
25177: DISABLE
// begin comfireexplosives ( filterallunits ( [ [ f_side , ar ] , [ f_type , unit_human ] ] ) ) ;
25178: LD_INT 22
25180: PUSH
25181: LD_EXP 3
25185: PUSH
25186: EMPTY
25187: LIST
25188: LIST
25189: PUSH
25190: LD_INT 21
25192: PUSH
25193: LD_INT 1
25195: PUSH
25196: EMPTY
25197: LIST
25198: LIST
25199: PUSH
25200: EMPTY
25201: LIST
25202: LIST
25203: PPUSH
25204: CALL_OW 69
25208: PPUSH
25209: CALL_OW 134
// end ;
25213: END
// every 0 0$0.85 trigger seexy ( am , 36 , 53 ) do var tmp , tmp1 , tmp2 ;
25214: LD_EXP 2
25218: PPUSH
25219: LD_INT 36
25221: PPUSH
25222: LD_INT 53
25224: PPUSH
25225: CALL_OW 293
25229: IFFALSE 25688
25231: GO 25233
25233: DISABLE
25234: LD_INT 0
25236: PPUSH
25237: PPUSH
25238: PPUSH
// begin dialogueon ;
25239: CALL_OW 6
// if isinarea ( john , vidimost ) then
25243: LD_EXP 174
25247: PPUSH
25248: LD_INT 12
25250: PPUSH
25251: CALL_OW 308
25255: IFFALSE 25305
// begin say ( john , D5-JMM-1 ) ;
25257: LD_EXP 174
25261: PPUSH
25262: LD_STRING D5-JMM-1
25264: PPUSH
25265: CALL_OW 88
// if isok ( lucy ) and ( legion = - 1 ) then
25269: LD_EXP 176
25273: PPUSH
25274: CALL_OW 302
25278: PUSH
25279: LD_EXP 5
25283: PUSH
25284: LD_INT 1
25286: NEG
25287: EQUAL
25288: AND
25289: IFFALSE 25303
// say ( lucy , D5-Don-1 ) ;
25291: LD_EXP 176
25295: PPUSH
25296: LD_STRING D5-Don-1
25298: PPUSH
25299: CALL_OW 88
// end else
25303: GO 25684
// begin tmp = filterunitsinarea ( vidimost , [ [ f_side , am ] , [ f_type , unit_human ] ] ) ;
25305: LD_ADDR_VAR 0 1
25309: PUSH
25310: LD_INT 12
25312: PPUSH
25313: LD_INT 22
25315: PUSH
25316: LD_EXP 2
25320: PUSH
25321: EMPTY
25322: LIST
25323: LIST
25324: PUSH
25325: LD_INT 21
25327: PUSH
25328: LD_INT 1
25330: PUSH
25331: EMPTY
25332: LIST
25333: LIST
25334: PUSH
25335: EMPTY
25336: LIST
25337: LIST
25338: PPUSH
25339: CALL_OW 70
25343: ST_TO_ADDR
// if not tmp then
25344: LD_VAR 0 1
25348: NOT
25349: IFFALSE 25495
// begin tmp2 = filterunitsinarea ( vidimost , [ [ f_side , am ] , [ f_type , unit_vehicle ] ] ) ;
25351: LD_ADDR_VAR 0 3
25355: PUSH
25356: LD_INT 12
25358: PPUSH
25359: LD_INT 22
25361: PUSH
25362: LD_EXP 2
25366: PUSH
25367: EMPTY
25368: LIST
25369: LIST
25370: PUSH
25371: LD_INT 21
25373: PUSH
25374: LD_INT 2
25376: PUSH
25377: EMPTY
25378: LIST
25379: LIST
25380: PUSH
25381: EMPTY
25382: LIST
25383: LIST
25384: PPUSH
25385: CALL_OW 70
25389: ST_TO_ADDR
// tmp = [ ] ;
25390: LD_ADDR_VAR 0 1
25394: PUSH
25395: EMPTY
25396: ST_TO_ADDR
// for tmp1 in tmp2 do
25397: LD_ADDR_VAR 0 2
25401: PUSH
25402: LD_VAR 0 3
25406: PUSH
25407: FOR_IN
25408: IFFALSE 25493
// case getcontrol ( tmp1 ) of control_manual :
25410: LD_VAR 0 2
25414: PPUSH
25415: CALL_OW 263
25419: PUSH
25420: LD_INT 1
25422: DOUBLE
25423: EQUAL
25424: IFTRUE 25428
25426: GO 25455
25428: POP
// tmp = tmp ^ [ isdrivenby ( tmp1 ) ] ; control_remote :
25429: LD_ADDR_VAR 0 1
25433: PUSH
25434: LD_VAR 0 1
25438: PUSH
25439: LD_VAR 0 2
25443: PPUSH
25444: CALL_OW 311
25448: PUSH
25449: EMPTY
25450: LIST
25451: ADD
25452: ST_TO_ADDR
25453: GO 25491
25455: LD_INT 2
25457: DOUBLE
25458: EQUAL
25459: IFTRUE 25463
25461: GO 25490
25463: POP
// tmp = tmp ^ [ iscontroledby ( tmp1 ) ] ; end ;
25464: LD_ADDR_VAR 0 1
25468: PUSH
25469: LD_VAR 0 1
25473: PUSH
25474: LD_VAR 0 2
25478: PPUSH
25479: CALL_OW 312
25483: PUSH
25484: EMPTY
25485: LIST
25486: ADD
25487: ST_TO_ADDR
25488: GO 25491
25490: POP
25491: GO 25407
25493: POP
25494: POP
// end ; if not tmp then
25495: LD_VAR 0 1
25499: NOT
25500: IFFALSE 25591
// begin tmp2 = filterallunits ( [ [ f_side , am ] , [ f_ok ] , [ f_type , unit_human ] ] ) diff [ john , lucy ] ;
25502: LD_ADDR_VAR 0 3
25506: PUSH
25507: LD_INT 22
25509: PUSH
25510: LD_EXP 2
25514: PUSH
25515: EMPTY
25516: LIST
25517: LIST
25518: PUSH
25519: LD_INT 50
25521: PUSH
25522: EMPTY
25523: LIST
25524: PUSH
25525: LD_INT 21
25527: PUSH
25528: LD_INT 1
25530: PUSH
25531: EMPTY
25532: LIST
25533: LIST
25534: PUSH
25535: EMPTY
25536: LIST
25537: LIST
25538: LIST
25539: PPUSH
25540: CALL_OW 69
25544: PUSH
25545: LD_EXP 174
25549: PUSH
25550: LD_EXP 176
25554: PUSH
25555: EMPTY
25556: LIST
25557: LIST
25558: DIFF
25559: ST_TO_ADDR
// tmp = [ nearestunittoxy ( tmp2 , 36 , 53 ) ] diff [ 0 ] ;
25560: LD_ADDR_VAR 0 1
25564: PUSH
25565: LD_VAR 0 3
25569: PPUSH
25570: LD_INT 36
25572: PPUSH
25573: LD_INT 53
25575: PPUSH
25576: CALL_OW 73
25580: PUSH
25581: EMPTY
25582: LIST
25583: PUSH
25584: LD_INT 0
25586: PUSH
25587: EMPTY
25588: LIST
25589: DIFF
25590: ST_TO_ADDR
// end ; if tmp then
25591: LD_VAR 0 1
25595: IFFALSE 25684
// begin if getsex ( tmp [ 1 ] ) = sex_female then
25597: LD_VAR 0 1
25601: PUSH
25602: LD_INT 1
25604: ARRAY
25605: PPUSH
25606: CALL_OW 258
25610: PUSH
25611: LD_INT 2
25613: EQUAL
25614: IFFALSE 25634
// say ( tmp [ 1 ] , D5-FSol1-1 ) else
25616: LD_VAR 0 1
25620: PUSH
25621: LD_INT 1
25623: ARRAY
25624: PPUSH
25625: LD_STRING D5-FSol1-1
25627: PPUSH
25628: CALL_OW 88
25632: GO 25650
// say ( tmp [ 1 ] , D5-Sol1-1 ) ;
25634: LD_VAR 0 1
25638: PUSH
25639: LD_INT 1
25641: ARRAY
25642: PPUSH
25643: LD_STRING D5-Sol1-1
25645: PPUSH
25646: CALL_OW 88
// if isok ( lucy ) and ( legion = - 1 ) then
25650: LD_EXP 176
25654: PPUSH
25655: CALL_OW 302
25659: PUSH
25660: LD_EXP 5
25664: PUSH
25665: LD_INT 1
25667: NEG
25668: EQUAL
25669: AND
25670: IFFALSE 25684
// say ( lucy , D5-Don-1 ) ;
25672: LD_EXP 176
25676: PPUSH
25677: LD_STRING D5-Don-1
25679: PPUSH
25680: CALL_OW 88
// end ; end ; dialogueoff ;
25684: CALL_OW 7
// end ;
25688: PPOPN 3
25690: END
// export ru_scies__ ; var lab_destroyed ; on unitdestroyed ( un ) do if un = john then
25691: LD_VAR 0 1
25695: PUSH
25696: LD_EXP 174
25700: EQUAL
25701: IFFALSE 25712
// youlost ( JMM ) else
25703: LD_STRING JMM
25705: PPUSH
25706: CALL_OW 104
25710: GO 25801
// if un = ru_lab then
25712: LD_VAR 0 1
25716: PUSH
25717: LD_INT 3
25719: EQUAL
25720: IFFALSE 25732
// lab_destroyed = true else
25722: LD_ADDR_LOC 29
25726: PUSH
25727: LD_INT 1
25729: ST_TO_ADDR
25730: GO 25801
// if un in ru_scies then
25732: LD_VAR 0 1
25736: PUSH
25737: LD_EXP 167
25741: IN
25742: IFFALSE 25774
// begin ru_scies__ = ru_scies__ - 1 ;
25744: LD_ADDR_EXP 229
25748: PUSH
25749: LD_EXP 229
25753: PUSH
25754: LD_INT 1
25756: MINUS
25757: ST_TO_ADDR
// if not ru_scies__ then
25758: LD_EXP 229
25762: NOT
25763: IFFALSE 25772
// changemissionobjectives ( M1a ) ;
25765: LD_STRING M1a
25767: PPUSH
25768: CALL_OW 337
// end else
25772: GO 25801
// if ( un = ruteleprt ) and ( telepmed <> 2 ) then
25774: LD_VAR 0 1
25778: PUSH
25779: LD_INT 10
25781: EQUAL
25782: PUSH
25783: LD_EXP 124
25787: PUSH
25788: LD_INT 2
25790: NONEQUAL
25791: AND
25792: IFFALSE 25801
// changemissionobjectives ( M2b ) ;
25794: LD_STRING M2b
25796: PPUSH
25797: CALL_OW 337
25801: PPOPN 1
25803: END
// function isplacedex ( l ) ; var tmp ; begin
25804: LD_INT 0
25806: PPUSH
25807: PPUSH
// result = false ;
25808: LD_ADDR_VAR 0 2
25812: PUSH
25813: LD_INT 0
25815: ST_TO_ADDR
// for tmp in l do
25816: LD_ADDR_VAR 0 3
25820: PUSH
25821: LD_VAR 0 1
25825: PUSH
25826: FOR_IN
25827: IFFALSE 25854
// if isplaced ( tmp ) then
25829: LD_VAR 0 3
25833: PPUSH
25834: CALL_OW 305
25838: IFFALSE 25852
// begin result = true ;
25840: LD_ADDR_VAR 0 2
25844: PUSH
25845: LD_INT 1
25847: ST_TO_ADDR
// exit ;
25848: POP
25849: POP
25850: GO 25856
// end ;
25852: GO 25826
25854: POP
25855: POP
// end ;
25856: LD_VAR 0 2
25860: RET
// every 0 0$0.4 trigger lab_destroyed do var tmp , tmq , medal1 , medal2 , medal3 ;
25861: LD_LOC 29
25865: IFFALSE 26448
25867: GO 25869
25869: DISABLE
25870: LD_INT 0
25872: PPUSH
25873: PPUSH
25874: PPUSH
25875: PPUSH
25876: PPUSH
// begin medal1 := false ;
25877: LD_ADDR_VAR 0 3
25881: PUSH
25882: LD_INT 0
25884: ST_TO_ADDR
// medal2 := false ;
25885: LD_ADDR_VAR 0 4
25889: PUSH
25890: LD_INT 0
25892: ST_TO_ADDR
// medal3 := false ;
25893: LD_ADDR_VAR 0 5
25897: PUSH
25898: LD_INT 0
25900: ST_TO_ADDR
// while isplacedex ( ru_scies ) do
25901: LD_EXP 167
25905: PPUSH
25906: CALL 25804 0 1
25910: IFFALSE 25921
// wait ( 0 0$1 ) ;
25912: LD_INT 35
25914: PPUSH
25915: CALL_OW 67
25919: GO 25901
// tmq = 0 ;
25921: LD_ADDR_VAR 0 2
25925: PUSH
25926: LD_INT 0
25928: ST_TO_ADDR
// for tmp in ru_scies do
25929: LD_ADDR_VAR 0 1
25933: PUSH
25934: LD_EXP 167
25938: PUSH
25939: FOR_IN
25940: IFFALSE 25969
// if getlives ( tmp ) then
25942: LD_VAR 0 1
25946: PPUSH
25947: CALL_OW 256
25951: IFFALSE 25967
// tmq = tmq + 1 ;
25953: LD_ADDR_VAR 0 2
25957: PUSH
25958: LD_VAR 0 2
25962: PUSH
25963: LD_INT 1
25965: PLUS
25966: ST_TO_ADDR
25967: GO 25939
25969: POP
25970: POP
// dialogueon ;
25971: CALL_OW 6
// case tmq of 5 :
25975: LD_VAR 0 2
25979: PUSH
25980: LD_INT 5
25982: DOUBLE
25983: EQUAL
25984: IFTRUE 25988
25986: GO 26047
25988: POP
// begin say ( john , D7a-JMM-1 ) ;
25989: LD_EXP 174
25993: PPUSH
25994: LD_STRING D7a-JMM-1
25996: PPUSH
25997: CALL_OW 88
// say ( powell , D7a-Pow-1 ) ;
26001: LD_EXP 175
26005: PPUSH
26006: LD_STRING D7a-Pow-1
26008: PPUSH
26009: CALL_OW 88
// addmedal ( Materials , - 1 ) ;
26013: LD_STRING Materials
26015: PPUSH
26016: LD_INT 1
26018: NEG
26019: PPUSH
26020: CALL_OW 101
// addmedal ( Scientists , - 1 ) ;
26024: LD_STRING Scientists
26026: PPUSH
26027: LD_INT 1
26029: NEG
26030: PPUSH
26031: CALL_OW 101
// savevariable ( 1 , vedci_zdrhli ) ;
26035: LD_INT 1
26037: PPUSH
26038: LD_STRING vedci_zdrhli
26040: PPUSH
26041: CALL_OW 39
// end ; 4 , 3 , 2 , 1 :
26045: GO 26165
26047: LD_INT 4
26049: DOUBLE
26050: EQUAL
26051: IFTRUE 26073
26053: LD_INT 3
26055: DOUBLE
26056: EQUAL
26057: IFTRUE 26073
26059: LD_INT 2
26061: DOUBLE
26062: EQUAL
26063: IFTRUE 26073
26065: LD_INT 1
26067: DOUBLE
26068: EQUAL
26069: IFTRUE 26073
26071: GO 26111
26073: POP
// begin say ( john , D7b-JMM-1 ) ;
26074: LD_EXP 174
26078: PPUSH
26079: LD_STRING D7b-JMM-1
26081: PPUSH
26082: CALL_OW 88
// say ( powell , D7b-Pow-1 ) ;
26086: LD_EXP 175
26090: PPUSH
26091: LD_STRING D7b-Pow-1
26093: PPUSH
26094: CALL_OW 88
// addmedal ( Scientists , - 1 ) ;
26098: LD_STRING Scientists
26100: PPUSH
26101: LD_INT 1
26103: NEG
26104: PPUSH
26105: CALL_OW 101
// end ; 0 :
26109: GO 26165
26111: LD_INT 0
26113: DOUBLE
26114: EQUAL
26115: IFTRUE 26119
26117: GO 26164
26119: POP
// begin say ( john , D7c-JMM-1 ) ;
26120: LD_EXP 174
26124: PPUSH
26125: LD_STRING D7c-JMM-1
26127: PPUSH
26128: CALL_OW 88
// say ( powell , D7c-Pow-1 ) ;
26132: LD_EXP 175
26136: PPUSH
26137: LD_STRING D7c-Pow-1
26139: PPUSH
26140: CALL_OW 88
// medal1 := true ;
26144: LD_ADDR_VAR 0 3
26148: PUSH
26149: LD_INT 1
26151: ST_TO_ADDR
// addmedal ( Scientists , 1 ) ;
26152: LD_STRING Scientists
26154: PPUSH
26155: LD_INT 1
26157: PPUSH
26158: CALL_OW 101
// end ; end ;
26162: GO 26165
26164: POP
// if tmq < 5 then
26165: LD_VAR 0 2
26169: PUSH
26170: LD_INT 5
26172: LESS
26173: IFFALSE 26283
// begin savevariable ( 0 , vedci_zdrhli ) ;
26175: LD_INT 0
26177: PPUSH
26178: LD_STRING vedci_zdrhli
26180: PPUSH
26181: CALL_OW 39
// say ( john , D7d-JMM-1 ) ;
26185: LD_EXP 174
26189: PPUSH
26190: LD_STRING D7d-JMM-1
26192: PPUSH
26193: CALL_OW 88
// say ( powell , D7d-Pow-1 ) ;
26197: LD_EXP 175
26201: PPUSH
26202: LD_STRING D7d-Pow-1
26204: PPUSH
26205: CALL_OW 88
// say ( john , D7d-JMM-2 ) ;
26209: LD_EXP 174
26213: PPUSH
26214: LD_STRING D7d-JMM-2
26216: PPUSH
26217: CALL_OW 88
// if pr_loz then
26221: LD_EXP 225
26225: IFFALSE 26241
// say ( john , D7d-JMM-2a ) else
26227: LD_EXP 174
26231: PPUSH
26232: LD_STRING D7d-JMM-2a
26234: PPUSH
26235: CALL_OW 88
26239: GO 26253
// say ( powell , D7d-Pow-2 ) ;
26241: LD_EXP 175
26245: PPUSH
26246: LD_STRING D7d-Pow-2
26248: PPUSH
26249: CALL_OW 88
// say ( powell , D7d-Pow-2a ) ;
26253: LD_EXP 175
26257: PPUSH
26258: LD_STRING D7d-Pow-2a
26260: PPUSH
26261: CALL_OW 88
// medal2 := true ;
26265: LD_ADDR_VAR 0 4
26269: PUSH
26270: LD_INT 1
26272: ST_TO_ADDR
// addmedal ( Materials , 1 ) ;
26273: LD_STRING Materials
26275: PPUSH
26276: LD_INT 1
26278: PPUSH
26279: CALL_OW 101
// end ; dialogueoff ;
26283: CALL_OW 7
// case telepmed of 0 :
26287: LD_EXP 124
26291: PUSH
26292: LD_INT 0
26294: DOUBLE
26295: EQUAL
26296: IFTRUE 26300
26298: GO 26314
26300: POP
// addmedal ( Teleport , - 1 ) ; 1 :
26301: LD_STRING Teleport
26303: PPUSH
26304: LD_INT 1
26306: NEG
26307: PPUSH
26308: CALL_OW 101
26312: GO 26366
26314: LD_INT 1
26316: DOUBLE
26317: EQUAL
26318: IFTRUE 26322
26320: GO 26336
26322: POP
// addmedal ( Teleport , - 2 ) ; 2 :
26323: LD_STRING Teleport
26325: PPUSH
26326: LD_INT 2
26328: NEG
26329: PPUSH
26330: CALL_OW 101
26334: GO 26366
26336: LD_INT 2
26338: DOUBLE
26339: EQUAL
26340: IFTRUE 26344
26342: GO 26365
26344: POP
// begin medal3 := true ;
26345: LD_ADDR_VAR 0 5
26349: PUSH
26350: LD_INT 1
26352: ST_TO_ADDR
// addmedal ( Teleport , 1 ) ;
26353: LD_STRING Teleport
26355: PPUSH
26356: LD_INT 1
26358: PPUSH
26359: CALL_OW 101
// end ; end ;
26363: GO 26366
26365: POP
// SA_EndMission ( 1 , 12 , medal1 , medal2 , medal3 ) ;
26366: LD_INT 1
26368: PPUSH
26369: LD_INT 12
26371: PPUSH
26372: LD_VAR 0 3
26376: PPUSH
26377: LD_VAR 0 4
26381: PPUSH
26382: LD_VAR 0 5
26386: PPUSH
26387: CALL 28367 0 5
// givemedals ( MAIN ) ;
26391: LD_STRING MAIN
26393: PPUSH
26394: CALL_OW 102
// rewardpeople ( filterallunits ( [ [ f_alive ] , [ f_side , am ] , [ f_type , unit_human ] ] ) ) ;
26398: LD_INT 51
26400: PUSH
26401: EMPTY
26402: LIST
26403: PUSH
26404: LD_INT 22
26406: PUSH
26407: LD_EXP 2
26411: PUSH
26412: EMPTY
26413: LIST
26414: LIST
26415: PUSH
26416: LD_INT 21
26418: PUSH
26419: LD_INT 1
26421: PUSH
26422: EMPTY
26423: LIST
26424: LIST
26425: PUSH
26426: EMPTY
26427: LIST
26428: LIST
26429: LIST
26430: PPUSH
26431: CALL_OW 69
26435: PPUSH
26436: CALL_OW 43
// saveitall ;
26440: CALL 26451 0 0
// youwin ;
26444: CALL_OW 103
// end ; end_of_file
26448: PPOPN 5
26450: END
// export function saveitall ; begin
26451: LD_INT 0
26453: PPUSH
// savevariable ( legion_cheated , legion_cheated ) ;
26454: LD_EXP 227
26458: PPUSH
26459: LD_STRING legion_cheated
26461: PPUSH
26462: CALL_OW 39
// savecharacters ( john , JMM ) ;
26466: LD_EXP 174
26470: PPUSH
26471: LD_STRING JMM
26473: PPUSH
26474: CALL_OW 38
// savecharacters ( lucy , Donaldson ) ;
26478: LD_EXP 176
26482: PPUSH
26483: LD_STRING Donaldson
26485: PPUSH
26486: CALL_OW 38
// if islive ( lucy ) then
26490: LD_EXP 176
26494: PPUSH
26495: CALL_OW 300
26499: IFFALSE 26513
// savevariable ( 6 , DonaldsonLoc ) else
26501: LD_INT 6
26503: PPUSH
26504: LD_STRING DonaldsonLoc
26506: PPUSH
26507: CALL_OW 39
26511: GO 26523
// savevariable ( 0 , DonaldsonLoc ) ;
26513: LD_INT 0
26515: PPUSH
26516: LD_STRING DonaldsonLoc
26518: PPUSH
26519: CALL_OW 39
// savecharacters ( bobby , Bobby ) ;
26523: LD_EXP 192
26527: PPUSH
26528: LD_STRING Bobby
26530: PPUSH
26531: CALL_OW 38
// if bobby then
26535: LD_EXP 192
26539: IFFALSE 26598
// if isdead ( bobby ) then
26541: LD_EXP 192
26545: PPUSH
26546: CALL_OW 301
26550: IFFALSE 26564
// savevariable ( 0 , BobbyLoc ) else
26552: LD_INT 0
26554: PPUSH
26555: LD_STRING BobbyLoc
26557: PPUSH
26558: CALL_OW 39
26562: GO 26598
// if bobby in nepouzitvip then
26564: LD_EXP 192
26568: PUSH
26569: LD_EXP 219
26573: IN
26574: IFFALSE 26588
// savevariable ( 7 , BobbyLoc ) else
26576: LD_INT 7
26578: PPUSH
26579: LD_STRING BobbyLoc
26581: PPUSH
26582: CALL_OW 39
26586: GO 26598
// savevariable ( 6 , BobbyLoc ) ;
26588: LD_INT 6
26590: PPUSH
26591: LD_STRING BobbyLoc
26593: PPUSH
26594: CALL_OW 39
// savecharacters ( cyrus , Cyrus ) ;
26598: LD_EXP 193
26602: PPUSH
26603: LD_STRING Cyrus
26605: PPUSH
26606: CALL_OW 38
// if cyrus then
26610: LD_EXP 193
26614: IFFALSE 26673
// if isdead ( cyrus ) then
26616: LD_EXP 193
26620: PPUSH
26621: CALL_OW 301
26625: IFFALSE 26639
// savevariable ( 0 , CyrusLoc ) else
26627: LD_INT 0
26629: PPUSH
26630: LD_STRING CyrusLoc
26632: PPUSH
26633: CALL_OW 39
26637: GO 26673
// if cyrus in nepouzitvip then
26639: LD_EXP 193
26643: PUSH
26644: LD_EXP 219
26648: IN
26649: IFFALSE 26663
// savevariable ( 7 , CyrusLoc ) else
26651: LD_INT 7
26653: PPUSH
26654: LD_STRING CyrusLoc
26656: PPUSH
26657: CALL_OW 39
26661: GO 26673
// savevariable ( 6 , CyrusLoc ) ;
26663: LD_INT 6
26665: PPUSH
26666: LD_STRING CyrusLoc
26668: PPUSH
26669: CALL_OW 39
// savecharacters ( lisa , Lisa ) ;
26673: LD_EXP 194
26677: PPUSH
26678: LD_STRING Lisa
26680: PPUSH
26681: CALL_OW 38
// if lisa then
26685: LD_EXP 194
26689: IFFALSE 26748
// if isdead ( lisa ) then
26691: LD_EXP 194
26695: PPUSH
26696: CALL_OW 301
26700: IFFALSE 26714
// savevariable ( 0 , LisaLoc ) else
26702: LD_INT 0
26704: PPUSH
26705: LD_STRING LisaLoc
26707: PPUSH
26708: CALL_OW 39
26712: GO 26748
// if lisa in nepouzitvip then
26714: LD_EXP 194
26718: PUSH
26719: LD_EXP 219
26723: IN
26724: IFFALSE 26738
// savevariable ( 7 , LisaLoc ) else
26726: LD_INT 7
26728: PPUSH
26729: LD_STRING LisaLoc
26731: PPUSH
26732: CALL_OW 39
26736: GO 26748
// savevariable ( 6 , LisaLoc ) ;
26738: LD_INT 6
26740: PPUSH
26741: LD_STRING LisaLoc
26743: PPUSH
26744: CALL_OW 39
// savecharacters ( cornel , Cornell ) ;
26748: LD_EXP 195
26752: PPUSH
26753: LD_STRING Cornell
26755: PPUSH
26756: CALL_OW 38
// if cornel then
26760: LD_EXP 195
26764: IFFALSE 26823
// if isdead ( cornel ) then
26766: LD_EXP 195
26770: PPUSH
26771: CALL_OW 301
26775: IFFALSE 26789
// savevariable ( 0 , CornellLoc ) else
26777: LD_INT 0
26779: PPUSH
26780: LD_STRING CornellLoc
26782: PPUSH
26783: CALL_OW 39
26787: GO 26823
// if cornel in nepouzitvip then
26789: LD_EXP 195
26793: PUSH
26794: LD_EXP 219
26798: IN
26799: IFFALSE 26813
// savevariable ( 7 , CornellLoc ) else
26801: LD_INT 7
26803: PPUSH
26804: LD_STRING CornellLoc
26806: PPUSH
26807: CALL_OW 39
26811: GO 26823
// savevariable ( 6 , CornellLoc ) ;
26813: LD_INT 6
26815: PPUSH
26816: LD_STRING CornellLoc
26818: PPUSH
26819: CALL_OW 39
// savecharacters ( frank , Frank ) ;
26823: LD_EXP 196
26827: PPUSH
26828: LD_STRING Frank
26830: PPUSH
26831: CALL_OW 38
// if frank then
26835: LD_EXP 196
26839: IFFALSE 26898
// if isdead ( frank ) then
26841: LD_EXP 196
26845: PPUSH
26846: CALL_OW 301
26850: IFFALSE 26864
// savevariable ( 0 , FrankLoc ) else
26852: LD_INT 0
26854: PPUSH
26855: LD_STRING FrankLoc
26857: PPUSH
26858: CALL_OW 39
26862: GO 26898
// if frank in nepouzitvip then
26864: LD_EXP 196
26868: PUSH
26869: LD_EXP 219
26873: IN
26874: IFFALSE 26888
// savevariable ( 7 , FrankLoc ) else
26876: LD_INT 7
26878: PPUSH
26879: LD_STRING FrankLoc
26881: PPUSH
26882: CALL_OW 39
26886: GO 26898
// savevariable ( 6 , FrankLoc ) ;
26888: LD_INT 6
26890: PPUSH
26891: LD_STRING FrankLoc
26893: PPUSH
26894: CALL_OW 39
// savecharacters ( brown , Brown ) ;
26898: LD_EXP 197
26902: PPUSH
26903: LD_STRING Brown
26905: PPUSH
26906: CALL_OW 38
// if brown then
26910: LD_EXP 197
26914: IFFALSE 26973
// if isdead ( brown ) then
26916: LD_EXP 197
26920: PPUSH
26921: CALL_OW 301
26925: IFFALSE 26939
// savevariable ( 0 , BrownLoc ) else
26927: LD_INT 0
26929: PPUSH
26930: LD_STRING BrownLoc
26932: PPUSH
26933: CALL_OW 39
26937: GO 26973
// if brown in nepouzitvip then
26939: LD_EXP 197
26943: PUSH
26944: LD_EXP 219
26948: IN
26949: IFFALSE 26963
// savevariable ( 7 , BrownLoc ) else
26951: LD_INT 7
26953: PPUSH
26954: LD_STRING BrownLoc
26956: PPUSH
26957: CALL_OW 39
26961: GO 26973
// savevariable ( 6 , BrownLoc ) ;
26963: LD_INT 6
26965: PPUSH
26966: LD_STRING BrownLoc
26968: PPUSH
26969: CALL_OW 39
// savecharacters ( glad , Gladstone ) ;
26973: LD_EXP 198
26977: PPUSH
26978: LD_STRING Gladstone
26980: PPUSH
26981: CALL_OW 38
// if glad then
26985: LD_EXP 198
26989: IFFALSE 27048
// if isdead ( glad ) then
26991: LD_EXP 198
26995: PPUSH
26996: CALL_OW 301
27000: IFFALSE 27014
// savevariable ( 0 , GladstoneLoc ) else
27002: LD_INT 0
27004: PPUSH
27005: LD_STRING GladstoneLoc
27007: PPUSH
27008: CALL_OW 39
27012: GO 27048
// if glad in nepouzitvip then
27014: LD_EXP 198
27018: PUSH
27019: LD_EXP 219
27023: IN
27024: IFFALSE 27038
// savevariable ( 7 , GladstoneLoc ) else
27026: LD_INT 7
27028: PPUSH
27029: LD_STRING GladstoneLoc
27031: PPUSH
27032: CALL_OW 39
27036: GO 27048
// savevariable ( 6 , GladstoneLoc ) ;
27038: LD_INT 6
27040: PPUSH
27041: LD_STRING GladstoneLoc
27043: PPUSH
27044: CALL_OW 39
// savecharacters ( denis , Denis ) ;
27048: LD_EXP 199
27052: PPUSH
27053: LD_STRING Denis
27055: PPUSH
27056: CALL_OW 38
// if denis then
27060: LD_EXP 199
27064: IFFALSE 27123
// if isdead ( denis ) then
27066: LD_EXP 199
27070: PPUSH
27071: CALL_OW 301
27075: IFFALSE 27089
// savevariable ( 0 , DenisLoc ) else
27077: LD_INT 0
27079: PPUSH
27080: LD_STRING DenisLoc
27082: PPUSH
27083: CALL_OW 39
27087: GO 27123
// if denis in nepouzitvip then
27089: LD_EXP 199
27093: PUSH
27094: LD_EXP 219
27098: IN
27099: IFFALSE 27113
// savevariable ( 7 , DenisLoc ) else
27101: LD_INT 7
27103: PPUSH
27104: LD_STRING DenisLoc
27106: PPUSH
27107: CALL_OW 39
27111: GO 27123
// savevariable ( 6 , DenisLoc ) ;
27113: LD_INT 6
27115: PPUSH
27116: LD_STRING DenisLoc
27118: PPUSH
27119: CALL_OW 39
// if yamoko then
27123: LD_EXP 200
27127: IFFALSE 27198
// begin savecharacters ( yamoko , Yamoko ) ;
27129: LD_EXP 200
27133: PPUSH
27134: LD_STRING Yamoko
27136: PPUSH
27137: CALL_OW 38
// if isdead ( yamoko ) then
27141: LD_EXP 200
27145: PPUSH
27146: CALL_OW 301
27150: IFFALSE 27164
// savevariable ( 0 , YamokoLoc ) else
27152: LD_INT 0
27154: PPUSH
27155: LD_STRING YamokoLoc
27157: PPUSH
27158: CALL_OW 39
27162: GO 27198
// if yamoko in nepouzitvip then
27164: LD_EXP 200
27168: PUSH
27169: LD_EXP 219
27173: IN
27174: IFFALSE 27188
// savevariable ( 7 , YamokoLoc ) else
27176: LD_INT 7
27178: PPUSH
27179: LD_STRING YamokoLoc
27181: PPUSH
27182: CALL_OW 39
27186: GO 27198
// savevariable ( 6 , YamokoLoc ) ;
27188: LD_INT 6
27190: PPUSH
27191: LD_STRING YamokoLoc
27193: PPUSH
27194: CALL_OW 39
// end ; savecharacters ( gary , Gary ) ;
27198: LD_EXP 201
27202: PPUSH
27203: LD_STRING Gary
27205: PPUSH
27206: CALL_OW 38
// if gary then
27210: LD_EXP 201
27214: IFFALSE 27273
// if isdead ( gary ) then
27216: LD_EXP 201
27220: PPUSH
27221: CALL_OW 301
27225: IFFALSE 27239
// savevariable ( 0 , GaryLoc ) else
27227: LD_INT 0
27229: PPUSH
27230: LD_STRING GaryLoc
27232: PPUSH
27233: CALL_OW 39
27237: GO 27273
// if gary in nepouzitvip then
27239: LD_EXP 201
27243: PUSH
27244: LD_EXP 219
27248: IN
27249: IFFALSE 27263
// savevariable ( 7 , GaryLoc ) else
27251: LD_INT 7
27253: PPUSH
27254: LD_STRING GaryLoc
27256: PPUSH
27257: CALL_OW 39
27261: GO 27273
// savevariable ( 6 , GaryLoc ) ;
27263: LD_INT 6
27265: PPUSH
27266: LD_STRING GaryLoc
27268: PPUSH
27269: CALL_OW 39
// savecharacters ( ( filterallunits ( [ [ f_side , am ] , [ f_alive ] , [ f_nation , 1 ] , [ f_type , unit_human ] ] ) diff ( [ john , lucy , bobby , cyrus , lisa , cornel , frank , brown , glad , denis , yamoko , gary ] ^ smejdi_ar ) ) , otherwithJMM ) ;
27273: LD_INT 22
27275: PUSH
27276: LD_EXP 2
27280: PUSH
27281: EMPTY
27282: LIST
27283: LIST
27284: PUSH
27285: LD_INT 51
27287: PUSH
27288: EMPTY
27289: LIST
27290: PUSH
27291: LD_INT 23
27293: PUSH
27294: LD_INT 1
27296: PUSH
27297: EMPTY
27298: LIST
27299: LIST
27300: PUSH
27301: LD_INT 21
27303: PUSH
27304: LD_INT 1
27306: PUSH
27307: EMPTY
27308: LIST
27309: LIST
27310: PUSH
27311: EMPTY
27312: LIST
27313: LIST
27314: LIST
27315: LIST
27316: PPUSH
27317: CALL_OW 69
27321: PUSH
27322: LD_EXP 174
27326: PUSH
27327: LD_EXP 176
27331: PUSH
27332: LD_EXP 192
27336: PUSH
27337: LD_EXP 193
27341: PUSH
27342: LD_EXP 194
27346: PUSH
27347: LD_EXP 195
27351: PUSH
27352: LD_EXP 196
27356: PUSH
27357: LD_EXP 197
27361: PUSH
27362: LD_EXP 198
27366: PUSH
27367: LD_EXP 199
27371: PUSH
27372: LD_EXP 200
27376: PUSH
27377: LD_EXP 201
27381: PUSH
27382: EMPTY
27383: LIST
27384: LIST
27385: LIST
27386: LIST
27387: LIST
27388: LIST
27389: LIST
27390: LIST
27391: LIST
27392: LIST
27393: LIST
27394: LIST
27395: PUSH
27396: LD_EXP 228
27400: ADD
27401: DIFF
27402: PPUSH
27403: LD_STRING otherwithJMM
27405: PPUSH
27406: CALL_OW 38
// savecharacters ( nepouzitoth , othernotJMM ) ;
27410: LD_EXP 220
27414: PPUSH
27415: LD_STRING othernotJMM
27417: PPUSH
27418: CALL_OW 38
// end ; end_of_file
27422: LD_VAR 0 1
27426: RET
// export bazukeri_jdete_do_toho ; var registrovani , dvojicky , varovani , free_baz ; export function prepare_bazookers ; begin
27427: LD_INT 0
27429: PPUSH
// free_baz := [ baz0 , baz1 , baz2 , baz3 , baz4 , baz5 ] ;
27430: LD_ADDR_LOC 33
27434: PUSH
27435: LD_EXP 8
27439: PUSH
27440: LD_EXP 10
27444: PUSH
27445: LD_EXP 12
27449: PUSH
27450: LD_EXP 14
27454: PUSH
27455: LD_EXP 16
27459: PUSH
27460: LD_EXP 18
27464: PUSH
27465: EMPTY
27466: LIST
27467: LIST
27468: LIST
27469: LIST
27470: LIST
27471: LIST
27472: ST_TO_ADDR
// varovani := [ 2 , 1 , 0 ] [ difficulty ] ;
27473: LD_ADDR_LOC 32
27477: PUSH
27478: LD_INT 2
27480: PUSH
27481: LD_INT 1
27483: PUSH
27484: LD_INT 0
27486: PUSH
27487: EMPTY
27488: LIST
27489: LIST
27490: LIST
27491: PUSH
27492: LD_OWVAR 67
27496: ARRAY
27497: ST_TO_ADDR
// end ;
27498: LD_VAR 0 1
27502: RET
// function registruj_dvojicku ( baz , en ) ; begin
27503: LD_INT 0
27505: PPUSH
// dvojicky := dvojicky ^ [ [ baz , en ] ] ;
27506: LD_ADDR_LOC 31
27510: PUSH
27511: LD_LOC 31
27515: PUSH
27516: LD_VAR 0 1
27520: PUSH
27521: LD_VAR 0 2
27525: PUSH
27526: EMPTY
27527: LIST
27528: LIST
27529: PUSH
27530: EMPTY
27531: LIST
27532: ADD
27533: ST_TO_ADDR
// ComSpaceShift ( baz , GetX ( en ) + 1 , GetY ( en ) + 1 ) ;
27534: LD_VAR 0 1
27538: PPUSH
27539: LD_VAR 0 2
27543: PPUSH
27544: CALL_OW 250
27548: PUSH
27549: LD_INT 1
27551: PLUS
27552: PPUSH
27553: LD_VAR 0 2
27557: PPUSH
27558: CALL_OW 251
27562: PUSH
27563: LD_INT 1
27565: PLUS
27566: PPUSH
27567: CALL_OW 153
// registrovani := registrovani union en ;
27571: LD_ADDR_LOC 30
27575: PUSH
27576: LD_LOC 30
27580: PUSH
27581: LD_VAR 0 2
27585: UNION
27586: ST_TO_ADDR
// free_baz := free_baz diff baz ;
27587: LD_ADDR_LOC 33
27591: PUSH
27592: LD_LOC 33
27596: PUSH
27597: LD_VAR 0 1
27601: DIFF
27602: ST_TO_ADDR
// end ;
27603: LD_VAR 0 3
27607: RET
// every 0 0$1 trigger bazukeri_jdete_do_toho marked 4242 do var naprahu , un , baz ;
27608: LD_EXP 230
27612: IFFALSE 27825
27614: GO 27616
27616: DISABLE
27617: LD_INT 0
27619: PPUSH
27620: PPUSH
27621: PPUSH
// begin naprahu := FilterUnitsInArea ( prah , [ [ f_side , am ] , [ f_ok ] ] ) diff registrovani ;
27622: LD_ADDR_VAR 0 1
27626: PUSH
27627: LD_INT 22
27629: PPUSH
27630: LD_INT 22
27632: PUSH
27633: LD_EXP 2
27637: PUSH
27638: EMPTY
27639: LIST
27640: LIST
27641: PUSH
27642: LD_INT 50
27644: PUSH
27645: EMPTY
27646: LIST
27647: PUSH
27648: EMPTY
27649: LIST
27650: LIST
27651: PPUSH
27652: CALL_OW 70
27656: PUSH
27657: LD_LOC 30
27661: DIFF
27662: ST_TO_ADDR
// if not naprahu then
27663: LD_VAR 0 1
27667: NOT
27668: IFFALSE 27673
// begin enable ;
27670: ENABLE
// exit ;
27671: GO 27825
// end ; baz := UnitFilter ( free_baz , [ f_ok ] ) ;
27673: LD_ADDR_VAR 0 3
27677: PUSH
27678: LD_LOC 33
27682: PPUSH
27683: LD_INT 50
27685: PUSH
27686: EMPTY
27687: LIST
27688: PPUSH
27689: CALL_OW 72
27693: ST_TO_ADDR
// if not baz then
27694: LD_VAR 0 3
27698: NOT
27699: IFFALSE 27704
// begin enable ;
27701: ENABLE
// exit ;
27702: GO 27825
// end ; un := NearestUnitToXY ( naprahu , 69 , 53 ) ;
27704: LD_ADDR_VAR 0 2
27708: PUSH
27709: LD_VAR 0 1
27713: PPUSH
27714: LD_INT 69
27716: PPUSH
27717: LD_INT 53
27719: PPUSH
27720: CALL_OW 73
27724: ST_TO_ADDR
// ComTimeShift ( baz [ 1 ] , GetX ( un ) - 3 , GetY ( un ) - 3 ) ;
27725: LD_VAR 0 3
27729: PUSH
27730: LD_INT 1
27732: ARRAY
27733: PPUSH
27734: LD_VAR 0 2
27738: PPUSH
27739: CALL_OW 250
27743: PUSH
27744: LD_INT 3
27746: MINUS
27747: PPUSH
27748: LD_VAR 0 2
27752: PPUSH
27753: CALL_OW 251
27757: PUSH
27758: LD_INT 3
27760: MINUS
27761: PPUSH
27762: CALL_OW 154
// if baz > 1 then
27766: LD_VAR 0 3
27770: PUSH
27771: LD_INT 1
27773: GREATER
27774: IFFALSE 27795
// ComSpaceShift ( baz [ 1 ] , 83 , 64 ) ;
27776: LD_VAR 0 3
27780: PUSH
27781: LD_INT 1
27783: ARRAY
27784: PPUSH
27785: LD_INT 83
27787: PPUSH
27788: LD_INT 64
27790: PPUSH
27791: CALL_OW 153
// if baz > 2 then
27795: LD_VAR 0 3
27799: PUSH
27800: LD_INT 2
27802: GREATER
27803: IFFALSE 27824
// ComSpaceShift ( baz [ 2 ] , 85 , 63 ) ;
27805: LD_VAR 0 3
27809: PUSH
27810: LD_INT 2
27812: ARRAY
27813: PPUSH
27814: LD_INT 85
27816: PPUSH
27817: LD_INT 63
27819: PPUSH
27820: CALL_OW 153
// enable ;
27824: ENABLE
// end ;
27825: PPOPN 3
27827: END
// every 0 0$1 + 0 0$0.4 trigger bazukeri_jdete_do_toho do var baz , za ;
27828: LD_EXP 230
27832: IFFALSE 27942
27834: GO 27836
27836: DISABLE
27837: LD_INT 0
27839: PPUSH
27840: PPUSH
// begin baz := UnitFilter ( free_baz , [ f_ok ] ) ;
27841: LD_ADDR_VAR 0 1
27845: PUSH
27846: LD_LOC 33
27850: PPUSH
27851: LD_INT 50
27853: PUSH
27854: EMPTY
27855: LIST
27856: PPUSH
27857: CALL_OW 72
27861: ST_TO_ADDR
// za := FilterUnitsInArea ( prah , [ [ f_side , am ] , [ f_ok ] ] ) diff registrovani ;
27862: LD_ADDR_VAR 0 2
27866: PUSH
27867: LD_INT 22
27869: PPUSH
27870: LD_INT 22
27872: PUSH
27873: LD_EXP 2
27877: PUSH
27878: EMPTY
27879: LIST
27880: LIST
27881: PUSH
27882: LD_INT 50
27884: PUSH
27885: EMPTY
27886: LIST
27887: PUSH
27888: EMPTY
27889: LIST
27890: LIST
27891: PPUSH
27892: CALL_OW 70
27896: PUSH
27897: LD_LOC 30
27901: DIFF
27902: ST_TO_ADDR
// if za and ( baz > 1 ) then
27903: LD_VAR 0 2
27907: PUSH
27908: LD_VAR 0 1
27912: PUSH
27913: LD_INT 1
27915: GREATER
27916: AND
27917: IFFALSE 27941
// registruj_dvojicku ( baz [ 1 ] , za [ 1 ] ) ;
27919: LD_VAR 0 1
27923: PUSH
27924: LD_INT 1
27926: ARRAY
27927: PPUSH
27928: LD_VAR 0 2
27932: PUSH
27933: LD_INT 1
27935: ARRAY
27936: PPUSH
27937: CALL 27503 0 2
// enable ;
27941: ENABLE
// end ;
27942: PPOPN 2
27944: END
// every 0 0$1 + 0 0$0.8 trigger bazukeri_jdete_do_toho and dvojicky do var dv , new ;
27945: LD_EXP 230
27949: PUSH
27950: LD_LOC 31
27954: AND
27955: IFFALSE 28162
27957: GO 27959
27959: DISABLE
27960: LD_INT 0
27962: PPUSH
27963: PPUSH
// begin new := [ ] ;
27964: LD_ADDR_VAR 0 2
27968: PUSH
27969: EMPTY
27970: ST_TO_ADDR
// for dv in dvojicky do
27971: LD_ADDR_VAR 0 1
27975: PUSH
27976: LD_LOC 31
27980: PUSH
27981: FOR_IN
27982: IFFALSE 28149
// if IsOk ( dv [ 1 ] ) and IsOk ( dv [ 2 ] ) and IsInArea ( dv [ 2 ] , zaprahem ) then
27984: LD_VAR 0 1
27988: PUSH
27989: LD_INT 1
27991: ARRAY
27992: PPUSH
27993: CALL_OW 302
27997: PUSH
27998: LD_VAR 0 1
28002: PUSH
28003: LD_INT 2
28005: ARRAY
28006: PPUSH
28007: CALL_OW 302
28011: AND
28012: PUSH
28013: LD_VAR 0 1
28017: PUSH
28018: LD_INT 2
28020: ARRAY
28021: PPUSH
28022: LD_INT 23
28024: PPUSH
28025: CALL_OW 308
28029: AND
28030: IFFALSE 28094
// begin ComTimeShift ( dv [ 1 ] , GetX ( dv [ 2 ] ) , GetY ( dv [ 2 ] ) ) ;
28032: LD_VAR 0 1
28036: PUSH
28037: LD_INT 1
28039: ARRAY
28040: PPUSH
28041: LD_VAR 0 1
28045: PUSH
28046: LD_INT 2
28048: ARRAY
28049: PPUSH
28050: CALL_OW 250
28054: PPUSH
28055: LD_VAR 0 1
28059: PUSH
28060: LD_INT 2
28062: ARRAY
28063: PPUSH
28064: CALL_OW 251
28068: PPUSH
28069: CALL_OW 154
// new := new ^ [ dv ] ;
28073: LD_ADDR_VAR 0 2
28077: PUSH
28078: LD_VAR 0 2
28082: PUSH
28083: LD_VAR 0 1
28087: PUSH
28088: EMPTY
28089: LIST
28090: ADD
28091: ST_TO_ADDR
// end else
28092: GO 28147
// begin free_baz := free_baz ^ dv [ 1 ] ;
28094: LD_ADDR_LOC 33
28098: PUSH
28099: LD_LOC 33
28103: PUSH
28104: LD_VAR 0 1
28108: PUSH
28109: LD_INT 1
28111: ARRAY
28112: ADD
28113: ST_TO_ADDR
// registrovani := registrovani diff dv [ 2 ] ;
28114: LD_ADDR_LOC 30
28118: PUSH
28119: LD_LOC 30
28123: PUSH
28124: LD_VAR 0 1
28128: PUSH
28129: LD_INT 2
28131: ARRAY
28132: DIFF
28133: ST_TO_ADDR
// ComStop ( dv [ 1 ] ) ;
28134: LD_VAR 0 1
28138: PUSH
28139: LD_INT 1
28141: ARRAY
28142: PPUSH
28143: CALL_OW 141
// end ;
28147: GO 27981
28149: POP
28150: POP
// dvojicky := new ;
28151: LD_ADDR_LOC 31
28155: PUSH
28156: LD_VAR 0 2
28160: ST_TO_ADDR
// enable ;
28161: ENABLE
// end ; end_of_file
28162: PPOPN 2
28164: END
// every 0 0$2 + 0 0$0.1 do
28165: GO 28167
28167: DISABLE
// begin if FilterAllUnits ( [ [ f_side , 1 ] , [ f_or , [ f_class , class_apeman ] , [ f_class , class_apeman_engineer ] , [ f_class , class_apeman_soldier ] , [ f_class , class_apeman_kamikaze ] ] ] ) > FilterAllUnits ( [ [ f_side , 1 ] , [ 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
28168: LD_INT 22
28170: PUSH
28171: LD_INT 1
28173: PUSH
28174: EMPTY
28175: LIST
28176: LIST
28177: PUSH
28178: LD_INT 2
28180: PUSH
28181: LD_INT 25
28183: PUSH
28184: LD_INT 12
28186: PUSH
28187: EMPTY
28188: LIST
28189: LIST
28190: PUSH
28191: LD_INT 25
28193: PUSH
28194: LD_INT 16
28196: PUSH
28197: EMPTY
28198: LIST
28199: LIST
28200: PUSH
28201: LD_INT 25
28203: PUSH
28204: LD_INT 15
28206: PUSH
28207: EMPTY
28208: LIST
28209: LIST
28210: PUSH
28211: LD_INT 25
28213: PUSH
28214: LD_INT 17
28216: PUSH
28217: EMPTY
28218: LIST
28219: LIST
28220: PUSH
28221: EMPTY
28222: LIST
28223: LIST
28224: LIST
28225: LIST
28226: LIST
28227: PUSH
28228: EMPTY
28229: LIST
28230: LIST
28231: PPUSH
28232: CALL_OW 69
28236: PUSH
28237: LD_INT 22
28239: PUSH
28240: LD_INT 1
28242: PUSH
28243: EMPTY
28244: LIST
28245: LIST
28246: PUSH
28247: LD_INT 21
28249: PUSH
28250: LD_INT 1
28252: PUSH
28253: EMPTY
28254: LIST
28255: LIST
28256: PUSH
28257: LD_INT 3
28259: PUSH
28260: LD_INT 2
28262: PUSH
28263: LD_INT 25
28265: PUSH
28266: LD_INT 12
28268: PUSH
28269: EMPTY
28270: LIST
28271: LIST
28272: PUSH
28273: LD_INT 25
28275: PUSH
28276: LD_INT 16
28278: PUSH
28279: EMPTY
28280: LIST
28281: LIST
28282: PUSH
28283: LD_INT 25
28285: PUSH
28286: LD_INT 15
28288: PUSH
28289: EMPTY
28290: LIST
28291: LIST
28292: PUSH
28293: LD_INT 25
28295: PUSH
28296: LD_INT 17
28298: PUSH
28299: EMPTY
28300: LIST
28301: LIST
28302: PUSH
28303: EMPTY
28304: LIST
28305: LIST
28306: LIST
28307: LIST
28308: LIST
28309: PUSH
28310: EMPTY
28311: LIST
28312: LIST
28313: PUSH
28314: EMPTY
28315: LIST
28316: LIST
28317: LIST
28318: PPUSH
28319: CALL_OW 69
28323: GREATER
28324: IFFALSE 28335
// begin SetAchievement ( ACH_POTA ) ;
28326: LD_STRING ACH_POTA
28328: PPUSH
28329: CALL_OW 543
// exit ;
28333: GO 28336
// end ; enable ;
28335: ENABLE
// end ;
28336: END
// export function SA_OnMissionStart ; begin
28337: LD_INT 0
28339: PPUSH
// SetAchievement ( ACH_APAT ) ;
28340: LD_STRING ACH_APAT
28342: PPUSH
28343: CALL_OW 543
// end ;
28347: LD_VAR 0 1
28351: RET
// export function SA_OnEmployMercenaries ; begin
28352: LD_INT 0
28354: PPUSH
// SetAchievement ( ACH_EMP ) ;
28355: LD_STRING ACH_EMP
28357: PPUSH
28358: CALL_OW 543
// end ; end_of_file
28362: LD_VAR 0 1
28366: RET
// export function SA_EndMission ( campaignNumber , missionNumber , medal1 , medal2 , medal3 ) ; var achiv ; begin
28367: LD_INT 0
28369: PPUSH
28370: PPUSH
// if not missionNumber then
28371: LD_VAR 0 2
28375: NOT
28376: IFFALSE 28380
// exit ;
28378: GO 28510
// achiv := false ;
28380: LD_ADDR_VAR 0 7
28384: PUSH
28385: LD_INT 0
28387: ST_TO_ADDR
// case campaignNumber of 1 :
28388: LD_VAR 0 1
28392: PUSH
28393: LD_INT 1
28395: DOUBLE
28396: EQUAL
28397: IFTRUE 28401
28399: GO 28412
28401: POP
// achiv := ACH_GOTA ; 2 :
28402: LD_ADDR_VAR 0 7
28406: PUSH
28407: LD_STRING ACH_GOTA
28409: ST_TO_ADDR
28410: GO 28462
28412: LD_INT 2
28414: DOUBLE
28415: EQUAL
28416: IFTRUE 28420
28418: GO 28423
28420: POP
// ; 3 :
28421: GO 28462
28423: LD_INT 3
28425: DOUBLE
28426: EQUAL
28427: IFTRUE 28431
28429: GO 28442
28431: POP
// achiv := ACH_MOTSU ; 4 :
28432: LD_ADDR_VAR 0 7
28436: PUSH
28437: LD_STRING ACH_MOTSU
28439: ST_TO_ADDR
28440: GO 28462
28442: LD_INT 4
28444: DOUBLE
28445: EQUAL
28446: IFTRUE 28450
28448: GO 28461
28450: POP
// achiv := ACH_LOP ; end ;
28451: LD_ADDR_VAR 0 7
28455: PUSH
28456: LD_STRING ACH_LOP
28458: ST_TO_ADDR
28459: GO 28462
28461: POP
// if Difficulty = 3 and achiv and medal1 and medal2 and medal3 then
28462: LD_OWVAR 67
28466: PUSH
28467: LD_INT 3
28469: EQUAL
28470: PUSH
28471: LD_VAR 0 7
28475: AND
28476: PUSH
28477: LD_VAR 0 3
28481: AND
28482: PUSH
28483: LD_VAR 0 4
28487: AND
28488: PUSH
28489: LD_VAR 0 5
28493: AND
28494: IFFALSE 28510
// SetAchievementEX ( achiv , missionNumber ) ;
28496: LD_VAR 0 7
28500: PPUSH
28501: LD_VAR 0 2
28505: PPUSH
28506: CALL_OW 564
// end ;
28510: LD_VAR 0 6
28514: RET
// export function SA_BehemothConstructed ; begin
28515: LD_INT 0
28517: PPUSH
// SetAchievement ( ACH_SMC ) ;
28518: LD_STRING ACH_SMC
28520: PPUSH
28521: CALL_OW 543
// end ;
28525: LD_VAR 0 1
28529: RET
// on CustomCommand ( p1 , p2 , p3 , p4 , p5 , p6 ) do begin case p2 of 1 :
28530: LD_VAR 0 2
28534: PUSH
28535: LD_INT 1
28537: DOUBLE
28538: EQUAL
28539: IFTRUE 28543
28541: GO 28550
28543: POP
// HackUnlimitedResources ; 2 :
28544: CALL 28734 0 0
28548: GO 28731
28550: LD_INT 2
28552: DOUBLE
28553: EQUAL
28554: IFTRUE 28558
28556: GO 28565
28558: POP
// HackSetLevel10 ; 3 :
28559: CALL 28867 0 0
28563: GO 28731
28565: LD_INT 3
28567: DOUBLE
28568: EQUAL
28569: IFTRUE 28573
28571: GO 28580
28573: POP
// HackSetLevel10YourUnits ; 4 :
28574: CALL 28952 0 0
28578: GO 28731
28580: LD_INT 4
28582: DOUBLE
28583: EQUAL
28584: IFTRUE 28588
28586: GO 28610
28588: POP
// HackSpawnHuman ( p3 , p4 , p5 ) ; 5 :
28589: LD_VAR 0 3
28593: PPUSH
28594: LD_VAR 0 4
28598: PPUSH
28599: LD_VAR 0 5
28603: PPUSH
28604: CALL 29042 0 3
28608: GO 28731
28610: LD_INT 5
28612: DOUBLE
28613: EQUAL
28614: IFTRUE 28618
28616: GO 28625
28618: POP
// HackSpawnVehicle ; 6 :
28619: CALL 29103 0 0
28623: GO 28731
28625: LD_INT 6
28627: DOUBLE
28628: EQUAL
28629: IFTRUE 28633
28631: GO 28640
28633: POP
// HackInvincible ; 7 :
28634: CALL 29649 0 0
28638: GO 28731
28640: LD_INT 7
28642: DOUBLE
28643: EQUAL
28644: IFTRUE 28648
28646: GO 28655
28648: POP
// HackInvisible ; 8 :
28649: CALL 29760 0 0
28653: GO 28731
28655: LD_INT 8
28657: DOUBLE
28658: EQUAL
28659: IFTRUE 28663
28661: GO 28670
28663: POP
// HackChangeYourSide ; 9 :
28664: CALL 29817 0 0
28668: GO 28731
28670: LD_INT 9
28672: DOUBLE
28673: EQUAL
28674: IFTRUE 28678
28676: GO 28685
28678: POP
// HackChangeUnitSide ; 10 :
28679: CALL 29859 0 0
28683: GO 28731
28685: LD_INT 10
28687: DOUBLE
28688: EQUAL
28689: IFTRUE 28693
28691: GO 28700
28693: POP
// HackFog ; 11 :
28694: CALL 29960 0 0
28698: GO 28731
28700: LD_INT 11
28702: DOUBLE
28703: EQUAL
28704: IFTRUE 28708
28706: GO 28715
28708: POP
// HackApeman ; 12 :
28709: CALL 29975 0 0
28713: GO 28731
28715: LD_INT 12
28717: DOUBLE
28718: EQUAL
28719: IFTRUE 28723
28721: GO 28730
28723: POP
// HackBoom ; end ;
28724: CALL 30060 0 0
28728: GO 28731
28730: POP
// end ;
28731: PPOPN 6
28733: END
// export function HackUnlimitedResources ; var i , j , tmp ; begin
28734: LD_INT 0
28736: PPUSH
28737: PPUSH
28738: PPUSH
28739: PPUSH
// tmp := FilterAllUnits ( [ [ f_side , your_side ] , [ f_or , [ f_btype , b_depot ] , [ f_btype , b_warehouse ] ] ] ) ;
28740: LD_ADDR_VAR 0 4
28744: PUSH
28745: LD_INT 22
28747: PUSH
28748: LD_OWVAR 2
28752: PUSH
28753: EMPTY
28754: LIST
28755: LIST
28756: PUSH
28757: LD_INT 2
28759: PUSH
28760: LD_INT 30
28762: PUSH
28763: LD_INT 0
28765: PUSH
28766: EMPTY
28767: LIST
28768: LIST
28769: PUSH
28770: LD_INT 30
28772: PUSH
28773: LD_INT 1
28775: PUSH
28776: EMPTY
28777: LIST
28778: LIST
28779: PUSH
28780: EMPTY
28781: LIST
28782: LIST
28783: LIST
28784: PUSH
28785: EMPTY
28786: LIST
28787: LIST
28788: PPUSH
28789: CALL_OW 69
28793: ST_TO_ADDR
// if not tmp then
28794: LD_VAR 0 4
28798: NOT
28799: IFFALSE 28803
// exit ;
28801: GO 28862
// for i in tmp do
28803: LD_ADDR_VAR 0 2
28807: PUSH
28808: LD_VAR 0 4
28812: PUSH
28813: FOR_IN
28814: IFFALSE 28860
// for j = 1 to 3 do
28816: LD_ADDR_VAR 0 3
28820: PUSH
28821: DOUBLE
28822: LD_INT 1
28824: DEC
28825: ST_TO_ADDR
28826: LD_INT 3
28828: PUSH
28829: FOR_TO
28830: IFFALSE 28856
// SetResourceType ( GetBase ( i ) , j , 99999 ) ;
28832: LD_VAR 0 2
28836: PPUSH
28837: CALL_OW 274
28841: PPUSH
28842: LD_VAR 0 3
28846: PPUSH
28847: LD_INT 99999
28849: PPUSH
28850: CALL_OW 277
28854: GO 28829
28856: POP
28857: POP
28858: GO 28813
28860: POP
28861: POP
// end ;
28862: LD_VAR 0 1
28866: RET
// export function HackSetLevel10 ; var i , j ; begin
28867: LD_INT 0
28869: PPUSH
28870: PPUSH
28871: PPUSH
// for i in FilterAllUnits ( [ f_type , unit_human ] ) do
28872: LD_ADDR_VAR 0 2
28876: PUSH
28877: LD_INT 21
28879: PUSH
28880: LD_INT 1
28882: PUSH
28883: EMPTY
28884: LIST
28885: LIST
28886: PPUSH
28887: CALL_OW 69
28891: PUSH
28892: FOR_IN
28893: IFFALSE 28945
// if IsSelected ( i ) then
28895: LD_VAR 0 2
28899: PPUSH
28900: CALL_OW 306
28904: IFFALSE 28943
// begin for j := 1 to 4 do
28906: LD_ADDR_VAR 0 3
28910: PUSH
28911: DOUBLE
28912: LD_INT 1
28914: DEC
28915: ST_TO_ADDR
28916: LD_INT 4
28918: PUSH
28919: FOR_TO
28920: IFFALSE 28941
// SetSkill ( i , j , 10 ) ;
28922: LD_VAR 0 2
28926: PPUSH
28927: LD_VAR 0 3
28931: PPUSH
28932: LD_INT 10
28934: PPUSH
28935: CALL_OW 237
28939: GO 28919
28941: POP
28942: POP
// end ;
28943: GO 28892
28945: POP
28946: POP
// end ;
28947: LD_VAR 0 1
28951: RET
// export function HackSetLevel10YourUnits ; var i , j ; begin
28952: LD_INT 0
28954: PPUSH
28955: PPUSH
28956: PPUSH
// for i in FilterAllUnits ( [ [ f_side , your_side ] , [ f_type , unit_human ] ] ) do
28957: LD_ADDR_VAR 0 2
28961: PUSH
28962: LD_INT 22
28964: PUSH
28965: LD_OWVAR 2
28969: PUSH
28970: EMPTY
28971: LIST
28972: LIST
28973: PUSH
28974: LD_INT 21
28976: PUSH
28977: LD_INT 1
28979: PUSH
28980: EMPTY
28981: LIST
28982: LIST
28983: PUSH
28984: EMPTY
28985: LIST
28986: LIST
28987: PPUSH
28988: CALL_OW 69
28992: PUSH
28993: FOR_IN
28994: IFFALSE 29035
// begin for j := 1 to 4 do
28996: LD_ADDR_VAR 0 3
29000: PUSH
29001: DOUBLE
29002: LD_INT 1
29004: DEC
29005: ST_TO_ADDR
29006: LD_INT 4
29008: PUSH
29009: FOR_TO
29010: IFFALSE 29031
// SetSkill ( i , j , 10 ) ;
29012: LD_VAR 0 2
29016: PPUSH
29017: LD_VAR 0 3
29021: PPUSH
29022: LD_INT 10
29024: PPUSH
29025: CALL_OW 237
29029: GO 29009
29031: POP
29032: POP
// end ;
29033: GO 28993
29035: POP
29036: POP
// end ;
29037: LD_VAR 0 1
29041: RET
// export function HackSpawnHuman ( nation , class , skill ) ; begin
29042: LD_INT 0
29044: PPUSH
// uc_side := your_side ;
29045: LD_ADDR_OWVAR 20
29049: PUSH
29050: LD_OWVAR 2
29054: ST_TO_ADDR
// uc_nation := nation ;
29055: LD_ADDR_OWVAR 21
29059: PUSH
29060: LD_VAR 0 1
29064: ST_TO_ADDR
// InitHc ;
29065: CALL_OW 19
// PrepareHuman ( false , class , skill ) ;
29069: LD_INT 0
29071: PPUSH
29072: LD_VAR 0 2
29076: PPUSH
29077: LD_VAR 0 3
29081: PPUSH
29082: CALL_OW 380
// PlaceUnitAnywhere ( CreateHuman , true ) ;
29086: CALL_OW 44
29090: PPUSH
29091: LD_INT 1
29093: PPUSH
29094: CALL_OW 51
// end ;
29098: LD_VAR 0 4
29102: RET
// export function HackSpawnVehicle ; begin
29103: LD_INT 0
29105: PPUSH
// uc_side := your_side ;
29106: LD_ADDR_OWVAR 20
29110: PUSH
29111: LD_OWVAR 2
29115: ST_TO_ADDR
// uc_nation := rand ( 1 , 3 ) ;
29116: LD_ADDR_OWVAR 21
29120: PUSH
29121: LD_INT 1
29123: PPUSH
29124: LD_INT 3
29126: PPUSH
29127: CALL_OW 12
29131: ST_TO_ADDR
// InitVc ;
29132: CALL_OW 20
// case uc_nation of 1 :
29136: LD_OWVAR 21
29140: PUSH
29141: LD_INT 1
29143: DOUBLE
29144: EQUAL
29145: IFTRUE 29149
29147: GO 29293
29149: POP
// begin vc_chassis := [ us_light_wheeled , us_medium_wheeled , us_medium_tracked , us_heavy_tracked , us_morphling ] [ rand ( 1 , 5 ) ] ;
29150: LD_ADDR_OWVAR 37
29154: PUSH
29155: LD_INT 1
29157: PUSH
29158: LD_INT 2
29160: PUSH
29161: LD_INT 3
29163: PUSH
29164: LD_INT 4
29166: PUSH
29167: LD_INT 5
29169: PUSH
29170: EMPTY
29171: LIST
29172: LIST
29173: LIST
29174: LIST
29175: LIST
29176: PUSH
29177: LD_INT 1
29179: PPUSH
29180: LD_INT 5
29182: PPUSH
29183: CALL_OW 12
29187: ARRAY
29188: ST_TO_ADDR
// vc_engine := rand ( 1 , 3 ) ;
29189: LD_ADDR_OWVAR 39
29193: PUSH
29194: LD_INT 1
29196: PPUSH
29197: LD_INT 3
29199: PPUSH
29200: CALL_OW 12
29204: ST_TO_ADDR
// vc_control := [ control_manual , control_remote , control_computer ] [ rand ( 1 , 3 ) ] ;
29205: LD_ADDR_OWVAR 38
29209: PUSH
29210: LD_INT 1
29212: PUSH
29213: LD_INT 2
29215: PUSH
29216: LD_INT 3
29218: PUSH
29219: EMPTY
29220: LIST
29221: LIST
29222: LIST
29223: PUSH
29224: LD_INT 1
29226: PPUSH
29227: LD_INT 3
29229: PPUSH
29230: CALL_OW 12
29234: ARRAY
29235: 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 ) ] ;
29236: LD_ADDR_OWVAR 40
29240: PUSH
29241: LD_INT 2
29243: PUSH
29244: LD_INT 4
29246: PUSH
29247: LD_INT 5
29249: PUSH
29250: LD_INT 3
29252: PUSH
29253: LD_INT 7
29255: PUSH
29256: LD_INT 8
29258: PUSH
29259: LD_INT 9
29261: PUSH
29262: LD_INT 10
29264: PUSH
29265: LD_INT 6
29267: PUSH
29268: EMPTY
29269: LIST
29270: LIST
29271: LIST
29272: LIST
29273: LIST
29274: LIST
29275: LIST
29276: LIST
29277: LIST
29278: PUSH
29279: LD_INT 1
29281: PPUSH
29282: LD_INT 9
29284: PPUSH
29285: CALL_OW 12
29289: ARRAY
29290: ST_TO_ADDR
// end ; 2 :
29291: GO 29558
29293: LD_INT 2
29295: DOUBLE
29296: EQUAL
29297: IFTRUE 29301
29299: GO 29425
29301: POP
// begin vc_chassis := [ ar_hovercraft , ar_light_trike , ar_medium_trike , ar_half_tracked ] [ rand ( 1 , 4 ) ] ;
29302: LD_ADDR_OWVAR 37
29306: PUSH
29307: LD_INT 11
29309: PUSH
29310: LD_INT 12
29312: PUSH
29313: LD_INT 13
29315: PUSH
29316: LD_INT 14
29318: PUSH
29319: EMPTY
29320: LIST
29321: LIST
29322: LIST
29323: LIST
29324: PUSH
29325: LD_INT 1
29327: PPUSH
29328: LD_INT 4
29330: PPUSH
29331: CALL_OW 12
29335: ARRAY
29336: ST_TO_ADDR
// vc_engine := rand ( 1 , 3 ) ;
29337: LD_ADDR_OWVAR 39
29341: PUSH
29342: LD_INT 1
29344: PPUSH
29345: LD_INT 3
29347: PPUSH
29348: CALL_OW 12
29352: ST_TO_ADDR
// vc_control := [ control_manual , control_remote , control_apeman ] [ rand ( 1 , 3 ) ] ;
29353: LD_ADDR_OWVAR 38
29357: PUSH
29358: LD_INT 1
29360: PUSH
29361: LD_INT 2
29363: PUSH
29364: LD_INT 5
29366: PUSH
29367: EMPTY
29368: LIST
29369: LIST
29370: LIST
29371: PUSH
29372: LD_INT 1
29374: PPUSH
29375: LD_INT 3
29377: PPUSH
29378: CALL_OW 12
29382: ARRAY
29383: ST_TO_ADDR
// vc_weapon := [ ar_double_machine_gun , ar_flame_thrower , ar_gun , ar_rocket_launcher , ar_selfpropelled_bomb ] [ rand ( 1 , 5 ) ] ;
29384: LD_ADDR_OWVAR 40
29388: PUSH
29389: LD_INT 24
29391: PUSH
29392: LD_INT 26
29394: PUSH
29395: LD_INT 27
29397: PUSH
29398: LD_INT 28
29400: PUSH
29401: LD_INT 29
29403: PUSH
29404: EMPTY
29405: LIST
29406: LIST
29407: LIST
29408: LIST
29409: LIST
29410: PUSH
29411: LD_INT 1
29413: PPUSH
29414: LD_INT 5
29416: PPUSH
29417: CALL_OW 12
29421: ARRAY
29422: ST_TO_ADDR
// end ; 3 :
29423: GO 29558
29425: LD_INT 3
29427: DOUBLE
29428: EQUAL
29429: IFTRUE 29433
29431: GO 29557
29433: POP
// begin vc_chassis := [ ru_medium_wheeled , ru_heavy_wheeled , ru_medium_tracked , ru_heavy_tracked ] [ rand ( 1 , 4 ) ] ;
29434: LD_ADDR_OWVAR 37
29438: PUSH
29439: LD_INT 21
29441: PUSH
29442: LD_INT 23
29444: PUSH
29445: LD_INT 22
29447: PUSH
29448: LD_INT 24
29450: PUSH
29451: EMPTY
29452: LIST
29453: LIST
29454: LIST
29455: LIST
29456: PUSH
29457: LD_INT 1
29459: PPUSH
29460: LD_INT 4
29462: PPUSH
29463: CALL_OW 12
29467: ARRAY
29468: ST_TO_ADDR
// vc_engine := rand ( 1 , 3 ) ;
29469: LD_ADDR_OWVAR 39
29473: PUSH
29474: LD_INT 1
29476: PPUSH
29477: LD_INT 3
29479: PPUSH
29480: CALL_OW 12
29484: ST_TO_ADDR
// vc_control := [ control_manual , control_computer ] [ rand ( 1 , 2 ) ] ;
29485: LD_ADDR_OWVAR 38
29489: PUSH
29490: LD_INT 1
29492: PUSH
29493: LD_INT 3
29495: PUSH
29496: EMPTY
29497: LIST
29498: LIST
29499: PUSH
29500: LD_INT 1
29502: PPUSH
29503: LD_INT 2
29505: PPUSH
29506: CALL_OW 12
29510: ARRAY
29511: 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 ) ] ;
29512: LD_ADDR_OWVAR 40
29516: PUSH
29517: LD_INT 42
29519: PUSH
29520: LD_INT 43
29522: PUSH
29523: LD_INT 44
29525: PUSH
29526: LD_INT 46
29528: PUSH
29529: LD_INT 48
29531: PUSH
29532: LD_INT 47
29534: PUSH
29535: EMPTY
29536: LIST
29537: LIST
29538: LIST
29539: LIST
29540: LIST
29541: LIST
29542: PUSH
29543: LD_INT 1
29545: PPUSH
29546: LD_INT 6
29548: PPUSH
29549: CALL_OW 12
29553: ARRAY
29554: ST_TO_ADDR
// end ; end ;
29555: GO 29558
29557: POP
// PlaceUnitAnywhere ( CreateVehicle , true ) ;
29558: CALL_OW 45
29562: PPUSH
29563: LD_INT 1
29565: PPUSH
29566: CALL_OW 51
// end ;
29570: LD_VAR 0 1
29574: RET
// export invincible ; every 1 do
29575: GO 29577
29577: DISABLE
// invincible := [ ] ;
29578: LD_ADDR_EXP 231
29582: PUSH
29583: EMPTY
29584: ST_TO_ADDR
29585: END
// every 10 do var i ;
29586: GO 29588
29588: DISABLE
29589: LD_INT 0
29591: PPUSH
// begin enable ;
29592: ENABLE
// if not invincible then
29593: LD_EXP 231
29597: NOT
29598: IFFALSE 29602
// exit ;
29600: GO 29646
// for i in invincible do
29602: LD_ADDR_VAR 0 1
29606: PUSH
29607: LD_EXP 231
29611: PUSH
29612: FOR_IN
29613: IFFALSE 29644
// if GetLives ( i ) < 1000 then
29615: LD_VAR 0 1
29619: PPUSH
29620: CALL_OW 256
29624: PUSH
29625: LD_INT 1000
29627: LESS
29628: IFFALSE 29642
// SetLives ( i , 1000 ) ;
29630: LD_VAR 0 1
29634: PPUSH
29635: LD_INT 1000
29637: PPUSH
29638: CALL_OW 234
29642: GO 29612
29644: POP
29645: POP
// end ;
29646: PPOPN 1
29648: END
// export function HackInvincible ; var i ; begin
29649: LD_INT 0
29651: PPUSH
29652: PPUSH
// for i in FilterAllUnits ( [ f_or , [ f_type , unit_human ] , [ f_type , unit_vehicle ] ] ) do
29653: LD_ADDR_VAR 0 2
29657: PUSH
29658: LD_INT 2
29660: PUSH
29661: LD_INT 21
29663: PUSH
29664: LD_INT 1
29666: PUSH
29667: EMPTY
29668: LIST
29669: LIST
29670: PUSH
29671: LD_INT 21
29673: PUSH
29674: LD_INT 2
29676: PUSH
29677: EMPTY
29678: LIST
29679: LIST
29680: PUSH
29681: EMPTY
29682: LIST
29683: LIST
29684: LIST
29685: PPUSH
29686: CALL_OW 69
29690: PUSH
29691: FOR_IN
29692: IFFALSE 29753
// if IsSelected ( i ) then
29694: LD_VAR 0 2
29698: PPUSH
29699: CALL_OW 306
29703: IFFALSE 29751
// begin if i in invincible then
29705: LD_VAR 0 2
29709: PUSH
29710: LD_EXP 231
29714: IN
29715: IFFALSE 29735
// invincible := invincible diff i else
29717: LD_ADDR_EXP 231
29721: PUSH
29722: LD_EXP 231
29726: PUSH
29727: LD_VAR 0 2
29731: DIFF
29732: ST_TO_ADDR
29733: GO 29751
// invincible := invincible union i ;
29735: LD_ADDR_EXP 231
29739: PUSH
29740: LD_EXP 231
29744: PUSH
29745: LD_VAR 0 2
29749: UNION
29750: ST_TO_ADDR
// end ;
29751: GO 29691
29753: POP
29754: POP
// end ;
29755: LD_VAR 0 1
29759: RET
// export function HackInvisible ; var i , j ; begin
29760: LD_INT 0
29762: PPUSH
29763: PPUSH
29764: PPUSH
// for i in FilterAllUnits ( [ f_type , unit_human ] ) do
29765: LD_ADDR_VAR 0 2
29769: PUSH
29770: LD_INT 21
29772: PUSH
29773: LD_INT 1
29775: PUSH
29776: EMPTY
29777: LIST
29778: LIST
29779: PPUSH
29780: CALL_OW 69
29784: PUSH
29785: FOR_IN
29786: IFFALSE 29810
// if IsSelected ( i ) then
29788: LD_VAR 0 2
29792: PPUSH
29793: CALL_OW 306
29797: IFFALSE 29808
// begin ComForceInvisible ( i ) ;
29799: LD_VAR 0 2
29803: PPUSH
29804: CALL_OW 496
// end ;
29808: GO 29785
29810: POP
29811: POP
// end ;
29812: LD_VAR 0 1
29816: RET
// export function HackChangeYourSide ; begin
29817: LD_INT 0
29819: PPUSH
// if your_side = 8 then
29820: LD_OWVAR 2
29824: PUSH
29825: LD_INT 8
29827: EQUAL
29828: IFFALSE 29840
// your_side := 0 else
29830: LD_ADDR_OWVAR 2
29834: PUSH
29835: LD_INT 0
29837: ST_TO_ADDR
29838: GO 29854
// your_side := your_side + 1 ;
29840: LD_ADDR_OWVAR 2
29844: PUSH
29845: LD_OWVAR 2
29849: PUSH
29850: LD_INT 1
29852: PLUS
29853: ST_TO_ADDR
// end ;
29854: LD_VAR 0 1
29858: RET
// export function HackChangeUnitSide ; var i , j ; begin
29859: LD_INT 0
29861: PPUSH
29862: PPUSH
29863: PPUSH
// for i in all_units do
29864: LD_ADDR_VAR 0 2
29868: PUSH
29869: LD_OWVAR 3
29873: PUSH
29874: FOR_IN
29875: IFFALSE 29953
// if IsSelected ( i ) then
29877: LD_VAR 0 2
29881: PPUSH
29882: CALL_OW 306
29886: IFFALSE 29951
// begin j := GetSide ( i ) ;
29888: LD_ADDR_VAR 0 3
29892: PUSH
29893: LD_VAR 0 2
29897: PPUSH
29898: CALL_OW 255
29902: ST_TO_ADDR
// if j = 8 then
29903: LD_VAR 0 3
29907: PUSH
29908: LD_INT 8
29910: EQUAL
29911: IFFALSE 29923
// j := 0 else
29913: LD_ADDR_VAR 0 3
29917: PUSH
29918: LD_INT 0
29920: ST_TO_ADDR
29921: GO 29937
// j := j + 1 ;
29923: LD_ADDR_VAR 0 3
29927: PUSH
29928: LD_VAR 0 3
29932: PUSH
29933: LD_INT 1
29935: PLUS
29936: ST_TO_ADDR
// SetSide ( i , j ) ;
29937: LD_VAR 0 2
29941: PPUSH
29942: LD_VAR 0 3
29946: PPUSH
29947: CALL_OW 235
// end ;
29951: GO 29874
29953: POP
29954: POP
// end ;
29955: LD_VAR 0 1
29959: RET
// export function HackFog ; begin
29960: LD_INT 0
29962: PPUSH
// FogOff ( true ) ;
29963: LD_INT 1
29965: PPUSH
29966: CALL_OW 344
// end ;
29970: LD_VAR 0 1
29974: RET
// export function HackApeman ; begin
29975: LD_INT 0
29977: PPUSH
// uc_side := your_side ;
29978: LD_ADDR_OWVAR 20
29982: PUSH
29983: LD_OWVAR 2
29987: ST_TO_ADDR
// uc_nation := 0 ;
29988: LD_ADDR_OWVAR 21
29992: PUSH
29993: LD_INT 0
29995: ST_TO_ADDR
// hc_name :=  ;
29996: LD_ADDR_OWVAR 26
30000: PUSH
30001: LD_STRING 
30003: ST_TO_ADDR
// hc_gallery :=  ;
30004: LD_ADDR_OWVAR 33
30008: PUSH
30009: LD_STRING 
30011: ST_TO_ADDR
// hc_skills := [ 0 , 0 , 0 , 0 ] ;
30012: LD_ADDR_OWVAR 31
30016: PUSH
30017: LD_INT 0
30019: PUSH
30020: LD_INT 0
30022: PUSH
30023: LD_INT 0
30025: PUSH
30026: LD_INT 0
30028: PUSH
30029: EMPTY
30030: LIST
30031: LIST
30032: LIST
30033: LIST
30034: ST_TO_ADDR
// hc_class := class_apeman ;
30035: LD_ADDR_OWVAR 28
30039: PUSH
30040: LD_INT 12
30042: ST_TO_ADDR
// PlaceUnitAnywhere ( CreateHuman , true ) ;
30043: CALL_OW 44
30047: PPUSH
30048: LD_INT 1
30050: PPUSH
30051: CALL_OW 51
// end ;
30055: LD_VAR 0 1
30059: RET
// export function HackBoom ; begin
30060: LD_INT 0
30062: PPUSH
// uc_side := your_side ;
30063: LD_ADDR_OWVAR 20
30067: PUSH
30068: LD_OWVAR 2
30072: ST_TO_ADDR
// uc_nation := 1 ;
30073: LD_ADDR_OWVAR 21
30077: PUSH
30078: LD_INT 1
30080: ST_TO_ADDR
// vc_chassis := us_morphling ;
30081: LD_ADDR_OWVAR 37
30085: PUSH
30086: LD_INT 5
30088: ST_TO_ADDR
// vc_engine := engine_siberite ;
30089: LD_ADDR_OWVAR 39
30093: PUSH
30094: LD_INT 3
30096: ST_TO_ADDR
// vc_control := control_computer ;
30097: LD_ADDR_OWVAR 38
30101: PUSH
30102: LD_INT 3
30104: ST_TO_ADDR
// vc_weapon := us_siberium_rocket ;
30105: LD_ADDR_OWVAR 40
30109: PUSH
30110: LD_INT 8
30112: ST_TO_ADDR
// PlaceUnitAnywhere ( CreateVehicle , true ) ;
30113: CALL_OW 45
30117: PPUSH
30118: LD_INT 1
30120: PPUSH
30121: CALL_OW 51
// end ;
30125: LD_VAR 0 1
30129: RET
