// 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 ; 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
// end ;
2756: LD_VAR 0 1
2760: RET
// export debug , dialog6uzbyl ; starting begin debug = false ;
2761: LD_ADDR_EXP 148
2765: PUSH
2766: LD_INT 0
2768: ST_TO_ADDR
// fstamdep = 60 60$0 ;
2769: LD_ADDR_EXP 225
2773: PUSH
2774: LD_INT 126000
2776: ST_TO_ADDR
// dialog6uzbyl = false ;
2777: LD_ADDR_EXP 149
2781: PUSH
2782: LD_INT 0
2784: ST_TO_ADDR
// cper = cperiode ;
2785: LD_ADDR_LOC 2
2789: PUSH
2790: LD_LOC 1
2794: ST_TO_ADDR
// ingame_video = true ;
2795: LD_ADDR_OWVAR 52
2799: PUSH
2800: LD_INT 1
2802: ST_TO_ADDR
// interface_hidden = true ;
2803: LD_ADDR_OWVAR 54
2807: PUSH
2808: LD_INT 1
2810: ST_TO_ADDR
// set_vars ;
2811: CALL 0 0 0
// amattbf = false ;
2815: LD_ADDR_EXP 222
2819: PUSH
2820: LD_INT 0
2822: ST_TO_ADDR
// attackers = [ ] ;
2823: LD_ADDR_EXP 220
2827: PUSH
2828: EMPTY
2829: ST_TO_ADDR
// att_began = false ;
2830: LD_ADDR_EXP 221
2834: PUSH
2835: LD_INT 0
2837: ST_TO_ADDR
// zdrhat = false ;
2838: LD_ADDR_EXP 150
2842: PUSH
2843: LD_INT 0
2845: ST_TO_ADDR
// brod = false ;
2846: LD_ADDR_EXP 151
2850: PUSH
2851: LD_INT 0
2853: ST_TO_ADDR
// zapbrod = false ;
2854: LD_ADDR_EXP 152
2858: PUSH
2859: LD_INT 0
2861: ST_TO_ADDR
// most_att_bg = false ;
2862: LD_ADDR_EXP 153
2866: PUSH
2867: LD_INT 0
2869: ST_TO_ADDR
// legion = - 1 ;
2870: LD_ADDR_EXP 5
2874: PUSH
2875: LD_INT 1
2877: NEG
2878: ST_TO_ADDR
// marked_3 = true ;
2879: LD_ADDR_EXP 123
2883: PUSH
2884: LD_INT 1
2886: ST_TO_ADDR
// achjo = true ;
2887: LD_ADDR_EXP 155
2891: PUSH
2892: LD_INT 1
2894: ST_TO_ADDR
// us_in_udoli_ = [ ] ;
2895: LD_ADDR_EXP 156
2899: PUSH
2900: EMPTY
2901: ST_TO_ADDR
// pr_loz = 0 ;
2902: LD_ADDR_EXP 224
2906: PUSH
2907: LD_INT 0
2909: ST_TO_ADDR
// telepmed = 0 ;
2910: LD_ADDR_EXP 124
2914: PUSH
2915: LD_INT 0
2917: ST_TO_ADDR
// zasilka = 15 15$0 ;
2918: LD_ADDR_EXP 154
2922: PUSH
2923: LD_INT 31500
2925: ST_TO_ADDR
// disable ( 5 ) ;
2926: LD_INT 5
2928: DISABLE_MARKED
// disable ( 6 ) ;
2929: LD_INT 6
2931: DISABLE_MARKED
// disable ( 7 ) ;
2932: LD_INT 7
2934: DISABLE_MARKED
// disable ( 8 ) ;
2935: LD_INT 8
2937: DISABLE_MARKED
// disable ( 9 ) ;
2938: LD_INT 9
2940: DISABLE_MARKED
// disable ( 10 ) ;
2941: LD_INT 10
2943: DISABLE_MARKED
// disable ( 101 ) ;
2944: LD_INT 101
2946: DISABLE_MARKED
// disable ( 12 ) ;
2947: LD_INT 12
2949: DISABLE_MARKED
// disable ( 102 ) ;
2950: LD_INT 102
2952: DISABLE_MARKED
// disable ( 14 ) ;
2953: LD_INT 14
2955: DISABLE_MARKED
// disable ( 15 ) ;
2956: LD_INT 15
2958: DISABLE_MARKED
// disable ( 16 ) ;
2959: LD_INT 16
2961: DISABLE_MARKED
// disable ( 17 ) ;
2962: LD_INT 17
2964: DISABLE_MARKED
// prepare_russians ;
2965: CALL 5163 0 0
// prepare_americans ;
2969: CALL 7865 0 0
// intro ;
2973: CALL 3271 0 0
// end ;
2977: END
// every 0 0$15 + 7 7$00 do
2978: GO 2980
2980: DISABLE
// begin cper = cper - 0 0$15 ;
2981: LD_ADDR_LOC 2
2985: PUSH
2986: LD_LOC 2
2990: PUSH
2991: LD_INT 525
2993: MINUS
2994: ST_TO_ADDR
// if cper <= 0 then
2995: LD_LOC 2
2999: PUSH
3000: LD_INT 0
3002: LESSEQUAL
3003: IFFALSE 3060
// begin if createcratesarea ( 5 , dropzone , true ) then
3005: LD_INT 5
3007: PPUSH
3008: LD_INT 19
3010: PPUSH
3011: LD_INT 1
3013: PPUSH
3014: CALL_OW 55
3018: IFFALSE 3057
// begin if ( supplies > 1 ) then
3020: LD_LOC 3
3024: PUSH
3025: LD_INT 1
3027: GREATER
3028: IFFALSE 3045
// begin supplies = supplies - 1 ;
3030: LD_ADDR_LOC 3
3034: PUSH
3035: LD_LOC 3
3039: PUSH
3040: LD_INT 1
3042: MINUS
3043: ST_TO_ADDR
// enable ;
3044: ENABLE
// end ; cper = cperiode ;
3045: LD_ADDR_LOC 2
3049: PUSH
3050: LD_LOC 1
3054: ST_TO_ADDR
// end else
3055: GO 3058
// enable ;
3057: ENABLE
// end else
3058: GO 3061
// enable ;
3060: ENABLE
// end ;
3061: END
// every 0 0$7 do
3062: GO 3064
3064: DISABLE
// begin randomize ;
3065: CALL_OW 10
// enable ;
3069: ENABLE
// end ; end_of_file
3070: 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 ;
3071: GO 3073
3073: DISABLE
3074: LD_INT 0
3076: PPUSH
// begin if marked_17 then
3077: LD_LOC 5
3081: IFFALSE 3084
// enable ;
3083: ENABLE
// for tmp in amgrupa_ do
3084: LD_ADDR_VAR 0 1
3088: PUSH
3089: LD_LOC 4
3093: PUSH
3094: FOR_IN
3095: IFFALSE 3266
// case getlives ( tmp ) of 1 .. 250 :
3097: LD_VAR 0 1
3101: PPUSH
3102: CALL_OW 256
3106: PUSH
3107: LD_INT 1
3109: DOUBLE
3110: GREATEREQUAL
3111: IFFALSE 3119
3113: LD_INT 250
3115: DOUBLE
3116: LESSEQUAL
3117: IFTRUE 3121
3119: GO 3137
3121: POP
// if debug then
3122: LD_EXP 148
3126: IFFALSE 3135
// msg ( shit, negdo je v cervenem! ) ; 251 .. 500 :
3128: LD_STRING shit, negdo je v cervenem!
3130: PPUSH
3131: CALL_OW 100
3135: GO 3264
3137: LD_INT 251
3139: DOUBLE
3140: GREATEREQUAL
3141: IFFALSE 3149
3143: LD_INT 500
3145: DOUBLE
3146: LESSEQUAL
3147: IFTRUE 3151
3149: GO 3179
3151: POP
// begin setlives ( tmp , 500 ) ;
3152: LD_VAR 0 1
3156: PPUSH
3157: LD_INT 500
3159: PPUSH
3160: CALL_OW 234
// if debug then
3164: LD_EXP 148
3168: IFFALSE 3177
// msg ( 251-500 ) ;
3170: LD_STRING 251-500
3172: PPUSH
3173: CALL_OW 100
// end ; 501 .. 750 :
3177: GO 3264
3179: LD_INT 501
3181: DOUBLE
3182: GREATEREQUAL
3183: IFFALSE 3191
3185: LD_INT 750
3187: DOUBLE
3188: LESSEQUAL
3189: IFTRUE 3193
3191: GO 3221
3193: POP
// begin setlives ( tmp , 750 ) ;
3194: LD_VAR 0 1
3198: PPUSH
3199: LD_INT 750
3201: PPUSH
3202: CALL_OW 234
// if debug then
3206: LD_EXP 148
3210: IFFALSE 3219
// msg ( 501-750 ) ;
3212: LD_STRING 501-750
3214: PPUSH
3215: CALL_OW 100
// end ; 751 .. 999 :
3219: GO 3264
3221: LD_INT 751
3223: DOUBLE
3224: GREATEREQUAL
3225: IFFALSE 3233
3227: LD_INT 999
3229: DOUBLE
3230: LESSEQUAL
3231: IFTRUE 3235
3233: GO 3263
3235: POP
// begin setlives ( tmp , 999 ) ;
3236: LD_VAR 0 1
3240: PPUSH
3241: LD_INT 999
3243: PPUSH
3244: CALL_OW 234
// if debug then
3248: LD_EXP 148
3252: IFFALSE 3261
// msg ( 751-999 ) ;
3254: LD_STRING 751-999
3256: PPUSH
3257: CALL_OW 100
// end ; end ;
3261: GO 3264
3263: POP
3264: GO 3094
3266: POP
3267: POP
// end ;
3268: PPOPN 1
3270: END
// var amgrupa_ , marked_17 ; export function intro ; var tmp ; begin
3271: LD_INT 0
3273: PPUSH
3274: PPUSH
// amgrupa_ = [ ] ;
3275: LD_ADDR_LOC 4
3279: PUSH
3280: EMPTY
3281: ST_TO_ADDR
// for tmp in am_grupa do
3282: LD_ADDR_VAR 0 2
3286: PUSH
3287: LD_EXP 184
3291: PUSH
3292: FOR_IN
3293: IFFALSE 3357
// if gettype ( tmp ) = unit_human then
3295: LD_VAR 0 2
3299: PPUSH
3300: CALL_OW 247
3304: PUSH
3305: LD_INT 1
3307: EQUAL
3308: IFFALSE 3331
// amgrupa_ = amgrupa_ ^ [ tmp ] else
3310: LD_ADDR_LOC 4
3314: PUSH
3315: LD_LOC 4
3319: PUSH
3320: LD_VAR 0 2
3324: PUSH
3325: EMPTY
3326: LIST
3327: ADD
3328: ST_TO_ADDR
3329: GO 3355
// amgrupa_ = amgrupa_ ^ [ isdrivenby ( tmp ) ] ;
3331: LD_ADDR_LOC 4
3335: PUSH
3336: LD_LOC 4
3340: PUSH
3341: LD_VAR 0 2
3345: PPUSH
3346: CALL_OW 311
3350: PUSH
3351: EMPTY
3352: LIST
3353: ADD
3354: ST_TO_ADDR
3355: GO 3292
3357: POP
3358: POP
// amgrupa_ = amgrupa_ diff [ 0 ] ;
3359: LD_ADDR_LOC 4
3363: PUSH
3364: LD_LOC 4
3368: PUSH
3369: LD_INT 0
3371: PUSH
3372: EMPTY
3373: LIST
3374: DIFF
3375: ST_TO_ADDR
// disable ( 1 ) ;
3376: LD_INT 1
3378: DISABLE_MARKED
// wait ( 0 0$1 ) ;
3379: LD_INT 35
3381: PPUSH
3382: CALL_OW 67
// centernowonunits ( am_grupa ) ;
3386: LD_EXP 184
3390: PPUSH
3391: CALL_OW 87
// commovexy ( am_grupa , 133 , 92 ) ;
3395: LD_EXP 184
3399: PPUSH
3400: LD_INT 133
3402: PPUSH
3403: LD_INT 92
3405: PPUSH
3406: CALL_OW 111
// say ( john , D1-JMM-1 ) ;
3410: LD_EXP 173
3414: PPUSH
3415: LD_STRING D1-JMM-1
3417: PPUSH
3418: CALL_OW 88
// commovexy ( am_grupa , 123 , 85 ) ;
3422: LD_EXP 184
3426: PPUSH
3427: LD_INT 123
3429: PPUSH
3430: LD_INT 85
3432: PPUSH
3433: CALL_OW 111
// say ( lucy , D1-Don-1 ) ;
3437: LD_EXP 175
3441: PPUSH
3442: LD_STRING D1-Don-1
3444: PPUSH
3445: CALL_OW 88
// say ( john , D1-JMM-2 ) ;
3449: LD_EXP 173
3453: PPUSH
3454: LD_STRING D1-JMM-2
3456: PPUSH
3457: CALL_OW 88
// commovexy ( am_grupa , 113 , 84 ) ;
3461: LD_EXP 184
3465: PPUSH
3466: LD_INT 113
3468: PPUSH
3469: LD_INT 84
3471: PPUSH
3472: CALL_OW 111
// say ( lucy , D1-Don-2 ) ;
3476: LD_EXP 175
3480: PPUSH
3481: LD_STRING D1-Don-2
3483: PPUSH
3484: CALL_OW 88
// commovexy ( am_grupa , 101 , 84 ) ;
3488: LD_EXP 184
3492: PPUSH
3493: LD_INT 101
3495: PPUSH
3496: LD_INT 84
3498: PPUSH
3499: CALL_OW 111
// while not brod do
3503: LD_EXP 151
3507: NOT
3508: IFFALSE 3519
// wait ( 0 0$0.2 ) ;
3510: LD_INT 7
3512: PPUSH
3513: CALL_OW 67
3517: GO 3503
// say ( am_grupa [ 1 ] , D1-Sol1-2 ) ;
3519: LD_EXP 184
3523: PUSH
3524: LD_INT 1
3526: ARRAY
3527: PPUSH
3528: LD_STRING D1-Sol1-2
3530: PPUSH
3531: CALL_OW 88
// say ( john , D1-JMM-3 ) ;
3535: LD_EXP 173
3539: PPUSH
3540: LD_STRING D1-JMM-3
3542: PPUSH
3543: CALL_OW 88
// changemissionobjectives ( M1 ) ;
3547: LD_STRING M1
3549: PPUSH
3550: CALL_OW 337
// marked_17 = true ;
3554: LD_ADDR_LOC 5
3558: PUSH
3559: LD_INT 1
3561: ST_TO_ADDR
// enable ( 17 ) ;
3562: LD_INT 17
3564: ENABLE_MARKED
// commovexy ( unitfilter ( am_grupa , [ [ f_type , unit_vehicle ] ] ) , 82 , 61 ) ;
3565: LD_EXP 184
3569: PPUSH
3570: LD_INT 21
3572: PUSH
3573: LD_INT 2
3575: PUSH
3576: EMPTY
3577: LIST
3578: LIST
3579: PUSH
3580: EMPTY
3581: LIST
3582: PPUSH
3583: CALL_OW 72
3587: PPUSH
3588: LD_INT 82
3590: PPUSH
3591: LD_INT 61
3593: PPUSH
3594: CALL_OW 111
// wait ( 0 0$1.7 ) ;
3598: LD_INT 60
3600: PPUSH
3601: CALL_OW 67
// commovexy ( unitfilter ( am_grupa , [ [ f_type , unit_human ] ] ) , 82 , 61 ) ;
3605: LD_EXP 184
3609: PPUSH
3610: LD_INT 21
3612: PUSH
3613: LD_INT 1
3615: PUSH
3616: EMPTY
3617: LIST
3618: LIST
3619: PUSH
3620: EMPTY
3621: LIST
3622: PPUSH
3623: CALL_OW 72
3627: PPUSH
3628: LD_INT 82
3630: PPUSH
3631: LD_INT 61
3633: PPUSH
3634: CALL_OW 111
// enable ( 1 ) ;
3638: LD_INT 1
3640: ENABLE_MARKED
// while not att_began do
3641: LD_EXP 221
3645: NOT
3646: IFFALSE 3657
// wait ( 0 0$0.2 ) ;
3648: LD_INT 7
3650: PPUSH
3651: CALL_OW 67
3655: GO 3641
// wait ( 0 0$1.5 ) ;
3657: LD_INT 52
3659: PPUSH
3660: CALL_OW 67
// say ( john , D1a-JMM-1 ) ;
3664: LD_EXP 173
3668: PPUSH
3669: LD_STRING D1a-JMM-1
3671: PPUSH
3672: CALL_OW 88
// wait ( 0 0$1 ) ;
3676: LD_INT 35
3678: PPUSH
3679: CALL_OW 67
// say ( lucy , D1a-Don-1 ) ;
3683: LD_EXP 175
3687: PPUSH
3688: LD_STRING D1a-Don-1
3690: PPUSH
3691: CALL_OW 88
// say ( john , D1a-JMM-2 ) ;
3695: LD_EXP 173
3699: PPUSH
3700: LD_STRING D1a-JMM-2
3702: PPUSH
3703: CALL_OW 88
// disable ( 4 ) ;
3707: LD_INT 4
3709: DISABLE_MARKED
// while filterunitsinarea ( brod2 , [ [ f_side , am ] , [ f_ok ] ] ) do
3710: LD_INT 1
3712: PPUSH
3713: LD_INT 22
3715: PUSH
3716: LD_EXP 2
3720: PUSH
3721: EMPTY
3722: LIST
3723: LIST
3724: PUSH
3725: LD_INT 50
3727: PUSH
3728: EMPTY
3729: LIST
3730: PUSH
3731: EMPTY
3732: LIST
3733: LIST
3734: PPUSH
3735: CALL_OW 70
3739: IFFALSE 3750
// wait ( 0 0$1 ) ;
3741: LD_INT 35
3743: PPUSH
3744: CALL_OW 67
3748: GO 3710
// marked_3 = false ;
3750: LD_ADDR_EXP 123
3754: PUSH
3755: LD_INT 0
3757: ST_TO_ADDR
// wait ( 0 0$1 ) ;
3758: LD_INT 35
3760: PPUSH
3761: CALL_OW 67
// disable ( 02 ) ;
3765: LD_INT 2
3767: DISABLE_MARKED
// achjo = false ;
3768: LD_ADDR_EXP 155
3772: PUSH
3773: LD_INT 0
3775: ST_TO_ADDR
// comstop ( [ baz0 , baz1 , baz2 , baz3 , baz4 , baz5 ] ) ;
3776: LD_EXP 8
3780: PUSH
3781: LD_EXP 10
3785: PUSH
3786: LD_EXP 12
3790: PUSH
3791: LD_EXP 14
3795: PUSH
3796: LD_EXP 16
3800: PUSH
3801: LD_EXP 18
3805: PUSH
3806: EMPTY
3807: LIST
3808: LIST
3809: LIST
3810: LIST
3811: LIST
3812: LIST
3813: PPUSH
3814: CALL_OW 141
// comfree ( [ baz0 , baz1 , baz2 , baz3 , baz4 , baz5 ] ) ;
3818: LD_EXP 8
3822: PUSH
3823: LD_EXP 10
3827: PUSH
3828: LD_EXP 12
3832: PUSH
3833: LD_EXP 14
3837: PUSH
3838: LD_EXP 16
3842: PUSH
3843: LD_EXP 18
3847: PUSH
3848: EMPTY
3849: LIST
3850: LIST
3851: LIST
3852: LIST
3853: LIST
3854: LIST
3855: PPUSH
3856: CALL_OW 139
// disable ( 1 ) ;
3860: LD_INT 1
3862: DISABLE_MARKED
// marked_17 = false ;
3863: LD_ADDR_LOC 5
3867: PUSH
3868: LD_INT 0
3870: ST_TO_ADDR
// disable ( 17 ) ;
3871: LD_INT 17
3873: DISABLE_MARKED
// say ( lucy , D1b-Don-1 ) ;
3874: LD_EXP 175
3878: PPUSH
3879: LD_STRING D1b-Don-1
3881: PPUSH
3882: CALL_OW 88
// say ( john , D1b-JMM-1 ) ;
3886: LD_EXP 173
3890: PPUSH
3891: LD_STRING D1b-JMM-1
3893: PPUSH
3894: CALL_OW 88
// say ( am_grupa [ 1 ] , D1b-Sol1-1 ) ;
3898: LD_EXP 184
3902: PUSH
3903: LD_INT 1
3905: ARRAY
3906: PPUSH
3907: LD_STRING D1b-Sol1-1
3909: PPUSH
3910: CALL_OW 88
// say ( lucy , D1b-Don-2 ) ;
3914: LD_EXP 175
3918: PPUSH
3919: LD_STRING D1b-Don-2
3921: PPUSH
3922: CALL_OW 88
// say ( john , D1b-JMM-2 ) ;
3926: LD_EXP 173
3930: PPUSH
3931: LD_STRING D1b-JMM-2
3933: PPUSH
3934: CALL_OW 88
// ingame_video = false ;
3938: LD_ADDR_OWVAR 52
3942: PUSH
3943: LD_INT 0
3945: ST_TO_ADDR
// saveforquickrestart ;
3946: CALL_OW 22
// wait ( 0 0$0.5 ) ;
3950: LD_INT 18
3952: PPUSH
3953: CALL_OW 67
// case query ( Q1 ) of 1 :
3957: LD_STRING Q1
3959: PPUSH
3960: CALL_OW 97
3964: PUSH
3965: LD_INT 1
3967: DOUBLE
3968: EQUAL
3969: IFTRUE 3973
3971: GO 4116
3973: POP
// begin say ( john , D2-JMM-1 ) ;
3974: LD_EXP 173
3978: PPUSH
3979: LD_STRING D2-JMM-1
3981: PPUSH
3982: CALL_OW 88
// sayradio ( powell , D2-Pow-1 ) ;
3986: LD_EXP 174
3990: PPUSH
3991: LD_STRING D2-Pow-1
3993: PPUSH
3994: CALL_OW 94
// say ( john , D2a-JMM-1 ) ;
3998: LD_EXP 173
4002: PPUSH
4003: LD_STRING D2a-JMM-1
4005: PPUSH
4006: CALL_OW 88
// sayradio ( powell , D2a-Pow-1 ) ;
4010: LD_EXP 174
4014: PPUSH
4015: LD_STRING D2a-Pow-1
4017: PPUSH
4018: CALL_OW 94
// say ( john , D2a-JMM-2 ) ;
4022: LD_EXP 173
4026: PPUSH
4027: LD_STRING D2a-JMM-2
4029: PPUSH
4030: CALL_OW 88
// sayradio ( powell , D2a-Pow-2 ) ;
4034: LD_EXP 174
4038: PPUSH
4039: LD_STRING D2a-Pow-2
4041: PPUSH
4042: CALL_OW 94
// say ( john , D2a-JMM-3 ) ;
4046: LD_EXP 173
4050: PPUSH
4051: LD_STRING D2a-JMM-3
4053: PPUSH
4054: CALL_OW 88
// sayradio ( powell , D2a-Pow-3 ) ;
4058: LD_EXP 174
4062: PPUSH
4063: LD_STRING D2a-Pow-3
4065: PPUSH
4066: CALL_OW 94
// say ( john , D2c-JMM-1 ) ;
4070: LD_EXP 173
4074: PPUSH
4075: LD_STRING D2c-JMM-1
4077: PPUSH
4078: CALL_OW 88
// sayradio ( powell , D2c-Pow-1 ) ;
4082: LD_EXP 174
4086: PPUSH
4087: LD_STRING D2c-Pow-1
4089: PPUSH
4090: CALL_OW 94
// say ( john , D2c-JMM-2 ) ;
4094: LD_EXP 173
4098: PPUSH
4099: LD_STRING D2c-JMM-2
4101: PPUSH
4102: CALL_OW 88
// zasilka = 1 1$0 ;
4106: LD_ADDR_EXP 154
4110: PUSH
4111: LD_INT 2100
4113: ST_TO_ADDR
// end ; 2 :
4114: GO 4239
4116: LD_INT 2
4118: DOUBLE
4119: EQUAL
4120: IFTRUE 4124
4122: GO 4219
4124: POP
// begin say ( john , D2-JMM-1 ) ;
4125: LD_EXP 173
4129: PPUSH
4130: LD_STRING D2-JMM-1
4132: PPUSH
4133: CALL_OW 88
// sayradio ( powell , D2-Pow-1 ) ;
4137: LD_EXP 174
4141: PPUSH
4142: LD_STRING D2-Pow-1
4144: PPUSH
4145: CALL_OW 94
// say ( john , D2b-JMM-1 ) ;
4149: LD_EXP 173
4153: PPUSH
4154: LD_STRING D2b-JMM-1
4156: PPUSH
4157: CALL_OW 88
// sayradio ( powell , D2b-Pow-1 ) ;
4161: LD_EXP 174
4165: PPUSH
4166: LD_STRING D2b-Pow-1
4168: PPUSH
4169: CALL_OW 94
// say ( john , D2c-JMM-1 ) ;
4173: LD_EXP 173
4177: PPUSH
4178: LD_STRING D2c-JMM-1
4180: PPUSH
4181: CALL_OW 88
// sayradio ( powell , D2c-Pow-1 ) ;
4185: LD_EXP 174
4189: PPUSH
4190: LD_STRING D2c-Pow-1
4192: PPUSH
4193: CALL_OW 94
// say ( john , D2c-JMM-2 ) ;
4197: LD_EXP 173
4201: PPUSH
4202: LD_STRING D2c-JMM-2
4204: PPUSH
4205: CALL_OW 88
// zasilka = 1 1$0 ;
4209: LD_ADDR_EXP 154
4213: PUSH
4214: LD_INT 2100
4216: ST_TO_ADDR
// end ; 3 :
4217: GO 4239
4219: LD_INT 3
4221: DOUBLE
4222: EQUAL
4223: IFTRUE 4227
4225: GO 4238
4227: POP
// zapbrod = true ; end ;
4228: LD_ADDR_EXP 152
4232: PUSH
4233: LD_INT 1
4235: ST_TO_ADDR
4236: GO 4239
4238: POP
// ingame_video = false ;
4239: LD_ADDR_OWVAR 52
4243: PUSH
4244: LD_INT 0
4246: ST_TO_ADDR
// interface_hidden = false ;
4247: LD_ADDR_OWVAR 54
4251: PUSH
4252: LD_INT 0
4254: ST_TO_ADDR
// bazukeri_jdete_do_toho := true ;
4255: LD_ADDR_EXP 229
4259: PUSH
4260: LD_INT 1
4262: ST_TO_ADDR
// am_grupa = [ ] ;
4263: LD_ADDR_EXP 184
4267: PUSH
4268: EMPTY
4269: ST_TO_ADDR
// end ;
4270: LD_VAR 0 1
4274: RET
// every 0 0$1 marked 4 do
4275: GO 4277
4277: DISABLE
// begin if am_grupa then
4278: LD_EXP 184
4282: IFFALSE 4285
// enable ;
4284: ENABLE
// centeronunits ( am_grupa ) ;
4285: LD_EXP 184
4289: PPUSH
4290: CALL_OW 85
// end ;
4294: END
// every 0 0$0.5 trigger isinarea ( am_grupa [ 1 ] , vidi_brod ) do
4295: LD_EXP 184
4299: PUSH
4300: LD_INT 1
4302: ARRAY
4303: PPUSH
4304: LD_INT 8
4306: PPUSH
4307: CALL_OW 308
4311: IFFALSE 4324
4313: GO 4315
4315: DISABLE
// brod = true ;
4316: LD_ADDR_EXP 151
4320: PUSH
4321: LD_INT 1
4323: ST_TO_ADDR
4324: END
// every 0 0$0.2 marked 1 do var tmp , grp ;
4325: GO 4327
4327: DISABLE
4328: LD_INT 0
4330: PPUSH
4331: PPUSH
// begin if am_grupa then
4332: LD_EXP 184
4336: IFFALSE 4339
// enable ;
4338: ENABLE
// if zdrhat then
4339: LD_EXP 150
4343: IFFALSE 4362
// commovexy ( am_grupa , 99 , 82 ) else
4345: LD_EXP 184
4349: PPUSH
4350: LD_INT 99
4352: PPUSH
4353: LD_INT 82
4355: PPUSH
4356: CALL_OW 111
4360: GO 4437
// begin grp = unitfilter ( am_grupa , [ [ f_type , unit_human ] ] ) ;
4362: LD_ADDR_VAR 0 2
4366: PUSH
4367: LD_EXP 184
4371: PPUSH
4372: LD_INT 21
4374: PUSH
4375: LD_INT 1
4377: PUSH
4378: EMPTY
4379: LIST
4380: LIST
4381: PUSH
4382: EMPTY
4383: LIST
4384: PPUSH
4385: CALL_OW 72
4389: ST_TO_ADDR
// for tmp in grp do
4390: LD_ADDR_VAR 0 1
4394: PUSH
4395: LD_VAR 0 2
4399: PUSH
4400: FOR_IN
4401: IFFALSE 4435
// if getlives ( tmp ) < 500 then
4403: LD_VAR 0 1
4407: PPUSH
4408: CALL_OW 256
4412: PUSH
4413: LD_INT 500
4415: LESS
4416: IFFALSE 4433
// commovexy ( tmp , 99 , 82 ) ;
4418: LD_VAR 0 1
4422: PPUSH
4423: LD_INT 99
4425: PPUSH
4426: LD_INT 82
4428: PPUSH
4429: CALL_OW 111
4433: GO 4400
4435: POP
4436: POP
// end ; end ;
4437: PPOPN 2
4439: END
// on unitgoestored ( un ) do if ( un = ru_lab ) and not dialog6uzbyl then
4440: LD_VAR 0 1
4444: PUSH
4445: LD_INT 3
4447: EQUAL
4448: PUSH
4449: LD_EXP 149
4453: NOT
4454: AND
4455: IFFALSE 4502
// begin dialog6uzbyl = true ;
4457: LD_ADDR_EXP 149
4461: PUSH
4462: LD_INT 1
4464: ST_TO_ADDR
// dialogueon ;
4465: CALL_OW 6
// say ( john , D6-JMM-1 ) ;
4469: LD_EXP 173
4473: PPUSH
4474: LD_STRING D6-JMM-1
4476: PPUSH
4477: CALL_OW 88
// dialogueoff ;
4481: CALL_OW 7
// commovexy ( ru_scies , 8 , 2 ) ;
4485: LD_EXP 166
4489: PPUSH
4490: LD_INT 8
4492: PPUSH
4493: LD_INT 2
4495: PPUSH
4496: CALL_OW 111
// end else
4500: GO 4585
// if marked_3 and ( un in am_grupa ) then
4502: LD_EXP 123
4506: PUSH
4507: LD_VAR 0 1
4511: PUSH
4512: LD_EXP 184
4516: IN
4517: AND
4518: IFFALSE 4585
// begin if not zdrhat then
4520: LD_EXP 150
4524: NOT
4525: IFFALSE 4550
// begin commovexy ( am_grupa , 99 , 82 ) ;
4527: LD_EXP 184
4531: PPUSH
4532: LD_INT 99
4534: PPUSH
4535: LD_INT 82
4537: PPUSH
4538: CALL_OW 111
// zdrhat = true ;
4542: LD_ADDR_EXP 150
4546: PUSH
4547: LD_INT 1
4549: ST_TO_ADDR
// end ; if isdrivenby ( un ) then
4550: LD_VAR 0 1
4554: PPUSH
4555: CALL_OW 311
4559: IFFALSE 4585
// am_grupa = am_grupa ^ [ isdrivenby ( un ) ] ;
4561: LD_ADDR_EXP 184
4565: PUSH
4566: LD_EXP 184
4570: PUSH
4571: LD_VAR 0 1
4575: PPUSH
4576: CALL_OW 311
4580: PUSH
4581: EMPTY
4582: LIST
4583: ADD
4584: ST_TO_ADDR
// end ;
4585: PPOPN 1
4587: END
// export us_in_udoli_ ; function us_in_udoli ; begin
4588: LD_INT 0
4590: PPUSH
// us_in_udoli_ = us_in_udoli_ union filterunitsinarea ( udoli , [ [ f_side , am ] , [ f_ok ] ] ) ;
4591: LD_ADDR_EXP 156
4595: PUSH
4596: LD_EXP 156
4600: PUSH
4601: LD_INT 9
4603: PPUSH
4604: LD_INT 22
4606: PUSH
4607: LD_EXP 2
4611: PUSH
4612: EMPTY
4613: LIST
4614: LIST
4615: PUSH
4616: LD_INT 50
4618: PUSH
4619: EMPTY
4620: LIST
4621: PUSH
4622: EMPTY
4623: LIST
4624: LIST
4625: PPUSH
4626: CALL_OW 70
4630: UNION
4631: ST_TO_ADDR
// result = 0 + us_in_udoli_ ;
4632: LD_ADDR_VAR 0 1
4636: PUSH
4637: LD_INT 0
4639: PUSH
4640: LD_EXP 156
4644: PLUS
4645: ST_TO_ADDR
// end ;
4646: LD_VAR 0 1
4650: RET
// every 0 0$0.5 trigger zapbrod and not most_att_bg and us_in_udoli do
4651: LD_EXP 152
4655: PUSH
4656: LD_EXP 153
4660: NOT
4661: AND
4662: PUSH
4663: CALL 4588 0 0
4667: AND
4668: IFFALSE 4682
4670: GO 4672
4672: DISABLE
// begin most_att_bg = true ;
4673: LD_ADDR_EXP 153
4677: PUSH
4678: LD_INT 1
4680: ST_TO_ADDR
// enable ;
4681: ENABLE
// end ;
4682: END
// function negdo_zustal ; var tmp ; begin
4683: LD_INT 0
4685: PPUSH
4686: PPUSH
// tmp = filterunitsinarea ( zdrhaji , [ [ f_side , am ] ] ) ;
4687: LD_ADDR_VAR 0 2
4691: PUSH
4692: LD_INT 21
4694: PPUSH
4695: LD_INT 22
4697: PUSH
4698: LD_EXP 2
4702: PUSH
4703: EMPTY
4704: LIST
4705: LIST
4706: PUSH
4707: EMPTY
4708: LIST
4709: PPUSH
4710: CALL_OW 70
4714: ST_TO_ADDR
// us_in_udoli_ = unitfilter ( us_in_udoli_ , [ [ f_ok ] ] ) diff tmp ;
4715: LD_ADDR_EXP 156
4719: PUSH
4720: LD_EXP 156
4724: PPUSH
4725: LD_INT 50
4727: PUSH
4728: EMPTY
4729: LIST
4730: PUSH
4731: EMPTY
4732: LIST
4733: PPUSH
4734: CALL_OW 72
4738: PUSH
4739: LD_VAR 0 2
4743: DIFF
4744: ST_TO_ADDR
// result = 0 + us_in_udoli_ ;
4745: LD_ADDR_VAR 0 1
4749: PUSH
4750: LD_INT 0
4752: PUSH
4753: LD_EXP 156
4757: PLUS
4758: ST_TO_ADDR
// end ;
4759: LD_VAR 0 1
4763: RET
// every 0 0$0.5 trigger zapbrod and most_att_bg and not negdo_zustal do var tmp ;
4764: LD_EXP 152
4768: PUSH
4769: LD_EXP 153
4773: AND
4774: PUSH
4775: CALL 4683 0 0
4779: NOT
4780: AND
4781: IFFALSE 5160
4783: GO 4785
4785: DISABLE
4786: LD_INT 0
4788: PPUSH
// begin most_att_bg = false ;
4789: LD_ADDR_EXP 153
4793: PUSH
4794: LD_INT 0
4796: ST_TO_ADDR
// tmp = unitfilter ( [ guard0 , guard1 , guard2 , guard3 ] , [ [ f_side , rus ] , [ f_ok ] ] ) ;
4797: LD_ADDR_VAR 0 1
4801: PUSH
4802: LD_EXP 157
4806: PUSH
4807: LD_EXP 158
4811: PUSH
4812: LD_EXP 159
4816: PUSH
4817: LD_EXP 160
4821: PUSH
4822: EMPTY
4823: LIST
4824: LIST
4825: LIST
4826: LIST
4827: PPUSH
4828: LD_INT 22
4830: PUSH
4831: LD_EXP 1
4835: PUSH
4836: EMPTY
4837: LIST
4838: LIST
4839: PUSH
4840: LD_INT 50
4842: PUSH
4843: EMPTY
4844: LIST
4845: PUSH
4846: EMPTY
4847: LIST
4848: LIST
4849: PPUSH
4850: CALL_OW 72
4854: ST_TO_ADDR
// if tmp and isok ( john ) then
4855: LD_VAR 0 1
4859: PUSH
4860: LD_EXP 173
4864: PPUSH
4865: CALL_OW 302
4869: AND
4870: IFFALSE 5160
// begin dialogueon ;
4872: CALL_OW 6
// case query ( Q1a ) of 1 :
4876: LD_STRING Q1a
4878: PPUSH
4879: CALL_OW 97
4883: PUSH
4884: LD_INT 1
4886: DOUBLE
4887: EQUAL
4888: IFTRUE 4892
4890: GO 5043
4892: POP
// begin say ( john , D2-JMM-1 ) ;
4893: LD_EXP 173
4897: PPUSH
4898: LD_STRING D2-JMM-1
4900: PPUSH
4901: CALL_OW 88
// sayradio ( powell , D2-Pow-1 ) ;
4905: LD_EXP 174
4909: PPUSH
4910: LD_STRING D2-Pow-1
4912: PPUSH
4913: CALL_OW 94
// say ( john , D2a-JMM-1 ) ;
4917: LD_EXP 173
4921: PPUSH
4922: LD_STRING D2a-JMM-1
4924: PPUSH
4925: CALL_OW 88
// sayradio ( powell , D2a-Pow-1 ) ;
4929: LD_EXP 174
4933: PPUSH
4934: LD_STRING D2a-Pow-1
4936: PPUSH
4937: CALL_OW 94
// say ( john , D2a-JMM-2 ) ;
4941: LD_EXP 173
4945: PPUSH
4946: LD_STRING D2a-JMM-2
4948: PPUSH
4949: CALL_OW 88
// sayradio ( powell , D2a-Pow-2 ) ;
4953: LD_EXP 174
4957: PPUSH
4958: LD_STRING D2a-Pow-2
4960: PPUSH
4961: CALL_OW 94
// say ( john , D2a-JMM-3 ) ;
4965: LD_EXP 173
4969: PPUSH
4970: LD_STRING D2a-JMM-3
4972: PPUSH
4973: CALL_OW 88
// sayradio ( powell , D2a-Pow-3 ) ;
4977: LD_EXP 174
4981: PPUSH
4982: LD_STRING D2a-Pow-3
4984: PPUSH
4985: CALL_OW 94
// say ( john , D2c-JMM-1 ) ;
4989: LD_EXP 173
4993: PPUSH
4994: LD_STRING D2c-JMM-1
4996: PPUSH
4997: CALL_OW 88
// sayradio ( powell , D2-Pow-1 ) ;
5001: LD_EXP 174
5005: PPUSH
5006: LD_STRING D2-Pow-1
5008: PPUSH
5009: CALL_OW 94
// say ( john , D2c-JMM-2 ) ;
5013: LD_EXP 173
5017: PPUSH
5018: LD_STRING D2c-JMM-2
5020: PPUSH
5021: CALL_OW 88
// zapbrod = false ;
5025: LD_ADDR_EXP 152
5029: PUSH
5030: LD_INT 0
5032: ST_TO_ADDR
// zasilka = 1 1$0 ;
5033: LD_ADDR_EXP 154
5037: PUSH
5038: LD_INT 2100
5040: ST_TO_ADDR
// end ; 2 :
5041: GO 5155
5043: LD_INT 2
5045: DOUBLE
5046: EQUAL
5047: IFTRUE 5051
5049: GO 5154
5051: POP
// begin say ( john , D2-JMM-1 ) ;
5052: LD_EXP 173
5056: PPUSH
5057: LD_STRING D2-JMM-1
5059: PPUSH
5060: CALL_OW 88
// sayradio ( powell , D2-Pow-1 ) ;
5064: LD_EXP 174
5068: PPUSH
5069: LD_STRING D2-Pow-1
5071: PPUSH
5072: CALL_OW 94
// say ( john , D2b-JMM-1 ) ;
5076: LD_EXP 173
5080: PPUSH
5081: LD_STRING D2b-JMM-1
5083: PPUSH
5084: CALL_OW 88
// sayradio ( powell , D2b-Pow-1 ) ;
5088: LD_EXP 174
5092: PPUSH
5093: LD_STRING D2b-Pow-1
5095: PPUSH
5096: CALL_OW 94
// say ( john , D2c-JMM-1 ) ;
5100: LD_EXP 173
5104: PPUSH
5105: LD_STRING D2c-JMM-1
5107: PPUSH
5108: CALL_OW 88
// sayradio ( powell , D2-Pow-1 ) ;
5112: LD_EXP 174
5116: PPUSH
5117: LD_STRING D2-Pow-1
5119: PPUSH
5120: CALL_OW 94
// say ( john , D2c-JMM-2 ) ;
5124: LD_EXP 173
5128: PPUSH
5129: LD_STRING D2c-JMM-2
5131: PPUSH
5132: CALL_OW 88
// zapbrod = false ;
5136: LD_ADDR_EXP 152
5140: PUSH
5141: LD_INT 0
5143: ST_TO_ADDR
// zasilka = 1 1$0 ;
5144: LD_ADDR_EXP 154
5148: PUSH
5149: LD_INT 2100
5151: ST_TO_ADDR
// end ; end ;
5152: GO 5155
5154: POP
// dialogueoff ;
5155: CALL_OW 7
// enable ;
5159: ENABLE
// end ; end ; end_of_file
5160: PPOPN 1
5162: 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
5163: LD_INT 0
5165: PPUSH
5166: PPUSH
// uc_nation = nation_russian ;
5167: LD_ADDR_OWVAR 21
5171: PUSH
5172: LD_INT 3
5174: ST_TO_ADDR
// uc_side = rus ;
5175: LD_ADDR_OWVAR 20
5179: PUSH
5180: LD_EXP 1
5184: ST_TO_ADDR
// preparehuman ( sex_male , class_bazooker , baz0_sk ) ;
5185: LD_INT 1
5187: PPUSH
5188: LD_INT 9
5190: PPUSH
5191: LD_EXP 9
5195: PPUSH
5196: CALL_OW 380
// baz0 = createhuman ;
5200: LD_ADDR_EXP 8
5204: PUSH
5205: CALL_OW 44
5209: ST_TO_ADDR
// placeunitxy ( baz0 , 70 , 54 , false ) ;
5210: LD_EXP 8
5214: PPUSH
5215: LD_INT 70
5217: PPUSH
5218: LD_INT 54
5220: PPUSH
5221: LD_INT 0
5223: PPUSH
5224: CALL_OW 48
// comhold ( baz0 ) ;
5228: LD_EXP 8
5232: PPUSH
5233: CALL_OW 140
// preparehuman ( sex_male , class_bazooker , baz1_sk ) ;
5237: LD_INT 1
5239: PPUSH
5240: LD_INT 9
5242: PPUSH
5243: LD_EXP 11
5247: PPUSH
5248: CALL_OW 380
// baz1 = createhuman ;
5252: LD_ADDR_EXP 10
5256: PUSH
5257: CALL_OW 44
5261: ST_TO_ADDR
// placeunitxy ( baz1 , 69 , 54 , false ) ;
5262: LD_EXP 10
5266: PPUSH
5267: LD_INT 69
5269: PPUSH
5270: LD_INT 54
5272: PPUSH
5273: LD_INT 0
5275: PPUSH
5276: CALL_OW 48
// comhold ( baz1 ) ;
5280: LD_EXP 10
5284: PPUSH
5285: CALL_OW 140
// preparehuman ( sex_male , class_bazooker , baz2_sk ) ;
5289: LD_INT 1
5291: PPUSH
5292: LD_INT 9
5294: PPUSH
5295: LD_EXP 13
5299: PPUSH
5300: CALL_OW 380
// baz2 = createhuman ;
5304: LD_ADDR_EXP 12
5308: PUSH
5309: CALL_OW 44
5313: ST_TO_ADDR
// placeunitxy ( baz2 , 70 , 53 , false ) ;
5314: LD_EXP 12
5318: PPUSH
5319: LD_INT 70
5321: PPUSH
5322: LD_INT 53
5324: PPUSH
5325: LD_INT 0
5327: PPUSH
5328: CALL_OW 48
// comhold ( baz2 ) ;
5332: LD_EXP 12
5336: PPUSH
5337: CALL_OW 140
// preparehuman ( sex_male , class_bazooker , baz3_sk ) ;
5341: LD_INT 1
5343: PPUSH
5344: LD_INT 9
5346: PPUSH
5347: LD_EXP 15
5351: PPUSH
5352: CALL_OW 380
// baz3 = createhuman ;
5356: LD_ADDR_EXP 14
5360: PUSH
5361: CALL_OW 44
5365: ST_TO_ADDR
// placeunitxy ( baz3 , 68 , 52 , false ) ;
5366: LD_EXP 14
5370: PPUSH
5371: LD_INT 68
5373: PPUSH
5374: LD_INT 52
5376: PPUSH
5377: LD_INT 0
5379: PPUSH
5380: CALL_OW 48
// comhold ( baz3 ) ;
5384: LD_EXP 14
5388: PPUSH
5389: CALL_OW 140
// preparehuman ( sex_male , class_bazooker , baz4_sk ) ;
5393: LD_INT 1
5395: PPUSH
5396: LD_INT 9
5398: PPUSH
5399: LD_EXP 17
5403: PPUSH
5404: CALL_OW 380
// baz4 = createhuman ;
5408: LD_ADDR_EXP 16
5412: PUSH
5413: CALL_OW 44
5417: ST_TO_ADDR
// placeunitxy ( baz4 , 69 , 52 , false ) ;
5418: LD_EXP 16
5422: PPUSH
5423: LD_INT 69
5425: PPUSH
5426: LD_INT 52
5428: PPUSH
5429: LD_INT 0
5431: PPUSH
5432: CALL_OW 48
// comhold ( baz4 ) ;
5436: LD_EXP 16
5440: PPUSH
5441: CALL_OW 140
// preparehuman ( sex_male , class_bazooker , baz5_sk ) ;
5445: LD_INT 1
5447: PPUSH
5448: LD_INT 9
5450: PPUSH
5451: LD_EXP 19
5455: PPUSH
5456: CALL_OW 380
// baz5 = createhuman ;
5460: LD_ADDR_EXP 18
5464: PUSH
5465: CALL_OW 44
5469: ST_TO_ADDR
// placeunitxy ( baz5 , 68 , 53 , false ) ;
5470: LD_EXP 18
5474: PPUSH
5475: LD_INT 68
5477: PPUSH
5478: LD_INT 53
5480: PPUSH
5481: LD_INT 0
5483: PPUSH
5484: CALL_OW 48
// comhold ( baz5 ) ;
5488: LD_EXP 18
5492: PPUSH
5493: CALL_OW 140
// preparescientist ( sex_female , scie0_sk ) ;
5497: LD_INT 2
5499: PPUSH
5500: LD_EXP 7
5504: PPUSH
5505: CALL_OW 384
// scie0 = createhuman ;
5509: LD_ADDR_EXP 6
5513: PUSH
5514: CALL_OW 44
5518: ST_TO_ADDR
// placeunitxy ( scie0 , 69 , 53 , false ) ;
5519: LD_EXP 6
5523: PPUSH
5524: LD_INT 69
5526: PPUSH
5527: LD_INT 53
5529: PPUSH
5530: LD_INT 0
5532: PPUSH
5533: CALL_OW 48
// comfree ( scie0 ) ;
5537: LD_EXP 6
5541: PPUSH
5542: CALL_OW 139
// comremember ( [ scie0 , baz0 , baz1 , baz2 , baz3 , baz4 , baz5 ] ) ;
5546: LD_EXP 6
5550: PUSH
5551: LD_EXP 8
5555: PUSH
5556: LD_EXP 10
5560: PUSH
5561: LD_EXP 12
5565: PUSH
5566: LD_EXP 14
5570: PUSH
5571: LD_EXP 16
5575: PUSH
5576: LD_EXP 18
5580: PUSH
5581: EMPTY
5582: LIST
5583: LIST
5584: LIST
5585: LIST
5586: LIST
5587: LIST
5588: LIST
5589: PPUSH
5590: CALL_OW 143
// vc_control = control_computer ;
5594: LD_ADDR_OWVAR 38
5598: PUSH
5599: LD_INT 3
5601: ST_TO_ADDR
// vc_engine = engine_siberite ;
5602: LD_ADDR_OWVAR 39
5606: PUSH
5607: LD_INT 3
5609: ST_TO_ADDR
// vc_chassis = ru_heavy_tracked ;
5610: LD_ADDR_OWVAR 37
5614: PUSH
5615: LD_INT 24
5617: ST_TO_ADDR
// vc_weapon = ru_time_lapser ;
5618: LD_ADDR_OWVAR 40
5622: PUSH
5623: LD_INT 49
5625: ST_TO_ADDR
// timelap0 = createvehicle ;
5626: LD_ADDR_LOC 6
5630: PUSH
5631: CALL_OW 45
5635: ST_TO_ADDR
// setdir ( timelap0 , 5 ) ;
5636: LD_LOC 6
5640: PPUSH
5641: LD_INT 5
5643: PPUSH
5644: CALL_OW 233
// placeunitxy ( timelap0 , 90 , 38 , false ) ;
5648: LD_LOC 6
5652: PPUSH
5653: LD_INT 90
5655: PPUSH
5656: LD_INT 38
5658: PPUSH
5659: LD_INT 0
5661: PPUSH
5662: CALL_OW 48
// comhold ( timelap0 ) ;
5666: LD_LOC 6
5670: PPUSH
5671: CALL_OW 140
// vc_control = control_manual ;
5675: LD_ADDR_OWVAR 38
5679: PUSH
5680: LD_INT 1
5682: ST_TO_ADDR
// vc_chassis = guard0_chassis ;
5683: LD_ADDR_OWVAR 37
5687: PUSH
5688: LD_EXP 20
5692: ST_TO_ADDR
// vc_weapon = guard0_weapon ;
5693: LD_ADDR_OWVAR 40
5697: PUSH
5698: LD_EXP 21
5702: ST_TO_ADDR
// guard0 = createvehicle ;
5703: LD_ADDR_EXP 157
5707: PUSH
5708: CALL_OW 45
5712: ST_TO_ADDR
// setdir ( guard0 , 3 ) ;
5713: LD_EXP 157
5717: PPUSH
5718: LD_INT 3
5720: PPUSH
5721: CALL_OW 233
// placeunitxy ( guard0 , 58 , 77 , false ) ;
5725: LD_EXP 157
5729: PPUSH
5730: LD_INT 58
5732: PPUSH
5733: LD_INT 77
5735: PPUSH
5736: LD_INT 0
5738: PPUSH
5739: CALL_OW 48
// preparemechanic ( sex_male , guard0_dr ) ;
5743: LD_INT 1
5745: PPUSH
5746: LD_EXP 22
5750: PPUSH
5751: CALL_OW 383
// placehumaninunit ( createhuman , guard0 ) ;
5755: CALL_OW 44
5759: PPUSH
5760: LD_EXP 157
5764: PPUSH
5765: CALL_OW 52
// vc_chassis = guard1_chassis ;
5769: LD_ADDR_OWVAR 37
5773: PUSH
5774: LD_EXP 23
5778: ST_TO_ADDR
// vc_weapon = guard1_weapon ;
5779: LD_ADDR_OWVAR 40
5783: PUSH
5784: LD_EXP 24
5788: ST_TO_ADDR
// guard1 = createvehicle ;
5789: LD_ADDR_EXP 158
5793: PUSH
5794: CALL_OW 45
5798: ST_TO_ADDR
// setdir ( guard1 , 3 ) ;
5799: LD_EXP 158
5803: PPUSH
5804: LD_INT 3
5806: PPUSH
5807: CALL_OW 233
// placeunitxy ( guard1 , 54 , 76 , false ) ;
5811: LD_EXP 158
5815: PPUSH
5816: LD_INT 54
5818: PPUSH
5819: LD_INT 76
5821: PPUSH
5822: LD_INT 0
5824: PPUSH
5825: CALL_OW 48
// preparemechanic ( sex_male , guard1_dr ) ;
5829: LD_INT 1
5831: PPUSH
5832: LD_EXP 25
5836: PPUSH
5837: CALL_OW 383
// placehumaninunit ( createhuman , guard1 ) ;
5841: CALL_OW 44
5845: PPUSH
5846: LD_EXP 158
5850: PPUSH
5851: CALL_OW 52
// vc_chassis = guard2_chassis ;
5855: LD_ADDR_OWVAR 37
5859: PUSH
5860: LD_EXP 26
5864: ST_TO_ADDR
// vc_weapon = guard2_weapon ;
5865: LD_ADDR_OWVAR 40
5869: PUSH
5870: LD_EXP 27
5874: ST_TO_ADDR
// guard2 = createvehicle ;
5875: LD_ADDR_EXP 159
5879: PUSH
5880: CALL_OW 45
5884: ST_TO_ADDR
// setdir ( guard2 , 3 ) ;
5885: LD_EXP 159
5889: PPUSH
5890: LD_INT 3
5892: PPUSH
5893: CALL_OW 233
// placeunitxy ( guard2 , 50 , 74 , false ) ;
5897: LD_EXP 159
5901: PPUSH
5902: LD_INT 50
5904: PPUSH
5905: LD_INT 74
5907: PPUSH
5908: LD_INT 0
5910: PPUSH
5911: CALL_OW 48
// preparemechanic ( sex_male , guard2_dr ) ;
5915: LD_INT 1
5917: PPUSH
5918: LD_EXP 28
5922: PPUSH
5923: CALL_OW 383
// placehumaninunit ( createhuman , guard2 ) ;
5927: CALL_OW 44
5931: PPUSH
5932: LD_EXP 159
5936: PPUSH
5937: CALL_OW 52
// vc_chassis = guard3_chassis ;
5941: LD_ADDR_OWVAR 37
5945: PUSH
5946: LD_EXP 29
5950: ST_TO_ADDR
// vc_weapon = guard3_weapon ;
5951: LD_ADDR_OWVAR 40
5955: PUSH
5956: LD_EXP 30
5960: ST_TO_ADDR
// if difficulty > 1 then
5961: LD_OWVAR 67
5965: PUSH
5966: LD_INT 1
5968: GREATER
5969: IFFALSE 5983
// guard3 = createvehicle else
5971: LD_ADDR_EXP 160
5975: PUSH
5976: CALL_OW 45
5980: ST_TO_ADDR
5981: GO 5991
// guard3 = 0 ;
5983: LD_ADDR_EXP 160
5987: PUSH
5988: LD_INT 0
5990: ST_TO_ADDR
// setdir ( guard3 , 2 ) ;
5991: LD_EXP 160
5995: PPUSH
5996: LD_INT 2
5998: PPUSH
5999: CALL_OW 233
// placeunitxy ( guard3 , 45 , 73 , false ) ;
6003: LD_EXP 160
6007: PPUSH
6008: LD_INT 45
6010: PPUSH
6011: LD_INT 73
6013: PPUSH
6014: LD_INT 0
6016: PPUSH
6017: CALL_OW 48
// preparemechanic ( sex_male , guard3_dr ) ;
6021: LD_INT 1
6023: PPUSH
6024: LD_EXP 31
6028: PPUSH
6029: CALL_OW 383
// placehumaninunit ( createhuman , guard3 ) ;
6033: CALL_OW 44
6037: PPUSH
6038: LD_EXP 160
6042: PPUSH
6043: CALL_OW 52
// comremember ( [ guard0 , guard1 , guard2 , guard3 ] ) ;
6047: LD_EXP 157
6051: PUSH
6052: LD_EXP 158
6056: PUSH
6057: LD_EXP 159
6061: PUSH
6062: LD_EXP 160
6066: PUSH
6067: EMPTY
6068: LIST
6069: LIST
6070: LIST
6071: LIST
6072: PPUSH
6073: CALL_OW 143
// teleportexit ( ruteleprt , 113 , 116 ) ;
6077: LD_INT 10
6079: PPUSH
6080: LD_INT 113
6082: PPUSH
6083: LD_INT 116
6085: PPUSH
6086: CALL_OW 243
// vc_control = control_manual ;
6090: LD_ADDR_OWVAR 38
6094: PUSH
6095: LD_INT 1
6097: ST_TO_ADDR
// vc_chassis = def0_chassis ;
6098: LD_ADDR_OWVAR 37
6102: PUSH
6103: LD_EXP 32
6107: ST_TO_ADDR
// vc_weapon = def0_weapon ;
6108: LD_ADDR_OWVAR 40
6112: PUSH
6113: LD_EXP 33
6117: ST_TO_ADDR
// def0 = createvehicle ;
6118: LD_ADDR_EXP 161
6122: PUSH
6123: CALL_OW 45
6127: ST_TO_ADDR
// setdir ( def0 , 2 ) ;
6128: LD_EXP 161
6132: PPUSH
6133: LD_INT 2
6135: PPUSH
6136: CALL_OW 233
// placeunitxy ( def0 , 23 , 17 , false ) ;
6140: LD_EXP 161
6144: PPUSH
6145: LD_INT 23
6147: PPUSH
6148: LD_INT 17
6150: PPUSH
6151: LD_INT 0
6153: PPUSH
6154: CALL_OW 48
// preparemechanic ( sex_male , def0_dr ) ;
6158: LD_INT 1
6160: PPUSH
6161: LD_EXP 34
6165: PPUSH
6166: CALL_OW 383
// placehumaninunit ( createhuman , def0 ) ;
6170: CALL_OW 44
6174: PPUSH
6175: LD_EXP 161
6179: PPUSH
6180: CALL_OW 52
// vc_chassis = def1_chassis ;
6184: LD_ADDR_OWVAR 37
6188: PUSH
6189: LD_EXP 35
6193: ST_TO_ADDR
// vc_weapon = def1_weapon ;
6194: LD_ADDR_OWVAR 40
6198: PUSH
6199: LD_EXP 36
6203: ST_TO_ADDR
// def1 = createvehicle ;
6204: LD_ADDR_EXP 162
6208: PUSH
6209: CALL_OW 45
6213: ST_TO_ADDR
// setdir ( def1 , 3 ) ;
6214: LD_EXP 162
6218: PPUSH
6219: LD_INT 3
6221: PPUSH
6222: CALL_OW 233
// placeunitxy ( def1 , 35 , 19 , false ) ;
6226: LD_EXP 162
6230: PPUSH
6231: LD_INT 35
6233: PPUSH
6234: LD_INT 19
6236: PPUSH
6237: LD_INT 0
6239: PPUSH
6240: CALL_OW 48
// preparemechanic ( sex_male , def1_dr ) ;
6244: LD_INT 1
6246: PPUSH
6247: LD_EXP 37
6251: PPUSH
6252: CALL_OW 383
// placehumaninunit ( createhuman , def1 ) ;
6256: CALL_OW 44
6260: PPUSH
6261: LD_EXP 162
6265: PPUSH
6266: CALL_OW 52
// vc_chassis = def2_chassis ;
6270: LD_ADDR_OWVAR 37
6274: PUSH
6275: LD_EXP 38
6279: ST_TO_ADDR
// vc_weapon = def2_weapon ;
6280: LD_ADDR_OWVAR 40
6284: PUSH
6285: LD_EXP 39
6289: ST_TO_ADDR
// def2 = createvehicle ;
6290: LD_ADDR_EXP 163
6294: PUSH
6295: CALL_OW 45
6299: ST_TO_ADDR
// setdir ( def2 , 2 ) ;
6300: LD_EXP 163
6304: PPUSH
6305: LD_INT 2
6307: PPUSH
6308: CALL_OW 233
// placeunitxy ( def2 , 29 , 13 , false ) ;
6312: LD_EXP 163
6316: PPUSH
6317: LD_INT 29
6319: PPUSH
6320: LD_INT 13
6322: PPUSH
6323: LD_INT 0
6325: PPUSH
6326: CALL_OW 48
// preparemechanic ( sex_male , def2_dr ) ;
6330: LD_INT 1
6332: PPUSH
6333: LD_EXP 40
6337: PPUSH
6338: CALL_OW 383
// placehumaninunit ( createhuman , def2 ) ;
6342: CALL_OW 44
6346: PPUSH
6347: LD_EXP 163
6351: PPUSH
6352: CALL_OW 52
// comremember ( [ def0 , def1 , def2 ] ) ;
6356: LD_EXP 161
6360: PUSH
6361: LD_EXP 162
6365: PUSH
6366: LD_EXP 163
6370: PUSH
6371: EMPTY
6372: LIST
6373: LIST
6374: LIST
6375: PPUSH
6376: CALL_OW 143
// vc_control = control_manual ;
6380: LD_ADDR_OWVAR 38
6384: PUSH
6385: LD_INT 1
6387: ST_TO_ADDR
// vc_chassis = defa_chassis ;
6388: LD_ADDR_OWVAR 37
6392: PUSH
6393: LD_EXP 41
6397: ST_TO_ADDR
// vc_weapon = defa_weapon ;
6398: LD_ADDR_OWVAR 40
6402: PUSH
6403: LD_EXP 42
6407: ST_TO_ADDR
// defa = createvehicle ;
6408: LD_ADDR_EXP 164
6412: PUSH
6413: CALL_OW 45
6417: ST_TO_ADDR
// setdir ( defa , 2 ) ;
6418: LD_EXP 164
6422: PPUSH
6423: LD_INT 2
6425: PPUSH
6426: CALL_OW 233
// placeunitxy ( defa , 37 , 14 , false ) ;
6430: LD_EXP 164
6434: PPUSH
6435: LD_INT 37
6437: PPUSH
6438: LD_INT 14
6440: PPUSH
6441: LD_INT 0
6443: PPUSH
6444: CALL_OW 48
// preparemechanic ( sex_male , defa_driver ) ;
6448: LD_INT 1
6450: PPUSH
6451: LD_EXP 43
6455: PPUSH
6456: CALL_OW 383
// placehumaninunit ( createhuman , defa ) ;
6460: CALL_OW 44
6464: PPUSH
6465: LD_EXP 164
6469: PPUSH
6470: CALL_OW 52
// vc_chassis = defb_chassis ;
6474: LD_ADDR_OWVAR 37
6478: PUSH
6479: LD_EXP 44
6483: ST_TO_ADDR
// vc_weapon = defb_weapon ;
6484: LD_ADDR_OWVAR 40
6488: PUSH
6489: LD_EXP 45
6493: ST_TO_ADDR
// defb = createvehicle ;
6494: LD_ADDR_EXP 165
6498: PUSH
6499: CALL_OW 45
6503: ST_TO_ADDR
// setdir ( defb , 2 ) ;
6504: LD_EXP 165
6508: PPUSH
6509: LD_INT 2
6511: PPUSH
6512: CALL_OW 233
// placeunitxy ( defb , 36 , 9 , false ) ;
6516: LD_EXP 165
6520: PPUSH
6521: LD_INT 36
6523: PPUSH
6524: LD_INT 9
6526: PPUSH
6527: LD_INT 0
6529: PPUSH
6530: CALL_OW 48
// preparemechanic ( sex_male , defb_driver ) ;
6534: LD_INT 1
6536: PPUSH
6537: LD_EXP 46
6541: PPUSH
6542: CALL_OW 383
// placehumaninunit ( createhuman , defb ) ;
6546: CALL_OW 44
6550: PPUSH
6551: LD_EXP 165
6555: PPUSH
6556: CALL_OW 52
// preparesoldier ( sex_male , rubunw0_cr ) ;
6560: LD_INT 1
6562: PPUSH
6563: LD_EXP 141
6567: PPUSH
6568: CALL_OW 381
// tmp = createhuman ;
6572: LD_ADDR_VAR 0 2
6576: PUSH
6577: CALL_OW 44
6581: ST_TO_ADDR
// placeunitxy ( tmp , 33 , 18 , false ) ;
6582: LD_VAR 0 2
6586: PPUSH
6587: LD_INT 33
6589: PPUSH
6590: LD_INT 18
6592: PPUSH
6593: LD_INT 0
6595: PPUSH
6596: CALL_OW 48
// comenterunit ( tmp , rubunw0 ) ;
6600: LD_VAR 0 2
6604: PPUSH
6605: LD_INT 16
6607: PPUSH
6608: CALL_OW 120
// preparesoldier ( sex_male , rubunw1_cr ) ;
6612: LD_INT 1
6614: PPUSH
6615: LD_EXP 142
6619: PPUSH
6620: CALL_OW 381
// tmp = createhuman ;
6624: LD_ADDR_VAR 0 2
6628: PUSH
6629: CALL_OW 44
6633: ST_TO_ADDR
// placeunitxy ( tmp , 37 , 20 , false ) ;
6634: LD_VAR 0 2
6638: PPUSH
6639: LD_INT 37
6641: PPUSH
6642: LD_INT 20
6644: PPUSH
6645: LD_INT 0
6647: PPUSH
6648: CALL_OW 48
// comenterunit ( tmp , rubunw1 ) ;
6652: LD_VAR 0 2
6656: PPUSH
6657: LD_INT 17
6659: PPUSH
6660: CALL_OW 120
// preparesoldier ( sex_male , rubunw2_cr ) ;
6664: LD_INT 1
6666: PPUSH
6667: LD_EXP 143
6671: PPUSH
6672: CALL_OW 381
// tmp = createhuman ;
6676: LD_ADDR_VAR 0 2
6680: PUSH
6681: CALL_OW 44
6685: ST_TO_ADDR
// placeunitxy ( tmp , 44 , 16 , false ) ;
6686: LD_VAR 0 2
6690: PPUSH
6691: LD_INT 44
6693: PPUSH
6694: LD_INT 16
6696: PPUSH
6697: LD_INT 0
6699: PPUSH
6700: CALL_OW 48
// comenterunit ( tmp , rubunw2 ) ;
6704: LD_VAR 0 2
6708: PPUSH
6709: LD_INT 18
6711: PPUSH
6712: CALL_OW 120
// preparemechanic ( sex_male , fact_mech0 ) ;
6716: LD_INT 1
6718: PPUSH
6719: LD_EXP 103
6723: PPUSH
6724: CALL_OW 383
// tmp = createhuman ;
6728: LD_ADDR_VAR 0 2
6732: PUSH
6733: CALL_OW 44
6737: ST_TO_ADDR
// placeunitxyr ( tmp , 19 , 16 , 3 , false ) ;
6738: LD_VAR 0 2
6742: PPUSH
6743: LD_INT 19
6745: PPUSH
6746: LD_INT 16
6748: PPUSH
6749: LD_INT 3
6751: PPUSH
6752: LD_INT 0
6754: PPUSH
6755: CALL_OW 50
// comenterunit ( tmp , ru_fact ) ;
6759: LD_VAR 0 2
6763: PPUSH
6764: LD_INT 21
6766: PPUSH
6767: CALL_OW 120
// preparemechanic ( sex_female , fact_mech1 ) ;
6771: LD_INT 2
6773: PPUSH
6774: LD_EXP 104
6778: PPUSH
6779: CALL_OW 383
// tmp = createhuman ;
6783: LD_ADDR_VAR 0 2
6787: PUSH
6788: CALL_OW 44
6792: ST_TO_ADDR
// placeunitxyr ( tmp , 19 , 16 , 3 , false ) ;
6793: LD_VAR 0 2
6797: PPUSH
6798: LD_INT 19
6800: PPUSH
6801: LD_INT 16
6803: PPUSH
6804: LD_INT 3
6806: PPUSH
6807: LD_INT 0
6809: PPUSH
6810: CALL_OW 50
// comenterunit ( tmp , ru_fact ) ;
6814: LD_VAR 0 2
6818: PPUSH
6819: LD_INT 21
6821: PPUSH
6822: CALL_OW 120
// ru_scies = [ ] ;
6826: LD_ADDR_EXP 166
6830: PUSH
6831: EMPTY
6832: ST_TO_ADDR
// ru_scies_ = 0 ;
6833: LD_ADDR_EXP 223
6837: PUSH
6838: LD_INT 0
6840: ST_TO_ADDR
// ru_scies__ = 5 ;
6841: LD_ADDR_EXP 228
6845: PUSH
6846: LD_INT 5
6848: ST_TO_ADDR
// preparescientist ( sex_male , scie1_sk ) ;
6849: LD_INT 1
6851: PPUSH
6852: LD_EXP 125
6856: PPUSH
6857: CALL_OW 384
// tmp = createhuman ;
6861: LD_ADDR_VAR 0 2
6865: PUSH
6866: CALL_OW 44
6870: ST_TO_ADDR
// placeunitxyr ( tmp , 55 , 4 , 2 , false ) ;
6871: LD_VAR 0 2
6875: PPUSH
6876: LD_INT 55
6878: PPUSH
6879: LD_INT 4
6881: PPUSH
6882: LD_INT 2
6884: PPUSH
6885: LD_INT 0
6887: PPUSH
6888: CALL_OW 50
// comenterunit ( tmp , ru_lab ) ;
6892: LD_VAR 0 2
6896: PPUSH
6897: LD_INT 3
6899: PPUSH
6900: CALL_OW 120
// ru_scies = ru_scies ^ tmp ;
6904: LD_ADDR_EXP 166
6908: PUSH
6909: LD_EXP 166
6913: PUSH
6914: LD_VAR 0 2
6918: ADD
6919: ST_TO_ADDR
// preparescientist ( sex_female , scie2_sk ) ;
6920: LD_INT 2
6922: PPUSH
6923: LD_EXP 126
6927: PPUSH
6928: CALL_OW 384
// tmp = createhuman ;
6932: LD_ADDR_VAR 0 2
6936: PUSH
6937: CALL_OW 44
6941: ST_TO_ADDR
// placeunitxyr ( tmp , 55 , 4 , 2 , false ) ;
6942: LD_VAR 0 2
6946: PPUSH
6947: LD_INT 55
6949: PPUSH
6950: LD_INT 4
6952: PPUSH
6953: LD_INT 2
6955: PPUSH
6956: LD_INT 0
6958: PPUSH
6959: CALL_OW 50
// comenterunit ( tmp , ru_lab ) ;
6963: LD_VAR 0 2
6967: PPUSH
6968: LD_INT 3
6970: PPUSH
6971: CALL_OW 120
// ru_scies = ru_scies ^ tmp ;
6975: LD_ADDR_EXP 166
6979: PUSH
6980: LD_EXP 166
6984: PUSH
6985: LD_VAR 0 2
6989: ADD
6990: ST_TO_ADDR
// preparescientist ( sex_female , scie3_sk ) ;
6991: LD_INT 2
6993: PPUSH
6994: LD_EXP 127
6998: PPUSH
6999: CALL_OW 384
// tmp = createhuman ;
7003: LD_ADDR_VAR 0 2
7007: PUSH
7008: CALL_OW 44
7012: ST_TO_ADDR
// placeunitxyr ( tmp , 55 , 4 , 2 , false ) ;
7013: LD_VAR 0 2
7017: PPUSH
7018: LD_INT 55
7020: PPUSH
7021: LD_INT 4
7023: PPUSH
7024: LD_INT 2
7026: PPUSH
7027: LD_INT 0
7029: PPUSH
7030: CALL_OW 50
// comenterunit ( tmp , ru_lab ) ;
7034: LD_VAR 0 2
7038: PPUSH
7039: LD_INT 3
7041: PPUSH
7042: CALL_OW 120
// ru_scies = ru_scies ^ tmp ;
7046: LD_ADDR_EXP 166
7050: PUSH
7051: LD_EXP 166
7055: PUSH
7056: LD_VAR 0 2
7060: ADD
7061: ST_TO_ADDR
// preparescientist ( sex_male , scie4_sk ) ;
7062: LD_INT 1
7064: PPUSH
7065: LD_EXP 128
7069: PPUSH
7070: CALL_OW 384
// tmp = createhuman ;
7074: LD_ADDR_VAR 0 2
7078: PUSH
7079: CALL_OW 44
7083: ST_TO_ADDR
// placeunitxyr ( tmp , 55 , 4 , 2 , false ) ;
7084: LD_VAR 0 2
7088: PPUSH
7089: LD_INT 55
7091: PPUSH
7092: LD_INT 4
7094: PPUSH
7095: LD_INT 2
7097: PPUSH
7098: LD_INT 0
7100: PPUSH
7101: CALL_OW 50
// comenterunit ( tmp , ru_lab ) ;
7105: LD_VAR 0 2
7109: PPUSH
7110: LD_INT 3
7112: PPUSH
7113: CALL_OW 120
// ru_scies = ru_scies ^ tmp ;
7117: LD_ADDR_EXP 166
7121: PUSH
7122: LD_EXP 166
7126: PUSH
7127: LD_VAR 0 2
7131: ADD
7132: ST_TO_ADDR
// preparescientist ( sex_female , scie5_sk ) ;
7133: LD_INT 2
7135: PPUSH
7136: LD_EXP 129
7140: PPUSH
7141: CALL_OW 384
// tmp = createhuman ;
7145: LD_ADDR_VAR 0 2
7149: PUSH
7150: CALL_OW 44
7154: ST_TO_ADDR
// placeunitxyr ( tmp , 55 , 4 , 2 , false ) ;
7155: LD_VAR 0 2
7159: PPUSH
7160: LD_INT 55
7162: PPUSH
7163: LD_INT 4
7165: PPUSH
7166: LD_INT 2
7168: PPUSH
7169: LD_INT 0
7171: PPUSH
7172: CALL_OW 50
// comenterunit ( tmp , ru_lab ) ;
7176: LD_VAR 0 2
7180: PPUSH
7181: LD_INT 3
7183: PPUSH
7184: CALL_OW 120
// ru_scies = ru_scies ^ tmp ;
7188: LD_ADDR_EXP 166
7192: PUSH
7193: LD_EXP 166
7197: PUSH
7198: LD_VAR 0 2
7202: ADD
7203: ST_TO_ADDR
// preparesoldier ( sex_male , rubune0_cr ) ;
7204: LD_INT 1
7206: PPUSH
7207: LD_EXP 144
7211: PPUSH
7212: CALL_OW 381
// tmp = createhuman ;
7216: LD_ADDR_VAR 0 2
7220: PUSH
7221: CALL_OW 44
7225: ST_TO_ADDR
// placeunitxy ( tmp , 75 , 16 , false ) ;
7226: LD_VAR 0 2
7230: PPUSH
7231: LD_INT 75
7233: PPUSH
7234: LD_INT 16
7236: PPUSH
7237: LD_INT 0
7239: PPUSH
7240: CALL_OW 48
// comenterunit ( tmp , rubune0 ) ;
7244: LD_VAR 0 2
7248: PPUSH
7249: LD_INT 22
7251: PPUSH
7252: CALL_OW 120
// preparesoldier ( sex_male , rubune1_cr ) ;
7256: LD_INT 1
7258: PPUSH
7259: LD_EXP 145
7263: PPUSH
7264: CALL_OW 381
// tmp = createhuman ;
7268: LD_ADDR_VAR 0 2
7272: PUSH
7273: CALL_OW 44
7277: ST_TO_ADDR
// placeunitxy ( tmp , 78 , 14 , false ) ;
7278: LD_VAR 0 2
7282: PPUSH
7283: LD_INT 78
7285: PPUSH
7286: LD_INT 14
7288: PPUSH
7289: LD_INT 0
7291: PPUSH
7292: CALL_OW 48
// comenterunit ( tmp , rubune1 ) ;
7296: LD_VAR 0 2
7300: PPUSH
7301: LD_INT 24
7303: PPUSH
7304: CALL_OW 120
// vc_control = control_manual ;
7308: LD_ADDR_OWVAR 38
7312: PUSH
7313: LD_INT 1
7315: ST_TO_ADDR
// vc_chassis = runo0_chassis ;
7316: LD_ADDR_OWVAR 37
7320: PUSH
7321: LD_EXP 47
7325: ST_TO_ADDR
// vc_weapon = runo0_weapon ;
7326: LD_ADDR_OWVAR 40
7330: PUSH
7331: LD_EXP 48
7335: ST_TO_ADDR
// runo0 = createvehicle ;
7336: LD_ADDR_EXP 170
7340: PUSH
7341: CALL_OW 45
7345: ST_TO_ADDR
// setdir ( runo0 , 3 ) ;
7346: LD_EXP 170
7350: PPUSH
7351: LD_INT 3
7353: PPUSH
7354: CALL_OW 233
// placeunitxy ( runo0 , 72 , 19 , false ) ;
7358: LD_EXP 170
7362: PPUSH
7363: LD_INT 72
7365: PPUSH
7366: LD_INT 19
7368: PPUSH
7369: LD_INT 0
7371: PPUSH
7372: CALL_OW 48
// preparemechanic ( sex_male , runo0_driver ) ;
7376: LD_INT 1
7378: PPUSH
7379: LD_EXP 49
7383: PPUSH
7384: CALL_OW 383
// placehumaninunit ( createhuman , runo0 ) ;
7388: CALL_OW 44
7392: PPUSH
7393: LD_EXP 170
7397: PPUSH
7398: CALL_OW 52
// vc_chassis = runo1_chassis ;
7402: LD_ADDR_OWVAR 37
7406: PUSH
7407: LD_EXP 50
7411: ST_TO_ADDR
// vc_weapon = runo1_weapon ;
7412: LD_ADDR_OWVAR 40
7416: PUSH
7417: LD_EXP 51
7421: ST_TO_ADDR
// runo1 = createvehicle ;
7422: LD_ADDR_EXP 171
7426: PUSH
7427: CALL_OW 45
7431: ST_TO_ADDR
// setdir ( runo1 , 1 ) ;
7432: LD_EXP 171
7436: PPUSH
7437: LD_INT 1
7439: PPUSH
7440: CALL_OW 233
// placeunitxy ( runo1 , 71 , 3 , false ) ;
7444: LD_EXP 171
7448: PPUSH
7449: LD_INT 71
7451: PPUSH
7452: LD_INT 3
7454: PPUSH
7455: LD_INT 0
7457: PPUSH
7458: CALL_OW 48
// preparemechanic ( sex_male , runo1_driver ) ;
7462: LD_INT 1
7464: PPUSH
7465: LD_EXP 52
7469: PPUSH
7470: CALL_OW 383
// placehumaninunit ( createhuman , runo1 ) ;
7474: CALL_OW 44
7478: PPUSH
7479: LD_EXP 171
7483: PPUSH
7484: CALL_OW 52
// vc_chassis = runo2_chassis ;
7488: LD_ADDR_OWVAR 37
7492: PUSH
7493: LD_EXP 53
7497: ST_TO_ADDR
// vc_weapon = runo2_weapon ;
7498: LD_ADDR_OWVAR 40
7502: PUSH
7503: LD_EXP 54
7507: ST_TO_ADDR
// runo2 = createvehicle ;
7508: LD_ADDR_EXP 172
7512: PUSH
7513: CALL_OW 45
7517: ST_TO_ADDR
// setdir ( runo2 , 1 ) ;
7518: LD_EXP 172
7522: PPUSH
7523: LD_INT 1
7525: PPUSH
7526: CALL_OW 233
// placeunitxy ( runo2 , 75 , 9 , false ) ;
7530: LD_EXP 172
7534: PPUSH
7535: LD_INT 75
7537: PPUSH
7538: LD_INT 9
7540: PPUSH
7541: LD_INT 0
7543: PPUSH
7544: CALL_OW 48
// preparemechanic ( sex_male , runo2_driver ) ;
7548: LD_INT 1
7550: PPUSH
7551: LD_EXP 55
7555: PPUSH
7556: CALL_OW 383
// placehumaninunit ( createhuman , runo2 ) ;
7560: CALL_OW 44
7564: PPUSH
7565: LD_EXP 172
7569: PPUSH
7570: CALL_OW 52
// vc_control = control_manual ;
7574: LD_ADDR_OWVAR 38
7578: PUSH
7579: LD_INT 1
7581: ST_TO_ADDR
// vc_chassis = ruso0_chassis ;
7582: LD_ADDR_OWVAR 37
7586: PUSH
7587: LD_EXP 56
7591: ST_TO_ADDR
// vc_weapon = ruso0_weapon ;
7592: LD_ADDR_OWVAR 40
7596: PUSH
7597: LD_EXP 57
7601: ST_TO_ADDR
// ruso0 = createvehicle ;
7602: LD_ADDR_EXP 167
7606: PUSH
7607: CALL_OW 45
7611: ST_TO_ADDR
// setdir ( ruso0 , 5 ) ;
7612: LD_EXP 167
7616: PPUSH
7617: LD_INT 5
7619: PPUSH
7620: CALL_OW 233
// placeunitxy ( ruso0 , 93 , 38 , false ) ;
7624: LD_EXP 167
7628: PPUSH
7629: LD_INT 93
7631: PPUSH
7632: LD_INT 38
7634: PPUSH
7635: LD_INT 0
7637: PPUSH
7638: CALL_OW 48
// preparemechanic ( sex_male , ruso0_driver ) ;
7642: LD_INT 1
7644: PPUSH
7645: LD_EXP 58
7649: PPUSH
7650: CALL_OW 383
// placehumaninunit ( createhuman , ruso0 ) ;
7654: CALL_OW 44
7658: PPUSH
7659: LD_EXP 167
7663: PPUSH
7664: CALL_OW 52
// vc_control = control_manual ;
7668: LD_ADDR_OWVAR 38
7672: PUSH
7673: LD_INT 1
7675: ST_TO_ADDR
// vc_chassis = ruso1_chassis ;
7676: LD_ADDR_OWVAR 37
7680: PUSH
7681: LD_EXP 59
7685: ST_TO_ADDR
// vc_weapon = ruso1_weapon ;
7686: LD_ADDR_OWVAR 40
7690: PUSH
7691: LD_EXP 60
7695: ST_TO_ADDR
// ruso1 = createvehicle ;
7696: LD_ADDR_EXP 168
7700: PUSH
7701: CALL_OW 45
7705: ST_TO_ADDR
// setdir ( ruso1 , 4 ) ;
7706: LD_EXP 168
7710: PPUSH
7711: LD_INT 4
7713: PPUSH
7714: CALL_OW 233
// placeunitxy ( ruso1 , 92 , 43 , false ) ;
7718: LD_EXP 168
7722: PPUSH
7723: LD_INT 92
7725: PPUSH
7726: LD_INT 43
7728: PPUSH
7729: LD_INT 0
7731: PPUSH
7732: CALL_OW 48
// preparemechanic ( sex_male , ruso1_driver ) ;
7736: LD_INT 1
7738: PPUSH
7739: LD_EXP 61
7743: PPUSH
7744: CALL_OW 383
// placehumaninunit ( createhuman , ruso1 ) ;
7748: CALL_OW 44
7752: PPUSH
7753: LD_EXP 168
7757: PPUSH
7758: CALL_OW 52
// vc_control = control_manual ;
7762: LD_ADDR_OWVAR 38
7766: PUSH
7767: LD_INT 1
7769: ST_TO_ADDR
// vc_chassis = ruso2_chassis ;
7770: LD_ADDR_OWVAR 37
7774: PUSH
7775: LD_EXP 62
7779: ST_TO_ADDR
// vc_weapon = ruso2_weapon ;
7780: LD_ADDR_OWVAR 40
7784: PUSH
7785: LD_EXP 63
7789: ST_TO_ADDR
// ruso2 = createvehicle ;
7790: LD_ADDR_EXP 169
7794: PUSH
7795: CALL_OW 45
7799: ST_TO_ADDR
// setdir ( ruso2 , 1 ) ;
7800: LD_EXP 169
7804: PPUSH
7805: LD_INT 1
7807: PPUSH
7808: CALL_OW 233
// placeunitxy ( ruso2 , 98 , 42 , false ) ;
7812: LD_EXP 169
7816: PPUSH
7817: LD_INT 98
7819: PPUSH
7820: LD_INT 42
7822: PPUSH
7823: LD_INT 0
7825: PPUSH
7826: CALL_OW 48
// preparemechanic ( sex_male , ruso2_driver ) ;
7830: LD_INT 1
7832: PPUSH
7833: LD_EXP 64
7837: PPUSH
7838: CALL_OW 383
// placehumaninunit ( createhuman , ruso2 ) ;
7842: CALL_OW 44
7846: PPUSH
7847: LD_EXP 169
7851: PPUSH
7852: CALL_OW 52
// prepare_bazookers ;
7856: CALL 27221 0 0
// end ;
7860: LD_VAR 0 1
7864: 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
7865: LD_INT 0
7867: PPUSH
7868: PPUSH
7869: PPUSH
7870: PPUSH
7871: PPUSH
7872: PPUSH
7873: PPUSH
7874: PPUSH
// uc_nation = nation_american ;
7875: LD_ADDR_OWVAR 21
7879: PUSH
7880: LD_INT 1
7882: ST_TO_ADDR
// uc_side = am ;
7883: LD_ADDR_OWVAR 20
7887: PUSH
7888: LD_EXP 2
7892: ST_TO_ADDR
// if testcharacters ( JMM ) and checkcharacterset ( JMM ) then
7893: LD_STRING JMM
7895: PPUSH
7896: CALL_OW 28
7900: PUSH
7901: LD_STRING JMM
7903: PPUSH
7904: CALL_OW 29
7908: AND
7909: IFFALSE 7929
// john = createcharacterwithclass ( JMM , class_soldier ) else
7911: LD_ADDR_EXP 173
7915: PUSH
7916: LD_STRING JMM
7918: PPUSH
7919: LD_INT 1
7921: PPUSH
7922: CALL_OW 35
7926: ST_TO_ADDR
7927: GO 7942
// buildquery ( neny JMM , [ OK ] ) ;
7929: LD_STRING neny JMM
7931: PPUSH
7932: LD_STRING OK
7934: PUSH
7935: EMPTY
7936: LIST
7937: PPUSH
7938: CALL_OW 99
// powell = newcharacter ( Powell ) ;
7942: LD_ADDR_EXP 174
7946: PUSH
7947: LD_STRING Powell
7949: PPUSH
7950: CALL_OW 25
7954: ST_TO_ADDR
// if not powell then
7955: LD_EXP 174
7959: NOT
7960: IFFALSE 7975
// buildquery ( neny Powell , [ OK ] ) ;
7962: LD_STRING neny Powell
7964: PPUSH
7965: LD_STRING OK
7967: PUSH
7968: EMPTY
7969: LIST
7970: PPUSH
7971: CALL_OW 99
// if not testcharacters ( Donaldson ) then
7975: LD_STRING Donaldson
7977: PPUSH
7978: CALL_OW 28
7982: NOT
7983: IFFALSE 8000
// buildquery ( neny Donaldson , [ OK ] ) else
7985: LD_STRING neny Donaldson
7987: PPUSH
7988: LD_STRING OK
7990: PUSH
7991: EMPTY
7992: LIST
7993: PPUSH
7994: CALL_OW 99
7998: GO 8048
// if checkcharacterset ( Donaldson ) then
8000: LD_STRING Donaldson
8002: PPUSH
8003: CALL_OW 29
8007: IFFALSE 8027
// lucy = createcharacterwithclass ( Donaldson , class_soldier ) else
8009: LD_ADDR_EXP 175
8013: PUSH
8014: LD_STRING Donaldson
8016: PPUSH
8017: LD_INT 1
8019: PPUSH
8020: CALL_OW 35
8024: ST_TO_ADDR
8025: GO 8048
// begin preparesoldier ( sex_female , - 7 ) ;
8027: LD_INT 2
8029: PPUSH
8030: LD_INT 7
8032: NEG
8033: PPUSH
8034: CALL_OW 381
// lucy = createhuman ;
8038: LD_ADDR_EXP 175
8042: PUSH
8043: CALL_OW 44
8047: ST_TO_ADDR
// end ; if testcharacters ( Kurt ) then
8048: LD_STRING Kurt
8050: PPUSH
8051: CALL_OW 28
8055: IFFALSE 8213
// if checkcharacterset ( Kurt ) then
8057: LD_STRING Kurt
8059: PPUSH
8060: CALL_OW 29
8064: IFFALSE 8183
// begin kurt = createcharacterwithclass ( Kurt , class_soldier ) ;
8066: LD_ADDR_EXP 176
8070: PUSH
8071: LD_STRING Kurt
8073: PPUSH
8074: LD_INT 1
8076: PPUSH
8077: CALL_OW 35
8081: ST_TO_ADDR
// if testvariable ( KurtLeaves ) then
8082: LD_STRING KurtLeaves
8084: PPUSH
8085: CALL_OW 27
8089: IFFALSE 8110
// kurtloc = loadvariable ( KurtLeaves , - 1 ) else
8091: LD_ADDR_EXP 178
8095: PUSH
8096: LD_STRING KurtLeaves
8098: PPUSH
8099: LD_INT 1
8101: NEG
8102: PPUSH
8103: CALL_OW 30
8107: ST_TO_ADDR
8108: GO 8123
// buildquery ( neny KurtLeaves , [ OK ] ) ;
8110: LD_STRING neny KurtLeaves
8112: PPUSH
8113: LD_STRING OK
8115: PUSH
8116: EMPTY
8117: LIST
8118: PPUSH
8119: CALL_OW 99
// if testvariable ( KurtEscapes ) then
8123: LD_STRING KurtEscapes
8125: PPUSH
8126: CALL_OW 27
8130: IFFALSE 8151
// kurtl2 = loadvariable ( KurtEscapes , - 1 ) else
8132: LD_ADDR_VAR 0 4
8136: PUSH
8137: LD_STRING KurtEscapes
8139: PPUSH
8140: LD_INT 1
8142: NEG
8143: PPUSH
8144: CALL_OW 30
8148: ST_TO_ADDR
8149: GO 8164
// buildquery ( neny KurtEscapes , [ OK ] ) ;
8151: LD_STRING neny KurtEscapes
8153: PPUSH
8154: LD_STRING OK
8156: PUSH
8157: EMPTY
8158: LIST
8159: PPUSH
8160: CALL_OW 99
// kurtloc = kurtloc and not kurtl2 ;
8164: LD_ADDR_EXP 178
8168: PUSH
8169: LD_EXP 178
8173: PUSH
8174: LD_VAR 0 4
8178: NOT
8179: AND
8180: ST_TO_ADDR
// end else
8181: GO 8211
// begin preparesoldier ( sex_male , 7 ) ;
8183: LD_INT 1
8185: PPUSH
8186: LD_INT 7
8188: PPUSH
8189: CALL_OW 381
// kurt = createhuman ;
8193: LD_ADDR_EXP 176
8197: PUSH
8198: CALL_OW 44
8202: ST_TO_ADDR
// kurtloc = 0 ;
8203: LD_ADDR_EXP 178
8207: PUSH
8208: LD_INT 0
8210: ST_TO_ADDR
// end else
8211: GO 8226
// buildquery ( neny Kurt , [ OK ] ) ;
8213: LD_STRING neny Kurt
8215: PPUSH
8216: LD_STRING OK
8218: PUSH
8219: EMPTY
8220: LIST
8221: PPUSH
8222: CALL_OW 99
// setdir ( john , 5 ) ;
8226: LD_EXP 173
8230: PPUSH
8231: LD_INT 5
8233: PPUSH
8234: CALL_OW 233
// placeunitxy ( john , 143 , 96 , false ) ;
8238: LD_EXP 173
8242: PPUSH
8243: LD_INT 143
8245: PPUSH
8246: LD_INT 96
8248: PPUSH
8249: LD_INT 0
8251: PPUSH
8252: CALL_OW 48
// setdir ( lucy , 5 ) ;
8256: LD_EXP 175
8260: PPUSH
8261: LD_INT 5
8263: PPUSH
8264: CALL_OW 233
// placeunitxy ( lucy , 143 , 98 , false ) ;
8268: LD_EXP 175
8272: PPUSH
8273: LD_INT 143
8275: PPUSH
8276: LD_INT 98
8278: PPUSH
8279: LD_INT 0
8281: PPUSH
8282: CALL_OW 48
// withjmmvip = [ ] ;
8286: LD_ADDR_EXP 187
8290: PUSH
8291: EMPTY
8292: ST_TO_ADDR
// notjmmvip = [ ] ;
8293: LD_ADDR_EXP 188
8297: PUSH
8298: EMPTY
8299: ST_TO_ADDR
// withjmmvip_ = [ ] ;
8300: LD_ADDR_EXP 189
8304: PUSH
8305: EMPTY
8306: ST_TO_ADDR
// notjmmvip_ = [ ] ;
8307: LD_ADDR_EXP 190
8311: PUSH
8312: EMPTY
8313: ST_TO_ADDR
// if not testcharacters ( Bobby ) then
8314: LD_STRING Bobby
8316: PPUSH
8317: CALL_OW 28
8321: NOT
8322: IFFALSE 8333
// msg ( neny Bobby ) else
8324: LD_STRING neny Bobby
8326: PPUSH
8327: CALL_OW 100
8331: GO 8477
// if not checkcharacterset ( Bobby ) then
8333: LD_STRING Bobby
8335: PPUSH
8336: CALL_OW 29
8340: NOT
8341: IFFALSE 8353
// bobby = 0 else
8343: LD_ADDR_EXP 191
8347: PUSH
8348: LD_INT 0
8350: ST_TO_ADDR
8351: GO 8477
// begin bobby = createcharacterwithclass ( Bobby , class_mechanic ) ;
8353: LD_ADDR_EXP 191
8357: PUSH
8358: LD_STRING Bobby
8360: PPUSH
8361: LD_INT 3
8363: PPUSH
8364: CALL_OW 35
8368: ST_TO_ADDR
// bobbyloc = loadvariable ( BobbyLoc , - 1 ) ;
8369: LD_ADDR_EXP 201
8373: PUSH
8374: LD_STRING BobbyLoc
8376: PPUSH
8377: LD_INT 1
8379: NEG
8380: PPUSH
8381: CALL_OW 30
8385: ST_TO_ADDR
// case bobbyloc of 6 :
8386: LD_EXP 201
8390: PUSH
8391: LD_INT 6
8393: DOUBLE
8394: EQUAL
8395: IFTRUE 8399
8397: GO 8421
8399: POP
// withjmmvip = withjmmvip ^ [ bobby ] ; 7 :
8400: LD_ADDR_EXP 187
8404: PUSH
8405: LD_EXP 187
8409: PUSH
8410: LD_EXP 191
8414: PUSH
8415: EMPTY
8416: LIST
8417: ADD
8418: ST_TO_ADDR
8419: GO 8477
8421: LD_INT 7
8423: DOUBLE
8424: EQUAL
8425: IFTRUE 8429
8427: GO 8451
8429: POP
// notjmmvip = notjmmvip ^ [ bobby ] ; - 1 :
8430: LD_ADDR_EXP 188
8434: PUSH
8435: LD_EXP 188
8439: PUSH
8440: LD_EXP 191
8444: PUSH
8445: EMPTY
8446: LIST
8447: ADD
8448: ST_TO_ADDR
8449: GO 8477
8451: LD_INT 1
8453: NEG
8454: DOUBLE
8455: EQUAL
8456: IFTRUE 8460
8458: GO 8476
8460: POP
// buildquery ( neny BobbyLoc , [ OK ] ) ; end ;
8461: LD_STRING neny BobbyLoc
8463: PPUSH
8464: LD_STRING OK
8466: PUSH
8467: EMPTY
8468: LIST
8469: PPUSH
8470: CALL_OW 99
8474: GO 8477
8476: POP
// end ; if not testcharacters ( Cyrus ) then
8477: LD_STRING Cyrus
8479: PPUSH
8480: CALL_OW 28
8484: NOT
8485: IFFALSE 8496
// msg ( neny Cyrus ) else
8487: LD_STRING neny Cyrus
8489: PPUSH
8490: CALL_OW 100
8494: GO 8640
// if not checkcharacterset ( Cyrus ) then
8496: LD_STRING Cyrus
8498: PPUSH
8499: CALL_OW 29
8503: NOT
8504: IFFALSE 8516
// cyrus = 0 else
8506: LD_ADDR_EXP 192
8510: PUSH
8511: LD_INT 0
8513: ST_TO_ADDR
8514: GO 8640
// begin cyrus = createcharacterwithclass ( Cyrus , class_soldier ) ;
8516: LD_ADDR_EXP 192
8520: PUSH
8521: LD_STRING Cyrus
8523: PPUSH
8524: LD_INT 1
8526: PPUSH
8527: CALL_OW 35
8531: ST_TO_ADDR
// cyrusloc = loadvariable ( CyrusLoc , - 1 ) ;
8532: LD_ADDR_EXP 202
8536: PUSH
8537: LD_STRING CyrusLoc
8539: PPUSH
8540: LD_INT 1
8542: NEG
8543: PPUSH
8544: CALL_OW 30
8548: ST_TO_ADDR
// case cyrusloc of 6 :
8549: LD_EXP 202
8553: PUSH
8554: LD_INT 6
8556: DOUBLE
8557: EQUAL
8558: IFTRUE 8562
8560: GO 8584
8562: POP
// withjmmvip = withjmmvip ^ [ cyrus ] ; 7 :
8563: LD_ADDR_EXP 187
8567: PUSH
8568: LD_EXP 187
8572: PUSH
8573: LD_EXP 192
8577: PUSH
8578: EMPTY
8579: LIST
8580: ADD
8581: ST_TO_ADDR
8582: GO 8640
8584: LD_INT 7
8586: DOUBLE
8587: EQUAL
8588: IFTRUE 8592
8590: GO 8614
8592: POP
// notjmmvip = notjmmvip ^ [ cyrus ] ; - 1 :
8593: LD_ADDR_EXP 188
8597: PUSH
8598: LD_EXP 188
8602: PUSH
8603: LD_EXP 192
8607: PUSH
8608: EMPTY
8609: LIST
8610: ADD
8611: ST_TO_ADDR
8612: GO 8640
8614: LD_INT 1
8616: NEG
8617: DOUBLE
8618: EQUAL
8619: IFTRUE 8623
8621: GO 8639
8623: POP
// buildquery ( neny CyrusLoc , [ OK ] ) ; end ;
8624: LD_STRING neny CyrusLoc
8626: PPUSH
8627: LD_STRING OK
8629: PUSH
8630: EMPTY
8631: LIST
8632: PPUSH
8633: CALL_OW 99
8637: GO 8640
8639: POP
// end ; if not testcharacters ( Lisa ) then
8640: LD_STRING Lisa
8642: PPUSH
8643: CALL_OW 28
8647: NOT
8648: IFFALSE 8659
// msg ( neny Lisa ) else
8650: LD_STRING neny Lisa
8652: PPUSH
8653: CALL_OW 100
8657: GO 8803
// if not checkcharacterset ( Lisa ) then
8659: LD_STRING Lisa
8661: PPUSH
8662: CALL_OW 29
8666: NOT
8667: IFFALSE 8679
// lisa = 0 else
8669: LD_ADDR_EXP 193
8673: PUSH
8674: LD_INT 0
8676: ST_TO_ADDR
8677: GO 8803
// begin lisa = createcharacterwithclass ( Lisa , class_soldier ) ;
8679: LD_ADDR_EXP 193
8683: PUSH
8684: LD_STRING Lisa
8686: PPUSH
8687: LD_INT 1
8689: PPUSH
8690: CALL_OW 35
8694: ST_TO_ADDR
// lisaloc = loadvariable ( LisaLoc , - 1 ) ;
8695: LD_ADDR_EXP 203
8699: PUSH
8700: LD_STRING LisaLoc
8702: PPUSH
8703: LD_INT 1
8705: NEG
8706: PPUSH
8707: CALL_OW 30
8711: ST_TO_ADDR
// case lisaloc of 6 :
8712: LD_EXP 203
8716: PUSH
8717: LD_INT 6
8719: DOUBLE
8720: EQUAL
8721: IFTRUE 8725
8723: GO 8747
8725: POP
// withjmmvip = withjmmvip ^ [ lisa ] ; 7 :
8726: LD_ADDR_EXP 187
8730: PUSH
8731: LD_EXP 187
8735: PUSH
8736: LD_EXP 193
8740: PUSH
8741: EMPTY
8742: LIST
8743: ADD
8744: ST_TO_ADDR
8745: GO 8803
8747: LD_INT 7
8749: DOUBLE
8750: EQUAL
8751: IFTRUE 8755
8753: GO 8777
8755: POP
// notjmmvip = notjmmvip ^ [ lisa ] ; - 1 :
8756: LD_ADDR_EXP 188
8760: PUSH
8761: LD_EXP 188
8765: PUSH
8766: LD_EXP 193
8770: PUSH
8771: EMPTY
8772: LIST
8773: ADD
8774: ST_TO_ADDR
8775: GO 8803
8777: LD_INT 1
8779: NEG
8780: DOUBLE
8781: EQUAL
8782: IFTRUE 8786
8784: GO 8802
8786: POP
// buildquery ( neny LisaLoc , [ OK ] ) ; end ;
8787: LD_STRING neny LisaLoc
8789: PPUSH
8790: LD_STRING OK
8792: PUSH
8793: EMPTY
8794: LIST
8795: PPUSH
8796: CALL_OW 99
8800: GO 8803
8802: POP
// end ; if not testcharacters ( Cornell ) then
8803: LD_STRING Cornell
8805: PPUSH
8806: CALL_OW 28
8810: NOT
8811: IFFALSE 8822
// msg ( neny Cornell ) else
8813: LD_STRING neny Cornell
8815: PPUSH
8816: CALL_OW 100
8820: GO 8966
// if not checkcharacterset ( Cornell ) then
8822: LD_STRING Cornell
8824: PPUSH
8825: CALL_OW 29
8829: NOT
8830: IFFALSE 8842
// cornel = 0 else
8832: LD_ADDR_EXP 194
8836: PUSH
8837: LD_INT 0
8839: ST_TO_ADDR
8840: GO 8966
// begin cornel = createcharacterwithclass ( Cornell , class_soldier ) ;
8842: LD_ADDR_EXP 194
8846: PUSH
8847: LD_STRING Cornell
8849: PPUSH
8850: LD_INT 1
8852: PPUSH
8853: CALL_OW 35
8857: ST_TO_ADDR
// cornelloc = loadvariable ( CornellLoc , - 1 ) ;
8858: LD_ADDR_EXP 204
8862: PUSH
8863: LD_STRING CornellLoc
8865: PPUSH
8866: LD_INT 1
8868: NEG
8869: PPUSH
8870: CALL_OW 30
8874: ST_TO_ADDR
// case cornelloc of 6 :
8875: LD_EXP 204
8879: PUSH
8880: LD_INT 6
8882: DOUBLE
8883: EQUAL
8884: IFTRUE 8888
8886: GO 8910
8888: POP
// withjmmvip = withjmmvip ^ [ cornel ] ; 7 :
8889: LD_ADDR_EXP 187
8893: PUSH
8894: LD_EXP 187
8898: PUSH
8899: LD_EXP 194
8903: PUSH
8904: EMPTY
8905: LIST
8906: ADD
8907: ST_TO_ADDR
8908: GO 8966
8910: LD_INT 7
8912: DOUBLE
8913: EQUAL
8914: IFTRUE 8918
8916: GO 8940
8918: POP
// notjmmvip = notjmmvip ^ [ cornel ] ; - 1 :
8919: LD_ADDR_EXP 188
8923: PUSH
8924: LD_EXP 188
8928: PUSH
8929: LD_EXP 194
8933: PUSH
8934: EMPTY
8935: LIST
8936: ADD
8937: ST_TO_ADDR
8938: GO 8966
8940: LD_INT 1
8942: NEG
8943: DOUBLE
8944: EQUAL
8945: IFTRUE 8949
8947: GO 8965
8949: POP
// buildquery ( neny CornellLoc , [ OK ] ) ; end ;
8950: LD_STRING neny CornellLoc
8952: PPUSH
8953: LD_STRING OK
8955: PUSH
8956: EMPTY
8957: LIST
8958: PPUSH
8959: CALL_OW 99
8963: GO 8966
8965: POP
// end ; if not testcharacters ( Frank ) then
8966: LD_STRING Frank
8968: PPUSH
8969: CALL_OW 28
8973: NOT
8974: IFFALSE 8985
// msg ( neny Frank ) else
8976: LD_STRING neny Frank
8978: PPUSH
8979: CALL_OW 100
8983: GO 9129
// if not checkcharacterset ( Frank ) then
8985: LD_STRING Frank
8987: PPUSH
8988: CALL_OW 29
8992: NOT
8993: IFFALSE 9005
// frank = 0 else
8995: LD_ADDR_EXP 195
8999: PUSH
9000: LD_INT 0
9002: ST_TO_ADDR
9003: GO 9129
// begin frank = createcharacterwithclass ( Frank , class_soldier ) ;
9005: LD_ADDR_EXP 195
9009: PUSH
9010: LD_STRING Frank
9012: PPUSH
9013: LD_INT 1
9015: PPUSH
9016: CALL_OW 35
9020: ST_TO_ADDR
// frankloc = loadvariable ( FrankLoc , - 1 ) ;
9021: LD_ADDR_EXP 205
9025: PUSH
9026: LD_STRING FrankLoc
9028: PPUSH
9029: LD_INT 1
9031: NEG
9032: PPUSH
9033: CALL_OW 30
9037: ST_TO_ADDR
// case frankloc of 6 :
9038: LD_EXP 205
9042: PUSH
9043: LD_INT 6
9045: DOUBLE
9046: EQUAL
9047: IFTRUE 9051
9049: GO 9073
9051: POP
// withjmmvip = withjmmvip ^ [ frank ] ; 7 :
9052: LD_ADDR_EXP 187
9056: PUSH
9057: LD_EXP 187
9061: PUSH
9062: LD_EXP 195
9066: PUSH
9067: EMPTY
9068: LIST
9069: ADD
9070: ST_TO_ADDR
9071: GO 9129
9073: LD_INT 7
9075: DOUBLE
9076: EQUAL
9077: IFTRUE 9081
9079: GO 9103
9081: POP
// notjmmvip = notjmmvip ^ [ frank ] ; - 1 :
9082: LD_ADDR_EXP 188
9086: PUSH
9087: LD_EXP 188
9091: PUSH
9092: LD_EXP 195
9096: PUSH
9097: EMPTY
9098: LIST
9099: ADD
9100: ST_TO_ADDR
9101: GO 9129
9103: LD_INT 1
9105: NEG
9106: DOUBLE
9107: EQUAL
9108: IFTRUE 9112
9110: GO 9128
9112: POP
// buildquery ( neny FrankLoc , [ OK ] ) ; end ;
9113: LD_STRING neny FrankLoc
9115: PPUSH
9116: LD_STRING OK
9118: PUSH
9119: EMPTY
9120: LIST
9121: PPUSH
9122: CALL_OW 99
9126: GO 9129
9128: POP
// end ; if not testcharacters ( Brown ) then
9129: LD_STRING Brown
9131: PPUSH
9132: CALL_OW 28
9136: NOT
9137: IFFALSE 9148
// msg ( neny Brown ) else
9139: LD_STRING neny Brown
9141: PPUSH
9142: CALL_OW 100
9146: GO 9292
// if not checkcharacterset ( Brown ) then
9148: LD_STRING Brown
9150: PPUSH
9151: CALL_OW 29
9155: NOT
9156: IFFALSE 9168
// brown = 0 else
9158: LD_ADDR_EXP 196
9162: PUSH
9163: LD_INT 0
9165: ST_TO_ADDR
9166: GO 9292
// begin brown = createcharacterwithclass ( Brown , class_soldier ) ;
9168: LD_ADDR_EXP 196
9172: PUSH
9173: LD_STRING Brown
9175: PPUSH
9176: LD_INT 1
9178: PPUSH
9179: CALL_OW 35
9183: ST_TO_ADDR
// brownloc = loadvariable ( BrownLoc , - 1 ) ;
9184: LD_ADDR_EXP 206
9188: PUSH
9189: LD_STRING BrownLoc
9191: PPUSH
9192: LD_INT 1
9194: NEG
9195: PPUSH
9196: CALL_OW 30
9200: ST_TO_ADDR
// case brownloc of 6 :
9201: LD_EXP 206
9205: PUSH
9206: LD_INT 6
9208: DOUBLE
9209: EQUAL
9210: IFTRUE 9214
9212: GO 9236
9214: POP
// withjmmvip = withjmmvip ^ [ brown ] ; 7 :
9215: LD_ADDR_EXP 187
9219: PUSH
9220: LD_EXP 187
9224: PUSH
9225: LD_EXP 196
9229: PUSH
9230: EMPTY
9231: LIST
9232: ADD
9233: ST_TO_ADDR
9234: GO 9292
9236: LD_INT 7
9238: DOUBLE
9239: EQUAL
9240: IFTRUE 9244
9242: GO 9266
9244: POP
// notjmmvip = notjmmvip ^ [ brown ] ; - 1 :
9245: LD_ADDR_EXP 188
9249: PUSH
9250: LD_EXP 188
9254: PUSH
9255: LD_EXP 196
9259: PUSH
9260: EMPTY
9261: LIST
9262: ADD
9263: ST_TO_ADDR
9264: GO 9292
9266: LD_INT 1
9268: NEG
9269: DOUBLE
9270: EQUAL
9271: IFTRUE 9275
9273: GO 9291
9275: POP
// buildquery ( neny BrownLoc , [ OK ] ) ; end ;
9276: LD_STRING neny BrownLoc
9278: PPUSH
9279: LD_STRING OK
9281: PUSH
9282: EMPTY
9283: LIST
9284: PPUSH
9285: CALL_OW 99
9289: GO 9292
9291: POP
// end ; if not testcharacters ( Gladstone ) then
9292: LD_STRING Gladstone
9294: PPUSH
9295: CALL_OW 28
9299: NOT
9300: IFFALSE 9311
// msg ( neny Gladstone ) else
9302: LD_STRING neny Gladstone
9304: PPUSH
9305: CALL_OW 100
9309: GO 9455
// if not checkcharacterset ( Gladstone ) then
9311: LD_STRING Gladstone
9313: PPUSH
9314: CALL_OW 29
9318: NOT
9319: IFFALSE 9331
// glad = 0 else
9321: LD_ADDR_EXP 197
9325: PUSH
9326: LD_INT 0
9328: ST_TO_ADDR
9329: GO 9455
// begin glad = createcharacterwithclass ( Gladstone , class_scientistic ) ;
9331: LD_ADDR_EXP 197
9335: PUSH
9336: LD_STRING Gladstone
9338: PPUSH
9339: LD_INT 4
9341: PPUSH
9342: CALL_OW 35
9346: ST_TO_ADDR
// gladloc = loadvariable ( GladstoneLoc , - 1 ) ;
9347: LD_ADDR_EXP 207
9351: PUSH
9352: LD_STRING GladstoneLoc
9354: PPUSH
9355: LD_INT 1
9357: NEG
9358: PPUSH
9359: CALL_OW 30
9363: ST_TO_ADDR
// case gladloc of 6 :
9364: LD_EXP 207
9368: PUSH
9369: LD_INT 6
9371: DOUBLE
9372: EQUAL
9373: IFTRUE 9377
9375: GO 9399
9377: POP
// withjmmvip_ = withjmmvip_ ^ [ glad ] ; 7 :
9378: LD_ADDR_EXP 189
9382: PUSH
9383: LD_EXP 189
9387: PUSH
9388: LD_EXP 197
9392: PUSH
9393: EMPTY
9394: LIST
9395: ADD
9396: ST_TO_ADDR
9397: GO 9455
9399: LD_INT 7
9401: DOUBLE
9402: EQUAL
9403: IFTRUE 9407
9405: GO 9429
9407: POP
// notjmmvip_ = notjmmvip_ ^ [ glad ] ; - 1 :
9408: LD_ADDR_EXP 190
9412: PUSH
9413: LD_EXP 190
9417: PUSH
9418: LD_EXP 197
9422: PUSH
9423: EMPTY
9424: LIST
9425: ADD
9426: ST_TO_ADDR
9427: GO 9455
9429: LD_INT 1
9431: NEG
9432: DOUBLE
9433: EQUAL
9434: IFTRUE 9438
9436: GO 9454
9438: POP
// buildquery ( neny GladstoneLoc , [ OK ] ) ; end ;
9439: LD_STRING neny GladstoneLoc
9441: PPUSH
9442: LD_STRING OK
9444: PUSH
9445: EMPTY
9446: LIST
9447: PPUSH
9448: CALL_OW 99
9452: GO 9455
9454: POP
// end ; if not testcharacters ( Denis ) then
9455: LD_STRING Denis
9457: PPUSH
9458: CALL_OW 28
9462: NOT
9463: IFFALSE 9474
// msg ( neny Denis ) else
9465: LD_STRING neny Denis
9467: PPUSH
9468: CALL_OW 100
9472: GO 9618
// if not checkcharacterset ( Denis ) then
9474: LD_STRING Denis
9476: PPUSH
9477: CALL_OW 29
9481: NOT
9482: IFFALSE 9494
// denis = 0 else
9484: LD_ADDR_EXP 198
9488: PUSH
9489: LD_INT 0
9491: ST_TO_ADDR
9492: GO 9618
// begin denis = createcharacterwithclass ( Denis , class_scientistic ) ;
9494: LD_ADDR_EXP 198
9498: PUSH
9499: LD_STRING Denis
9501: PPUSH
9502: LD_INT 4
9504: PPUSH
9505: CALL_OW 35
9509: ST_TO_ADDR
// denisloc = loadvariable ( DenisLoc , - 1 ) ;
9510: LD_ADDR_EXP 208
9514: PUSH
9515: LD_STRING DenisLoc
9517: PPUSH
9518: LD_INT 1
9520: NEG
9521: PPUSH
9522: CALL_OW 30
9526: ST_TO_ADDR
// case denisloc of 6 :
9527: LD_EXP 208
9531: PUSH
9532: LD_INT 6
9534: DOUBLE
9535: EQUAL
9536: IFTRUE 9540
9538: GO 9562
9540: POP
// withjmmvip_ = withjmmvip_ ^ [ denis ] ; 7 :
9541: LD_ADDR_EXP 189
9545: PUSH
9546: LD_EXP 189
9550: PUSH
9551: LD_EXP 198
9555: PUSH
9556: EMPTY
9557: LIST
9558: ADD
9559: ST_TO_ADDR
9560: GO 9618
9562: LD_INT 7
9564: DOUBLE
9565: EQUAL
9566: IFTRUE 9570
9568: GO 9592
9570: POP
// notjmmvip_ = notjmmvip_ ^ [ denis ] ; - 1 :
9571: LD_ADDR_EXP 190
9575: PUSH
9576: LD_EXP 190
9580: PUSH
9581: LD_EXP 198
9585: PUSH
9586: EMPTY
9587: LIST
9588: ADD
9589: ST_TO_ADDR
9590: GO 9618
9592: LD_INT 1
9594: NEG
9595: DOUBLE
9596: EQUAL
9597: IFTRUE 9601
9599: GO 9617
9601: POP
// buildquery ( neny DenisLoc , [ OK ] ) ; end ;
9602: LD_STRING neny DenisLoc
9604: PPUSH
9605: LD_STRING OK
9607: PUSH
9608: EMPTY
9609: LIST
9610: PPUSH
9611: CALL_OW 99
9615: GO 9618
9617: POP
// end ; yamoko = 0 ;
9618: LD_ADDR_EXP 199
9622: PUSH
9623: LD_INT 0
9625: ST_TO_ADDR
// if not frank then
9626: LD_EXP 195
9630: NOT
9631: IFFALSE 9796
// if not testcharacters ( Yamoko ) then
9633: LD_STRING Yamoko
9635: PPUSH
9636: CALL_OW 28
9640: NOT
9641: IFFALSE 9652
// msg ( neny Yamoko ) else
9643: LD_STRING neny Yamoko
9645: PPUSH
9646: CALL_OW 100
9650: GO 9796
// if not checkcharacterset ( Yamoko ) then
9652: LD_STRING Yamoko
9654: PPUSH
9655: CALL_OW 29
9659: NOT
9660: IFFALSE 9672
// yamoko = 0 else
9662: LD_ADDR_EXP 199
9666: PUSH
9667: LD_INT 0
9669: ST_TO_ADDR
9670: GO 9796
// begin yamoko = createcharacterwithclass ( Yamoko , class_soldier ) ;
9672: LD_ADDR_EXP 199
9676: PUSH
9677: LD_STRING Yamoko
9679: PPUSH
9680: LD_INT 1
9682: PPUSH
9683: CALL_OW 35
9687: ST_TO_ADDR
// yamokoloc = loadvariable ( YamokoLoc , - 1 ) ;
9688: LD_ADDR_EXP 209
9692: PUSH
9693: LD_STRING YamokoLoc
9695: PPUSH
9696: LD_INT 1
9698: NEG
9699: PPUSH
9700: CALL_OW 30
9704: ST_TO_ADDR
// case yamokoloc of 6 :
9705: LD_EXP 209
9709: PUSH
9710: LD_INT 6
9712: DOUBLE
9713: EQUAL
9714: IFTRUE 9718
9716: GO 9740
9718: POP
// withjmmvip = withjmmvip ^ [ yamoko ] ; 7 :
9719: LD_ADDR_EXP 187
9723: PUSH
9724: LD_EXP 187
9728: PUSH
9729: LD_EXP 199
9733: PUSH
9734: EMPTY
9735: LIST
9736: ADD
9737: ST_TO_ADDR
9738: GO 9796
9740: LD_INT 7
9742: DOUBLE
9743: EQUAL
9744: IFTRUE 9748
9746: GO 9770
9748: POP
// notjmmvip = notjmmvip ^ [ yamoko ] ; - 1 :
9749: LD_ADDR_EXP 188
9753: PUSH
9754: LD_EXP 188
9758: PUSH
9759: LD_EXP 199
9763: PUSH
9764: EMPTY
9765: LIST
9766: ADD
9767: ST_TO_ADDR
9768: GO 9796
9770: LD_INT 1
9772: NEG
9773: DOUBLE
9774: EQUAL
9775: IFTRUE 9779
9777: GO 9795
9779: POP
// buildquery ( neny YamokoLoc , [ OK ] ) ; end ;
9780: LD_STRING neny YamokoLoc
9782: PPUSH
9783: LD_STRING OK
9785: PUSH
9786: EMPTY
9787: LIST
9788: PPUSH
9789: CALL_OW 99
9793: GO 9796
9795: POP
// end ; if not testcharacters ( Gary ) then
9796: LD_STRING Gary
9798: PPUSH
9799: CALL_OW 28
9803: NOT
9804: IFFALSE 9815
// msg ( neny Gary ) else
9806: LD_STRING neny Gary
9808: PPUSH
9809: CALL_OW 100
9813: GO 9959
// if not checkcharacterset ( Gary ) then
9815: LD_STRING Gary
9817: PPUSH
9818: CALL_OW 29
9822: NOT
9823: IFFALSE 9835
// gary = 0 else
9825: LD_ADDR_EXP 200
9829: PUSH
9830: LD_INT 0
9832: ST_TO_ADDR
9833: GO 9959
// begin gary = createcharacterwithclass ( Gary , class_soldier ) ;
9835: LD_ADDR_EXP 200
9839: PUSH
9840: LD_STRING Gary
9842: PPUSH
9843: LD_INT 1
9845: PPUSH
9846: CALL_OW 35
9850: ST_TO_ADDR
// garyloc = loadvariable ( GaryLoc , - 1 ) ;
9851: LD_ADDR_EXP 210
9855: PUSH
9856: LD_STRING GaryLoc
9858: PPUSH
9859: LD_INT 1
9861: NEG
9862: PPUSH
9863: CALL_OW 30
9867: ST_TO_ADDR
// case garyloc of 6 :
9868: LD_EXP 210
9872: PUSH
9873: LD_INT 6
9875: DOUBLE
9876: EQUAL
9877: IFTRUE 9881
9879: GO 9903
9881: POP
// withjmmvip = withjmmvip ^ [ gary ] ; 7 :
9882: LD_ADDR_EXP 187
9886: PUSH
9887: LD_EXP 187
9891: PUSH
9892: LD_EXP 200
9896: PUSH
9897: EMPTY
9898: LIST
9899: ADD
9900: ST_TO_ADDR
9901: GO 9959
9903: LD_INT 7
9905: DOUBLE
9906: EQUAL
9907: IFTRUE 9911
9909: GO 9933
9911: POP
// notjmmvip = notjmmvip ^ [ gary ] ; - 1 :
9912: LD_ADDR_EXP 188
9916: PUSH
9917: LD_EXP 188
9921: PUSH
9922: LD_EXP 200
9926: PUSH
9927: EMPTY
9928: LIST
9929: ADD
9930: ST_TO_ADDR
9931: GO 9959
9933: LD_INT 1
9935: NEG
9936: DOUBLE
9937: EQUAL
9938: IFTRUE 9942
9940: GO 9958
9942: POP
// buildquery ( neny GaryLoc , [ OK ] ) ; end ;
9943: LD_STRING neny GaryLoc
9945: PPUSH
9946: LD_STRING OK
9948: PUSH
9949: EMPTY
9950: LIST
9951: PPUSH
9952: CALL_OW 99
9956: GO 9959
9958: POP
// end ; if not testcharacters ( otherwithJMM ) or not checkcharacterset ( otherwithJMM ) then
9959: LD_STRING otherwithJMM
9961: PPUSH
9962: CALL_OW 28
9966: NOT
9967: PUSH
9968: LD_STRING otherwithJMM
9970: PPUSH
9971: CALL_OW 29
9975: NOT
9976: OR
9977: IFFALSE 9988
// msg ( neny otherwithJMM ) else
9979: LD_STRING neny otherwithJMM
9981: PPUSH
9982: CALL_OW 100
9986: GO 10001
// otherwithjmm = createcharacterset ( otherwithJMM ) ;
9988: LD_ADDR_EXP 185
9992: PUSH
9993: LD_STRING otherwithJMM
9995: PPUSH
9996: CALL_OW 31
10000: ST_TO_ADDR
// if not testcharacters ( othernotJMM ) or not checkcharacterset ( othernotJMM ) then
10001: LD_STRING othernotJMM
10003: PPUSH
10004: CALL_OW 28
10008: NOT
10009: PUSH
10010: LD_STRING othernotJMM
10012: PPUSH
10013: CALL_OW 29
10017: NOT
10018: OR
10019: IFFALSE 10030
// msg ( neny othernotJMM ) else
10021: LD_STRING neny othernotJMM
10023: PPUSH
10024: CALL_OW 100
10028: GO 10043
// othernotjmm = createcharacterset ( othernotJMM ) ;
10030: LD_ADDR_EXP 186
10034: PUSH
10035: LD_STRING othernotJMM
10037: PPUSH
10038: CALL_OW 31
10042: ST_TO_ADDR
// for tmp in otherwithjmm do
10043: LD_ADDR_VAR 0 2
10047: PUSH
10048: LD_EXP 185
10052: PUSH
10053: FOR_IN
10054: IFFALSE 10092
// if getclass ( tmp ) in [ class_mortar , class_engineer ] then
10056: LD_VAR 0 2
10060: PPUSH
10061: CALL_OW 257
10065: PUSH
10066: LD_INT 8
10068: PUSH
10069: LD_INT 2
10071: PUSH
10072: EMPTY
10073: LIST
10074: LIST
10075: IN
10076: IFFALSE 10090
// setclass ( tmp , class_soldier ) ;
10078: LD_VAR 0 2
10082: PPUSH
10083: LD_INT 1
10085: PPUSH
10086: CALL_OW 336
10090: GO 10053
10092: POP
10093: POP
// for tmp in othernotjmm do
10094: LD_ADDR_VAR 0 2
10098: PUSH
10099: LD_EXP 186
10103: PUSH
10104: FOR_IN
10105: IFFALSE 10143
// if getclass ( tmp ) in [ class_mortar , class_engineer ] then
10107: LD_VAR 0 2
10111: PPUSH
10112: CALL_OW 257
10116: PUSH
10117: LD_INT 8
10119: PUSH
10120: LD_INT 2
10122: PUSH
10123: EMPTY
10124: LIST
10125: LIST
10126: IN
10127: IFFALSE 10141
// setclass ( tmp , class_soldier ) ;
10129: LD_VAR 0 2
10133: PPUSH
10134: LD_INT 1
10136: PPUSH
10137: CALL_OW 336
10141: GO 10104
10143: POP
10144: POP
// if 0 + withjmmvip_ + notjmmvip_ then
10145: LD_INT 0
10147: PUSH
10148: LD_EXP 189
10152: PLUS
10153: PUSH
10154: LD_EXP 190
10158: PLUS
10159: IFFALSE 10183
// amscie0 = ( withjmmvip_ ^ notjmmvip_ ) [ 1 ] else
10161: LD_ADDR_EXP 183
10165: PUSH
10166: LD_EXP 189
10170: PUSH
10171: LD_EXP 190
10175: ADD
10176: PUSH
10177: LD_INT 1
10179: ARRAY
10180: ST_TO_ADDR
10181: GO 10291
// if 0 + otherwithjmm + othernotjmm then
10183: LD_INT 0
10185: PUSH
10186: LD_EXP 185
10190: PLUS
10191: PUSH
10192: LD_EXP 186
10196: PLUS
10197: IFFALSE 10269
// begin amscie0 = findmaxskill2 ( otherwithjmm ^ othernotjmm , skill_scientistic ) ;
10199: LD_ADDR_EXP 183
10203: PUSH
10204: LD_EXP 185
10208: PUSH
10209: LD_EXP 186
10213: ADD
10214: PPUSH
10215: LD_INT 4
10217: PPUSH
10218: CALL_OW 434
10222: ST_TO_ADDR
// setclass ( amscie0 , class_scientistic ) ;
10223: LD_EXP 183
10227: PPUSH
10228: LD_INT 4
10230: PPUSH
10231: CALL_OW 336
// otherwithjmm = otherwithjmm diff amscie0 ;
10235: LD_ADDR_EXP 185
10239: PUSH
10240: LD_EXP 185
10244: PUSH
10245: LD_EXP 183
10249: DIFF
10250: ST_TO_ADDR
// othernotjmm = othernotjmm diff amscie0 ;
10251: LD_ADDR_EXP 186
10255: PUSH
10256: LD_EXP 186
10260: PUSH
10261: LD_EXP 183
10265: DIFF
10266: ST_TO_ADDR
// end else
10267: GO 10291
// begin preparescientist ( sex_female , amscie0_lvl ) ;
10269: LD_INT 2
10271: PPUSH
10272: LD_EXP 77
10276: PPUSH
10277: CALL_OW 384
// amscie0 = createhuman ;
10281: LD_ADDR_EXP 183
10285: PUSH
10286: CALL_OW 44
10290: ST_TO_ADDR
// end ; case_ = 0 ;
10291: LD_ADDR_VAR 0 8
10295: PUSH
10296: LD_INT 0
10298: ST_TO_ADDR
// vc_control = control_manual ;
10299: LD_ADDR_OWVAR 38
10303: PUSH
10304: LD_INT 1
10306: ST_TO_ADDR
// vc_engine = engine_siberite ;
10307: LD_ADDR_OWVAR 39
10311: PUSH
10312: LD_INT 3
10314: ST_TO_ADDR
// tmpvip = withjmmvip ^ notjmmvip ;
10315: LD_ADDR_VAR 0 5
10319: PUSH
10320: LD_EXP 187
10324: PUSH
10325: LD_EXP 188
10329: ADD
10330: ST_TO_ADDR
// tmpother = otherwithjmm ^ othernotjmm ;
10331: LD_ADDR_VAR 0 6
10335: PUSH
10336: LD_EXP 185
10340: PUSH
10341: LD_EXP 186
10345: ADD
10346: ST_TO_ADDR
// if ( 0 + tmpvip ) >= 7 then
10347: LD_INT 0
10349: PUSH
10350: LD_VAR 0 5
10354: PLUS
10355: PUSH
10356: LD_INT 7
10358: GREATEREQUAL
10359: IFFALSE 11422
// begin am_grupa = [ tmpvip [ 1 ] ] ;
10361: LD_ADDR_EXP 184
10365: PUSH
10366: LD_VAR 0 5
10370: PUSH
10371: LD_INT 1
10373: ARRAY
10374: PUSH
10375: EMPTY
10376: LIST
10377: ST_TO_ADDR
// tmpvip = delete ( tmpvip , 1 ) ;
10378: LD_ADDR_VAR 0 5
10382: PUSH
10383: LD_VAR 0 5
10387: PPUSH
10388: LD_INT 1
10390: PPUSH
10391: CALL_OW 3
10395: ST_TO_ADDR
// am_grupa = am_grupa ^ [ tmpvip [ 1 ] ] ;
10396: LD_ADDR_EXP 184
10400: PUSH
10401: LD_EXP 184
10405: PUSH
10406: LD_VAR 0 5
10410: PUSH
10411: LD_INT 1
10413: ARRAY
10414: PUSH
10415: EMPTY
10416: LIST
10417: ADD
10418: ST_TO_ADDR
// tmpvip = delete ( tmpvip , 1 ) ;
10419: LD_ADDR_VAR 0 5
10423: PUSH
10424: LD_VAR 0 5
10428: PPUSH
10429: LD_INT 1
10431: PPUSH
10432: CALL_OW 3
10436: ST_TO_ADDR
// placeunitxyr ( am_grupa [ 1 ] , 144 , 97 , 3 , false ) ;
10437: LD_EXP 184
10441: PUSH
10442: LD_INT 1
10444: ARRAY
10445: PPUSH
10446: LD_INT 144
10448: PPUSH
10449: LD_INT 97
10451: PPUSH
10452: LD_INT 3
10454: PPUSH
10455: LD_INT 0
10457: PPUSH
10458: CALL_OW 50
// placeunitxyr ( am_grupa [ 2 ] , 144 , 97 , 3 , false ) ;
10462: LD_EXP 184
10466: PUSH
10467: LD_INT 2
10469: ARRAY
10470: PPUSH
10471: LD_INT 144
10473: PPUSH
10474: LD_INT 97
10476: PPUSH
10477: LD_INT 3
10479: PPUSH
10480: LD_INT 0
10482: PPUSH
10483: CALL_OW 50
// placeunitxyr ( amscie0 , 144 , 97 , 3 , false ) ;
10487: LD_EXP 183
10491: PPUSH
10492: LD_INT 144
10494: PPUSH
10495: LD_INT 97
10497: PPUSH
10498: LD_INT 3
10500: PPUSH
10501: LD_INT 0
10503: PPUSH
10504: CALL_OW 50
// vc_chassis = amv0_ch ;
10508: LD_ADDR_OWVAR 37
10512: PUSH
10513: LD_EXP 65
10517: ST_TO_ADDR
// vc_weapon = amv0_wp ;
10518: LD_ADDR_OWVAR 40
10522: PUSH
10523: LD_EXP 66
10527: ST_TO_ADDR
// amv0 = createvehicle ;
10528: LD_ADDR_EXP 179
10532: PUSH
10533: CALL_OW 45
10537: ST_TO_ADDR
// setdir ( amv0 , 5 ) ;
10538: LD_EXP 179
10542: PPUSH
10543: LD_INT 5
10545: PPUSH
10546: CALL_OW 233
// placeunitxyr ( amv0 , 146 , 97 , 3 , false ) ;
10550: LD_EXP 179
10554: PPUSH
10555: LD_INT 146
10557: PPUSH
10558: LD_INT 97
10560: PPUSH
10561: LD_INT 3
10563: PPUSH
10564: LD_INT 0
10566: PPUSH
10567: CALL_OW 50
// placehumaninunit ( tmpvip [ 1 ] , amv0 ) ;
10571: LD_VAR 0 5
10575: PUSH
10576: LD_INT 1
10578: ARRAY
10579: PPUSH
10580: LD_EXP 179
10584: PPUSH
10585: CALL_OW 52
// tmpvip = delete ( tmpvip , 1 ) ;
10589: LD_ADDR_VAR 0 5
10593: PUSH
10594: LD_VAR 0 5
10598: PPUSH
10599: LD_INT 1
10601: PPUSH
10602: CALL_OW 3
10606: ST_TO_ADDR
// vc_chassis = amv1_ch ;
10607: LD_ADDR_OWVAR 37
10611: PUSH
10612: LD_EXP 67
10616: ST_TO_ADDR
// vc_weapon = amv1_wp ;
10617: LD_ADDR_OWVAR 40
10621: PUSH
10622: LD_EXP 68
10626: ST_TO_ADDR
// amv1 = createvehicle ;
10627: LD_ADDR_EXP 180
10631: PUSH
10632: CALL_OW 45
10636: ST_TO_ADDR
// setdir ( amv1 , 5 ) ;
10637: LD_EXP 180
10641: PPUSH
10642: LD_INT 5
10644: PPUSH
10645: CALL_OW 233
// placeunitxyr ( amv1 , 146 , 99 , 3 , false ) ;
10649: LD_EXP 180
10653: PPUSH
10654: LD_INT 146
10656: PPUSH
10657: LD_INT 99
10659: PPUSH
10660: LD_INT 3
10662: PPUSH
10663: LD_INT 0
10665: PPUSH
10666: CALL_OW 50
// placehumaninunit ( tmpvip [ 1 ] , amv1 ) ;
10670: LD_VAR 0 5
10674: PUSH
10675: LD_INT 1
10677: ARRAY
10678: PPUSH
10679: LD_EXP 180
10683: PPUSH
10684: CALL_OW 52
// tmpvip = delete ( tmpvip , 1 ) ;
10688: LD_ADDR_VAR 0 5
10692: PUSH
10693: LD_VAR 0 5
10697: PPUSH
10698: LD_INT 1
10700: PPUSH
10701: CALL_OW 3
10705: ST_TO_ADDR
// vc_control = control_computer ;
10706: LD_ADDR_OWVAR 38
10710: PUSH
10711: LD_INT 3
10713: ST_TO_ADDR
// vc_chassis = amv2_ch ;
10714: LD_ADDR_OWVAR 37
10718: PUSH
10719: LD_EXP 69
10723: ST_TO_ADDR
// vc_weapon = amv2_wp ;
10724: LD_ADDR_OWVAR 40
10728: PUSH
10729: LD_EXP 70
10733: ST_TO_ADDR
// amv2 = createvehicle ;
10734: LD_ADDR_EXP 181
10738: PUSH
10739: CALL_OW 45
10743: ST_TO_ADDR
// setdir ( amv2 , 5 ) ;
10744: LD_EXP 181
10748: PPUSH
10749: LD_INT 5
10751: PPUSH
10752: CALL_OW 233
// placeunitxyr ( amv2 , 150 , 103 , 3 , false ) ;
10756: LD_EXP 181
10760: PPUSH
10761: LD_INT 150
10763: PPUSH
10764: LD_INT 103
10766: PPUSH
10767: LD_INT 3
10769: PPUSH
10770: LD_INT 0
10772: PPUSH
10773: CALL_OW 50
// vc_control = control_computer ;
10777: LD_ADDR_OWVAR 38
10781: PUSH
10782: LD_INT 3
10784: ST_TO_ADDR
// vc_chassis = amv3_ch ;
10785: LD_ADDR_OWVAR 37
10789: PUSH
10790: LD_EXP 71
10794: ST_TO_ADDR
// vc_weapon = amv3_wp ;
10795: LD_ADDR_OWVAR 40
10799: PUSH
10800: LD_EXP 72
10804: ST_TO_ADDR
// amv3 = createvehicle ;
10805: LD_ADDR_EXP 182
10809: PUSH
10810: CALL_OW 45
10814: ST_TO_ADDR
// setdir ( amv3 , 5 ) ;
10815: LD_EXP 182
10819: PPUSH
10820: LD_INT 5
10822: PPUSH
10823: CALL_OW 233
// placeunitxyr ( amv3 , 145 , 94 , 3 , false ) ;
10827: LD_EXP 182
10831: PPUSH
10832: LD_INT 145
10834: PPUSH
10835: LD_INT 94
10837: PPUSH
10838: LD_INT 3
10840: PPUSH
10841: LD_INT 0
10843: PPUSH
10844: CALL_OW 50
// eng0 = findmaxskill2 ( tmpvip , skill_engineering ) ;
10848: LD_ADDR_EXP 211
10852: PUSH
10853: LD_VAR 0 5
10857: PPUSH
10858: LD_INT 2
10860: PPUSH
10861: CALL_OW 434
10865: ST_TO_ADDR
// setclass ( eng0 , class_engineer ) ;
10866: LD_EXP 211
10870: PPUSH
10871: LD_INT 2
10873: PPUSH
10874: CALL_OW 336
// tmpvip = tmpvip diff eng0 ;
10878: LD_ADDR_VAR 0 5
10882: PUSH
10883: LD_VAR 0 5
10887: PUSH
10888: LD_EXP 211
10892: DIFF
10893: ST_TO_ADDR
// sold0 = findmaxskill2 ( tmpvip , skill_combat ) ;
10894: LD_ADDR_EXP 215
10898: PUSH
10899: LD_VAR 0 5
10903: PPUSH
10904: LD_INT 1
10906: PPUSH
10907: CALL_OW 434
10911: ST_TO_ADDR
// tmpvip = tmpvip diff sold0 ;
10912: LD_ADDR_VAR 0 5
10916: PUSH
10917: LD_VAR 0 5
10921: PUSH
10922: LD_EXP 215
10926: DIFF
10927: ST_TO_ADDR
// sold1 = findmaxskill2 ( tmpvip , skill_combat ) ;
10928: LD_ADDR_EXP 216
10932: PUSH
10933: LD_VAR 0 5
10937: PPUSH
10938: LD_INT 1
10940: PPUSH
10941: CALL_OW 434
10945: ST_TO_ADDR
// tmpvip = tmpvip diff sold1 ;
10946: LD_ADDR_VAR 0 5
10950: PUSH
10951: LD_VAR 0 5
10955: PUSH
10956: LD_EXP 216
10960: DIFF
10961: ST_TO_ADDR
// if ( 0 + tmpother ) >= 4 then
10962: LD_INT 0
10964: PUSH
10965: LD_VAR 0 6
10969: PLUS
10970: PUSH
10971: LD_INT 4
10973: GREATEREQUAL
10974: IFFALSE 11158
// begin case_ = 1 ;
10976: LD_ADDR_VAR 0 8
10980: PUSH
10981: LD_INT 1
10983: ST_TO_ADDR
// sold2 = findmaxskill2 ( tmpother , skill_combat ) ;
10984: LD_ADDR_EXP 217
10988: PUSH
10989: LD_VAR 0 6
10993: PPUSH
10994: LD_INT 1
10996: PPUSH
10997: CALL_OW 434
11001: ST_TO_ADDR
// tmpother = tmpother diff sold2 ;
11002: LD_ADDR_VAR 0 6
11006: PUSH
11007: LD_VAR 0 6
11011: PUSH
11012: LD_EXP 217
11016: DIFF
11017: ST_TO_ADDR
// mech0 = findmaxskill2 ( tmpother , skill_mechanical ) ;
11018: LD_ADDR_EXP 212
11022: PUSH
11023: LD_VAR 0 6
11027: PPUSH
11028: LD_INT 3
11030: PPUSH
11031: CALL_OW 434
11035: ST_TO_ADDR
// setclass ( mech0 , class_mechanic ) ;
11036: LD_EXP 212
11040: PPUSH
11041: LD_INT 3
11043: PPUSH
11044: CALL_OW 336
// tmpother = tmpother diff mech0 ;
11048: LD_ADDR_VAR 0 6
11052: PUSH
11053: LD_VAR 0 6
11057: PUSH
11058: LD_EXP 212
11062: DIFF
11063: ST_TO_ADDR
// mech1 = findmaxskill2 ( tmpother , skill_mechanical ) ;
11064: LD_ADDR_EXP 213
11068: PUSH
11069: LD_VAR 0 6
11073: PPUSH
11074: LD_INT 3
11076: PPUSH
11077: CALL_OW 434
11081: ST_TO_ADDR
// setclass ( mech1 , class_mechanic ) ;
11082: LD_EXP 213
11086: PPUSH
11087: LD_INT 3
11089: PPUSH
11090: CALL_OW 336
// tmpother = tmpother diff mech1 ;
11094: LD_ADDR_VAR 0 6
11098: PUSH
11099: LD_VAR 0 6
11103: PUSH
11104: LD_EXP 213
11108: DIFF
11109: ST_TO_ADDR
// mech2 = findmaxskill2 ( tmpother , skill_mechanical ) ;
11110: LD_ADDR_EXP 214
11114: PUSH
11115: LD_VAR 0 6
11119: PPUSH
11120: LD_INT 3
11122: PPUSH
11123: CALL_OW 434
11127: ST_TO_ADDR
// setclass ( mech2 , class_mechanic ) ;
11128: LD_EXP 214
11132: PPUSH
11133: LD_INT 3
11135: PPUSH
11136: CALL_OW 336
// tmpother = tmpother diff mech2 ;
11140: LD_ADDR_VAR 0 6
11144: PUSH
11145: LD_VAR 0 6
11149: PUSH
11150: LD_EXP 214
11154: DIFF
11155: ST_TO_ADDR
// end else
11156: GO 11420
// begin case_ = 2 ;
11158: LD_ADDR_VAR 0 8
11162: PUSH
11163: LD_INT 2
11165: ST_TO_ADDR
// tmp2 = 0 + tmpother ;
11166: LD_ADDR_VAR 0 3
11170: PUSH
11171: LD_INT 0
11173: PUSH
11174: LD_VAR 0 6
11178: PLUS
11179: ST_TO_ADDR
// for tmp = ( tmp2 + 1 ) to 4 do
11180: LD_ADDR_VAR 0 2
11184: PUSH
11185: DOUBLE
11186: LD_VAR 0 3
11190: PUSH
11191: LD_INT 1
11193: PLUS
11194: DEC
11195: ST_TO_ADDR
11196: LD_INT 4
11198: PUSH
11199: FOR_TO
11200: IFFALSE 11246
// begin preparehuman ( rand ( 1 , 2 ) , class_soldier , default_skill ) ;
11202: LD_INT 1
11204: PPUSH
11205: LD_INT 2
11207: PPUSH
11208: CALL_OW 12
11212: PPUSH
11213: LD_INT 1
11215: PPUSH
11216: LD_EXP 146
11220: PPUSH
11221: CALL_OW 380
// tmpother = tmpother ^ [ createhuman ] ;
11225: LD_ADDR_VAR 0 6
11229: PUSH
11230: LD_VAR 0 6
11234: PUSH
11235: CALL_OW 44
11239: PUSH
11240: EMPTY
11241: LIST
11242: ADD
11243: ST_TO_ADDR
// end ;
11244: GO 11199
11246: POP
11247: POP
// sold2 = findmaxskill2 ( tmpother , skill_combat ) ;
11248: LD_ADDR_EXP 217
11252: PUSH
11253: LD_VAR 0 6
11257: PPUSH
11258: LD_INT 1
11260: PPUSH
11261: CALL_OW 434
11265: ST_TO_ADDR
// tmpother = tmpother diff sold2 ;
11266: LD_ADDR_VAR 0 6
11270: PUSH
11271: LD_VAR 0 6
11275: PUSH
11276: LD_EXP 217
11280: DIFF
11281: ST_TO_ADDR
// mech0 = findmaxskill2 ( tmpother , skill_mechanical ) ;
11282: LD_ADDR_EXP 212
11286: PUSH
11287: LD_VAR 0 6
11291: PPUSH
11292: LD_INT 3
11294: PPUSH
11295: CALL_OW 434
11299: ST_TO_ADDR
// setclass ( mech0 , class_mechanic ) ;
11300: LD_EXP 212
11304: PPUSH
11305: LD_INT 3
11307: PPUSH
11308: CALL_OW 336
// tmpother = tmpother diff mech0 ;
11312: LD_ADDR_VAR 0 6
11316: PUSH
11317: LD_VAR 0 6
11321: PUSH
11322: LD_EXP 212
11326: DIFF
11327: ST_TO_ADDR
// mech1 = findmaxskill2 ( tmpother , skill_mechanical ) ;
11328: LD_ADDR_EXP 213
11332: PUSH
11333: LD_VAR 0 6
11337: PPUSH
11338: LD_INT 3
11340: PPUSH
11341: CALL_OW 434
11345: ST_TO_ADDR
// setclass ( mech1 , class_mechanic ) ;
11346: LD_EXP 213
11350: PPUSH
11351: LD_INT 3
11353: PPUSH
11354: CALL_OW 336
// tmpother = tmpother diff mech1 ;
11358: LD_ADDR_VAR 0 6
11362: PUSH
11363: LD_VAR 0 6
11367: PUSH
11368: LD_EXP 213
11372: DIFF
11373: ST_TO_ADDR
// mech2 = findmaxskill2 ( tmpother , skill_mechanical ) ;
11374: LD_ADDR_EXP 214
11378: PUSH
11379: LD_VAR 0 6
11383: PPUSH
11384: LD_INT 3
11386: PPUSH
11387: CALL_OW 434
11391: ST_TO_ADDR
// setclass ( mech2 , class_mechanic ) ;
11392: LD_EXP 214
11396: PPUSH
11397: LD_INT 3
11399: PPUSH
11400: CALL_OW 336
// tmpother = tmpother diff mech2 ;
11404: LD_ADDR_VAR 0 6
11408: PUSH
11409: LD_VAR 0 6
11413: PUSH
11414: LD_EXP 214
11418: DIFF
11419: ST_TO_ADDR
// end ; end else
11420: GO 12363
// begin tmpvsici = tmpvip ^ tmpother ;
11422: LD_ADDR_VAR 0 7
11426: PUSH
11427: LD_VAR 0 5
11431: PUSH
11432: LD_VAR 0 6
11436: ADD
11437: ST_TO_ADDR
// if 0 + tmpvsici >= 11 then
11438: LD_INT 0
11440: PUSH
11441: LD_VAR 0 7
11445: PLUS
11446: PUSH
11447: LD_INT 11
11449: GREATEREQUAL
11450: IFFALSE 11462
// case_ = 3 else
11452: LD_ADDR_VAR 0 8
11456: PUSH
11457: LD_INT 3
11459: ST_TO_ADDR
11460: GO 11552
// begin case_ = 4 ;
11462: LD_ADDR_VAR 0 8
11466: PUSH
11467: LD_INT 4
11469: ST_TO_ADDR
// tmp2 = 0 + tmpvsici ;
11470: LD_ADDR_VAR 0 3
11474: PUSH
11475: LD_INT 0
11477: PUSH
11478: LD_VAR 0 7
11482: PLUS
11483: ST_TO_ADDR
// for tmp = ( tmp2 + 1 ) to 11 do
11484: LD_ADDR_VAR 0 2
11488: PUSH
11489: DOUBLE
11490: LD_VAR 0 3
11494: PUSH
11495: LD_INT 1
11497: PLUS
11498: DEC
11499: ST_TO_ADDR
11500: LD_INT 11
11502: PUSH
11503: FOR_TO
11504: IFFALSE 11550
// begin preparehuman ( rand ( 1 , 2 ) , class_soldier , default_skill ) ;
11506: LD_INT 1
11508: PPUSH
11509: LD_INT 2
11511: PPUSH
11512: CALL_OW 12
11516: PPUSH
11517: LD_INT 1
11519: PPUSH
11520: LD_EXP 146
11524: PPUSH
11525: CALL_OW 380
// tmpvsici = tmpvsici ^ [ createhuman ] ;
11529: LD_ADDR_VAR 0 7
11533: PUSH
11534: LD_VAR 0 7
11538: PUSH
11539: CALL_OW 44
11543: PUSH
11544: EMPTY
11545: LIST
11546: ADD
11547: ST_TO_ADDR
// end ;
11548: GO 11503
11550: POP
11551: POP
// end ; am_grupa = [ tmpvsici [ 1 ] ] ;
11552: LD_ADDR_EXP 184
11556: PUSH
11557: LD_VAR 0 7
11561: PUSH
11562: LD_INT 1
11564: ARRAY
11565: PUSH
11566: EMPTY
11567: LIST
11568: ST_TO_ADDR
// tmpvsici = delete ( tmpvsici , 1 ) ;
11569: LD_ADDR_VAR 0 7
11573: PUSH
11574: LD_VAR 0 7
11578: PPUSH
11579: LD_INT 1
11581: PPUSH
11582: CALL_OW 3
11586: ST_TO_ADDR
// am_grupa = am_grupa ^ [ tmpvsici [ 1 ] ] ;
11587: LD_ADDR_EXP 184
11591: PUSH
11592: LD_EXP 184
11596: PUSH
11597: LD_VAR 0 7
11601: PUSH
11602: LD_INT 1
11604: ARRAY
11605: PUSH
11606: EMPTY
11607: LIST
11608: ADD
11609: ST_TO_ADDR
// tmpvsici = delete ( tmpvsici , 1 ) ;
11610: LD_ADDR_VAR 0 7
11614: PUSH
11615: LD_VAR 0 7
11619: PPUSH
11620: LD_INT 1
11622: PPUSH
11623: CALL_OW 3
11627: ST_TO_ADDR
// placeunitxyr ( am_grupa [ 1 ] , 144 , 97 , 3 , false ) ;
11628: LD_EXP 184
11632: PUSH
11633: LD_INT 1
11635: ARRAY
11636: PPUSH
11637: LD_INT 144
11639: PPUSH
11640: LD_INT 97
11642: PPUSH
11643: LD_INT 3
11645: PPUSH
11646: LD_INT 0
11648: PPUSH
11649: CALL_OW 50
// placeunitxyr ( am_grupa [ 2 ] , 144 , 97 , 3 , false ) ;
11653: LD_EXP 184
11657: PUSH
11658: LD_INT 2
11660: ARRAY
11661: PPUSH
11662: LD_INT 144
11664: PPUSH
11665: LD_INT 97
11667: PPUSH
11668: LD_INT 3
11670: PPUSH
11671: LD_INT 0
11673: PPUSH
11674: CALL_OW 50
// placeunitxyr ( amscie0 , 144 , 97 , 3 , false ) ;
11678: LD_EXP 183
11682: PPUSH
11683: LD_INT 144
11685: PPUSH
11686: LD_INT 97
11688: PPUSH
11689: LD_INT 3
11691: PPUSH
11692: LD_INT 0
11694: PPUSH
11695: CALL_OW 50
// vc_chassis = amv0_ch ;
11699: LD_ADDR_OWVAR 37
11703: PUSH
11704: LD_EXP 65
11708: ST_TO_ADDR
// vc_weapon = amv0_wp ;
11709: LD_ADDR_OWVAR 40
11713: PUSH
11714: LD_EXP 66
11718: ST_TO_ADDR
// amv0 = createvehicle ;
11719: LD_ADDR_EXP 179
11723: PUSH
11724: CALL_OW 45
11728: ST_TO_ADDR
// setdir ( amv0 , 5 ) ;
11729: LD_EXP 179
11733: PPUSH
11734: LD_INT 5
11736: PPUSH
11737: CALL_OW 233
// placeunitxyr ( amv0 , 146 , 97 , 3 , false ) ;
11741: LD_EXP 179
11745: PPUSH
11746: LD_INT 146
11748: PPUSH
11749: LD_INT 97
11751: PPUSH
11752: LD_INT 3
11754: PPUSH
11755: LD_INT 0
11757: PPUSH
11758: CALL_OW 50
// setclass ( [ tmpvsici [ 1 ] ] , class_mechanic ) ;
11762: LD_VAR 0 7
11766: PUSH
11767: LD_INT 1
11769: ARRAY
11770: PUSH
11771: EMPTY
11772: LIST
11773: PPUSH
11774: LD_INT 3
11776: PPUSH
11777: CALL_OW 336
// placehumaninunit ( tmpvsici [ 1 ] , amv0 ) ;
11781: LD_VAR 0 7
11785: PUSH
11786: LD_INT 1
11788: ARRAY
11789: PPUSH
11790: LD_EXP 179
11794: PPUSH
11795: CALL_OW 52
// tmpvsici = delete ( tmpvsici , 1 ) ;
11799: LD_ADDR_VAR 0 7
11803: PUSH
11804: LD_VAR 0 7
11808: PPUSH
11809: LD_INT 1
11811: PPUSH
11812: CALL_OW 3
11816: ST_TO_ADDR
// vc_chassis = amv1_ch ;
11817: LD_ADDR_OWVAR 37
11821: PUSH
11822: LD_EXP 67
11826: ST_TO_ADDR
// vc_weapon = amv1_wp ;
11827: LD_ADDR_OWVAR 40
11831: PUSH
11832: LD_EXP 68
11836: ST_TO_ADDR
// amv1 = createvehicle ;
11837: LD_ADDR_EXP 180
11841: PUSH
11842: CALL_OW 45
11846: ST_TO_ADDR
// setdir ( amv1 , 5 ) ;
11847: LD_EXP 180
11851: PPUSH
11852: LD_INT 5
11854: PPUSH
11855: CALL_OW 233
// placeunitxyr ( amv1 , 146 , 99 , 3 , false ) ;
11859: LD_EXP 180
11863: PPUSH
11864: LD_INT 146
11866: PPUSH
11867: LD_INT 99
11869: PPUSH
11870: LD_INT 3
11872: PPUSH
11873: LD_INT 0
11875: PPUSH
11876: CALL_OW 50
// setclass ( [ tmpvsici [ 1 ] ] , class_mechanic ) ;
11880: LD_VAR 0 7
11884: PUSH
11885: LD_INT 1
11887: ARRAY
11888: PUSH
11889: EMPTY
11890: LIST
11891: PPUSH
11892: LD_INT 3
11894: PPUSH
11895: CALL_OW 336
// placehumaninunit ( tmpvsici [ 1 ] , amv1 ) ;
11899: LD_VAR 0 7
11903: PUSH
11904: LD_INT 1
11906: ARRAY
11907: PPUSH
11908: LD_EXP 180
11912: PPUSH
11913: CALL_OW 52
// tmpvsici = delete ( tmpvsici , 1 ) ;
11917: LD_ADDR_VAR 0 7
11921: PUSH
11922: LD_VAR 0 7
11926: PPUSH
11927: LD_INT 1
11929: PPUSH
11930: CALL_OW 3
11934: ST_TO_ADDR
// vc_control = control_computer ;
11935: LD_ADDR_OWVAR 38
11939: PUSH
11940: LD_INT 3
11942: ST_TO_ADDR
// vc_chassis = amv2_ch ;
11943: LD_ADDR_OWVAR 37
11947: PUSH
11948: LD_EXP 69
11952: ST_TO_ADDR
// vc_weapon = amv2_wp ;
11953: LD_ADDR_OWVAR 40
11957: PUSH
11958: LD_EXP 70
11962: ST_TO_ADDR
// amv2 = createvehicle ;
11963: LD_ADDR_EXP 181
11967: PUSH
11968: CALL_OW 45
11972: ST_TO_ADDR
// setdir ( amv2 , 5 ) ;
11973: LD_EXP 181
11977: PPUSH
11978: LD_INT 5
11980: PPUSH
11981: CALL_OW 233
// placeunitxyr ( amv2 , 150 , 103 , 3 , false ) ;
11985: LD_EXP 181
11989: PPUSH
11990: LD_INT 150
11992: PPUSH
11993: LD_INT 103
11995: PPUSH
11996: LD_INT 3
11998: PPUSH
11999: LD_INT 0
12001: PPUSH
12002: CALL_OW 50
// vc_control = control_computer ;
12006: LD_ADDR_OWVAR 38
12010: PUSH
12011: LD_INT 3
12013: ST_TO_ADDR
// vc_chassis = amv3_ch ;
12014: LD_ADDR_OWVAR 37
12018: PUSH
12019: LD_EXP 71
12023: ST_TO_ADDR
// vc_weapon = amv3_wp ;
12024: LD_ADDR_OWVAR 40
12028: PUSH
12029: LD_EXP 72
12033: ST_TO_ADDR
// amv3 = createvehicle ;
12034: LD_ADDR_EXP 182
12038: PUSH
12039: CALL_OW 45
12043: ST_TO_ADDR
// setdir ( amv3 , 5 ) ;
12044: LD_EXP 182
12048: PPUSH
12049: LD_INT 5
12051: PPUSH
12052: CALL_OW 233
// placeunitxyr ( amv3 , 145 , 94 , 3 , false ) ;
12056: LD_EXP 182
12060: PPUSH
12061: LD_INT 145
12063: PPUSH
12064: LD_INT 94
12066: PPUSH
12067: LD_INT 3
12069: PPUSH
12070: LD_INT 0
12072: PPUSH
12073: CALL_OW 50
// eng0 = findmaxskill2 ( tmpvsici , skill_engineering ) ;
12077: LD_ADDR_EXP 211
12081: PUSH
12082: LD_VAR 0 7
12086: PPUSH
12087: LD_INT 2
12089: PPUSH
12090: CALL_OW 434
12094: ST_TO_ADDR
// setclass ( eng0 , class_engineer ) ;
12095: LD_EXP 211
12099: PPUSH
12100: LD_INT 2
12102: PPUSH
12103: CALL_OW 336
// tmpvsici = tmpvsici diff eng0 ;
12107: LD_ADDR_VAR 0 7
12111: PUSH
12112: LD_VAR 0 7
12116: PUSH
12117: LD_EXP 211
12121: DIFF
12122: ST_TO_ADDR
// sold0 = findmaxskill2 ( tmpvsici , skill_combat ) ;
12123: LD_ADDR_EXP 215
12127: PUSH
12128: LD_VAR 0 7
12132: PPUSH
12133: LD_INT 1
12135: PPUSH
12136: CALL_OW 434
12140: ST_TO_ADDR
// tmpvsici = tmpvsici diff sold0 ;
12141: LD_ADDR_VAR 0 7
12145: PUSH
12146: LD_VAR 0 7
12150: PUSH
12151: LD_EXP 215
12155: DIFF
12156: ST_TO_ADDR
// sold1 = findmaxskill2 ( tmpvsici , skill_combat ) ;
12157: LD_ADDR_EXP 216
12161: PUSH
12162: LD_VAR 0 7
12166: PPUSH
12167: LD_INT 1
12169: PPUSH
12170: CALL_OW 434
12174: ST_TO_ADDR
// tmpvsici = tmpvsici diff sold1 ;
12175: LD_ADDR_VAR 0 7
12179: PUSH
12180: LD_VAR 0 7
12184: PUSH
12185: LD_EXP 216
12189: DIFF
12190: ST_TO_ADDR
// sold2 = findmaxskill2 ( tmpvsici , skill_combat ) ;
12191: LD_ADDR_EXP 217
12195: PUSH
12196: LD_VAR 0 7
12200: PPUSH
12201: LD_INT 1
12203: PPUSH
12204: CALL_OW 434
12208: ST_TO_ADDR
// tmpvsici = tmpvsici diff sold2 ;
12209: LD_ADDR_VAR 0 7
12213: PUSH
12214: LD_VAR 0 7
12218: PUSH
12219: LD_EXP 217
12223: DIFF
12224: ST_TO_ADDR
// mech0 = findmaxskill2 ( tmpvsici , skill_mechanical ) ;
12225: LD_ADDR_EXP 212
12229: PUSH
12230: LD_VAR 0 7
12234: PPUSH
12235: LD_INT 3
12237: PPUSH
12238: CALL_OW 434
12242: ST_TO_ADDR
// setclass ( mech0 , class_mechanic ) ;
12243: LD_EXP 212
12247: PPUSH
12248: LD_INT 3
12250: PPUSH
12251: CALL_OW 336
// tmpvsici = tmpvsici diff mech0 ;
12255: LD_ADDR_VAR 0 7
12259: PUSH
12260: LD_VAR 0 7
12264: PUSH
12265: LD_EXP 212
12269: DIFF
12270: ST_TO_ADDR
// mech1 = findmaxskill2 ( tmpvsici , skill_mechanical ) ;
12271: LD_ADDR_EXP 213
12275: PUSH
12276: LD_VAR 0 7
12280: PPUSH
12281: LD_INT 3
12283: PPUSH
12284: CALL_OW 434
12288: ST_TO_ADDR
// setclass ( mech0 , class_mechanic ) ;
12289: LD_EXP 212
12293: PPUSH
12294: LD_INT 3
12296: PPUSH
12297: CALL_OW 336
// tmpvsici = tmpvsici diff mech1 ;
12301: LD_ADDR_VAR 0 7
12305: PUSH
12306: LD_VAR 0 7
12310: PUSH
12311: LD_EXP 213
12315: DIFF
12316: ST_TO_ADDR
// mech2 = findmaxskill2 ( tmpvsici , skill_mechanical ) ;
12317: LD_ADDR_EXP 214
12321: PUSH
12322: LD_VAR 0 7
12326: PPUSH
12327: LD_INT 3
12329: PPUSH
12330: CALL_OW 434
12334: ST_TO_ADDR
// setclass ( mech0 , class_mechanic ) ;
12335: LD_EXP 212
12339: PPUSH
12340: LD_INT 3
12342: PPUSH
12343: CALL_OW 336
// tmpvsici = tmpvsici diff mech2 ;
12347: LD_ADDR_VAR 0 7
12351: PUSH
12352: LD_VAR 0 7
12356: PUSH
12357: LD_EXP 214
12361: DIFF
12362: ST_TO_ADDR
// end ; case case_ of 1 :
12363: LD_VAR 0 8
12367: PUSH
12368: LD_INT 1
12370: DOUBLE
12371: EQUAL
12372: IFTRUE 12376
12374: GO 12399
12376: POP
// begin nepouzitvip = tmpvip ;
12377: LD_ADDR_EXP 218
12381: PUSH
12382: LD_VAR 0 5
12386: ST_TO_ADDR
// nepouzitoth = tmpother ;
12387: LD_ADDR_EXP 219
12391: PUSH
12392: LD_VAR 0 6
12396: ST_TO_ADDR
// end ; 2 :
12397: GO 12492
12399: LD_INT 2
12401: DOUBLE
12402: EQUAL
12403: IFTRUE 12407
12405: GO 12442
12407: POP
// begin nepouzitvip = tmpvip ;
12408: LD_ADDR_EXP 218
12412: PUSH
12413: LD_VAR 0 5
12417: ST_TO_ADDR
// nepouzitoth = tmpother isect ( otherwithjmm ^ othernotjmm ) ;
12418: LD_ADDR_EXP 219
12422: PUSH
12423: LD_VAR 0 6
12427: PUSH
12428: LD_EXP 185
12432: PUSH
12433: LD_EXP 186
12437: ADD
12438: ISECT
12439: ST_TO_ADDR
// end ; 3 , 4 :
12440: GO 12492
12442: LD_INT 3
12444: DOUBLE
12445: EQUAL
12446: IFTRUE 12456
12448: LD_INT 4
12450: DOUBLE
12451: EQUAL
12452: IFTRUE 12456
12454: GO 12491
12456: POP
// begin nepouzitvip = tmpvsici isect tmpvip ;
12457: LD_ADDR_EXP 218
12461: PUSH
12462: LD_VAR 0 7
12466: PUSH
12467: LD_VAR 0 5
12471: ISECT
12472: ST_TO_ADDR
// nepouzitoth = tmpvsici isect tmpother ;
12473: LD_ADDR_EXP 219
12477: PUSH
12478: LD_VAR 0 7
12482: PUSH
12483: LD_VAR 0 6
12487: ISECT
12488: ST_TO_ADDR
// end ; end ;
12489: GO 12492
12491: POP
// am_grupa = am_grupa ^ [ john , lucy , amv0 , amv1 , amv2 , amv3 , amscie0 ] ;
12492: LD_ADDR_EXP 184
12496: PUSH
12497: LD_EXP 184
12501: PUSH
12502: LD_EXP 173
12506: PUSH
12507: LD_EXP 175
12511: PUSH
12512: LD_EXP 179
12516: PUSH
12517: LD_EXP 180
12521: PUSH
12522: LD_EXP 181
12526: PUSH
12527: LD_EXP 182
12531: PUSH
12532: LD_EXP 183
12536: PUSH
12537: EMPTY
12538: LIST
12539: LIST
12540: LIST
12541: LIST
12542: LIST
12543: LIST
12544: LIST
12545: ADD
12546: ST_TO_ADDR
// end ; end_of_file
12547: LD_VAR 0 1
12551: RET
// export attackers ; export att_began ; function intro_att ; begin
12552: LD_INT 0
12554: PPUSH
// attackers = filterunitsinarea ( brod2 , [ [ f_side , am ] , [ f_type , unit_vehicle ] ] ) ;
12555: LD_ADDR_EXP 220
12559: PUSH
12560: LD_INT 1
12562: PPUSH
12563: LD_INT 22
12565: PUSH
12566: LD_EXP 2
12570: PUSH
12571: EMPTY
12572: LIST
12573: LIST
12574: PUSH
12575: LD_INT 21
12577: PUSH
12578: LD_INT 2
12580: PUSH
12581: EMPTY
12582: LIST
12583: LIST
12584: PUSH
12585: EMPTY
12586: LIST
12587: LIST
12588: PPUSH
12589: CALL_OW 70
12593: ST_TO_ADDR
// result = 0 + attackers ;
12594: LD_ADDR_VAR 0 1
12598: PUSH
12599: LD_INT 0
12601: PUSH
12602: LD_EXP 220
12606: PLUS
12607: ST_TO_ADDR
// end ;
12608: LD_VAR 0 1
12612: RET
// every 0 0$0.33 trigger achjo marked 2 do
12613: LD_EXP 155
12617: IFFALSE 12926
12619: GO 12621
12621: DISABLE
// begin enable ;
12622: ENABLE
// if intro_att and not zdrhat then
12623: CALL 12552 0 0
12627: PUSH
12628: LD_EXP 150
12632: NOT
12633: AND
12634: IFFALSE 12735
// begin if not att_began then
12636: LD_EXP 221
12640: NOT
12641: IFFALSE 12651
// att_began = true ;
12643: LD_ADDR_EXP 221
12647: PUSH
12648: LD_INT 1
12650: ST_TO_ADDR
// comtimeshift ( baz3 , getx ( attackers [ 1 ] ) , gety ( attackers [ 1 ] ) ) ;
12651: LD_EXP 14
12655: PPUSH
12656: LD_EXP 220
12660: PUSH
12661: LD_INT 1
12663: ARRAY
12664: PPUSH
12665: CALL_OW 250
12669: PPUSH
12670: LD_EXP 220
12674: PUSH
12675: LD_INT 1
12677: ARRAY
12678: PPUSH
12679: CALL_OW 251
12683: PPUSH
12684: CALL_OW 154
// comattackunit ( [ baz0 , baz1 , baz2 , baz4 , baz5 ] , attackers [ 1 ] ) ;
12688: LD_EXP 8
12692: PUSH
12693: LD_EXP 10
12697: PUSH
12698: LD_EXP 12
12702: PUSH
12703: LD_EXP 16
12707: PUSH
12708: LD_EXP 18
12712: PUSH
12713: EMPTY
12714: LIST
12715: LIST
12716: LIST
12717: LIST
12718: LIST
12719: PPUSH
12720: LD_EXP 220
12724: PUSH
12725: LD_INT 1
12727: ARRAY
12728: PPUSH
12729: CALL_OW 115
// end else
12733: GO 12795
// begin if att_began and attackers then
12735: LD_EXP 221
12739: PUSH
12740: LD_EXP 220
12744: AND
12745: IFFALSE 12795
// comtimeshift ( [ baz0 , baz1 , baz2 , baz3 , baz4 , baz5 ] , 87 , 67 ) ;
12747: LD_EXP 8
12751: PUSH
12752: LD_EXP 10
12756: PUSH
12757: LD_EXP 12
12761: PUSH
12762: LD_EXP 14
12766: PUSH
12767: LD_EXP 16
12771: PUSH
12772: LD_EXP 18
12776: PUSH
12777: EMPTY
12778: LIST
12779: LIST
12780: LIST
12781: LIST
12782: LIST
12783: LIST
12784: PPUSH
12785: LD_INT 87
12787: PPUSH
12788: LD_INT 67
12790: PPUSH
12791: CALL_OW 154
// end ; if unitfilter ( [ scie0 , baz0 , baz1 , baz2 , baz3 , baz4 , baz5 ] , [ [ f_alive ] ] ) diff filterunitsinarea ( bazukeri , [ [ f_side , rus ] ] ) then
12795: LD_EXP 6
12799: PUSH
12800: LD_EXP 8
12804: PUSH
12805: LD_EXP 10
12809: PUSH
12810: LD_EXP 12
12814: PUSH
12815: LD_EXP 14
12819: PUSH
12820: LD_EXP 16
12824: PUSH
12825: LD_EXP 18
12829: PUSH
12830: EMPTY
12831: LIST
12832: LIST
12833: LIST
12834: LIST
12835: LIST
12836: LIST
12837: LIST
12838: PPUSH
12839: LD_INT 51
12841: PUSH
12842: EMPTY
12843: LIST
12844: PUSH
12845: EMPTY
12846: LIST
12847: PPUSH
12848: CALL_OW 72
12852: PUSH
12853: LD_INT 7
12855: PPUSH
12856: LD_INT 22
12858: PUSH
12859: LD_EXP 1
12863: PUSH
12864: EMPTY
12865: LIST
12866: LIST
12867: PUSH
12868: EMPTY
12869: LIST
12870: PPUSH
12871: CALL_OW 70
12875: DIFF
12876: IFFALSE 12926
// comreturn ( [ scie0 , baz0 , baz1 , baz2 , baz3 , baz4 , baz5 ] ) ;
12878: LD_EXP 6
12882: PUSH
12883: LD_EXP 8
12887: PUSH
12888: LD_EXP 10
12892: PUSH
12893: LD_EXP 12
12897: PUSH
12898: LD_EXP 14
12902: PUSH
12903: LD_EXP 16
12907: PUSH
12908: LD_EXP 18
12912: PUSH
12913: EMPTY
12914: LIST
12915: LIST
12916: LIST
12917: LIST
12918: LIST
12919: LIST
12920: LIST
12921: PPUSH
12922: CALL_OW 144
// end ;
12926: END
// var uhlici ; function guardsoutofrange ; begin
12927: LD_INT 0
12929: PPUSH
// uhlici = [ ] ;
12930: LD_ADDR_LOC 7
12934: PUSH
12935: EMPTY
12936: ST_TO_ADDR
// if not isinarea ( guard0 , ar_guard0 ) then
12937: LD_EXP 157
12941: PPUSH
12942: LD_INT 2
12944: PPUSH
12945: CALL_OW 308
12949: NOT
12950: IFFALSE 12965
// uhlici = [ guard0 ] ;
12952: LD_ADDR_LOC 7
12956: PUSH
12957: LD_EXP 157
12961: PUSH
12962: EMPTY
12963: LIST
12964: ST_TO_ADDR
// if not isinarea ( guard1 , ar_guard1 ) then
12965: LD_EXP 158
12969: PPUSH
12970: LD_INT 3
12972: PPUSH
12973: CALL_OW 308
12977: NOT
12978: IFFALSE 12999
// uhlici = uhlici ^ [ guard1 ] ;
12980: LD_ADDR_LOC 7
12984: PUSH
12985: LD_LOC 7
12989: PUSH
12990: LD_EXP 158
12994: PUSH
12995: EMPTY
12996: LIST
12997: ADD
12998: ST_TO_ADDR
// if not isinarea ( guard2 , ar_guard2 ) then
12999: LD_EXP 159
13003: PPUSH
13004: LD_INT 4
13006: PPUSH
13007: CALL_OW 308
13011: NOT
13012: IFFALSE 13033
// uhlici = uhlici ^ [ guard2 ] ;
13014: LD_ADDR_LOC 7
13018: PUSH
13019: LD_LOC 7
13023: PUSH
13024: LD_EXP 159
13028: PUSH
13029: EMPTY
13030: LIST
13031: ADD
13032: ST_TO_ADDR
// if not isinarea ( guard3 , ar_guard3 ) then
13033: LD_EXP 160
13037: PPUSH
13038: LD_INT 5
13040: PPUSH
13041: CALL_OW 308
13045: NOT
13046: IFFALSE 13067
// uhlici = uhlici ^ [ guard3 ] ;
13048: LD_ADDR_LOC 7
13052: PUSH
13053: LD_LOC 7
13057: PUSH
13058: LD_EXP 160
13062: PUSH
13063: EMPTY
13064: LIST
13065: ADD
13066: ST_TO_ADDR
// result = 0 + uhlici ;
13067: LD_ADDR_VAR 0 1
13071: PUSH
13072: LD_INT 0
13074: PUSH
13075: LD_LOC 7
13079: PLUS
13080: ST_TO_ADDR
// end ;
13081: LD_VAR 0 1
13085: RET
// every 0 0$0.6 trigger guardsoutofrange do var tmp ;
13086: CALL 12927 0 0
13090: IFFALSE 13222
13092: GO 13094
13094: DISABLE
13095: LD_INT 0
13097: PPUSH
// begin for tmp in uhlici do
13098: LD_ADDR_VAR 0 1
13102: PUSH
13103: LD_LOC 7
13107: PUSH
13108: FOR_IN
13109: IFFALSE 13219
// case tmp of guard0 :
13111: LD_VAR 0 1
13115: PUSH
13116: LD_EXP 157
13120: DOUBLE
13121: EQUAL
13122: IFTRUE 13126
13124: GO 13141
13126: POP
// commovetoarea ( guard0 , ar_guard ) ; guard1 :
13127: LD_EXP 157
13131: PPUSH
13132: LD_INT 20
13134: PPUSH
13135: CALL_OW 113
13139: GO 13217
13141: LD_EXP 158
13145: DOUBLE
13146: EQUAL
13147: IFTRUE 13151
13149: GO 13166
13151: POP
// commovetoarea ( guard1 , ar_guard ) ; guard2 :
13152: LD_EXP 158
13156: PPUSH
13157: LD_INT 20
13159: PPUSH
13160: CALL_OW 113
13164: GO 13217
13166: LD_EXP 159
13170: DOUBLE
13171: EQUAL
13172: IFTRUE 13176
13174: GO 13191
13176: POP
// commovetoarea ( guard2 , ar_guard ) ; guard3 :
13177: LD_EXP 159
13181: PPUSH
13182: LD_INT 20
13184: PPUSH
13185: CALL_OW 113
13189: GO 13217
13191: LD_EXP 160
13195: DOUBLE
13196: EQUAL
13197: IFTRUE 13201
13199: GO 13216
13201: POP
// commovetoarea ( guard3 , ar_guard ) ; end ;
13202: LD_EXP 160
13206: PPUSH
13207: LD_INT 20
13209: PPUSH
13210: CALL_OW 113
13214: GO 13217
13216: POP
13217: GO 13108
13219: POP
13220: POP
// enable ;
13221: ENABLE
// end ;
13222: PPOPN 1
13224: END
// var utocnici ; export amattbf ; function amattb ; begin
13225: LD_INT 0
13227: PPUSH
// utocnici = filterunitsinarea ( prusmykb , [ [ f_side , am ] ] ) ;
13228: LD_ADDR_LOC 8
13232: PUSH
13233: LD_INT 6
13235: PPUSH
13236: LD_INT 22
13238: PUSH
13239: LD_EXP 2
13243: PUSH
13244: EMPTY
13245: LIST
13246: LIST
13247: PUSH
13248: EMPTY
13249: LIST
13250: PPUSH
13251: CALL_OW 70
13255: ST_TO_ADDR
// result = 0 + utocnici ;
13256: LD_ADDR_VAR 0 1
13260: PUSH
13261: LD_INT 0
13263: PUSH
13264: LD_LOC 8
13268: PLUS
13269: ST_TO_ADDR
// end ;
13270: LD_VAR 0 1
13274: RET
// every 0 0$1 trigger amattb and not amattbf do
13275: CALL 13225 0 0
13279: PUSH
13280: LD_EXP 222
13284: NOT
13285: AND
13286: IFFALSE 13333
13288: GO 13290
13290: DISABLE
// begin amattbf = true ;
13291: LD_ADDR_EXP 222
13295: PUSH
13296: LD_INT 1
13298: ST_TO_ADDR
// comattackunit ( [ def0 , def1 , def2 ] , utocnici [ 1 ] ) ;
13299: LD_EXP 161
13303: PUSH
13304: LD_EXP 162
13308: PUSH
13309: LD_EXP 163
13313: PUSH
13314: EMPTY
13315: LIST
13316: LIST
13317: LIST
13318: PPUSH
13319: LD_LOC 8
13323: PUSH
13324: LD_INT 1
13326: ARRAY
13327: PPUSH
13328: CALL_OW 115
// enable ;
13332: ENABLE
// end ;
13333: END
// every 0 0$1 + 0 0$0.5 trigger filterunitsinarea ( prusmykb , [ [ f_side , am ] ] ) = 0 and amattbf do
13334: LD_INT 6
13336: PPUSH
13337: LD_INT 22
13339: PUSH
13340: LD_EXP 2
13344: PUSH
13345: EMPTY
13346: LIST
13347: LIST
13348: PUSH
13349: EMPTY
13350: LIST
13351: PPUSH
13352: CALL_OW 70
13356: PUSH
13357: LD_INT 0
13359: EQUAL
13360: PUSH
13361: LD_EXP 222
13365: AND
13366: IFFALSE 13404
13368: GO 13370
13370: DISABLE
// begin comreturn ( [ def0 , def1 , def2 ] ) ;
13371: LD_EXP 161
13375: PUSH
13376: LD_EXP 162
13380: PUSH
13381: LD_EXP 163
13385: PUSH
13386: EMPTY
13387: LIST
13388: LIST
13389: LIST
13390: PPUSH
13391: CALL_OW 144
// amattbf = false ;
13395: LD_ADDR_EXP 222
13399: PUSH
13400: LD_INT 0
13402: ST_TO_ADDR
// enable ;
13403: ENABLE
// end ;
13404: END
// var telep , trupka ; every 4 4$30 do
13405: GO 13407
13407: DISABLE
// begin telep = [ ] ;
13408: LD_ADDR_LOC 9
13412: PUSH
13413: EMPTY
13414: ST_TO_ADDR
// telepattno = 1 ;
13415: LD_ADDR_LOC 12
13419: PUSH
13420: LD_INT 1
13422: ST_TO_ADDR
// comconstruct ( ru_fact , t1_1_ch , engine_siberite , control_computer , t1_1_wp ) ;
13423: LD_INT 21
13425: PPUSH
13426: LD_EXP 105
13430: PPUSH
13431: LD_INT 3
13433: PPUSH
13434: LD_INT 3
13436: PPUSH
13437: LD_EXP 106
13441: PPUSH
13442: CALL_OW 125
// addcomconstruct ( ru_fact , t1_2_ch , engine_siberite , control_computer , t1_2_wp ) ;
13446: LD_INT 21
13448: PPUSH
13449: LD_EXP 107
13453: PPUSH
13454: LD_INT 3
13456: PPUSH
13457: LD_INT 3
13459: PPUSH
13460: LD_EXP 108
13464: PPUSH
13465: CALL_OW 185
// addcomconstruct ( ru_fact , t1_3_ch , engine_siberite , control_computer , t1_3_wp ) ;
13469: LD_INT 21
13471: PPUSH
13472: LD_EXP 109
13476: PPUSH
13477: LD_INT 3
13479: PPUSH
13480: LD_INT 3
13482: PPUSH
13483: LD_EXP 110
13487: PPUSH
13488: CALL_OW 185
// end ;
13492: END
// var tmp_eve ; var telepattno ; on vehicleconstructed ( veh , fact ) do if fact = ru_fact then
13493: LD_VAR 0 2
13497: PUSH
13498: LD_INT 21
13500: EQUAL
13501: IFFALSE 13615
// begin telep = telep ^ [ veh ] ;
13503: LD_ADDR_LOC 9
13507: PUSH
13508: LD_LOC 9
13512: PUSH
13513: LD_VAR 0 1
13517: PUSH
13518: EMPTY
13519: LIST
13520: ADD
13521: ST_TO_ADDR
// if telep = 3 then
13522: LD_LOC 9
13526: PUSH
13527: LD_INT 3
13529: EQUAL
13530: IFFALSE 13615
// begin enable ( 100 + telepattno ) ;
13532: LD_INT 100
13534: PUSH
13535: LD_LOC 12
13539: PLUS
13540: ENABLE_MARKED
// for tmp_eve in telep do
13541: LD_ADDR_LOC 11
13545: PUSH
13546: LD_LOC 9
13550: PUSH
13551: FOR_IN
13552: IFFALSE 13568
// commoveunit ( tmp_eve , ruteleprt ) ;
13554: LD_LOC 11
13558: PPUSH
13559: LD_INT 10
13561: PPUSH
13562: CALL_OW 112
13566: GO 13551
13568: POP
13569: POP
// addcomagressivemove ( telep , 102 , 97 ) ;
13570: LD_LOC 9
13574: PPUSH
13575: LD_INT 102
13577: PPUSH
13578: LD_INT 97
13580: PPUSH
13581: CALL_OW 174
// addcomagressivemove ( telep , 117 , 93 ) ;
13585: LD_LOC 9
13589: PPUSH
13590: LD_INT 117
13592: PPUSH
13593: LD_INT 93
13595: PPUSH
13596: CALL_OW 174
// addcomagressivemove ( telep , 137 , 107 ) ;
13600: LD_LOC 9
13604: PPUSH
13605: LD_INT 137
13607: PPUSH
13608: LD_INT 107
13610: PPUSH
13611: CALL_OW 174
// end ; end ;
13615: PPOPN 2
13617: 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 ;
13618: LD_EXP 2
13622: PPUSH
13623: LD_LOC 9
13627: PUSH
13628: LD_INT 1
13630: ARRAY
13631: PPUSH
13632: CALL_OW 292
13636: PUSH
13637: LD_EXP 2
13641: PPUSH
13642: LD_LOC 9
13646: PUSH
13647: LD_INT 2
13649: ARRAY
13650: PPUSH
13651: CALL_OW 292
13655: OR
13656: PUSH
13657: LD_EXP 2
13661: PPUSH
13662: LD_LOC 9
13666: PUSH
13667: LD_INT 3
13669: ARRAY
13670: PPUSH
13671: CALL_OW 292
13675: OR
13676: IFFALSE 13910
13678: GO 13680
13680: DISABLE
13681: LD_INT 0
13683: PPUSH
// begin tmp = filterunitsinarea ( ambase , [ [ f_side , am ] , [ f_type , unit_human ] ] ) diff john ;
13684: LD_ADDR_VAR 0 1
13688: PUSH
13689: LD_INT 11
13691: PPUSH
13692: LD_INT 22
13694: PUSH
13695: LD_EXP 2
13699: PUSH
13700: EMPTY
13701: LIST
13702: LIST
13703: PUSH
13704: LD_INT 21
13706: PUSH
13707: LD_INT 1
13709: PUSH
13710: EMPTY
13711: LIST
13712: LIST
13713: PUSH
13714: EMPTY
13715: LIST
13716: LIST
13717: PPUSH
13718: CALL_OW 70
13722: PUSH
13723: LD_EXP 173
13727: DIFF
13728: ST_TO_ADDR
// if not tmp then
13729: LD_VAR 0 1
13733: NOT
13734: IFFALSE 13778
// tmp = filterallunits ( [ [ f_side , am ] , [ f_type , unit_human ] ] ) diff john ;
13736: LD_ADDR_VAR 0 1
13740: PUSH
13741: LD_INT 22
13743: PUSH
13744: LD_EXP 2
13748: PUSH
13749: EMPTY
13750: LIST
13751: LIST
13752: PUSH
13753: LD_INT 21
13755: PUSH
13756: LD_INT 1
13758: PUSH
13759: EMPTY
13760: LIST
13761: LIST
13762: PUSH
13763: EMPTY
13764: LIST
13765: LIST
13766: PPUSH
13767: CALL_OW 69
13771: PUSH
13772: LD_EXP 173
13776: DIFF
13777: ST_TO_ADDR
// dialogueon ;
13778: CALL_OW 6
// if tmp then
13782: LD_VAR 0 1
13786: IFFALSE 13869
// begin if getsex ( tmp [ 1 ] ) = sex_female then
13788: LD_VAR 0 1
13792: PUSH
13793: LD_INT 1
13795: ARRAY
13796: PPUSH
13797: CALL_OW 258
13801: PUSH
13802: LD_INT 2
13804: EQUAL
13805: IFFALSE 13825
// say ( tmp [ 1 ] , DT1-FSol1-1 ) else
13807: LD_VAR 0 1
13811: PUSH
13812: LD_INT 1
13814: ARRAY
13815: PPUSH
13816: LD_STRING DT1-FSol1-1
13818: PPUSH
13819: CALL_OW 88
13823: GO 13841
// say ( tmp [ 1 ] , DT1-Sol1-1 ) ;
13825: LD_VAR 0 1
13829: PUSH
13830: LD_INT 1
13832: ARRAY
13833: PPUSH
13834: LD_STRING DT1-Sol1-1
13836: PPUSH
13837: CALL_OW 88
// say ( john , DT1-JMM-1 ) ;
13841: LD_EXP 173
13845: PPUSH
13846: LD_STRING DT1-JMM-1
13848: PPUSH
13849: CALL_OW 88
// trupka = tmp [ 1 ] ;
13853: LD_ADDR_LOC 10
13857: PUSH
13858: LD_VAR 0 1
13862: PUSH
13863: LD_INT 1
13865: ARRAY
13866: ST_TO_ADDR
// end else
13867: GO 13903
// begin say ( john , DT1-Sol1-1 ) ;
13869: LD_EXP 173
13873: PPUSH
13874: LD_STRING DT1-Sol1-1
13876: PPUSH
13877: CALL_OW 88
// say ( john , DT1-JMM-1 ) ;
13881: LD_EXP 173
13885: PPUSH
13886: LD_STRING DT1-JMM-1
13888: PPUSH
13889: CALL_OW 88
// trupka = john ;
13893: LD_ADDR_LOC 10
13897: PUSH
13898: LD_EXP 173
13902: ST_TO_ADDR
// end ; dialogueoff ;
13903: CALL_OW 7
// enable ( 12 ) ;
13907: LD_INT 12
13909: ENABLE_MARKED
// end ;
13910: PPOPN 1
13912: END
// every 0 0$0.4 trigger ( not isok ( telep [ 1 ] ) ) and ( not isok ( telep [ 2 ] ) ) and ( not isok ( telep [ 3 ] ) ) marked 12 do
13913: LD_LOC 9
13917: PUSH
13918: LD_INT 1
13920: ARRAY
13921: PPUSH
13922: CALL_OW 302
13926: NOT
13927: PUSH
13928: LD_LOC 9
13932: PUSH
13933: LD_INT 2
13935: ARRAY
13936: PPUSH
13937: CALL_OW 302
13941: NOT
13942: AND
13943: PUSH
13944: LD_LOC 9
13948: PUSH
13949: LD_INT 3
13951: ARRAY
13952: PPUSH
13953: CALL_OW 302
13957: NOT
13958: AND
13959: IFFALSE 14044
13961: GO 13963
13963: DISABLE
// begin dialogueon ;
13964: CALL_OW 6
// dwait ( 0 0$2 ) ;
13968: LD_INT 70
13970: PPUSH
13971: CALL_OW 68
// say ( john , DT1a-JMM-1 ) ;
13975: LD_EXP 173
13979: PPUSH
13980: LD_STRING DT1a-JMM-1
13982: PPUSH
13983: CALL_OW 88
// if getsex ( trupka ) = sex_male then
13987: LD_LOC 10
13991: PPUSH
13992: CALL_OW 258
13996: PUSH
13997: LD_INT 1
13999: EQUAL
14000: IFFALSE 14016
// say ( trupka , DT1a-Sol1-1 ) else
14002: LD_LOC 10
14006: PPUSH
14007: LD_STRING DT1a-Sol1-1
14009: PPUSH
14010: CALL_OW 88
14014: GO 14028
// say ( trupka , DT1a-FSol1-1 ) ;
14016: LD_LOC 10
14020: PPUSH
14021: LD_STRING DT1a-FSol1-1
14023: PPUSH
14024: CALL_OW 88
// say ( john , DT1a-JMM-2 ) ;
14028: LD_EXP 173
14032: PPUSH
14033: LD_STRING DT1a-JMM-2
14035: PPUSH
14036: CALL_OW 88
// dialogueoff ;
14040: CALL_OW 7
// end ;
14044: END
// every 9 9$30 do
14045: GO 14047
14047: DISABLE
// begin telep = [ ] ;
14048: LD_ADDR_LOC 9
14052: PUSH
14053: EMPTY
14054: ST_TO_ADDR
// telepattno = 2 ;
14055: LD_ADDR_LOC 12
14059: PUSH
14060: LD_INT 2
14062: ST_TO_ADDR
// comconstruct ( ru_fact , t2_1_ch , engine_siberite , control_computer , t2_1_wp ) ;
14063: LD_INT 21
14065: PPUSH
14066: LD_EXP 111
14070: PPUSH
14071: LD_INT 3
14073: PPUSH
14074: LD_INT 3
14076: PPUSH
14077: LD_EXP 112
14081: PPUSH
14082: CALL_OW 125
// addcomconstruct ( ru_fact , t2_2_ch , engine_siberite , control_computer , t2_2_wp ) ;
14086: LD_INT 21
14088: PPUSH
14089: LD_EXP 113
14093: PPUSH
14094: LD_INT 3
14096: PPUSH
14097: LD_INT 3
14099: PPUSH
14100: LD_EXP 114
14104: PPUSH
14105: CALL_OW 185
// addcomconstruct ( ru_fact , t2_3_ch , engine_siberite , control_computer , t2_3_wp ) ;
14109: LD_INT 21
14111: PPUSH
14112: LD_EXP 115
14116: PPUSH
14117: LD_INT 3
14119: PPUSH
14120: LD_INT 3
14122: PPUSH
14123: LD_EXP 116
14127: PPUSH
14128: CALL_OW 185
// end ;
14132: 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 ;
14133: LD_EXP 2
14137: PPUSH
14138: LD_LOC 9
14142: PUSH
14143: LD_INT 1
14145: ARRAY
14146: PPUSH
14147: CALL_OW 292
14151: PUSH
14152: LD_EXP 2
14156: PPUSH
14157: LD_LOC 9
14161: PUSH
14162: LD_INT 2
14164: ARRAY
14165: PPUSH
14166: CALL_OW 292
14170: OR
14171: PUSH
14172: LD_EXP 2
14176: PPUSH
14177: LD_LOC 9
14181: PUSH
14182: LD_INT 3
14184: ARRAY
14185: PPUSH
14186: CALL_OW 292
14190: OR
14191: IFFALSE 14401
14193: GO 14195
14195: DISABLE
14196: LD_INT 0
14198: PPUSH
// begin tmp = filterunitsinarea ( ambase , [ [ f_side , am ] , [ f_type , unit_human ] ] ) diff john ;
14199: LD_ADDR_VAR 0 1
14203: PUSH
14204: LD_INT 11
14206: PPUSH
14207: LD_INT 22
14209: PUSH
14210: LD_EXP 2
14214: PUSH
14215: EMPTY
14216: LIST
14217: LIST
14218: PUSH
14219: LD_INT 21
14221: PUSH
14222: LD_INT 1
14224: PUSH
14225: EMPTY
14226: LIST
14227: LIST
14228: PUSH
14229: EMPTY
14230: LIST
14231: LIST
14232: PPUSH
14233: CALL_OW 70
14237: PUSH
14238: LD_EXP 173
14242: DIFF
14243: ST_TO_ADDR
// if not tmp then
14244: LD_VAR 0 1
14248: NOT
14249: IFFALSE 14293
// tmp = filterallunits ( [ [ f_side , am ] , [ f_type , unit_human ] ] ) diff john ;
14251: LD_ADDR_VAR 0 1
14255: PUSH
14256: LD_INT 22
14258: PUSH
14259: LD_EXP 2
14263: PUSH
14264: EMPTY
14265: LIST
14266: LIST
14267: PUSH
14268: LD_INT 21
14270: PUSH
14271: LD_INT 1
14273: PUSH
14274: EMPTY
14275: LIST
14276: LIST
14277: PUSH
14278: EMPTY
14279: LIST
14280: LIST
14281: PPUSH
14282: CALL_OW 69
14286: PUSH
14287: LD_EXP 173
14291: DIFF
14292: ST_TO_ADDR
// dialogueon ;
14293: CALL_OW 6
// if tmp then
14297: LD_VAR 0 1
14301: IFFALSE 14372
// begin if getsex ( tmp [ 1 ] ) = sex_female then
14303: LD_VAR 0 1
14307: PUSH
14308: LD_INT 1
14310: ARRAY
14311: PPUSH
14312: CALL_OW 258
14316: PUSH
14317: LD_INT 2
14319: EQUAL
14320: IFFALSE 14340
// say ( tmp [ 1 ] , DT2-FSol1-1 ) else
14322: LD_VAR 0 1
14326: PUSH
14327: LD_INT 1
14329: ARRAY
14330: PPUSH
14331: LD_STRING DT2-FSol1-1
14333: PPUSH
14334: CALL_OW 88
14338: GO 14356
// say ( tmp [ 1 ] , DT2-Sol1-1 ) ;
14340: LD_VAR 0 1
14344: PUSH
14345: LD_INT 1
14347: ARRAY
14348: PPUSH
14349: LD_STRING DT2-Sol1-1
14351: PPUSH
14352: CALL_OW 88
// trupka = tmp [ 1 ] ;
14356: LD_ADDR_LOC 10
14360: PUSH
14361: LD_VAR 0 1
14365: PUSH
14366: LD_INT 1
14368: ARRAY
14369: ST_TO_ADDR
// end else
14370: GO 14394
// begin say ( john , DT2-Sol1-1 ) ;
14372: LD_EXP 173
14376: PPUSH
14377: LD_STRING DT2-Sol1-1
14379: PPUSH
14380: CALL_OW 88
// trupka = john ;
14384: LD_ADDR_LOC 10
14388: PUSH
14389: LD_EXP 173
14393: ST_TO_ADDR
// end ; dialogueoff ;
14394: CALL_OW 7
// enable ( 14 ) ;
14398: LD_INT 14
14400: ENABLE_MARKED
// end ;
14401: PPOPN 1
14403: END
// every 0 0$0.4 trigger ( not isok ( telep [ 1 ] ) ) and ( not isok ( telep [ 2 ] ) ) and ( not isok ( telep [ 3 ] ) ) marked 14 do
14404: LD_LOC 9
14408: PUSH
14409: LD_INT 1
14411: ARRAY
14412: PPUSH
14413: CALL_OW 302
14417: NOT
14418: PUSH
14419: LD_LOC 9
14423: PUSH
14424: LD_INT 2
14426: ARRAY
14427: PPUSH
14428: CALL_OW 302
14432: NOT
14433: AND
14434: PUSH
14435: LD_LOC 9
14439: PUSH
14440: LD_INT 3
14442: ARRAY
14443: PPUSH
14444: CALL_OW 302
14448: NOT
14449: AND
14450: IFFALSE 14546
14452: GO 14454
14454: DISABLE
// begin dialogueon ;
14455: CALL_OW 6
// dwait ( 0 0$2 ) ;
14459: LD_INT 70
14461: PPUSH
14462: CALL_OW 68
// say ( john , DT2a-JMM-1 ) ;
14466: LD_EXP 173
14470: PPUSH
14471: LD_STRING DT2a-JMM-1
14473: PPUSH
14474: CALL_OW 88
// if getsex ( trupka ) = sex_male then
14478: LD_LOC 10
14482: PPUSH
14483: CALL_OW 258
14487: PUSH
14488: LD_INT 1
14490: EQUAL
14491: IFFALSE 14507
// say ( trupka , DT2a-Sol1-1 ) else
14493: LD_LOC 10
14497: PPUSH
14498: LD_STRING DT2a-Sol1-1
14500: PPUSH
14501: CALL_OW 88
14505: GO 14519
// say ( trupka , DT2a-FSol1-1 ) ;
14507: LD_LOC 10
14511: PPUSH
14512: LD_STRING DT2a-FSol1-1
14514: PPUSH
14515: CALL_OW 88
// if isok ( lucy ) then
14519: LD_EXP 175
14523: PPUSH
14524: CALL_OW 302
14528: IFFALSE 14542
// say ( lucy , DT2a-Don-1 ) ;
14530: LD_EXP 175
14534: PPUSH
14535: LD_STRING DT2a-Don-1
14537: PPUSH
14538: CALL_OW 88
// dialogueoff ;
14542: CALL_OW 7
// end ;
14546: END
// every 14 14$00 do var rmw , rhw , rmt , rht , rgg , r_g , rhg , rrl , r_r ;
14547: GO 14549
14549: DISABLE
14550: LD_INT 0
14552: PPUSH
14553: PPUSH
14554: PPUSH
14555: PPUSH
14556: PPUSH
14557: PPUSH
14558: PPUSH
14559: PPUSH
14560: PPUSH
// begin settech ( tech_comp3 , rus , state_researched ) ;
14561: LD_INT 59
14563: PPUSH
14564: LD_EXP 1
14568: PPUSH
14569: LD_INT 2
14571: PPUSH
14572: CALL_OW 322
// telep = [ ] ;
14576: LD_ADDR_LOC 9
14580: PUSH
14581: EMPTY
14582: ST_TO_ADDR
// telepattno = 3 ;
14583: LD_ADDR_LOC 12
14587: PUSH
14588: LD_INT 3
14590: ST_TO_ADDR
// fourthplus = 0 ;
14591: LD_ADDR_LOC 13
14595: PUSH
14596: LD_INT 0
14598: ST_TO_ADDR
// comconstruct ( ru_fact , t3_1_ch , engine_siberite , control_computer , t3_1_wp ) ;
14599: LD_INT 21
14601: PPUSH
14602: LD_EXP 117
14606: PPUSH
14607: LD_INT 3
14609: PPUSH
14610: LD_INT 3
14612: PPUSH
14613: LD_EXP 118
14617: PPUSH
14618: CALL_OW 125
// addcomconstruct ( ru_fact , t3_2_ch , engine_siberite , control_computer , t3_2_wp ) ;
14622: LD_INT 21
14624: PPUSH
14625: LD_EXP 119
14629: PPUSH
14630: LD_INT 3
14632: PPUSH
14633: LD_INT 3
14635: PPUSH
14636: LD_EXP 120
14640: PPUSH
14641: CALL_OW 185
// addcomconstruct ( ru_fact , t3_3_ch , engine_siberite , control_computer , t3_3_wp ) ;
14645: LD_INT 21
14647: PPUSH
14648: LD_EXP 121
14652: PPUSH
14653: LD_INT 3
14655: PPUSH
14656: LD_INT 3
14658: PPUSH
14659: LD_EXP 122
14663: PPUSH
14664: CALL_OW 185
// rmw = ru_medium_wheeled ;
14668: LD_ADDR_VAR 0 1
14672: PUSH
14673: LD_INT 21
14675: ST_TO_ADDR
// rhw = ru_heavy_wheeled ;
14676: LD_ADDR_VAR 0 2
14680: PUSH
14681: LD_INT 23
14683: ST_TO_ADDR
// rmt = ru_medium_tracked ;
14684: LD_ADDR_VAR 0 3
14688: PUSH
14689: LD_INT 22
14691: ST_TO_ADDR
// rht = ru_heavy_tracked ;
14692: LD_ADDR_VAR 0 4
14696: PUSH
14697: LD_INT 24
14699: ST_TO_ADDR
// rgg = ru_gatling_gun ;
14700: LD_ADDR_VAR 0 5
14704: PUSH
14705: LD_INT 43
14707: ST_TO_ADDR
// r_g = ru_gun ;
14708: LD_ADDR_VAR 0 6
14712: PUSH
14713: LD_INT 44
14715: ST_TO_ADDR
// rhg = ru_heavy_gun ;
14716: LD_ADDR_VAR 0 7
14720: PUSH
14721: LD_INT 46
14723: ST_TO_ADDR
// rrl = ru_rocket_launcher ;
14724: LD_ADDR_VAR 0 8
14728: PUSH
14729: LD_INT 45
14731: ST_TO_ADDR
// r_r = ru_rocket ;
14732: LD_ADDR_VAR 0 9
14736: PUSH
14737: LD_INT 47
14739: 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 ] ;
14740: LD_ADDR_LOC 14
14744: PUSH
14745: LD_VAR 0 1
14749: PUSH
14750: LD_VAR 0 1
14754: PUSH
14755: LD_VAR 0 1
14759: PUSH
14760: EMPTY
14761: LIST
14762: LIST
14763: LIST
14764: PUSH
14765: LD_VAR 0 1
14769: PUSH
14770: LD_VAR 0 2
14774: PUSH
14775: LD_VAR 0 1
14779: PUSH
14780: EMPTY
14781: LIST
14782: LIST
14783: LIST
14784: PUSH
14785: LD_VAR 0 1
14789: PUSH
14790: LD_VAR 0 2
14794: PUSH
14795: LD_VAR 0 1
14799: PUSH
14800: EMPTY
14801: LIST
14802: LIST
14803: LIST
14804: PUSH
14805: EMPTY
14806: LIST
14807: LIST
14808: LIST
14809: PUSH
14810: LD_VAR 0 3
14814: PUSH
14815: LD_VAR 0 2
14819: PUSH
14820: LD_VAR 0 1
14824: PUSH
14825: EMPTY
14826: LIST
14827: LIST
14828: LIST
14829: PUSH
14830: LD_VAR 0 1
14834: PUSH
14835: LD_VAR 0 4
14839: PUSH
14840: LD_VAR 0 1
14844: PUSH
14845: EMPTY
14846: LIST
14847: LIST
14848: LIST
14849: PUSH
14850: LD_VAR 0 4
14854: PUSH
14855: LD_VAR 0 2
14859: PUSH
14860: LD_VAR 0 3
14864: PUSH
14865: EMPTY
14866: LIST
14867: LIST
14868: LIST
14869: PUSH
14870: EMPTY
14871: LIST
14872: LIST
14873: LIST
14874: PUSH
14875: LD_VAR 0 3
14879: PUSH
14880: LD_VAR 0 2
14884: PUSH
14885: LD_VAR 0 3
14889: PUSH
14890: EMPTY
14891: LIST
14892: LIST
14893: LIST
14894: PUSH
14895: LD_VAR 0 3
14899: PUSH
14900: LD_VAR 0 4
14904: PUSH
14905: LD_VAR 0 3
14909: PUSH
14910: EMPTY
14911: LIST
14912: LIST
14913: LIST
14914: PUSH
14915: LD_VAR 0 4
14919: PUSH
14920: LD_VAR 0 4
14924: PUSH
14925: LD_VAR 0 4
14929: PUSH
14930: EMPTY
14931: LIST
14932: LIST
14933: LIST
14934: PUSH
14935: EMPTY
14936: LIST
14937: LIST
14938: LIST
14939: PUSH
14940: EMPTY
14941: LIST
14942: LIST
14943: LIST
14944: PUSH
14945: LD_OWVAR 67
14949: ARRAY
14950: 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 ] ;
14951: LD_ADDR_LOC 15
14955: PUSH
14956: LD_VAR 0 5
14960: PUSH
14961: LD_VAR 0 6
14965: PUSH
14966: LD_VAR 0 5
14970: PUSH
14971: EMPTY
14972: LIST
14973: LIST
14974: LIST
14975: PUSH
14976: LD_VAR 0 5
14980: PUSH
14981: LD_VAR 0 7
14985: PUSH
14986: LD_VAR 0 5
14990: PUSH
14991: EMPTY
14992: LIST
14993: LIST
14994: LIST
14995: PUSH
14996: LD_VAR 0 5
15000: PUSH
15001: LD_VAR 0 7
15005: PUSH
15006: LD_VAR 0 6
15010: PUSH
15011: EMPTY
15012: LIST
15013: LIST
15014: LIST
15015: PUSH
15016: EMPTY
15017: LIST
15018: LIST
15019: LIST
15020: PUSH
15021: LD_VAR 0 5
15025: PUSH
15026: LD_VAR 0 7
15030: PUSH
15031: LD_VAR 0 6
15035: PUSH
15036: EMPTY
15037: LIST
15038: LIST
15039: LIST
15040: PUSH
15041: LD_VAR 0 5
15045: PUSH
15046: LD_VAR 0 7
15050: PUSH
15051: LD_VAR 0 8
15055: PUSH
15056: EMPTY
15057: LIST
15058: LIST
15059: LIST
15060: PUSH
15061: LD_VAR 0 7
15065: PUSH
15066: LD_VAR 0 9
15070: PUSH
15071: LD_VAR 0 6
15075: PUSH
15076: EMPTY
15077: LIST
15078: LIST
15079: LIST
15080: PUSH
15081: EMPTY
15082: LIST
15083: LIST
15084: LIST
15085: PUSH
15086: LD_VAR 0 6
15090: PUSH
15091: LD_VAR 0 7
15095: PUSH
15096: LD_VAR 0 6
15100: PUSH
15101: EMPTY
15102: LIST
15103: LIST
15104: LIST
15105: PUSH
15106: LD_VAR 0 6
15110: PUSH
15111: LD_VAR 0 9
15115: PUSH
15116: LD_VAR 0 6
15120: PUSH
15121: EMPTY
15122: LIST
15123: LIST
15124: LIST
15125: PUSH
15126: LD_VAR 0 9
15130: PUSH
15131: LD_VAR 0 7
15135: PUSH
15136: LD_VAR 0 7
15140: PUSH
15141: EMPTY
15142: LIST
15143: LIST
15144: LIST
15145: PUSH
15146: EMPTY
15147: LIST
15148: LIST
15149: LIST
15150: PUSH
15151: EMPTY
15152: LIST
15153: LIST
15154: LIST
15155: PUSH
15156: LD_OWVAR 67
15160: ARRAY
15161: ST_TO_ADDR
// end ;
15162: PPOPN 9
15164: END
// var fourthplus , chs , wps ; every 1 1$0 + 15 15$0 do var ch , wp , tmp , tmp1 , tmp2 ;
15165: GO 15167
15167: DISABLE
15168: LD_INT 0
15170: PPUSH
15171: PPUSH
15172: PPUSH
15173: PPUSH
15174: PPUSH
// begin fourthplus = fourthplus + 1 ;
15175: LD_ADDR_LOC 13
15179: PUSH
15180: LD_LOC 13
15184: PUSH
15185: LD_INT 1
15187: PLUS
15188: ST_TO_ADDR
// ch = 0 ;
15189: LD_ADDR_VAR 0 1
15193: PUSH
15194: LD_INT 0
15196: ST_TO_ADDR
// case fourthplus of 1 .. rta [ 1 ] :
15197: LD_LOC 13
15201: PUSH
15202: LD_INT 1
15204: DOUBLE
15205: GREATEREQUAL
15206: IFFALSE 15220
15208: LD_EXP 147
15212: PUSH
15213: LD_INT 1
15215: ARRAY
15216: DOUBLE
15217: LESSEQUAL
15218: IFTRUE 15222
15220: GO 15291
15222: POP
// if not ( fourthplus mod rta [ 3 ] ) then
15223: LD_LOC 13
15227: PUSH
15228: LD_EXP 147
15232: PUSH
15233: LD_INT 3
15235: ARRAY
15236: MOD
15237: NOT
15238: IFFALSE 15289
// begin telep = [ ] ;
15240: LD_ADDR_LOC 9
15244: PUSH
15245: EMPTY
15246: ST_TO_ADDR
// telepattno = telepattno + 1 ;
15247: LD_ADDR_LOC 12
15251: PUSH
15252: LD_LOC 12
15256: PUSH
15257: LD_INT 1
15259: PLUS
15260: ST_TO_ADDR
// ch = chs [ 1 ] ;
15261: LD_ADDR_VAR 0 1
15265: PUSH
15266: LD_LOC 14
15270: PUSH
15271: LD_INT 1
15273: ARRAY
15274: ST_TO_ADDR
// wp = wps [ 1 ] ;
15275: LD_ADDR_VAR 0 2
15279: PUSH
15280: LD_LOC 15
15284: PUSH
15285: LD_INT 1
15287: ARRAY
15288: ST_TO_ADDR
// end ; ( rta [ 1 ] + 1 ) .. rta [ 2 ] :
15289: GO 15477
15291: LD_EXP 147
15295: PUSH
15296: LD_INT 1
15298: ARRAY
15299: PUSH
15300: LD_INT 1
15302: PLUS
15303: DOUBLE
15304: GREATEREQUAL
15305: IFFALSE 15319
15307: LD_EXP 147
15311: PUSH
15312: LD_INT 2
15314: ARRAY
15315: DOUBLE
15316: LESSEQUAL
15317: IFTRUE 15321
15319: GO 15400
15321: POP
// if not ( ( fourthplus - rta [ 1 ] ) mod rta [ 4 ] ) then
15322: LD_LOC 13
15326: PUSH
15327: LD_EXP 147
15331: PUSH
15332: LD_INT 1
15334: ARRAY
15335: MINUS
15336: PUSH
15337: LD_EXP 147
15341: PUSH
15342: LD_INT 4
15344: ARRAY
15345: MOD
15346: NOT
15347: IFFALSE 15398
// begin telep = [ ] ;
15349: LD_ADDR_LOC 9
15353: PUSH
15354: EMPTY
15355: ST_TO_ADDR
// telepattno = telepattno + 1 ;
15356: LD_ADDR_LOC 12
15360: PUSH
15361: LD_LOC 12
15365: PUSH
15366: LD_INT 1
15368: PLUS
15369: ST_TO_ADDR
// ch = chs [ 2 ] ;
15370: LD_ADDR_VAR 0 1
15374: PUSH
15375: LD_LOC 14
15379: PUSH
15380: LD_INT 2
15382: ARRAY
15383: ST_TO_ADDR
// wp = wps [ 2 ] ;
15384: LD_ADDR_VAR 0 2
15388: PUSH
15389: LD_LOC 15
15393: PUSH
15394: LD_INT 2
15396: ARRAY
15397: ST_TO_ADDR
// end ; else
15398: GO 15477
15400: POP
// if not ( ( fourthplus - rta [ 2 ] ) mod rta [ 5 ] ) then
15401: LD_LOC 13
15405: PUSH
15406: LD_EXP 147
15410: PUSH
15411: LD_INT 2
15413: ARRAY
15414: MINUS
15415: PUSH
15416: LD_EXP 147
15420: PUSH
15421: LD_INT 5
15423: ARRAY
15424: MOD
15425: NOT
15426: IFFALSE 15477
// begin telep = [ ] ;
15428: LD_ADDR_LOC 9
15432: PUSH
15433: EMPTY
15434: ST_TO_ADDR
// telepattno = telepattno + 1 ;
15435: LD_ADDR_LOC 12
15439: PUSH
15440: LD_LOC 12
15444: PUSH
15445: LD_INT 1
15447: PLUS
15448: ST_TO_ADDR
// ch = chs [ 3 ] ;
15449: LD_ADDR_VAR 0 1
15453: PUSH
15454: LD_LOC 14
15458: PUSH
15459: LD_INT 3
15461: ARRAY
15462: ST_TO_ADDR
// wp = wps [ 3 ] ;
15463: LD_ADDR_VAR 0 2
15467: PUSH
15468: LD_LOC 15
15472: PUSH
15473: LD_INT 3
15475: ARRAY
15476: ST_TO_ADDR
// end ; end ; enable ;
15477: ENABLE
// if not ch then
15478: LD_VAR 0 1
15482: NOT
15483: IFFALSE 15487
// exit ;
15485: GO 15814
// tmp = costofvehicle ( ch [ 1 ] , engine_siberite , control_computer , wp [ 1 ] ) ;
15487: LD_ADDR_VAR 0 3
15491: PUSH
15492: LD_VAR 0 1
15496: PUSH
15497: LD_INT 1
15499: ARRAY
15500: PPUSH
15501: LD_INT 3
15503: PPUSH
15504: LD_INT 3
15506: PPUSH
15507: LD_VAR 0 2
15511: PUSH
15512: LD_INT 1
15514: ARRAY
15515: PPUSH
15516: CALL_OW 449
15520: ST_TO_ADDR
// tmp1 = costofvehicle ( ch [ 2 ] , engine_siberite , control_computer , wp [ 2 ] ) ;
15521: LD_ADDR_VAR 0 4
15525: PUSH
15526: LD_VAR 0 1
15530: PUSH
15531: LD_INT 2
15533: ARRAY
15534: PPUSH
15535: LD_INT 3
15537: PPUSH
15538: LD_INT 3
15540: PPUSH
15541: LD_VAR 0 2
15545: PUSH
15546: LD_INT 2
15548: ARRAY
15549: PPUSH
15550: CALL_OW 449
15554: ST_TO_ADDR
// tmp2 = costofvehicle ( ch [ 3 ] , engine_siberite , control_computer , wp [ 3 ] ) ;
15555: LD_ADDR_VAR 0 5
15559: PUSH
15560: LD_VAR 0 1
15564: PUSH
15565: LD_INT 3
15567: ARRAY
15568: PPUSH
15569: LD_INT 3
15571: PPUSH
15572: LD_INT 3
15574: PPUSH
15575: LD_VAR 0 2
15579: PUSH
15580: LD_INT 3
15582: ARRAY
15583: PPUSH
15584: CALL_OW 449
15588: ST_TO_ADDR
// addresourcetype ( getbase ( ru_fact ) , mat_cans , tmp [ 1 ] + tmp1 [ 1 ] + tmp2 [ 1 ] ) ;
15589: LD_INT 21
15591: PPUSH
15592: CALL_OW 274
15596: PPUSH
15597: LD_INT 1
15599: PPUSH
15600: LD_VAR 0 3
15604: PUSH
15605: LD_INT 1
15607: ARRAY
15608: PUSH
15609: LD_VAR 0 4
15613: PUSH
15614: LD_INT 1
15616: ARRAY
15617: PLUS
15618: PUSH
15619: LD_VAR 0 5
15623: PUSH
15624: LD_INT 1
15626: ARRAY
15627: PLUS
15628: PPUSH
15629: CALL_OW 276
// addresourcetype ( getbase ( ru_fact ) , mat_oil , tmp [ 2 ] + tmp1 [ 2 ] + tmp2 [ 2 ] ) ;
15633: LD_INT 21
15635: PPUSH
15636: CALL_OW 274
15640: PPUSH
15641: LD_INT 2
15643: PPUSH
15644: LD_VAR 0 3
15648: PUSH
15649: LD_INT 2
15651: ARRAY
15652: PUSH
15653: LD_VAR 0 4
15657: PUSH
15658: LD_INT 2
15660: ARRAY
15661: PLUS
15662: PUSH
15663: LD_VAR 0 5
15667: PUSH
15668: LD_INT 2
15670: ARRAY
15671: PLUS
15672: PPUSH
15673: CALL_OW 276
// addresourcetype ( getbase ( ru_fact ) , mat_siberit , tmp [ 3 ] + tmp1 [ 3 ] + tmp2 [ 3 ] ) ;
15677: LD_INT 21
15679: PPUSH
15680: CALL_OW 274
15684: PPUSH
15685: LD_INT 3
15687: PPUSH
15688: LD_VAR 0 3
15692: PUSH
15693: LD_INT 3
15695: ARRAY
15696: PUSH
15697: LD_VAR 0 4
15701: PUSH
15702: LD_INT 3
15704: ARRAY
15705: PLUS
15706: PUSH
15707: LD_VAR 0 5
15711: PUSH
15712: LD_INT 3
15714: ARRAY
15715: PLUS
15716: PPUSH
15717: CALL_OW 276
// comconstruct ( ru_fact , ch [ 1 ] , engine_siberite , control_computer , wp [ 1 ] ) ;
15721: LD_INT 21
15723: PPUSH
15724: LD_VAR 0 1
15728: PUSH
15729: LD_INT 1
15731: ARRAY
15732: PPUSH
15733: LD_INT 3
15735: PPUSH
15736: LD_INT 3
15738: PPUSH
15739: LD_VAR 0 2
15743: PUSH
15744: LD_INT 1
15746: ARRAY
15747: PPUSH
15748: CALL_OW 125
// addcomconstruct ( ru_fact , ch [ 2 ] , engine_siberite , control_computer , wp [ 2 ] ) ;
15752: LD_INT 21
15754: PPUSH
15755: LD_VAR 0 1
15759: PUSH
15760: LD_INT 2
15762: ARRAY
15763: PPUSH
15764: LD_INT 3
15766: PPUSH
15767: LD_INT 3
15769: PPUSH
15770: LD_VAR 0 2
15774: PUSH
15775: LD_INT 2
15777: ARRAY
15778: PPUSH
15779: CALL_OW 185
// addcomconstruct ( ru_fact , ch [ 3 ] , engine_siberite , control_computer , wp [ 3 ] ) ;
15783: LD_INT 21
15785: PPUSH
15786: LD_VAR 0 1
15790: PUSH
15791: LD_INT 3
15793: ARRAY
15794: PPUSH
15795: LD_INT 3
15797: PPUSH
15798: LD_INT 3
15800: PPUSH
15801: LD_VAR 0 2
15805: PUSH
15806: LD_INT 3
15808: ARRAY
15809: PPUSH
15810: CALL_OW 185
// end ;
15814: PPOPN 5
15816: END
// every 0 0$0.3 trigger see ( am , ruteleprt ) do var tmp , tmq , tmr ;
15817: LD_EXP 2
15821: PPUSH
15822: LD_INT 10
15824: PPUSH
15825: CALL_OW 292
15829: IFFALSE 16044
15831: GO 15833
15833: DISABLE
15834: LD_INT 0
15836: PPUSH
15837: PPUSH
15838: PPUSH
// begin telepmed = 1 ;
15839: LD_ADDR_EXP 124
15843: PUSH
15844: LD_INT 1
15846: ST_TO_ADDR
// tmp = filterallunits ( [ [ f_side , am ] , [ f_type , unit_human ] , [ f_placed ] ] ) diff john ;
15847: LD_ADDR_VAR 0 1
15851: PUSH
15852: LD_INT 22
15854: PUSH
15855: LD_EXP 2
15859: PUSH
15860: EMPTY
15861: LIST
15862: LIST
15863: PUSH
15864: LD_INT 21
15866: PUSH
15867: LD_INT 1
15869: PUSH
15870: EMPTY
15871: LIST
15872: LIST
15873: PUSH
15874: LD_INT 52
15876: PUSH
15877: EMPTY
15878: LIST
15879: PUSH
15880: EMPTY
15881: LIST
15882: LIST
15883: LIST
15884: PPUSH
15885: CALL_OW 69
15889: PUSH
15890: LD_EXP 173
15894: DIFF
15895: ST_TO_ADDR
// tmq = [ ] ;
15896: LD_ADDR_VAR 0 2
15900: PUSH
15901: EMPTY
15902: ST_TO_ADDR
// for tmr in tmp do
15903: LD_ADDR_VAR 0 3
15907: PUSH
15908: LD_VAR 0 1
15912: PUSH
15913: FOR_IN
15914: IFFALSE 15945
// tmq = tmq ^ [ getdistunits ( ruteleprt , tmr ) ] ;
15916: LD_ADDR_VAR 0 2
15920: PUSH
15921: LD_VAR 0 2
15925: PUSH
15926: LD_INT 10
15928: PPUSH
15929: LD_VAR 0 3
15933: PPUSH
15934: CALL_OW 296
15938: PUSH
15939: EMPTY
15940: LIST
15941: ADD
15942: ST_TO_ADDR
15943: GO 15913
15945: POP
15946: POP
// tmr = worstfromlistbylist ( tmp , tmq ) ;
15947: LD_ADDR_VAR 0 3
15951: PUSH
15952: LD_VAR 0 1
15956: PPUSH
15957: LD_VAR 0 2
15961: PPUSH
15962: CALL_OW 78
15966: ST_TO_ADDR
// dialogueon ;
15967: CALL_OW 6
// if tmr then
15971: LD_VAR 0 3
15975: IFFALSE 16030
// begin if getsex ( tmr ) = sex_male then
15977: LD_VAR 0 3
15981: PPUSH
15982: CALL_OW 258
15986: PUSH
15987: LD_INT 1
15989: EQUAL
15990: IFFALSE 16006
// say ( tmr , DT3-Sol1-1 ) else
15992: LD_VAR 0 3
15996: PPUSH
15997: LD_STRING DT3-Sol1-1
15999: PPUSH
16000: CALL_OW 88
16004: GO 16018
// say ( tmr , DT3-FSol1-1 ) ;
16006: LD_VAR 0 3
16010: PPUSH
16011: LD_STRING DT3-FSol1-1
16013: PPUSH
16014: CALL_OW 88
// say ( john , DT3-JMM-1 ) ;
16018: LD_EXP 173
16022: PPUSH
16023: LD_STRING DT3-JMM-1
16025: PPUSH
16026: CALL_OW 88
// end ; changemissionobjectives ( M2 ) ;
16030: LD_STRING M2
16032: PPUSH
16033: CALL_OW 337
// dialogueoff ;
16037: CALL_OW 7
// enable ( 15 ) ;
16041: LD_INT 15
16043: ENABLE_MARKED
// end ;
16044: PPOPN 3
16046: END
// on unitteleported ( tel , un ) marked 15 do var tmp , tmq , tmr ;
16047: LD_INT 0
16049: PPUSH
16050: PPUSH
16051: PPUSH
// if tel = ruteleprt and getside ( un ) = am then
16052: LD_VAR 0 1
16056: PUSH
16057: LD_INT 10
16059: EQUAL
16060: PUSH
16061: LD_VAR 0 2
16065: PPUSH
16066: CALL_OW 255
16070: PUSH
16071: LD_EXP 2
16075: EQUAL
16076: AND
16077: IFFALSE 16320
// begin wait ( 0 0$1 ) ;
16079: LD_INT 35
16081: PPUSH
16082: CALL_OW 67
// telepmed = 2 ;
16086: LD_ADDR_EXP 124
16090: PUSH
16091: LD_INT 2
16093: ST_TO_ADDR
// tmp = filterallunits ( [ [ f_side , am ] , [ f_type , unit_human ] , [ f_placed ] ] ) ;
16094: LD_ADDR_VAR 0 3
16098: PUSH
16099: LD_INT 22
16101: PUSH
16102: LD_EXP 2
16106: PUSH
16107: EMPTY
16108: LIST
16109: LIST
16110: PUSH
16111: LD_INT 21
16113: PUSH
16114: LD_INT 1
16116: PUSH
16117: EMPTY
16118: LIST
16119: LIST
16120: PUSH
16121: LD_INT 52
16123: PUSH
16124: EMPTY
16125: LIST
16126: PUSH
16127: EMPTY
16128: LIST
16129: LIST
16130: LIST
16131: PPUSH
16132: CALL_OW 69
16136: ST_TO_ADDR
// tmq = [ ] ;
16137: LD_ADDR_VAR 0 4
16141: PUSH
16142: EMPTY
16143: ST_TO_ADDR
// for tmr in tmp do
16144: LD_ADDR_VAR 0 5
16148: PUSH
16149: LD_VAR 0 3
16153: PUSH
16154: FOR_IN
16155: IFFALSE 16186
// tmq = tmq ^ [ getdistunits ( ruteleprt , tmr ) ] ;
16157: LD_ADDR_VAR 0 4
16161: PUSH
16162: LD_VAR 0 4
16166: PUSH
16167: LD_INT 10
16169: PPUSH
16170: LD_VAR 0 5
16174: PPUSH
16175: CALL_OW 296
16179: PUSH
16180: EMPTY
16181: LIST
16182: ADD
16183: ST_TO_ADDR
16184: GO 16154
16186: POP
16187: POP
// tmr = worstfromlistbylist ( tmp , tmq ) ;
16188: LD_ADDR_VAR 0 5
16192: PUSH
16193: LD_VAR 0 3
16197: PPUSH
16198: LD_VAR 0 4
16202: PPUSH
16203: CALL_OW 78
16207: ST_TO_ADDR
// dialogueon ;
16208: CALL_OW 6
// if tmp then
16212: LD_VAR 0 3
16216: IFFALSE 16261
// if getsex ( tmr ) = sex_male then
16218: LD_VAR 0 5
16222: PPUSH
16223: CALL_OW 258
16227: PUSH
16228: LD_INT 1
16230: EQUAL
16231: IFFALSE 16247
// say ( tmr , DT3a-Sol1-1 ) else
16233: LD_VAR 0 5
16237: PPUSH
16238: LD_STRING DT3a-Sol1-1
16240: PPUSH
16241: CALL_OW 88
16245: GO 16259
// say ( tmr , DT3a-FSol1-1 ) else
16247: LD_VAR 0 5
16251: PPUSH
16252: LD_STRING DT3a-FSol1-1
16254: PPUSH
16255: CALL_OW 88
16259: GO 16273
// say ( john , DT3a-Sol1-1 ) ;
16261: LD_EXP 173
16265: PPUSH
16266: LD_STRING DT3a-Sol1-1
16268: PPUSH
16269: CALL_OW 88
// say ( john , DT3a-JMM-1 ) ;
16273: LD_EXP 173
16277: PPUSH
16278: LD_STRING DT3a-JMM-1
16280: PPUSH
16281: CALL_OW 88
// centernowonunits ( un ) ;
16285: LD_VAR 0 2
16289: PPUSH
16290: CALL_OW 87
// say ( john , DT3a-JMM-1a ) ;
16294: LD_EXP 173
16298: PPUSH
16299: LD_STRING DT3a-JMM-1a
16301: PPUSH
16302: CALL_OW 88
// dialogueoff ;
16306: CALL_OW 7
// changemissionobjectives ( M2a ) ;
16310: LD_STRING M2a
16312: PPUSH
16313: CALL_OW 337
// disable ( 15 ) ;
16317: LD_INT 15
16319: DISABLE_MARKED
// end ;
16320: PPOPN 5
16322: END
// export ru_scies_ ; every 0 0$0.5 do var tmp , tmq ;
16323: GO 16325
16325: DISABLE
16326: LD_INT 0
16328: PPUSH
16329: PPUSH
// begin tmp = filterunitsinarea ( vedci_zdrhaji , [ [ f_side , rus ] , [ f_type , unit_human ] , [ f_class , class_scientistic ] ] ) ;
16330: LD_ADDR_VAR 0 1
16334: PUSH
16335: LD_INT 14
16337: PPUSH
16338: LD_INT 22
16340: PUSH
16341: LD_EXP 1
16345: PUSH
16346: EMPTY
16347: LIST
16348: LIST
16349: PUSH
16350: LD_INT 21
16352: PUSH
16353: LD_INT 1
16355: PUSH
16356: EMPTY
16357: LIST
16358: LIST
16359: PUSH
16360: LD_INT 25
16362: PUSH
16363: LD_INT 4
16365: PUSH
16366: EMPTY
16367: LIST
16368: LIST
16369: PUSH
16370: EMPTY
16371: LIST
16372: LIST
16373: LIST
16374: PPUSH
16375: CALL_OW 70
16379: ST_TO_ADDR
// if tmp then
16380: LD_VAR 0 1
16384: IFFALSE 16428
// for tmq in tmp do
16386: LD_ADDR_VAR 0 2
16390: PUSH
16391: LD_VAR 0 1
16395: PUSH
16396: FOR_IN
16397: IFFALSE 16426
// if removeunit ( tmq ) then
16399: LD_VAR 0 2
16403: PPUSH
16404: CALL_OW 64
16408: IFFALSE 16424
// ru_scies_ = ru_scies_ + 1 ;
16410: LD_ADDR_EXP 223
16414: PUSH
16415: LD_EXP 223
16419: PUSH
16420: LD_INT 1
16422: PLUS
16423: ST_TO_ADDR
16424: GO 16396
16426: POP
16427: POP
// if ru_scies_ < 5 then
16428: LD_EXP 223
16432: PUSH
16433: LD_INT 5
16435: LESS
16436: IFFALSE 16441
// enable else
16438: ENABLE
16439: GO 16448
// changemissionobjectives ( M1b ) ;
16441: LD_STRING M1b
16443: PPUSH
16444: CALL_OW 337
// end ;
16448: PPOPN 2
16450: END
// every 0 0$1.13 do var tmp , tmq ;
16451: GO 16453
16453: DISABLE
16454: LD_INT 0
16456: PPUSH
16457: PPUSH
// begin tmp = unitfilter ( [ ruso0 , ruso1 , ruso2 ] , [ [ f_ok ] ] ) diff filterunitsinarea ( southdef , [ [ f_side , rus ] , [ f_ok ] ] ) ;
16458: LD_ADDR_VAR 0 1
16462: PUSH
16463: LD_EXP 167
16467: PUSH
16468: LD_EXP 168
16472: PUSH
16473: LD_EXP 169
16477: PUSH
16478: EMPTY
16479: LIST
16480: LIST
16481: LIST
16482: PPUSH
16483: LD_INT 50
16485: PUSH
16486: EMPTY
16487: LIST
16488: PUSH
16489: EMPTY
16490: LIST
16491: PPUSH
16492: CALL_OW 72
16496: PUSH
16497: LD_INT 15
16499: PPUSH
16500: LD_INT 22
16502: PUSH
16503: LD_EXP 1
16507: PUSH
16508: EMPTY
16509: LIST
16510: LIST
16511: PUSH
16512: LD_INT 50
16514: PUSH
16515: EMPTY
16516: LIST
16517: PUSH
16518: EMPTY
16519: LIST
16520: LIST
16521: PPUSH
16522: CALL_OW 70
16526: DIFF
16527: ST_TO_ADDR
// if tmp then
16528: LD_VAR 0 1
16532: IFFALSE 16549
// comagressivemove ( tmp , 95 , 42 ) ;
16534: LD_VAR 0 1
16538: PPUSH
16539: LD_INT 95
16541: PPUSH
16542: LD_INT 42
16544: PPUSH
16545: CALL_OW 114
// enable ;
16549: ENABLE
// end ;
16550: PPOPN 2
16552: END
// every 0 0$1.129 do var tmp , tmq ;
16553: GO 16555
16555: DISABLE
16556: LD_INT 0
16558: PPUSH
16559: PPUSH
// begin if not isinarea ( runo0 , northdefa ) then
16560: LD_EXP 170
16564: PPUSH
16565: LD_INT 16
16567: PPUSH
16568: CALL_OW 308
16572: NOT
16573: IFFALSE 16590
// comagressivemove ( runo0 , 72 , 19 ) ;
16575: LD_EXP 170
16579: PPUSH
16580: LD_INT 72
16582: PPUSH
16583: LD_INT 19
16585: PPUSH
16586: CALL_OW 114
// enable ;
16590: ENABLE
// end ;
16591: PPOPN 2
16593: END
// every 0 0$1.131 do var tmp , tmq ;
16594: GO 16596
16596: DISABLE
16597: LD_INT 0
16599: PPUSH
16600: PPUSH
// begin if not isinarea ( runo1 , northdefb ) then
16601: LD_EXP 171
16605: PPUSH
16606: LD_INT 17
16608: PPUSH
16609: CALL_OW 308
16613: NOT
16614: IFFALSE 16631
// comagressivemove ( runo1 , 71 , 3 ) ;
16616: LD_EXP 171
16620: PPUSH
16621: LD_INT 71
16623: PPUSH
16624: LD_INT 3
16626: PPUSH
16627: CALL_OW 114
// if not isinarea ( runo2 , northdefb ) then
16631: LD_EXP 172
16635: PPUSH
16636: LD_INT 17
16638: PPUSH
16639: CALL_OW 308
16643: NOT
16644: IFFALSE 16661
// comagressivemove ( runo2 , 75 , 9 ) ;
16646: LD_EXP 172
16650: PPUSH
16651: LD_INT 75
16653: PPUSH
16654: LD_INT 9
16656: PPUSH
16657: CALL_OW 114
// enable ;
16661: ENABLE
// end ; end_of_file
16662: PPOPN 2
16664: END
// var am_grupb ; var c11 , c12 , c21 , c22 , c23 , c31 , c32 ; var vyber ; export pr_loz ; every 0 0$1 do var tmp ;
16665: GO 16667
16667: DISABLE
16668: LD_INT 0
16670: PPUSH
// begin if not zapbrod then
16671: LD_EXP 152
16675: NOT
16676: IFFALSE 16692
// zasilka = zasilka - 0 0$1 ;
16678: LD_ADDR_EXP 154
16682: PUSH
16683: LD_EXP 154
16687: PUSH
16688: LD_INT 35
16690: MINUS
16691: ST_TO_ADDR
// if zasilka <= 0 then
16692: LD_EXP 154
16696: PUSH
16697: LD_INT 0
16699: LESSEQUAL
16700: IFFALSE 17143
// begin uc_nation = nation_american ;
16702: LD_ADDR_OWVAR 21
16706: PUSH
16707: LD_INT 1
16709: ST_TO_ADDR
// uc_side = am ;
16710: LD_ADDR_OWVAR 20
16714: PUSH
16715: LD_EXP 2
16719: ST_TO_ADDR
// vc_control = control_manual ;
16720: LD_ADDR_OWVAR 38
16724: PUSH
16725: LD_INT 1
16727: ST_TO_ADDR
// vc_engine = engine_siberite ;
16728: LD_ADDR_OWVAR 39
16732: PUSH
16733: LD_INT 3
16735: ST_TO_ADDR
// vc_chassis = zas1_ch ;
16736: LD_ADDR_OWVAR 37
16740: PUSH
16741: LD_EXP 78
16745: ST_TO_ADDR
// vc_weapon = zas1_wp ;
16746: LD_ADDR_OWVAR 40
16750: PUSH
16751: LD_EXP 79
16755: ST_TO_ADDR
// tmp = createvehicle ;
16756: LD_ADDR_VAR 0 1
16760: PUSH
16761: CALL_OW 45
16765: ST_TO_ADDR
// setdir ( tmp , 4 ) ;
16766: LD_VAR 0 1
16770: PPUSH
16771: LD_INT 4
16773: PPUSH
16774: CALL_OW 233
// placeunitxyr ( tmp , 144 , 100 , 4 , false ) ;
16778: LD_VAR 0 1
16782: PPUSH
16783: LD_INT 144
16785: PPUSH
16786: LD_INT 100
16788: PPUSH
16789: LD_INT 4
16791: PPUSH
16792: LD_INT 0
16794: PPUSH
16795: CALL_OW 50
// placehumaninunit ( mech0 , tmp ) ;
16799: LD_EXP 212
16803: PPUSH
16804: LD_VAR 0 1
16808: PPUSH
16809: CALL_OW 52
// vc_chassis = zas2_ch ;
16813: LD_ADDR_OWVAR 37
16817: PUSH
16818: LD_EXP 80
16822: ST_TO_ADDR
// vc_weapon = zas2_wp ;
16823: LD_ADDR_OWVAR 40
16827: PUSH
16828: LD_EXP 81
16832: ST_TO_ADDR
// tmp = createvehicle ;
16833: LD_ADDR_VAR 0 1
16837: PUSH
16838: CALL_OW 45
16842: ST_TO_ADDR
// setdir ( tmp , 4 ) ;
16843: LD_VAR 0 1
16847: PPUSH
16848: LD_INT 4
16850: PPUSH
16851: CALL_OW 233
// placeunitxyr ( tmp , 144 , 100 , 4 , false ) ;
16855: LD_VAR 0 1
16859: PPUSH
16860: LD_INT 144
16862: PPUSH
16863: LD_INT 100
16865: PPUSH
16866: LD_INT 4
16868: PPUSH
16869: LD_INT 0
16871: PPUSH
16872: CALL_OW 50
// placehumaninunit ( mech1 , tmp ) ;
16876: LD_EXP 213
16880: PPUSH
16881: LD_VAR 0 1
16885: PPUSH
16886: CALL_OW 52
// vc_control = control_computer ;
16890: LD_ADDR_OWVAR 38
16894: PUSH
16895: LD_INT 3
16897: ST_TO_ADDR
// vc_chassis = us_medium_wheeled ;
16898: LD_ADDR_OWVAR 37
16902: PUSH
16903: LD_INT 2
16905: ST_TO_ADDR
// vc_weapon = us_cargo_bay ;
16906: LD_ADDR_OWVAR 40
16910: PUSH
16911: LD_INT 12
16913: ST_TO_ADDR
// c11 = createvehicle ;
16914: LD_ADDR_LOC 17
16918: PUSH
16919: CALL_OW 45
16923: ST_TO_ADDR
// setdir ( c11 , 4 ) ;
16924: LD_LOC 17
16928: PPUSH
16929: LD_INT 4
16931: PPUSH
16932: CALL_OW 233
// setcargo ( c11 , mat_cans , 80 ) ;
16936: LD_LOC 17
16940: PPUSH
16941: LD_INT 1
16943: PPUSH
16944: LD_INT 80
16946: PPUSH
16947: CALL_OW 290
// addcargo ( c11 , mat_siberit , 20 ) ;
16951: LD_LOC 17
16955: PPUSH
16956: LD_INT 3
16958: PPUSH
16959: LD_INT 20
16961: PPUSH
16962: CALL_OW 291
// placeunitxyr ( c11 , 143 , 95 , 5 , false ) ;
16966: LD_LOC 17
16970: PPUSH
16971: LD_INT 143
16973: PPUSH
16974: LD_INT 95
16976: PPUSH
16977: LD_INT 5
16979: PPUSH
16980: LD_INT 0
16982: PPUSH
16983: CALL_OW 50
// c12 = createvehicle ;
16987: LD_ADDR_LOC 18
16991: PUSH
16992: CALL_OW 45
16996: ST_TO_ADDR
// setdir ( c12 , 4 ) ;
16997: LD_LOC 18
17001: PPUSH
17002: LD_INT 4
17004: PPUSH
17005: CALL_OW 233
// setcargo ( c12 , mat_siberit , 100 ) ;
17009: LD_LOC 18
17013: PPUSH
17014: LD_INT 3
17016: PPUSH
17017: LD_INT 100
17019: PPUSH
17020: CALL_OW 290
// placeunitxyr ( c12 , 143 , 95 , 5 , false ) ;
17024: LD_LOC 18
17028: PPUSH
17029: LD_INT 143
17031: PPUSH
17032: LD_INT 95
17034: PPUSH
17035: LD_INT 5
17037: PPUSH
17038: LD_INT 0
17040: PPUSH
17041: CALL_OW 50
// placeunitxyr ( eng0 , 146 , 100 , 3 , false ) ;
17045: LD_EXP 211
17049: PPUSH
17050: LD_INT 146
17052: PPUSH
17053: LD_INT 100
17055: PPUSH
17056: LD_INT 3
17058: PPUSH
17059: LD_INT 0
17061: PPUSH
17062: CALL_OW 50
// placeunitxyr ( sold0 , 146 , 100 , 3 , false ) ;
17066: LD_EXP 215
17070: PPUSH
17071: LD_INT 146
17073: PPUSH
17074: LD_INT 100
17076: PPUSH
17077: LD_INT 3
17079: PPUSH
17080: LD_INT 0
17082: PPUSH
17083: CALL_OW 50
// dialogueon ;
17087: CALL_OW 6
// say ( john , DC1-JMM-1 ) ;
17091: LD_EXP 173
17095: PPUSH
17096: LD_STRING DC1-JMM-1
17098: PPUSH
17099: CALL_OW 88
// sayradio ( powell , DC1-Pow-1 ) ;
17103: LD_EXP 174
17107: PPUSH
17108: LD_STRING DC1-Pow-1
17110: PPUSH
17111: CALL_OW 94
// dialogueoff ;
17115: CALL_OW 7
// zasilka = 4 4$0 ;
17119: LD_ADDR_EXP 154
17123: PUSH
17124: LD_INT 8400
17126: ST_TO_ADDR
// odjet = 2 ;
17127: LD_ADDR_LOC 25
17131: PUSH
17132: LD_INT 2
17134: ST_TO_ADDR
// enable ( 5 ) ;
17135: LD_INT 5
17137: ENABLE_MARKED
// enable ( 6 ) ;
17138: LD_INT 6
17140: ENABLE_MARKED
// end else
17141: GO 17144
// enable ;
17143: ENABLE
// end ;
17144: PPOPN 1
17146: 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 ;
17147: LD_LOC 17
17151: PPUSH
17152: CALL_OW 305
17156: PUSH
17157: LD_LOC 17
17161: PPUSH
17162: LD_INT 1
17164: PPUSH
17165: CALL_OW 289
17169: NOT
17170: AND
17171: PUSH
17172: LD_LOC 17
17176: PPUSH
17177: LD_INT 3
17179: PPUSH
17180: CALL_OW 289
17184: NOT
17185: AND
17186: PUSH
17187: LD_LOC 18
17191: PPUSH
17192: CALL_OW 305
17196: PUSH
17197: LD_LOC 18
17201: PPUSH
17202: LD_INT 3
17204: PPUSH
17205: CALL_OW 289
17209: NOT
17210: AND
17211: OR
17212: IFFALSE 17338
17214: GO 17216
17216: DISABLE
17217: LD_INT 0
17219: PPUSH
// begin if isplaced ( c12 ) and ( not getcargo ( c12 , mat_siberit ) ) then
17220: LD_LOC 18
17224: PPUSH
17225: CALL_OW 305
17229: PUSH
17230: LD_LOC 18
17234: PPUSH
17235: LD_INT 3
17237: PPUSH
17238: CALL_OW 289
17242: NOT
17243: AND
17244: IFFALSE 17266
// begin tmp = c12 ;
17246: LD_ADDR_VAR 0 1
17250: PUSH
17251: LD_LOC 18
17255: ST_TO_ADDR
// c12 = 0 ;
17256: LD_ADDR_LOC 18
17260: PUSH
17261: LD_INT 0
17263: ST_TO_ADDR
// end else
17264: GO 17284
// begin tmp = c11 ;
17266: LD_ADDR_VAR 0 1
17270: PUSH
17271: LD_LOC 17
17275: ST_TO_ADDR
// c11 = 0 ;
17276: LD_ADDR_LOC 17
17280: PUSH
17281: LD_INT 0
17283: ST_TO_ADDR
// end ; setside ( tmp , am_odj ) ;
17284: LD_VAR 0 1
17288: PPUSH
17289: LD_EXP 4
17293: PPUSH
17294: CALL_OW 235
// commovexy ( tmp , 150 , 101 ) ;
17298: LD_VAR 0 1
17302: PPUSH
17303: LD_INT 150
17305: PPUSH
17306: LD_INT 101
17308: PPUSH
17309: CALL_OW 111
// odjet = odjet - 1 ;
17313: LD_ADDR_LOC 25
17317: PUSH
17318: LD_LOC 25
17322: PUSH
17323: LD_INT 1
17325: MINUS
17326: ST_TO_ADDR
// if odjet > 0 then
17327: LD_LOC 25
17331: PUSH
17332: LD_INT 0
17334: GREATER
17335: IFFALSE 17338
// enable ;
17337: ENABLE
// end ;
17338: PPOPN 1
17340: END
// every 0 0$1 marked 6 do var tmp ;
17341: GO 17343
17343: DISABLE
17344: LD_INT 0
17346: PPUSH
// begin zasilka = zasilka - 0 0$1 ;
17347: LD_ADDR_EXP 154
17351: PUSH
17352: LD_EXP 154
17356: PUSH
17357: LD_INT 35
17359: MINUS
17360: ST_TO_ADDR
// if zasilka = 0 then
17361: LD_EXP 154
17365: PUSH
17366: LD_INT 0
17368: EQUAL
17369: IFFALSE 17772
// begin uc_nation = nation_american ;
17371: LD_ADDR_OWVAR 21
17375: PUSH
17376: LD_INT 1
17378: ST_TO_ADDR
// uc_side = am ;
17379: LD_ADDR_OWVAR 20
17383: PUSH
17384: LD_EXP 2
17388: ST_TO_ADDR
// vc_control = control_manual ;
17389: LD_ADDR_OWVAR 38
17393: PUSH
17394: LD_INT 1
17396: ST_TO_ADDR
// vc_engine = engine_siberite ;
17397: LD_ADDR_OWVAR 39
17401: PUSH
17402: LD_INT 3
17404: ST_TO_ADDR
// vc_chassis = zas3_ch ;
17405: LD_ADDR_OWVAR 37
17409: PUSH
17410: LD_EXP 82
17414: ST_TO_ADDR
// vc_weapon = zas3_wp ;
17415: LD_ADDR_OWVAR 40
17419: PUSH
17420: LD_EXP 83
17424: ST_TO_ADDR
// tmp = createvehicle ;
17425: LD_ADDR_VAR 0 1
17429: PUSH
17430: CALL_OW 45
17434: ST_TO_ADDR
// setdir ( tmp , 4 ) ;
17435: LD_VAR 0 1
17439: PPUSH
17440: LD_INT 4
17442: PPUSH
17443: CALL_OW 233
// placeunitxyr ( tmp , 144 , 100 , 4 , false ) ;
17447: LD_VAR 0 1
17451: PPUSH
17452: LD_INT 144
17454: PPUSH
17455: LD_INT 100
17457: PPUSH
17458: LD_INT 4
17460: PPUSH
17461: LD_INT 0
17463: PPUSH
17464: CALL_OW 50
// placehumaninunit ( mech2 , tmp ) ;
17468: LD_EXP 214
17472: PPUSH
17473: LD_VAR 0 1
17477: PPUSH
17478: CALL_OW 52
// vc_control = control_computer ;
17482: LD_ADDR_OWVAR 38
17486: PUSH
17487: LD_INT 3
17489: ST_TO_ADDR
// vc_chassis = us_medium_wheeled ;
17490: LD_ADDR_OWVAR 37
17494: PUSH
17495: LD_INT 2
17497: ST_TO_ADDR
// vc_weapon = us_cargo_bay ;
17498: LD_ADDR_OWVAR 40
17502: PUSH
17503: LD_INT 12
17505: ST_TO_ADDR
// c21 = createvehicle ;
17506: LD_ADDR_LOC 19
17510: PUSH
17511: CALL_OW 45
17515: ST_TO_ADDR
// setdir ( c21 , 4 ) ;
17516: LD_LOC 19
17520: PPUSH
17521: LD_INT 4
17523: PPUSH
17524: CALL_OW 233
// setcargo ( c21 , mat_cans , 100 ) ;
17528: LD_LOC 19
17532: PPUSH
17533: LD_INT 1
17535: PPUSH
17536: LD_INT 100
17538: PPUSH
17539: CALL_OW 290
// placeunitxyr ( c21 , 143 , 95 , 7 , false ) ;
17543: LD_LOC 19
17547: PPUSH
17548: LD_INT 143
17550: PPUSH
17551: LD_INT 95
17553: PPUSH
17554: LD_INT 7
17556: PPUSH
17557: LD_INT 0
17559: PPUSH
17560: CALL_OW 50
// c22 = createvehicle ;
17564: LD_ADDR_LOC 20
17568: PUSH
17569: CALL_OW 45
17573: ST_TO_ADDR
// setdir ( c22 , 4 ) ;
17574: LD_LOC 20
17578: PPUSH
17579: LD_INT 4
17581: PPUSH
17582: CALL_OW 233
// setcargo ( c22 , mat_cans , 100 ) ;
17586: LD_LOC 20
17590: PPUSH
17591: LD_INT 1
17593: PPUSH
17594: LD_INT 100
17596: PPUSH
17597: CALL_OW 290
// placeunitxyr ( c22 , 143 , 95 , 7 , false ) ;
17601: LD_LOC 20
17605: PPUSH
17606: LD_INT 143
17608: PPUSH
17609: LD_INT 95
17611: PPUSH
17612: LD_INT 7
17614: PPUSH
17615: LD_INT 0
17617: PPUSH
17618: CALL_OW 50
// c23 = createvehicle ;
17622: LD_ADDR_LOC 21
17626: PUSH
17627: CALL_OW 45
17631: ST_TO_ADDR
// setdir ( c23 , 4 ) ;
17632: LD_LOC 21
17636: PPUSH
17637: LD_INT 4
17639: PPUSH
17640: CALL_OW 233
// setcargo ( c23 , mat_siberit , 50 ) ;
17644: LD_LOC 21
17648: PPUSH
17649: LD_INT 3
17651: PPUSH
17652: LD_INT 50
17654: PPUSH
17655: CALL_OW 290
// addcargo ( c23 , mat_oil , 50 ) ;
17659: LD_LOC 21
17663: PPUSH
17664: LD_INT 2
17666: PPUSH
17667: LD_INT 50
17669: PPUSH
17670: CALL_OW 291
// placeunitxyr ( c23 , 143 , 95 , 7 , false ) ;
17674: LD_LOC 21
17678: PPUSH
17679: LD_INT 143
17681: PPUSH
17682: LD_INT 95
17684: PPUSH
17685: LD_INT 7
17687: PPUSH
17688: LD_INT 0
17690: PPUSH
17691: CALL_OW 50
// placeunitxyr ( sold1 , 146 , 100 , 3 , false ) ;
17695: LD_EXP 216
17699: PPUSH
17700: LD_INT 146
17702: PPUSH
17703: LD_INT 100
17705: PPUSH
17706: LD_INT 3
17708: PPUSH
17709: LD_INT 0
17711: PPUSH
17712: CALL_OW 50
// dialogueon ;
17716: CALL_OW 6
// say ( john , DC2-JMM-1 ) ;
17720: LD_EXP 173
17724: PPUSH
17725: LD_STRING DC2-JMM-1
17727: PPUSH
17728: CALL_OW 88
// sayradio ( powell , DC2-Pow-1 ) ;
17732: LD_EXP 174
17736: PPUSH
17737: LD_STRING DC2-Pow-1
17739: PPUSH
17740: CALL_OW 94
// dialogueoff ;
17744: CALL_OW 7
// zasilka = 5 5$0 ;
17748: LD_ADDR_EXP 154
17752: PUSH
17753: LD_INT 10500
17755: ST_TO_ADDR
// odjet2 = 3 ;
17756: LD_ADDR_LOC 26
17760: PUSH
17761: LD_INT 3
17763: ST_TO_ADDR
// enable ( 7 ) ;
17764: LD_INT 7
17766: ENABLE_MARKED
// enable ( 8 ) ;
17767: LD_INT 8
17769: ENABLE_MARKED
// end else
17770: GO 17773
// enable ;
17772: ENABLE
// end ;
17773: PPOPN 1
17775: 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 ;
17776: LD_LOC 19
17780: PPUSH
17781: CALL_OW 305
17785: PUSH
17786: LD_LOC 19
17790: PPUSH
17791: LD_INT 1
17793: PPUSH
17794: CALL_OW 289
17798: NOT
17799: AND
17800: PUSH
17801: LD_LOC 20
17805: PPUSH
17806: CALL_OW 305
17810: PUSH
17811: LD_LOC 20
17815: PPUSH
17816: LD_INT 1
17818: PPUSH
17819: CALL_OW 289
17823: NOT
17824: AND
17825: OR
17826: PUSH
17827: LD_LOC 21
17831: PPUSH
17832: CALL_OW 305
17836: PUSH
17837: LD_LOC 21
17841: PPUSH
17842: LD_INT 3
17844: PPUSH
17845: CALL_OW 289
17849: NOT
17850: AND
17851: PUSH
17852: LD_LOC 21
17856: PPUSH
17857: LD_INT 2
17859: PPUSH
17860: CALL_OW 289
17864: NOT
17865: AND
17866: OR
17867: IFFALSE 18039
17869: GO 17871
17871: DISABLE
17872: LD_INT 0
17874: PPUSH
// begin if isplaced ( c21 ) and not getcargo ( c21 , mat_cans ) then
17875: LD_LOC 19
17879: PPUSH
17880: CALL_OW 305
17884: PUSH
17885: LD_LOC 19
17889: PPUSH
17890: LD_INT 1
17892: PPUSH
17893: CALL_OW 289
17897: NOT
17898: AND
17899: IFFALSE 17921
// begin tmp = c21 ;
17901: LD_ADDR_VAR 0 1
17905: PUSH
17906: LD_LOC 19
17910: ST_TO_ADDR
// c21 = 0 ;
17911: LD_ADDR_LOC 19
17915: PUSH
17916: LD_INT 0
17918: ST_TO_ADDR
// end else
17919: GO 17985
// if isplaced ( c22 ) and not getcargo ( c22 , mat_cans ) then
17921: LD_LOC 20
17925: PPUSH
17926: CALL_OW 305
17930: PUSH
17931: LD_LOC 20
17935: PPUSH
17936: LD_INT 1
17938: PPUSH
17939: CALL_OW 289
17943: NOT
17944: AND
17945: IFFALSE 17967
// begin tmp = c22 ;
17947: LD_ADDR_VAR 0 1
17951: PUSH
17952: LD_LOC 20
17956: ST_TO_ADDR
// c22 = 0 ;
17957: LD_ADDR_LOC 20
17961: PUSH
17962: LD_INT 0
17964: ST_TO_ADDR
// end else
17965: GO 17985
// begin tmp = c23 ;
17967: LD_ADDR_VAR 0 1
17971: PUSH
17972: LD_LOC 21
17976: ST_TO_ADDR
// c23 = 0 ;
17977: LD_ADDR_LOC 21
17981: PUSH
17982: LD_INT 0
17984: ST_TO_ADDR
// end ; setside ( tmp , am_odj ) ;
17985: LD_VAR 0 1
17989: PPUSH
17990: LD_EXP 4
17994: PPUSH
17995: CALL_OW 235
// commovexy ( tmp , 150 , 101 ) ;
17999: LD_VAR 0 1
18003: PPUSH
18004: LD_INT 150
18006: PPUSH
18007: LD_INT 101
18009: PPUSH
18010: CALL_OW 111
// odjet2 = odjet2 - 1 ;
18014: LD_ADDR_LOC 26
18018: PUSH
18019: LD_LOC 26
18023: PUSH
18024: LD_INT 1
18026: MINUS
18027: ST_TO_ADDR
// if odjet2 > 0 then
18028: LD_LOC 26
18032: PUSH
18033: LD_INT 0
18035: GREATER
18036: IFFALSE 18039
// enable ;
18038: ENABLE
// end ;
18039: PPOPN 1
18041: END
// every 0 0$1 marked 8 do var tmp ;
18042: GO 18044
18044: DISABLE
18045: LD_INT 0
18047: PPUSH
// begin zasilka = zasilka - 0 0$1 ;
18048: LD_ADDR_EXP 154
18052: PUSH
18053: LD_EXP 154
18057: PUSH
18058: LD_INT 35
18060: MINUS
18061: ST_TO_ADDR
// if zasilka = 0 then
18062: LD_EXP 154
18066: PUSH
18067: LD_INT 0
18069: EQUAL
18070: IFFALSE 18296
// begin uc_nation = nation_american ;
18072: LD_ADDR_OWVAR 21
18076: PUSH
18077: LD_INT 1
18079: ST_TO_ADDR
// uc_side = am ;
18080: LD_ADDR_OWVAR 20
18084: PUSH
18085: LD_EXP 2
18089: ST_TO_ADDR
// vc_control = control_computer ;
18090: LD_ADDR_OWVAR 38
18094: PUSH
18095: LD_INT 3
18097: ST_TO_ADDR
// vc_chassis = us_medium_wheeled ;
18098: LD_ADDR_OWVAR 37
18102: PUSH
18103: LD_INT 2
18105: ST_TO_ADDR
// vc_weapon = us_cargo_bay ;
18106: LD_ADDR_OWVAR 40
18110: PUSH
18111: LD_INT 12
18113: ST_TO_ADDR
// c31 = createvehicle ;
18114: LD_ADDR_LOC 22
18118: PUSH
18119: CALL_OW 45
18123: ST_TO_ADDR
// setdir ( c31 , 4 ) ;
18124: LD_LOC 22
18128: PPUSH
18129: LD_INT 4
18131: PPUSH
18132: CALL_OW 233
// setcargo ( c31 , mat_cans , 100 ) ;
18136: LD_LOC 22
18140: PPUSH
18141: LD_INT 1
18143: PPUSH
18144: LD_INT 100
18146: PPUSH
18147: CALL_OW 290
// placeunitxyr ( c31 , 143 , 95 , 7 , false ) ;
18151: LD_LOC 22
18155: PPUSH
18156: LD_INT 143
18158: PPUSH
18159: LD_INT 95
18161: PPUSH
18162: LD_INT 7
18164: PPUSH
18165: LD_INT 0
18167: PPUSH
18168: CALL_OW 50
// c32 = createvehicle ;
18172: LD_ADDR_LOC 23
18176: PUSH
18177: CALL_OW 45
18181: ST_TO_ADDR
// setdir ( c32 , 4 ) ;
18182: LD_LOC 23
18186: PPUSH
18187: LD_INT 4
18189: PPUSH
18190: CALL_OW 233
// setcargo ( c32 , mat_cans , 100 ) ;
18194: LD_LOC 23
18198: PPUSH
18199: LD_INT 1
18201: PPUSH
18202: LD_INT 100
18204: PPUSH
18205: CALL_OW 290
// placeunitxyr ( c32 , 143 , 95 , 7 , false ) ;
18209: LD_LOC 23
18213: PPUSH
18214: LD_INT 143
18216: PPUSH
18217: LD_INT 95
18219: PPUSH
18220: LD_INT 7
18222: PPUSH
18223: LD_INT 0
18225: PPUSH
18226: CALL_OW 50
// placeunitxyr ( sold2 , 146 , 100 , 3 , false ) ;
18230: LD_EXP 217
18234: PPUSH
18235: LD_INT 146
18237: PPUSH
18238: LD_INT 100
18240: PPUSH
18241: LD_INT 3
18243: PPUSH
18244: LD_INT 0
18246: PPUSH
18247: CALL_OW 50
// dialogueon ;
18251: CALL_OW 6
// sayradio ( powell , DC3-Pow-1 ) ;
18255: LD_EXP 174
18259: PPUSH
18260: LD_STRING DC3-Pow-1
18262: PPUSH
18263: CALL_OW 94
// say ( john , DC3-JMM-1 ) ;
18267: LD_EXP 173
18271: PPUSH
18272: LD_STRING DC3-JMM-1
18274: PPUSH
18275: CALL_OW 88
// dialogueoff ;
18279: CALL_OW 7
// odjet3 = 2 ;
18283: LD_ADDR_LOC 27
18287: PUSH
18288: LD_INT 2
18290: ST_TO_ADDR
// enable ( 9 ) ;
18291: LD_INT 9
18293: ENABLE_MARKED
// end else
18294: GO 18297
// enable ;
18296: ENABLE
// end ;
18297: PPOPN 1
18299: 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 ;
18300: LD_LOC 22
18304: PPUSH
18305: CALL_OW 305
18309: PUSH
18310: LD_LOC 22
18314: PPUSH
18315: LD_INT 1
18317: PPUSH
18318: CALL_OW 289
18322: NOT
18323: AND
18324: PUSH
18325: LD_LOC 23
18329: PPUSH
18330: CALL_OW 305
18334: PUSH
18335: LD_LOC 23
18339: PPUSH
18340: LD_INT 1
18342: PPUSH
18343: CALL_OW 289
18347: NOT
18348: AND
18349: OR
18350: IFFALSE 18476
18352: GO 18354
18354: DISABLE
18355: LD_INT 0
18357: PPUSH
// begin if isplaced ( c31 ) and not getcargo ( c31 , mat_cans ) then
18358: LD_LOC 22
18362: PPUSH
18363: CALL_OW 305
18367: PUSH
18368: LD_LOC 22
18372: PPUSH
18373: LD_INT 1
18375: PPUSH
18376: CALL_OW 289
18380: NOT
18381: AND
18382: IFFALSE 18404
// begin tmp = c31 ;
18384: LD_ADDR_VAR 0 1
18388: PUSH
18389: LD_LOC 22
18393: ST_TO_ADDR
// c31 = 0 ;
18394: LD_ADDR_LOC 22
18398: PUSH
18399: LD_INT 0
18401: ST_TO_ADDR
// end else
18402: GO 18422
// begin tmp = c32 ;
18404: LD_ADDR_VAR 0 1
18408: PUSH
18409: LD_LOC 23
18413: ST_TO_ADDR
// c32 = 0 ;
18414: LD_ADDR_LOC 23
18418: PUSH
18419: LD_INT 0
18421: ST_TO_ADDR
// end ; setside ( tmp , am_odj ) ;
18422: LD_VAR 0 1
18426: PPUSH
18427: LD_EXP 4
18431: PPUSH
18432: CALL_OW 235
// commovexy ( tmp , 150 , 101 ) ;
18436: LD_VAR 0 1
18440: PPUSH
18441: LD_INT 150
18443: PPUSH
18444: LD_INT 101
18446: PPUSH
18447: CALL_OW 111
// odjet3 = odjet3 - 1 ;
18451: LD_ADDR_LOC 27
18455: PUSH
18456: LD_LOC 27
18460: PUSH
18461: LD_INT 1
18463: MINUS
18464: ST_TO_ADDR
// if odjet3 > 0 then
18465: LD_LOC 27
18469: PUSH
18470: LD_INT 0
18472: GREATER
18473: IFFALSE 18476
// enable ;
18475: ENABLE
// end ;
18476: PPOPN 1
18478: END
// var odjizdelci ; function odjizdeji ; var tmp ; begin
18479: LD_INT 0
18481: PPUSH
18482: PPUSH
// odjizdelci = filterunitsinarea ( odjezd , [ [ f_side , am_odj ] ] ) ;
18483: LD_ADDR_LOC 28
18487: PUSH
18488: LD_INT 10
18490: PPUSH
18491: LD_INT 22
18493: PUSH
18494: LD_EXP 4
18498: PUSH
18499: EMPTY
18500: LIST
18501: LIST
18502: PUSH
18503: EMPTY
18504: LIST
18505: PPUSH
18506: CALL_OW 70
18510: ST_TO_ADDR
// result = 0 + odjizdelci ;
18511: LD_ADDR_VAR 0 1
18515: PUSH
18516: LD_INT 0
18518: PUSH
18519: LD_LOC 28
18523: PLUS
18524: ST_TO_ADDR
// end ;
18525: LD_VAR 0 1
18529: RET
// every 0 0$1 do var tmp ;
18530: GO 18532
18532: DISABLE
18533: LD_INT 0
18535: PPUSH
// begin if odjizdeji then
18536: CALL 18479 0 0
18540: IFFALSE 18568
// for tmp in odjizdelci do
18542: LD_ADDR_VAR 0 1
18546: PUSH
18547: LD_LOC 28
18551: PUSH
18552: FOR_IN
18553: IFFALSE 18566
// destroyunit ( tmp ) ;
18555: LD_VAR 0 1
18559: PPUSH
18560: CALL_OW 65
18564: GO 18552
18566: POP
18567: POP
// tmp = filterunitsinarea ( ambase , [ [ f_side , am_odj ] , [ f_ok ] ] ) ;
18568: LD_ADDR_VAR 0 1
18572: PUSH
18573: LD_INT 11
18575: PPUSH
18576: LD_INT 22
18578: PUSH
18579: LD_EXP 4
18583: PUSH
18584: EMPTY
18585: LIST
18586: LIST
18587: PUSH
18588: LD_INT 50
18590: PUSH
18591: EMPTY
18592: LIST
18593: PUSH
18594: EMPTY
18595: LIST
18596: LIST
18597: PPUSH
18598: CALL_OW 70
18602: ST_TO_ADDR
// if tmp then
18603: LD_VAR 0 1
18607: IFFALSE 18624
// begin commovexy ( tmp , 150 , 101 ) ;
18609: LD_VAR 0 1
18613: PPUSH
18614: LD_INT 150
18616: PPUSH
18617: LD_INT 101
18619: PPUSH
18620: CALL_OW 111
// end ; enable ;
18624: ENABLE
// end ;
18625: PPOPN 1
18627: END
// export fstamdep ; on buildingcomplete ( un ) do if ( getbtype ( un ) = b_depot ) and ( getside ( un ) = am ) then
18628: LD_VAR 0 1
18632: PPUSH
18633: CALL_OW 266
18637: PUSH
18638: LD_INT 0
18640: EQUAL
18641: PUSH
18642: LD_VAR 0 1
18646: PPUSH
18647: CALL_OW 255
18651: PUSH
18652: LD_EXP 2
18656: EQUAL
18657: AND
18658: IFFALSE 18675
// begin fstamdep = tick + 5 5$0 ;
18660: LD_ADDR_EXP 225
18664: PUSH
18665: LD_OWVAR 1
18669: PUSH
18670: LD_INT 10500
18672: PLUS
18673: ST_TO_ADDR
// disable ;
18674: DISABLE
// end ;
18675: PPOPN 1
18677: END
// export legion_cheated ; every 0 0$20 + 4 4$15 trigger filterallunits ( [ [ f_side , am ] , [ f_type , unit_building ] , [ f_btype , b_depot ] ] ) do var tmp , tmp2 , str , li , tmps , tmpc , depoty ;
18678: LD_INT 22
18680: PUSH
18681: LD_EXP 2
18685: PUSH
18686: EMPTY
18687: LIST
18688: LIST
18689: PUSH
18690: LD_INT 21
18692: PUSH
18693: LD_INT 3
18695: PUSH
18696: EMPTY
18697: LIST
18698: LIST
18699: PUSH
18700: LD_INT 30
18702: PUSH
18703: LD_INT 0
18705: PUSH
18706: EMPTY
18707: LIST
18708: LIST
18709: PUSH
18710: EMPTY
18711: LIST
18712: LIST
18713: LIST
18714: PPUSH
18715: CALL_OW 69
18719: IFFALSE 24914
18721: GO 18723
18723: DISABLE
18724: LD_INT 0
18726: PPUSH
18727: PPUSH
18728: PPUSH
18729: PPUSH
18730: PPUSH
18731: PPUSH
18732: PPUSH
// begin while fstamdep > tick do
18733: LD_EXP 225
18737: PUSH
18738: LD_OWVAR 1
18742: GREATER
18743: IFFALSE 18754
// wait ( 0 0$3 ) ;
18745: LD_INT 105
18747: PPUSH
18748: CALL_OW 67
18752: GO 18733
// uc_nation = nation_arabian ;
18754: LD_ADDR_OWVAR 21
18758: PUSH
18759: LD_INT 2
18761: ST_TO_ADDR
// uc_side = ar ;
18762: LD_ADDR_OWVAR 20
18766: PUSH
18767: LD_EXP 3
18771: ST_TO_ADDR
// setside ( kurt , ar ) ;
18772: LD_EXP 176
18776: PPUSH
18777: LD_EXP 3
18781: PPUSH
18782: CALL_OW 235
// vc_control = control_manual ;
18786: LD_ADDR_OWVAR 38
18790: PUSH
18791: LD_INT 1
18793: ST_TO_ADDR
// vc_engine = engine_combustion ;
18794: LD_ADDR_OWVAR 39
18798: PUSH
18799: LD_INT 1
18801: ST_TO_ADDR
// vc_chassis = ar_medium_trike ;
18802: LD_ADDR_OWVAR 37
18806: PUSH
18807: LD_INT 13
18809: ST_TO_ADDR
// vc_weapon = ar_double_machine_gun ;
18810: LD_ADDR_OWVAR 40
18814: PUSH
18815: LD_INT 24
18817: ST_TO_ADDR
// kurt_veh = createvehicle ;
18818: LD_ADDR_EXP 177
18822: PUSH
18823: CALL_OW 45
18827: ST_TO_ADDR
// setdir ( kurt_veh , 4 ) ;
18828: LD_EXP 177
18832: PPUSH
18833: LD_INT 4
18835: PPUSH
18836: CALL_OW 233
// placeunitxyr ( kurt_veh , 148 , 100 , 3 , false ) ;
18840: LD_EXP 177
18844: PPUSH
18845: LD_INT 148
18847: PPUSH
18848: LD_INT 100
18850: PPUSH
18851: LD_INT 3
18853: PPUSH
18854: LD_INT 0
18856: PPUSH
18857: CALL_OW 50
// placehumaninunit ( kurt , kurt_veh ) ;
18861: LD_EXP 176
18865: PPUSH
18866: LD_EXP 177
18870: PPUSH
18871: CALL_OW 52
// wait ( 0 0$0.5 ) ;
18875: LD_INT 18
18877: PPUSH
18878: CALL_OW 67
// commovexy ( kurt_veh , 134 , 93 ) ;
18882: LD_EXP 177
18886: PPUSH
18887: LD_INT 134
18889: PPUSH
18890: LD_INT 93
18892: PPUSH
18893: CALL_OW 111
// addcomexitvehicle ( kurt_veh ) ;
18897: LD_EXP 177
18901: PPUSH
18902: CALL_OW 181
// wait ( 0 0$5 ) ;
18906: LD_INT 175
18908: PPUSH
18909: CALL_OW 67
// legion_cheated = 0 ;
18913: LD_ADDR_EXP 226
18917: PUSH
18918: LD_INT 0
18920: ST_TO_ADDR
// tmp = filterallunits ( [ [ f_side , am ] , [ f_sex , sex_male ] ] ) diff john ;
18921: LD_ADDR_VAR 0 1
18925: PUSH
18926: LD_INT 22
18928: PUSH
18929: LD_EXP 2
18933: PUSH
18934: EMPTY
18935: LIST
18936: LIST
18937: PUSH
18938: LD_INT 26
18940: PUSH
18941: LD_INT 1
18943: PUSH
18944: EMPTY
18945: LIST
18946: LIST
18947: PUSH
18948: EMPTY
18949: LIST
18950: LIST
18951: PPUSH
18952: CALL_OW 69
18956: PUSH
18957: LD_EXP 173
18961: DIFF
18962: ST_TO_ADDR
// dialogueon ;
18963: CALL_OW 6
// changesidefog ( ar , am ) ;
18967: LD_EXP 3
18971: PPUSH
18972: LD_EXP 2
18976: PPUSH
18977: CALL_OW 343
// if tmp then
18981: LD_VAR 0 1
18985: IFFALSE 19003
// say ( tmp [ 1 ] , D3-Sol1-1 ) ;
18987: LD_VAR 0 1
18991: PUSH
18992: LD_INT 1
18994: ARRAY
18995: PPUSH
18996: LD_STRING D3-Sol1-1
18998: PPUSH
18999: CALL_OW 88
// centernowonunits ( kurt_veh ) ;
19003: LD_EXP 177
19007: PPUSH
19008: CALL_OW 87
// say ( kurt , D3-Kurt-1 ) ;
19012: LD_EXP 176
19016: PPUSH
19017: LD_STRING D3-Kurt-1
19019: PPUSH
19020: CALL_OW 88
// say ( john , D3-JMM-1 ) ;
19024: LD_EXP 173
19028: PPUSH
19029: LD_STRING D3-JMM-1
19031: PPUSH
19032: CALL_OW 88
// if kurtloc then
19036: LD_EXP 178
19040: IFFALSE 19068
// begin say ( kurt , D3-Kurt-2 ) ;
19042: LD_EXP 176
19046: PPUSH
19047: LD_STRING D3-Kurt-2
19049: PPUSH
19050: CALL_OW 88
// say ( john , D3-JMM-2 ) ;
19054: LD_EXP 173
19058: PPUSH
19059: LD_STRING D3-JMM-2
19061: PPUSH
19062: CALL_OW 88
// end else
19066: GO 19092
// begin say ( kurt , D3-Kurt-3 ) ;
19068: LD_EXP 176
19072: PPUSH
19073: LD_STRING D3-Kurt-3
19075: PPUSH
19076: CALL_OW 88
// say ( john , D3-JMM-3 ) ;
19080: LD_EXP 173
19084: PPUSH
19085: LD_STRING D3-JMM-3
19087: PPUSH
19088: CALL_OW 88
// end ; say ( kurt , D3-Kurt-4 ) ;
19092: LD_EXP 176
19096: PPUSH
19097: LD_STRING D3-Kurt-4
19099: PPUSH
19100: CALL_OW 88
// say ( john , D3-JMM-4 ) ;
19104: LD_EXP 173
19108: PPUSH
19109: LD_STRING D3-JMM-4
19111: PPUSH
19112: CALL_OW 88
// say ( kurt , D3-Kurt-5 ) ;
19116: LD_EXP 176
19120: PPUSH
19121: LD_STRING D3-Kurt-5
19123: PPUSH
19124: CALL_OW 88
// depoty = unitfilter ( filterallunits ( [ [ f_side , am ] , [ f_type , unit_building ] ] ) , [ f_or , [ f_btype , b_depot ] , [ f_btype , b_warehouse ] ] ) ;
19128: LD_ADDR_VAR 0 7
19132: PUSH
19133: LD_INT 22
19135: PUSH
19136: LD_EXP 2
19140: PUSH
19141: EMPTY
19142: LIST
19143: LIST
19144: PUSH
19145: LD_INT 21
19147: PUSH
19148: LD_INT 3
19150: PUSH
19151: EMPTY
19152: LIST
19153: LIST
19154: PUSH
19155: EMPTY
19156: LIST
19157: LIST
19158: PPUSH
19159: CALL_OW 69
19163: PPUSH
19164: LD_INT 2
19166: PUSH
19167: LD_INT 30
19169: PUSH
19170: LD_INT 0
19172: PUSH
19173: EMPTY
19174: LIST
19175: LIST
19176: PUSH
19177: LD_INT 30
19179: PUSH
19180: LD_INT 1
19182: PUSH
19183: EMPTY
19184: LIST
19185: LIST
19186: PUSH
19187: EMPTY
19188: LIST
19189: LIST
19190: LIST
19191: PPUSH
19192: CALL_OW 72
19196: ST_TO_ADDR
// tmpc = 0 ;
19197: LD_ADDR_VAR 0 6
19201: PUSH
19202: LD_INT 0
19204: ST_TO_ADDR
// tmps = 0 ;
19205: LD_ADDR_VAR 0 5
19209: PUSH
19210: LD_INT 0
19212: ST_TO_ADDR
// for tmp in depoty do
19213: LD_ADDR_VAR 0 1
19217: PUSH
19218: LD_VAR 0 7
19222: PUSH
19223: FOR_IN
19224: IFFALSE 19286
// begin tmpc = tmpc + getresourcetype ( getbase ( tmp ) , mat_cans ) ;
19226: LD_ADDR_VAR 0 6
19230: PUSH
19231: LD_VAR 0 6
19235: PUSH
19236: LD_VAR 0 1
19240: PPUSH
19241: CALL_OW 274
19245: PPUSH
19246: LD_INT 1
19248: PPUSH
19249: CALL_OW 275
19253: PLUS
19254: ST_TO_ADDR
// tmps = tmps + getresourcetype ( getbase ( tmp ) , mat_siberit ) ;
19255: LD_ADDR_VAR 0 5
19259: PUSH
19260: LD_VAR 0 5
19264: PUSH
19265: LD_VAR 0 1
19269: PPUSH
19270: CALL_OW 274
19274: PPUSH
19275: LD_INT 3
19277: PPUSH
19278: CALL_OW 275
19282: PLUS
19283: ST_TO_ADDR
// end ;
19284: GO 19223
19286: POP
19287: POP
// if kurtloc = 0 then
19288: LD_EXP 178
19292: PUSH
19293: LD_INT 0
19295: EQUAL
19296: IFFALSE 19388
// begin say ( kurt , D3-Kurt-5b ) ;
19298: LD_EXP 176
19302: PPUSH
19303: LD_STRING D3-Kurt-5b
19305: PPUSH
19306: CALL_OW 88
// str = Q2 ;
19310: LD_ADDR_VAR 0 3
19314: PUSH
19315: LD_STRING Q2
19317: ST_TO_ADDR
// if ( tmpc >= req_cans ) and ( tmps >= req_sib ) then
19318: LD_VAR 0 6
19322: PUSH
19323: LD_EXP 88
19327: GREATEREQUAL
19328: PUSH
19329: LD_VAR 0 5
19333: PUSH
19334: LD_EXP 87
19338: GREATEREQUAL
19339: AND
19340: IFFALSE 19367
// li = [ 1 , 2 , 3 , 4 ] else
19342: LD_ADDR_VAR 0 4
19346: PUSH
19347: LD_INT 1
19349: PUSH
19350: LD_INT 2
19352: PUSH
19353: LD_INT 3
19355: PUSH
19356: LD_INT 4
19358: PUSH
19359: EMPTY
19360: LIST
19361: LIST
19362: LIST
19363: LIST
19364: ST_TO_ADDR
19365: GO 19386
// li = [ 1 , 3 , 4 ] ;
19367: LD_ADDR_VAR 0 4
19371: PUSH
19372: LD_INT 1
19374: PUSH
19375: LD_INT 3
19377: PUSH
19378: LD_INT 4
19380: PUSH
19381: EMPTY
19382: LIST
19383: LIST
19384: LIST
19385: ST_TO_ADDR
// end else
19386: GO 19476
// begin say ( kurt , D3-Kurt-5a ) ;
19388: LD_EXP 176
19392: PPUSH
19393: LD_STRING D3-Kurt-5a
19395: PPUSH
19396: CALL_OW 88
// str = Q2K ;
19400: LD_ADDR_VAR 0 3
19404: PUSH
19405: LD_STRING Q2K
19407: ST_TO_ADDR
// if ( tmpc >= req_cans_ ) and ( tmps >= req_sib_ ) then
19408: LD_VAR 0 6
19412: PUSH
19413: LD_EXP 90
19417: GREATEREQUAL
19418: PUSH
19419: LD_VAR 0 5
19423: PUSH
19424: LD_EXP 89
19428: GREATEREQUAL
19429: AND
19430: IFFALSE 19457
// li = [ 1 , 2 , 3 , 4 ] else
19432: LD_ADDR_VAR 0 4
19436: PUSH
19437: LD_INT 1
19439: PUSH
19440: LD_INT 2
19442: PUSH
19443: LD_INT 3
19445: PUSH
19446: LD_INT 4
19448: PUSH
19449: EMPTY
19450: LIST
19451: LIST
19452: LIST
19453: LIST
19454: ST_TO_ADDR
19455: GO 19476
// li = [ 1 , 3 , 4 ] ;
19457: LD_ADDR_VAR 0 4
19461: PUSH
19462: LD_INT 1
19464: PUSH
19465: LD_INT 3
19467: PUSH
19468: LD_INT 4
19470: PUSH
19471: EMPTY
19472: LIST
19473: LIST
19474: LIST
19475: ST_TO_ADDR
// end ; vyber = selectivequery ( str , li ) ;
19476: LD_ADDR_LOC 24
19480: PUSH
19481: LD_VAR 0 3
19485: PPUSH
19486: LD_VAR 0 4
19490: PPUSH
19491: CALL_OW 98
19495: ST_TO_ADDR
// legion = - 1 ;
19496: LD_ADDR_EXP 5
19500: PUSH
19501: LD_INT 1
19503: NEG
19504: ST_TO_ADDR
// case vyber of 1 :
19505: LD_LOC 24
19509: PUSH
19510: LD_INT 1
19512: DOUBLE
19513: EQUAL
19514: IFTRUE 19518
19516: GO 19545
19518: POP
// begin say ( john , D3Ka-JMM-1 ) ;
19519: LD_EXP 173
19523: PPUSH
19524: LD_STRING D3Ka-JMM-1
19526: PPUSH
19527: CALL_OW 88
// say ( kurt , D3Ka-Kurt-1 ) ;
19531: LD_EXP 176
19535: PPUSH
19536: LD_STRING D3Ka-Kurt-1
19538: PPUSH
19539: CALL_OW 88
// end ; 2 :
19543: GO 23954
19545: LD_INT 2
19547: DOUBLE
19548: EQUAL
19549: IFTRUE 19553
19551: GO 19876
19553: POP
// begin legion = 0 ;
19554: LD_ADDR_EXP 5
19558: PUSH
19559: LD_INT 0
19561: ST_TO_ADDR
// say ( john , D3Kb-JMM-1 ) ;
19562: LD_EXP 173
19566: PPUSH
19567: LD_STRING D3Kb-JMM-1
19569: PPUSH
19570: CALL_OW 88
// say ( kurt , D3Kb-Kurt-1 ) ;
19574: LD_EXP 176
19578: PPUSH
19579: LD_STRING D3Kb-Kurt-1
19581: PPUSH
19582: CALL_OW 88
// if kurtloc then
19586: LD_EXP 178
19590: IFFALSE 19614
// begin req_cans = creq_cans_ ;
19592: LD_ADDR_EXP 88
19596: PUSH
19597: LD_EXP 98
19601: ST_TO_ADDR
// req_sib = creq_sib_ ;
19602: LD_ADDR_EXP 87
19606: PUSH
19607: LD_EXP 97
19611: ST_TO_ADDR
// end else
19612: GO 19634
// begin req_cans = creq_cans ;
19614: LD_ADDR_EXP 88
19618: PUSH
19619: LD_EXP 96
19623: ST_TO_ADDR
// req_sib = creq_sib ;
19624: LD_ADDR_EXP 87
19628: PUSH
19629: LD_EXP 95
19633: ST_TO_ADDR
// end ; for tmp in depoty do
19634: LD_ADDR_VAR 0 1
19638: PUSH
19639: LD_VAR 0 7
19643: PUSH
19644: FOR_IN
19645: IFFALSE 19752
// begin tmp2 = getresourcetype ( getbase ( tmp ) , mat_cans ) ;
19647: LD_ADDR_VAR 0 2
19651: PUSH
19652: LD_VAR 0 1
19656: PPUSH
19657: CALL_OW 274
19661: PPUSH
19662: LD_INT 1
19664: PPUSH
19665: CALL_OW 275
19669: ST_TO_ADDR
// if tmp2 >= req_cans then
19670: LD_VAR 0 2
19674: PUSH
19675: LD_EXP 88
19679: GREATEREQUAL
19680: IFFALSE 19714
// begin setresourcetype ( getbase ( tmp ) , mat_cans , tmp2 - req_cans ) ;
19682: LD_VAR 0 1
19686: PPUSH
19687: CALL_OW 274
19691: PPUSH
19692: LD_INT 1
19694: PPUSH
19695: LD_VAR 0 2
19699: PUSH
19700: LD_EXP 88
19704: MINUS
19705: PPUSH
19706: CALL_OW 277
// break ;
19710: GO 19752
// end else
19712: GO 19750
// begin setresourcetype ( getbase ( tmp ) , mat_cans , 0 ) ;
19714: LD_VAR 0 1
19718: PPUSH
19719: CALL_OW 274
19723: PPUSH
19724: LD_INT 1
19726: PPUSH
19727: LD_INT 0
19729: PPUSH
19730: CALL_OW 277
// req_cans = req_cans - tmp2 ;
19734: LD_ADDR_EXP 88
19738: PUSH
19739: LD_EXP 88
19743: PUSH
19744: LD_VAR 0 2
19748: MINUS
19749: ST_TO_ADDR
// end ; end ;
19750: GO 19644
19752: POP
19753: POP
// for tmp in depoty do
19754: LD_ADDR_VAR 0 1
19758: PUSH
19759: LD_VAR 0 7
19763: PUSH
19764: FOR_IN
19765: IFFALSE 19872
// begin tmp2 = getresourcetype ( getbase ( tmp ) , mat_siberit ) ;
19767: LD_ADDR_VAR 0 2
19771: PUSH
19772: LD_VAR 0 1
19776: PPUSH
19777: CALL_OW 274
19781: PPUSH
19782: LD_INT 3
19784: PPUSH
19785: CALL_OW 275
19789: ST_TO_ADDR
// if tmp2 >= req_sib then
19790: LD_VAR 0 2
19794: PUSH
19795: LD_EXP 87
19799: GREATEREQUAL
19800: IFFALSE 19834
// begin setresourcetype ( getbase ( tmp ) , mat_siberit , tmp2 - req_sib ) ;
19802: LD_VAR 0 1
19806: PPUSH
19807: CALL_OW 274
19811: PPUSH
19812: LD_INT 3
19814: PPUSH
19815: LD_VAR 0 2
19819: PUSH
19820: LD_EXP 87
19824: MINUS
19825: PPUSH
19826: CALL_OW 277
// break ;
19830: GO 19872
// end else
19832: GO 19870
// begin setresourcetype ( getbase ( tmp ) , mat_siberit , 0 ) ;
19834: LD_VAR 0 1
19838: PPUSH
19839: CALL_OW 274
19843: PPUSH
19844: LD_INT 3
19846: PPUSH
19847: LD_INT 0
19849: PPUSH
19850: CALL_OW 277
// req_sib = req_sib - tmp2 ;
19854: LD_ADDR_EXP 87
19858: PUSH
19859: LD_EXP 87
19863: PUSH
19864: LD_VAR 0 2
19868: MINUS
19869: ST_TO_ADDR
// end ; end ;
19870: GO 19764
19872: POP
19873: POP
// end ; 3 :
19874: GO 23954
19876: LD_INT 3
19878: DOUBLE
19879: EQUAL
19880: IFTRUE 19884
19882: GO 21520
19884: POP
// begin say ( john , D3Kc1-JMM-1 ) ;
19885: LD_EXP 173
19889: PPUSH
19890: LD_STRING D3Kc1-JMM-1
19892: PPUSH
19893: CALL_OW 88
// say ( kurt , D3Kc1-Kurt-1 ) ;
19897: LD_EXP 176
19901: PPUSH
19902: LD_STRING D3Kc1-Kurt-1
19904: PPUSH
19905: CALL_OW 88
// say ( john , D3Kc1-JMM-2 ) ;
19909: LD_EXP 173
19913: PPUSH
19914: LD_STRING D3Kc1-JMM-2
19916: PPUSH
19917: CALL_OW 88
// say ( kurt , D3Kc1-Kurt-2 ) ;
19921: LD_EXP 176
19925: PPUSH
19926: LD_STRING D3Kc1-Kurt-2
19928: PPUSH
19929: CALL_OW 88
// pr_loz = 1 ;
19933: LD_ADDR_EXP 224
19937: PUSH
19938: LD_INT 1
19940: ST_TO_ADDR
// case selectivequery ( Q2b , [ 1 , 2 , 3 ] ) of 1 , 2 :
19941: LD_STRING Q2b
19943: PPUSH
19944: LD_INT 1
19946: PUSH
19947: LD_INT 2
19949: PUSH
19950: LD_INT 3
19952: PUSH
19953: EMPTY
19954: LIST
19955: LIST
19956: LIST
19957: PPUSH
19958: CALL_OW 98
19962: PUSH
19963: LD_INT 1
19965: DOUBLE
19966: EQUAL
19967: IFTRUE 19977
19969: LD_INT 2
19971: DOUBLE
19972: EQUAL
19973: IFTRUE 19977
19975: GO 21434
19977: POP
// begin if vyber = 1 then
19978: LD_LOC 24
19982: PUSH
19983: LD_INT 1
19985: EQUAL
19986: IFFALSE 20002
// say ( john , D4a-JMM-1 ) else
19988: LD_EXP 173
19992: PPUSH
19993: LD_STRING D4a-JMM-1
19995: PPUSH
19996: CALL_OW 88
20000: GO 20026
// begin say ( john , D4b-JMM-1 ) ;
20002: LD_EXP 173
20006: PPUSH
20007: LD_STRING D4b-JMM-1
20009: PPUSH
20010: CALL_OW 88
// say ( kurt , D4b-Kurt-1 ) ;
20014: LD_EXP 176
20018: PPUSH
20019: LD_STRING D4b-Kurt-1
20021: PPUSH
20022: CALL_OW 88
// end ; vyber = selectivequery ( str , li ) ;
20026: LD_ADDR_LOC 24
20030: PUSH
20031: LD_VAR 0 3
20035: PPUSH
20036: LD_VAR 0 4
20040: PPUSH
20041: CALL_OW 98
20045: ST_TO_ADDR
// case vyber of 1 :
20046: LD_LOC 24
20050: PUSH
20051: LD_INT 1
20053: DOUBLE
20054: EQUAL
20055: IFTRUE 20059
20057: GO 20086
20059: POP
// begin say ( john , D3Ka-JMM-1 ) ;
20060: LD_EXP 173
20064: PPUSH
20065: LD_STRING D3Ka-JMM-1
20067: PPUSH
20068: CALL_OW 88
// say ( kurt , D3Ka-Kurt-1 ) ;
20072: LD_EXP 176
20076: PPUSH
20077: LD_STRING D3Ka-Kurt-1
20079: PPUSH
20080: CALL_OW 88
// end ; 2 :
20084: GO 21432
20086: LD_INT 2
20088: DOUBLE
20089: EQUAL
20090: IFTRUE 20094
20092: GO 20395
20094: POP
// begin legion = 0 ;
20095: LD_ADDR_EXP 5
20099: PUSH
20100: LD_INT 0
20102: ST_TO_ADDR
// say ( john , D3Kb-JMM-1 ) ;
20103: LD_EXP 173
20107: PPUSH
20108: LD_STRING D3Kb-JMM-1
20110: PPUSH
20111: CALL_OW 88
// say ( kurt , D3Kb-Kurt-1 ) ;
20115: LD_EXP 176
20119: PPUSH
20120: LD_STRING D3Kb-Kurt-1
20122: PPUSH
20123: CALL_OW 88
// if kurtloc then
20127: LD_EXP 178
20131: IFFALSE 20153
// begin req_cans = req_cans_ ;
20133: LD_ADDR_EXP 88
20137: PUSH
20138: LD_EXP 90
20142: ST_TO_ADDR
// req_sib = req_sib_ ;
20143: LD_ADDR_EXP 87
20147: PUSH
20148: LD_EXP 89
20152: ST_TO_ADDR
// end ; for tmp in depoty do
20153: LD_ADDR_VAR 0 1
20157: PUSH
20158: LD_VAR 0 7
20162: PUSH
20163: FOR_IN
20164: IFFALSE 20271
// begin tmp2 = getresourcetype ( getbase ( tmp ) , mat_cans ) ;
20166: LD_ADDR_VAR 0 2
20170: PUSH
20171: LD_VAR 0 1
20175: PPUSH
20176: CALL_OW 274
20180: PPUSH
20181: LD_INT 1
20183: PPUSH
20184: CALL_OW 275
20188: ST_TO_ADDR
// if tmp2 >= req_cans then
20189: LD_VAR 0 2
20193: PUSH
20194: LD_EXP 88
20198: GREATEREQUAL
20199: IFFALSE 20233
// begin setresourcetype ( getbase ( tmp ) , mat_cans , tmp2 - req_cans ) ;
20201: LD_VAR 0 1
20205: PPUSH
20206: CALL_OW 274
20210: PPUSH
20211: LD_INT 1
20213: PPUSH
20214: LD_VAR 0 2
20218: PUSH
20219: LD_EXP 88
20223: MINUS
20224: PPUSH
20225: CALL_OW 277
// break ;
20229: GO 20271
// end else
20231: GO 20269
// begin setresourcetype ( getbase ( tmp ) , mat_cans , 0 ) ;
20233: LD_VAR 0 1
20237: PPUSH
20238: CALL_OW 274
20242: PPUSH
20243: LD_INT 1
20245: PPUSH
20246: LD_INT 0
20248: PPUSH
20249: CALL_OW 277
// req_cans = req_cans - tmp2 ;
20253: LD_ADDR_EXP 88
20257: PUSH
20258: LD_EXP 88
20262: PUSH
20263: LD_VAR 0 2
20267: MINUS
20268: ST_TO_ADDR
// end ; end ;
20269: GO 20163
20271: POP
20272: POP
// for tmp in depoty do
20273: LD_ADDR_VAR 0 1
20277: PUSH
20278: LD_VAR 0 7
20282: PUSH
20283: FOR_IN
20284: IFFALSE 20391
// begin tmp2 = getresourcetype ( getbase ( tmp ) , mat_siberit ) ;
20286: LD_ADDR_VAR 0 2
20290: PUSH
20291: LD_VAR 0 1
20295: PPUSH
20296: CALL_OW 274
20300: PPUSH
20301: LD_INT 3
20303: PPUSH
20304: CALL_OW 275
20308: ST_TO_ADDR
// if tmp2 >= req_sib then
20309: LD_VAR 0 2
20313: PUSH
20314: LD_EXP 87
20318: GREATEREQUAL
20319: IFFALSE 20353
// begin setresourcetype ( getbase ( tmp ) , mat_siberit , tmp2 - req_sib ) ;
20321: LD_VAR 0 1
20325: PPUSH
20326: CALL_OW 274
20330: PPUSH
20331: LD_INT 3
20333: PPUSH
20334: LD_VAR 0 2
20338: PUSH
20339: LD_EXP 87
20343: MINUS
20344: PPUSH
20345: CALL_OW 277
// break ;
20349: GO 20391
// end else
20351: GO 20389
// begin setresourcetype ( getbase ( tmp ) , mat_siberit , 0 ) ;
20353: LD_VAR 0 1
20357: PPUSH
20358: CALL_OW 274
20362: PPUSH
20363: LD_INT 3
20365: PPUSH
20366: LD_INT 0
20368: PPUSH
20369: CALL_OW 277
// req_sib = req_sib - tmp2 ;
20373: LD_ADDR_EXP 87
20377: PUSH
20378: LD_EXP 87
20382: PUSH
20383: LD_VAR 0 2
20387: MINUS
20388: ST_TO_ADDR
// end ; end ;
20389: GO 20283
20391: POP
20392: POP
// end ; 3 :
20393: GO 21432
20395: LD_INT 3
20397: DOUBLE
20398: EQUAL
20399: IFTRUE 20403
20401: GO 20438
20403: POP
// begin say ( john , D3Kc2-JMM-1 ) ;
20404: LD_EXP 173
20408: PPUSH
20409: LD_STRING D3Kc2-JMM-1
20411: PPUSH
20412: CALL_OW 88
// say ( kurt , D3Kc2-Kurt-1 ) ;
20416: LD_EXP 176
20420: PPUSH
20421: LD_STRING D3Kc2-Kurt-1
20423: PPUSH
20424: CALL_OW 88
// vyber = 1 ;
20428: LD_ADDR_LOC 24
20432: PUSH
20433: LD_INT 1
20435: ST_TO_ADDR
// end ; 4 :
20436: GO 21432
20438: LD_INT 4
20440: DOUBLE
20441: EQUAL
20442: IFTRUE 20446
20444: GO 21431
20446: POP
// begin say ( john , D3Kd-JMM-1 ) ;
20447: LD_EXP 173
20451: PPUSH
20452: LD_STRING D3Kd-JMM-1
20454: PPUSH
20455: CALL_OW 88
// if kurtloc = 0 then
20459: LD_EXP 178
20463: PUSH
20464: LD_INT 0
20466: EQUAL
20467: IFFALSE 20589
// begin str = Q2a ;
20469: LD_ADDR_VAR 0 3
20473: PUSH
20474: LD_STRING Q2a
20476: ST_TO_ADDR
// li = [ 1 ] ;
20477: LD_ADDR_VAR 0 4
20481: PUSH
20482: LD_INT 1
20484: PUSH
20485: EMPTY
20486: LIST
20487: ST_TO_ADDR
// if ( tmpc >= req_cans ) and ( tmps >= req_sib ) then
20488: LD_VAR 0 6
20492: PUSH
20493: LD_EXP 88
20497: GREATEREQUAL
20498: PUSH
20499: LD_VAR 0 5
20503: PUSH
20504: LD_EXP 87
20508: GREATEREQUAL
20509: AND
20510: IFFALSE 20529
// li = li ^ [ 2 ] ;
20512: LD_ADDR_VAR 0 4
20516: PUSH
20517: LD_VAR 0 4
20521: PUSH
20522: LD_INT 2
20524: PUSH
20525: EMPTY
20526: LIST
20527: ADD
20528: ST_TO_ADDR
// if ( tmpc >= req2_cans ) and ( tmps >= req2_sib ) then
20529: LD_VAR 0 6
20533: PUSH
20534: LD_EXP 92
20538: GREATEREQUAL
20539: PUSH
20540: LD_VAR 0 5
20544: PUSH
20545: LD_EXP 91
20549: GREATEREQUAL
20550: AND
20551: IFFALSE 20570
// li = li ^ [ 3 ] ;
20553: LD_ADDR_VAR 0 4
20557: PUSH
20558: LD_VAR 0 4
20562: PUSH
20563: LD_INT 3
20565: PUSH
20566: EMPTY
20567: LIST
20568: ADD
20569: ST_TO_ADDR
// li = li ^ [ 4 ] ;
20570: LD_ADDR_VAR 0 4
20574: PUSH
20575: LD_VAR 0 4
20579: PUSH
20580: LD_INT 4
20582: PUSH
20583: EMPTY
20584: LIST
20585: ADD
20586: ST_TO_ADDR
// end else
20587: GO 20707
// begin str = Q2aK ;
20589: LD_ADDR_VAR 0 3
20593: PUSH
20594: LD_STRING Q2aK
20596: ST_TO_ADDR
// li = [ 1 ] ;
20597: LD_ADDR_VAR 0 4
20601: PUSH
20602: LD_INT 1
20604: PUSH
20605: EMPTY
20606: LIST
20607: ST_TO_ADDR
// if ( tmpc >= req_cans_ ) and ( tmps >= req_sib_ ) then
20608: LD_VAR 0 6
20612: PUSH
20613: LD_EXP 90
20617: GREATEREQUAL
20618: PUSH
20619: LD_VAR 0 5
20623: PUSH
20624: LD_EXP 89
20628: GREATEREQUAL
20629: AND
20630: IFFALSE 20649
// li = li ^ [ 2 ] ;
20632: LD_ADDR_VAR 0 4
20636: PUSH
20637: LD_VAR 0 4
20641: PUSH
20642: LD_INT 2
20644: PUSH
20645: EMPTY
20646: LIST
20647: ADD
20648: ST_TO_ADDR
// if ( tmpc >= req2_cans_ ) and ( tmps >= req2_sib_ ) then
20649: LD_VAR 0 6
20653: PUSH
20654: LD_EXP 94
20658: GREATEREQUAL
20659: PUSH
20660: LD_VAR 0 5
20664: PUSH
20665: LD_EXP 93
20669: GREATEREQUAL
20670: AND
20671: IFFALSE 20690
// li = li ^ [ 3 ] ;
20673: LD_ADDR_VAR 0 4
20677: PUSH
20678: LD_VAR 0 4
20682: PUSH
20683: LD_INT 3
20685: PUSH
20686: EMPTY
20687: LIST
20688: ADD
20689: ST_TO_ADDR
// li = li ^ [ 4 ] ;
20690: LD_ADDR_VAR 0 4
20694: PUSH
20695: LD_VAR 0 4
20699: PUSH
20700: LD_INT 4
20702: PUSH
20703: EMPTY
20704: LIST
20705: ADD
20706: ST_TO_ADDR
// end ; vyber = selectivequery ( str , li ) ;
20707: LD_ADDR_LOC 24
20711: PUSH
20712: LD_VAR 0 3
20716: PPUSH
20717: LD_VAR 0 4
20721: PPUSH
20722: CALL_OW 98
20726: ST_TO_ADDR
// case vyber of 1 :
20727: LD_LOC 24
20731: PUSH
20732: LD_INT 1
20734: DOUBLE
20735: EQUAL
20736: IFTRUE 20740
20738: GO 20767
20740: POP
// begin say ( john , D3Ka-JMM-1 ) ;
20741: LD_EXP 173
20745: PPUSH
20746: LD_STRING D3Ka-JMM-1
20748: PPUSH
20749: CALL_OW 88
// say ( kurt , D3Ka-Kurt-1 ) ;
20753: LD_EXP 176
20757: PPUSH
20758: LD_STRING D3Ka-Kurt-1
20760: PPUSH
20761: CALL_OW 88
// end ; 2 :
20765: GO 21429
20767: LD_INT 2
20769: DOUBLE
20770: EQUAL
20771: IFTRUE 20775
20773: GO 21076
20775: POP
// begin legion = 0 ;
20776: LD_ADDR_EXP 5
20780: PUSH
20781: LD_INT 0
20783: ST_TO_ADDR
// say ( john , D3Kb-JMM-1 ) ;
20784: LD_EXP 173
20788: PPUSH
20789: LD_STRING D3Kb-JMM-1
20791: PPUSH
20792: CALL_OW 88
// say ( kurt , D3Kb-Kurt-1 ) ;
20796: LD_EXP 176
20800: PPUSH
20801: LD_STRING D3Kb-Kurt-1
20803: PPUSH
20804: CALL_OW 88
// if kurtloc then
20808: LD_EXP 178
20812: IFFALSE 20834
// begin req_cans = req_cans_ ;
20814: LD_ADDR_EXP 88
20818: PUSH
20819: LD_EXP 90
20823: ST_TO_ADDR
// req_sib = req_sib_ ;
20824: LD_ADDR_EXP 87
20828: PUSH
20829: LD_EXP 89
20833: ST_TO_ADDR
// end ; for tmp in depoty do
20834: LD_ADDR_VAR 0 1
20838: PUSH
20839: LD_VAR 0 7
20843: PUSH
20844: FOR_IN
20845: IFFALSE 20952
// begin tmp2 = getresourcetype ( getbase ( tmp ) , mat_cans ) ;
20847: LD_ADDR_VAR 0 2
20851: PUSH
20852: LD_VAR 0 1
20856: PPUSH
20857: CALL_OW 274
20861: PPUSH
20862: LD_INT 1
20864: PPUSH
20865: CALL_OW 275
20869: ST_TO_ADDR
// if tmp2 >= req_cans then
20870: LD_VAR 0 2
20874: PUSH
20875: LD_EXP 88
20879: GREATEREQUAL
20880: IFFALSE 20914
// begin setresourcetype ( getbase ( tmp ) , mat_cans , tmp2 - req_cans ) ;
20882: LD_VAR 0 1
20886: PPUSH
20887: CALL_OW 274
20891: PPUSH
20892: LD_INT 1
20894: PPUSH
20895: LD_VAR 0 2
20899: PUSH
20900: LD_EXP 88
20904: MINUS
20905: PPUSH
20906: CALL_OW 277
// break ;
20910: GO 20952
// end else
20912: GO 20950
// begin setresourcetype ( getbase ( tmp ) , mat_cans , 0 ) ;
20914: LD_VAR 0 1
20918: PPUSH
20919: CALL_OW 274
20923: PPUSH
20924: LD_INT 1
20926: PPUSH
20927: LD_INT 0
20929: PPUSH
20930: CALL_OW 277
// req_cans = req_cans - tmp2 ;
20934: LD_ADDR_EXP 88
20938: PUSH
20939: LD_EXP 88
20943: PUSH
20944: LD_VAR 0 2
20948: MINUS
20949: ST_TO_ADDR
// end ; end ;
20950: GO 20844
20952: POP
20953: POP
// for tmp in depoty do
20954: LD_ADDR_VAR 0 1
20958: PUSH
20959: LD_VAR 0 7
20963: PUSH
20964: FOR_IN
20965: IFFALSE 21072
// begin tmp2 = getresourcetype ( getbase ( tmp ) , mat_siberit ) ;
20967: LD_ADDR_VAR 0 2
20971: PUSH
20972: LD_VAR 0 1
20976: PPUSH
20977: CALL_OW 274
20981: PPUSH
20982: LD_INT 3
20984: PPUSH
20985: CALL_OW 275
20989: ST_TO_ADDR
// if tmp2 >= req_sib then
20990: LD_VAR 0 2
20994: PUSH
20995: LD_EXP 87
20999: GREATEREQUAL
21000: IFFALSE 21034
// begin setresourcetype ( getbase ( tmp ) , mat_siberit , tmp2 - req_sib ) ;
21002: LD_VAR 0 1
21006: PPUSH
21007: CALL_OW 274
21011: PPUSH
21012: LD_INT 3
21014: PPUSH
21015: LD_VAR 0 2
21019: PUSH
21020: LD_EXP 87
21024: MINUS
21025: PPUSH
21026: CALL_OW 277
// break ;
21030: GO 21072
// end else
21032: GO 21070
// begin setresourcetype ( getbase ( tmp ) , mat_siberit , 0 ) ;
21034: LD_VAR 0 1
21038: PPUSH
21039: CALL_OW 274
21043: PPUSH
21044: LD_INT 3
21046: PPUSH
21047: LD_INT 0
21049: PPUSH
21050: CALL_OW 277
// req_sib = req_sib - tmp2 ;
21054: LD_ADDR_EXP 87
21058: PUSH
21059: LD_EXP 87
21063: PUSH
21064: LD_VAR 0 2
21068: MINUS
21069: ST_TO_ADDR
// end ; end ;
21070: GO 20964
21072: POP
21073: POP
// end ; 3 :
21074: GO 21429
21076: LD_INT 3
21078: DOUBLE
21079: EQUAL
21080: IFTRUE 21084
21082: GO 21385
21084: POP
// begin legion = 1 ;
21085: LD_ADDR_EXP 5
21089: PUSH
21090: LD_INT 1
21092: ST_TO_ADDR
// say ( john , D3Ke-JMM-1 ) ;
21093: LD_EXP 173
21097: PPUSH
21098: LD_STRING D3Ke-JMM-1
21100: PPUSH
21101: CALL_OW 88
// say ( kurt , D3Ke-Kurt-1 ) ;
21105: LD_EXP 176
21109: PPUSH
21110: LD_STRING D3Ke-Kurt-1
21112: PPUSH
21113: CALL_OW 88
// if kurtloc then
21117: LD_EXP 178
21121: IFFALSE 21143
// begin req2_cans = req2_cans_ ;
21123: LD_ADDR_EXP 92
21127: PUSH
21128: LD_EXP 94
21132: ST_TO_ADDR
// req2_sib = req2_sib_ ;
21133: LD_ADDR_EXP 91
21137: PUSH
21138: LD_EXP 93
21142: ST_TO_ADDR
// end ; for tmp in depoty do
21143: LD_ADDR_VAR 0 1
21147: PUSH
21148: LD_VAR 0 7
21152: PUSH
21153: FOR_IN
21154: IFFALSE 21261
// begin tmp2 = getresourcetype ( getbase ( tmp ) , mat_cans ) ;
21156: LD_ADDR_VAR 0 2
21160: PUSH
21161: LD_VAR 0 1
21165: PPUSH
21166: CALL_OW 274
21170: PPUSH
21171: LD_INT 1
21173: PPUSH
21174: CALL_OW 275
21178: ST_TO_ADDR
// if tmp2 >= req2_cans then
21179: LD_VAR 0 2
21183: PUSH
21184: LD_EXP 92
21188: GREATEREQUAL
21189: IFFALSE 21223
// begin setresourcetype ( getbase ( tmp ) , mat_cans , tmp2 - req2_cans ) ;
21191: LD_VAR 0 1
21195: PPUSH
21196: CALL_OW 274
21200: PPUSH
21201: LD_INT 1
21203: PPUSH
21204: LD_VAR 0 2
21208: PUSH
21209: LD_EXP 92
21213: MINUS
21214: PPUSH
21215: CALL_OW 277
// break ;
21219: GO 21261
// end else
21221: GO 21259
// begin setresourcetype ( getbase ( tmp ) , mat_cans , 0 ) ;
21223: LD_VAR 0 1
21227: PPUSH
21228: CALL_OW 274
21232: PPUSH
21233: LD_INT 1
21235: PPUSH
21236: LD_INT 0
21238: PPUSH
21239: CALL_OW 277
// req2_cans = req2_cans - tmp2 ;
21243: LD_ADDR_EXP 92
21247: PUSH
21248: LD_EXP 92
21252: PUSH
21253: LD_VAR 0 2
21257: MINUS
21258: ST_TO_ADDR
// end ; end ;
21259: GO 21153
21261: POP
21262: POP
// for tmp in depoty do
21263: LD_ADDR_VAR 0 1
21267: PUSH
21268: LD_VAR 0 7
21272: PUSH
21273: FOR_IN
21274: IFFALSE 21381
// begin tmp2 = getresourcetype ( getbase ( tmp ) , mat_siberit ) ;
21276: LD_ADDR_VAR 0 2
21280: PUSH
21281: LD_VAR 0 1
21285: PPUSH
21286: CALL_OW 274
21290: PPUSH
21291: LD_INT 3
21293: PPUSH
21294: CALL_OW 275
21298: ST_TO_ADDR
// if tmp2 >= req2_sib then
21299: LD_VAR 0 2
21303: PUSH
21304: LD_EXP 91
21308: GREATEREQUAL
21309: IFFALSE 21343
// begin setresourcetype ( getbase ( tmp ) , mat_siberit , tmp2 - req2_sib ) ;
21311: LD_VAR 0 1
21315: PPUSH
21316: CALL_OW 274
21320: PPUSH
21321: LD_INT 3
21323: PPUSH
21324: LD_VAR 0 2
21328: PUSH
21329: LD_EXP 91
21333: MINUS
21334: PPUSH
21335: CALL_OW 277
// break ;
21339: GO 21381
// end else
21341: GO 21379
// begin setresourcetype ( getbase ( tmp ) , mat_siberit , 0 ) ;
21343: LD_VAR 0 1
21347: PPUSH
21348: CALL_OW 274
21352: PPUSH
21353: LD_INT 3
21355: PPUSH
21356: LD_INT 0
21358: PPUSH
21359: CALL_OW 277
// req2_sib = req2_sib - tmp2 ;
21363: LD_ADDR_EXP 91
21367: PUSH
21368: LD_EXP 91
21372: PUSH
21373: LD_VAR 0 2
21377: MINUS
21378: ST_TO_ADDR
// end ; end ;
21379: GO 21273
21381: POP
21382: POP
// end ; 4 :
21383: GO 21429
21385: LD_INT 4
21387: DOUBLE
21388: EQUAL
21389: IFTRUE 21393
21391: GO 21428
21393: POP
// begin say ( john , D3Kc2-JMM-1 ) ;
21394: LD_EXP 173
21398: PPUSH
21399: LD_STRING D3Kc2-JMM-1
21401: PPUSH
21402: CALL_OW 88
// say ( kurt , D3Kc2-Kurt-1 ) ;
21406: LD_EXP 176
21410: PPUSH
21411: LD_STRING D3Kc2-Kurt-1
21413: PPUSH
21414: CALL_OW 88
// vyber = 1 ;
21418: LD_ADDR_LOC 24
21422: PUSH
21423: LD_INT 1
21425: ST_TO_ADDR
// end ; end ;
21426: GO 21429
21428: POP
// end ; end ;
21429: GO 21432
21431: POP
// end ; 3 :
21432: GO 21518
21434: LD_INT 3
21436: DOUBLE
21437: EQUAL
21438: IFTRUE 21442
21440: GO 21517
21442: POP
// begin say ( john , D4c-JMM-1 ) ;
21443: LD_EXP 173
21447: PPUSH
21448: LD_STRING D4c-JMM-1
21450: PPUSH
21451: CALL_OW 88
// say ( kurt , D4c-Kurt-1 ) ;
21455: LD_EXP 176
21459: PPUSH
21460: LD_STRING D4c-Kurt-1
21462: PPUSH
21463: CALL_OW 88
// say ( john , D4c-JMM-2 ) ;
21467: LD_EXP 173
21471: PPUSH
21472: LD_STRING D4c-JMM-2
21474: PPUSH
21475: CALL_OW 88
// say ( kurt , D4c-Kurt-2 ) ;
21479: LD_EXP 176
21483: PPUSH
21484: LD_STRING D4c-Kurt-2
21486: PPUSH
21487: CALL_OW 88
// legion_cheated = 1 ;
21491: LD_ADDR_EXP 226
21495: PUSH
21496: LD_INT 1
21498: ST_TO_ADDR
// vyber = 2 ;
21499: LD_ADDR_LOC 24
21503: PUSH
21504: LD_INT 2
21506: ST_TO_ADDR
// legion = 0 ;
21507: LD_ADDR_EXP 5
21511: PUSH
21512: LD_INT 0
21514: ST_TO_ADDR
// end ; end ;
21515: GO 21518
21517: POP
// end ; 4 :
21518: GO 23954
21520: LD_INT 4
21522: DOUBLE
21523: EQUAL
21524: IFTRUE 21528
21526: GO 23953
21528: POP
// begin say ( john , D3Kd-JMM-1 ) ;
21529: LD_EXP 173
21533: PPUSH
21534: LD_STRING D3Kd-JMM-1
21536: PPUSH
21537: CALL_OW 88
// if kurtloc = 0 then
21541: LD_EXP 178
21545: PUSH
21546: LD_INT 0
21548: EQUAL
21549: IFFALSE 21671
// begin str = Q2a ;
21551: LD_ADDR_VAR 0 3
21555: PUSH
21556: LD_STRING Q2a
21558: ST_TO_ADDR
// li = [ 1 ] ;
21559: LD_ADDR_VAR 0 4
21563: PUSH
21564: LD_INT 1
21566: PUSH
21567: EMPTY
21568: LIST
21569: ST_TO_ADDR
// if ( tmpc >= req_cans ) and ( tmps >= req_sib ) then
21570: LD_VAR 0 6
21574: PUSH
21575: LD_EXP 88
21579: GREATEREQUAL
21580: PUSH
21581: LD_VAR 0 5
21585: PUSH
21586: LD_EXP 87
21590: GREATEREQUAL
21591: AND
21592: IFFALSE 21611
// li = li ^ [ 2 ] ;
21594: LD_ADDR_VAR 0 4
21598: PUSH
21599: LD_VAR 0 4
21603: PUSH
21604: LD_INT 2
21606: PUSH
21607: EMPTY
21608: LIST
21609: ADD
21610: ST_TO_ADDR
// if ( tmpc >= req2_cans ) and ( tmps >= req2_sib ) then
21611: LD_VAR 0 6
21615: PUSH
21616: LD_EXP 92
21620: GREATEREQUAL
21621: PUSH
21622: LD_VAR 0 5
21626: PUSH
21627: LD_EXP 91
21631: GREATEREQUAL
21632: AND
21633: IFFALSE 21652
// li = li ^ [ 3 ] ;
21635: LD_ADDR_VAR 0 4
21639: PUSH
21640: LD_VAR 0 4
21644: PUSH
21645: LD_INT 3
21647: PUSH
21648: EMPTY
21649: LIST
21650: ADD
21651: ST_TO_ADDR
// li = li ^ [ 4 ] ;
21652: LD_ADDR_VAR 0 4
21656: PUSH
21657: LD_VAR 0 4
21661: PUSH
21662: LD_INT 4
21664: PUSH
21665: EMPTY
21666: LIST
21667: ADD
21668: ST_TO_ADDR
// end else
21669: GO 21789
// begin str = Q2aK ;
21671: LD_ADDR_VAR 0 3
21675: PUSH
21676: LD_STRING Q2aK
21678: ST_TO_ADDR
// li = [ 1 ] ;
21679: LD_ADDR_VAR 0 4
21683: PUSH
21684: LD_INT 1
21686: PUSH
21687: EMPTY
21688: LIST
21689: ST_TO_ADDR
// if ( tmpc >= req_cans_ ) and ( tmps >= req_sib_ ) then
21690: LD_VAR 0 6
21694: PUSH
21695: LD_EXP 90
21699: GREATEREQUAL
21700: PUSH
21701: LD_VAR 0 5
21705: PUSH
21706: LD_EXP 89
21710: GREATEREQUAL
21711: AND
21712: IFFALSE 21731
// li = li ^ [ 2 ] ;
21714: LD_ADDR_VAR 0 4
21718: PUSH
21719: LD_VAR 0 4
21723: PUSH
21724: LD_INT 2
21726: PUSH
21727: EMPTY
21728: LIST
21729: ADD
21730: ST_TO_ADDR
// if ( tmpc >= req2_cans_ ) and ( tmps >= req2_sib_ ) then
21731: LD_VAR 0 6
21735: PUSH
21736: LD_EXP 94
21740: GREATEREQUAL
21741: PUSH
21742: LD_VAR 0 5
21746: PUSH
21747: LD_EXP 93
21751: GREATEREQUAL
21752: AND
21753: IFFALSE 21772
// li = li ^ [ 3 ] ;
21755: LD_ADDR_VAR 0 4
21759: PUSH
21760: LD_VAR 0 4
21764: PUSH
21765: LD_INT 3
21767: PUSH
21768: EMPTY
21769: LIST
21770: ADD
21771: ST_TO_ADDR
// li = li ^ [ 4 ] ;
21772: LD_ADDR_VAR 0 4
21776: PUSH
21777: LD_VAR 0 4
21781: PUSH
21782: LD_INT 4
21784: PUSH
21785: EMPTY
21786: LIST
21787: ADD
21788: ST_TO_ADDR
// end ; vyber = selectivequery ( str , li ) ;
21789: LD_ADDR_LOC 24
21793: PUSH
21794: LD_VAR 0 3
21798: PPUSH
21799: LD_VAR 0 4
21803: PPUSH
21804: CALL_OW 98
21808: ST_TO_ADDR
// case vyber of 1 :
21809: LD_LOC 24
21813: PUSH
21814: LD_INT 1
21816: DOUBLE
21817: EQUAL
21818: IFTRUE 21822
21820: GO 21849
21822: POP
// begin say ( john , D3Ka-JMM-1 ) ;
21823: LD_EXP 173
21827: PPUSH
21828: LD_STRING D3Ka-JMM-1
21830: PPUSH
21831: CALL_OW 88
// say ( kurt , D3Ka-Kurt-1 ) ;
21835: LD_EXP 176
21839: PPUSH
21840: LD_STRING D3Ka-Kurt-1
21842: PPUSH
21843: CALL_OW 88
// end ; 2 :
21847: GO 23951
21849: LD_INT 2
21851: DOUBLE
21852: EQUAL
21853: IFTRUE 21857
21855: GO 22158
21857: POP
// begin legion = 0 ;
21858: LD_ADDR_EXP 5
21862: PUSH
21863: LD_INT 0
21865: ST_TO_ADDR
// say ( john , D3Kb-JMM-1 ) ;
21866: LD_EXP 173
21870: PPUSH
21871: LD_STRING D3Kb-JMM-1
21873: PPUSH
21874: CALL_OW 88
// say ( kurt , D3Kb-Kurt-1 ) ;
21878: LD_EXP 176
21882: PPUSH
21883: LD_STRING D3Kb-Kurt-1
21885: PPUSH
21886: CALL_OW 88
// if kurtloc then
21890: LD_EXP 178
21894: IFFALSE 21916
// begin req_cans = req_cans_ ;
21896: LD_ADDR_EXP 88
21900: PUSH
21901: LD_EXP 90
21905: ST_TO_ADDR
// req_sib = req_sib_ ;
21906: LD_ADDR_EXP 87
21910: PUSH
21911: LD_EXP 89
21915: ST_TO_ADDR
// end ; for tmp in depoty do
21916: LD_ADDR_VAR 0 1
21920: PUSH
21921: LD_VAR 0 7
21925: PUSH
21926: FOR_IN
21927: IFFALSE 22034
// begin tmp2 = getresourcetype ( getbase ( tmp ) , mat_cans ) ;
21929: LD_ADDR_VAR 0 2
21933: PUSH
21934: LD_VAR 0 1
21938: PPUSH
21939: CALL_OW 274
21943: PPUSH
21944: LD_INT 1
21946: PPUSH
21947: CALL_OW 275
21951: ST_TO_ADDR
// if tmp2 >= req_cans then
21952: LD_VAR 0 2
21956: PUSH
21957: LD_EXP 88
21961: GREATEREQUAL
21962: IFFALSE 21996
// begin setresourcetype ( getbase ( tmp ) , mat_cans , tmp2 - req_cans ) ;
21964: LD_VAR 0 1
21968: PPUSH
21969: CALL_OW 274
21973: PPUSH
21974: LD_INT 1
21976: PPUSH
21977: LD_VAR 0 2
21981: PUSH
21982: LD_EXP 88
21986: MINUS
21987: PPUSH
21988: CALL_OW 277
// break ;
21992: GO 22034
// end else
21994: GO 22032
// begin setresourcetype ( getbase ( tmp ) , mat_cans , 0 ) ;
21996: LD_VAR 0 1
22000: PPUSH
22001: CALL_OW 274
22005: PPUSH
22006: LD_INT 1
22008: PPUSH
22009: LD_INT 0
22011: PPUSH
22012: CALL_OW 277
// req_cans = req_cans - tmp2 ;
22016: LD_ADDR_EXP 88
22020: PUSH
22021: LD_EXP 88
22025: PUSH
22026: LD_VAR 0 2
22030: MINUS
22031: ST_TO_ADDR
// end ; end ;
22032: GO 21926
22034: POP
22035: POP
// for tmp in depoty do
22036: LD_ADDR_VAR 0 1
22040: PUSH
22041: LD_VAR 0 7
22045: PUSH
22046: FOR_IN
22047: IFFALSE 22154
// begin tmp2 = getresourcetype ( getbase ( tmp ) , mat_siberit ) ;
22049: LD_ADDR_VAR 0 2
22053: PUSH
22054: LD_VAR 0 1
22058: PPUSH
22059: CALL_OW 274
22063: PPUSH
22064: LD_INT 3
22066: PPUSH
22067: CALL_OW 275
22071: ST_TO_ADDR
// if tmp2 >= req_sib then
22072: LD_VAR 0 2
22076: PUSH
22077: LD_EXP 87
22081: GREATEREQUAL
22082: IFFALSE 22116
// begin setresourcetype ( getbase ( tmp ) , mat_siberit , tmp2 - req_sib ) ;
22084: LD_VAR 0 1
22088: PPUSH
22089: CALL_OW 274
22093: PPUSH
22094: LD_INT 3
22096: PPUSH
22097: LD_VAR 0 2
22101: PUSH
22102: LD_EXP 87
22106: MINUS
22107: PPUSH
22108: CALL_OW 277
// break ;
22112: GO 22154
// end else
22114: GO 22152
// begin setresourcetype ( getbase ( tmp ) , mat_siberit , 0 ) ;
22116: LD_VAR 0 1
22120: PPUSH
22121: CALL_OW 274
22125: PPUSH
22126: LD_INT 3
22128: PPUSH
22129: LD_INT 0
22131: PPUSH
22132: CALL_OW 277
// req_sib = req_sib - tmp2 ;
22136: LD_ADDR_EXP 87
22140: PUSH
22141: LD_EXP 87
22145: PUSH
22146: LD_VAR 0 2
22150: MINUS
22151: ST_TO_ADDR
// end ; end ;
22152: GO 22046
22154: POP
22155: POP
// end ; 3 :
22156: GO 23951
22158: LD_INT 3
22160: DOUBLE
22161: EQUAL
22162: IFTRUE 22166
22164: GO 22467
22166: POP
// begin legion = 1 ;
22167: LD_ADDR_EXP 5
22171: PUSH
22172: LD_INT 1
22174: ST_TO_ADDR
// say ( john , D3Ke-JMM-1 ) ;
22175: LD_EXP 173
22179: PPUSH
22180: LD_STRING D3Ke-JMM-1
22182: PPUSH
22183: CALL_OW 88
// say ( kurt , D3Ke-Kurt-1 ) ;
22187: LD_EXP 176
22191: PPUSH
22192: LD_STRING D3Ke-Kurt-1
22194: PPUSH
22195: CALL_OW 88
// if kurtloc then
22199: LD_EXP 178
22203: IFFALSE 22225
// begin req2_cans = req2_cans_ ;
22205: LD_ADDR_EXP 92
22209: PUSH
22210: LD_EXP 94
22214: ST_TO_ADDR
// req2_sib = req2_sib_ ;
22215: LD_ADDR_EXP 91
22219: PUSH
22220: LD_EXP 93
22224: ST_TO_ADDR
// end ; for tmp in depoty do
22225: LD_ADDR_VAR 0 1
22229: PUSH
22230: LD_VAR 0 7
22234: PUSH
22235: FOR_IN
22236: IFFALSE 22343
// begin tmp2 = getresourcetype ( getbase ( tmp ) , mat_cans ) ;
22238: LD_ADDR_VAR 0 2
22242: PUSH
22243: LD_VAR 0 1
22247: PPUSH
22248: CALL_OW 274
22252: PPUSH
22253: LD_INT 1
22255: PPUSH
22256: CALL_OW 275
22260: ST_TO_ADDR
// if tmp2 >= req2_cans then
22261: LD_VAR 0 2
22265: PUSH
22266: LD_EXP 92
22270: GREATEREQUAL
22271: IFFALSE 22305
// begin setresourcetype ( getbase ( tmp ) , mat_cans , tmp2 - req2_cans ) ;
22273: LD_VAR 0 1
22277: PPUSH
22278: CALL_OW 274
22282: PPUSH
22283: LD_INT 1
22285: PPUSH
22286: LD_VAR 0 2
22290: PUSH
22291: LD_EXP 92
22295: MINUS
22296: PPUSH
22297: CALL_OW 277
// break ;
22301: GO 22343
// end else
22303: GO 22341
// begin setresourcetype ( getbase ( tmp ) , mat_cans , 0 ) ;
22305: LD_VAR 0 1
22309: PPUSH
22310: CALL_OW 274
22314: PPUSH
22315: LD_INT 1
22317: PPUSH
22318: LD_INT 0
22320: PPUSH
22321: CALL_OW 277
// req2_cans = req2_cans - tmp2 ;
22325: LD_ADDR_EXP 92
22329: PUSH
22330: LD_EXP 92
22334: PUSH
22335: LD_VAR 0 2
22339: MINUS
22340: ST_TO_ADDR
// end ; end ;
22341: GO 22235
22343: POP
22344: POP
// for tmp in depoty do
22345: LD_ADDR_VAR 0 1
22349: PUSH
22350: LD_VAR 0 7
22354: PUSH
22355: FOR_IN
22356: IFFALSE 22463
// begin tmp2 = getresourcetype ( getbase ( tmp ) , mat_siberit ) ;
22358: LD_ADDR_VAR 0 2
22362: PUSH
22363: LD_VAR 0 1
22367: PPUSH
22368: CALL_OW 274
22372: PPUSH
22373: LD_INT 3
22375: PPUSH
22376: CALL_OW 275
22380: ST_TO_ADDR
// if tmp2 >= req2_sib then
22381: LD_VAR 0 2
22385: PUSH
22386: LD_EXP 91
22390: GREATEREQUAL
22391: IFFALSE 22425
// begin setresourcetype ( getbase ( tmp ) , mat_siberit , tmp2 - req2_sib ) ;
22393: LD_VAR 0 1
22397: PPUSH
22398: CALL_OW 274
22402: PPUSH
22403: LD_INT 3
22405: PPUSH
22406: LD_VAR 0 2
22410: PUSH
22411: LD_EXP 91
22415: MINUS
22416: PPUSH
22417: CALL_OW 277
// break ;
22421: GO 22463
// end else
22423: GO 22461
// begin setresourcetype ( getbase ( tmp ) , mat_siberit , 0 ) ;
22425: LD_VAR 0 1
22429: PPUSH
22430: CALL_OW 274
22434: PPUSH
22435: LD_INT 3
22437: PPUSH
22438: LD_INT 0
22440: PPUSH
22441: CALL_OW 277
// req2_sib = req2_sib - tmp2 ;
22445: LD_ADDR_EXP 91
22449: PUSH
22450: LD_EXP 91
22454: PUSH
22455: LD_VAR 0 2
22459: MINUS
22460: ST_TO_ADDR
// end ; end ;
22461: GO 22355
22463: POP
22464: POP
// end ; 4 :
22465: GO 23951
22467: LD_INT 4
22469: DOUBLE
22470: EQUAL
22471: IFTRUE 22475
22473: GO 23950
22475: POP
// begin say ( john , D3Kc1-JMM-1 ) ;
22476: LD_EXP 173
22480: PPUSH
22481: LD_STRING D3Kc1-JMM-1
22483: PPUSH
22484: CALL_OW 88
// say ( kurt , D3Kc1-Kurt-1 ) ;
22488: LD_EXP 176
22492: PPUSH
22493: LD_STRING D3Kc1-Kurt-1
22495: PPUSH
22496: CALL_OW 88
// say ( john , D3Kc1-JMM-2 ) ;
22500: LD_EXP 173
22504: PPUSH
22505: LD_STRING D3Kc1-JMM-2
22507: PPUSH
22508: CALL_OW 88
// say ( kurt , D3Kc1-Kurt-2 ) ;
22512: LD_EXP 176
22516: PPUSH
22517: LD_STRING D3Kc1-Kurt-2
22519: PPUSH
22520: CALL_OW 88
// pr_loz = 1 ;
22524: LD_ADDR_EXP 224
22528: PUSH
22529: LD_INT 1
22531: ST_TO_ADDR
// case selectivequery ( Q2b , [ 1 , 2 , 3 ] ) of 1 , 2 :
22532: LD_STRING Q2b
22534: PPUSH
22535: LD_INT 1
22537: PUSH
22538: LD_INT 2
22540: PUSH
22541: LD_INT 3
22543: PUSH
22544: EMPTY
22545: LIST
22546: LIST
22547: LIST
22548: PPUSH
22549: CALL_OW 98
22553: PUSH
22554: LD_INT 1
22556: DOUBLE
22557: EQUAL
22558: IFTRUE 22568
22560: LD_INT 2
22562: DOUBLE
22563: EQUAL
22564: IFTRUE 22568
22566: GO 23341
22568: POP
// begin if vyber = 1 then
22569: LD_LOC 24
22573: PUSH
22574: LD_INT 1
22576: EQUAL
22577: IFFALSE 22593
// say ( john , D4a-JMM-1 ) else
22579: LD_EXP 173
22583: PPUSH
22584: LD_STRING D4a-JMM-1
22586: PPUSH
22587: CALL_OW 88
22591: GO 22617
// begin say ( john , D4b-JMM-1 ) ;
22593: LD_EXP 173
22597: PPUSH
22598: LD_STRING D4b-JMM-1
22600: PPUSH
22601: CALL_OW 88
// say ( kurt , D4b-Kurt-1 ) ;
22605: LD_EXP 176
22609: PPUSH
22610: LD_STRING D4b-Kurt-1
22612: PPUSH
22613: CALL_OW 88
// end ; vyber = selectivequery ( str , li ) ;
22617: LD_ADDR_LOC 24
22621: PUSH
22622: LD_VAR 0 3
22626: PPUSH
22627: LD_VAR 0 4
22631: PPUSH
22632: CALL_OW 98
22636: ST_TO_ADDR
// case vyber of 1 :
22637: LD_LOC 24
22641: PUSH
22642: LD_INT 1
22644: DOUBLE
22645: EQUAL
22646: IFTRUE 22650
22648: GO 22677
22650: POP
// begin say ( john , D3Ka-JMM-1 ) ;
22651: LD_EXP 173
22655: PPUSH
22656: LD_STRING D3Ka-JMM-1
22658: PPUSH
22659: CALL_OW 88
// say ( kurt , D3Ka-Kurt-1 ) ;
22663: LD_EXP 176
22667: PPUSH
22668: LD_STRING D3Ka-Kurt-1
22670: PPUSH
22671: CALL_OW 88
// end ; 2 :
22675: GO 23339
22677: LD_INT 2
22679: DOUBLE
22680: EQUAL
22681: IFTRUE 22685
22683: GO 22986
22685: POP
// begin legion = 0 ;
22686: LD_ADDR_EXP 5
22690: PUSH
22691: LD_INT 0
22693: ST_TO_ADDR
// say ( john , D3Kb-JMM-1 ) ;
22694: LD_EXP 173
22698: PPUSH
22699: LD_STRING D3Kb-JMM-1
22701: PPUSH
22702: CALL_OW 88
// say ( kurt , D3Kb-Kurt-1 ) ;
22706: LD_EXP 176
22710: PPUSH
22711: LD_STRING D3Kb-Kurt-1
22713: PPUSH
22714: CALL_OW 88
// if kurtloc then
22718: LD_EXP 178
22722: IFFALSE 22744
// begin req_cans = req_cans_ ;
22724: LD_ADDR_EXP 88
22728: PUSH
22729: LD_EXP 90
22733: ST_TO_ADDR
// req_sib = req_sib_ ;
22734: LD_ADDR_EXP 87
22738: PUSH
22739: LD_EXP 89
22743: ST_TO_ADDR
// end ; for tmp in depoty do
22744: LD_ADDR_VAR 0 1
22748: PUSH
22749: LD_VAR 0 7
22753: PUSH
22754: FOR_IN
22755: IFFALSE 22862
// begin tmp2 = getresourcetype ( getbase ( tmp ) , mat_cans ) ;
22757: LD_ADDR_VAR 0 2
22761: PUSH
22762: LD_VAR 0 1
22766: PPUSH
22767: CALL_OW 274
22771: PPUSH
22772: LD_INT 1
22774: PPUSH
22775: CALL_OW 275
22779: ST_TO_ADDR
// if tmp2 >= req_cans then
22780: LD_VAR 0 2
22784: PUSH
22785: LD_EXP 88
22789: GREATEREQUAL
22790: IFFALSE 22824
// begin setresourcetype ( getbase ( tmp ) , mat_cans , tmp2 - req_cans ) ;
22792: LD_VAR 0 1
22796: PPUSH
22797: CALL_OW 274
22801: PPUSH
22802: LD_INT 1
22804: PPUSH
22805: LD_VAR 0 2
22809: PUSH
22810: LD_EXP 88
22814: MINUS
22815: PPUSH
22816: CALL_OW 277
// break ;
22820: GO 22862
// end else
22822: GO 22860
// begin setresourcetype ( getbase ( tmp ) , mat_cans , 0 ) ;
22824: LD_VAR 0 1
22828: PPUSH
22829: CALL_OW 274
22833: PPUSH
22834: LD_INT 1
22836: PPUSH
22837: LD_INT 0
22839: PPUSH
22840: CALL_OW 277
// req_cans = req_cans - tmp2 ;
22844: LD_ADDR_EXP 88
22848: PUSH
22849: LD_EXP 88
22853: PUSH
22854: LD_VAR 0 2
22858: MINUS
22859: ST_TO_ADDR
// end ; end ;
22860: GO 22754
22862: POP
22863: POP
// for tmp in depoty do
22864: LD_ADDR_VAR 0 1
22868: PUSH
22869: LD_VAR 0 7
22873: PUSH
22874: FOR_IN
22875: IFFALSE 22982
// begin tmp2 = getresourcetype ( getbase ( tmp ) , mat_siberit ) ;
22877: LD_ADDR_VAR 0 2
22881: PUSH
22882: LD_VAR 0 1
22886: PPUSH
22887: CALL_OW 274
22891: PPUSH
22892: LD_INT 3
22894: PPUSH
22895: CALL_OW 275
22899: ST_TO_ADDR
// if tmp2 >= req_sib then
22900: LD_VAR 0 2
22904: PUSH
22905: LD_EXP 87
22909: GREATEREQUAL
22910: IFFALSE 22944
// begin setresourcetype ( getbase ( tmp ) , mat_siberit , tmp2 - req_sib ) ;
22912: LD_VAR 0 1
22916: PPUSH
22917: CALL_OW 274
22921: PPUSH
22922: LD_INT 3
22924: PPUSH
22925: LD_VAR 0 2
22929: PUSH
22930: LD_EXP 87
22934: MINUS
22935: PPUSH
22936: CALL_OW 277
// break ;
22940: GO 22982
// end else
22942: GO 22980
// begin setresourcetype ( getbase ( tmp ) , mat_siberit , 0 ) ;
22944: LD_VAR 0 1
22948: PPUSH
22949: CALL_OW 274
22953: PPUSH
22954: LD_INT 3
22956: PPUSH
22957: LD_INT 0
22959: PPUSH
22960: CALL_OW 277
// req_sib = req_sib - tmp2 ;
22964: LD_ADDR_EXP 87
22968: PUSH
22969: LD_EXP 87
22973: PUSH
22974: LD_VAR 0 2
22978: MINUS
22979: ST_TO_ADDR
// end ; end ;
22980: GO 22874
22982: POP
22983: POP
// end ; 3 :
22984: GO 23339
22986: LD_INT 3
22988: DOUBLE
22989: EQUAL
22990: IFTRUE 22994
22992: GO 23295
22994: POP
// begin legion = 1 ;
22995: LD_ADDR_EXP 5
22999: PUSH
23000: LD_INT 1
23002: ST_TO_ADDR
// say ( john , D3Ke-JMM-1 ) ;
23003: LD_EXP 173
23007: PPUSH
23008: LD_STRING D3Ke-JMM-1
23010: PPUSH
23011: CALL_OW 88
// say ( kurt , D3Ke-Kurt-1 ) ;
23015: LD_EXP 176
23019: PPUSH
23020: LD_STRING D3Ke-Kurt-1
23022: PPUSH
23023: CALL_OW 88
// if kurtloc then
23027: LD_EXP 178
23031: IFFALSE 23053
// begin req2_cans = req2_cans_ ;
23033: LD_ADDR_EXP 92
23037: PUSH
23038: LD_EXP 94
23042: ST_TO_ADDR
// req2_sib = req2_sib_ ;
23043: LD_ADDR_EXP 91
23047: PUSH
23048: LD_EXP 93
23052: ST_TO_ADDR
// end ; for tmp in depoty do
23053: LD_ADDR_VAR 0 1
23057: PUSH
23058: LD_VAR 0 7
23062: PUSH
23063: FOR_IN
23064: IFFALSE 23171
// begin tmp2 = getresourcetype ( getbase ( tmp ) , mat_cans ) ;
23066: LD_ADDR_VAR 0 2
23070: PUSH
23071: LD_VAR 0 1
23075: PPUSH
23076: CALL_OW 274
23080: PPUSH
23081: LD_INT 1
23083: PPUSH
23084: CALL_OW 275
23088: ST_TO_ADDR
// if tmp2 >= req2_cans then
23089: LD_VAR 0 2
23093: PUSH
23094: LD_EXP 92
23098: GREATEREQUAL
23099: IFFALSE 23133
// begin setresourcetype ( getbase ( tmp ) , mat_cans , tmp2 - req2_cans ) ;
23101: LD_VAR 0 1
23105: PPUSH
23106: CALL_OW 274
23110: PPUSH
23111: LD_INT 1
23113: PPUSH
23114: LD_VAR 0 2
23118: PUSH
23119: LD_EXP 92
23123: MINUS
23124: PPUSH
23125: CALL_OW 277
// break ;
23129: GO 23171
// end else
23131: GO 23169
// begin setresourcetype ( getbase ( tmp ) , mat_cans , 0 ) ;
23133: LD_VAR 0 1
23137: PPUSH
23138: CALL_OW 274
23142: PPUSH
23143: LD_INT 1
23145: PPUSH
23146: LD_INT 0
23148: PPUSH
23149: CALL_OW 277
// req2_cans = req2_cans - tmp2 ;
23153: LD_ADDR_EXP 92
23157: PUSH
23158: LD_EXP 92
23162: PUSH
23163: LD_VAR 0 2
23167: MINUS
23168: ST_TO_ADDR
// end ; end ;
23169: GO 23063
23171: POP
23172: POP
// for tmp in depoty do
23173: LD_ADDR_VAR 0 1
23177: PUSH
23178: LD_VAR 0 7
23182: PUSH
23183: FOR_IN
23184: IFFALSE 23291
// begin tmp2 = getresourcetype ( getbase ( tmp ) , mat_siberit ) ;
23186: LD_ADDR_VAR 0 2
23190: PUSH
23191: LD_VAR 0 1
23195: PPUSH
23196: CALL_OW 274
23200: PPUSH
23201: LD_INT 3
23203: PPUSH
23204: CALL_OW 275
23208: ST_TO_ADDR
// if tmp2 >= req2_sib then
23209: LD_VAR 0 2
23213: PUSH
23214: LD_EXP 91
23218: GREATEREQUAL
23219: IFFALSE 23253
// begin setresourcetype ( getbase ( tmp ) , mat_siberit , tmp2 - req2_sib ) ;
23221: LD_VAR 0 1
23225: PPUSH
23226: CALL_OW 274
23230: PPUSH
23231: LD_INT 3
23233: PPUSH
23234: LD_VAR 0 2
23238: PUSH
23239: LD_EXP 91
23243: MINUS
23244: PPUSH
23245: CALL_OW 277
// break ;
23249: GO 23291
// end else
23251: GO 23289
// begin setresourcetype ( getbase ( tmp ) , mat_siberit , 0 ) ;
23253: LD_VAR 0 1
23257: PPUSH
23258: CALL_OW 274
23262: PPUSH
23263: LD_INT 3
23265: PPUSH
23266: LD_INT 0
23268: PPUSH
23269: CALL_OW 277
// req2_sib = req2_sib - tmp2 ;
23273: LD_ADDR_EXP 91
23277: PUSH
23278: LD_EXP 91
23282: PUSH
23283: LD_VAR 0 2
23287: MINUS
23288: ST_TO_ADDR
// end ; end ;
23289: GO 23183
23291: POP
23292: POP
// end ; 4 :
23293: GO 23339
23295: LD_INT 4
23297: DOUBLE
23298: EQUAL
23299: IFTRUE 23303
23301: GO 23338
23303: POP
// begin say ( john , D3Kc2-JMM-1 ) ;
23304: LD_EXP 173
23308: PPUSH
23309: LD_STRING D3Kc2-JMM-1
23311: PPUSH
23312: CALL_OW 88
// say ( kurt , D3Kc2-Kurt-1 ) ;
23316: LD_EXP 176
23320: PPUSH
23321: LD_STRING D3Kc2-Kurt-1
23323: PPUSH
23324: CALL_OW 88
// vyber = 1 ;
23328: LD_ADDR_LOC 24
23332: PUSH
23333: LD_INT 1
23335: ST_TO_ADDR
// end ; end ;
23336: GO 23339
23338: POP
// end ; 3 :
23339: GO 23948
23341: LD_INT 3
23343: DOUBLE
23344: EQUAL
23345: IFTRUE 23349
23347: GO 23947
23349: POP
// begin say ( john , D4c-JMM-1 ) ;
23350: LD_EXP 173
23354: PPUSH
23355: LD_STRING D4c-JMM-1
23357: PPUSH
23358: CALL_OW 88
// say ( kurt , D4c-Kurt-1 ) ;
23362: LD_EXP 176
23366: PPUSH
23367: LD_STRING D4c-Kurt-1
23369: PPUSH
23370: CALL_OW 88
// say ( john , D4c-JMM-2 ) ;
23374: LD_EXP 173
23378: PPUSH
23379: LD_STRING D4c-JMM-2
23381: PPUSH
23382: CALL_OW 88
// say ( kurt , D4c-Kurt-2 ) ;
23386: LD_EXP 176
23390: PPUSH
23391: LD_STRING D4c-Kurt-2
23393: PPUSH
23394: CALL_OW 88
// legion_cheated = 1 ;
23398: LD_ADDR_EXP 226
23402: PUSH
23403: LD_INT 1
23405: ST_TO_ADDR
// vyber = 2 ;
23406: LD_ADDR_LOC 24
23410: PUSH
23411: LD_INT 2
23413: ST_TO_ADDR
// legion = 0 ;
23414: LD_ADDR_EXP 5
23418: PUSH
23419: LD_INT 0
23421: ST_TO_ADDR
// li = [ 1 ] ;
23422: LD_ADDR_VAR 0 4
23426: PUSH
23427: LD_INT 1
23429: PUSH
23430: EMPTY
23431: LIST
23432: ST_TO_ADDR
// if kurtloc = 0 then
23433: LD_EXP 178
23437: PUSH
23438: LD_INT 0
23440: EQUAL
23441: IFFALSE 23494
// begin str = Q2c ;
23443: LD_ADDR_VAR 0 3
23447: PUSH
23448: LD_STRING Q2c
23450: ST_TO_ADDR
// if ( tmpc >= req_cans ) and ( tmps >= req_sib ) then
23451: LD_VAR 0 6
23455: PUSH
23456: LD_EXP 88
23460: GREATEREQUAL
23461: PUSH
23462: LD_VAR 0 5
23466: PUSH
23467: LD_EXP 87
23471: GREATEREQUAL
23472: AND
23473: IFFALSE 23492
// li = li ^ [ 2 ] ;
23475: LD_ADDR_VAR 0 4
23479: PUSH
23480: LD_VAR 0 4
23484: PUSH
23485: LD_INT 2
23487: PUSH
23488: EMPTY
23489: LIST
23490: ADD
23491: ST_TO_ADDR
// end else
23492: GO 23543
// begin str = Q2cK ;
23494: LD_ADDR_VAR 0 3
23498: PUSH
23499: LD_STRING Q2cK
23501: ST_TO_ADDR
// if ( tmpc >= req_cans_ ) and ( tmps >= req_sib_ ) then
23502: LD_VAR 0 6
23506: PUSH
23507: LD_EXP 90
23511: GREATEREQUAL
23512: PUSH
23513: LD_VAR 0 5
23517: PUSH
23518: LD_EXP 89
23522: GREATEREQUAL
23523: AND
23524: IFFALSE 23543
// li = li ^ [ 2 ] ;
23526: LD_ADDR_VAR 0 4
23530: PUSH
23531: LD_VAR 0 4
23535: PUSH
23536: LD_INT 2
23538: PUSH
23539: EMPTY
23540: LIST
23541: ADD
23542: ST_TO_ADDR
// end ; if li > 1 then
23543: LD_VAR 0 4
23547: PUSH
23548: LD_INT 1
23550: GREATER
23551: IFFALSE 23945
// begin vyber = selectivequery ( str , li ) ;
23553: LD_ADDR_LOC 24
23557: PUSH
23558: LD_VAR 0 3
23562: PPUSH
23563: LD_VAR 0 4
23567: PPUSH
23568: CALL_OW 98
23572: ST_TO_ADDR
// case vyber of 1 :
23573: LD_LOC 24
23577: PUSH
23578: LD_INT 1
23580: DOUBLE
23581: EQUAL
23582: IFTRUE 23586
23584: GO 23613
23586: POP
// begin say ( john , D5Ka-JMM-1 ) ;
23587: LD_EXP 173
23591: PPUSH
23592: LD_STRING D5Ka-JMM-1
23594: PPUSH
23595: CALL_OW 88
// say ( kurt , D5Ka-Kurt-1 ) ;
23599: LD_EXP 176
23603: PPUSH
23604: LD_STRING D5Ka-Kurt-1
23606: PPUSH
23607: CALL_OW 88
// end ; 2 :
23611: GO 23945
23613: LD_INT 2
23615: DOUBLE
23616: EQUAL
23617: IFTRUE 23621
23619: GO 23944
23621: POP
// begin legion = 1 ;
23622: LD_ADDR_EXP 5
23626: PUSH
23627: LD_INT 1
23629: ST_TO_ADDR
// say ( john , D3Ke-JMM-1 ) ;
23630: LD_EXP 173
23634: PPUSH
23635: LD_STRING D3Ke-JMM-1
23637: PPUSH
23638: CALL_OW 88
// say ( kurt , D3Ke-Kurt-1 ) ;
23642: LD_EXP 176
23646: PPUSH
23647: LD_STRING D3Ke-Kurt-1
23649: PPUSH
23650: CALL_OW 88
// if kurtloc then
23654: LD_EXP 178
23658: IFFALSE 23682
// begin req2_cans = req_cans_ ;
23660: LD_ADDR_EXP 92
23664: PUSH
23665: LD_EXP 90
23669: ST_TO_ADDR
// req2_sib = req_sib_ ;
23670: LD_ADDR_EXP 91
23674: PUSH
23675: LD_EXP 89
23679: ST_TO_ADDR
// end else
23680: GO 23702
// begin req2_cans = req_cans ;
23682: LD_ADDR_EXP 92
23686: PUSH
23687: LD_EXP 88
23691: ST_TO_ADDR
// req2_sib = req_sib ;
23692: LD_ADDR_EXP 91
23696: PUSH
23697: LD_EXP 87
23701: ST_TO_ADDR
// end ; for tmp in depoty do
23702: LD_ADDR_VAR 0 1
23706: PUSH
23707: LD_VAR 0 7
23711: PUSH
23712: FOR_IN
23713: IFFALSE 23820
// begin tmp2 = getresourcetype ( getbase ( tmp ) , mat_cans ) ;
23715: LD_ADDR_VAR 0 2
23719: PUSH
23720: LD_VAR 0 1
23724: PPUSH
23725: CALL_OW 274
23729: PPUSH
23730: LD_INT 1
23732: PPUSH
23733: CALL_OW 275
23737: ST_TO_ADDR
// if tmp2 >= req2_cans then
23738: LD_VAR 0 2
23742: PUSH
23743: LD_EXP 92
23747: GREATEREQUAL
23748: IFFALSE 23782
// begin setresourcetype ( getbase ( tmp ) , mat_cans , tmp2 - req2_cans ) ;
23750: LD_VAR 0 1
23754: PPUSH
23755: CALL_OW 274
23759: PPUSH
23760: LD_INT 1
23762: PPUSH
23763: LD_VAR 0 2
23767: PUSH
23768: LD_EXP 92
23772: MINUS
23773: PPUSH
23774: CALL_OW 277
// break ;
23778: GO 23820
// end else
23780: GO 23818
// begin setresourcetype ( getbase ( tmp ) , mat_cans , 0 ) ;
23782: LD_VAR 0 1
23786: PPUSH
23787: CALL_OW 274
23791: PPUSH
23792: LD_INT 1
23794: PPUSH
23795: LD_INT 0
23797: PPUSH
23798: CALL_OW 277
// req2_cans = req2_cans - tmp2 ;
23802: LD_ADDR_EXP 92
23806: PUSH
23807: LD_EXP 92
23811: PUSH
23812: LD_VAR 0 2
23816: MINUS
23817: ST_TO_ADDR
// end ; end ;
23818: GO 23712
23820: POP
23821: POP
// for tmp in depoty do
23822: LD_ADDR_VAR 0 1
23826: PUSH
23827: LD_VAR 0 7
23831: PUSH
23832: FOR_IN
23833: IFFALSE 23940
// begin tmp2 = getresourcetype ( getbase ( tmp ) , mat_siberit ) ;
23835: LD_ADDR_VAR 0 2
23839: PUSH
23840: LD_VAR 0 1
23844: PPUSH
23845: CALL_OW 274
23849: PPUSH
23850: LD_INT 3
23852: PPUSH
23853: CALL_OW 275
23857: ST_TO_ADDR
// if tmp2 >= req2_sib then
23858: LD_VAR 0 2
23862: PUSH
23863: LD_EXP 91
23867: GREATEREQUAL
23868: IFFALSE 23902
// begin setresourcetype ( getbase ( tmp ) , mat_siberit , tmp2 - req2_sib ) ;
23870: LD_VAR 0 1
23874: PPUSH
23875: CALL_OW 274
23879: PPUSH
23880: LD_INT 3
23882: PPUSH
23883: LD_VAR 0 2
23887: PUSH
23888: LD_EXP 91
23892: MINUS
23893: PPUSH
23894: CALL_OW 277
// break ;
23898: GO 23940
// end else
23900: GO 23938
// begin setresourcetype ( getbase ( tmp ) , mat_siberit , 0 ) ;
23902: LD_VAR 0 1
23906: PPUSH
23907: CALL_OW 274
23911: PPUSH
23912: LD_INT 3
23914: PPUSH
23915: LD_INT 0
23917: PPUSH
23918: CALL_OW 277
// req2_sib = req2_sib - tmp2 ;
23922: LD_ADDR_EXP 91
23926: PUSH
23927: LD_EXP 91
23931: PUSH
23932: LD_VAR 0 2
23936: MINUS
23937: ST_TO_ADDR
// end ; end ;
23938: GO 23832
23940: POP
23941: POP
// end ; end ;
23942: GO 23945
23944: POP
// end ; end ; end ;
23945: GO 23948
23947: POP
// end ; end ;
23948: GO 23951
23950: POP
// end ; end ;
23951: GO 23954
23953: POP
// changesidefog ( ar , ar ) ;
23954: LD_EXP 3
23958: PPUSH
23959: LD_EXP 3
23963: PPUSH
23964: CALL_OW 343
// dialogueoff ;
23968: CALL_OW 7
// smejdi_ar = [ ] ;
23972: LD_ADDR_EXP 227
23976: PUSH
23977: EMPTY
23978: ST_TO_ADDR
// case legion of - 1 :
23979: LD_EXP 5
23983: PUSH
23984: LD_INT 1
23986: NEG
23987: DOUBLE
23988: EQUAL
23989: IFTRUE 23993
23991: GO 24233
23993: POP
// begin setattitude ( rus , ar , att_friend , true ) ;
23994: LD_EXP 1
23998: PPUSH
23999: LD_EXP 3
24003: PPUSH
24004: LD_INT 1
24006: PPUSH
24007: LD_INT 1
24009: PPUSH
24010: CALL_OW 80
// uc_nation = nation_arabian ;
24014: LD_ADDR_OWVAR 21
24018: PUSH
24019: LD_INT 2
24021: ST_TO_ADDR
// uc_side = ar ;
24022: LD_ADDR_OWVAR 20
24026: PUSH
24027: LD_EXP 3
24031: ST_TO_ADDR
// preparesoldier ( sex_male , 6 ) ;
24032: LD_INT 1
24034: PPUSH
24035: LD_INT 6
24037: PPUSH
24038: CALL_OW 381
// tmp2 = createhuman ;
24042: LD_ADDR_VAR 0 2
24046: PUSH
24047: CALL_OW 44
24051: ST_TO_ADDR
// placeunitxyr ( tmp2 , 35 , 42 , 2 , false ) ;
24052: LD_VAR 0 2
24056: PPUSH
24057: LD_INT 35
24059: PPUSH
24060: LD_INT 42
24062: PPUSH
24063: LD_INT 2
24065: PPUSH
24066: LD_INT 0
24068: PPUSH
24069: CALL_OW 50
// complaceremotecharge ( tmp2 , 36 , 51 , 0 ) ;
24073: LD_VAR 0 2
24077: PPUSH
24078: LD_INT 36
24080: PPUSH
24081: LD_INT 51
24083: PPUSH
24084: LD_INT 0
24086: PPUSH
24087: CALL_OW 133
// addcommovexy ( tmp2 , 36 , 44 ) ;
24091: LD_VAR 0 2
24095: PPUSH
24096: LD_INT 36
24098: PPUSH
24099: LD_INT 44
24101: PPUSH
24102: CALL_OW 171
// addcomcrawl ( tmp2 ) ;
24106: LD_VAR 0 2
24110: PPUSH
24111: CALL_OW 197
// addcomturnxy ( tmp2 , 36 , 51 ) ;
24115: LD_VAR 0 2
24119: PPUSH
24120: LD_INT 36
24122: PPUSH
24123: LD_INT 51
24125: PPUSH
24126: CALL_OW 178
// preparesoldier ( sex_female , 6 ) ;
24130: LD_INT 2
24132: PPUSH
24133: LD_INT 6
24135: PPUSH
24136: CALL_OW 381
// tmp2 = createhuman ;
24140: LD_ADDR_VAR 0 2
24144: PUSH
24145: CALL_OW 44
24149: ST_TO_ADDR
// placeunitxyr ( tmp2 , 35 , 42 , 2 , false ) ;
24150: LD_VAR 0 2
24154: PPUSH
24155: LD_INT 35
24157: PPUSH
24158: LD_INT 42
24160: PPUSH
24161: LD_INT 2
24163: PPUSH
24164: LD_INT 0
24166: PPUSH
24167: CALL_OW 50
// complaceremotecharge ( tmp2 , 35 , 51 , 0 ) ;
24171: LD_VAR 0 2
24175: PPUSH
24176: LD_INT 35
24178: PPUSH
24179: LD_INT 51
24181: PPUSH
24182: LD_INT 0
24184: PPUSH
24185: CALL_OW 133
// addcommovexy ( tmp2 , 35 , 43 ) ;
24189: LD_VAR 0 2
24193: PPUSH
24194: LD_INT 35
24196: PPUSH
24197: LD_INT 43
24199: PPUSH
24200: CALL_OW 171
// addcomcrawl ( tmp2 ) ;
24204: LD_VAR 0 2
24208: PPUSH
24209: CALL_OW 197
// addcomturnxy ( tmp2 , 35 , 51 ) ;
24213: LD_VAR 0 2
24217: PPUSH
24218: LD_INT 35
24220: PPUSH
24221: LD_INT 51
24223: PPUSH
24224: CALL_OW 178
// enable ( 16 ) ;
24228: LD_INT 16
24230: ENABLE_MARKED
// end ; 0 :
24231: GO 24837
24233: LD_INT 0
24235: DOUBLE
24236: EQUAL
24237: IFTRUE 24241
24239: GO 24284
24241: POP
// begin setattitude ( am , ar , att_neutral , true ) ;
24242: LD_EXP 2
24246: PPUSH
24247: LD_EXP 3
24251: PPUSH
24252: LD_INT 0
24254: PPUSH
24255: LD_INT 1
24257: PPUSH
24258: CALL_OW 80
// setattitude ( rus , ar , att_neutral , true ) ;
24262: LD_EXP 1
24266: PPUSH
24267: LD_EXP 3
24271: PPUSH
24272: LD_INT 0
24274: PPUSH
24275: LD_INT 1
24277: PPUSH
24278: CALL_OW 80
// end ; 1 :
24282: GO 24837
24284: LD_INT 1
24286: DOUBLE
24287: EQUAL
24288: IFTRUE 24292
24290: GO 24836
24292: POP
// begin setattitude ( am , ar , att_friend , true ) ;
24293: LD_EXP 2
24297: PPUSH
24298: LD_EXP 3
24302: PPUSH
24303: LD_INT 1
24305: PPUSH
24306: LD_INT 1
24308: PPUSH
24309: CALL_OW 80
// setattitude ( rus , ar , att_enemy , true ) ;
24313: LD_EXP 1
24317: PPUSH
24318: LD_EXP 3
24322: PPUSH
24323: LD_INT 2
24325: PPUSH
24326: LD_INT 1
24328: PPUSH
24329: CALL_OW 80
// uc_nation = nation_arabian ;
24333: LD_ADDR_OWVAR 21
24337: PUSH
24338: LD_INT 2
24340: ST_TO_ADDR
// uc_side = am ;
24341: LD_ADDR_OWVAR 20
24345: PUSH
24346: LD_EXP 2
24350: ST_TO_ADDR
// vc_control = control_manual ;
24351: LD_ADDR_OWVAR 38
24355: PUSH
24356: LD_INT 1
24358: ST_TO_ADDR
// vc_engine = engine_siberite ;
24359: LD_ADDR_OWVAR 39
24363: PUSH
24364: LD_INT 3
24366: ST_TO_ADDR
// vc_chassis = arv0_ch ;
24367: LD_ADDR_OWVAR 37
24371: PUSH
24372: LD_EXP 130
24376: ST_TO_ADDR
// vc_weapon = arv0_wp ;
24377: LD_ADDR_OWVAR 40
24381: PUSH
24382: LD_EXP 131
24386: ST_TO_ADDR
// tmp2 = createvehicle ;
24387: LD_ADDR_VAR 0 2
24391: PUSH
24392: CALL_OW 45
24396: ST_TO_ADDR
// preparemechanic ( sex_male , arv0_dr ) ;
24397: LD_INT 1
24399: PPUSH
24400: LD_EXP 132
24404: PPUSH
24405: CALL_OW 383
// setdir ( tmp2 , 4 ) ;
24409: LD_VAR 0 2
24413: PPUSH
24414: LD_INT 4
24416: PPUSH
24417: CALL_OW 233
// placeunitxyr ( tmp2 , 144 , 96 , 2 , false ) ;
24421: LD_VAR 0 2
24425: PPUSH
24426: LD_INT 144
24428: PPUSH
24429: LD_INT 96
24431: PPUSH
24432: LD_INT 2
24434: PPUSH
24435: LD_INT 0
24437: PPUSH
24438: CALL_OW 50
// placehumaninunit ( createhuman , tmp2 ) ;
24442: CALL_OW 44
24446: PPUSH
24447: LD_VAR 0 2
24451: PPUSH
24452: CALL_OW 52
// tmp = [ tmp2 ] ;
24456: LD_ADDR_VAR 0 1
24460: PUSH
24461: LD_VAR 0 2
24465: PUSH
24466: EMPTY
24467: LIST
24468: ST_TO_ADDR
// vc_chassis = arv1_ch ;
24469: LD_ADDR_OWVAR 37
24473: PUSH
24474: LD_EXP 133
24478: ST_TO_ADDR
// vc_weapon = arv1_wp ;
24479: LD_ADDR_OWVAR 40
24483: PUSH
24484: LD_EXP 134
24488: ST_TO_ADDR
// tmp2 = createvehicle ;
24489: LD_ADDR_VAR 0 2
24493: PUSH
24494: CALL_OW 45
24498: ST_TO_ADDR
// preparemechanic ( sex_female , arv1_dr ) ;
24499: LD_INT 2
24501: PPUSH
24502: LD_EXP 135
24506: PPUSH
24507: CALL_OW 383
// setdir ( tmp2 , 4 ) ;
24511: LD_VAR 0 2
24515: PPUSH
24516: LD_INT 4
24518: PPUSH
24519: CALL_OW 233
// placeunitxyr ( tmp2 , 144 , 99 , 2 , false ) ;
24523: LD_VAR 0 2
24527: PPUSH
24528: LD_INT 144
24530: PPUSH
24531: LD_INT 99
24533: PPUSH
24534: LD_INT 2
24536: PPUSH
24537: LD_INT 0
24539: PPUSH
24540: CALL_OW 50
// placehumaninunit ( createhuman , tmp2 ) ;
24544: CALL_OW 44
24548: PPUSH
24549: LD_VAR 0 2
24553: PPUSH
24554: CALL_OW 52
// tmp = tmp ^ [ tmp2 ] ;
24558: LD_ADDR_VAR 0 1
24562: PUSH
24563: LD_VAR 0 1
24567: PUSH
24568: LD_VAR 0 2
24572: PUSH
24573: EMPTY
24574: LIST
24575: ADD
24576: ST_TO_ADDR
// vc_chassis = arv2_ch ;
24577: LD_ADDR_OWVAR 37
24581: PUSH
24582: LD_EXP 136
24586: ST_TO_ADDR
// vc_weapon = arv2_wp ;
24587: LD_ADDR_OWVAR 40
24591: PUSH
24592: LD_EXP 137
24596: ST_TO_ADDR
// tmp2 = createvehicle ;
24597: LD_ADDR_VAR 0 2
24601: PUSH
24602: CALL_OW 45
24606: ST_TO_ADDR
// preparemechanic ( sex_male , arv2_dr ) ;
24607: LD_INT 1
24609: PPUSH
24610: LD_EXP 138
24614: PPUSH
24615: CALL_OW 383
// setdir ( tmp2 , 4 ) ;
24619: LD_VAR 0 2
24623: PPUSH
24624: LD_INT 4
24626: PPUSH
24627: CALL_OW 233
// placeunitxyr ( tmp2 , 147 , 102 , 2 , false ) ;
24631: LD_VAR 0 2
24635: PPUSH
24636: LD_INT 147
24638: PPUSH
24639: LD_INT 102
24641: PPUSH
24642: LD_INT 2
24644: PPUSH
24645: LD_INT 0
24647: PPUSH
24648: CALL_OW 50
// placehumaninunit ( createhuman , tmp2 ) ;
24652: CALL_OW 44
24656: PPUSH
24657: LD_VAR 0 2
24661: PPUSH
24662: CALL_OW 52
// tmp = tmp ^ [ tmp2 ] ;
24666: LD_ADDR_VAR 0 1
24670: PUSH
24671: LD_VAR 0 1
24675: PUSH
24676: LD_VAR 0 2
24680: PUSH
24681: EMPTY
24682: LIST
24683: ADD
24684: ST_TO_ADDR
// preparesoldier ( sex_male , arsld0 ) ;
24685: LD_INT 1
24687: PPUSH
24688: LD_EXP 139
24692: PPUSH
24693: CALL_OW 381
// tmp2 = createhuman ;
24697: LD_ADDR_VAR 0 2
24701: PUSH
24702: CALL_OW 44
24706: ST_TO_ADDR
// placeunitxyr ( tmp2 , 143 , 97 , 2 , false ) ;
24707: LD_VAR 0 2
24711: PPUSH
24712: LD_INT 143
24714: PPUSH
24715: LD_INT 97
24717: PPUSH
24718: LD_INT 2
24720: PPUSH
24721: LD_INT 0
24723: PPUSH
24724: CALL_OW 50
// tmp = tmp ^ [ tmp2 ] ;
24728: LD_ADDR_VAR 0 1
24732: PUSH
24733: LD_VAR 0 1
24737: PUSH
24738: LD_VAR 0 2
24742: PUSH
24743: EMPTY
24744: LIST
24745: ADD
24746: ST_TO_ADDR
// preparesoldier ( sex_male , arsld1 ) ;
24747: LD_INT 1
24749: PPUSH
24750: LD_EXP 140
24754: PPUSH
24755: CALL_OW 381
// tmp2 = createhuman ;
24759: LD_ADDR_VAR 0 2
24763: PUSH
24764: CALL_OW 44
24768: ST_TO_ADDR
// placeunitxyr ( tmp2 , 147 , 100 , 2 , false ) ;
24769: LD_VAR 0 2
24773: PPUSH
24774: LD_INT 147
24776: PPUSH
24777: LD_INT 100
24779: PPUSH
24780: LD_INT 2
24782: PPUSH
24783: LD_INT 0
24785: PPUSH
24786: CALL_OW 50
// tmp = tmp ^ [ tmp2 ] ;
24790: LD_ADDR_VAR 0 1
24794: PUSH
24795: LD_VAR 0 1
24799: PUSH
24800: LD_VAR 0 2
24804: PUSH
24805: EMPTY
24806: LIST
24807: ADD
24808: ST_TO_ADDR
// commovexy ( tmp , 134 , 93 ) ;
24809: LD_VAR 0 1
24813: PPUSH
24814: LD_INT 134
24816: PPUSH
24817: LD_INT 93
24819: PPUSH
24820: CALL_OW 111
// smejdi_ar = tmp ;
24824: LD_ADDR_EXP 227
24828: PUSH
24829: LD_VAR 0 1
24833: ST_TO_ADDR
// end ; end ;
24834: GO 24837
24836: POP
// comenterunit ( kurt , kurt_veh ) ;
24837: LD_EXP 176
24841: PPUSH
24842: LD_EXP 177
24846: PPUSH
24847: CALL_OW 120
// while not isinunit ( kurt ) do
24851: LD_EXP 176
24855: PPUSH
24856: CALL_OW 310
24860: NOT
24861: IFFALSE 24886
// begin wait ( 0 0$1 ) ;
24863: LD_INT 35
24865: PPUSH
24866: CALL_OW 67
// comenterunit ( kurt , kurt_veh ) ;
24870: LD_EXP 176
24874: PPUSH
24875: LD_EXP 177
24879: PPUSH
24880: CALL_OW 120
// end ;
24884: GO 24851
// commovexy ( kurt_veh , 150 , 101 ) ;
24886: LD_EXP 177
24890: PPUSH
24891: LD_INT 150
24893: PPUSH
24894: LD_INT 101
24896: PPUSH
24897: CALL_OW 111
// enable ( 10 ) ;
24901: LD_INT 10
24903: ENABLE_MARKED
// enable ( 99 ) ;
24904: LD_INT 99
24906: ENABLE_MARKED
// hint ( Legion ) ;
24907: LD_STRING Legion
24909: PPUSH
24910: CALL_OW 339
// end ;
24914: PPOPN 7
24916: END
// export smejdi_ar ; every 0 0$1 trigger isplaced ( kurt ) and ( not hastask ( kurt_veh ) ) marked 99 do
24917: LD_EXP 176
24921: PPUSH
24922: CALL_OW 305
24926: PUSH
24927: LD_EXP 177
24931: PPUSH
24932: CALL_OW 314
24936: NOT
24937: AND
24938: IFFALSE 24959
24940: GO 24942
24942: DISABLE
// begin commovexy ( kurt_veh , 150 , 101 ) ;
24943: LD_EXP 177
24947: PPUSH
24948: LD_INT 150
24950: PPUSH
24951: LD_INT 101
24953: PPUSH
24954: CALL_OW 111
// enable ;
24958: ENABLE
// end ;
24959: END
// every 0 0$1 trigger isinarea ( kurt_veh , odjezd ) marked 10 do
24960: LD_EXP 177
24964: PPUSH
24965: LD_INT 10
24967: PPUSH
24968: CALL_OW 308
24972: IFFALSE 25020
24974: GO 24976
24976: DISABLE
// begin disable ( 99 ) ;
24977: LD_INT 99
24979: DISABLE_MARKED
// destroyunit ( kurt_veh ) ;
24980: LD_EXP 177
24984: PPUSH
24985: CALL_OW 65
// if legion = - 1 then
24989: LD_EXP 5
24993: PUSH
24994: LD_INT 1
24996: NEG
24997: EQUAL
24998: IFFALSE 25020
// setattitude ( am , ar , att_enemy , true ) ;
25000: LD_EXP 2
25004: PPUSH
25005: LD_EXP 3
25009: PPUSH
25010: LD_INT 2
25012: PPUSH
25013: LD_INT 1
25015: PPUSH
25016: CALL_OW 80
// end ;
25020: END
// every 0 0$0.5 trigger filterunitsinarea ( minefield , [ [ f_side , am ] , [ f_type , unit_human ] ] ) marked 16 do
25021: LD_INT 13
25023: PPUSH
25024: LD_INT 22
25026: PUSH
25027: LD_EXP 2
25031: PUSH
25032: EMPTY
25033: LIST
25034: LIST
25035: PUSH
25036: LD_INT 21
25038: PUSH
25039: LD_INT 1
25041: PUSH
25042: EMPTY
25043: LIST
25044: LIST
25045: PUSH
25046: EMPTY
25047: LIST
25048: LIST
25049: PPUSH
25050: CALL_OW 70
25054: IFFALSE 25094
25056: GO 25058
25058: DISABLE
// begin comfireexplosives ( filterallunits ( [ [ f_side , ar ] , [ f_type , unit_human ] ] ) ) ;
25059: LD_INT 22
25061: PUSH
25062: LD_EXP 3
25066: PUSH
25067: EMPTY
25068: LIST
25069: LIST
25070: PUSH
25071: LD_INT 21
25073: PUSH
25074: LD_INT 1
25076: PUSH
25077: EMPTY
25078: LIST
25079: LIST
25080: PUSH
25081: EMPTY
25082: LIST
25083: LIST
25084: PPUSH
25085: CALL_OW 69
25089: PPUSH
25090: CALL_OW 134
// end ;
25094: END
// every 0 0$0.85 trigger seexy ( am , 36 , 53 ) do var tmp , tmp1 , tmp2 ;
25095: LD_EXP 2
25099: PPUSH
25100: LD_INT 36
25102: PPUSH
25103: LD_INT 53
25105: PPUSH
25106: CALL_OW 293
25110: IFFALSE 25569
25112: GO 25114
25114: DISABLE
25115: LD_INT 0
25117: PPUSH
25118: PPUSH
25119: PPUSH
// begin dialogueon ;
25120: CALL_OW 6
// if isinarea ( john , vidimost ) then
25124: LD_EXP 173
25128: PPUSH
25129: LD_INT 12
25131: PPUSH
25132: CALL_OW 308
25136: IFFALSE 25186
// begin say ( john , D5-JMM-1 ) ;
25138: LD_EXP 173
25142: PPUSH
25143: LD_STRING D5-JMM-1
25145: PPUSH
25146: CALL_OW 88
// if isok ( lucy ) and ( legion = - 1 ) then
25150: LD_EXP 175
25154: PPUSH
25155: CALL_OW 302
25159: PUSH
25160: LD_EXP 5
25164: PUSH
25165: LD_INT 1
25167: NEG
25168: EQUAL
25169: AND
25170: IFFALSE 25184
// say ( lucy , D5-Don-1 ) ;
25172: LD_EXP 175
25176: PPUSH
25177: LD_STRING D5-Don-1
25179: PPUSH
25180: CALL_OW 88
// end else
25184: GO 25565
// begin tmp = filterunitsinarea ( vidimost , [ [ f_side , am ] , [ f_type , unit_human ] ] ) ;
25186: LD_ADDR_VAR 0 1
25190: PUSH
25191: LD_INT 12
25193: PPUSH
25194: LD_INT 22
25196: PUSH
25197: LD_EXP 2
25201: PUSH
25202: EMPTY
25203: LIST
25204: LIST
25205: PUSH
25206: LD_INT 21
25208: PUSH
25209: LD_INT 1
25211: PUSH
25212: EMPTY
25213: LIST
25214: LIST
25215: PUSH
25216: EMPTY
25217: LIST
25218: LIST
25219: PPUSH
25220: CALL_OW 70
25224: ST_TO_ADDR
// if not tmp then
25225: LD_VAR 0 1
25229: NOT
25230: IFFALSE 25376
// begin tmp2 = filterunitsinarea ( vidimost , [ [ f_side , am ] , [ f_type , unit_vehicle ] ] ) ;
25232: LD_ADDR_VAR 0 3
25236: PUSH
25237: LD_INT 12
25239: PPUSH
25240: LD_INT 22
25242: PUSH
25243: LD_EXP 2
25247: PUSH
25248: EMPTY
25249: LIST
25250: LIST
25251: PUSH
25252: LD_INT 21
25254: PUSH
25255: LD_INT 2
25257: PUSH
25258: EMPTY
25259: LIST
25260: LIST
25261: PUSH
25262: EMPTY
25263: LIST
25264: LIST
25265: PPUSH
25266: CALL_OW 70
25270: ST_TO_ADDR
// tmp = [ ] ;
25271: LD_ADDR_VAR 0 1
25275: PUSH
25276: EMPTY
25277: ST_TO_ADDR
// for tmp1 in tmp2 do
25278: LD_ADDR_VAR 0 2
25282: PUSH
25283: LD_VAR 0 3
25287: PUSH
25288: FOR_IN
25289: IFFALSE 25374
// case getcontrol ( tmp1 ) of control_manual :
25291: LD_VAR 0 2
25295: PPUSH
25296: CALL_OW 263
25300: PUSH
25301: LD_INT 1
25303: DOUBLE
25304: EQUAL
25305: IFTRUE 25309
25307: GO 25336
25309: POP
// tmp = tmp ^ [ isdrivenby ( tmp1 ) ] ; control_remote :
25310: LD_ADDR_VAR 0 1
25314: PUSH
25315: LD_VAR 0 1
25319: PUSH
25320: LD_VAR 0 2
25324: PPUSH
25325: CALL_OW 311
25329: PUSH
25330: EMPTY
25331: LIST
25332: ADD
25333: ST_TO_ADDR
25334: GO 25372
25336: LD_INT 2
25338: DOUBLE
25339: EQUAL
25340: IFTRUE 25344
25342: GO 25371
25344: POP
// tmp = tmp ^ [ iscontroledby ( tmp1 ) ] ; end ;
25345: LD_ADDR_VAR 0 1
25349: PUSH
25350: LD_VAR 0 1
25354: PUSH
25355: LD_VAR 0 2
25359: PPUSH
25360: CALL_OW 312
25364: PUSH
25365: EMPTY
25366: LIST
25367: ADD
25368: ST_TO_ADDR
25369: GO 25372
25371: POP
25372: GO 25288
25374: POP
25375: POP
// end ; if not tmp then
25376: LD_VAR 0 1
25380: NOT
25381: IFFALSE 25472
// begin tmp2 = filterallunits ( [ [ f_side , am ] , [ f_ok ] , [ f_type , unit_human ] ] ) diff [ john , lucy ] ;
25383: LD_ADDR_VAR 0 3
25387: PUSH
25388: LD_INT 22
25390: PUSH
25391: LD_EXP 2
25395: PUSH
25396: EMPTY
25397: LIST
25398: LIST
25399: PUSH
25400: LD_INT 50
25402: PUSH
25403: EMPTY
25404: LIST
25405: PUSH
25406: LD_INT 21
25408: PUSH
25409: LD_INT 1
25411: PUSH
25412: EMPTY
25413: LIST
25414: LIST
25415: PUSH
25416: EMPTY
25417: LIST
25418: LIST
25419: LIST
25420: PPUSH
25421: CALL_OW 69
25425: PUSH
25426: LD_EXP 173
25430: PUSH
25431: LD_EXP 175
25435: PUSH
25436: EMPTY
25437: LIST
25438: LIST
25439: DIFF
25440: ST_TO_ADDR
// tmp = [ nearestunittoxy ( tmp2 , 36 , 53 ) ] diff [ 0 ] ;
25441: LD_ADDR_VAR 0 1
25445: PUSH
25446: LD_VAR 0 3
25450: PPUSH
25451: LD_INT 36
25453: PPUSH
25454: LD_INT 53
25456: PPUSH
25457: CALL_OW 73
25461: PUSH
25462: EMPTY
25463: LIST
25464: PUSH
25465: LD_INT 0
25467: PUSH
25468: EMPTY
25469: LIST
25470: DIFF
25471: ST_TO_ADDR
// end ; if tmp then
25472: LD_VAR 0 1
25476: IFFALSE 25565
// begin if getsex ( tmp [ 1 ] ) = sex_female then
25478: LD_VAR 0 1
25482: PUSH
25483: LD_INT 1
25485: ARRAY
25486: PPUSH
25487: CALL_OW 258
25491: PUSH
25492: LD_INT 2
25494: EQUAL
25495: IFFALSE 25515
// say ( tmp [ 1 ] , D5-FSol1-1 ) else
25497: LD_VAR 0 1
25501: PUSH
25502: LD_INT 1
25504: ARRAY
25505: PPUSH
25506: LD_STRING D5-FSol1-1
25508: PPUSH
25509: CALL_OW 88
25513: GO 25531
// say ( tmp [ 1 ] , D5-Sol1-1 ) ;
25515: LD_VAR 0 1
25519: PUSH
25520: LD_INT 1
25522: ARRAY
25523: PPUSH
25524: LD_STRING D5-Sol1-1
25526: PPUSH
25527: CALL_OW 88
// if isok ( lucy ) and ( legion = - 1 ) then
25531: LD_EXP 175
25535: PPUSH
25536: CALL_OW 302
25540: PUSH
25541: LD_EXP 5
25545: PUSH
25546: LD_INT 1
25548: NEG
25549: EQUAL
25550: AND
25551: IFFALSE 25565
// say ( lucy , D5-Don-1 ) ;
25553: LD_EXP 175
25557: PPUSH
25558: LD_STRING D5-Don-1
25560: PPUSH
25561: CALL_OW 88
// end ; end ; dialogueoff ;
25565: CALL_OW 7
// end ;
25569: PPOPN 3
25571: END
// export ru_scies__ ; var lab_destroyed ; on unitdestroyed ( un ) do if un = john then
25572: LD_VAR 0 1
25576: PUSH
25577: LD_EXP 173
25581: EQUAL
25582: IFFALSE 25593
// youlost ( JMM ) else
25584: LD_STRING JMM
25586: PPUSH
25587: CALL_OW 104
25591: GO 25682
// if un = ru_lab then
25593: LD_VAR 0 1
25597: PUSH
25598: LD_INT 3
25600: EQUAL
25601: IFFALSE 25613
// lab_destroyed = true else
25603: LD_ADDR_LOC 29
25607: PUSH
25608: LD_INT 1
25610: ST_TO_ADDR
25611: GO 25682
// if un in ru_scies then
25613: LD_VAR 0 1
25617: PUSH
25618: LD_EXP 166
25622: IN
25623: IFFALSE 25655
// begin ru_scies__ = ru_scies__ - 1 ;
25625: LD_ADDR_EXP 228
25629: PUSH
25630: LD_EXP 228
25634: PUSH
25635: LD_INT 1
25637: MINUS
25638: ST_TO_ADDR
// if not ru_scies__ then
25639: LD_EXP 228
25643: NOT
25644: IFFALSE 25653
// changemissionobjectives ( M1a ) ;
25646: LD_STRING M1a
25648: PPUSH
25649: CALL_OW 337
// end else
25653: GO 25682
// if ( un = ruteleprt ) and ( telepmed <> 2 ) then
25655: LD_VAR 0 1
25659: PUSH
25660: LD_INT 10
25662: EQUAL
25663: PUSH
25664: LD_EXP 124
25668: PUSH
25669: LD_INT 2
25671: NONEQUAL
25672: AND
25673: IFFALSE 25682
// changemissionobjectives ( M2b ) ;
25675: LD_STRING M2b
25677: PPUSH
25678: CALL_OW 337
25682: PPOPN 1
25684: END
// function isplacedex ( l ) ; var tmp ; begin
25685: LD_INT 0
25687: PPUSH
25688: PPUSH
// result = false ;
25689: LD_ADDR_VAR 0 2
25693: PUSH
25694: LD_INT 0
25696: ST_TO_ADDR
// for tmp in l do
25697: LD_ADDR_VAR 0 3
25701: PUSH
25702: LD_VAR 0 1
25706: PUSH
25707: FOR_IN
25708: IFFALSE 25735
// if isplaced ( tmp ) then
25710: LD_VAR 0 3
25714: PPUSH
25715: CALL_OW 305
25719: IFFALSE 25733
// begin result = true ;
25721: LD_ADDR_VAR 0 2
25725: PUSH
25726: LD_INT 1
25728: ST_TO_ADDR
// exit ;
25729: POP
25730: POP
25731: GO 25737
// end ;
25733: GO 25707
25735: POP
25736: POP
// end ;
25737: LD_VAR 0 2
25741: RET
// every 0 0$0.4 trigger lab_destroyed do var tmp , tmq ;
25742: LD_LOC 29
25746: IFFALSE 26253
25748: GO 25750
25750: DISABLE
25751: LD_INT 0
25753: PPUSH
25754: PPUSH
// begin while isplacedex ( ru_scies ) do
25755: LD_EXP 166
25759: PPUSH
25760: CALL 25685 0 1
25764: IFFALSE 25775
// wait ( 0 0$1 ) ;
25766: LD_INT 35
25768: PPUSH
25769: CALL_OW 67
25773: GO 25755
// tmq = 0 ;
25775: LD_ADDR_VAR 0 2
25779: PUSH
25780: LD_INT 0
25782: ST_TO_ADDR
// for tmp in ru_scies do
25783: LD_ADDR_VAR 0 1
25787: PUSH
25788: LD_EXP 166
25792: PUSH
25793: FOR_IN
25794: IFFALSE 25823
// if getlives ( tmp ) then
25796: LD_VAR 0 1
25800: PPUSH
25801: CALL_OW 256
25805: IFFALSE 25821
// tmq = tmq + 1 ;
25807: LD_ADDR_VAR 0 2
25811: PUSH
25812: LD_VAR 0 2
25816: PUSH
25817: LD_INT 1
25819: PLUS
25820: ST_TO_ADDR
25821: GO 25793
25823: POP
25824: POP
// dialogueon ;
25825: CALL_OW 6
// case tmq of 5 :
25829: LD_VAR 0 2
25833: PUSH
25834: LD_INT 5
25836: DOUBLE
25837: EQUAL
25838: IFTRUE 25842
25840: GO 25901
25842: POP
// begin say ( john , D7a-JMM-1 ) ;
25843: LD_EXP 173
25847: PPUSH
25848: LD_STRING D7a-JMM-1
25850: PPUSH
25851: CALL_OW 88
// say ( powell , D7a-Pow-1 ) ;
25855: LD_EXP 174
25859: PPUSH
25860: LD_STRING D7a-Pow-1
25862: PPUSH
25863: CALL_OW 88
// addmedal ( Materials , - 1 ) ;
25867: LD_STRING Materials
25869: PPUSH
25870: LD_INT 1
25872: NEG
25873: PPUSH
25874: CALL_OW 101
// addmedal ( Scientists , - 1 ) ;
25878: LD_STRING Scientists
25880: PPUSH
25881: LD_INT 1
25883: NEG
25884: PPUSH
25885: CALL_OW 101
// savevariable ( 1 , vedci_zdrhli ) ;
25889: LD_INT 1
25891: PPUSH
25892: LD_STRING vedci_zdrhli
25894: PPUSH
25895: CALL_OW 39
// end ; 4 , 3 , 2 , 1 :
25899: GO 26011
25901: LD_INT 4
25903: DOUBLE
25904: EQUAL
25905: IFTRUE 25927
25907: LD_INT 3
25909: DOUBLE
25910: EQUAL
25911: IFTRUE 25927
25913: LD_INT 2
25915: DOUBLE
25916: EQUAL
25917: IFTRUE 25927
25919: LD_INT 1
25921: DOUBLE
25922: EQUAL
25923: IFTRUE 25927
25925: GO 25965
25927: POP
// begin say ( john , D7b-JMM-1 ) ;
25928: LD_EXP 173
25932: PPUSH
25933: LD_STRING D7b-JMM-1
25935: PPUSH
25936: CALL_OW 88
// say ( powell , D7b-Pow-1 ) ;
25940: LD_EXP 174
25944: PPUSH
25945: LD_STRING D7b-Pow-1
25947: PPUSH
25948: CALL_OW 88
// addmedal ( Scientists , - 1 ) ;
25952: LD_STRING Scientists
25954: PPUSH
25955: LD_INT 1
25957: NEG
25958: PPUSH
25959: CALL_OW 101
// end ; 0 :
25963: GO 26011
25965: LD_INT 0
25967: DOUBLE
25968: EQUAL
25969: IFTRUE 25973
25971: GO 26010
25973: POP
// begin say ( john , D7c-JMM-1 ) ;
25974: LD_EXP 173
25978: PPUSH
25979: LD_STRING D7c-JMM-1
25981: PPUSH
25982: CALL_OW 88
// say ( powell , D7c-Pow-1 ) ;
25986: LD_EXP 174
25990: PPUSH
25991: LD_STRING D7c-Pow-1
25993: PPUSH
25994: CALL_OW 88
// addmedal ( Scientists , 1 ) ;
25998: LD_STRING Scientists
26000: PPUSH
26001: LD_INT 1
26003: PPUSH
26004: CALL_OW 101
// end ; end ;
26008: GO 26011
26010: POP
// if tmq < 5 then
26011: LD_VAR 0 2
26015: PUSH
26016: LD_INT 5
26018: LESS
26019: IFFALSE 26121
// begin savevariable ( 0 , vedci_zdrhli ) ;
26021: LD_INT 0
26023: PPUSH
26024: LD_STRING vedci_zdrhli
26026: PPUSH
26027: CALL_OW 39
// say ( john , D7d-JMM-1 ) ;
26031: LD_EXP 173
26035: PPUSH
26036: LD_STRING D7d-JMM-1
26038: PPUSH
26039: CALL_OW 88
// say ( powell , D7d-Pow-1 ) ;
26043: LD_EXP 174
26047: PPUSH
26048: LD_STRING D7d-Pow-1
26050: PPUSH
26051: CALL_OW 88
// say ( john , D7d-JMM-2 ) ;
26055: LD_EXP 173
26059: PPUSH
26060: LD_STRING D7d-JMM-2
26062: PPUSH
26063: CALL_OW 88
// if pr_loz then
26067: LD_EXP 224
26071: IFFALSE 26087
// say ( john , D7d-JMM-2a ) else
26073: LD_EXP 173
26077: PPUSH
26078: LD_STRING D7d-JMM-2a
26080: PPUSH
26081: CALL_OW 88
26085: GO 26099
// say ( powell , D7d-Pow-2 ) ;
26087: LD_EXP 174
26091: PPUSH
26092: LD_STRING D7d-Pow-2
26094: PPUSH
26095: CALL_OW 88
// say ( powell , D7d-Pow-2a ) ;
26099: LD_EXP 174
26103: PPUSH
26104: LD_STRING D7d-Pow-2a
26106: PPUSH
26107: CALL_OW 88
// addmedal ( Materials , 1 ) ;
26111: LD_STRING Materials
26113: PPUSH
26114: LD_INT 1
26116: PPUSH
26117: CALL_OW 101
// end ; dialogueoff ;
26121: CALL_OW 7
// case telepmed of 0 :
26125: LD_EXP 124
26129: PUSH
26130: LD_INT 0
26132: DOUBLE
26133: EQUAL
26134: IFTRUE 26138
26136: GO 26152
26138: POP
// addmedal ( Teleport , - 1 ) ; 1 :
26139: LD_STRING Teleport
26141: PPUSH
26142: LD_INT 1
26144: NEG
26145: PPUSH
26146: CALL_OW 101
26150: GO 26196
26152: LD_INT 1
26154: DOUBLE
26155: EQUAL
26156: IFTRUE 26160
26158: GO 26174
26160: POP
// addmedal ( Teleport , - 2 ) ; 2 :
26161: LD_STRING Teleport
26163: PPUSH
26164: LD_INT 2
26166: NEG
26167: PPUSH
26168: CALL_OW 101
26172: GO 26196
26174: LD_INT 2
26176: DOUBLE
26177: EQUAL
26178: IFTRUE 26182
26180: GO 26195
26182: POP
// addmedal ( Teleport , 1 ) ; end ;
26183: LD_STRING Teleport
26185: PPUSH
26186: LD_INT 1
26188: PPUSH
26189: CALL_OW 101
26193: GO 26196
26195: POP
// givemedals ( MAIN ) ;
26196: LD_STRING MAIN
26198: PPUSH
26199: CALL_OW 102
// rewardpeople ( filterallunits ( [ [ f_alive ] , [ f_side , am ] , [ f_type , unit_human ] ] ) ) ;
26203: LD_INT 51
26205: PUSH
26206: EMPTY
26207: LIST
26208: PUSH
26209: LD_INT 22
26211: PUSH
26212: LD_EXP 2
26216: PUSH
26217: EMPTY
26218: LIST
26219: LIST
26220: PUSH
26221: LD_INT 21
26223: PUSH
26224: LD_INT 1
26226: PUSH
26227: EMPTY
26228: LIST
26229: LIST
26230: PUSH
26231: EMPTY
26232: LIST
26233: LIST
26234: LIST
26235: PPUSH
26236: CALL_OW 69
26240: PPUSH
26241: CALL_OW 43
// saveitall ;
26245: CALL 26256 0 0
// youwin ;
26249: CALL_OW 103
// end ; end_of_file
26253: PPOPN 2
26255: END
// export function saveitall ; begin
26256: LD_INT 0
26258: PPUSH
// savevariable ( legion_cheated , legion_cheated ) ;
26259: LD_EXP 226
26263: PPUSH
26264: LD_STRING legion_cheated
26266: PPUSH
26267: CALL_OW 39
// savecharacters ( john , JMM ) ;
26271: LD_EXP 173
26275: PPUSH
26276: LD_STRING JMM
26278: PPUSH
26279: CALL_OW 38
// savecharacters ( lucy , Donaldson ) ;
26283: LD_EXP 175
26287: PPUSH
26288: LD_STRING Donaldson
26290: PPUSH
26291: CALL_OW 38
// if islive ( lucy ) then
26295: LD_EXP 175
26299: PPUSH
26300: CALL_OW 300
26304: IFFALSE 26318
// savevariable ( 6 , DonaldsonLoc ) else
26306: LD_INT 6
26308: PPUSH
26309: LD_STRING DonaldsonLoc
26311: PPUSH
26312: CALL_OW 39
26316: GO 26328
// savevariable ( 0 , DonaldsonLoc ) ;
26318: LD_INT 0
26320: PPUSH
26321: LD_STRING DonaldsonLoc
26323: PPUSH
26324: CALL_OW 39
// savecharacters ( bobby , Bobby ) ;
26328: LD_EXP 191
26332: PPUSH
26333: LD_STRING Bobby
26335: PPUSH
26336: CALL_OW 38
// if bobby then
26340: LD_EXP 191
26344: IFFALSE 26403
// if isdead ( bobby ) then
26346: LD_EXP 191
26350: PPUSH
26351: CALL_OW 301
26355: IFFALSE 26369
// savevariable ( 0 , BobbyLoc ) else
26357: LD_INT 0
26359: PPUSH
26360: LD_STRING BobbyLoc
26362: PPUSH
26363: CALL_OW 39
26367: GO 26403
// if bobby in nepouzitvip then
26369: LD_EXP 191
26373: PUSH
26374: LD_EXP 218
26378: IN
26379: IFFALSE 26393
// savevariable ( 7 , BobbyLoc ) else
26381: LD_INT 7
26383: PPUSH
26384: LD_STRING BobbyLoc
26386: PPUSH
26387: CALL_OW 39
26391: GO 26403
// savevariable ( 6 , BobbyLoc ) ;
26393: LD_INT 6
26395: PPUSH
26396: LD_STRING BobbyLoc
26398: PPUSH
26399: CALL_OW 39
// savecharacters ( cyrus , Cyrus ) ;
26403: LD_EXP 192
26407: PPUSH
26408: LD_STRING Cyrus
26410: PPUSH
26411: CALL_OW 38
// if cyrus then
26415: LD_EXP 192
26419: IFFALSE 26478
// if isdead ( cyrus ) then
26421: LD_EXP 192
26425: PPUSH
26426: CALL_OW 301
26430: IFFALSE 26444
// savevariable ( 0 , CyrusLoc ) else
26432: LD_INT 0
26434: PPUSH
26435: LD_STRING CyrusLoc
26437: PPUSH
26438: CALL_OW 39
26442: GO 26478
// if cyrus in nepouzitvip then
26444: LD_EXP 192
26448: PUSH
26449: LD_EXP 218
26453: IN
26454: IFFALSE 26468
// savevariable ( 7 , CyrusLoc ) else
26456: LD_INT 7
26458: PPUSH
26459: LD_STRING CyrusLoc
26461: PPUSH
26462: CALL_OW 39
26466: GO 26478
// savevariable ( 6 , CyrusLoc ) ;
26468: LD_INT 6
26470: PPUSH
26471: LD_STRING CyrusLoc
26473: PPUSH
26474: CALL_OW 39
// savecharacters ( lisa , Lisa ) ;
26478: LD_EXP 193
26482: PPUSH
26483: LD_STRING Lisa
26485: PPUSH
26486: CALL_OW 38
// if lisa then
26490: LD_EXP 193
26494: IFFALSE 26553
// if isdead ( lisa ) then
26496: LD_EXP 193
26500: PPUSH
26501: CALL_OW 301
26505: IFFALSE 26519
// savevariable ( 0 , LisaLoc ) else
26507: LD_INT 0
26509: PPUSH
26510: LD_STRING LisaLoc
26512: PPUSH
26513: CALL_OW 39
26517: GO 26553
// if lisa in nepouzitvip then
26519: LD_EXP 193
26523: PUSH
26524: LD_EXP 218
26528: IN
26529: IFFALSE 26543
// savevariable ( 7 , LisaLoc ) else
26531: LD_INT 7
26533: PPUSH
26534: LD_STRING LisaLoc
26536: PPUSH
26537: CALL_OW 39
26541: GO 26553
// savevariable ( 6 , LisaLoc ) ;
26543: LD_INT 6
26545: PPUSH
26546: LD_STRING LisaLoc
26548: PPUSH
26549: CALL_OW 39
// savecharacters ( cornel , Cornell ) ;
26553: LD_EXP 194
26557: PPUSH
26558: LD_STRING Cornell
26560: PPUSH
26561: CALL_OW 38
// if cornel then
26565: LD_EXP 194
26569: IFFALSE 26628
// if isdead ( cornel ) then
26571: LD_EXP 194
26575: PPUSH
26576: CALL_OW 301
26580: IFFALSE 26594
// savevariable ( 0 , CornellLoc ) else
26582: LD_INT 0
26584: PPUSH
26585: LD_STRING CornellLoc
26587: PPUSH
26588: CALL_OW 39
26592: GO 26628
// if cornel in nepouzitvip then
26594: LD_EXP 194
26598: PUSH
26599: LD_EXP 218
26603: IN
26604: IFFALSE 26618
// savevariable ( 7 , CornellLoc ) else
26606: LD_INT 7
26608: PPUSH
26609: LD_STRING CornellLoc
26611: PPUSH
26612: CALL_OW 39
26616: GO 26628
// savevariable ( 6 , CornellLoc ) ;
26618: LD_INT 6
26620: PPUSH
26621: LD_STRING CornellLoc
26623: PPUSH
26624: CALL_OW 39
// savecharacters ( frank , Frank ) ;
26628: LD_EXP 195
26632: PPUSH
26633: LD_STRING Frank
26635: PPUSH
26636: CALL_OW 38
// if frank then
26640: LD_EXP 195
26644: IFFALSE 26703
// if isdead ( frank ) then
26646: LD_EXP 195
26650: PPUSH
26651: CALL_OW 301
26655: IFFALSE 26669
// savevariable ( 0 , FrankLoc ) else
26657: LD_INT 0
26659: PPUSH
26660: LD_STRING FrankLoc
26662: PPUSH
26663: CALL_OW 39
26667: GO 26703
// if frank in nepouzitvip then
26669: LD_EXP 195
26673: PUSH
26674: LD_EXP 218
26678: IN
26679: IFFALSE 26693
// savevariable ( 7 , FrankLoc ) else
26681: LD_INT 7
26683: PPUSH
26684: LD_STRING FrankLoc
26686: PPUSH
26687: CALL_OW 39
26691: GO 26703
// savevariable ( 6 , FrankLoc ) ;
26693: LD_INT 6
26695: PPUSH
26696: LD_STRING FrankLoc
26698: PPUSH
26699: CALL_OW 39
// savecharacters ( brown , Brown ) ;
26703: LD_EXP 196
26707: PPUSH
26708: LD_STRING Brown
26710: PPUSH
26711: CALL_OW 38
// if brown then
26715: LD_EXP 196
26719: IFFALSE 26778
// if isdead ( brown ) then
26721: LD_EXP 196
26725: PPUSH
26726: CALL_OW 301
26730: IFFALSE 26744
// savevariable ( 0 , BrownLoc ) else
26732: LD_INT 0
26734: PPUSH
26735: LD_STRING BrownLoc
26737: PPUSH
26738: CALL_OW 39
26742: GO 26778
// if brown in nepouzitvip then
26744: LD_EXP 196
26748: PUSH
26749: LD_EXP 218
26753: IN
26754: IFFALSE 26768
// savevariable ( 7 , BrownLoc ) else
26756: LD_INT 7
26758: PPUSH
26759: LD_STRING BrownLoc
26761: PPUSH
26762: CALL_OW 39
26766: GO 26778
// savevariable ( 6 , BrownLoc ) ;
26768: LD_INT 6
26770: PPUSH
26771: LD_STRING BrownLoc
26773: PPUSH
26774: CALL_OW 39
// savecharacters ( glad , Gladstone ) ;
26778: LD_EXP 197
26782: PPUSH
26783: LD_STRING Gladstone
26785: PPUSH
26786: CALL_OW 38
// if glad then
26790: LD_EXP 197
26794: IFFALSE 26853
// if isdead ( glad ) then
26796: LD_EXP 197
26800: PPUSH
26801: CALL_OW 301
26805: IFFALSE 26819
// savevariable ( 0 , GladstoneLoc ) else
26807: LD_INT 0
26809: PPUSH
26810: LD_STRING GladstoneLoc
26812: PPUSH
26813: CALL_OW 39
26817: GO 26853
// if glad in nepouzitvip then
26819: LD_EXP 197
26823: PUSH
26824: LD_EXP 218
26828: IN
26829: IFFALSE 26843
// savevariable ( 7 , GladstoneLoc ) else
26831: LD_INT 7
26833: PPUSH
26834: LD_STRING GladstoneLoc
26836: PPUSH
26837: CALL_OW 39
26841: GO 26853
// savevariable ( 6 , GladstoneLoc ) ;
26843: LD_INT 6
26845: PPUSH
26846: LD_STRING GladstoneLoc
26848: PPUSH
26849: CALL_OW 39
// savecharacters ( denis , Denis ) ;
26853: LD_EXP 198
26857: PPUSH
26858: LD_STRING Denis
26860: PPUSH
26861: CALL_OW 38
// if denis then
26865: LD_EXP 198
26869: IFFALSE 26928
// if isdead ( denis ) then
26871: LD_EXP 198
26875: PPUSH
26876: CALL_OW 301
26880: IFFALSE 26894
// savevariable ( 0 , DenisLoc ) else
26882: LD_INT 0
26884: PPUSH
26885: LD_STRING DenisLoc
26887: PPUSH
26888: CALL_OW 39
26892: GO 26928
// if denis in nepouzitvip then
26894: LD_EXP 198
26898: PUSH
26899: LD_EXP 218
26903: IN
26904: IFFALSE 26918
// savevariable ( 7 , DenisLoc ) else
26906: LD_INT 7
26908: PPUSH
26909: LD_STRING DenisLoc
26911: PPUSH
26912: CALL_OW 39
26916: GO 26928
// savevariable ( 6 , DenisLoc ) ;
26918: LD_INT 6
26920: PPUSH
26921: LD_STRING DenisLoc
26923: PPUSH
26924: CALL_OW 39
// if yamoko then
26928: LD_EXP 199
26932: IFFALSE 27003
// begin savecharacters ( yamoko , Yamoko ) ;
26934: LD_EXP 199
26938: PPUSH
26939: LD_STRING Yamoko
26941: PPUSH
26942: CALL_OW 38
// if isdead ( yamoko ) then
26946: LD_EXP 199
26950: PPUSH
26951: CALL_OW 301
26955: IFFALSE 26969
// savevariable ( 0 , YamokoLoc ) else
26957: LD_INT 0
26959: PPUSH
26960: LD_STRING YamokoLoc
26962: PPUSH
26963: CALL_OW 39
26967: GO 27003
// if yamoko in nepouzitvip then
26969: LD_EXP 199
26973: PUSH
26974: LD_EXP 218
26978: IN
26979: IFFALSE 26993
// savevariable ( 7 , YamokoLoc ) else
26981: LD_INT 7
26983: PPUSH
26984: LD_STRING YamokoLoc
26986: PPUSH
26987: CALL_OW 39
26991: GO 27003
// savevariable ( 6 , YamokoLoc ) ;
26993: LD_INT 6
26995: PPUSH
26996: LD_STRING YamokoLoc
26998: PPUSH
26999: CALL_OW 39
// end ; savecharacters ( gary , Gary ) ;
27003: LD_EXP 200
27007: PPUSH
27008: LD_STRING Gary
27010: PPUSH
27011: CALL_OW 38
// if gary then
27015: LD_EXP 200
27019: IFFALSE 27078
// if isdead ( gary ) then
27021: LD_EXP 200
27025: PPUSH
27026: CALL_OW 301
27030: IFFALSE 27044
// savevariable ( 0 , GaryLoc ) else
27032: LD_INT 0
27034: PPUSH
27035: LD_STRING GaryLoc
27037: PPUSH
27038: CALL_OW 39
27042: GO 27078
// if gary in nepouzitvip then
27044: LD_EXP 200
27048: PUSH
27049: LD_EXP 218
27053: IN
27054: IFFALSE 27068
// savevariable ( 7 , GaryLoc ) else
27056: LD_INT 7
27058: PPUSH
27059: LD_STRING GaryLoc
27061: PPUSH
27062: CALL_OW 39
27066: GO 27078
// savevariable ( 6 , GaryLoc ) ;
27068: LD_INT 6
27070: PPUSH
27071: LD_STRING GaryLoc
27073: PPUSH
27074: CALL_OW 39
// savecharacters ( ( filterallunits ( [ [ f_side , am ] , [ f_alive ] , [ f_type , unit_human ] ] ) diff ( [ john , lucy , bobby , cyrus , lisa , cornel , frank , brown , glad , denis , yamoko , gary ] ^ smejdi_ar ) ) , otherwithJMM ) ;
27078: LD_INT 22
27080: PUSH
27081: LD_EXP 2
27085: PUSH
27086: EMPTY
27087: LIST
27088: LIST
27089: PUSH
27090: LD_INT 51
27092: PUSH
27093: EMPTY
27094: LIST
27095: PUSH
27096: LD_INT 21
27098: PUSH
27099: LD_INT 1
27101: PUSH
27102: EMPTY
27103: LIST
27104: LIST
27105: PUSH
27106: EMPTY
27107: LIST
27108: LIST
27109: LIST
27110: PPUSH
27111: CALL_OW 69
27115: PUSH
27116: LD_EXP 173
27120: PUSH
27121: LD_EXP 175
27125: PUSH
27126: LD_EXP 191
27130: PUSH
27131: LD_EXP 192
27135: PUSH
27136: LD_EXP 193
27140: PUSH
27141: LD_EXP 194
27145: PUSH
27146: LD_EXP 195
27150: PUSH
27151: LD_EXP 196
27155: PUSH
27156: LD_EXP 197
27160: PUSH
27161: LD_EXP 198
27165: PUSH
27166: LD_EXP 199
27170: PUSH
27171: LD_EXP 200
27175: PUSH
27176: EMPTY
27177: LIST
27178: LIST
27179: LIST
27180: LIST
27181: LIST
27182: LIST
27183: LIST
27184: LIST
27185: LIST
27186: LIST
27187: LIST
27188: LIST
27189: PUSH
27190: LD_EXP 227
27194: ADD
27195: DIFF
27196: PPUSH
27197: LD_STRING otherwithJMM
27199: PPUSH
27200: CALL_OW 38
// savecharacters ( nepouzitoth , othernotJMM ) ;
27204: LD_EXP 219
27208: PPUSH
27209: LD_STRING othernotJMM
27211: PPUSH
27212: CALL_OW 38
// end ; end_of_file
27216: LD_VAR 0 1
27220: RET
// export bazukeri_jdete_do_toho ; var registrovani , dvojicky , varovani , free_baz ; export function prepare_bazookers ; begin
27221: LD_INT 0
27223: PPUSH
// free_baz := [ baz0 , baz1 , baz2 , baz3 , baz4 , baz5 ] ;
27224: LD_ADDR_LOC 33
27228: PUSH
27229: LD_EXP 8
27233: PUSH
27234: LD_EXP 10
27238: PUSH
27239: LD_EXP 12
27243: PUSH
27244: LD_EXP 14
27248: PUSH
27249: LD_EXP 16
27253: PUSH
27254: LD_EXP 18
27258: PUSH
27259: EMPTY
27260: LIST
27261: LIST
27262: LIST
27263: LIST
27264: LIST
27265: LIST
27266: ST_TO_ADDR
// varovani := [ 2 , 1 , 0 ] [ difficulty ] ;
27267: LD_ADDR_LOC 32
27271: PUSH
27272: LD_INT 2
27274: PUSH
27275: LD_INT 1
27277: PUSH
27278: LD_INT 0
27280: PUSH
27281: EMPTY
27282: LIST
27283: LIST
27284: LIST
27285: PUSH
27286: LD_OWVAR 67
27290: ARRAY
27291: ST_TO_ADDR
// end ;
27292: LD_VAR 0 1
27296: RET
// function registruj_dvojicku ( baz , en ) ; begin
27297: LD_INT 0
27299: PPUSH
// dvojicky := dvojicky ^ [ [ baz , en ] ] ;
27300: LD_ADDR_LOC 31
27304: PUSH
27305: LD_LOC 31
27309: PUSH
27310: LD_VAR 0 1
27314: PUSH
27315: LD_VAR 0 2
27319: PUSH
27320: EMPTY
27321: LIST
27322: LIST
27323: PUSH
27324: EMPTY
27325: LIST
27326: ADD
27327: ST_TO_ADDR
// ComSpaceShift ( baz , GetX ( en ) + 1 , GetY ( en ) + 1 ) ;
27328: LD_VAR 0 1
27332: PPUSH
27333: LD_VAR 0 2
27337: PPUSH
27338: CALL_OW 250
27342: PUSH
27343: LD_INT 1
27345: PLUS
27346: PPUSH
27347: LD_VAR 0 2
27351: PPUSH
27352: CALL_OW 251
27356: PUSH
27357: LD_INT 1
27359: PLUS
27360: PPUSH
27361: CALL_OW 153
// registrovani := registrovani union en ;
27365: LD_ADDR_LOC 30
27369: PUSH
27370: LD_LOC 30
27374: PUSH
27375: LD_VAR 0 2
27379: UNION
27380: ST_TO_ADDR
// free_baz := free_baz diff baz ;
27381: LD_ADDR_LOC 33
27385: PUSH
27386: LD_LOC 33
27390: PUSH
27391: LD_VAR 0 1
27395: DIFF
27396: ST_TO_ADDR
// end ;
27397: LD_VAR 0 3
27401: RET
// every 0 0$1 trigger bazukeri_jdete_do_toho marked 4242 do var naprahu , un , baz ;
27402: LD_EXP 229
27406: IFFALSE 27619
27408: GO 27410
27410: DISABLE
27411: LD_INT 0
27413: PPUSH
27414: PPUSH
27415: PPUSH
// begin naprahu := FilterUnitsInArea ( prah , [ [ f_side , am ] , [ f_ok ] ] ) diff registrovani ;
27416: LD_ADDR_VAR 0 1
27420: PUSH
27421: LD_INT 22
27423: PPUSH
27424: LD_INT 22
27426: PUSH
27427: LD_EXP 2
27431: PUSH
27432: EMPTY
27433: LIST
27434: LIST
27435: PUSH
27436: LD_INT 50
27438: PUSH
27439: EMPTY
27440: LIST
27441: PUSH
27442: EMPTY
27443: LIST
27444: LIST
27445: PPUSH
27446: CALL_OW 70
27450: PUSH
27451: LD_LOC 30
27455: DIFF
27456: ST_TO_ADDR
// if not naprahu then
27457: LD_VAR 0 1
27461: NOT
27462: IFFALSE 27467
// begin enable ;
27464: ENABLE
// exit ;
27465: GO 27619
// end ; baz := UnitFilter ( free_baz , [ f_ok ] ) ;
27467: LD_ADDR_VAR 0 3
27471: PUSH
27472: LD_LOC 33
27476: PPUSH
27477: LD_INT 50
27479: PUSH
27480: EMPTY
27481: LIST
27482: PPUSH
27483: CALL_OW 72
27487: ST_TO_ADDR
// if not baz then
27488: LD_VAR 0 3
27492: NOT
27493: IFFALSE 27498
// begin enable ;
27495: ENABLE
// exit ;
27496: GO 27619
// end ; un := NearestUnitToXY ( naprahu , 69 , 53 ) ;
27498: LD_ADDR_VAR 0 2
27502: PUSH
27503: LD_VAR 0 1
27507: PPUSH
27508: LD_INT 69
27510: PPUSH
27511: LD_INT 53
27513: PPUSH
27514: CALL_OW 73
27518: ST_TO_ADDR
// ComTimeShift ( baz [ 1 ] , GetX ( un ) - 3 , GetY ( un ) - 3 ) ;
27519: LD_VAR 0 3
27523: PUSH
27524: LD_INT 1
27526: ARRAY
27527: PPUSH
27528: LD_VAR 0 2
27532: PPUSH
27533: CALL_OW 250
27537: PUSH
27538: LD_INT 3
27540: MINUS
27541: PPUSH
27542: LD_VAR 0 2
27546: PPUSH
27547: CALL_OW 251
27551: PUSH
27552: LD_INT 3
27554: MINUS
27555: PPUSH
27556: CALL_OW 154
// if baz > 1 then
27560: LD_VAR 0 3
27564: PUSH
27565: LD_INT 1
27567: GREATER
27568: IFFALSE 27589
// ComSpaceShift ( baz [ 1 ] , 83 , 64 ) ;
27570: LD_VAR 0 3
27574: PUSH
27575: LD_INT 1
27577: ARRAY
27578: PPUSH
27579: LD_INT 83
27581: PPUSH
27582: LD_INT 64
27584: PPUSH
27585: CALL_OW 153
// if baz > 2 then
27589: LD_VAR 0 3
27593: PUSH
27594: LD_INT 2
27596: GREATER
27597: IFFALSE 27618
// ComSpaceShift ( baz [ 2 ] , 85 , 63 ) ;
27599: LD_VAR 0 3
27603: PUSH
27604: LD_INT 2
27606: ARRAY
27607: PPUSH
27608: LD_INT 85
27610: PPUSH
27611: LD_INT 63
27613: PPUSH
27614: CALL_OW 153
// enable ;
27618: ENABLE
// end ;
27619: PPOPN 3
27621: END
// every 0 0$1 + 0 0$0.4 trigger bazukeri_jdete_do_toho do var baz , za ;
27622: LD_EXP 229
27626: IFFALSE 27736
27628: GO 27630
27630: DISABLE
27631: LD_INT 0
27633: PPUSH
27634: PPUSH
// begin baz := UnitFilter ( free_baz , [ f_ok ] ) ;
27635: LD_ADDR_VAR 0 1
27639: PUSH
27640: LD_LOC 33
27644: PPUSH
27645: LD_INT 50
27647: PUSH
27648: EMPTY
27649: LIST
27650: PPUSH
27651: CALL_OW 72
27655: ST_TO_ADDR
// za := FilterUnitsInArea ( prah , [ [ f_side , am ] , [ f_ok ] ] ) diff registrovani ;
27656: LD_ADDR_VAR 0 2
27660: PUSH
27661: LD_INT 22
27663: PPUSH
27664: LD_INT 22
27666: PUSH
27667: LD_EXP 2
27671: PUSH
27672: EMPTY
27673: LIST
27674: LIST
27675: PUSH
27676: LD_INT 50
27678: PUSH
27679: EMPTY
27680: LIST
27681: PUSH
27682: EMPTY
27683: LIST
27684: LIST
27685: PPUSH
27686: CALL_OW 70
27690: PUSH
27691: LD_LOC 30
27695: DIFF
27696: ST_TO_ADDR
// if za and ( baz > 1 ) then
27697: LD_VAR 0 2
27701: PUSH
27702: LD_VAR 0 1
27706: PUSH
27707: LD_INT 1
27709: GREATER
27710: AND
27711: IFFALSE 27735
// registruj_dvojicku ( baz [ 1 ] , za [ 1 ] ) ;
27713: LD_VAR 0 1
27717: PUSH
27718: LD_INT 1
27720: ARRAY
27721: PPUSH
27722: LD_VAR 0 2
27726: PUSH
27727: LD_INT 1
27729: ARRAY
27730: PPUSH
27731: CALL 27297 0 2
// enable ;
27735: ENABLE
// end ;
27736: PPOPN 2
27738: END
// every 0 0$1 + 0 0$0.8 trigger bazukeri_jdete_do_toho and dvojicky do var dv , new ;
27739: LD_EXP 229
27743: PUSH
27744: LD_LOC 31
27748: AND
27749: IFFALSE 27956
27751: GO 27753
27753: DISABLE
27754: LD_INT 0
27756: PPUSH
27757: PPUSH
// begin new := [ ] ;
27758: LD_ADDR_VAR 0 2
27762: PUSH
27763: EMPTY
27764: ST_TO_ADDR
// for dv in dvojicky do
27765: LD_ADDR_VAR 0 1
27769: PUSH
27770: LD_LOC 31
27774: PUSH
27775: FOR_IN
27776: IFFALSE 27943
// if IsOk ( dv [ 1 ] ) and IsOk ( dv [ 2 ] ) and IsInArea ( dv [ 2 ] , zaprahem ) then
27778: LD_VAR 0 1
27782: PUSH
27783: LD_INT 1
27785: ARRAY
27786: PPUSH
27787: CALL_OW 302
27791: PUSH
27792: LD_VAR 0 1
27796: PUSH
27797: LD_INT 2
27799: ARRAY
27800: PPUSH
27801: CALL_OW 302
27805: AND
27806: PUSH
27807: LD_VAR 0 1
27811: PUSH
27812: LD_INT 2
27814: ARRAY
27815: PPUSH
27816: LD_INT 23
27818: PPUSH
27819: CALL_OW 308
27823: AND
27824: IFFALSE 27888
// begin ComTimeShift ( dv [ 1 ] , GetX ( dv [ 2 ] ) , GetY ( dv [ 2 ] ) ) ;
27826: LD_VAR 0 1
27830: PUSH
27831: LD_INT 1
27833: ARRAY
27834: PPUSH
27835: LD_VAR 0 1
27839: PUSH
27840: LD_INT 2
27842: ARRAY
27843: PPUSH
27844: CALL_OW 250
27848: PPUSH
27849: LD_VAR 0 1
27853: PUSH
27854: LD_INT 2
27856: ARRAY
27857: PPUSH
27858: CALL_OW 251
27862: PPUSH
27863: CALL_OW 154
// new := new ^ [ dv ] ;
27867: LD_ADDR_VAR 0 2
27871: PUSH
27872: LD_VAR 0 2
27876: PUSH
27877: LD_VAR 0 1
27881: PUSH
27882: EMPTY
27883: LIST
27884: ADD
27885: ST_TO_ADDR
// end else
27886: GO 27941
// begin free_baz := free_baz ^ dv [ 1 ] ;
27888: LD_ADDR_LOC 33
27892: PUSH
27893: LD_LOC 33
27897: PUSH
27898: LD_VAR 0 1
27902: PUSH
27903: LD_INT 1
27905: ARRAY
27906: ADD
27907: ST_TO_ADDR
// registrovani := registrovani diff dv [ 2 ] ;
27908: LD_ADDR_LOC 30
27912: PUSH
27913: LD_LOC 30
27917: PUSH
27918: LD_VAR 0 1
27922: PUSH
27923: LD_INT 2
27925: ARRAY
27926: DIFF
27927: ST_TO_ADDR
// ComStop ( dv [ 1 ] ) ;
27928: LD_VAR 0 1
27932: PUSH
27933: LD_INT 1
27935: ARRAY
27936: PPUSH
27937: CALL_OW 141
// end ;
27941: GO 27775
27943: POP
27944: POP
// dvojicky := new ;
27945: LD_ADDR_LOC 31
27949: PUSH
27950: LD_VAR 0 2
27954: ST_TO_ADDR
// enable ;
27955: ENABLE
// end ;
27956: PPOPN 2
27958: END
