// export testing , gamestage ; export group_heavy , group_seek , group_hunt , group_scout , group_escapees , Group_Leg , Group_Omar , Russians , RussiansPassed ; export magenta ; export group_to_delete , Target_List , Range_list ; export target_hg , target_gun , target_all , target_bazooka , bazooka_engagetime ; export ru_paths , ru_grouptypes , ru_groupstatus , ru_grouphexcount , ru_targethex , ru_groupside ; export Ru_spawning_time , ru_heavy_times , ru_limit ; export incomming_seek_group ; export DisableAttacking ; export Ru_prep_red , Ru_prep_mag , scout_warning , scout_gone , no_seek_groups ; export seek_hex_set1 , seek_hex_set2 , seek_hex_set3 , seek_hex_set4 , seek_hex_set5 , seek_hex_set6 , seek_hex_set7 , seek_hex_set8 , seek_hex_set9 , seek_hex_set10 ; export path_scout1 , path_scout1a , path_scout1b , path_scout1c , path_scout1d , path_scout1e , path_scout2 , path_scout3 , path_scout3a , path_scout3b , path_scout3c , path_scout3d , path_scout3e , path_scout3f , path_scout4 , path_scout4a , path_scout4b , path_scout4c , scout_getaway , MoveOutHexes ; export path1a , path1b , path1c , path1d , path1e , path1f , path2a , path2b , path2c , path2d , path2e , path2f , path3a , path3b , path3c , path3d , path3e , path4a , path4b , path4c ; export Heike , Oswald , Olaf , Sonya , Ralph , Kowalski , Aviradze , Swansson , Dwayne , Khattam , Evelyn , Abdul , Omar , scout , Gensher , Gonzo , Chrissy ; export player_forces , omar_forces_main , omar_forces_random , cargo1 , cargo2 , Scientist , Soldier , Mechanic , Engineer ; export detected_units , detected_Arabians , arabian_units ; export escaping_arabians , friendlyfire , intentional_ff_count , ff_count2 ; export Ar5_time , Ar5_timeup , escapees_cycle , number_of_Ar5_groups_to_go , cyclenumber , escapees_dead , escapees_errormargin , escapees_errormargin_group ; export joining_escapees_count , joinig_escapees , esc_dlg , joining_main , snake_aid , clear_spawn_location , esc_drivers ; export ar_paths , ar_grouptypes , ar_groupstatus , ar_grouphexcount , ar_groupfollowing , ar_targetlist , ar_areas , ar_liveslist , ar_dlg ; export escapees_path5 , escapees_path4 , escapees_path3 , escapees_path2 , escapees_path1 ; export RescueStatus ; export Legion , LegionSpawnTime , Legion_path , Legion_attack ; export Randomized_1_4_list ; export Artifact , ArtifactOn , artifact_cargo , artifact_ready , artifact_hex , art_leftdone , art_rightdone , art_centredone , art_southdone ; export art_checktime ; export Measurement_start , Measurement_timecount , Measurement_loc , Measurement_ani , Measurement_sci , Measurement_delay ; export prisoners , prisoners_initial , prisoners_status , prisoners_armed , prisoners_delay , prisoner_cargo , prisoner_escapehexes , prisoners_escaping , prisoner_lives , prisoner_lastposition , prisonersattacked ; export st_argroupscount , st_arunitsdead , st_measurementtime , st_measurement_interrupted ; export exclamation , cameracount , camerasplaced , CameraMarkList , CameraMarkListUsed , query1_time , query2_time , query3_time , LastSelectedPlayerUnit ; export cargo_UnitList , ClassChangedList , EmptyCargos ; export mark_spotenemy , mark_contact , mark_contact_status , mark_damaged ; export showerror ; export PlanetOfTheApes , Apes ; export kitty , cat ; export Mastodon , Mastodon_list , Mastodon_tick ; starting begin testing = false ;
   0: LD_ADDR_EXP 1
   4: PUSH
   5: LD_INT 0
   7: ST_TO_ADDR
// RandomizeAll ;
   8: CALL_OW 11
// ResetFog ;
  12: CALL_OW 335
// Russians = [ ] ;
  16: LD_ADDR_EXP 10
  20: PUSH
  21: EMPTY
  22: ST_TO_ADDR
// RussiansPassed = [ ] ;
  23: LD_ADDR_EXP 11
  27: PUSH
  28: EMPTY
  29: ST_TO_ADDR
// ru_paths = [ ] ;
  30: LD_ADDR_EXP 21
  34: PUSH
  35: EMPTY
  36: ST_TO_ADDR
// ru_grouptypes = [ ] ;
  37: LD_ADDR_EXP 22
  41: PUSH
  42: EMPTY
  43: ST_TO_ADDR
// ru_groupstatus = [ ] ;
  44: LD_ADDR_EXP 23
  48: PUSH
  49: EMPTY
  50: ST_TO_ADDR
// ru_grouphexcount = [ ] ;
  51: LD_ADDR_EXP 24
  55: PUSH
  56: EMPTY
  57: ST_TO_ADDR
// ru_targethex = [ ] ;
  58: LD_ADDR_EXP 25
  62: PUSH
  63: EMPTY
  64: ST_TO_ADDR
// ru_groupside = [ ] ;
  65: LD_ADDR_EXP 26
  69: PUSH
  70: EMPTY
  71: ST_TO_ADDR
// magenta = 0 ;
  72: LD_ADDR_EXP 12
  76: PUSH
  77: LD_INT 0
  79: ST_TO_ADDR
// Target_List = [ ] ;
  80: LD_ADDR_EXP 14
  84: PUSH
  85: EMPTY
  86: ST_TO_ADDR
// group_heavy = [ ] ;
  87: LD_ADDR_EXP 3
  91: PUSH
  92: EMPTY
  93: ST_TO_ADDR
// group_seek = [ ] ;
  94: LD_ADDR_EXP 4
  98: PUSH
  99: EMPTY
 100: ST_TO_ADDR
// group_hunt = [ ] ;
 101: LD_ADDR_EXP 5
 105: PUSH
 106: EMPTY
 107: ST_TO_ADDR
// group_scout = [ ] ;
 108: LD_ADDR_EXP 6
 112: PUSH
 113: EMPTY
 114: ST_TO_ADDR
// target_hg = [ ] ;
 115: LD_ADDR_EXP 16
 119: PUSH
 120: EMPTY
 121: ST_TO_ADDR
// target_gun = [ ] ;
 122: LD_ADDR_EXP 17
 126: PUSH
 127: EMPTY
 128: ST_TO_ADDR
// target_all = [ ] ;
 129: LD_ADDR_EXP 18
 133: PUSH
 134: EMPTY
 135: ST_TO_ADDR
// target_bazooka = [ ] ;
 136: LD_ADDR_EXP 19
 140: PUSH
 141: EMPTY
 142: ST_TO_ADDR
// bazooka_engagetime = [ ] ;
 143: LD_ADDR_EXP 20
 147: PUSH
 148: EMPTY
 149: ST_TO_ADDR
// Ru_spawning_time = [ [ 6 6$0 , 6 6$0 , 5 5$0 ] [ difficulty ] , [ rand ( 7 7$0 , 8 8$0 ) , rand ( 7 7$0 , 8 8$0 ) , rand ( 5 5$0 , 6 6$0 ) ] [ difficulty ] , 999 999$0 , 999 999$0 , 999 999$0 , 100 100$0 , 100 100$0 ] ;
 150: LD_ADDR_EXP 27
 154: PUSH
 155: LD_INT 12600
 157: PUSH
 158: LD_INT 12600
 160: PUSH
 161: LD_INT 10500
 163: PUSH
 164: EMPTY
 165: LIST
 166: LIST
 167: LIST
 168: PUSH
 169: LD_OWVAR 67
 173: ARRAY
 174: PUSH
 175: LD_INT 14700
 177: PPUSH
 178: LD_INT 16800
 180: PPUSH
 181: CALL_OW 12
 185: PUSH
 186: LD_INT 14700
 188: PPUSH
 189: LD_INT 16800
 191: PPUSH
 192: CALL_OW 12
 196: PUSH
 197: LD_INT 10500
 199: PPUSH
 200: LD_INT 12600
 202: PPUSH
 203: CALL_OW 12
 207: PUSH
 208: EMPTY
 209: LIST
 210: LIST
 211: LIST
 212: PUSH
 213: LD_OWVAR 67
 217: ARRAY
 218: PUSH
 219: LD_INT 2097900
 221: PUSH
 222: LD_INT 2097900
 224: PUSH
 225: LD_INT 2097900
 227: PUSH
 228: LD_INT 210000
 230: PUSH
 231: LD_INT 210000
 233: PUSH
 234: EMPTY
 235: LIST
 236: LIST
 237: LIST
 238: LIST
 239: LIST
 240: LIST
 241: LIST
 242: ST_TO_ADDR
// scout_warning = [ 0 , 0 , 0 , 0 , 0 , 0 , 0 ] ;
 243: LD_ADDR_EXP 34
 247: PUSH
 248: LD_INT 0
 250: PUSH
 251: LD_INT 0
 253: PUSH
 254: LD_INT 0
 256: PUSH
 257: LD_INT 0
 259: PUSH
 260: LD_INT 0
 262: PUSH
 263: LD_INT 0
 265: PUSH
 266: LD_INT 0
 268: PUSH
 269: EMPTY
 270: LIST
 271: LIST
 272: LIST
 273: LIST
 274: LIST
 275: LIST
 276: LIST
 277: ST_TO_ADDR
// scout_gone = 0 ;
 278: LD_ADDR_EXP 35
 282: PUSH
 283: LD_INT 0
 285: ST_TO_ADDR
// No_seek_groups = 0 ;
 286: LD_ADDR_EXP 36
 290: PUSH
 291: LD_INT 0
 293: ST_TO_ADDR
// Ru_prep_red = [ 0 , 0 , 0 , 0 , 0 , 0 , 0 ] ;
 294: LD_ADDR_EXP 32
 298: PUSH
 299: LD_INT 0
 301: PUSH
 302: LD_INT 0
 304: PUSH
 305: LD_INT 0
 307: PUSH
 308: LD_INT 0
 310: PUSH
 311: LD_INT 0
 313: PUSH
 314: LD_INT 0
 316: PUSH
 317: LD_INT 0
 319: PUSH
 320: EMPTY
 321: LIST
 322: LIST
 323: LIST
 324: LIST
 325: LIST
 326: LIST
 327: LIST
 328: ST_TO_ADDR
// Ru_prep_mag = [ 0 , 0 , 0 , 0 , 0 , 0 , 0 ] ;
 329: LD_ADDR_EXP 33
 333: PUSH
 334: LD_INT 0
 336: PUSH
 337: LD_INT 0
 339: PUSH
 340: LD_INT 0
 342: PUSH
 343: LD_INT 0
 345: PUSH
 346: LD_INT 0
 348: PUSH
 349: LD_INT 0
 351: PUSH
 352: LD_INT 0
 354: PUSH
 355: EMPTY
 356: LIST
 357: LIST
 358: LIST
 359: LIST
 360: LIST
 361: LIST
 362: LIST
 363: ST_TO_ADDR
// case difficulty of 1 :
 364: LD_OWVAR 67
 368: PUSH
 369: LD_INT 1
 371: DOUBLE
 372: EQUAL
 373: IFTRUE 377
 375: GO 439
 377: POP
// ru_heavy_times = [ rand ( 11 11$0 , 15 15$0 ) , rand ( 21 21$0 , 25 25$0 ) , rand ( 28 28$0 , 31 31$0 ) , rand ( 42 42$0 , 45 45$0 ) , 53 53$0 ] ; 2 :
 378: LD_ADDR_EXP 28
 382: PUSH
 383: LD_INT 23100
 385: PPUSH
 386: LD_INT 31500
 388: PPUSH
 389: CALL_OW 12
 393: PUSH
 394: LD_INT 44100
 396: PPUSH
 397: LD_INT 52500
 399: PPUSH
 400: CALL_OW 12
 404: PUSH
 405: LD_INT 58800
 407: PPUSH
 408: LD_INT 65100
 410: PPUSH
 411: CALL_OW 12
 415: PUSH
 416: LD_INT 88200
 418: PPUSH
 419: LD_INT 94500
 421: PPUSH
 422: CALL_OW 12
 426: PUSH
 427: LD_INT 111300
 429: PUSH
 430: EMPTY
 431: LIST
 432: LIST
 433: LIST
 434: LIST
 435: LIST
 436: ST_TO_ADDR
 437: GO 580
 439: LD_INT 2
 441: DOUBLE
 442: EQUAL
 443: IFTRUE 447
 445: GO 509
 447: POP
// ru_heavy_times = [ rand ( 11 11$0 , 15 15$0 ) , rand ( 21 21$0 , 25 25$0 ) , rand ( 29 29$0 , 32 32$0 ) , rand ( 43 43$0 , 46 46$0 ) , 54 54$0 ] ; 3 :
 448: LD_ADDR_EXP 28
 452: PUSH
 453: LD_INT 23100
 455: PPUSH
 456: LD_INT 31500
 458: PPUSH
 459: CALL_OW 12
 463: PUSH
 464: LD_INT 44100
 466: PPUSH
 467: LD_INT 52500
 469: PPUSH
 470: CALL_OW 12
 474: PUSH
 475: LD_INT 60900
 477: PPUSH
 478: LD_INT 67200
 480: PPUSH
 481: CALL_OW 12
 485: PUSH
 486: LD_INT 90300
 488: PPUSH
 489: LD_INT 96600
 491: PPUSH
 492: CALL_OW 12
 496: PUSH
 497: LD_INT 113400
 499: PUSH
 500: EMPTY
 501: LIST
 502: LIST
 503: LIST
 504: LIST
 505: LIST
 506: ST_TO_ADDR
 507: GO 580
 509: LD_INT 3
 511: DOUBLE
 512: EQUAL
 513: IFTRUE 517
 515: GO 579
 517: POP
// ru_heavy_times = [ rand ( 11 11$0 , 15 15$0 ) , rand ( 21 21$0 , 25 25$0 ) , rand ( 30 30$0 , 33 33$0 ) , rand ( 44 44$0 , 47 47$0 ) , 55 55$0 ] ; end ;
 518: LD_ADDR_EXP 28
 522: PUSH
 523: LD_INT 23100
 525: PPUSH
 526: LD_INT 31500
 528: PPUSH
 529: CALL_OW 12
 533: PUSH
 534: LD_INT 44100
 536: PPUSH
 537: LD_INT 52500
 539: PPUSH
 540: CALL_OW 12
 544: PUSH
 545: LD_INT 63000
 547: PPUSH
 548: LD_INT 69300
 550: PPUSH
 551: CALL_OW 12
 555: PUSH
 556: LD_INT 92400
 558: PPUSH
 559: LD_INT 98700
 561: PPUSH
 562: CALL_OW 12
 566: PUSH
 567: LD_INT 115500
 569: PUSH
 570: EMPTY
 571: LIST
 572: LIST
 573: LIST
 574: LIST
 575: LIST
 576: ST_TO_ADDR
 577: GO 580
 579: POP
// ru_limit = [ 0 , 1 , 2 ] [ difficulty ] ;
 580: LD_ADDR_EXP 29
 584: PUSH
 585: LD_INT 0
 587: PUSH
 588: LD_INT 1
 590: PUSH
 591: LD_INT 2
 593: PUSH
 594: EMPTY
 595: LIST
 596: LIST
 597: LIST
 598: PUSH
 599: LD_OWVAR 67
 603: ARRAY
 604: ST_TO_ADDR
// detected_arabians = [ ] ;
 605: LD_ADDR_EXP 114
 609: PUSH
 610: EMPTY
 611: ST_TO_ADDR
// escaping_arabians = [ ] ;
 612: LD_ADDR_EXP 116
 616: PUSH
 617: EMPTY
 618: ST_TO_ADDR
// ar_paths = [ ] ;
 619: LD_ADDR_EXP 135
 623: PUSH
 624: EMPTY
 625: ST_TO_ADDR
// ar_grouptypes = [ ] ;
 626: LD_ADDR_EXP 136
 630: PUSH
 631: EMPTY
 632: ST_TO_ADDR
// ar_groupstatus = [ ] ;
 633: LD_ADDR_EXP 137
 637: PUSH
 638: EMPTY
 639: ST_TO_ADDR
// ar_grouphexcount = [ ] ;
 640: LD_ADDR_EXP 138
 644: PUSH
 645: EMPTY
 646: ST_TO_ADDR
// ar_groupfollowing = [ ] ;
 647: LD_ADDR_EXP 139
 651: PUSH
 652: EMPTY
 653: ST_TO_ADDR
// ar_targetlist = [ ] ;
 654: LD_ADDR_EXP 140
 658: PUSH
 659: EMPTY
 660: ST_TO_ADDR
// ar_areas = [ ] ;
 661: LD_ADDR_EXP 141
 665: PUSH
 666: EMPTY
 667: ST_TO_ADDR
// ar_liveslist = [ ] ;
 668: LD_ADDR_EXP 142
 672: PUSH
 673: EMPTY
 674: ST_TO_ADDR
// ar_dlg = [ ] ;
 675: LD_ADDR_EXP 143
 679: PUSH
 680: EMPTY
 681: ST_TO_ADDR
// path1a = [ [ 158 , 169 ] , [ 137 , 154 ] , [ 121 , 136 ] , [ 112 , 121 ] , [ 104 , 106 ] , [ 100 , 87 ] , [ 103 , 73 ] , [ 111 , 57 ] , [ 116 , 45 ] , [ 121 , 26 ] , [ 124 , 20 ] , [ 126 , 10 ] , [ 132 , 4 ] ] ;
 682: LD_ADDR_EXP 67
 686: PUSH
 687: LD_INT 158
 689: PUSH
 690: LD_INT 169
 692: PUSH
 693: EMPTY
 694: LIST
 695: LIST
 696: PUSH
 697: LD_INT 137
 699: PUSH
 700: LD_INT 154
 702: PUSH
 703: EMPTY
 704: LIST
 705: LIST
 706: PUSH
 707: LD_INT 121
 709: PUSH
 710: LD_INT 136
 712: PUSH
 713: EMPTY
 714: LIST
 715: LIST
 716: PUSH
 717: LD_INT 112
 719: PUSH
 720: LD_INT 121
 722: PUSH
 723: EMPTY
 724: LIST
 725: LIST
 726: PUSH
 727: LD_INT 104
 729: PUSH
 730: LD_INT 106
 732: PUSH
 733: EMPTY
 734: LIST
 735: LIST
 736: PUSH
 737: LD_INT 100
 739: PUSH
 740: LD_INT 87
 742: PUSH
 743: EMPTY
 744: LIST
 745: LIST
 746: PUSH
 747: LD_INT 103
 749: PUSH
 750: LD_INT 73
 752: PUSH
 753: EMPTY
 754: LIST
 755: LIST
 756: PUSH
 757: LD_INT 111
 759: PUSH
 760: LD_INT 57
 762: PUSH
 763: EMPTY
 764: LIST
 765: LIST
 766: PUSH
 767: LD_INT 116
 769: PUSH
 770: LD_INT 45
 772: PUSH
 773: EMPTY
 774: LIST
 775: LIST
 776: PUSH
 777: LD_INT 121
 779: PUSH
 780: LD_INT 26
 782: PUSH
 783: EMPTY
 784: LIST
 785: LIST
 786: PUSH
 787: LD_INT 124
 789: PUSH
 790: LD_INT 20
 792: PUSH
 793: EMPTY
 794: LIST
 795: LIST
 796: PUSH
 797: LD_INT 126
 799: PUSH
 800: LD_INT 10
 802: PUSH
 803: EMPTY
 804: LIST
 805: LIST
 806: PUSH
 807: LD_INT 132
 809: PUSH
 810: LD_INT 4
 812: PUSH
 813: EMPTY
 814: LIST
 815: LIST
 816: PUSH
 817: EMPTY
 818: LIST
 819: LIST
 820: LIST
 821: LIST
 822: LIST
 823: LIST
 824: LIST
 825: LIST
 826: LIST
 827: LIST
 828: LIST
 829: LIST
 830: LIST
 831: ST_TO_ADDR
// path1b = [ [ 158 , 169 ] , [ 137 , 154 ] , [ 121 , 136 ] , [ 112 , 121 ] , [ 92 , 107 ] , [ 69 , 96 ] , [ 56 , 78 ] , [ 46 , 56 ] , [ 40 , 26 ] , [ 50 , 13 ] ] ;
 832: LD_ADDR_EXP 68
 836: PUSH
 837: LD_INT 158
 839: PUSH
 840: LD_INT 169
 842: PUSH
 843: EMPTY
 844: LIST
 845: LIST
 846: PUSH
 847: LD_INT 137
 849: PUSH
 850: LD_INT 154
 852: PUSH
 853: EMPTY
 854: LIST
 855: LIST
 856: PUSH
 857: LD_INT 121
 859: PUSH
 860: LD_INT 136
 862: PUSH
 863: EMPTY
 864: LIST
 865: LIST
 866: PUSH
 867: LD_INT 112
 869: PUSH
 870: LD_INT 121
 872: PUSH
 873: EMPTY
 874: LIST
 875: LIST
 876: PUSH
 877: LD_INT 92
 879: PUSH
 880: LD_INT 107
 882: PUSH
 883: EMPTY
 884: LIST
 885: LIST
 886: PUSH
 887: LD_INT 69
 889: PUSH
 890: LD_INT 96
 892: PUSH
 893: EMPTY
 894: LIST
 895: LIST
 896: PUSH
 897: LD_INT 56
 899: PUSH
 900: LD_INT 78
 902: PUSH
 903: EMPTY
 904: LIST
 905: LIST
 906: PUSH
 907: LD_INT 46
 909: PUSH
 910: LD_INT 56
 912: PUSH
 913: EMPTY
 914: LIST
 915: LIST
 916: PUSH
 917: LD_INT 40
 919: PUSH
 920: LD_INT 26
 922: PUSH
 923: EMPTY
 924: LIST
 925: LIST
 926: PUSH
 927: LD_INT 50
 929: PUSH
 930: LD_INT 13
 932: PUSH
 933: EMPTY
 934: LIST
 935: LIST
 936: PUSH
 937: EMPTY
 938: LIST
 939: LIST
 940: LIST
 941: LIST
 942: LIST
 943: LIST
 944: LIST
 945: LIST
 946: LIST
 947: LIST
 948: ST_TO_ADDR
// path1c = [ [ 148 , 180 ] , [ 123 , 174 ] , [ 100 , 155 ] , [ 86 , 128 ] , [ 71 , 103 ] , [ 56 , 78 ] , [ 46 , 56 ] , [ 40 , 26 ] , [ 50 , 13 ] ] ;
 949: LD_ADDR_EXP 69
 953: PUSH
 954: LD_INT 148
 956: PUSH
 957: LD_INT 180
 959: PUSH
 960: EMPTY
 961: LIST
 962: LIST
 963: PUSH
 964: LD_INT 123
 966: PUSH
 967: LD_INT 174
 969: PUSH
 970: EMPTY
 971: LIST
 972: LIST
 973: PUSH
 974: LD_INT 100
 976: PUSH
 977: LD_INT 155
 979: PUSH
 980: EMPTY
 981: LIST
 982: LIST
 983: PUSH
 984: LD_INT 86
 986: PUSH
 987: LD_INT 128
 989: PUSH
 990: EMPTY
 991: LIST
 992: LIST
 993: PUSH
 994: LD_INT 71
 996: PUSH
 997: LD_INT 103
 999: PUSH
1000: EMPTY
1001: LIST
1002: LIST
1003: PUSH
1004: LD_INT 56
1006: PUSH
1007: LD_INT 78
1009: PUSH
1010: EMPTY
1011: LIST
1012: LIST
1013: PUSH
1014: LD_INT 46
1016: PUSH
1017: LD_INT 56
1019: PUSH
1020: EMPTY
1021: LIST
1022: LIST
1023: PUSH
1024: LD_INT 40
1026: PUSH
1027: LD_INT 26
1029: PUSH
1030: EMPTY
1031: LIST
1032: LIST
1033: PUSH
1034: LD_INT 50
1036: PUSH
1037: LD_INT 13
1039: PUSH
1040: EMPTY
1041: LIST
1042: LIST
1043: PUSH
1044: EMPTY
1045: LIST
1046: LIST
1047: LIST
1048: LIST
1049: LIST
1050: LIST
1051: LIST
1052: LIST
1053: LIST
1054: ST_TO_ADDR
// path1d = [ [ 177 , 182 ] , [ 173 , 168 ] , [ 157 , 153 ] , [ 143 , 138 ] , [ 135 , 124 ] , [ 131 , 113 ] , [ 130 , 106 ] , [ 129 , 89 ] , [ 127 , 72 ] , [ 122 , 62 ] , [ 122 , 53 ] , [ 126 , 45 ] , [ 129 , 36 ] , [ 137 , 34 ] , [ 144 , 22 ] , [ 148 , 10 ] ] ;
1055: LD_ADDR_EXP 70
1059: PUSH
1060: LD_INT 177
1062: PUSH
1063: LD_INT 182
1065: PUSH
1066: EMPTY
1067: LIST
1068: LIST
1069: PUSH
1070: LD_INT 173
1072: PUSH
1073: LD_INT 168
1075: PUSH
1076: EMPTY
1077: LIST
1078: LIST
1079: PUSH
1080: LD_INT 157
1082: PUSH
1083: LD_INT 153
1085: PUSH
1086: EMPTY
1087: LIST
1088: LIST
1089: PUSH
1090: LD_INT 143
1092: PUSH
1093: LD_INT 138
1095: PUSH
1096: EMPTY
1097: LIST
1098: LIST
1099: PUSH
1100: LD_INT 135
1102: PUSH
1103: LD_INT 124
1105: PUSH
1106: EMPTY
1107: LIST
1108: LIST
1109: PUSH
1110: LD_INT 131
1112: PUSH
1113: LD_INT 113
1115: PUSH
1116: EMPTY
1117: LIST
1118: LIST
1119: PUSH
1120: LD_INT 130
1122: PUSH
1123: LD_INT 106
1125: PUSH
1126: EMPTY
1127: LIST
1128: LIST
1129: PUSH
1130: LD_INT 129
1132: PUSH
1133: LD_INT 89
1135: PUSH
1136: EMPTY
1137: LIST
1138: LIST
1139: PUSH
1140: LD_INT 127
1142: PUSH
1143: LD_INT 72
1145: PUSH
1146: EMPTY
1147: LIST
1148: LIST
1149: PUSH
1150: LD_INT 122
1152: PUSH
1153: LD_INT 62
1155: PUSH
1156: EMPTY
1157: LIST
1158: LIST
1159: PUSH
1160: LD_INT 122
1162: PUSH
1163: LD_INT 53
1165: PUSH
1166: EMPTY
1167: LIST
1168: LIST
1169: PUSH
1170: LD_INT 126
1172: PUSH
1173: LD_INT 45
1175: PUSH
1176: EMPTY
1177: LIST
1178: LIST
1179: PUSH
1180: LD_INT 129
1182: PUSH
1183: LD_INT 36
1185: PUSH
1186: EMPTY
1187: LIST
1188: LIST
1189: PUSH
1190: LD_INT 137
1192: PUSH
1193: LD_INT 34
1195: PUSH
1196: EMPTY
1197: LIST
1198: LIST
1199: PUSH
1200: LD_INT 144
1202: PUSH
1203: LD_INT 22
1205: PUSH
1206: EMPTY
1207: LIST
1208: LIST
1209: PUSH
1210: LD_INT 148
1212: PUSH
1213: LD_INT 10
1215: PUSH
1216: EMPTY
1217: LIST
1218: LIST
1219: PUSH
1220: EMPTY
1221: LIST
1222: LIST
1223: LIST
1224: LIST
1225: LIST
1226: LIST
1227: LIST
1228: LIST
1229: LIST
1230: LIST
1231: LIST
1232: LIST
1233: LIST
1234: LIST
1235: LIST
1236: LIST
1237: ST_TO_ADDR
// path1e = [ [ 177 , 182 ] , [ 178 , 170 ] , [ 174 , 155 ] , [ 161 , 141 ] , [ 146 , 125 ] , [ 134 , 111 ] , [ 131 , 98 ] , [ 126 , 79 ] , [ 127 , 72 ] , [ 122 , 62 ] , [ 122 , 53 ] , [ 126 , 45 ] , [ 129 , 36 ] , [ 144 , 22 ] , [ 148 , 10 ] ] ;
1238: LD_ADDR_EXP 71
1242: PUSH
1243: LD_INT 177
1245: PUSH
1246: LD_INT 182
1248: PUSH
1249: EMPTY
1250: LIST
1251: LIST
1252: PUSH
1253: LD_INT 178
1255: PUSH
1256: LD_INT 170
1258: PUSH
1259: EMPTY
1260: LIST
1261: LIST
1262: PUSH
1263: LD_INT 174
1265: PUSH
1266: LD_INT 155
1268: PUSH
1269: EMPTY
1270: LIST
1271: LIST
1272: PUSH
1273: LD_INT 161
1275: PUSH
1276: LD_INT 141
1278: PUSH
1279: EMPTY
1280: LIST
1281: LIST
1282: PUSH
1283: LD_INT 146
1285: PUSH
1286: LD_INT 125
1288: PUSH
1289: EMPTY
1290: LIST
1291: LIST
1292: PUSH
1293: LD_INT 134
1295: PUSH
1296: LD_INT 111
1298: PUSH
1299: EMPTY
1300: LIST
1301: LIST
1302: PUSH
1303: LD_INT 131
1305: PUSH
1306: LD_INT 98
1308: PUSH
1309: EMPTY
1310: LIST
1311: LIST
1312: PUSH
1313: LD_INT 126
1315: PUSH
1316: LD_INT 79
1318: PUSH
1319: EMPTY
1320: LIST
1321: LIST
1322: PUSH
1323: LD_INT 127
1325: PUSH
1326: LD_INT 72
1328: PUSH
1329: EMPTY
1330: LIST
1331: LIST
1332: PUSH
1333: LD_INT 122
1335: PUSH
1336: LD_INT 62
1338: PUSH
1339: EMPTY
1340: LIST
1341: LIST
1342: PUSH
1343: LD_INT 122
1345: PUSH
1346: LD_INT 53
1348: PUSH
1349: EMPTY
1350: LIST
1351: LIST
1352: PUSH
1353: LD_INT 126
1355: PUSH
1356: LD_INT 45
1358: PUSH
1359: EMPTY
1360: LIST
1361: LIST
1362: PUSH
1363: LD_INT 129
1365: PUSH
1366: LD_INT 36
1368: PUSH
1369: EMPTY
1370: LIST
1371: LIST
1372: PUSH
1373: LD_INT 144
1375: PUSH
1376: LD_INT 22
1378: PUSH
1379: EMPTY
1380: LIST
1381: LIST
1382: PUSH
1383: LD_INT 148
1385: PUSH
1386: LD_INT 10
1388: PUSH
1389: EMPTY
1390: LIST
1391: LIST
1392: PUSH
1393: EMPTY
1394: LIST
1395: LIST
1396: LIST
1397: LIST
1398: LIST
1399: LIST
1400: LIST
1401: LIST
1402: LIST
1403: LIST
1404: LIST
1405: LIST
1406: LIST
1407: LIST
1408: LIST
1409: ST_TO_ADDR
// path1f = [ [ 177 , 182 ] , [ 178 , 170 ] , [ 174 , 155 ] , [ 161 , 141 ] , [ 152 , 128 ] , [ 166 , 121 ] , [ 166 , 107 ] , [ 165 , 88 ] , [ 175 , 67 ] , [ 179 , 56 ] , [ 162 , 32 ] , [ 149 , 17 ] ] ;
1410: LD_ADDR_EXP 72
1414: PUSH
1415: LD_INT 177
1417: PUSH
1418: LD_INT 182
1420: PUSH
1421: EMPTY
1422: LIST
1423: LIST
1424: PUSH
1425: LD_INT 178
1427: PUSH
1428: LD_INT 170
1430: PUSH
1431: EMPTY
1432: LIST
1433: LIST
1434: PUSH
1435: LD_INT 174
1437: PUSH
1438: LD_INT 155
1440: PUSH
1441: EMPTY
1442: LIST
1443: LIST
1444: PUSH
1445: LD_INT 161
1447: PUSH
1448: LD_INT 141
1450: PUSH
1451: EMPTY
1452: LIST
1453: LIST
1454: PUSH
1455: LD_INT 152
1457: PUSH
1458: LD_INT 128
1460: PUSH
1461: EMPTY
1462: LIST
1463: LIST
1464: PUSH
1465: LD_INT 166
1467: PUSH
1468: LD_INT 121
1470: PUSH
1471: EMPTY
1472: LIST
1473: LIST
1474: PUSH
1475: LD_INT 166
1477: PUSH
1478: LD_INT 107
1480: PUSH
1481: EMPTY
1482: LIST
1483: LIST
1484: PUSH
1485: LD_INT 165
1487: PUSH
1488: LD_INT 88
1490: PUSH
1491: EMPTY
1492: LIST
1493: LIST
1494: PUSH
1495: LD_INT 175
1497: PUSH
1498: LD_INT 67
1500: PUSH
1501: EMPTY
1502: LIST
1503: LIST
1504: PUSH
1505: LD_INT 179
1507: PUSH
1508: LD_INT 56
1510: PUSH
1511: EMPTY
1512: LIST
1513: LIST
1514: PUSH
1515: LD_INT 162
1517: PUSH
1518: LD_INT 32
1520: PUSH
1521: EMPTY
1522: LIST
1523: LIST
1524: PUSH
1525: LD_INT 149
1527: PUSH
1528: LD_INT 17
1530: PUSH
1531: EMPTY
1532: LIST
1533: LIST
1534: PUSH
1535: EMPTY
1536: LIST
1537: LIST
1538: LIST
1539: LIST
1540: LIST
1541: LIST
1542: LIST
1543: LIST
1544: LIST
1545: LIST
1546: LIST
1547: LIST
1548: ST_TO_ADDR
// path2a = [ [ 99 , 177 ] , [ 90 , 160 ] , [ 82 , 145 ] , [ 81 , 127 ] , [ 77 , 112 ] , [ 63 , 90 ] , [ 47 , 61 ] , [ 40 , 36 ] , [ 38 , 22 ] ] ;
1549: LD_ADDR_EXP 73
1553: PUSH
1554: LD_INT 99
1556: PUSH
1557: LD_INT 177
1559: PUSH
1560: EMPTY
1561: LIST
1562: LIST
1563: PUSH
1564: LD_INT 90
1566: PUSH
1567: LD_INT 160
1569: PUSH
1570: EMPTY
1571: LIST
1572: LIST
1573: PUSH
1574: LD_INT 82
1576: PUSH
1577: LD_INT 145
1579: PUSH
1580: EMPTY
1581: LIST
1582: LIST
1583: PUSH
1584: LD_INT 81
1586: PUSH
1587: LD_INT 127
1589: PUSH
1590: EMPTY
1591: LIST
1592: LIST
1593: PUSH
1594: LD_INT 77
1596: PUSH
1597: LD_INT 112
1599: PUSH
1600: EMPTY
1601: LIST
1602: LIST
1603: PUSH
1604: LD_INT 63
1606: PUSH
1607: LD_INT 90
1609: PUSH
1610: EMPTY
1611: LIST
1612: LIST
1613: PUSH
1614: LD_INT 47
1616: PUSH
1617: LD_INT 61
1619: PUSH
1620: EMPTY
1621: LIST
1622: LIST
1623: PUSH
1624: LD_INT 40
1626: PUSH
1627: LD_INT 36
1629: PUSH
1630: EMPTY
1631: LIST
1632: LIST
1633: PUSH
1634: LD_INT 38
1636: PUSH
1637: LD_INT 22
1639: PUSH
1640: EMPTY
1641: LIST
1642: LIST
1643: PUSH
1644: EMPTY
1645: LIST
1646: LIST
1647: LIST
1648: LIST
1649: LIST
1650: LIST
1651: LIST
1652: LIST
1653: LIST
1654: ST_TO_ADDR
// path2b = [ [ 113 , 184 ] , [ 117 , 171 ] , [ 106 , 150 ] , [ 95 , 133 ] , [ 77 , 112 ] , [ 63 , 90 ] , [ 47 , 61 ] , [ 40 , 36 ] , [ 38 , 22 ] ] ;
1655: LD_ADDR_EXP 74
1659: PUSH
1660: LD_INT 113
1662: PUSH
1663: LD_INT 184
1665: PUSH
1666: EMPTY
1667: LIST
1668: LIST
1669: PUSH
1670: LD_INT 117
1672: PUSH
1673: LD_INT 171
1675: PUSH
1676: EMPTY
1677: LIST
1678: LIST
1679: PUSH
1680: LD_INT 106
1682: PUSH
1683: LD_INT 150
1685: PUSH
1686: EMPTY
1687: LIST
1688: LIST
1689: PUSH
1690: LD_INT 95
1692: PUSH
1693: LD_INT 133
1695: PUSH
1696: EMPTY
1697: LIST
1698: LIST
1699: PUSH
1700: LD_INT 77
1702: PUSH
1703: LD_INT 112
1705: PUSH
1706: EMPTY
1707: LIST
1708: LIST
1709: PUSH
1710: LD_INT 63
1712: PUSH
1713: LD_INT 90
1715: PUSH
1716: EMPTY
1717: LIST
1718: LIST
1719: PUSH
1720: LD_INT 47
1722: PUSH
1723: LD_INT 61
1725: PUSH
1726: EMPTY
1727: LIST
1728: LIST
1729: PUSH
1730: LD_INT 40
1732: PUSH
1733: LD_INT 36
1735: PUSH
1736: EMPTY
1737: LIST
1738: LIST
1739: PUSH
1740: LD_INT 38
1742: PUSH
1743: LD_INT 22
1745: PUSH
1746: EMPTY
1747: LIST
1748: LIST
1749: PUSH
1750: EMPTY
1751: LIST
1752: LIST
1753: LIST
1754: LIST
1755: LIST
1756: LIST
1757: LIST
1758: LIST
1759: LIST
1760: ST_TO_ADDR
// path2c = [ [ 113 , 184 ] , [ 117 , 171 ] , [ 106 , 150 ] , [ 95 , 133 ] , [ 89 , 119 ] , [ 99 , 102 ] , [ 98 , 87 ] , [ 103 , 70 ] , [ 102 , 52 ] , [ 80 , 29 ] ] ;
1761: LD_ADDR_EXP 75
1765: PUSH
1766: LD_INT 113
1768: PUSH
1769: LD_INT 184
1771: PUSH
1772: EMPTY
1773: LIST
1774: LIST
1775: PUSH
1776: LD_INT 117
1778: PUSH
1779: LD_INT 171
1781: PUSH
1782: EMPTY
1783: LIST
1784: LIST
1785: PUSH
1786: LD_INT 106
1788: PUSH
1789: LD_INT 150
1791: PUSH
1792: EMPTY
1793: LIST
1794: LIST
1795: PUSH
1796: LD_INT 95
1798: PUSH
1799: LD_INT 133
1801: PUSH
1802: EMPTY
1803: LIST
1804: LIST
1805: PUSH
1806: LD_INT 89
1808: PUSH
1809: LD_INT 119
1811: PUSH
1812: EMPTY
1813: LIST
1814: LIST
1815: PUSH
1816: LD_INT 99
1818: PUSH
1819: LD_INT 102
1821: PUSH
1822: EMPTY
1823: LIST
1824: LIST
1825: PUSH
1826: LD_INT 98
1828: PUSH
1829: LD_INT 87
1831: PUSH
1832: EMPTY
1833: LIST
1834: LIST
1835: PUSH
1836: LD_INT 103
1838: PUSH
1839: LD_INT 70
1841: PUSH
1842: EMPTY
1843: LIST
1844: LIST
1845: PUSH
1846: LD_INT 102
1848: PUSH
1849: LD_INT 52
1851: PUSH
1852: EMPTY
1853: LIST
1854: LIST
1855: PUSH
1856: LD_INT 80
1858: PUSH
1859: LD_INT 29
1861: PUSH
1862: EMPTY
1863: LIST
1864: LIST
1865: PUSH
1866: EMPTY
1867: LIST
1868: LIST
1869: LIST
1870: LIST
1871: LIST
1872: LIST
1873: LIST
1874: LIST
1875: LIST
1876: LIST
1877: ST_TO_ADDR
// path2d = [ [ 113 , 184 ] , [ 117 , 171 ] , [ 124 , 154 ] , [ 125 , 139 ] , [ 131 , 125 ] , [ 133 , 109 ] , [ 136 , 94 ] , [ 133 , 75 ] , [ 137 , 57 ] , [ 141 , 36 ] , [ 134 , 19 ] ] ;
1878: LD_ADDR_EXP 76
1882: PUSH
1883: LD_INT 113
1885: PUSH
1886: LD_INT 184
1888: PUSH
1889: EMPTY
1890: LIST
1891: LIST
1892: PUSH
1893: LD_INT 117
1895: PUSH
1896: LD_INT 171
1898: PUSH
1899: EMPTY
1900: LIST
1901: LIST
1902: PUSH
1903: LD_INT 124
1905: PUSH
1906: LD_INT 154
1908: PUSH
1909: EMPTY
1910: LIST
1911: LIST
1912: PUSH
1913: LD_INT 125
1915: PUSH
1916: LD_INT 139
1918: PUSH
1919: EMPTY
1920: LIST
1921: LIST
1922: PUSH
1923: LD_INT 131
1925: PUSH
1926: LD_INT 125
1928: PUSH
1929: EMPTY
1930: LIST
1931: LIST
1932: PUSH
1933: LD_INT 133
1935: PUSH
1936: LD_INT 109
1938: PUSH
1939: EMPTY
1940: LIST
1941: LIST
1942: PUSH
1943: LD_INT 136
1945: PUSH
1946: LD_INT 94
1948: PUSH
1949: EMPTY
1950: LIST
1951: LIST
1952: PUSH
1953: LD_INT 133
1955: PUSH
1956: LD_INT 75
1958: PUSH
1959: EMPTY
1960: LIST
1961: LIST
1962: PUSH
1963: LD_INT 137
1965: PUSH
1966: LD_INT 57
1968: PUSH
1969: EMPTY
1970: LIST
1971: LIST
1972: PUSH
1973: LD_INT 141
1975: PUSH
1976: LD_INT 36
1978: PUSH
1979: EMPTY
1980: LIST
1981: LIST
1982: PUSH
1983: LD_INT 134
1985: PUSH
1986: LD_INT 19
1988: PUSH
1989: EMPTY
1990: LIST
1991: LIST
1992: PUSH
1993: EMPTY
1994: LIST
1995: LIST
1996: LIST
1997: LIST
1998: LIST
1999: LIST
2000: LIST
2001: LIST
2002: LIST
2003: LIST
2004: LIST
2005: ST_TO_ADDR
// path2e = [ [ 113 , 184 ] , [ 117 , 171 ] , [ 124 , 154 ] , [ 125 , 139 ] , [ 131 , 125 ] , [ 147 , 123 ] , [ 166 , 121 ] , [ 166 , 107 ] , [ 165 , 88 ] , [ 175 , 67 ] , [ 179 , 56 ] , [ 162 , 32 ] , [ 149 , 17 ] ] ;
2006: LD_ADDR_EXP 77
2010: PUSH
2011: LD_INT 113
2013: PUSH
2014: LD_INT 184
2016: PUSH
2017: EMPTY
2018: LIST
2019: LIST
2020: PUSH
2021: LD_INT 117
2023: PUSH
2024: LD_INT 171
2026: PUSH
2027: EMPTY
2028: LIST
2029: LIST
2030: PUSH
2031: LD_INT 124
2033: PUSH
2034: LD_INT 154
2036: PUSH
2037: EMPTY
2038: LIST
2039: LIST
2040: PUSH
2041: LD_INT 125
2043: PUSH
2044: LD_INT 139
2046: PUSH
2047: EMPTY
2048: LIST
2049: LIST
2050: PUSH
2051: LD_INT 131
2053: PUSH
2054: LD_INT 125
2056: PUSH
2057: EMPTY
2058: LIST
2059: LIST
2060: PUSH
2061: LD_INT 147
2063: PUSH
2064: LD_INT 123
2066: PUSH
2067: EMPTY
2068: LIST
2069: LIST
2070: PUSH
2071: LD_INT 166
2073: PUSH
2074: LD_INT 121
2076: PUSH
2077: EMPTY
2078: LIST
2079: LIST
2080: PUSH
2081: LD_INT 166
2083: PUSH
2084: LD_INT 107
2086: PUSH
2087: EMPTY
2088: LIST
2089: LIST
2090: PUSH
2091: LD_INT 165
2093: PUSH
2094: LD_INT 88
2096: PUSH
2097: EMPTY
2098: LIST
2099: LIST
2100: PUSH
2101: LD_INT 175
2103: PUSH
2104: LD_INT 67
2106: PUSH
2107: EMPTY
2108: LIST
2109: LIST
2110: PUSH
2111: LD_INT 179
2113: PUSH
2114: LD_INT 56
2116: PUSH
2117: EMPTY
2118: LIST
2119: LIST
2120: PUSH
2121: LD_INT 162
2123: PUSH
2124: LD_INT 32
2126: PUSH
2127: EMPTY
2128: LIST
2129: LIST
2130: PUSH
2131: LD_INT 149
2133: PUSH
2134: LD_INT 17
2136: PUSH
2137: EMPTY
2138: LIST
2139: LIST
2140: PUSH
2141: EMPTY
2142: LIST
2143: LIST
2144: LIST
2145: LIST
2146: LIST
2147: LIST
2148: LIST
2149: LIST
2150: LIST
2151: LIST
2152: LIST
2153: LIST
2154: LIST
2155: ST_TO_ADDR
// path2f = [ [ 99 , 177 ] , [ 90 , 160 ] , [ 82 , 145 ] , [ 81 , 127 ] , [ 89 , 119 ] , [ 99 , 102 ] , [ 98 , 87 ] , [ 103 , 70 ] , [ 102 , 52 ] , [ 80 , 29 ] ] ;
2156: LD_ADDR_EXP 78
2160: PUSH
2161: LD_INT 99
2163: PUSH
2164: LD_INT 177
2166: PUSH
2167: EMPTY
2168: LIST
2169: LIST
2170: PUSH
2171: LD_INT 90
2173: PUSH
2174: LD_INT 160
2176: PUSH
2177: EMPTY
2178: LIST
2179: LIST
2180: PUSH
2181: LD_INT 82
2183: PUSH
2184: LD_INT 145
2186: PUSH
2187: EMPTY
2188: LIST
2189: LIST
2190: PUSH
2191: LD_INT 81
2193: PUSH
2194: LD_INT 127
2196: PUSH
2197: EMPTY
2198: LIST
2199: LIST
2200: PUSH
2201: LD_INT 89
2203: PUSH
2204: LD_INT 119
2206: PUSH
2207: EMPTY
2208: LIST
2209: LIST
2210: PUSH
2211: LD_INT 99
2213: PUSH
2214: LD_INT 102
2216: PUSH
2217: EMPTY
2218: LIST
2219: LIST
2220: PUSH
2221: LD_INT 98
2223: PUSH
2224: LD_INT 87
2226: PUSH
2227: EMPTY
2228: LIST
2229: LIST
2230: PUSH
2231: LD_INT 103
2233: PUSH
2234: LD_INT 70
2236: PUSH
2237: EMPTY
2238: LIST
2239: LIST
2240: PUSH
2241: LD_INT 102
2243: PUSH
2244: LD_INT 52
2246: PUSH
2247: EMPTY
2248: LIST
2249: LIST
2250: PUSH
2251: LD_INT 80
2253: PUSH
2254: LD_INT 29
2256: PUSH
2257: EMPTY
2258: LIST
2259: LIST
2260: PUSH
2261: EMPTY
2262: LIST
2263: LIST
2264: LIST
2265: LIST
2266: LIST
2267: LIST
2268: LIST
2269: LIST
2270: LIST
2271: LIST
2272: ST_TO_ADDR
// path3a = [ [ 206 , 190 ] , [ 191 , 182 ] , [ 173 , 168 ] , [ 157 , 153 ] , [ 143 , 138 ] , [ 135 , 124 ] , [ 131 , 113 ] , [ 130 , 106 ] , [ 131 , 98 ] , [ 129 , 89 ] , [ 126 , 79 ] , [ 127 , 72 ] , [ 122 , 62 ] , [ 122 , 53 ] , [ 126 , 45 ] , [ 129 , 36 ] , [ 137 , 34 ] , [ 142 , 29 ] , [ 144 , 22 ] , [ 148 , 10 ] ] ;
2273: LD_ADDR_EXP 79
2277: PUSH
2278: LD_INT 206
2280: PUSH
2281: LD_INT 190
2283: PUSH
2284: EMPTY
2285: LIST
2286: LIST
2287: PUSH
2288: LD_INT 191
2290: PUSH
2291: LD_INT 182
2293: PUSH
2294: EMPTY
2295: LIST
2296: LIST
2297: PUSH
2298: LD_INT 173
2300: PUSH
2301: LD_INT 168
2303: PUSH
2304: EMPTY
2305: LIST
2306: LIST
2307: PUSH
2308: LD_INT 157
2310: PUSH
2311: LD_INT 153
2313: PUSH
2314: EMPTY
2315: LIST
2316: LIST
2317: PUSH
2318: LD_INT 143
2320: PUSH
2321: LD_INT 138
2323: PUSH
2324: EMPTY
2325: LIST
2326: LIST
2327: PUSH
2328: LD_INT 135
2330: PUSH
2331: LD_INT 124
2333: PUSH
2334: EMPTY
2335: LIST
2336: LIST
2337: PUSH
2338: LD_INT 131
2340: PUSH
2341: LD_INT 113
2343: PUSH
2344: EMPTY
2345: LIST
2346: LIST
2347: PUSH
2348: LD_INT 130
2350: PUSH
2351: LD_INT 106
2353: PUSH
2354: EMPTY
2355: LIST
2356: LIST
2357: PUSH
2358: LD_INT 131
2360: PUSH
2361: LD_INT 98
2363: PUSH
2364: EMPTY
2365: LIST
2366: LIST
2367: PUSH
2368: LD_INT 129
2370: PUSH
2371: LD_INT 89
2373: PUSH
2374: EMPTY
2375: LIST
2376: LIST
2377: PUSH
2378: LD_INT 126
2380: PUSH
2381: LD_INT 79
2383: PUSH
2384: EMPTY
2385: LIST
2386: LIST
2387: PUSH
2388: LD_INT 127
2390: PUSH
2391: LD_INT 72
2393: PUSH
2394: EMPTY
2395: LIST
2396: LIST
2397: PUSH
2398: LD_INT 122
2400: PUSH
2401: LD_INT 62
2403: PUSH
2404: EMPTY
2405: LIST
2406: LIST
2407: PUSH
2408: LD_INT 122
2410: PUSH
2411: LD_INT 53
2413: PUSH
2414: EMPTY
2415: LIST
2416: LIST
2417: PUSH
2418: LD_INT 126
2420: PUSH
2421: LD_INT 45
2423: PUSH
2424: EMPTY
2425: LIST
2426: LIST
2427: PUSH
2428: LD_INT 129
2430: PUSH
2431: LD_INT 36
2433: PUSH
2434: EMPTY
2435: LIST
2436: LIST
2437: PUSH
2438: LD_INT 137
2440: PUSH
2441: LD_INT 34
2443: PUSH
2444: EMPTY
2445: LIST
2446: LIST
2447: PUSH
2448: LD_INT 142
2450: PUSH
2451: LD_INT 29
2453: PUSH
2454: EMPTY
2455: LIST
2456: LIST
2457: PUSH
2458: LD_INT 144
2460: PUSH
2461: LD_INT 22
2463: PUSH
2464: EMPTY
2465: LIST
2466: LIST
2467: PUSH
2468: LD_INT 148
2470: PUSH
2471: LD_INT 10
2473: PUSH
2474: EMPTY
2475: LIST
2476: LIST
2477: PUSH
2478: EMPTY
2479: LIST
2480: LIST
2481: LIST
2482: LIST
2483: LIST
2484: LIST
2485: LIST
2486: LIST
2487: LIST
2488: LIST
2489: LIST
2490: LIST
2491: LIST
2492: LIST
2493: LIST
2494: LIST
2495: LIST
2496: LIST
2497: LIST
2498: LIST
2499: ST_TO_ADDR
// path3b = [ [ 206 , 190 ] , [ 191 , 182 ] , [ 178 , 170 ] , [ 174 , 155 ] , [ 161 , 141 ] , [ 146 , 125 ] , [ 134 , 111 ] , [ 131 , 98 ] , [ 129 , 89 ] , [ 126 , 79 ] , [ 127 , 72 ] , [ 122 , 62 ] , [ 122 , 53 ] , [ 126 , 45 ] , [ 129 , 36 ] , [ 137 , 34 ] , [ 142 , 29 ] , [ 144 , 22 ] , [ 148 , 10 ] ] ;
2500: LD_ADDR_EXP 80
2504: PUSH
2505: LD_INT 206
2507: PUSH
2508: LD_INT 190
2510: PUSH
2511: EMPTY
2512: LIST
2513: LIST
2514: PUSH
2515: LD_INT 191
2517: PUSH
2518: LD_INT 182
2520: PUSH
2521: EMPTY
2522: LIST
2523: LIST
2524: PUSH
2525: LD_INT 178
2527: PUSH
2528: LD_INT 170
2530: PUSH
2531: EMPTY
2532: LIST
2533: LIST
2534: PUSH
2535: LD_INT 174
2537: PUSH
2538: LD_INT 155
2540: PUSH
2541: EMPTY
2542: LIST
2543: LIST
2544: PUSH
2545: LD_INT 161
2547: PUSH
2548: LD_INT 141
2550: PUSH
2551: EMPTY
2552: LIST
2553: LIST
2554: PUSH
2555: LD_INT 146
2557: PUSH
2558: LD_INT 125
2560: PUSH
2561: EMPTY
2562: LIST
2563: LIST
2564: PUSH
2565: LD_INT 134
2567: PUSH
2568: LD_INT 111
2570: PUSH
2571: EMPTY
2572: LIST
2573: LIST
2574: PUSH
2575: LD_INT 131
2577: PUSH
2578: LD_INT 98
2580: PUSH
2581: EMPTY
2582: LIST
2583: LIST
2584: PUSH
2585: LD_INT 129
2587: PUSH
2588: LD_INT 89
2590: PUSH
2591: EMPTY
2592: LIST
2593: LIST
2594: PUSH
2595: LD_INT 126
2597: PUSH
2598: LD_INT 79
2600: PUSH
2601: EMPTY
2602: LIST
2603: LIST
2604: PUSH
2605: LD_INT 127
2607: PUSH
2608: LD_INT 72
2610: PUSH
2611: EMPTY
2612: LIST
2613: LIST
2614: PUSH
2615: LD_INT 122
2617: PUSH
2618: LD_INT 62
2620: PUSH
2621: EMPTY
2622: LIST
2623: LIST
2624: PUSH
2625: LD_INT 122
2627: PUSH
2628: LD_INT 53
2630: PUSH
2631: EMPTY
2632: LIST
2633: LIST
2634: PUSH
2635: LD_INT 126
2637: PUSH
2638: LD_INT 45
2640: PUSH
2641: EMPTY
2642: LIST
2643: LIST
2644: PUSH
2645: LD_INT 129
2647: PUSH
2648: LD_INT 36
2650: PUSH
2651: EMPTY
2652: LIST
2653: LIST
2654: PUSH
2655: LD_INT 137
2657: PUSH
2658: LD_INT 34
2660: PUSH
2661: EMPTY
2662: LIST
2663: LIST
2664: PUSH
2665: LD_INT 142
2667: PUSH
2668: LD_INT 29
2670: PUSH
2671: EMPTY
2672: LIST
2673: LIST
2674: PUSH
2675: LD_INT 144
2677: PUSH
2678: LD_INT 22
2680: PUSH
2681: EMPTY
2682: LIST
2683: LIST
2684: PUSH
2685: LD_INT 148
2687: PUSH
2688: LD_INT 10
2690: PUSH
2691: EMPTY
2692: LIST
2693: LIST
2694: PUSH
2695: EMPTY
2696: LIST
2697: LIST
2698: LIST
2699: LIST
2700: LIST
2701: LIST
2702: LIST
2703: LIST
2704: LIST
2705: LIST
2706: LIST
2707: LIST
2708: LIST
2709: LIST
2710: LIST
2711: LIST
2712: LIST
2713: LIST
2714: LIST
2715: ST_TO_ADDR
// path3c = [ [ 206 , 190 ] , [ 191 , 182 ] , [ 178 , 170 ] , [ 174 , 155 ] , [ 161 , 141 ] , [ 152 , 128 ] , [ 166 , 121 ] , [ 166 , 107 ] , [ 165 , 88 ] , [ 175 , 67 ] , [ 179 , 56 ] , [ 162 , 32 ] , [ 149 , 17 ] ] ;
2716: LD_ADDR_EXP 81
2720: PUSH
2721: LD_INT 206
2723: PUSH
2724: LD_INT 190
2726: PUSH
2727: EMPTY
2728: LIST
2729: LIST
2730: PUSH
2731: LD_INT 191
2733: PUSH
2734: LD_INT 182
2736: PUSH
2737: EMPTY
2738: LIST
2739: LIST
2740: PUSH
2741: LD_INT 178
2743: PUSH
2744: LD_INT 170
2746: PUSH
2747: EMPTY
2748: LIST
2749: LIST
2750: PUSH
2751: LD_INT 174
2753: PUSH
2754: LD_INT 155
2756: PUSH
2757: EMPTY
2758: LIST
2759: LIST
2760: PUSH
2761: LD_INT 161
2763: PUSH
2764: LD_INT 141
2766: PUSH
2767: EMPTY
2768: LIST
2769: LIST
2770: PUSH
2771: LD_INT 152
2773: PUSH
2774: LD_INT 128
2776: PUSH
2777: EMPTY
2778: LIST
2779: LIST
2780: PUSH
2781: LD_INT 166
2783: PUSH
2784: LD_INT 121
2786: PUSH
2787: EMPTY
2788: LIST
2789: LIST
2790: PUSH
2791: LD_INT 166
2793: PUSH
2794: LD_INT 107
2796: PUSH
2797: EMPTY
2798: LIST
2799: LIST
2800: PUSH
2801: LD_INT 165
2803: PUSH
2804: LD_INT 88
2806: PUSH
2807: EMPTY
2808: LIST
2809: LIST
2810: PUSH
2811: LD_INT 175
2813: PUSH
2814: LD_INT 67
2816: PUSH
2817: EMPTY
2818: LIST
2819: LIST
2820: PUSH
2821: LD_INT 179
2823: PUSH
2824: LD_INT 56
2826: PUSH
2827: EMPTY
2828: LIST
2829: LIST
2830: PUSH
2831: LD_INT 162
2833: PUSH
2834: LD_INT 32
2836: PUSH
2837: EMPTY
2838: LIST
2839: LIST
2840: PUSH
2841: LD_INT 149
2843: PUSH
2844: LD_INT 17
2846: PUSH
2847: EMPTY
2848: LIST
2849: LIST
2850: PUSH
2851: EMPTY
2852: LIST
2853: LIST
2854: LIST
2855: LIST
2856: LIST
2857: LIST
2858: LIST
2859: LIST
2860: LIST
2861: LIST
2862: LIST
2863: LIST
2864: LIST
2865: ST_TO_ADDR
// path3d = [ [ 234 , 184 ] , [ 231 , 163 ] , [ 211 , 150 ] , [ 188 , 133 ] , [ 174 , 119 ] , [ 168 , 102 ] , [ 165 , 88 ] , [ 175 , 67 ] , [ 179 , 56 ] , [ 162 , 32 ] , [ 149 , 17 ] ] ;
2866: LD_ADDR_EXP 82
2870: PUSH
2871: LD_INT 234
2873: PUSH
2874: LD_INT 184
2876: PUSH
2877: EMPTY
2878: LIST
2879: LIST
2880: PUSH
2881: LD_INT 231
2883: PUSH
2884: LD_INT 163
2886: PUSH
2887: EMPTY
2888: LIST
2889: LIST
2890: PUSH
2891: LD_INT 211
2893: PUSH
2894: LD_INT 150
2896: PUSH
2897: EMPTY
2898: LIST
2899: LIST
2900: PUSH
2901: LD_INT 188
2903: PUSH
2904: LD_INT 133
2906: PUSH
2907: EMPTY
2908: LIST
2909: LIST
2910: PUSH
2911: LD_INT 174
2913: PUSH
2914: LD_INT 119
2916: PUSH
2917: EMPTY
2918: LIST
2919: LIST
2920: PUSH
2921: LD_INT 168
2923: PUSH
2924: LD_INT 102
2926: PUSH
2927: EMPTY
2928: LIST
2929: LIST
2930: PUSH
2931: LD_INT 165
2933: PUSH
2934: LD_INT 88
2936: PUSH
2937: EMPTY
2938: LIST
2939: LIST
2940: PUSH
2941: LD_INT 175
2943: PUSH
2944: LD_INT 67
2946: PUSH
2947: EMPTY
2948: LIST
2949: LIST
2950: PUSH
2951: LD_INT 179
2953: PUSH
2954: LD_INT 56
2956: PUSH
2957: EMPTY
2958: LIST
2959: LIST
2960: PUSH
2961: LD_INT 162
2963: PUSH
2964: LD_INT 32
2966: PUSH
2967: EMPTY
2968: LIST
2969: LIST
2970: PUSH
2971: LD_INT 149
2973: PUSH
2974: LD_INT 17
2976: PUSH
2977: EMPTY
2978: LIST
2979: LIST
2980: PUSH
2981: EMPTY
2982: LIST
2983: LIST
2984: LIST
2985: LIST
2986: LIST
2987: LIST
2988: LIST
2989: LIST
2990: LIST
2991: LIST
2992: LIST
2993: ST_TO_ADDR
// path3e = [ [ 234 , 184 ] , [ 241 , 175 ] , [ 232 , 161 ] , [ 218 , 132 ] , [ 213 , 122 ] , [ 201 , 111 ] , [ 193 , 99 ] , [ 187 , 85 ] , [ 175 , 67 ] , [ 179 , 56 ] , [ 162 , 32 ] , [ 149 , 17 ] ] ;
2994: LD_ADDR_EXP 83
2998: PUSH
2999: LD_INT 234
3001: PUSH
3002: LD_INT 184
3004: PUSH
3005: EMPTY
3006: LIST
3007: LIST
3008: PUSH
3009: LD_INT 241
3011: PUSH
3012: LD_INT 175
3014: PUSH
3015: EMPTY
3016: LIST
3017: LIST
3018: PUSH
3019: LD_INT 232
3021: PUSH
3022: LD_INT 161
3024: PUSH
3025: EMPTY
3026: LIST
3027: LIST
3028: PUSH
3029: LD_INT 218
3031: PUSH
3032: LD_INT 132
3034: PUSH
3035: EMPTY
3036: LIST
3037: LIST
3038: PUSH
3039: LD_INT 213
3041: PUSH
3042: LD_INT 122
3044: PUSH
3045: EMPTY
3046: LIST
3047: LIST
3048: PUSH
3049: LD_INT 201
3051: PUSH
3052: LD_INT 111
3054: PUSH
3055: EMPTY
3056: LIST
3057: LIST
3058: PUSH
3059: LD_INT 193
3061: PUSH
3062: LD_INT 99
3064: PUSH
3065: EMPTY
3066: LIST
3067: LIST
3068: PUSH
3069: LD_INT 187
3071: PUSH
3072: LD_INT 85
3074: PUSH
3075: EMPTY
3076: LIST
3077: LIST
3078: PUSH
3079: LD_INT 175
3081: PUSH
3082: LD_INT 67
3084: PUSH
3085: EMPTY
3086: LIST
3087: LIST
3088: PUSH
3089: LD_INT 179
3091: PUSH
3092: LD_INT 56
3094: PUSH
3095: EMPTY
3096: LIST
3097: LIST
3098: PUSH
3099: LD_INT 162
3101: PUSH
3102: LD_INT 32
3104: PUSH
3105: EMPTY
3106: LIST
3107: LIST
3108: PUSH
3109: LD_INT 149
3111: PUSH
3112: LD_INT 17
3114: PUSH
3115: EMPTY
3116: LIST
3117: LIST
3118: PUSH
3119: EMPTY
3120: LIST
3121: LIST
3122: LIST
3123: LIST
3124: LIST
3125: LIST
3126: LIST
3127: LIST
3128: LIST
3129: LIST
3130: LIST
3131: LIST
3132: ST_TO_ADDR
// path4a = [ [ 239 , 174 ] , [ 231 , 163 ] , [ 211 , 150 ] , [ 188 , 133 ] , [ 167 , 123 ] , [ 150 , 119 ] , [ 140 , 104 ] , [ 129 , 89 ] , [ 126 , 79 ] , [ 127 , 72 ] , [ 122 , 62 ] , [ 122 , 53 ] , [ 126 , 45 ] , [ 129 , 36 ] , [ 126 , 19 ] ] ;
3133: LD_ADDR_EXP 84
3137: PUSH
3138: LD_INT 239
3140: PUSH
3141: LD_INT 174
3143: PUSH
3144: EMPTY
3145: LIST
3146: LIST
3147: PUSH
3148: LD_INT 231
3150: PUSH
3151: LD_INT 163
3153: PUSH
3154: EMPTY
3155: LIST
3156: LIST
3157: PUSH
3158: LD_INT 211
3160: PUSH
3161: LD_INT 150
3163: PUSH
3164: EMPTY
3165: LIST
3166: LIST
3167: PUSH
3168: LD_INT 188
3170: PUSH
3171: LD_INT 133
3173: PUSH
3174: EMPTY
3175: LIST
3176: LIST
3177: PUSH
3178: LD_INT 167
3180: PUSH
3181: LD_INT 123
3183: PUSH
3184: EMPTY
3185: LIST
3186: LIST
3187: PUSH
3188: LD_INT 150
3190: PUSH
3191: LD_INT 119
3193: PUSH
3194: EMPTY
3195: LIST
3196: LIST
3197: PUSH
3198: LD_INT 140
3200: PUSH
3201: LD_INT 104
3203: PUSH
3204: EMPTY
3205: LIST
3206: LIST
3207: PUSH
3208: LD_INT 129
3210: PUSH
3211: LD_INT 89
3213: PUSH
3214: EMPTY
3215: LIST
3216: LIST
3217: PUSH
3218: LD_INT 126
3220: PUSH
3221: LD_INT 79
3223: PUSH
3224: EMPTY
3225: LIST
3226: LIST
3227: PUSH
3228: LD_INT 127
3230: PUSH
3231: LD_INT 72
3233: PUSH
3234: EMPTY
3235: LIST
3236: LIST
3237: PUSH
3238: LD_INT 122
3240: PUSH
3241: LD_INT 62
3243: PUSH
3244: EMPTY
3245: LIST
3246: LIST
3247: PUSH
3248: LD_INT 122
3250: PUSH
3251: LD_INT 53
3253: PUSH
3254: EMPTY
3255: LIST
3256: LIST
3257: PUSH
3258: LD_INT 126
3260: PUSH
3261: LD_INT 45
3263: PUSH
3264: EMPTY
3265: LIST
3266: LIST
3267: PUSH
3268: LD_INT 129
3270: PUSH
3271: LD_INT 36
3273: PUSH
3274: EMPTY
3275: LIST
3276: LIST
3277: PUSH
3278: LD_INT 126
3280: PUSH
3281: LD_INT 19
3283: PUSH
3284: EMPTY
3285: LIST
3286: LIST
3287: PUSH
3288: EMPTY
3289: LIST
3290: LIST
3291: LIST
3292: LIST
3293: LIST
3294: LIST
3295: LIST
3296: LIST
3297: LIST
3298: LIST
3299: LIST
3300: LIST
3301: LIST
3302: LIST
3303: LIST
3304: ST_TO_ADDR
// path4b = [ [ 239 , 174 ] , [ 231 , 163 ] , [ 211 , 150 ] , [ 188 , 133 ] , [ 174 , 119 ] , [ 168 , 102 ] , [ 165 , 88 ] , [ 175 , 67 ] , [ 179 , 56 ] , [ 162 , 32 ] , [ 149 , 17 ] ] ;
3305: LD_ADDR_EXP 85
3309: PUSH
3310: LD_INT 239
3312: PUSH
3313: LD_INT 174
3315: PUSH
3316: EMPTY
3317: LIST
3318: LIST
3319: PUSH
3320: LD_INT 231
3322: PUSH
3323: LD_INT 163
3325: PUSH
3326: EMPTY
3327: LIST
3328: LIST
3329: PUSH
3330: LD_INT 211
3332: PUSH
3333: LD_INT 150
3335: PUSH
3336: EMPTY
3337: LIST
3338: LIST
3339: PUSH
3340: LD_INT 188
3342: PUSH
3343: LD_INT 133
3345: PUSH
3346: EMPTY
3347: LIST
3348: LIST
3349: PUSH
3350: LD_INT 174
3352: PUSH
3353: LD_INT 119
3355: PUSH
3356: EMPTY
3357: LIST
3358: LIST
3359: PUSH
3360: LD_INT 168
3362: PUSH
3363: LD_INT 102
3365: PUSH
3366: EMPTY
3367: LIST
3368: LIST
3369: PUSH
3370: LD_INT 165
3372: PUSH
3373: LD_INT 88
3375: PUSH
3376: EMPTY
3377: LIST
3378: LIST
3379: PUSH
3380: LD_INT 175
3382: PUSH
3383: LD_INT 67
3385: PUSH
3386: EMPTY
3387: LIST
3388: LIST
3389: PUSH
3390: LD_INT 179
3392: PUSH
3393: LD_INT 56
3395: PUSH
3396: EMPTY
3397: LIST
3398: LIST
3399: PUSH
3400: LD_INT 162
3402: PUSH
3403: LD_INT 32
3405: PUSH
3406: EMPTY
3407: LIST
3408: LIST
3409: PUSH
3410: LD_INT 149
3412: PUSH
3413: LD_INT 17
3415: PUSH
3416: EMPTY
3417: LIST
3418: LIST
3419: PUSH
3420: EMPTY
3421: LIST
3422: LIST
3423: LIST
3424: LIST
3425: LIST
3426: LIST
3427: LIST
3428: LIST
3429: LIST
3430: LIST
3431: LIST
3432: ST_TO_ADDR
// path4c = [ [ 241 , 175 ] , [ 232 , 161 ] , [ 218 , 132 ] , [ 213 , 122 ] , [ 201 , 111 ] , [ 193 , 99 ] , [ 187 , 85 ] , [ 175 , 67 ] , [ 179 , 56 ] , [ 162 , 32 ] , [ 149 , 17 ] ] ;
3433: LD_ADDR_EXP 86
3437: PUSH
3438: LD_INT 241
3440: PUSH
3441: LD_INT 175
3443: PUSH
3444: EMPTY
3445: LIST
3446: LIST
3447: PUSH
3448: LD_INT 232
3450: PUSH
3451: LD_INT 161
3453: PUSH
3454: EMPTY
3455: LIST
3456: LIST
3457: PUSH
3458: LD_INT 218
3460: PUSH
3461: LD_INT 132
3463: PUSH
3464: EMPTY
3465: LIST
3466: LIST
3467: PUSH
3468: LD_INT 213
3470: PUSH
3471: LD_INT 122
3473: PUSH
3474: EMPTY
3475: LIST
3476: LIST
3477: PUSH
3478: LD_INT 201
3480: PUSH
3481: LD_INT 111
3483: PUSH
3484: EMPTY
3485: LIST
3486: LIST
3487: PUSH
3488: LD_INT 193
3490: PUSH
3491: LD_INT 99
3493: PUSH
3494: EMPTY
3495: LIST
3496: LIST
3497: PUSH
3498: LD_INT 187
3500: PUSH
3501: LD_INT 85
3503: PUSH
3504: EMPTY
3505: LIST
3506: LIST
3507: PUSH
3508: LD_INT 175
3510: PUSH
3511: LD_INT 67
3513: PUSH
3514: EMPTY
3515: LIST
3516: LIST
3517: PUSH
3518: LD_INT 179
3520: PUSH
3521: LD_INT 56
3523: PUSH
3524: EMPTY
3525: LIST
3526: LIST
3527: PUSH
3528: LD_INT 162
3530: PUSH
3531: LD_INT 32
3533: PUSH
3534: EMPTY
3535: LIST
3536: LIST
3537: PUSH
3538: LD_INT 149
3540: PUSH
3541: LD_INT 17
3543: PUSH
3544: EMPTY
3545: LIST
3546: LIST
3547: PUSH
3548: EMPTY
3549: LIST
3550: LIST
3551: LIST
3552: LIST
3553: LIST
3554: LIST
3555: LIST
3556: LIST
3557: LIST
3558: LIST
3559: LIST
3560: ST_TO_ADDR
// incomming_seek_group = [ ] ;
3561: LD_ADDR_EXP 30
3565: PUSH
3566: EMPTY
3567: ST_TO_ADDR
// seek_hex_set1 = [ [ 244 , 180 ] , [ 233 , 162 ] , [ 218 , 133 ] , [ 207 , 134 ] , [ 198 , 141 ] , [ 182 , 131 ] , [ 166 , 122 ] , [ 173 , 113 ] , [ 165 , 93 ] , [ 177 , 69 ] , [ 178 , 49 ] , [ 160 , 44 ] , [ 142 , 58 ] , [ 132 , 84 ] , [ 132 , 105 ] , [ 122 , 117 ] , [ 93 , 82 ] , [ 95 , 51 ] , [ 110 , 34 ] , [ 122 , 15 ] ] ;
3568: LD_ADDR_EXP 37
3572: PUSH
3573: LD_INT 244
3575: PUSH
3576: LD_INT 180
3578: PUSH
3579: EMPTY
3580: LIST
3581: LIST
3582: PUSH
3583: LD_INT 233
3585: PUSH
3586: LD_INT 162
3588: PUSH
3589: EMPTY
3590: LIST
3591: LIST
3592: PUSH
3593: LD_INT 218
3595: PUSH
3596: LD_INT 133
3598: PUSH
3599: EMPTY
3600: LIST
3601: LIST
3602: PUSH
3603: LD_INT 207
3605: PUSH
3606: LD_INT 134
3608: PUSH
3609: EMPTY
3610: LIST
3611: LIST
3612: PUSH
3613: LD_INT 198
3615: PUSH
3616: LD_INT 141
3618: PUSH
3619: EMPTY
3620: LIST
3621: LIST
3622: PUSH
3623: LD_INT 182
3625: PUSH
3626: LD_INT 131
3628: PUSH
3629: EMPTY
3630: LIST
3631: LIST
3632: PUSH
3633: LD_INT 166
3635: PUSH
3636: LD_INT 122
3638: PUSH
3639: EMPTY
3640: LIST
3641: LIST
3642: PUSH
3643: LD_INT 173
3645: PUSH
3646: LD_INT 113
3648: PUSH
3649: EMPTY
3650: LIST
3651: LIST
3652: PUSH
3653: LD_INT 165
3655: PUSH
3656: LD_INT 93
3658: PUSH
3659: EMPTY
3660: LIST
3661: LIST
3662: PUSH
3663: LD_INT 177
3665: PUSH
3666: LD_INT 69
3668: PUSH
3669: EMPTY
3670: LIST
3671: LIST
3672: PUSH
3673: LD_INT 178
3675: PUSH
3676: LD_INT 49
3678: PUSH
3679: EMPTY
3680: LIST
3681: LIST
3682: PUSH
3683: LD_INT 160
3685: PUSH
3686: LD_INT 44
3688: PUSH
3689: EMPTY
3690: LIST
3691: LIST
3692: PUSH
3693: LD_INT 142
3695: PUSH
3696: LD_INT 58
3698: PUSH
3699: EMPTY
3700: LIST
3701: LIST
3702: PUSH
3703: LD_INT 132
3705: PUSH
3706: LD_INT 84
3708: PUSH
3709: EMPTY
3710: LIST
3711: LIST
3712: PUSH
3713: LD_INT 132
3715: PUSH
3716: LD_INT 105
3718: PUSH
3719: EMPTY
3720: LIST
3721: LIST
3722: PUSH
3723: LD_INT 122
3725: PUSH
3726: LD_INT 117
3728: PUSH
3729: EMPTY
3730: LIST
3731: LIST
3732: PUSH
3733: LD_INT 93
3735: PUSH
3736: LD_INT 82
3738: PUSH
3739: EMPTY
3740: LIST
3741: LIST
3742: PUSH
3743: LD_INT 95
3745: PUSH
3746: LD_INT 51
3748: PUSH
3749: EMPTY
3750: LIST
3751: LIST
3752: PUSH
3753: LD_INT 110
3755: PUSH
3756: LD_INT 34
3758: PUSH
3759: EMPTY
3760: LIST
3761: LIST
3762: PUSH
3763: LD_INT 122
3765: PUSH
3766: LD_INT 15
3768: PUSH
3769: EMPTY
3770: LIST
3771: LIST
3772: PUSH
3773: EMPTY
3774: LIST
3775: LIST
3776: LIST
3777: LIST
3778: LIST
3779: LIST
3780: LIST
3781: LIST
3782: LIST
3783: LIST
3784: LIST
3785: LIST
3786: LIST
3787: LIST
3788: LIST
3789: LIST
3790: LIST
3791: LIST
3792: LIST
3793: LIST
3794: ST_TO_ADDR
// seek_hex_set2 = [ [ 207 , 187 ] , [ 207 , 171 ] , [ 191 , 153 ] , [ 226 , 180 ] , [ 239 , 180 ] , [ 233 , 162 ] , [ 218 , 133 ] , [ 187 , 125 ] , [ 166 , 122 ] , [ 136 , 105 ] , [ 125 , 179 ] , [ 103 , 44 ] , [ 87 , 15 ] ] ;
3795: LD_ADDR_EXP 38
3799: PUSH
3800: LD_INT 207
3802: PUSH
3803: LD_INT 187
3805: PUSH
3806: EMPTY
3807: LIST
3808: LIST
3809: PUSH
3810: LD_INT 207
3812: PUSH
3813: LD_INT 171
3815: PUSH
3816: EMPTY
3817: LIST
3818: LIST
3819: PUSH
3820: LD_INT 191
3822: PUSH
3823: LD_INT 153
3825: PUSH
3826: EMPTY
3827: LIST
3828: LIST
3829: PUSH
3830: LD_INT 226
3832: PUSH
3833: LD_INT 180
3835: PUSH
3836: EMPTY
3837: LIST
3838: LIST
3839: PUSH
3840: LD_INT 239
3842: PUSH
3843: LD_INT 180
3845: PUSH
3846: EMPTY
3847: LIST
3848: LIST
3849: PUSH
3850: LD_INT 233
3852: PUSH
3853: LD_INT 162
3855: PUSH
3856: EMPTY
3857: LIST
3858: LIST
3859: PUSH
3860: LD_INT 218
3862: PUSH
3863: LD_INT 133
3865: PUSH
3866: EMPTY
3867: LIST
3868: LIST
3869: PUSH
3870: LD_INT 187
3872: PUSH
3873: LD_INT 125
3875: PUSH
3876: EMPTY
3877: LIST
3878: LIST
3879: PUSH
3880: LD_INT 166
3882: PUSH
3883: LD_INT 122
3885: PUSH
3886: EMPTY
3887: LIST
3888: LIST
3889: PUSH
3890: LD_INT 136
3892: PUSH
3893: LD_INT 105
3895: PUSH
3896: EMPTY
3897: LIST
3898: LIST
3899: PUSH
3900: LD_INT 125
3902: PUSH
3903: LD_INT 179
3905: PUSH
3906: EMPTY
3907: LIST
3908: LIST
3909: PUSH
3910: LD_INT 103
3912: PUSH
3913: LD_INT 44
3915: PUSH
3916: EMPTY
3917: LIST
3918: LIST
3919: PUSH
3920: LD_INT 87
3922: PUSH
3923: LD_INT 15
3925: PUSH
3926: EMPTY
3927: LIST
3928: LIST
3929: PUSH
3930: EMPTY
3931: LIST
3932: LIST
3933: LIST
3934: LIST
3935: LIST
3936: LIST
3937: LIST
3938: LIST
3939: LIST
3940: LIST
3941: LIST
3942: LIST
3943: LIST
3944: ST_TO_ADDR
// seek_hex_set3 = [ [ 178 , 178 ] , [ 173 , 161 ] , [ 143 , 132 ] , [ 136 , 118 ] , [ 140 , 98 ] , [ 139 , 69 ] , [ 129 , 52 ] , [ 149 , 44 ] , [ 153 , 23 ] , [ 155 , 11 ] , [ 130 , 12 ] , [ 123 , 38 ] , [ 99 , 13 ] , [ 79 , 33 ] , [ 49 , 41 ] , [ 26 , 17 ] ] ;
3945: LD_ADDR_EXP 39
3949: PUSH
3950: LD_INT 178
3952: PUSH
3953: LD_INT 178
3955: PUSH
3956: EMPTY
3957: LIST
3958: LIST
3959: PUSH
3960: LD_INT 173
3962: PUSH
3963: LD_INT 161
3965: PUSH
3966: EMPTY
3967: LIST
3968: LIST
3969: PUSH
3970: LD_INT 143
3972: PUSH
3973: LD_INT 132
3975: PUSH
3976: EMPTY
3977: LIST
3978: LIST
3979: PUSH
3980: LD_INT 136
3982: PUSH
3983: LD_INT 118
3985: PUSH
3986: EMPTY
3987: LIST
3988: LIST
3989: PUSH
3990: LD_INT 140
3992: PUSH
3993: LD_INT 98
3995: PUSH
3996: EMPTY
3997: LIST
3998: LIST
3999: PUSH
4000: LD_INT 139
4002: PUSH
4003: LD_INT 69
4005: PUSH
4006: EMPTY
4007: LIST
4008: LIST
4009: PUSH
4010: LD_INT 129
4012: PUSH
4013: LD_INT 52
4015: PUSH
4016: EMPTY
4017: LIST
4018: LIST
4019: PUSH
4020: LD_INT 149
4022: PUSH
4023: LD_INT 44
4025: PUSH
4026: EMPTY
4027: LIST
4028: LIST
4029: PUSH
4030: LD_INT 153
4032: PUSH
4033: LD_INT 23
4035: PUSH
4036: EMPTY
4037: LIST
4038: LIST
4039: PUSH
4040: LD_INT 155
4042: PUSH
4043: LD_INT 11
4045: PUSH
4046: EMPTY
4047: LIST
4048: LIST
4049: PUSH
4050: LD_INT 130
4052: PUSH
4053: LD_INT 12
4055: PUSH
4056: EMPTY
4057: LIST
4058: LIST
4059: PUSH
4060: LD_INT 123
4062: PUSH
4063: LD_INT 38
4065: PUSH
4066: EMPTY
4067: LIST
4068: LIST
4069: PUSH
4070: LD_INT 99
4072: PUSH
4073: LD_INT 13
4075: PUSH
4076: EMPTY
4077: LIST
4078: LIST
4079: PUSH
4080: LD_INT 79
4082: PUSH
4083: LD_INT 33
4085: PUSH
4086: EMPTY
4087: LIST
4088: LIST
4089: PUSH
4090: LD_INT 49
4092: PUSH
4093: LD_INT 41
4095: PUSH
4096: EMPTY
4097: LIST
4098: LIST
4099: PUSH
4100: LD_INT 26
4102: PUSH
4103: LD_INT 17
4105: PUSH
4106: EMPTY
4107: LIST
4108: LIST
4109: PUSH
4110: EMPTY
4111: LIST
4112: LIST
4113: LIST
4114: LIST
4115: LIST
4116: LIST
4117: LIST
4118: LIST
4119: LIST
4120: LIST
4121: LIST
4122: LIST
4123: LIST
4124: LIST
4125: LIST
4126: LIST
4127: ST_TO_ADDR
// seek_hex_set4 = [ [ 178 , 178 ] , [ 173 , 161 ] , [ 148 , 139 ] , [ 139 , 125 ] , [ 128 , 99 ] , [ 126 , 80 ] , [ 145 , 90 ] , [ 165 , 123 ] , [ 172 , 105 ] , [ 183 , 90 ] , [ 176 , 59 ] , [ 154 , 27 ] , [ 145 , 13 ] ] ;
4128: LD_ADDR_EXP 40
4132: PUSH
4133: LD_INT 178
4135: PUSH
4136: LD_INT 178
4138: PUSH
4139: EMPTY
4140: LIST
4141: LIST
4142: PUSH
4143: LD_INT 173
4145: PUSH
4146: LD_INT 161
4148: PUSH
4149: EMPTY
4150: LIST
4151: LIST
4152: PUSH
4153: LD_INT 148
4155: PUSH
4156: LD_INT 139
4158: PUSH
4159: EMPTY
4160: LIST
4161: LIST
4162: PUSH
4163: LD_INT 139
4165: PUSH
4166: LD_INT 125
4168: PUSH
4169: EMPTY
4170: LIST
4171: LIST
4172: PUSH
4173: LD_INT 128
4175: PUSH
4176: LD_INT 99
4178: PUSH
4179: EMPTY
4180: LIST
4181: LIST
4182: PUSH
4183: LD_INT 126
4185: PUSH
4186: LD_INT 80
4188: PUSH
4189: EMPTY
4190: LIST
4191: LIST
4192: PUSH
4193: LD_INT 145
4195: PUSH
4196: LD_INT 90
4198: PUSH
4199: EMPTY
4200: LIST
4201: LIST
4202: PUSH
4203: LD_INT 165
4205: PUSH
4206: LD_INT 123
4208: PUSH
4209: EMPTY
4210: LIST
4211: LIST
4212: PUSH
4213: LD_INT 172
4215: PUSH
4216: LD_INT 105
4218: PUSH
4219: EMPTY
4220: LIST
4221: LIST
4222: PUSH
4223: LD_INT 183
4225: PUSH
4226: LD_INT 90
4228: PUSH
4229: EMPTY
4230: LIST
4231: LIST
4232: PUSH
4233: LD_INT 176
4235: PUSH
4236: LD_INT 59
4238: PUSH
4239: EMPTY
4240: LIST
4241: LIST
4242: PUSH
4243: LD_INT 154
4245: PUSH
4246: LD_INT 27
4248: PUSH
4249: EMPTY
4250: LIST
4251: LIST
4252: PUSH
4253: LD_INT 145
4255: PUSH
4256: LD_INT 13
4258: PUSH
4259: EMPTY
4260: LIST
4261: LIST
4262: PUSH
4263: EMPTY
4264: LIST
4265: LIST
4266: LIST
4267: LIST
4268: LIST
4269: LIST
4270: LIST
4271: LIST
4272: LIST
4273: LIST
4274: LIST
4275: LIST
4276: LIST
4277: ST_TO_ADDR
// seek_hex_set5 = [ [ 103 , 176 ] , [ 98 , 157 ] , [ 82 , 120 ] , [ 61 , 83 ] , [ 40 , 60 ] , [ 39 , 32 ] , [ 61 , 40 ] , [ 78 , 32 ] , [ 96 , 33 ] , [ 70 , 14 ] , [ 39 , 14 ] , [ 16 , 13 ] , [ 22 , 32 ] , [ 15 , 11 ] , [ 31 , 9 ] ] ;
4278: LD_ADDR_EXP 41
4282: PUSH
4283: LD_INT 103
4285: PUSH
4286: LD_INT 176
4288: PUSH
4289: EMPTY
4290: LIST
4291: LIST
4292: PUSH
4293: LD_INT 98
4295: PUSH
4296: LD_INT 157
4298: PUSH
4299: EMPTY
4300: LIST
4301: LIST
4302: PUSH
4303: LD_INT 82
4305: PUSH
4306: LD_INT 120
4308: PUSH
4309: EMPTY
4310: LIST
4311: LIST
4312: PUSH
4313: LD_INT 61
4315: PUSH
4316: LD_INT 83
4318: PUSH
4319: EMPTY
4320: LIST
4321: LIST
4322: PUSH
4323: LD_INT 40
4325: PUSH
4326: LD_INT 60
4328: PUSH
4329: EMPTY
4330: LIST
4331: LIST
4332: PUSH
4333: LD_INT 39
4335: PUSH
4336: LD_INT 32
4338: PUSH
4339: EMPTY
4340: LIST
4341: LIST
4342: PUSH
4343: LD_INT 61
4345: PUSH
4346: LD_INT 40
4348: PUSH
4349: EMPTY
4350: LIST
4351: LIST
4352: PUSH
4353: LD_INT 78
4355: PUSH
4356: LD_INT 32
4358: PUSH
4359: EMPTY
4360: LIST
4361: LIST
4362: PUSH
4363: LD_INT 96
4365: PUSH
4366: LD_INT 33
4368: PUSH
4369: EMPTY
4370: LIST
4371: LIST
4372: PUSH
4373: LD_INT 70
4375: PUSH
4376: LD_INT 14
4378: PUSH
4379: EMPTY
4380: LIST
4381: LIST
4382: PUSH
4383: LD_INT 39
4385: PUSH
4386: LD_INT 14
4388: PUSH
4389: EMPTY
4390: LIST
4391: LIST
4392: PUSH
4393: LD_INT 16
4395: PUSH
4396: LD_INT 13
4398: PUSH
4399: EMPTY
4400: LIST
4401: LIST
4402: PUSH
4403: LD_INT 22
4405: PUSH
4406: LD_INT 32
4408: PUSH
4409: EMPTY
4410: LIST
4411: LIST
4412: PUSH
4413: LD_INT 15
4415: PUSH
4416: LD_INT 11
4418: PUSH
4419: EMPTY
4420: LIST
4421: LIST
4422: PUSH
4423: LD_INT 31
4425: PUSH
4426: LD_INT 9
4428: PUSH
4429: EMPTY
4430: LIST
4431: LIST
4432: PUSH
4433: EMPTY
4434: LIST
4435: LIST
4436: LIST
4437: LIST
4438: LIST
4439: LIST
4440: LIST
4441: LIST
4442: LIST
4443: LIST
4444: LIST
4445: LIST
4446: LIST
4447: LIST
4448: LIST
4449: ST_TO_ADDR
// seek_hex_set6 = [ [ 103 , 176 ] , [ 106 , 152 ] , [ 103 , 127 ] , [ 105 , 112 ] , [ 98 , 97 ] , [ 96 , 84 ] , [ 90 , 67 ] , [ 102 , 58 ] , [ 120 , 59 ] , [ 126 , 40 ] , [ 106 , 19 ] , [ 95 , 20 ] , [ 66 , 15 ] ] ;
4450: LD_ADDR_EXP 42
4454: PUSH
4455: LD_INT 103
4457: PUSH
4458: LD_INT 176
4460: PUSH
4461: EMPTY
4462: LIST
4463: LIST
4464: PUSH
4465: LD_INT 106
4467: PUSH
4468: LD_INT 152
4470: PUSH
4471: EMPTY
4472: LIST
4473: LIST
4474: PUSH
4475: LD_INT 103
4477: PUSH
4478: LD_INT 127
4480: PUSH
4481: EMPTY
4482: LIST
4483: LIST
4484: PUSH
4485: LD_INT 105
4487: PUSH
4488: LD_INT 112
4490: PUSH
4491: EMPTY
4492: LIST
4493: LIST
4494: PUSH
4495: LD_INT 98
4497: PUSH
4498: LD_INT 97
4500: PUSH
4501: EMPTY
4502: LIST
4503: LIST
4504: PUSH
4505: LD_INT 96
4507: PUSH
4508: LD_INT 84
4510: PUSH
4511: EMPTY
4512: LIST
4513: LIST
4514: PUSH
4515: LD_INT 90
4517: PUSH
4518: LD_INT 67
4520: PUSH
4521: EMPTY
4522: LIST
4523: LIST
4524: PUSH
4525: LD_INT 102
4527: PUSH
4528: LD_INT 58
4530: PUSH
4531: EMPTY
4532: LIST
4533: LIST
4534: PUSH
4535: LD_INT 120
4537: PUSH
4538: LD_INT 59
4540: PUSH
4541: EMPTY
4542: LIST
4543: LIST
4544: PUSH
4545: LD_INT 126
4547: PUSH
4548: LD_INT 40
4550: PUSH
4551: EMPTY
4552: LIST
4553: LIST
4554: PUSH
4555: LD_INT 106
4557: PUSH
4558: LD_INT 19
4560: PUSH
4561: EMPTY
4562: LIST
4563: LIST
4564: PUSH
4565: LD_INT 95
4567: PUSH
4568: LD_INT 20
4570: PUSH
4571: EMPTY
4572: LIST
4573: LIST
4574: PUSH
4575: LD_INT 66
4577: PUSH
4578: LD_INT 15
4580: PUSH
4581: EMPTY
4582: LIST
4583: LIST
4584: PUSH
4585: EMPTY
4586: LIST
4587: LIST
4588: LIST
4589: LIST
4590: LIST
4591: LIST
4592: LIST
4593: LIST
4594: LIST
4595: LIST
4596: LIST
4597: LIST
4598: LIST
4599: ST_TO_ADDR
// seek_hex_set7 = [ [ 99 , 176 ] , [ 91 , 149 ] , [ 82 , 133 ] , [ 74 , 123 ] , [ 103 , 140 ] , [ 121 , 136 ] , [ 119 , 122 ] , [ 72 , 103 ] , [ 56 , 82 ] , [ 48 , 59 ] , [ 73 , 63 ] , [ 78 , 51 ] , [ 67 , 22 ] , [ 122 , 15 ] ] ;
4600: LD_ADDR_EXP 43
4604: PUSH
4605: LD_INT 99
4607: PUSH
4608: LD_INT 176
4610: PUSH
4611: EMPTY
4612: LIST
4613: LIST
4614: PUSH
4615: LD_INT 91
4617: PUSH
4618: LD_INT 149
4620: PUSH
4621: EMPTY
4622: LIST
4623: LIST
4624: PUSH
4625: LD_INT 82
4627: PUSH
4628: LD_INT 133
4630: PUSH
4631: EMPTY
4632: LIST
4633: LIST
4634: PUSH
4635: LD_INT 74
4637: PUSH
4638: LD_INT 123
4640: PUSH
4641: EMPTY
4642: LIST
4643: LIST
4644: PUSH
4645: LD_INT 103
4647: PUSH
4648: LD_INT 140
4650: PUSH
4651: EMPTY
4652: LIST
4653: LIST
4654: PUSH
4655: LD_INT 121
4657: PUSH
4658: LD_INT 136
4660: PUSH
4661: EMPTY
4662: LIST
4663: LIST
4664: PUSH
4665: LD_INT 119
4667: PUSH
4668: LD_INT 122
4670: PUSH
4671: EMPTY
4672: LIST
4673: LIST
4674: PUSH
4675: LD_INT 72
4677: PUSH
4678: LD_INT 103
4680: PUSH
4681: EMPTY
4682: LIST
4683: LIST
4684: PUSH
4685: LD_INT 56
4687: PUSH
4688: LD_INT 82
4690: PUSH
4691: EMPTY
4692: LIST
4693: LIST
4694: PUSH
4695: LD_INT 48
4697: PUSH
4698: LD_INT 59
4700: PUSH
4701: EMPTY
4702: LIST
4703: LIST
4704: PUSH
4705: LD_INT 73
4707: PUSH
4708: LD_INT 63
4710: PUSH
4711: EMPTY
4712: LIST
4713: LIST
4714: PUSH
4715: LD_INT 78
4717: PUSH
4718: LD_INT 51
4720: PUSH
4721: EMPTY
4722: LIST
4723: LIST
4724: PUSH
4725: LD_INT 67
4727: PUSH
4728: LD_INT 22
4730: PUSH
4731: EMPTY
4732: LIST
4733: LIST
4734: PUSH
4735: LD_INT 122
4737: PUSH
4738: LD_INT 15
4740: PUSH
4741: EMPTY
4742: LIST
4743: LIST
4744: PUSH
4745: EMPTY
4746: LIST
4747: LIST
4748: LIST
4749: LIST
4750: LIST
4751: LIST
4752: LIST
4753: LIST
4754: LIST
4755: LIST
4756: LIST
4757: LIST
4758: LIST
4759: LIST
4760: ST_TO_ADDR
// seek_hex_set8 = [ [ 103 , 176 ] , [ 127 , 180 ] , [ 80 , 167 ] , [ 109 , 156 ] , [ 75 , 137 ] , [ 67 , 118 ] , [ 80 , 115 ] , [ 104 , 115 ] , [ 100 , 91 ] , [ 104 , 65 ] , [ 11 , 53 ] , [ 119 , 35 ] , [ 125 , 13 ] ] ;
4761: LD_ADDR_EXP 44
4765: PUSH
4766: LD_INT 103
4768: PUSH
4769: LD_INT 176
4771: PUSH
4772: EMPTY
4773: LIST
4774: LIST
4775: PUSH
4776: LD_INT 127
4778: PUSH
4779: LD_INT 180
4781: PUSH
4782: EMPTY
4783: LIST
4784: LIST
4785: PUSH
4786: LD_INT 80
4788: PUSH
4789: LD_INT 167
4791: PUSH
4792: EMPTY
4793: LIST
4794: LIST
4795: PUSH
4796: LD_INT 109
4798: PUSH
4799: LD_INT 156
4801: PUSH
4802: EMPTY
4803: LIST
4804: LIST
4805: PUSH
4806: LD_INT 75
4808: PUSH
4809: LD_INT 137
4811: PUSH
4812: EMPTY
4813: LIST
4814: LIST
4815: PUSH
4816: LD_INT 67
4818: PUSH
4819: LD_INT 118
4821: PUSH
4822: EMPTY
4823: LIST
4824: LIST
4825: PUSH
4826: LD_INT 80
4828: PUSH
4829: LD_INT 115
4831: PUSH
4832: EMPTY
4833: LIST
4834: LIST
4835: PUSH
4836: LD_INT 104
4838: PUSH
4839: LD_INT 115
4841: PUSH
4842: EMPTY
4843: LIST
4844: LIST
4845: PUSH
4846: LD_INT 100
4848: PUSH
4849: LD_INT 91
4851: PUSH
4852: EMPTY
4853: LIST
4854: LIST
4855: PUSH
4856: LD_INT 104
4858: PUSH
4859: LD_INT 65
4861: PUSH
4862: EMPTY
4863: LIST
4864: LIST
4865: PUSH
4866: LD_INT 11
4868: PUSH
4869: LD_INT 53
4871: PUSH
4872: EMPTY
4873: LIST
4874: LIST
4875: PUSH
4876: LD_INT 119
4878: PUSH
4879: LD_INT 35
4881: PUSH
4882: EMPTY
4883: LIST
4884: LIST
4885: PUSH
4886: LD_INT 125
4888: PUSH
4889: LD_INT 13
4891: PUSH
4892: EMPTY
4893: LIST
4894: LIST
4895: PUSH
4896: EMPTY
4897: LIST
4898: LIST
4899: LIST
4900: LIST
4901: LIST
4902: LIST
4903: LIST
4904: LIST
4905: LIST
4906: LIST
4907: LIST
4908: LIST
4909: LIST
4910: ST_TO_ADDR
// seek_hex_set9 = [ [ 148 , 182 ] , [ 130 , 153 ] , [ 169 , 174 ] , [ 173 , 160 ] , [ 144 , 130 ] , [ 135 , 115 ] , [ 135 , 97 ] , [ 137 , 68 ] , [ 143 , 42 ] , [ 128 , 17 ] ] ;
4911: LD_ADDR_EXP 45
4915: PUSH
4916: LD_INT 148
4918: PUSH
4919: LD_INT 182
4921: PUSH
4922: EMPTY
4923: LIST
4924: LIST
4925: PUSH
4926: LD_INT 130
4928: PUSH
4929: LD_INT 153
4931: PUSH
4932: EMPTY
4933: LIST
4934: LIST
4935: PUSH
4936: LD_INT 169
4938: PUSH
4939: LD_INT 174
4941: PUSH
4942: EMPTY
4943: LIST
4944: LIST
4945: PUSH
4946: LD_INT 173
4948: PUSH
4949: LD_INT 160
4951: PUSH
4952: EMPTY
4953: LIST
4954: LIST
4955: PUSH
4956: LD_INT 144
4958: PUSH
4959: LD_INT 130
4961: PUSH
4962: EMPTY
4963: LIST
4964: LIST
4965: PUSH
4966: LD_INT 135
4968: PUSH
4969: LD_INT 115
4971: PUSH
4972: EMPTY
4973: LIST
4974: LIST
4975: PUSH
4976: LD_INT 135
4978: PUSH
4979: LD_INT 97
4981: PUSH
4982: EMPTY
4983: LIST
4984: LIST
4985: PUSH
4986: LD_INT 137
4988: PUSH
4989: LD_INT 68
4991: PUSH
4992: EMPTY
4993: LIST
4994: LIST
4995: PUSH
4996: LD_INT 143
4998: PUSH
4999: LD_INT 42
5001: PUSH
5002: EMPTY
5003: LIST
5004: LIST
5005: PUSH
5006: LD_INT 128
5008: PUSH
5009: LD_INT 17
5011: PUSH
5012: EMPTY
5013: LIST
5014: LIST
5015: PUSH
5016: EMPTY
5017: LIST
5018: LIST
5019: LIST
5020: LIST
5021: LIST
5022: LIST
5023: LIST
5024: LIST
5025: LIST
5026: LIST
5027: ST_TO_ADDR
// seek_hex_set10 = [ [ 244 , 180 ] , [ 233 , 162 ] , [ 218 , 133 ] , [ 200 , 113 ] , [ 191 , 99 ] , [ 186 , 85 ] , [ 184 , 70 ] , [ 179 , 52 ] , [ 160 , 44 ] , [ 142 , 58 ] , [ 132 , 84 ] , [ 132 , 105 ] , [ 122 , 117 ] , [ 93 , 82 ] , [ 95 , 51 ] , [ 110 , 34 ] , [ 122 , 15 ] ] ;
5028: LD_ADDR_EXP 46
5032: PUSH
5033: LD_INT 244
5035: PUSH
5036: LD_INT 180
5038: PUSH
5039: EMPTY
5040: LIST
5041: LIST
5042: PUSH
5043: LD_INT 233
5045: PUSH
5046: LD_INT 162
5048: PUSH
5049: EMPTY
5050: LIST
5051: LIST
5052: PUSH
5053: LD_INT 218
5055: PUSH
5056: LD_INT 133
5058: PUSH
5059: EMPTY
5060: LIST
5061: LIST
5062: PUSH
5063: LD_INT 200
5065: PUSH
5066: LD_INT 113
5068: PUSH
5069: EMPTY
5070: LIST
5071: LIST
5072: PUSH
5073: LD_INT 191
5075: PUSH
5076: LD_INT 99
5078: PUSH
5079: EMPTY
5080: LIST
5081: LIST
5082: PUSH
5083: LD_INT 186
5085: PUSH
5086: LD_INT 85
5088: PUSH
5089: EMPTY
5090: LIST
5091: LIST
5092: PUSH
5093: LD_INT 184
5095: PUSH
5096: LD_INT 70
5098: PUSH
5099: EMPTY
5100: LIST
5101: LIST
5102: PUSH
5103: LD_INT 179
5105: PUSH
5106: LD_INT 52
5108: PUSH
5109: EMPTY
5110: LIST
5111: LIST
5112: PUSH
5113: LD_INT 160
5115: PUSH
5116: LD_INT 44
5118: PUSH
5119: EMPTY
5120: LIST
5121: LIST
5122: PUSH
5123: LD_INT 142
5125: PUSH
5126: LD_INT 58
5128: PUSH
5129: EMPTY
5130: LIST
5131: LIST
5132: PUSH
5133: LD_INT 132
5135: PUSH
5136: LD_INT 84
5138: PUSH
5139: EMPTY
5140: LIST
5141: LIST
5142: PUSH
5143: LD_INT 132
5145: PUSH
5146: LD_INT 105
5148: PUSH
5149: EMPTY
5150: LIST
5151: LIST
5152: PUSH
5153: LD_INT 122
5155: PUSH
5156: LD_INT 117
5158: PUSH
5159: EMPTY
5160: LIST
5161: LIST
5162: PUSH
5163: LD_INT 93
5165: PUSH
5166: LD_INT 82
5168: PUSH
5169: EMPTY
5170: LIST
5171: LIST
5172: PUSH
5173: LD_INT 95
5175: PUSH
5176: LD_INT 51
5178: PUSH
5179: EMPTY
5180: LIST
5181: LIST
5182: PUSH
5183: LD_INT 110
5185: PUSH
5186: LD_INT 34
5188: PUSH
5189: EMPTY
5190: LIST
5191: LIST
5192: PUSH
5193: LD_INT 122
5195: PUSH
5196: LD_INT 15
5198: PUSH
5199: EMPTY
5200: LIST
5201: LIST
5202: PUSH
5203: EMPTY
5204: LIST
5205: LIST
5206: LIST
5207: LIST
5208: LIST
5209: LIST
5210: LIST
5211: LIST
5212: LIST
5213: LIST
5214: LIST
5215: LIST
5216: LIST
5217: LIST
5218: LIST
5219: LIST
5220: LIST
5221: ST_TO_ADDR
// path_scout1 = [ [ 244 , 177 ] , [ 233 , 162 ] , [ 219 , 135 ] , [ 208 , 120 ] , [ 198 , 106 ] , [ 191 , 91 ] , [ 178 , 75 ] , [ 178 , 60 ] , [ 178 , 49 ] , [ 162 , 33 ] ] ;
5222: LD_ADDR_EXP 47
5226: PUSH
5227: LD_INT 244
5229: PUSH
5230: LD_INT 177
5232: PUSH
5233: EMPTY
5234: LIST
5235: LIST
5236: PUSH
5237: LD_INT 233
5239: PUSH
5240: LD_INT 162
5242: PUSH
5243: EMPTY
5244: LIST
5245: LIST
5246: PUSH
5247: LD_INT 219
5249: PUSH
5250: LD_INT 135
5252: PUSH
5253: EMPTY
5254: LIST
5255: LIST
5256: PUSH
5257: LD_INT 208
5259: PUSH
5260: LD_INT 120
5262: PUSH
5263: EMPTY
5264: LIST
5265: LIST
5266: PUSH
5267: LD_INT 198
5269: PUSH
5270: LD_INT 106
5272: PUSH
5273: EMPTY
5274: LIST
5275: LIST
5276: PUSH
5277: LD_INT 191
5279: PUSH
5280: LD_INT 91
5282: PUSH
5283: EMPTY
5284: LIST
5285: LIST
5286: PUSH
5287: LD_INT 178
5289: PUSH
5290: LD_INT 75
5292: PUSH
5293: EMPTY
5294: LIST
5295: LIST
5296: PUSH
5297: LD_INT 178
5299: PUSH
5300: LD_INT 60
5302: PUSH
5303: EMPTY
5304: LIST
5305: LIST
5306: PUSH
5307: LD_INT 178
5309: PUSH
5310: LD_INT 49
5312: PUSH
5313: EMPTY
5314: LIST
5315: LIST
5316: PUSH
5317: LD_INT 162
5319: PUSH
5320: LD_INT 33
5322: PUSH
5323: EMPTY
5324: LIST
5325: LIST
5326: PUSH
5327: EMPTY
5328: LIST
5329: LIST
5330: LIST
5331: LIST
5332: LIST
5333: LIST
5334: LIST
5335: LIST
5336: LIST
5337: LIST
5338: ST_TO_ADDR
// path_scout1a = path_scout1 ^ [ [ 158 , 22 ] ] ^ [ [ 153 , 9 ] ] ;
5339: LD_ADDR_EXP 48
5343: PUSH
5344: LD_EXP 47
5348: PUSH
5349: LD_INT 158
5351: PUSH
5352: LD_INT 22
5354: PUSH
5355: EMPTY
5356: LIST
5357: LIST
5358: PUSH
5359: EMPTY
5360: LIST
5361: ADD
5362: PUSH
5363: LD_INT 153
5365: PUSH
5366: LD_INT 9
5368: PUSH
5369: EMPTY
5370: LIST
5371: LIST
5372: PUSH
5373: EMPTY
5374: LIST
5375: ADD
5376: ST_TO_ADDR
// path_scout1b = path_scout1 ^ [ [ 153 , 39 ] , [ 149 , 56 ] , [ 145 , 73 ] , [ 137 , 80 ] , [ 128 , 82 ] , [ 131 , 93 ] , [ 135 , 109 ] , [ 131 , 119 ] , [ 137 , 133 ] , [ 150 , 145 ] , [ 165 , 159 ] , [ 178 , 169 ] , [ 183 , 186 ] ] ;
5377: LD_ADDR_EXP 49
5381: PUSH
5382: LD_EXP 47
5386: PUSH
5387: LD_INT 153
5389: PUSH
5390: LD_INT 39
5392: PUSH
5393: EMPTY
5394: LIST
5395: LIST
5396: PUSH
5397: LD_INT 149
5399: PUSH
5400: LD_INT 56
5402: PUSH
5403: EMPTY
5404: LIST
5405: LIST
5406: PUSH
5407: LD_INT 145
5409: PUSH
5410: LD_INT 73
5412: PUSH
5413: EMPTY
5414: LIST
5415: LIST
5416: PUSH
5417: LD_INT 137
5419: PUSH
5420: LD_INT 80
5422: PUSH
5423: EMPTY
5424: LIST
5425: LIST
5426: PUSH
5427: LD_INT 128
5429: PUSH
5430: LD_INT 82
5432: PUSH
5433: EMPTY
5434: LIST
5435: LIST
5436: PUSH
5437: LD_INT 131
5439: PUSH
5440: LD_INT 93
5442: PUSH
5443: EMPTY
5444: LIST
5445: LIST
5446: PUSH
5447: LD_INT 135
5449: PUSH
5450: LD_INT 109
5452: PUSH
5453: EMPTY
5454: LIST
5455: LIST
5456: PUSH
5457: LD_INT 131
5459: PUSH
5460: LD_INT 119
5462: PUSH
5463: EMPTY
5464: LIST
5465: LIST
5466: PUSH
5467: LD_INT 137
5469: PUSH
5470: LD_INT 133
5472: PUSH
5473: EMPTY
5474: LIST
5475: LIST
5476: PUSH
5477: LD_INT 150
5479: PUSH
5480: LD_INT 145
5482: PUSH
5483: EMPTY
5484: LIST
5485: LIST
5486: PUSH
5487: LD_INT 165
5489: PUSH
5490: LD_INT 159
5492: PUSH
5493: EMPTY
5494: LIST
5495: LIST
5496: PUSH
5497: LD_INT 178
5499: PUSH
5500: LD_INT 169
5502: PUSH
5503: EMPTY
5504: LIST
5505: LIST
5506: PUSH
5507: LD_INT 183
5509: PUSH
5510: LD_INT 186
5512: PUSH
5513: EMPTY
5514: LIST
5515: LIST
5516: PUSH
5517: EMPTY
5518: LIST
5519: LIST
5520: LIST
5521: LIST
5522: LIST
5523: LIST
5524: LIST
5525: LIST
5526: LIST
5527: LIST
5528: LIST
5529: LIST
5530: LIST
5531: ADD
5532: ST_TO_ADDR
// path_scout1c = path_scout1 ^ [ [ 147 , 24 ] , [ 133 , 16 ] , [ 115 , 16 ] , [ 107 , 24 ] , [ 87 , 26 ] , [ 74 , 27 ] , [ 50 , 18 ] , [ 31 , 16 ] , [ 34 , 29 ] , [ 62 , 40 ] , [ 80 , 54 ] , [ 78 , 65 ] , [ 49 , 63 ] , [ 66 , 90 ] , [ 72 , 102 ] , [ 82 , 121 ] , [ 95 , 142 ] , [ 102 , 160 ] , [ 105 , 173 ] ] ;
5533: LD_ADDR_EXP 50
5537: PUSH
5538: LD_EXP 47
5542: PUSH
5543: LD_INT 147
5545: PUSH
5546: LD_INT 24
5548: PUSH
5549: EMPTY
5550: LIST
5551: LIST
5552: PUSH
5553: LD_INT 133
5555: PUSH
5556: LD_INT 16
5558: PUSH
5559: EMPTY
5560: LIST
5561: LIST
5562: PUSH
5563: LD_INT 115
5565: PUSH
5566: LD_INT 16
5568: PUSH
5569: EMPTY
5570: LIST
5571: LIST
5572: PUSH
5573: LD_INT 107
5575: PUSH
5576: LD_INT 24
5578: PUSH
5579: EMPTY
5580: LIST
5581: LIST
5582: PUSH
5583: LD_INT 87
5585: PUSH
5586: LD_INT 26
5588: PUSH
5589: EMPTY
5590: LIST
5591: LIST
5592: PUSH
5593: LD_INT 74
5595: PUSH
5596: LD_INT 27
5598: PUSH
5599: EMPTY
5600: LIST
5601: LIST
5602: PUSH
5603: LD_INT 50
5605: PUSH
5606: LD_INT 18
5608: PUSH
5609: EMPTY
5610: LIST
5611: LIST
5612: PUSH
5613: LD_INT 31
5615: PUSH
5616: LD_INT 16
5618: PUSH
5619: EMPTY
5620: LIST
5621: LIST
5622: PUSH
5623: LD_INT 34
5625: PUSH
5626: LD_INT 29
5628: PUSH
5629: EMPTY
5630: LIST
5631: LIST
5632: PUSH
5633: LD_INT 62
5635: PUSH
5636: LD_INT 40
5638: PUSH
5639: EMPTY
5640: LIST
5641: LIST
5642: PUSH
5643: LD_INT 80
5645: PUSH
5646: LD_INT 54
5648: PUSH
5649: EMPTY
5650: LIST
5651: LIST
5652: PUSH
5653: LD_INT 78
5655: PUSH
5656: LD_INT 65
5658: PUSH
5659: EMPTY
5660: LIST
5661: LIST
5662: PUSH
5663: LD_INT 49
5665: PUSH
5666: LD_INT 63
5668: PUSH
5669: EMPTY
5670: LIST
5671: LIST
5672: PUSH
5673: LD_INT 66
5675: PUSH
5676: LD_INT 90
5678: PUSH
5679: EMPTY
5680: LIST
5681: LIST
5682: PUSH
5683: LD_INT 72
5685: PUSH
5686: LD_INT 102
5688: PUSH
5689: EMPTY
5690: LIST
5691: LIST
5692: PUSH
5693: LD_INT 82
5695: PUSH
5696: LD_INT 121
5698: PUSH
5699: EMPTY
5700: LIST
5701: LIST
5702: PUSH
5703: LD_INT 95
5705: PUSH
5706: LD_INT 142
5708: PUSH
5709: EMPTY
5710: LIST
5711: LIST
5712: PUSH
5713: LD_INT 102
5715: PUSH
5716: LD_INT 160
5718: PUSH
5719: EMPTY
5720: LIST
5721: LIST
5722: PUSH
5723: LD_INT 105
5725: PUSH
5726: LD_INT 173
5728: PUSH
5729: EMPTY
5730: LIST
5731: LIST
5732: PUSH
5733: EMPTY
5734: LIST
5735: LIST
5736: LIST
5737: LIST
5738: LIST
5739: LIST
5740: LIST
5741: LIST
5742: LIST
5743: LIST
5744: LIST
5745: LIST
5746: LIST
5747: LIST
5748: LIST
5749: LIST
5750: LIST
5751: LIST
5752: LIST
5753: ADD
5754: ST_TO_ADDR
// path_scout1d = [ [ 241 , 175 ] , [ 222 , 158 ] , [ 194 , 138 ] , [ 175 , 125 ] , [ 148 , 128 ] , [ 142 , 137 ] , [ 166 , 162 ] , [ 180 , 171 ] , [ 183 , 186 ] ] ;
5755: LD_ADDR_EXP 51
5759: PUSH
5760: LD_INT 241
5762: PUSH
5763: LD_INT 175
5765: PUSH
5766: EMPTY
5767: LIST
5768: LIST
5769: PUSH
5770: LD_INT 222
5772: PUSH
5773: LD_INT 158
5775: PUSH
5776: EMPTY
5777: LIST
5778: LIST
5779: PUSH
5780: LD_INT 194
5782: PUSH
5783: LD_INT 138
5785: PUSH
5786: EMPTY
5787: LIST
5788: LIST
5789: PUSH
5790: LD_INT 175
5792: PUSH
5793: LD_INT 125
5795: PUSH
5796: EMPTY
5797: LIST
5798: LIST
5799: PUSH
5800: LD_INT 148
5802: PUSH
5803: LD_INT 128
5805: PUSH
5806: EMPTY
5807: LIST
5808: LIST
5809: PUSH
5810: LD_INT 142
5812: PUSH
5813: LD_INT 137
5815: PUSH
5816: EMPTY
5817: LIST
5818: LIST
5819: PUSH
5820: LD_INT 166
5822: PUSH
5823: LD_INT 162
5825: PUSH
5826: EMPTY
5827: LIST
5828: LIST
5829: PUSH
5830: LD_INT 180
5832: PUSH
5833: LD_INT 171
5835: PUSH
5836: EMPTY
5837: LIST
5838: LIST
5839: PUSH
5840: LD_INT 183
5842: PUSH
5843: LD_INT 186
5845: PUSH
5846: EMPTY
5847: LIST
5848: LIST
5849: PUSH
5850: EMPTY
5851: LIST
5852: LIST
5853: LIST
5854: LIST
5855: LIST
5856: LIST
5857: LIST
5858: LIST
5859: LIST
5860: ST_TO_ADDR
// path_scout1e = [ [ 241 , 175 ] , [ 233 , 162 ] , [ 219 , 135 ] , [ 208 , 120 ] , [ 198 , 106 ] , [ 191 , 91 ] , [ 178 , 75 ] , [ 166 , 82 ] , [ 163 , 99 ] , [ 165 , 112 ] , [ 160 , 120 ] , [ 148 , 128 ] , [ 142 , 137 ] , [ 166 , 162 ] , [ 180 , 171 ] , [ 183 , 186 ] ] ;
5861: LD_ADDR_EXP 52
5865: PUSH
5866: LD_INT 241
5868: PUSH
5869: LD_INT 175
5871: PUSH
5872: EMPTY
5873: LIST
5874: LIST
5875: PUSH
5876: LD_INT 233
5878: PUSH
5879: LD_INT 162
5881: PUSH
5882: EMPTY
5883: LIST
5884: LIST
5885: PUSH
5886: LD_INT 219
5888: PUSH
5889: LD_INT 135
5891: PUSH
5892: EMPTY
5893: LIST
5894: LIST
5895: PUSH
5896: LD_INT 208
5898: PUSH
5899: LD_INT 120
5901: PUSH
5902: EMPTY
5903: LIST
5904: LIST
5905: PUSH
5906: LD_INT 198
5908: PUSH
5909: LD_INT 106
5911: PUSH
5912: EMPTY
5913: LIST
5914: LIST
5915: PUSH
5916: LD_INT 191
5918: PUSH
5919: LD_INT 91
5921: PUSH
5922: EMPTY
5923: LIST
5924: LIST
5925: PUSH
5926: LD_INT 178
5928: PUSH
5929: LD_INT 75
5931: PUSH
5932: EMPTY
5933: LIST
5934: LIST
5935: PUSH
5936: LD_INT 166
5938: PUSH
5939: LD_INT 82
5941: PUSH
5942: EMPTY
5943: LIST
5944: LIST
5945: PUSH
5946: LD_INT 163
5948: PUSH
5949: LD_INT 99
5951: PUSH
5952: EMPTY
5953: LIST
5954: LIST
5955: PUSH
5956: LD_INT 165
5958: PUSH
5959: LD_INT 112
5961: PUSH
5962: EMPTY
5963: LIST
5964: LIST
5965: PUSH
5966: LD_INT 160
5968: PUSH
5969: LD_INT 120
5971: PUSH
5972: EMPTY
5973: LIST
5974: LIST
5975: PUSH
5976: LD_INT 148
5978: PUSH
5979: LD_INT 128
5981: PUSH
5982: EMPTY
5983: LIST
5984: LIST
5985: PUSH
5986: LD_INT 142
5988: PUSH
5989: LD_INT 137
5991: PUSH
5992: EMPTY
5993: LIST
5994: LIST
5995: PUSH
5996: LD_INT 166
5998: PUSH
5999: LD_INT 162
6001: PUSH
6002: EMPTY
6003: LIST
6004: LIST
6005: PUSH
6006: LD_INT 180
6008: PUSH
6009: LD_INT 171
6011: PUSH
6012: EMPTY
6013: LIST
6014: LIST
6015: PUSH
6016: LD_INT 183
6018: PUSH
6019: LD_INT 186
6021: PUSH
6022: EMPTY
6023: LIST
6024: LIST
6025: PUSH
6026: EMPTY
6027: LIST
6028: LIST
6029: LIST
6030: LIST
6031: LIST
6032: LIST
6033: LIST
6034: LIST
6035: LIST
6036: LIST
6037: LIST
6038: LIST
6039: LIST
6040: LIST
6041: LIST
6042: LIST
6043: ST_TO_ADDR
// path_scout2 = [ [ 216 , 186 ] , [ 208 , 172 ] , [ 200 , 154 ] , [ 225 , 172 ] , [ 236 , 186 ] ] ;
6044: LD_ADDR_EXP 53
6048: PUSH
6049: LD_INT 216
6051: PUSH
6052: LD_INT 186
6054: PUSH
6055: EMPTY
6056: LIST
6057: LIST
6058: PUSH
6059: LD_INT 208
6061: PUSH
6062: LD_INT 172
6064: PUSH
6065: EMPTY
6066: LIST
6067: LIST
6068: PUSH
6069: LD_INT 200
6071: PUSH
6072: LD_INT 154
6074: PUSH
6075: EMPTY
6076: LIST
6077: LIST
6078: PUSH
6079: LD_INT 225
6081: PUSH
6082: LD_INT 172
6084: PUSH
6085: EMPTY
6086: LIST
6087: LIST
6088: PUSH
6089: LD_INT 236
6091: PUSH
6092: LD_INT 186
6094: PUSH
6095: EMPTY
6096: LIST
6097: LIST
6098: PUSH
6099: EMPTY
6100: LIST
6101: LIST
6102: LIST
6103: LIST
6104: LIST
6105: ST_TO_ADDR
// path_scout3 = [ [ 180 , 184 ] , [ 180 , 176 ] , [ 174 , 163 ] , [ 154 , 147 ] , [ 145 , 129 ] , [ 162 , 122 ] , [ 170 , 108 ] , [ 164 , 88 ] , [ 172 , 73 ] , [ 176 , 62 ] , [ 176 , 47 ] , [ 158 , 28 ] ] ;
6106: LD_ADDR_EXP 54
6110: PUSH
6111: LD_INT 180
6113: PUSH
6114: LD_INT 184
6116: PUSH
6117: EMPTY
6118: LIST
6119: LIST
6120: PUSH
6121: LD_INT 180
6123: PUSH
6124: LD_INT 176
6126: PUSH
6127: EMPTY
6128: LIST
6129: LIST
6130: PUSH
6131: LD_INT 174
6133: PUSH
6134: LD_INT 163
6136: PUSH
6137: EMPTY
6138: LIST
6139: LIST
6140: PUSH
6141: LD_INT 154
6143: PUSH
6144: LD_INT 147
6146: PUSH
6147: EMPTY
6148: LIST
6149: LIST
6150: PUSH
6151: LD_INT 145
6153: PUSH
6154: LD_INT 129
6156: PUSH
6157: EMPTY
6158: LIST
6159: LIST
6160: PUSH
6161: LD_INT 162
6163: PUSH
6164: LD_INT 122
6166: PUSH
6167: EMPTY
6168: LIST
6169: LIST
6170: PUSH
6171: LD_INT 170
6173: PUSH
6174: LD_INT 108
6176: PUSH
6177: EMPTY
6178: LIST
6179: LIST
6180: PUSH
6181: LD_INT 164
6183: PUSH
6184: LD_INT 88
6186: PUSH
6187: EMPTY
6188: LIST
6189: LIST
6190: PUSH
6191: LD_INT 172
6193: PUSH
6194: LD_INT 73
6196: PUSH
6197: EMPTY
6198: LIST
6199: LIST
6200: PUSH
6201: LD_INT 176
6203: PUSH
6204: LD_INT 62
6206: PUSH
6207: EMPTY
6208: LIST
6209: LIST
6210: PUSH
6211: LD_INT 176
6213: PUSH
6214: LD_INT 47
6216: PUSH
6217: EMPTY
6218: LIST
6219: LIST
6220: PUSH
6221: LD_INT 158
6223: PUSH
6224: LD_INT 28
6226: PUSH
6227: EMPTY
6228: LIST
6229: LIST
6230: PUSH
6231: EMPTY
6232: LIST
6233: LIST
6234: LIST
6235: LIST
6236: LIST
6237: LIST
6238: LIST
6239: LIST
6240: LIST
6241: LIST
6242: LIST
6243: LIST
6244: ST_TO_ADDR
// path_scout3a = path_scout3 ^ [ [ 152 , 15 ] ] ;
6245: LD_ADDR_EXP 55
6249: PUSH
6250: LD_EXP 54
6254: PUSH
6255: LD_INT 152
6257: PUSH
6258: LD_INT 15
6260: PUSH
6261: EMPTY
6262: LIST
6263: LIST
6264: PUSH
6265: EMPTY
6266: LIST
6267: ADD
6268: ST_TO_ADDR
// path_scout3b = path_scout3 ^ [ [ 147 , 24 ] , [ 133 , 16 ] , [ 115 , 16 ] , [ 107 , 24 ] , [ 87 , 26 ] , [ 74 , 27 ] , [ 50 , 18 ] , [ 31 , 16 ] , [ 34 , 29 ] , [ 62 , 40 ] , [ 80 , 54 ] , [ 78 , 65 ] , [ 49 , 63 ] , [ 66 , 90 ] , [ 72 , 102 ] , [ 82 , 121 ] , [ 95 , 142 ] , [ 102 , 160 ] , [ 105 , 173 ] ] ;
6269: LD_ADDR_EXP 56
6273: PUSH
6274: LD_EXP 54
6278: PUSH
6279: LD_INT 147
6281: PUSH
6282: LD_INT 24
6284: PUSH
6285: EMPTY
6286: LIST
6287: LIST
6288: PUSH
6289: LD_INT 133
6291: PUSH
6292: LD_INT 16
6294: PUSH
6295: EMPTY
6296: LIST
6297: LIST
6298: PUSH
6299: LD_INT 115
6301: PUSH
6302: LD_INT 16
6304: PUSH
6305: EMPTY
6306: LIST
6307: LIST
6308: PUSH
6309: LD_INT 107
6311: PUSH
6312: LD_INT 24
6314: PUSH
6315: EMPTY
6316: LIST
6317: LIST
6318: PUSH
6319: LD_INT 87
6321: PUSH
6322: LD_INT 26
6324: PUSH
6325: EMPTY
6326: LIST
6327: LIST
6328: PUSH
6329: LD_INT 74
6331: PUSH
6332: LD_INT 27
6334: PUSH
6335: EMPTY
6336: LIST
6337: LIST
6338: PUSH
6339: LD_INT 50
6341: PUSH
6342: LD_INT 18
6344: PUSH
6345: EMPTY
6346: LIST
6347: LIST
6348: PUSH
6349: LD_INT 31
6351: PUSH
6352: LD_INT 16
6354: PUSH
6355: EMPTY
6356: LIST
6357: LIST
6358: PUSH
6359: LD_INT 34
6361: PUSH
6362: LD_INT 29
6364: PUSH
6365: EMPTY
6366: LIST
6367: LIST
6368: PUSH
6369: LD_INT 62
6371: PUSH
6372: LD_INT 40
6374: PUSH
6375: EMPTY
6376: LIST
6377: LIST
6378: PUSH
6379: LD_INT 80
6381: PUSH
6382: LD_INT 54
6384: PUSH
6385: EMPTY
6386: LIST
6387: LIST
6388: PUSH
6389: LD_INT 78
6391: PUSH
6392: LD_INT 65
6394: PUSH
6395: EMPTY
6396: LIST
6397: LIST
6398: PUSH
6399: LD_INT 49
6401: PUSH
6402: LD_INT 63
6404: PUSH
6405: EMPTY
6406: LIST
6407: LIST
6408: PUSH
6409: LD_INT 66
6411: PUSH
6412: LD_INT 90
6414: PUSH
6415: EMPTY
6416: LIST
6417: LIST
6418: PUSH
6419: LD_INT 72
6421: PUSH
6422: LD_INT 102
6424: PUSH
6425: EMPTY
6426: LIST
6427: LIST
6428: PUSH
6429: LD_INT 82
6431: PUSH
6432: LD_INT 121
6434: PUSH
6435: EMPTY
6436: LIST
6437: LIST
6438: PUSH
6439: LD_INT 95
6441: PUSH
6442: LD_INT 142
6444: PUSH
6445: EMPTY
6446: LIST
6447: LIST
6448: PUSH
6449: LD_INT 102
6451: PUSH
6452: LD_INT 160
6454: PUSH
6455: EMPTY
6456: LIST
6457: LIST
6458: PUSH
6459: LD_INT 105
6461: PUSH
6462: LD_INT 173
6464: PUSH
6465: EMPTY
6466: LIST
6467: LIST
6468: PUSH
6469: EMPTY
6470: LIST
6471: LIST
6472: LIST
6473: LIST
6474: LIST
6475: LIST
6476: LIST
6477: LIST
6478: LIST
6479: LIST
6480: LIST
6481: LIST
6482: LIST
6483: LIST
6484: LIST
6485: LIST
6486: LIST
6487: LIST
6488: LIST
6489: ADD
6490: ST_TO_ADDR
// path_scout3c = makealist ( scoutpath3c ) ;
6491: LD_ADDR_EXP 57
6495: PUSH
6496: LD_INT 16
6498: PPUSH
6499: CALL 62478 0 1
6503: ST_TO_ADDR
// path_scout3c = path_scout3c ^ [ [ 173 , 130 ] , [ 188 , 134 ] , [ 202 , 135 ] , [ 207 , 147 ] , [ 228 , 162 ] ] ;
6504: LD_ADDR_EXP 57
6508: PUSH
6509: LD_EXP 57
6513: PUSH
6514: LD_INT 173
6516: PUSH
6517: LD_INT 130
6519: PUSH
6520: EMPTY
6521: LIST
6522: LIST
6523: PUSH
6524: LD_INT 188
6526: PUSH
6527: LD_INT 134
6529: PUSH
6530: EMPTY
6531: LIST
6532: LIST
6533: PUSH
6534: LD_INT 202
6536: PUSH
6537: LD_INT 135
6539: PUSH
6540: EMPTY
6541: LIST
6542: LIST
6543: PUSH
6544: LD_INT 207
6546: PUSH
6547: LD_INT 147
6549: PUSH
6550: EMPTY
6551: LIST
6552: LIST
6553: PUSH
6554: LD_INT 228
6556: PUSH
6557: LD_INT 162
6559: PUSH
6560: EMPTY
6561: LIST
6562: LIST
6563: PUSH
6564: EMPTY
6565: LIST
6566: LIST
6567: LIST
6568: LIST
6569: LIST
6570: ADD
6571: ST_TO_ADDR
// path_scout3d = makealist ( scoutpath3d ) ;
6572: LD_ADDR_EXP 58
6576: PUSH
6577: LD_INT 17
6579: PPUSH
6580: CALL 62478 0 1
6584: ST_TO_ADDR
// path_scout3e = makealist ( scoutpath3e ) ;
6585: LD_ADDR_EXP 59
6589: PUSH
6590: LD_INT 18
6592: PPUSH
6593: CALL 62478 0 1
6597: ST_TO_ADDR
// path_scout3e = path_scout3e ^ [ [ 73 , 102 ] , [ 83 , 123 ] , [ 81 , 142 ] , [ 104 , 160 ] , [ 111 , 182 ] ] ;
6598: LD_ADDR_EXP 59
6602: PUSH
6603: LD_EXP 59
6607: PUSH
6608: LD_INT 73
6610: PUSH
6611: LD_INT 102
6613: PUSH
6614: EMPTY
6615: LIST
6616: LIST
6617: PUSH
6618: LD_INT 83
6620: PUSH
6621: LD_INT 123
6623: PUSH
6624: EMPTY
6625: LIST
6626: LIST
6627: PUSH
6628: LD_INT 81
6630: PUSH
6631: LD_INT 142
6633: PUSH
6634: EMPTY
6635: LIST
6636: LIST
6637: PUSH
6638: LD_INT 104
6640: PUSH
6641: LD_INT 160
6643: PUSH
6644: EMPTY
6645: LIST
6646: LIST
6647: PUSH
6648: LD_INT 111
6650: PUSH
6651: LD_INT 182
6653: PUSH
6654: EMPTY
6655: LIST
6656: LIST
6657: PUSH
6658: EMPTY
6659: LIST
6660: LIST
6661: LIST
6662: LIST
6663: LIST
6664: ADD
6665: ST_TO_ADDR
// path_scout3f = makealist ( scoutpath3f ) ;
6666: LD_ADDR_EXP 60
6670: PUSH
6671: LD_INT 19
6673: PPUSH
6674: CALL 62478 0 1
6678: ST_TO_ADDR
// path_scout3f = path_scout3f ^ [ [ 120 , 79 ] , [ 132 , 93 ] , [ 137 , 107 ] , [ 143 , 127 ] , [ 152 , 147 ] , [ 174 , 163 ] , [ 180 , 184 ] ] ;
6679: LD_ADDR_EXP 60
6683: PUSH
6684: LD_EXP 60
6688: PUSH
6689: LD_INT 120
6691: PUSH
6692: LD_INT 79
6694: PUSH
6695: EMPTY
6696: LIST
6697: LIST
6698: PUSH
6699: LD_INT 132
6701: PUSH
6702: LD_INT 93
6704: PUSH
6705: EMPTY
6706: LIST
6707: LIST
6708: PUSH
6709: LD_INT 137
6711: PUSH
6712: LD_INT 107
6714: PUSH
6715: EMPTY
6716: LIST
6717: LIST
6718: PUSH
6719: LD_INT 143
6721: PUSH
6722: LD_INT 127
6724: PUSH
6725: EMPTY
6726: LIST
6727: LIST
6728: PUSH
6729: LD_INT 152
6731: PUSH
6732: LD_INT 147
6734: PUSH
6735: EMPTY
6736: LIST
6737: LIST
6738: PUSH
6739: LD_INT 174
6741: PUSH
6742: LD_INT 163
6744: PUSH
6745: EMPTY
6746: LIST
6747: LIST
6748: PUSH
6749: LD_INT 180
6751: PUSH
6752: LD_INT 184
6754: PUSH
6755: EMPTY
6756: LIST
6757: LIST
6758: PUSH
6759: EMPTY
6760: LIST
6761: LIST
6762: LIST
6763: LIST
6764: LIST
6765: LIST
6766: LIST
6767: ADD
6768: ST_TO_ADDR
// path_scout4 = makealist ( scoutpath4 ) ;
6769: LD_ADDR_EXP 61
6773: PUSH
6774: LD_INT 20
6776: PPUSH
6777: CALL 62478 0 1
6781: ST_TO_ADDR
// path_scout4a = path_scout4 ^ [ [ 111 , 47 ] , [ 119 , 61 ] , [ 127 , 75 ] , [ 138 , 104 ] , [ 123 , 119 ] , [ 122 , 134 ] , [ 124 , 161 ] , [ 122 , 174 ] , [ 115 , 187 ] ] ;
6782: LD_ADDR_EXP 62
6786: PUSH
6787: LD_EXP 61
6791: PUSH
6792: LD_INT 111
6794: PUSH
6795: LD_INT 47
6797: PUSH
6798: EMPTY
6799: LIST
6800: LIST
6801: PUSH
6802: LD_INT 119
6804: PUSH
6805: LD_INT 61
6807: PUSH
6808: EMPTY
6809: LIST
6810: LIST
6811: PUSH
6812: LD_INT 127
6814: PUSH
6815: LD_INT 75
6817: PUSH
6818: EMPTY
6819: LIST
6820: LIST
6821: PUSH
6822: LD_INT 138
6824: PUSH
6825: LD_INT 104
6827: PUSH
6828: EMPTY
6829: LIST
6830: LIST
6831: PUSH
6832: LD_INT 123
6834: PUSH
6835: LD_INT 119
6837: PUSH
6838: EMPTY
6839: LIST
6840: LIST
6841: PUSH
6842: LD_INT 122
6844: PUSH
6845: LD_INT 134
6847: PUSH
6848: EMPTY
6849: LIST
6850: LIST
6851: PUSH
6852: LD_INT 124
6854: PUSH
6855: LD_INT 161
6857: PUSH
6858: EMPTY
6859: LIST
6860: LIST
6861: PUSH
6862: LD_INT 122
6864: PUSH
6865: LD_INT 174
6867: PUSH
6868: EMPTY
6869: LIST
6870: LIST
6871: PUSH
6872: LD_INT 115
6874: PUSH
6875: LD_INT 187
6877: PUSH
6878: EMPTY
6879: LIST
6880: LIST
6881: PUSH
6882: EMPTY
6883: LIST
6884: LIST
6885: LIST
6886: LIST
6887: LIST
6888: LIST
6889: LIST
6890: LIST
6891: LIST
6892: ADD
6893: ST_TO_ADDR
// path_scout4b = makealist ( scoutpath4b ) ;
6894: LD_ADDR_EXP 63
6898: PUSH
6899: LD_INT 21
6901: PPUSH
6902: CALL 62478 0 1
6906: ST_TO_ADDR
// path_scout4b = path_scout4b ^ [ [ 144 , 63 ] , [ 138 , 83 ] , [ 114 , 94 ] , [ 136 , 116 ] , [ 143 , 140 ] , [ 174 , 172 ] ] ;
6907: LD_ADDR_EXP 63
6911: PUSH
6912: LD_EXP 63
6916: PUSH
6917: LD_INT 144
6919: PUSH
6920: LD_INT 63
6922: PUSH
6923: EMPTY
6924: LIST
6925: LIST
6926: PUSH
6927: LD_INT 138
6929: PUSH
6930: LD_INT 83
6932: PUSH
6933: EMPTY
6934: LIST
6935: LIST
6936: PUSH
6937: LD_INT 114
6939: PUSH
6940: LD_INT 94
6942: PUSH
6943: EMPTY
6944: LIST
6945: LIST
6946: PUSH
6947: LD_INT 136
6949: PUSH
6950: LD_INT 116
6952: PUSH
6953: EMPTY
6954: LIST
6955: LIST
6956: PUSH
6957: LD_INT 143
6959: PUSH
6960: LD_INT 140
6962: PUSH
6963: EMPTY
6964: LIST
6965: LIST
6966: PUSH
6967: LD_INT 174
6969: PUSH
6970: LD_INT 172
6972: PUSH
6973: EMPTY
6974: LIST
6975: LIST
6976: PUSH
6977: EMPTY
6978: LIST
6979: LIST
6980: LIST
6981: LIST
6982: LIST
6983: LIST
6984: ADD
6985: ST_TO_ADDR
// path_scout4c = makealist ( scoutpath4c ) ;
6986: LD_ADDR_EXP 64
6990: PUSH
6991: LD_INT 22
6993: PPUSH
6994: CALL 62478 0 1
6998: ST_TO_ADDR
// path_scout4c = path_scout4c ^ [ [ 183 , 70 ] , [ 189 , 85 ] , [ 195 , 99 ] , [ 186 , 101 ] , [ 190 , 112 ] , [ 205 , 123 ] , [ 221 , 140 ] , [ 231 , 161 ] , [ 241 , 180 ] ] ;
6999: LD_ADDR_EXP 64
7003: PUSH
7004: LD_EXP 64
7008: PUSH
7009: LD_INT 183
7011: PUSH
7012: LD_INT 70
7014: PUSH
7015: EMPTY
7016: LIST
7017: LIST
7018: PUSH
7019: LD_INT 189
7021: PUSH
7022: LD_INT 85
7024: PUSH
7025: EMPTY
7026: LIST
7027: LIST
7028: PUSH
7029: LD_INT 195
7031: PUSH
7032: LD_INT 99
7034: PUSH
7035: EMPTY
7036: LIST
7037: LIST
7038: PUSH
7039: LD_INT 186
7041: PUSH
7042: LD_INT 101
7044: PUSH
7045: EMPTY
7046: LIST
7047: LIST
7048: PUSH
7049: LD_INT 190
7051: PUSH
7052: LD_INT 112
7054: PUSH
7055: EMPTY
7056: LIST
7057: LIST
7058: PUSH
7059: LD_INT 205
7061: PUSH
7062: LD_INT 123
7064: PUSH
7065: EMPTY
7066: LIST
7067: LIST
7068: PUSH
7069: LD_INT 221
7071: PUSH
7072: LD_INT 140
7074: PUSH
7075: EMPTY
7076: LIST
7077: LIST
7078: PUSH
7079: LD_INT 231
7081: PUSH
7082: LD_INT 161
7084: PUSH
7085: EMPTY
7086: LIST
7087: LIST
7088: PUSH
7089: LD_INT 241
7091: PUSH
7092: LD_INT 180
7094: PUSH
7095: EMPTY
7096: LIST
7097: LIST
7098: PUSH
7099: EMPTY
7100: LIST
7101: LIST
7102: LIST
7103: LIST
7104: LIST
7105: LIST
7106: LIST
7107: LIST
7108: LIST
7109: ADD
7110: ST_TO_ADDR
// scout_getaway = [ [ 101 , 193 ] , [ 174 , 195 ] , [ 223 , 197 ] , [ 253 , 192 ] ] ;
7111: LD_ADDR_EXP 65
7115: PUSH
7116: LD_INT 101
7118: PUSH
7119: LD_INT 193
7121: PUSH
7122: EMPTY
7123: LIST
7124: LIST
7125: PUSH
7126: LD_INT 174
7128: PUSH
7129: LD_INT 195
7131: PUSH
7132: EMPTY
7133: LIST
7134: LIST
7135: PUSH
7136: LD_INT 223
7138: PUSH
7139: LD_INT 197
7141: PUSH
7142: EMPTY
7143: LIST
7144: LIST
7145: PUSH
7146: LD_INT 253
7148: PUSH
7149: LD_INT 192
7151: PUSH
7152: EMPTY
7153: LIST
7154: LIST
7155: PUSH
7156: EMPTY
7157: LIST
7158: LIST
7159: LIST
7160: LIST
7161: ST_TO_ADDR
// MoveOutHexes = [ [ 2 , 1 ] , [ 6 , 1 ] , [ 10 , 1 ] , [ 14 , 1 ] , [ 18 , 1 ] , [ 22 , 1 ] , [ 26 , 1 ] , [ 30 , 1 ] , [ 34 , 1 ] , [ 38 , 1 ] , [ 42 , 1 ] , [ 46 , 1 ] , [ 50 , 1 ] , [ 54 , 1 ] , [ 58 , 1 ] , [ 62 , 1 ] , [ 66 , 1 ] , [ 70 , 1 ] , [ 74 , 1 ] , [ 78 , 1 ] , [ 82 , 1 ] , [ 86 , 1 ] , [ 90 , 1 ] , [ 94 , 1 ] , [ 98 , 1 ] , [ 102 , 1 ] , [ 106 , 1 ] , [ 110 , 1 ] , [ 114 , 1 ] , [ 118 , 1 ] , [ 122 , 1 ] , [ 126 , 1 ] , [ 130 , 1 ] , [ 134 , 1 ] , [ 138 , 1 ] , [ 142 , 1 ] , [ 146 , 1 ] , [ 150 , 1 ] , [ 154 , 1 ] , [ 158 , 1 ] , [ 101 , 193 ] , [ 174 , 195 ] , [ 223 , 197 ] , [ 253 , 192 ] ] ;
7162: LD_ADDR_EXP 66
7166: PUSH
7167: LD_INT 2
7169: PUSH
7170: LD_INT 1
7172: PUSH
7173: EMPTY
7174: LIST
7175: LIST
7176: PUSH
7177: LD_INT 6
7179: PUSH
7180: LD_INT 1
7182: PUSH
7183: EMPTY
7184: LIST
7185: LIST
7186: PUSH
7187: LD_INT 10
7189: PUSH
7190: LD_INT 1
7192: PUSH
7193: EMPTY
7194: LIST
7195: LIST
7196: PUSH
7197: LD_INT 14
7199: PUSH
7200: LD_INT 1
7202: PUSH
7203: EMPTY
7204: LIST
7205: LIST
7206: PUSH
7207: LD_INT 18
7209: PUSH
7210: LD_INT 1
7212: PUSH
7213: EMPTY
7214: LIST
7215: LIST
7216: PUSH
7217: LD_INT 22
7219: PUSH
7220: LD_INT 1
7222: PUSH
7223: EMPTY
7224: LIST
7225: LIST
7226: PUSH
7227: LD_INT 26
7229: PUSH
7230: LD_INT 1
7232: PUSH
7233: EMPTY
7234: LIST
7235: LIST
7236: PUSH
7237: LD_INT 30
7239: PUSH
7240: LD_INT 1
7242: PUSH
7243: EMPTY
7244: LIST
7245: LIST
7246: PUSH
7247: LD_INT 34
7249: PUSH
7250: LD_INT 1
7252: PUSH
7253: EMPTY
7254: LIST
7255: LIST
7256: PUSH
7257: LD_INT 38
7259: PUSH
7260: LD_INT 1
7262: PUSH
7263: EMPTY
7264: LIST
7265: LIST
7266: PUSH
7267: LD_INT 42
7269: PUSH
7270: LD_INT 1
7272: PUSH
7273: EMPTY
7274: LIST
7275: LIST
7276: PUSH
7277: LD_INT 46
7279: PUSH
7280: LD_INT 1
7282: PUSH
7283: EMPTY
7284: LIST
7285: LIST
7286: PUSH
7287: LD_INT 50
7289: PUSH
7290: LD_INT 1
7292: PUSH
7293: EMPTY
7294: LIST
7295: LIST
7296: PUSH
7297: LD_INT 54
7299: PUSH
7300: LD_INT 1
7302: PUSH
7303: EMPTY
7304: LIST
7305: LIST
7306: PUSH
7307: LD_INT 58
7309: PUSH
7310: LD_INT 1
7312: PUSH
7313: EMPTY
7314: LIST
7315: LIST
7316: PUSH
7317: LD_INT 62
7319: PUSH
7320: LD_INT 1
7322: PUSH
7323: EMPTY
7324: LIST
7325: LIST
7326: PUSH
7327: LD_INT 66
7329: PUSH
7330: LD_INT 1
7332: PUSH
7333: EMPTY
7334: LIST
7335: LIST
7336: PUSH
7337: LD_INT 70
7339: PUSH
7340: LD_INT 1
7342: PUSH
7343: EMPTY
7344: LIST
7345: LIST
7346: PUSH
7347: LD_INT 74
7349: PUSH
7350: LD_INT 1
7352: PUSH
7353: EMPTY
7354: LIST
7355: LIST
7356: PUSH
7357: LD_INT 78
7359: PUSH
7360: LD_INT 1
7362: PUSH
7363: EMPTY
7364: LIST
7365: LIST
7366: PUSH
7367: LD_INT 82
7369: PUSH
7370: LD_INT 1
7372: PUSH
7373: EMPTY
7374: LIST
7375: LIST
7376: PUSH
7377: LD_INT 86
7379: PUSH
7380: LD_INT 1
7382: PUSH
7383: EMPTY
7384: LIST
7385: LIST
7386: PUSH
7387: LD_INT 90
7389: PUSH
7390: LD_INT 1
7392: PUSH
7393: EMPTY
7394: LIST
7395: LIST
7396: PUSH
7397: LD_INT 94
7399: PUSH
7400: LD_INT 1
7402: PUSH
7403: EMPTY
7404: LIST
7405: LIST
7406: PUSH
7407: LD_INT 98
7409: PUSH
7410: LD_INT 1
7412: PUSH
7413: EMPTY
7414: LIST
7415: LIST
7416: PUSH
7417: LD_INT 102
7419: PUSH
7420: LD_INT 1
7422: PUSH
7423: EMPTY
7424: LIST
7425: LIST
7426: PUSH
7427: LD_INT 106
7429: PUSH
7430: LD_INT 1
7432: PUSH
7433: EMPTY
7434: LIST
7435: LIST
7436: PUSH
7437: LD_INT 110
7439: PUSH
7440: LD_INT 1
7442: PUSH
7443: EMPTY
7444: LIST
7445: LIST
7446: PUSH
7447: LD_INT 114
7449: PUSH
7450: LD_INT 1
7452: PUSH
7453: EMPTY
7454: LIST
7455: LIST
7456: PUSH
7457: LD_INT 118
7459: PUSH
7460: LD_INT 1
7462: PUSH
7463: EMPTY
7464: LIST
7465: LIST
7466: PUSH
7467: LD_INT 122
7469: PUSH
7470: LD_INT 1
7472: PUSH
7473: EMPTY
7474: LIST
7475: LIST
7476: PUSH
7477: LD_INT 126
7479: PUSH
7480: LD_INT 1
7482: PUSH
7483: EMPTY
7484: LIST
7485: LIST
7486: PUSH
7487: LD_INT 130
7489: PUSH
7490: LD_INT 1
7492: PUSH
7493: EMPTY
7494: LIST
7495: LIST
7496: PUSH
7497: LD_INT 134
7499: PUSH
7500: LD_INT 1
7502: PUSH
7503: EMPTY
7504: LIST
7505: LIST
7506: PUSH
7507: LD_INT 138
7509: PUSH
7510: LD_INT 1
7512: PUSH
7513: EMPTY
7514: LIST
7515: LIST
7516: PUSH
7517: LD_INT 142
7519: PUSH
7520: LD_INT 1
7522: PUSH
7523: EMPTY
7524: LIST
7525: LIST
7526: PUSH
7527: LD_INT 146
7529: PUSH
7530: LD_INT 1
7532: PUSH
7533: EMPTY
7534: LIST
7535: LIST
7536: PUSH
7537: LD_INT 150
7539: PUSH
7540: LD_INT 1
7542: PUSH
7543: EMPTY
7544: LIST
7545: LIST
7546: PUSH
7547: LD_INT 154
7549: PUSH
7550: LD_INT 1
7552: PUSH
7553: EMPTY
7554: LIST
7555: LIST
7556: PUSH
7557: LD_INT 158
7559: PUSH
7560: LD_INT 1
7562: PUSH
7563: EMPTY
7564: LIST
7565: LIST
7566: PUSH
7567: LD_INT 101
7569: PUSH
7570: LD_INT 193
7572: PUSH
7573: EMPTY
7574: LIST
7575: LIST
7576: PUSH
7577: LD_INT 174
7579: PUSH
7580: LD_INT 195
7582: PUSH
7583: EMPTY
7584: LIST
7585: LIST
7586: PUSH
7587: LD_INT 223
7589: PUSH
7590: LD_INT 197
7592: PUSH
7593: EMPTY
7594: LIST
7595: LIST
7596: PUSH
7597: LD_INT 253
7599: PUSH
7600: LD_INT 192
7602: PUSH
7603: EMPTY
7604: LIST
7605: LIST
7606: PUSH
7607: EMPTY
7608: LIST
7609: LIST
7610: LIST
7611: LIST
7612: LIST
7613: LIST
7614: LIST
7615: LIST
7616: LIST
7617: LIST
7618: LIST
7619: LIST
7620: LIST
7621: LIST
7622: LIST
7623: LIST
7624: LIST
7625: LIST
7626: LIST
7627: LIST
7628: LIST
7629: LIST
7630: LIST
7631: LIST
7632: LIST
7633: LIST
7634: LIST
7635: LIST
7636: LIST
7637: LIST
7638: LIST
7639: LIST
7640: LIST
7641: LIST
7642: LIST
7643: LIST
7644: LIST
7645: LIST
7646: LIST
7647: LIST
7648: LIST
7649: LIST
7650: LIST
7651: LIST
7652: ST_TO_ADDR
// escapees_path1 = [ [ 109 , 176 ] , [ 98 , 155 ] , [ 87 , 129 ] , [ 65 , 93 ] , [ 42 , 53 ] , [ 44 , 31 ] ] ;
7653: LD_ADDR_EXP 148
7657: PUSH
7658: LD_INT 109
7660: PUSH
7661: LD_INT 176
7663: PUSH
7664: EMPTY
7665: LIST
7666: LIST
7667: PUSH
7668: LD_INT 98
7670: PUSH
7671: LD_INT 155
7673: PUSH
7674: EMPTY
7675: LIST
7676: LIST
7677: PUSH
7678: LD_INT 87
7680: PUSH
7681: LD_INT 129
7683: PUSH
7684: EMPTY
7685: LIST
7686: LIST
7687: PUSH
7688: LD_INT 65
7690: PUSH
7691: LD_INT 93
7693: PUSH
7694: EMPTY
7695: LIST
7696: LIST
7697: PUSH
7698: LD_INT 42
7700: PUSH
7701: LD_INT 53
7703: PUSH
7704: EMPTY
7705: LIST
7706: LIST
7707: PUSH
7708: LD_INT 44
7710: PUSH
7711: LD_INT 31
7713: PUSH
7714: EMPTY
7715: LIST
7716: LIST
7717: PUSH
7718: EMPTY
7719: LIST
7720: LIST
7721: LIST
7722: LIST
7723: LIST
7724: LIST
7725: ST_TO_ADDR
// escapees_path2 = [ [ 109 , 176 ] , [ 131 , 162 ] , [ 119 , 131 ] , [ 94 , 98 ] , [ 89 , 63 ] , [ 66 , 18 ] ] ;
7726: LD_ADDR_EXP 147
7730: PUSH
7731: LD_INT 109
7733: PUSH
7734: LD_INT 176
7736: PUSH
7737: EMPTY
7738: LIST
7739: LIST
7740: PUSH
7741: LD_INT 131
7743: PUSH
7744: LD_INT 162
7746: PUSH
7747: EMPTY
7748: LIST
7749: LIST
7750: PUSH
7751: LD_INT 119
7753: PUSH
7754: LD_INT 131
7756: PUSH
7757: EMPTY
7758: LIST
7759: LIST
7760: PUSH
7761: LD_INT 94
7763: PUSH
7764: LD_INT 98
7766: PUSH
7767: EMPTY
7768: LIST
7769: LIST
7770: PUSH
7771: LD_INT 89
7773: PUSH
7774: LD_INT 63
7776: PUSH
7777: EMPTY
7778: LIST
7779: LIST
7780: PUSH
7781: LD_INT 66
7783: PUSH
7784: LD_INT 18
7786: PUSH
7787: EMPTY
7788: LIST
7789: LIST
7790: PUSH
7791: EMPTY
7792: LIST
7793: LIST
7794: LIST
7795: LIST
7796: LIST
7797: LIST
7798: ST_TO_ADDR
// escapees_path3 = [ [ 172 , 171 ] , [ 140 , 125 ] , [ 137 , 95 ] , [ 131 , 65 ] , [ 128 , 39 ] , [ 155 , 23 ] ] ;
7799: LD_ADDR_EXP 146
7803: PUSH
7804: LD_INT 172
7806: PUSH
7807: LD_INT 171
7809: PUSH
7810: EMPTY
7811: LIST
7812: LIST
7813: PUSH
7814: LD_INT 140
7816: PUSH
7817: LD_INT 125
7819: PUSH
7820: EMPTY
7821: LIST
7822: LIST
7823: PUSH
7824: LD_INT 137
7826: PUSH
7827: LD_INT 95
7829: PUSH
7830: EMPTY
7831: LIST
7832: LIST
7833: PUSH
7834: LD_INT 131
7836: PUSH
7837: LD_INT 65
7839: PUSH
7840: EMPTY
7841: LIST
7842: LIST
7843: PUSH
7844: LD_INT 128
7846: PUSH
7847: LD_INT 39
7849: PUSH
7850: EMPTY
7851: LIST
7852: LIST
7853: PUSH
7854: LD_INT 155
7856: PUSH
7857: LD_INT 23
7859: PUSH
7860: EMPTY
7861: LIST
7862: LIST
7863: PUSH
7864: EMPTY
7865: LIST
7866: LIST
7867: LIST
7868: LIST
7869: LIST
7870: LIST
7871: ST_TO_ADDR
// escapees_path4 = [ [ 227 , 156 ] , [ 188 , 134 ] , [ 165 , 105 ] , [ 179 , 62 ] , [ 155 , 23 ] ] ;
7872: LD_ADDR_EXP 145
7876: PUSH
7877: LD_INT 227
7879: PUSH
7880: LD_INT 156
7882: PUSH
7883: EMPTY
7884: LIST
7885: LIST
7886: PUSH
7887: LD_INT 188
7889: PUSH
7890: LD_INT 134
7892: PUSH
7893: EMPTY
7894: LIST
7895: LIST
7896: PUSH
7897: LD_INT 165
7899: PUSH
7900: LD_INT 105
7902: PUSH
7903: EMPTY
7904: LIST
7905: LIST
7906: PUSH
7907: LD_INT 179
7909: PUSH
7910: LD_INT 62
7912: PUSH
7913: EMPTY
7914: LIST
7915: LIST
7916: PUSH
7917: LD_INT 155
7919: PUSH
7920: LD_INT 23
7922: PUSH
7923: EMPTY
7924: LIST
7925: LIST
7926: PUSH
7927: EMPTY
7928: LIST
7929: LIST
7930: LIST
7931: LIST
7932: LIST
7933: ST_TO_ADDR
// escapees_path5 = [ [ 227 , 156 ] , [ 212 , 130 ] , [ 192 , 98 ] , [ 179 , 62 ] , [ 155 , 23 ] ] ;
7934: LD_ADDR_EXP 144
7938: PUSH
7939: LD_INT 227
7941: PUSH
7942: LD_INT 156
7944: PUSH
7945: EMPTY
7946: LIST
7947: LIST
7948: PUSH
7949: LD_INT 212
7951: PUSH
7952: LD_INT 130
7954: PUSH
7955: EMPTY
7956: LIST
7957: LIST
7958: PUSH
7959: LD_INT 192
7961: PUSH
7962: LD_INT 98
7964: PUSH
7965: EMPTY
7966: LIST
7967: LIST
7968: PUSH
7969: LD_INT 179
7971: PUSH
7972: LD_INT 62
7974: PUSH
7975: EMPTY
7976: LIST
7977: LIST
7978: PUSH
7979: LD_INT 155
7981: PUSH
7982: LD_INT 23
7984: PUSH
7985: EMPTY
7986: LIST
7987: LIST
7988: PUSH
7989: EMPTY
7990: LIST
7991: LIST
7992: LIST
7993: LIST
7994: LIST
7995: ST_TO_ADDR
// friendlyfire = 0 ;
7996: LD_ADDR_EXP 117
8000: PUSH
8001: LD_INT 0
8003: ST_TO_ADDR
// omar_forces_main = [ ] ;
8004: LD_ADDR_EXP 105
8008: PUSH
8009: EMPTY
8010: ST_TO_ADDR
// omar_forces_random = [ ] ;
8011: LD_ADDR_EXP 106
8015: PUSH
8016: EMPTY
8017: ST_TO_ADDR
// randomize ;
8018: CALL_OW 10
// Ar5_time = [ rand ( 1 1$0 , 4 4$0 ) , rand ( 1 1$0 , 4 4$0 ) , rand ( 1 1$0 , 4 4$0 ) , rand ( 1 1$0 , 4 4$0 ) , rand ( 1 1$0 , 4 4$0 ) , rand ( 1 1$0 , 4 4$0 ) ] ;
8022: LD_ADDR_EXP 120
8026: PUSH
8027: LD_INT 2100
8029: PPUSH
8030: LD_INT 8400
8032: PPUSH
8033: CALL_OW 12
8037: PUSH
8038: LD_INT 2100
8040: PPUSH
8041: LD_INT 8400
8043: PPUSH
8044: CALL_OW 12
8048: PUSH
8049: LD_INT 2100
8051: PPUSH
8052: LD_INT 8400
8054: PPUSH
8055: CALL_OW 12
8059: PUSH
8060: LD_INT 2100
8062: PPUSH
8063: LD_INT 8400
8065: PPUSH
8066: CALL_OW 12
8070: PUSH
8071: LD_INT 2100
8073: PPUSH
8074: LD_INT 8400
8076: PPUSH
8077: CALL_OW 12
8081: PUSH
8082: LD_INT 2100
8084: PPUSH
8085: LD_INT 8400
8087: PPUSH
8088: CALL_OW 12
8092: PUSH
8093: EMPTY
8094: LIST
8095: LIST
8096: LIST
8097: LIST
8098: LIST
8099: LIST
8100: ST_TO_ADDR
// Ar5_time = SortByValueAsc ( Ar5_time ) ;
8101: LD_ADDR_EXP 120
8105: PUSH
8106: LD_EXP 120
8110: PPUSH
8111: CALL 61347 0 1
8115: ST_TO_ADDR
// Ar5_timeup = Ar5_time [ 1 ] ;
8116: LD_ADDR_EXP 121
8120: PUSH
8121: LD_EXP 120
8125: PUSH
8126: LD_INT 1
8128: ARRAY
8129: ST_TO_ADDR
// escapees_cycle = [ 4 4$0 , 4 4$0 , 5 5$0 ] [ difficulty ] ;
8130: LD_ADDR_EXP 122
8134: PUSH
8135: LD_INT 8400
8137: PUSH
8138: LD_INT 8400
8140: PUSH
8141: LD_INT 10500
8143: PUSH
8144: EMPTY
8145: LIST
8146: LIST
8147: LIST
8148: PUSH
8149: LD_OWVAR 67
8153: ARRAY
8154: ST_TO_ADDR
// number_of_Ar5_groups_to_go = 30 ;
8155: LD_ADDR_EXP 123
8159: PUSH
8160: LD_INT 30
8162: ST_TO_ADDR
// cyclenumber = [ 18 , 12 , 6 , 0 ] ;
8163: LD_ADDR_EXP 124
8167: PUSH
8168: LD_INT 18
8170: PUSH
8171: LD_INT 12
8173: PUSH
8174: LD_INT 6
8176: PUSH
8177: LD_INT 0
8179: PUSH
8180: EMPTY
8181: LIST
8182: LIST
8183: LIST
8184: LIST
8185: ST_TO_ADDR
// escapees_dead = [ ] ;
8186: LD_ADDR_EXP 125
8190: PUSH
8191: EMPTY
8192: ST_TO_ADDR
// escapees_errormargin = 1 ;
8193: LD_ADDR_EXP 126
8197: PUSH
8198: LD_INT 1
8200: ST_TO_ADDR
// escapees_errormargin_group = [ ] ;
8201: LD_ADDR_EXP 127
8205: PUSH
8206: EMPTY
8207: ST_TO_ADDR
// joining_escapees_count = [ rand ( 11 11$0 , 13 13$0 ) , rand ( 13 13$0 , 15 15$0 ) , 999 999$0 ] ;
8208: LD_ADDR_EXP 128
8212: PUSH
8213: LD_INT 23100
8215: PPUSH
8216: LD_INT 27300
8218: PPUSH
8219: CALL_OW 12
8223: PUSH
8224: LD_INT 27300
8226: PPUSH
8227: LD_INT 31500
8229: PPUSH
8230: CALL_OW 12
8234: PUSH
8235: LD_INT 2097900
8237: PUSH
8238: EMPTY
8239: LIST
8240: LIST
8241: LIST
8242: ST_TO_ADDR
// joinig_escapees = [ ] ;
8243: LD_ADDR_EXP 129
8247: PUSH
8248: EMPTY
8249: ST_TO_ADDR
// esc_dlg = 0 ;
8250: LD_ADDR_EXP 130
8254: PUSH
8255: LD_INT 0
8257: ST_TO_ADDR
// joining_main = [ ] ;
8258: LD_ADDR_EXP 131
8262: PUSH
8263: EMPTY
8264: ST_TO_ADDR
// snake_aid = [ ] ;
8265: LD_ADDR_EXP 132
8269: PUSH
8270: EMPTY
8271: ST_TO_ADDR
// clear_spawn_location = [ [ enter1 , enter2 , enter3 ] [ rand ( 1 , 3 ) ] , 16 16$0 ] ;
8272: LD_ADDR_EXP 133
8276: PUSH
8277: LD_INT 2
8279: PUSH
8280: LD_INT 3
8282: PUSH
8283: LD_INT 4
8285: PUSH
8286: EMPTY
8287: LIST
8288: LIST
8289: LIST
8290: PUSH
8291: LD_INT 1
8293: PPUSH
8294: LD_INT 3
8296: PPUSH
8297: CALL_OW 12
8301: ARRAY
8302: PUSH
8303: LD_INT 33600
8305: PUSH
8306: EMPTY
8307: LIST
8308: LIST
8309: ST_TO_ADDR
// esc_drivers = [ ] ;
8310: LD_ADDR_EXP 134
8314: PUSH
8315: EMPTY
8316: ST_TO_ADDR
// prisoners = [ ] ;
8317: LD_ADDR_EXP 171
8321: PUSH
8322: EMPTY
8323: ST_TO_ADDR
// prisoners_escaping = [ ] ;
8324: LD_ADDR_EXP 178
8328: PUSH
8329: EMPTY
8330: ST_TO_ADDR
// prisoners_status = 0 ;
8331: LD_ADDR_EXP 173
8335: PUSH
8336: LD_INT 0
8338: ST_TO_ADDR
// prisoners_armed = 0 ;
8339: LD_ADDR_EXP 174
8343: PUSH
8344: LD_INT 0
8346: ST_TO_ADDR
// prisoners_delay = 0 ;
8347: LD_ADDR_EXP 175
8351: PUSH
8352: LD_INT 0
8354: ST_TO_ADDR
// prisoner_lives = [ ] ;
8355: LD_ADDR_EXP 179
8359: PUSH
8360: EMPTY
8361: ST_TO_ADDR
// prisoner_lastposition = [ ] ;
8362: LD_ADDR_EXP 180
8366: PUSH
8367: EMPTY
8368: ST_TO_ADDR
// prisonersattacked = 0 ;
8369: LD_ADDR_EXP 181
8373: PUSH
8374: LD_INT 0
8376: ST_TO_ADDR
// prisoner_escapehexes = [ [ 2 , 1 ] , [ 6 , 1 ] , [ 10 , 1 ] , [ 14 , 1 ] , [ 18 , 1 ] , [ 22 , 1 ] , [ 26 , 1 ] , [ 30 , 1 ] , [ 34 , 1 ] , [ 38 , 1 ] , [ 42 , 1 ] , [ 46 , 1 ] , [ 50 , 1 ] , [ 54 , 1 ] , [ 58 , 1 ] , [ 62 , 1 ] , [ 66 , 1 ] , [ 70 , 1 ] , [ 74 , 1 ] , [ 78 , 1 ] , [ 82 , 1 ] , [ 86 , 1 ] , [ 90 , 1 ] , [ 94 , 1 ] , [ 98 , 1 ] , [ 102 , 1 ] , [ 106 , 1 ] , [ 110 , 1 ] , [ 114 , 1 ] , [ 118 , 1 ] , [ 122 , 1 ] , [ 126 , 1 ] , [ 130 , 1 ] , [ 134 , 1 ] , [ 138 , 1 ] , [ 142 , 1 ] , [ 146 , 1 ] , [ 150 , 1 ] , [ 154 , 1 ] , [ 158 , 1 ] ] ;
8377: LD_ADDR_EXP 177
8381: PUSH
8382: LD_INT 2
8384: PUSH
8385: LD_INT 1
8387: PUSH
8388: EMPTY
8389: LIST
8390: LIST
8391: PUSH
8392: LD_INT 6
8394: PUSH
8395: LD_INT 1
8397: PUSH
8398: EMPTY
8399: LIST
8400: LIST
8401: PUSH
8402: LD_INT 10
8404: PUSH
8405: LD_INT 1
8407: PUSH
8408: EMPTY
8409: LIST
8410: LIST
8411: PUSH
8412: LD_INT 14
8414: PUSH
8415: LD_INT 1
8417: PUSH
8418: EMPTY
8419: LIST
8420: LIST
8421: PUSH
8422: LD_INT 18
8424: PUSH
8425: LD_INT 1
8427: PUSH
8428: EMPTY
8429: LIST
8430: LIST
8431: PUSH
8432: LD_INT 22
8434: PUSH
8435: LD_INT 1
8437: PUSH
8438: EMPTY
8439: LIST
8440: LIST
8441: PUSH
8442: LD_INT 26
8444: PUSH
8445: LD_INT 1
8447: PUSH
8448: EMPTY
8449: LIST
8450: LIST
8451: PUSH
8452: LD_INT 30
8454: PUSH
8455: LD_INT 1
8457: PUSH
8458: EMPTY
8459: LIST
8460: LIST
8461: PUSH
8462: LD_INT 34
8464: PUSH
8465: LD_INT 1
8467: PUSH
8468: EMPTY
8469: LIST
8470: LIST
8471: PUSH
8472: LD_INT 38
8474: PUSH
8475: LD_INT 1
8477: PUSH
8478: EMPTY
8479: LIST
8480: LIST
8481: PUSH
8482: LD_INT 42
8484: PUSH
8485: LD_INT 1
8487: PUSH
8488: EMPTY
8489: LIST
8490: LIST
8491: PUSH
8492: LD_INT 46
8494: PUSH
8495: LD_INT 1
8497: PUSH
8498: EMPTY
8499: LIST
8500: LIST
8501: PUSH
8502: LD_INT 50
8504: PUSH
8505: LD_INT 1
8507: PUSH
8508: EMPTY
8509: LIST
8510: LIST
8511: PUSH
8512: LD_INT 54
8514: PUSH
8515: LD_INT 1
8517: PUSH
8518: EMPTY
8519: LIST
8520: LIST
8521: PUSH
8522: LD_INT 58
8524: PUSH
8525: LD_INT 1
8527: PUSH
8528: EMPTY
8529: LIST
8530: LIST
8531: PUSH
8532: LD_INT 62
8534: PUSH
8535: LD_INT 1
8537: PUSH
8538: EMPTY
8539: LIST
8540: LIST
8541: PUSH
8542: LD_INT 66
8544: PUSH
8545: LD_INT 1
8547: PUSH
8548: EMPTY
8549: LIST
8550: LIST
8551: PUSH
8552: LD_INT 70
8554: PUSH
8555: LD_INT 1
8557: PUSH
8558: EMPTY
8559: LIST
8560: LIST
8561: PUSH
8562: LD_INT 74
8564: PUSH
8565: LD_INT 1
8567: PUSH
8568: EMPTY
8569: LIST
8570: LIST
8571: PUSH
8572: LD_INT 78
8574: PUSH
8575: LD_INT 1
8577: PUSH
8578: EMPTY
8579: LIST
8580: LIST
8581: PUSH
8582: LD_INT 82
8584: PUSH
8585: LD_INT 1
8587: PUSH
8588: EMPTY
8589: LIST
8590: LIST
8591: PUSH
8592: LD_INT 86
8594: PUSH
8595: LD_INT 1
8597: PUSH
8598: EMPTY
8599: LIST
8600: LIST
8601: PUSH
8602: LD_INT 90
8604: PUSH
8605: LD_INT 1
8607: PUSH
8608: EMPTY
8609: LIST
8610: LIST
8611: PUSH
8612: LD_INT 94
8614: PUSH
8615: LD_INT 1
8617: PUSH
8618: EMPTY
8619: LIST
8620: LIST
8621: PUSH
8622: LD_INT 98
8624: PUSH
8625: LD_INT 1
8627: PUSH
8628: EMPTY
8629: LIST
8630: LIST
8631: PUSH
8632: LD_INT 102
8634: PUSH
8635: LD_INT 1
8637: PUSH
8638: EMPTY
8639: LIST
8640: LIST
8641: PUSH
8642: LD_INT 106
8644: PUSH
8645: LD_INT 1
8647: PUSH
8648: EMPTY
8649: LIST
8650: LIST
8651: PUSH
8652: LD_INT 110
8654: PUSH
8655: LD_INT 1
8657: PUSH
8658: EMPTY
8659: LIST
8660: LIST
8661: PUSH
8662: LD_INT 114
8664: PUSH
8665: LD_INT 1
8667: PUSH
8668: EMPTY
8669: LIST
8670: LIST
8671: PUSH
8672: LD_INT 118
8674: PUSH
8675: LD_INT 1
8677: PUSH
8678: EMPTY
8679: LIST
8680: LIST
8681: PUSH
8682: LD_INT 122
8684: PUSH
8685: LD_INT 1
8687: PUSH
8688: EMPTY
8689: LIST
8690: LIST
8691: PUSH
8692: LD_INT 126
8694: PUSH
8695: LD_INT 1
8697: PUSH
8698: EMPTY
8699: LIST
8700: LIST
8701: PUSH
8702: LD_INT 130
8704: PUSH
8705: LD_INT 1
8707: PUSH
8708: EMPTY
8709: LIST
8710: LIST
8711: PUSH
8712: LD_INT 134
8714: PUSH
8715: LD_INT 1
8717: PUSH
8718: EMPTY
8719: LIST
8720: LIST
8721: PUSH
8722: LD_INT 138
8724: PUSH
8725: LD_INT 1
8727: PUSH
8728: EMPTY
8729: LIST
8730: LIST
8731: PUSH
8732: LD_INT 142
8734: PUSH
8735: LD_INT 1
8737: PUSH
8738: EMPTY
8739: LIST
8740: LIST
8741: PUSH
8742: LD_INT 146
8744: PUSH
8745: LD_INT 1
8747: PUSH
8748: EMPTY
8749: LIST
8750: LIST
8751: PUSH
8752: LD_INT 150
8754: PUSH
8755: LD_INT 1
8757: PUSH
8758: EMPTY
8759: LIST
8760: LIST
8761: PUSH
8762: LD_INT 154
8764: PUSH
8765: LD_INT 1
8767: PUSH
8768: EMPTY
8769: LIST
8770: LIST
8771: PUSH
8772: LD_INT 158
8774: PUSH
8775: LD_INT 1
8777: PUSH
8778: EMPTY
8779: LIST
8780: LIST
8781: PUSH
8782: EMPTY
8783: LIST
8784: LIST
8785: LIST
8786: LIST
8787: LIST
8788: LIST
8789: LIST
8790: LIST
8791: LIST
8792: LIST
8793: LIST
8794: LIST
8795: LIST
8796: LIST
8797: LIST
8798: LIST
8799: LIST
8800: LIST
8801: LIST
8802: LIST
8803: LIST
8804: LIST
8805: LIST
8806: LIST
8807: LIST
8808: LIST
8809: LIST
8810: LIST
8811: LIST
8812: LIST
8813: LIST
8814: LIST
8815: LIST
8816: LIST
8817: LIST
8818: LIST
8819: LIST
8820: LIST
8821: LIST
8822: LIST
8823: ST_TO_ADDR
// Legion = [ ] ;
8824: LD_ADDR_EXP 150
8828: PUSH
8829: EMPTY
8830: ST_TO_ADDR
// LegionSpawnTime = [ rand ( 25 25$0 , 33 33$0 ) , rand ( 26 26$0 , 34 34$0 ) , rand ( 27 27$0 , 35 35$0 ) ] [ difficulty ] ;
8831: LD_ADDR_EXP 151
8835: PUSH
8836: LD_INT 52500
8838: PPUSH
8839: LD_INT 69300
8841: PPUSH
8842: CALL_OW 12
8846: PUSH
8847: LD_INT 54600
8849: PPUSH
8850: LD_INT 71400
8852: PPUSH
8853: CALL_OW 12
8857: PUSH
8858: LD_INT 56700
8860: PPUSH
8861: LD_INT 73500
8863: PPUSH
8864: CALL_OW 12
8868: PUSH
8869: EMPTY
8870: LIST
8871: LIST
8872: LIST
8873: PUSH
8874: LD_OWVAR 67
8878: ARRAY
8879: ST_TO_ADDR
// if LegionSpawnTime > ru_heavy_times [ 3 ] - 1 1$0 and LegionSpawnTime < ru_heavy_times [ 3 ] + 1 1$0 then
8880: LD_EXP 151
8884: PUSH
8885: LD_EXP 28
8889: PUSH
8890: LD_INT 3
8892: ARRAY
8893: PUSH
8894: LD_INT 2100
8896: MINUS
8897: GREATER
8898: PUSH
8899: LD_EXP 151
8903: PUSH
8904: LD_EXP 28
8908: PUSH
8909: LD_INT 3
8911: ARRAY
8912: PUSH
8913: LD_INT 2100
8915: PLUS
8916: LESS
8917: AND
8918: IFFALSE 8938
// LegionSpawnTime = ru_heavy_times [ 3 ] + 1 1$30 ;
8920: LD_ADDR_EXP 151
8924: PUSH
8925: LD_EXP 28
8929: PUSH
8930: LD_INT 3
8932: ARRAY
8933: PUSH
8934: LD_INT 3150
8936: PLUS
8937: ST_TO_ADDR
// Legion_attack = 0 ;
8938: LD_ADDR_EXP 153
8942: PUSH
8943: LD_INT 0
8945: ST_TO_ADDR
// disable ( 1 ) ;
8946: LD_INT 1
8948: DISABLE_MARKED
// Artifact = 4 ;
8949: LD_ADDR_EXP 155
8953: PUSH
8954: LD_INT 4
8956: ST_TO_ADDR
// st_argroupscount = 0 ;
8957: LD_ADDR_EXP 182
8961: PUSH
8962: LD_INT 0
8964: ST_TO_ADDR
// st_arunitsdead = 0 ;
8965: LD_ADDR_EXP 183
8969: PUSH
8970: LD_INT 0
8972: ST_TO_ADDR
// st_measurementtime = 0 ;
8973: LD_ADDR_EXP 184
8977: PUSH
8978: LD_INT 0
8980: ST_TO_ADDR
// cameracount = [ 10 , 8 , 6 ] [ difficulty ] ;
8981: LD_ADDR_EXP 187
8985: PUSH
8986: LD_INT 10
8988: PUSH
8989: LD_INT 8
8991: PUSH
8992: LD_INT 6
8994: PUSH
8995: EMPTY
8996: LIST
8997: LIST
8998: LIST
8999: PUSH
9000: LD_OWVAR 67
9004: ARRAY
9005: ST_TO_ADDR
// camerasplaced = [ ] ;
9006: LD_ADDR_EXP 188
9010: PUSH
9011: EMPTY
9012: ST_TO_ADDR
// CameraMarkList = [ CameraMark1 , CameraMark2 , CameraMark3 , CameraMark4 , CameraMark5 , CameraMark6 , CameraMark7 , CameraMark8 , CameraMark9 , CameraMark10 ] ;
9013: LD_ADDR_EXP 189
9017: PUSH
9018: LD_INT 33
9020: PUSH
9021: LD_INT 34
9023: PUSH
9024: LD_INT 35
9026: PUSH
9027: LD_INT 36
9029: PUSH
9030: LD_INT 37
9032: PUSH
9033: LD_INT 38
9035: PUSH
9036: LD_INT 39
9038: PUSH
9039: LD_INT 40
9041: PUSH
9042: LD_INT 41
9044: PUSH
9045: LD_INT 42
9047: PUSH
9048: EMPTY
9049: LIST
9050: LIST
9051: LIST
9052: LIST
9053: LIST
9054: LIST
9055: LIST
9056: LIST
9057: LIST
9058: LIST
9059: ST_TO_ADDR
// CameraMarkListUsed = [ ] ;
9060: LD_ADDR_EXP 190
9064: PUSH
9065: EMPTY
9066: ST_TO_ADDR
// LastSelectedPlayerUnit = 0 ;
9067: LD_ADDR_EXP 194
9071: PUSH
9072: LD_INT 0
9074: ST_TO_ADDR
// cargo_UnitList = [ ] ;
9075: LD_ADDR_EXP 195
9079: PUSH
9080: EMPTY
9081: ST_TO_ADDR
// ClassChangedList = [ ] ;
9082: LD_ADDR_EXP 196
9086: PUSH
9087: EMPTY
9088: ST_TO_ADDR
// EmptyCargos = [ ] ;
9089: LD_ADDR_EXP 197
9093: PUSH
9094: EMPTY
9095: ST_TO_ADDR
// mark_spotenemy = [ ] ;
9096: LD_ADDR_EXP 198
9100: PUSH
9101: EMPTY
9102: ST_TO_ADDR
// mark_contact = [ ] ;
9103: LD_ADDR_EXP 199
9107: PUSH
9108: EMPTY
9109: ST_TO_ADDR
// mark_damaged = [ ] ;
9110: LD_ADDR_EXP 201
9114: PUSH
9115: EMPTY
9116: ST_TO_ADDR
// Apes = [ ] ;
9117: LD_ADDR_EXP 204
9121: PUSH
9122: EMPTY
9123: ST_TO_ADDR
// PlanetOfTheApes = [ Cornelius , Zira , Dr Zaius , Lucius , Ursus , Caesar , Galen , Maximus , Honorious , Julius , Aldo , Virgil , Urko , Kira , Tylor , Nova , Landon , Dodge , Brent ] ;
9124: LD_ADDR_EXP 203
9128: PUSH
9129: LD_STRING Cornelius
9131: PUSH
9132: LD_STRING Zira
9134: PUSH
9135: LD_STRING Dr Zaius
9137: PUSH
9138: LD_STRING Lucius
9140: PUSH
9141: LD_STRING Ursus
9143: PUSH
9144: LD_STRING Caesar
9146: PUSH
9147: LD_STRING Galen
9149: PUSH
9150: LD_STRING Maximus
9152: PUSH
9153: LD_STRING Honorious
9155: PUSH
9156: LD_STRING Julius
9158: PUSH
9159: LD_STRING Aldo
9161: PUSH
9162: LD_STRING Virgil
9164: PUSH
9165: LD_STRING Urko
9167: PUSH
9168: LD_STRING Kira
9170: PUSH
9171: LD_STRING Tylor
9173: PUSH
9174: LD_STRING Nova
9176: PUSH
9177: LD_STRING Landon
9179: PUSH
9180: LD_STRING Dodge
9182: PUSH
9183: LD_STRING Brent
9185: PUSH
9186: EMPTY
9187: LIST
9188: LIST
9189: LIST
9190: LIST
9191: LIST
9192: LIST
9193: LIST
9194: LIST
9195: LIST
9196: LIST
9197: LIST
9198: LIST
9199: LIST
9200: LIST
9201: LIST
9202: LIST
9203: LIST
9204: LIST
9205: LIST
9206: ST_TO_ADDR
// PrepareNature ;
9207: CALL 58419 0 0
// Mastodon_list = [ Mastodon1 , Mastodon2 , Mastodon3 , Mastodon4 , Mastodon5 ] ;
9211: LD_ADDR_EXP 208
9215: PUSH
9216: LD_INT 2
9218: PUSH
9219: LD_INT 3
9221: PUSH
9222: LD_INT 4
9224: PUSH
9225: LD_INT 5
9227: PUSH
9228: LD_INT 6
9230: PUSH
9231: EMPTY
9232: LIST
9233: LIST
9234: LIST
9235: LIST
9236: LIST
9237: ST_TO_ADDR
// Mastodon_tick = 999 999$0 ;
9238: LD_ADDR_EXP 209
9242: PUSH
9243: LD_INT 2097900
9245: ST_TO_ADDR
// StartSequence ;
9246: CALL 9251 0 0
// end ;
9250: END
// function StartSequence ; var unit_list , Human_list , StartingList , StartingList1 , StartingList2 , StartingList3 , StartingList4 ; var i , j , roll , top_mech , temp , temp_val , temp_list , temp_driver , control , temp_control , footmen , prisoner1 , prisoner2 , prisoner3 , others ; begin
9251: LD_INT 0
9253: PPUSH
9254: PPUSH
9255: PPUSH
9256: PPUSH
9257: PPUSH
9258: PPUSH
9259: PPUSH
9260: PPUSH
9261: PPUSH
9262: PPUSH
9263: PPUSH
9264: PPUSH
9265: PPUSH
9266: PPUSH
9267: PPUSH
9268: PPUSH
9269: PPUSH
9270: PPUSH
9271: PPUSH
9272: PPUSH
9273: PPUSH
9274: PPUSH
9275: PPUSH
// Randomize ;
9276: CALL_OW 10
// uc_nation = nation_nature ;
9280: LD_ADDR_OWVAR 21
9284: PUSH
9285: LD_INT 0
9287: ST_TO_ADDR
// uc_side = 7 ;
9288: LD_ADDR_OWVAR 20
9292: PUSH
9293: LD_INT 7
9295: ST_TO_ADDR
// hc_class = class_tiger ;
9296: LD_ADDR_OWVAR 28
9300: PUSH
9301: LD_INT 14
9303: ST_TO_ADDR
// hc_attr = [ 16 , 11 ] ;
9304: LD_ADDR_OWVAR 29
9308: PUSH
9309: LD_INT 16
9311: PUSH
9312: LD_INT 11
9314: PUSH
9315: EMPTY
9316: LIST
9317: LIST
9318: ST_TO_ADDR
// hc_skills = [ 5 , 5 , 5 , 5 ] ;
9319: LD_ADDR_OWVAR 31
9323: PUSH
9324: LD_INT 5
9326: PUSH
9327: LD_INT 5
9329: PUSH
9330: LD_INT 5
9332: PUSH
9333: LD_INT 5
9335: PUSH
9336: EMPTY
9337: LIST
9338: LIST
9339: LIST
9340: LIST
9341: ST_TO_ADDR
// hc_gallery = nature_foreg ;
9342: LD_ADDR_OWVAR 33
9346: PUSH
9347: LD_STRING nature_foreg
9349: ST_TO_ADDR
// hc_face_number = 3 ;
9350: LD_ADDR_OWVAR 34
9354: PUSH
9355: LD_INT 3
9357: ST_TO_ADDR
// hc_name = Marcus Brutus ;
9358: LD_ADDR_OWVAR 26
9362: PUSH
9363: LD_STRING Marcus Brutus
9365: ST_TO_ADDR
// kitty = CreateHuman ;
9366: LD_ADDR_EXP 205
9370: PUSH
9371: CALL_OW 44
9375: ST_TO_ADDR
// hc_name = Caius Cassius ;
9376: LD_ADDR_OWVAR 26
9380: PUSH
9381: LD_STRING Caius Cassius
9383: ST_TO_ADDR
// cat = createhuman ;
9384: LD_ADDR_EXP 206
9388: PUSH
9389: CALL_OW 44
9393: ST_TO_ADDR
// placeunitxy ( kitty , 157 , 3 , 0 ) ;
9394: LD_EXP 205
9398: PPUSH
9399: LD_INT 157
9401: PPUSH
9402: LD_INT 3
9404: PPUSH
9405: LD_INT 0
9407: PPUSH
9408: CALL_OW 48
// placeunitxy ( cat , 159 , 5 , 0 ) ;
9412: LD_EXP 206
9416: PPUSH
9417: LD_INT 159
9419: PPUSH
9420: LD_INT 5
9422: PPUSH
9423: LD_INT 0
9425: PPUSH
9426: CALL_OW 48
// mastodon = mastodon1 ;
9430: LD_ADDR_EXP 207
9434: PUSH
9435: LD_INT 2
9437: ST_TO_ADDR
// removeunit ( mastodon1 ) ;
9438: LD_INT 2
9440: PPUSH
9441: CALL_OW 64
// removeunit ( mastodon2 ) ;
9445: LD_INT 3
9447: PPUSH
9448: CALL_OW 64
// removeunit ( mastodon3 ) ;
9452: LD_INT 4
9454: PPUSH
9455: CALL_OW 64
// removeunit ( mastodon4 ) ;
9459: LD_INT 5
9461: PPUSH
9462: CALL_OW 64
// removeunit ( mastodon5 ) ;
9466: LD_INT 6
9468: PPUSH
9469: CALL_OW 64
// InitHc ;
9473: CALL_OW 19
// InitUc ;
9477: CALL_OW 18
// uc_side = 2 ;
9481: LD_ADDR_OWVAR 20
9485: PUSH
9486: LD_INT 2
9488: ST_TO_ADDR
// uc_nation = nation_arabian ;
9489: LD_ADDR_OWVAR 21
9493: PUSH
9494: LD_INT 2
9496: ST_TO_ADDR
// if testing = false then
9497: LD_EXP 1
9501: PUSH
9502: LD_INT 0
9504: EQUAL
9505: IFFALSE 11029
// begin Heike = CreateCharacter ( Heike_12_cont2 ) ;
9507: LD_ADDR_EXP 87
9511: PUSH
9512: LD_STRING Heike_12_cont2
9514: PPUSH
9515: CALL_OW 34
9519: ST_TO_ADDR
// if TestCharacters ( Makise_12_cont2 ) then
9520: LD_STRING Makise_12_cont2
9522: PPUSH
9523: CALL_OW 28
9527: IFFALSE 9544
// Chrissy = CreateCharacter ( Makise_12_cont2 ) else
9529: LD_ADDR_EXP 103
9533: PUSH
9534: LD_STRING Makise_12_cont2
9536: PPUSH
9537: CALL_OW 34
9541: ST_TO_ADDR
9542: GO 9552
// Chrissy = 0 ;
9544: LD_ADDR_EXP 103
9548: PUSH
9549: LD_INT 0
9551: ST_TO_ADDR
// if TestCharacters ( Oswald_12_cont2 ) then
9552: LD_STRING Oswald_12_cont2
9554: PPUSH
9555: CALL_OW 28
9559: IFFALSE 9576
// Oswald = CreateCharacter ( Oswald_12_cont2 ) else
9561: LD_ADDR_EXP 88
9565: PUSH
9566: LD_STRING Oswald_12_cont2
9568: PPUSH
9569: CALL_OW 34
9573: ST_TO_ADDR
9574: GO 9624
// if TestCharacters ( Oswald_12_not_sel ) then
9576: LD_STRING Oswald_12_not_sel
9578: PPUSH
9579: CALL_OW 28
9583: IFFALSE 9616
// begin Oswald = CreateCharacter ( Oswald_12_not_sel ) ;
9585: LD_ADDR_EXP 88
9589: PUSH
9590: LD_STRING Oswald_12_not_sel
9592: PPUSH
9593: CALL_OW 34
9597: ST_TO_ADDR
// omar_forces_main = omar_forces_main ^ Oswald ;
9598: LD_ADDR_EXP 105
9602: PUSH
9603: LD_EXP 105
9607: PUSH
9608: LD_EXP 88
9612: ADD
9613: ST_TO_ADDR
// end else
9614: GO 9624
// Oswald = 0 ;
9616: LD_ADDR_EXP 88
9620: PUSH
9621: LD_INT 0
9623: ST_TO_ADDR
// if TestCharacters ( Olaf_12_cont2 ) then
9624: LD_STRING Olaf_12_cont2
9626: PPUSH
9627: CALL_OW 28
9631: IFFALSE 9648
// Olaf = CreateCharacter ( Olaf_12_cont2 ) else
9633: LD_ADDR_EXP 89
9637: PUSH
9638: LD_STRING Olaf_12_cont2
9640: PPUSH
9641: CALL_OW 34
9645: ST_TO_ADDR
9646: GO 9696
// if TestCharacters ( Olaf_12_not_sel ) then
9648: LD_STRING Olaf_12_not_sel
9650: PPUSH
9651: CALL_OW 28
9655: IFFALSE 9688
// begin Olaf = CreateCharacter ( Olaf_12_not_sel ) ;
9657: LD_ADDR_EXP 89
9661: PUSH
9662: LD_STRING Olaf_12_not_sel
9664: PPUSH
9665: CALL_OW 34
9669: ST_TO_ADDR
// omar_forces_main = omar_forces_main ^ Olaf ;
9670: LD_ADDR_EXP 105
9674: PUSH
9675: LD_EXP 105
9679: PUSH
9680: LD_EXP 89
9684: ADD
9685: ST_TO_ADDR
// end else
9686: GO 9696
// Olaf = 0 ;
9688: LD_ADDR_EXP 89
9692: PUSH
9693: LD_INT 0
9695: ST_TO_ADDR
// if TestCharacters ( Sonya_12_cont2 ) then
9696: LD_STRING Sonya_12_cont2
9698: PPUSH
9699: CALL_OW 28
9703: IFFALSE 9720
// Sonya = CreateCharacter ( Sonya_12_cont2 ) else
9705: LD_ADDR_EXP 90
9709: PUSH
9710: LD_STRING Sonya_12_cont2
9712: PPUSH
9713: CALL_OW 34
9717: ST_TO_ADDR
9718: GO 9768
// if TestCharacters ( Sonya_12_not_sel ) then
9720: LD_STRING Sonya_12_not_sel
9722: PPUSH
9723: CALL_OW 28
9727: IFFALSE 9760
// begin Sonya = CreateCharacter ( Sonya_12_not_sel ) ;
9729: LD_ADDR_EXP 90
9733: PUSH
9734: LD_STRING Sonya_12_not_sel
9736: PPUSH
9737: CALL_OW 34
9741: ST_TO_ADDR
// omar_forces_main = omar_forces_main ^ Sonya ;
9742: LD_ADDR_EXP 105
9746: PUSH
9747: LD_EXP 105
9751: PUSH
9752: LD_EXP 90
9756: ADD
9757: ST_TO_ADDR
// end else
9758: GO 9768
// Sonya = 0 ;
9760: LD_ADDR_EXP 90
9764: PUSH
9765: LD_INT 0
9767: ST_TO_ADDR
// if TestCharacters ( Ralph_12_cont2 ) then
9768: LD_STRING Ralph_12_cont2
9770: PPUSH
9771: CALL_OW 28
9775: IFFALSE 9792
// Ralph = CreateCharacter ( Ralph_12_cont2 ) else
9777: LD_ADDR_EXP 91
9781: PUSH
9782: LD_STRING Ralph_12_cont2
9784: PPUSH
9785: CALL_OW 34
9789: ST_TO_ADDR
9790: GO 9840
// if TestCharacters ( Ralph_12_not_sel ) then
9792: LD_STRING Ralph_12_not_sel
9794: PPUSH
9795: CALL_OW 28
9799: IFFALSE 9832
// begin Ralph = CreateCharacter ( Ralph_12_not_sel ) ;
9801: LD_ADDR_EXP 91
9805: PUSH
9806: LD_STRING Ralph_12_not_sel
9808: PPUSH
9809: CALL_OW 34
9813: ST_TO_ADDR
// omar_forces_main = omar_forces_main ^ Ralph ;
9814: LD_ADDR_EXP 105
9818: PUSH
9819: LD_EXP 105
9823: PUSH
9824: LD_EXP 91
9828: ADD
9829: ST_TO_ADDR
// end else
9830: GO 9840
// Ralph = 0 ;
9832: LD_ADDR_EXP 91
9836: PUSH
9837: LD_INT 0
9839: ST_TO_ADDR
// if TestCharacters ( Kowalski_12_cont2 ) then
9840: LD_STRING Kowalski_12_cont2
9842: PPUSH
9843: CALL_OW 28
9847: IFFALSE 9864
// Kowalski = CreateCharacter ( Kowalski_12_cont2 ) else
9849: LD_ADDR_EXP 92
9853: PUSH
9854: LD_STRING Kowalski_12_cont2
9856: PPUSH
9857: CALL_OW 34
9861: ST_TO_ADDR
9862: GO 9912
// if TestCharacters ( Kowalski_12_not_sel ) then
9864: LD_STRING Kowalski_12_not_sel
9866: PPUSH
9867: CALL_OW 28
9871: IFFALSE 9904
// begin Kowalski = CreateCharacter ( Kowalski_12_not_sel ) ;
9873: LD_ADDR_EXP 92
9877: PUSH
9878: LD_STRING Kowalski_12_not_sel
9880: PPUSH
9881: CALL_OW 34
9885: ST_TO_ADDR
// omar_forces_main = omar_forces_main ^ Kowalski ;
9886: LD_ADDR_EXP 105
9890: PUSH
9891: LD_EXP 105
9895: PUSH
9896: LD_EXP 92
9900: ADD
9901: ST_TO_ADDR
// end else
9902: GO 9912
// Kowalski = 0 ;
9904: LD_ADDR_EXP 92
9908: PUSH
9909: LD_INT 0
9911: ST_TO_ADDR
// if TestCharacters ( Aviradze_12_cont2 ) then
9912: LD_STRING Aviradze_12_cont2
9914: PPUSH
9915: CALL_OW 28
9919: IFFALSE 9936
// Aviradze = CreateCharacter ( Aviradze_12_cont2 ) else
9921: LD_ADDR_EXP 93
9925: PUSH
9926: LD_STRING Aviradze_12_cont2
9928: PPUSH
9929: CALL_OW 34
9933: ST_TO_ADDR
9934: GO 9984
// if TestCharacters ( Aviradze_12_not_sel ) then
9936: LD_STRING Aviradze_12_not_sel
9938: PPUSH
9939: CALL_OW 28
9943: IFFALSE 9976
// begin Aviradze = CreateCharacter ( Aviradze_12_not_sel ) ;
9945: LD_ADDR_EXP 93
9949: PUSH
9950: LD_STRING Aviradze_12_not_sel
9952: PPUSH
9953: CALL_OW 34
9957: ST_TO_ADDR
// omar_forces_main = omar_forces_main ^ Aviradze ;
9958: LD_ADDR_EXP 105
9962: PUSH
9963: LD_EXP 105
9967: PUSH
9968: LD_EXP 93
9972: ADD
9973: ST_TO_ADDR
// end else
9974: GO 9984
// Aviradze = 0 ;
9976: LD_ADDR_EXP 93
9980: PUSH
9981: LD_INT 0
9983: ST_TO_ADDR
// if TestCharacters ( Swansson_12_cont2 ) then
9984: LD_STRING Swansson_12_cont2
9986: PPUSH
9987: CALL_OW 28
9991: IFFALSE 10008
// Swansson = CreateCharacter ( Swansson_12_cont2 ) else
9993: LD_ADDR_EXP 94
9997: PUSH
9998: LD_STRING Swansson_12_cont2
10000: PPUSH
10001: CALL_OW 34
10005: ST_TO_ADDR
10006: GO 10056
// if TestCharacters ( Swansson_12_not_sel ) then
10008: LD_STRING Swansson_12_not_sel
10010: PPUSH
10011: CALL_OW 28
10015: IFFALSE 10048
// begin Swansson = CreateCharacter ( Swansson_12_not_sel ) ;
10017: LD_ADDR_EXP 94
10021: PUSH
10022: LD_STRING Swansson_12_not_sel
10024: PPUSH
10025: CALL_OW 34
10029: ST_TO_ADDR
// omar_forces_main = omar_forces_main ^ Swansson ;
10030: LD_ADDR_EXP 105
10034: PUSH
10035: LD_EXP 105
10039: PUSH
10040: LD_EXP 94
10044: ADD
10045: ST_TO_ADDR
// end else
10046: GO 10056
// Swansson = 0 ;
10048: LD_ADDR_EXP 94
10052: PUSH
10053: LD_INT 0
10055: ST_TO_ADDR
// if TestCharacters ( Evelyn_12_cont2 ) then
10056: LD_STRING Evelyn_12_cont2
10058: PPUSH
10059: CALL_OW 28
10063: IFFALSE 10080
// Evelyn = CreateCharacter ( Evelyn_12_cont2 ) else
10065: LD_ADDR_EXP 97
10069: PUSH
10070: LD_STRING Evelyn_12_cont2
10072: PPUSH
10073: CALL_OW 34
10077: ST_TO_ADDR
10078: GO 10128
// if TestCharacters ( Evelyn_12_not_sel ) then
10080: LD_STRING Evelyn_12_not_sel
10082: PPUSH
10083: CALL_OW 28
10087: IFFALSE 10120
// begin Evelyn = CreateCharacter ( Evelyn_12_not_sel ) ;
10089: LD_ADDR_EXP 97
10093: PUSH
10094: LD_STRING Evelyn_12_not_sel
10096: PPUSH
10097: CALL_OW 34
10101: ST_TO_ADDR
// omar_forces_main = omar_forces_main ^ Evelyn ;
10102: LD_ADDR_EXP 105
10106: PUSH
10107: LD_EXP 105
10111: PUSH
10112: LD_EXP 97
10116: ADD
10117: ST_TO_ADDR
// end else
10118: GO 10128
// Evelyn = 0 ;
10120: LD_ADDR_EXP 97
10124: PUSH
10125: LD_INT 0
10127: ST_TO_ADDR
// if TestCharacters ( Dwayne_12_cont2 ) then
10128: LD_STRING Dwayne_12_cont2
10130: PPUSH
10131: CALL_OW 28
10135: IFFALSE 10152
// Dwayne = CreateCharacter ( Dwayne_12_cont2 ) else
10137: LD_ADDR_EXP 95
10141: PUSH
10142: LD_STRING Dwayne_12_cont2
10144: PPUSH
10145: CALL_OW 34
10149: ST_TO_ADDR
10150: GO 10200
// if TestCharacters ( Dwayne_12_not_sel ) then
10152: LD_STRING Dwayne_12_not_sel
10154: PPUSH
10155: CALL_OW 28
10159: IFFALSE 10192
// begin Dwayne = CreateCharacter ( Dwayne_12_not_sel ) ;
10161: LD_ADDR_EXP 95
10165: PUSH
10166: LD_STRING Dwayne_12_not_sel
10168: PPUSH
10169: CALL_OW 34
10173: ST_TO_ADDR
// omar_forces_main = omar_forces_main ^ Dwayne ;
10174: LD_ADDR_EXP 105
10178: PUSH
10179: LD_EXP 105
10183: PUSH
10184: LD_EXP 95
10188: ADD
10189: ST_TO_ADDR
// end else
10190: GO 10200
// Dwayne = 0 ;
10192: LD_ADDR_EXP 95
10196: PUSH
10197: LD_INT 0
10199: ST_TO_ADDR
// if TestCharacters ( Gonzo_12_cont2 ) then
10200: LD_STRING Gonzo_12_cont2
10202: PPUSH
10203: CALL_OW 28
10207: IFFALSE 10224
// Gonzo = CreateCharacter ( Gonzo_12_cont2 ) else
10209: LD_ADDR_EXP 102
10213: PUSH
10214: LD_STRING Gonzo_12_cont2
10216: PPUSH
10217: CALL_OW 34
10221: ST_TO_ADDR
10222: GO 10232
// Gonzo = 0 ;
10224: LD_ADDR_EXP 102
10228: PUSH
10229: LD_INT 0
10231: ST_TO_ADDR
// if TestCharacters ( Khattam_12_cont2 ) then
10232: LD_STRING Khattam_12_cont2
10234: PPUSH
10235: CALL_OW 28
10239: IFFALSE 10256
// Khattam = CreateCharacter ( Khattam_12_cont2 ) else
10241: LD_ADDR_EXP 96
10245: PUSH
10246: LD_STRING Khattam_12_cont2
10248: PPUSH
10249: CALL_OW 34
10253: ST_TO_ADDR
10254: GO 10304
// if TestCharacters ( Khattam_12_not_sel ) then
10256: LD_STRING Khattam_12_not_sel
10258: PPUSH
10259: CALL_OW 28
10263: IFFALSE 10296
// begin Khattam = CreateCharacter ( Khattam_12_not_sel ) ;
10265: LD_ADDR_EXP 96
10269: PUSH
10270: LD_STRING Khattam_12_not_sel
10272: PPUSH
10273: CALL_OW 34
10277: ST_TO_ADDR
// omar_forces_main = omar_forces_main ^ Khattam ;
10278: LD_ADDR_EXP 105
10282: PUSH
10283: LD_EXP 105
10287: PUSH
10288: LD_EXP 96
10292: ADD
10293: ST_TO_ADDR
// end else
10294: GO 10304
// Khattam = 0 ;
10296: LD_ADDR_EXP 96
10300: PUSH
10301: LD_INT 0
10303: ST_TO_ADDR
// others = CreateCharacterSet ( Others_12_cont2 ) diff 0 ;
10304: LD_ADDR_VAR 0 23
10308: PUSH
10309: LD_STRING Others_12_cont2
10311: PPUSH
10312: CALL_OW 31
10316: PUSH
10317: LD_INT 0
10319: DIFF
10320: ST_TO_ADDR
// omar_forces_random = CreateCharacterSet ( NewKaaba_folks_12_cont2 ) ;
10321: LD_ADDR_EXP 106
10325: PUSH
10326: LD_STRING NewKaaba_folks_12_cont2
10328: PPUSH
10329: CALL_OW 31
10333: ST_TO_ADDR
// prisoners = CreateCharacterSet ( Prisoners_12_cont2 ) ;
10334: LD_ADDR_EXP 171
10338: PUSH
10339: LD_STRING Prisoners_12_cont2
10341: PPUSH
10342: CALL_OW 31
10346: ST_TO_ADDR
// prisoners_initial = prisoners ;
10347: LD_ADDR_EXP 172
10351: PUSH
10352: LD_EXP 171
10356: ST_TO_ADDR
// for i in prisoners do
10357: LD_ADDR_VAR 0 9
10361: PUSH
10362: LD_EXP 171
10366: PUSH
10367: FOR_IN
10368: IFFALSE 10396
// begin setside ( i , 7 ) ;
10370: LD_VAR 0 9
10374: PPUSH
10375: LD_INT 7
10377: PPUSH
10378: CALL_OW 235
// setclass ( i , class_engineer ) ;
10382: LD_VAR 0 9
10386: PPUSH
10387: LD_INT 2
10389: PPUSH
10390: CALL_OW 336
// end ;
10394: GO 10367
10396: POP
10397: POP
// Human_list = [ Heike , Oswald , Olaf , Sonya , Ralph , Kowalski , Aviradze , Swansson , Dwayne , Khattam , Evelyn , Chrissy ] ^ others diff omar_forces_main diff 0 ;
10398: LD_ADDR_VAR 0 3
10402: PUSH
10403: LD_EXP 87
10407: PUSH
10408: LD_EXP 88
10412: PUSH
10413: LD_EXP 89
10417: PUSH
10418: LD_EXP 90
10422: PUSH
10423: LD_EXP 91
10427: PUSH
10428: LD_EXP 92
10432: PUSH
10433: LD_EXP 93
10437: PUSH
10438: LD_EXP 94
10442: PUSH
10443: LD_EXP 95
10447: PUSH
10448: LD_EXP 96
10452: PUSH
10453: LD_EXP 97
10457: PUSH
10458: LD_EXP 103
10462: PUSH
10463: EMPTY
10464: LIST
10465: LIST
10466: LIST
10467: LIST
10468: LIST
10469: LIST
10470: LIST
10471: LIST
10472: LIST
10473: LIST
10474: LIST
10475: LIST
10476: PUSH
10477: LD_VAR 0 23
10481: ADD
10482: PUSH
10483: LD_EXP 105
10487: DIFF
10488: PUSH
10489: LD_INT 0
10491: DIFF
10492: ST_TO_ADDR
// if omar_forces_main > 0 then
10493: LD_EXP 105
10497: PUSH
10498: LD_INT 0
10500: GREATER
10501: IFFALSE 10545
// begin joining_main = omar_forces_main [ rand ( 1 , omar_forces_main ) ] ;
10503: LD_ADDR_EXP 131
10507: PUSH
10508: LD_EXP 105
10512: PUSH
10513: LD_INT 1
10515: PPUSH
10516: LD_EXP 105
10520: PPUSH
10521: CALL_OW 12
10525: ARRAY
10526: ST_TO_ADDR
// omar_forces_main = omar_forces_main diff joining_main ;
10527: LD_ADDR_EXP 105
10531: PUSH
10532: LD_EXP 105
10536: PUSH
10537: LD_EXP 131
10541: DIFF
10542: ST_TO_ADDR
// end else
10543: GO 10559
// joining_escapees_count = joining_escapees_count ^ 16 16$0 ;
10545: LD_ADDR_EXP 128
10549: PUSH
10550: LD_EXP 128
10554: PUSH
10555: LD_INT 33600
10557: ADD
10558: ST_TO_ADDR
// temp_val = ( Human_list diff Heike ^ Chrissy ) + 0 ;
10559: LD_ADDR_VAR 0 14
10563: PUSH
10564: LD_VAR 0 3
10568: PUSH
10569: LD_EXP 87
10573: PUSH
10574: LD_EXP 103
10578: ADD
10579: DIFF
10580: PUSH
10581: LD_INT 0
10583: PLUS
10584: ST_TO_ADDR
// while temp_val < [ 13 , 11 , 09 ] [ difficulty ] do
10585: LD_VAR 0 14
10589: PUSH
10590: LD_INT 13
10592: PUSH
10593: LD_INT 11
10595: PUSH
10596: LD_INT 9
10598: PUSH
10599: EMPTY
10600: LIST
10601: LIST
10602: LIST
10603: PUSH
10604: LD_OWVAR 67
10608: ARRAY
10609: LESS
10610: IFFALSE 10650
// begin joining_escapees_count = Rand ( 1 1$0 , 5 5$0 ) ^ joining_escapees_count ;
10612: LD_ADDR_EXP 128
10616: PUSH
10617: LD_INT 2100
10619: PPUSH
10620: LD_INT 10500
10622: PPUSH
10623: CALL_OW 12
10627: PUSH
10628: LD_EXP 128
10632: ADD
10633: ST_TO_ADDR
// temp_val = temp_val + 1 ;
10634: LD_ADDR_VAR 0 14
10638: PUSH
10639: LD_VAR 0 14
10643: PUSH
10644: LD_INT 1
10646: PLUS
10647: ST_TO_ADDR
// end ;
10648: GO 10585
// Player_forces = [ Human_List , [ [ 2 , 1 , 1 , 3 ] , [ 2 , 1 , 2 , 2 ] , [ 1 , 1 , 2 , 3 ] , [ 1 , 1 , 2 , 2 ] , [ 1 , 3 , 1 , 9 ] , [ 1 , 2 , 1 , 9 ] , [ 3 , 1 , 3 , 4 ] , [ 3 , 2 , 1 , 4 ] , [ 3 , 2 , 1 , 6 ] , [ 3 , 1 , 1 , 5 ] , [ 3 , 3 , 3 , 5 ] , [ 4 , 1 , 1 , 10 ] , [ 4 , 1 , 1 , 11 ] , [ 4 , 2 , 3 , 11 ] , [ 4 , 3 , 1 , 6 ] , [ 4 , 2 , 3 , 6 ] , [ 4 , 1 , 3 , 6 ] , [ 4 , 1 , 3 , 7 ] , [ 4 , 2 , 1 , 7 ] ] ] ;
10650: LD_ADDR_EXP 104
10654: PUSH
10655: LD_VAR 0 3
10659: PUSH
10660: LD_INT 2
10662: PUSH
10663: LD_INT 1
10665: PUSH
10666: LD_INT 1
10668: PUSH
10669: LD_INT 3
10671: PUSH
10672: EMPTY
10673: LIST
10674: LIST
10675: LIST
10676: LIST
10677: PUSH
10678: LD_INT 2
10680: PUSH
10681: LD_INT 1
10683: PUSH
10684: LD_INT 2
10686: PUSH
10687: LD_INT 2
10689: PUSH
10690: EMPTY
10691: LIST
10692: LIST
10693: LIST
10694: LIST
10695: PUSH
10696: LD_INT 1
10698: PUSH
10699: LD_INT 1
10701: PUSH
10702: LD_INT 2
10704: PUSH
10705: LD_INT 3
10707: PUSH
10708: EMPTY
10709: LIST
10710: LIST
10711: LIST
10712: LIST
10713: PUSH
10714: LD_INT 1
10716: PUSH
10717: LD_INT 1
10719: PUSH
10720: LD_INT 2
10722: PUSH
10723: LD_INT 2
10725: PUSH
10726: EMPTY
10727: LIST
10728: LIST
10729: LIST
10730: LIST
10731: PUSH
10732: LD_INT 1
10734: PUSH
10735: LD_INT 3
10737: PUSH
10738: LD_INT 1
10740: PUSH
10741: LD_INT 9
10743: PUSH
10744: EMPTY
10745: LIST
10746: LIST
10747: LIST
10748: LIST
10749: PUSH
10750: LD_INT 1
10752: PUSH
10753: LD_INT 2
10755: PUSH
10756: LD_INT 1
10758: PUSH
10759: LD_INT 9
10761: PUSH
10762: EMPTY
10763: LIST
10764: LIST
10765: LIST
10766: LIST
10767: PUSH
10768: LD_INT 3
10770: PUSH
10771: LD_INT 1
10773: PUSH
10774: LD_INT 3
10776: PUSH
10777: LD_INT 4
10779: PUSH
10780: EMPTY
10781: LIST
10782: LIST
10783: LIST
10784: LIST
10785: PUSH
10786: LD_INT 3
10788: PUSH
10789: LD_INT 2
10791: PUSH
10792: LD_INT 1
10794: PUSH
10795: LD_INT 4
10797: PUSH
10798: EMPTY
10799: LIST
10800: LIST
10801: LIST
10802: LIST
10803: PUSH
10804: LD_INT 3
10806: PUSH
10807: LD_INT 2
10809: PUSH
10810: LD_INT 1
10812: PUSH
10813: LD_INT 6
10815: PUSH
10816: EMPTY
10817: LIST
10818: LIST
10819: LIST
10820: LIST
10821: PUSH
10822: LD_INT 3
10824: PUSH
10825: LD_INT 1
10827: PUSH
10828: LD_INT 1
10830: PUSH
10831: LD_INT 5
10833: PUSH
10834: EMPTY
10835: LIST
10836: LIST
10837: LIST
10838: LIST
10839: PUSH
10840: LD_INT 3
10842: PUSH
10843: LD_INT 3
10845: PUSH
10846: LD_INT 3
10848: PUSH
10849: LD_INT 5
10851: PUSH
10852: EMPTY
10853: LIST
10854: LIST
10855: LIST
10856: LIST
10857: PUSH
10858: LD_INT 4
10860: PUSH
10861: LD_INT 1
10863: PUSH
10864: LD_INT 1
10866: PUSH
10867: LD_INT 10
10869: PUSH
10870: EMPTY
10871: LIST
10872: LIST
10873: LIST
10874: LIST
10875: PUSH
10876: LD_INT 4
10878: PUSH
10879: LD_INT 1
10881: PUSH
10882: LD_INT 1
10884: PUSH
10885: LD_INT 11
10887: PUSH
10888: EMPTY
10889: LIST
10890: LIST
10891: LIST
10892: LIST
10893: PUSH
10894: LD_INT 4
10896: PUSH
10897: LD_INT 2
10899: PUSH
10900: LD_INT 3
10902: PUSH
10903: LD_INT 11
10905: PUSH
10906: EMPTY
10907: LIST
10908: LIST
10909: LIST
10910: LIST
10911: PUSH
10912: LD_INT 4
10914: PUSH
10915: LD_INT 3
10917: PUSH
10918: LD_INT 1
10920: PUSH
10921: LD_INT 6
10923: PUSH
10924: EMPTY
10925: LIST
10926: LIST
10927: LIST
10928: LIST
10929: PUSH
10930: LD_INT 4
10932: PUSH
10933: LD_INT 2
10935: PUSH
10936: LD_INT 3
10938: PUSH
10939: LD_INT 6
10941: PUSH
10942: EMPTY
10943: LIST
10944: LIST
10945: LIST
10946: LIST
10947: PUSH
10948: LD_INT 4
10950: PUSH
10951: LD_INT 1
10953: PUSH
10954: LD_INT 3
10956: PUSH
10957: LD_INT 6
10959: PUSH
10960: EMPTY
10961: LIST
10962: LIST
10963: LIST
10964: LIST
10965: PUSH
10966: LD_INT 4
10968: PUSH
10969: LD_INT 1
10971: PUSH
10972: LD_INT 3
10974: PUSH
10975: LD_INT 7
10977: PUSH
10978: EMPTY
10979: LIST
10980: LIST
10981: LIST
10982: LIST
10983: PUSH
10984: LD_INT 4
10986: PUSH
10987: LD_INT 2
10989: PUSH
10990: LD_INT 1
10992: PUSH
10993: LD_INT 7
10995: PUSH
10996: EMPTY
10997: LIST
10998: LIST
10999: LIST
11000: LIST
11001: PUSH
11002: EMPTY
11003: LIST
11004: LIST
11005: LIST
11006: LIST
11007: LIST
11008: LIST
11009: LIST
11010: LIST
11011: LIST
11012: LIST
11013: LIST
11014: LIST
11015: LIST
11016: LIST
11017: LIST
11018: LIST
11019: LIST
11020: LIST
11021: LIST
11022: PUSH
11023: EMPTY
11024: LIST
11025: LIST
11026: ST_TO_ADDR
// end else
11027: GO 13279
// begin hc_class = class_soldier ;
11029: LD_ADDR_OWVAR 28
11033: PUSH
11034: LD_INT 1
11036: ST_TO_ADDR
// hc_attr = [ 12 , 12 ] ;
11037: LD_ADDR_OWVAR 29
11041: PUSH
11042: LD_INT 12
11044: PUSH
11045: LD_INT 12
11047: PUSH
11048: EMPTY
11049: LIST
11050: LIST
11051: ST_TO_ADDR
// hc_skills = [ 9 , 4 , 7 , 6 ] ;
11052: LD_ADDR_OWVAR 31
11056: PUSH
11057: LD_INT 9
11059: PUSH
11060: LD_INT 4
11062: PUSH
11063: LD_INT 7
11065: PUSH
11066: LD_INT 6
11068: PUSH
11069: EMPTY
11070: LIST
11071: LIST
11072: LIST
11073: LIST
11074: ST_TO_ADDR
// hc_sex = 2 ;
11075: LD_ADDR_OWVAR 27
11079: PUSH
11080: LD_INT 2
11082: ST_TO_ADDR
// hc_gallery = ru ;
11083: LD_ADDR_OWVAR 33
11087: PUSH
11088: LD_STRING ru
11090: ST_TO_ADDR
// hc_face_number = 24 ;
11091: LD_ADDR_OWVAR 34
11095: PUSH
11096: LD_INT 24
11098: ST_TO_ADDR
// hc_name = Heike ;
11099: LD_ADDR_OWVAR 26
11103: PUSH
11104: LD_STRING Heike
11106: ST_TO_ADDR
// Heike = CreateHuman ;
11107: LD_ADDR_EXP 87
11111: PUSH
11112: CALL_OW 44
11116: ST_TO_ADDR
// hc_class = class_mechanic ;
11117: LD_ADDR_OWVAR 28
11121: PUSH
11122: LD_INT 3
11124: ST_TO_ADDR
// hc_attr = [ 10 , 10 ] ;
11125: LD_ADDR_OWVAR 29
11129: PUSH
11130: LD_INT 10
11132: PUSH
11133: LD_INT 10
11135: PUSH
11136: EMPTY
11137: LIST
11138: LIST
11139: ST_TO_ADDR
// hc_skills = [ 4 , 5 , 8 , 4 ] ;
11140: LD_ADDR_OWVAR 31
11144: PUSH
11145: LD_INT 4
11147: PUSH
11148: LD_INT 5
11150: PUSH
11151: LD_INT 8
11153: PUSH
11154: LD_INT 4
11156: PUSH
11157: EMPTY
11158: LIST
11159: LIST
11160: LIST
11161: LIST
11162: ST_TO_ADDR
// hc_sex = 1 ;
11163: LD_ADDR_OWVAR 27
11167: PUSH
11168: LD_INT 1
11170: ST_TO_ADDR
// hc_gallery = ar ;
11171: LD_ADDR_OWVAR 33
11175: PUSH
11176: LD_STRING ar
11178: ST_TO_ADDR
// hc_face_number = 2 ;
11179: LD_ADDR_OWVAR 34
11183: PUSH
11184: LD_INT 2
11186: ST_TO_ADDR
// hc_name = Olaf ;
11187: LD_ADDR_OWVAR 26
11191: PUSH
11192: LD_STRING Olaf
11194: ST_TO_ADDR
// Olaf = CreateHuman ;
11195: LD_ADDR_EXP 89
11199: PUSH
11200: CALL_OW 44
11204: ST_TO_ADDR
// hc_class = class_soldier ;
11205: LD_ADDR_OWVAR 28
11209: PUSH
11210: LD_INT 1
11212: ST_TO_ADDR
// hc_attr = [ 10 , 10 ] ;
11213: LD_ADDR_OWVAR 29
11217: PUSH
11218: LD_INT 10
11220: PUSH
11221: LD_INT 10
11223: PUSH
11224: EMPTY
11225: LIST
11226: LIST
11227: ST_TO_ADDR
// hc_skills = [ 9 , 6 , 5 , 4 ] ;
11228: LD_ADDR_OWVAR 31
11232: PUSH
11233: LD_INT 9
11235: PUSH
11236: LD_INT 6
11238: PUSH
11239: LD_INT 5
11241: PUSH
11242: LD_INT 4
11244: PUSH
11245: EMPTY
11246: LIST
11247: LIST
11248: LIST
11249: LIST
11250: ST_TO_ADDR
// hc_sex = 1 ;
11251: LD_ADDR_OWVAR 27
11255: PUSH
11256: LD_INT 1
11258: ST_TO_ADDR
// hc_gallery = ar ;
11259: LD_ADDR_OWVAR 33
11263: PUSH
11264: LD_STRING ar
11266: ST_TO_ADDR
// hc_face_number = 15 ;
11267: LD_ADDR_OWVAR 34
11271: PUSH
11272: LD_INT 15
11274: ST_TO_ADDR
// hc_name = Oswald ;
11275: LD_ADDR_OWVAR 26
11279: PUSH
11280: LD_STRING Oswald
11282: ST_TO_ADDR
// Oswald = CreateHuman ;
11283: LD_ADDR_EXP 88
11287: PUSH
11288: CALL_OW 44
11292: ST_TO_ADDR
// hc_class = class_mechanic ;
11293: LD_ADDR_OWVAR 28
11297: PUSH
11298: LD_INT 3
11300: ST_TO_ADDR
// hc_attr = [ 10 , 10 ] ;
11301: LD_ADDR_OWVAR 29
11305: PUSH
11306: LD_INT 10
11308: PUSH
11309: LD_INT 10
11311: PUSH
11312: EMPTY
11313: LIST
11314: LIST
11315: ST_TO_ADDR
// hc_skills = [ 7 , 5 , 8 , 5 ] ;
11316: LD_ADDR_OWVAR 31
11320: PUSH
11321: LD_INT 7
11323: PUSH
11324: LD_INT 5
11326: PUSH
11327: LD_INT 8
11329: PUSH
11330: LD_INT 5
11332: PUSH
11333: EMPTY
11334: LIST
11335: LIST
11336: LIST
11337: LIST
11338: ST_TO_ADDR
// hc_sex = 1 ;
11339: LD_ADDR_OWVAR 27
11343: PUSH
11344: LD_INT 1
11346: ST_TO_ADDR
// hc_gallery = ar ;
11347: LD_ADDR_OWVAR 33
11351: PUSH
11352: LD_STRING ar
11354: ST_TO_ADDR
// hc_face_number = 5 ;
11355: LD_ADDR_OWVAR 34
11359: PUSH
11360: LD_INT 5
11362: ST_TO_ADDR
// hc_name = Ralph ;
11363: LD_ADDR_OWVAR 26
11367: PUSH
11368: LD_STRING Ralph
11370: ST_TO_ADDR
// Ralph = CreateHuman ;
11371: LD_ADDR_EXP 91
11375: PUSH
11376: CALL_OW 44
11380: ST_TO_ADDR
// hc_class = class_scientistic ;
11381: LD_ADDR_OWVAR 28
11385: PUSH
11386: LD_INT 4
11388: ST_TO_ADDR
// hc_attr = [ 10 , 10 ] ;
11389: LD_ADDR_OWVAR 29
11393: PUSH
11394: LD_INT 10
11396: PUSH
11397: LD_INT 10
11399: PUSH
11400: EMPTY
11401: LIST
11402: LIST
11403: ST_TO_ADDR
// hc_skills = [ 4 , 5 , 8 , 8 ] ;
11404: LD_ADDR_OWVAR 31
11408: PUSH
11409: LD_INT 4
11411: PUSH
11412: LD_INT 5
11414: PUSH
11415: LD_INT 8
11417: PUSH
11418: LD_INT 8
11420: PUSH
11421: EMPTY
11422: LIST
11423: LIST
11424: LIST
11425: LIST
11426: ST_TO_ADDR
// hc_sex = 2 ;
11427: LD_ADDR_OWVAR 27
11431: PUSH
11432: LD_INT 2
11434: ST_TO_ADDR
// hc_gallery = ar ;
11435: LD_ADDR_OWVAR 33
11439: PUSH
11440: LD_STRING ar
11442: ST_TO_ADDR
// hc_face_number = 6 ;
11443: LD_ADDR_OWVAR 34
11447: PUSH
11448: LD_INT 6
11450: ST_TO_ADDR
// hc_name = Sonya ;
11451: LD_ADDR_OWVAR 26
11455: PUSH
11456: LD_STRING Sonya
11458: ST_TO_ADDR
// Sonya = CreateHuman ;
11459: LD_ADDR_EXP 90
11463: PUSH
11464: CALL_OW 44
11468: ST_TO_ADDR
// hc_class = class_scientistic ;
11469: LD_ADDR_OWVAR 28
11473: PUSH
11474: LD_INT 4
11476: ST_TO_ADDR
// hc_attr = [ 10 , 10 ] ;
11477: LD_ADDR_OWVAR 29
11481: PUSH
11482: LD_INT 10
11484: PUSH
11485: LD_INT 10
11487: PUSH
11488: EMPTY
11489: LIST
11490: LIST
11491: ST_TO_ADDR
// hc_skills = [ 4 , 6 , 6 , 9 ] ;
11492: LD_ADDR_OWVAR 31
11496: PUSH
11497: LD_INT 4
11499: PUSH
11500: LD_INT 6
11502: PUSH
11503: LD_INT 6
11505: PUSH
11506: LD_INT 9
11508: PUSH
11509: EMPTY
11510: LIST
11511: LIST
11512: LIST
11513: LIST
11514: ST_TO_ADDR
// hc_sex = 1 ;
11515: LD_ADDR_OWVAR 27
11519: PUSH
11520: LD_INT 1
11522: ST_TO_ADDR
// hc_gallery = ar_new ;
11523: LD_ADDR_OWVAR 33
11527: PUSH
11528: LD_STRING ar_new
11530: ST_TO_ADDR
// hc_face_number = 1 ;
11531: LD_ADDR_OWVAR 34
11535: PUSH
11536: LD_INT 1
11538: ST_TO_ADDR
// hc_name = Aviradze ;
11539: LD_ADDR_OWVAR 26
11543: PUSH
11544: LD_STRING Aviradze
11546: ST_TO_ADDR
// Aviradze = CreateHuman ;
11547: LD_ADDR_EXP 93
11551: PUSH
11552: CALL_OW 44
11556: ST_TO_ADDR
// hc_class = class_soldier ;
11557: LD_ADDR_OWVAR 28
11561: PUSH
11562: LD_INT 1
11564: ST_TO_ADDR
// hc_attr = [ 10 , 10 ] ;
11565: LD_ADDR_OWVAR 29
11569: PUSH
11570: LD_INT 10
11572: PUSH
11573: LD_INT 10
11575: PUSH
11576: EMPTY
11577: LIST
11578: LIST
11579: ST_TO_ADDR
// hc_skills = [ 7 , 6 , 7 , 4 ] ;
11580: LD_ADDR_OWVAR 31
11584: PUSH
11585: LD_INT 7
11587: PUSH
11588: LD_INT 6
11590: PUSH
11591: LD_INT 7
11593: PUSH
11594: LD_INT 4
11596: PUSH
11597: EMPTY
11598: LIST
11599: LIST
11600: LIST
11601: LIST
11602: ST_TO_ADDR
// hc_sex = 1 ;
11603: LD_ADDR_OWVAR 27
11607: PUSH
11608: LD_INT 1
11610: ST_TO_ADDR
// hc_gallery = ar_new ;
11611: LD_ADDR_OWVAR 33
11615: PUSH
11616: LD_STRING ar_new
11618: ST_TO_ADDR
// hc_face_number = 2 ;
11619: LD_ADDR_OWVAR 34
11623: PUSH
11624: LD_INT 2
11626: ST_TO_ADDR
// hc_name = Kowalski ;
11627: LD_ADDR_OWVAR 26
11631: PUSH
11632: LD_STRING Kowalski
11634: ST_TO_ADDR
// Kowalski = CreateHuman ;
11635: LD_ADDR_EXP 92
11639: PUSH
11640: CALL_OW 44
11644: ST_TO_ADDR
// hc_class = class_engineer ;
11645: LD_ADDR_OWVAR 28
11649: PUSH
11650: LD_INT 2
11652: ST_TO_ADDR
// hc_attr = [ 10 , 10 ] ;
11653: LD_ADDR_OWVAR 29
11657: PUSH
11658: LD_INT 10
11660: PUSH
11661: LD_INT 10
11663: PUSH
11664: EMPTY
11665: LIST
11666: LIST
11667: ST_TO_ADDR
// hc_skills = [ 5 , 9 , 6 , 5 ] ;
11668: LD_ADDR_OWVAR 31
11672: PUSH
11673: LD_INT 5
11675: PUSH
11676: LD_INT 9
11678: PUSH
11679: LD_INT 6
11681: PUSH
11682: LD_INT 5
11684: PUSH
11685: EMPTY
11686: LIST
11687: LIST
11688: LIST
11689: LIST
11690: ST_TO_ADDR
// hc_sex = 2 ;
11691: LD_ADDR_OWVAR 27
11695: PUSH
11696: LD_INT 2
11698: ST_TO_ADDR
// hc_gallery = ar_new ;
11699: LD_ADDR_OWVAR 33
11703: PUSH
11704: LD_STRING ar_new
11706: ST_TO_ADDR
// hc_face_number = 5 ;
11707: LD_ADDR_OWVAR 34
11711: PUSH
11712: LD_INT 5
11714: ST_TO_ADDR
// hc_name = Evelyn ;
11715: LD_ADDR_OWVAR 26
11719: PUSH
11720: LD_STRING Evelyn
11722: ST_TO_ADDR
// Evelyn = CreateHuman ;
11723: LD_ADDR_EXP 97
11727: PUSH
11728: CALL_OW 44
11732: ST_TO_ADDR
// hc_class = class_mechanic ;
11733: LD_ADDR_OWVAR 28
11737: PUSH
11738: LD_INT 3
11740: ST_TO_ADDR
// hc_attr = [ 10 , 10 ] ;
11741: LD_ADDR_OWVAR 29
11745: PUSH
11746: LD_INT 10
11748: PUSH
11749: LD_INT 10
11751: PUSH
11752: EMPTY
11753: LIST
11754: LIST
11755: ST_TO_ADDR
// hc_skills = [ 7 , 6 , 8 , 5 ] ;
11756: LD_ADDR_OWVAR 31
11760: PUSH
11761: LD_INT 7
11763: PUSH
11764: LD_INT 6
11766: PUSH
11767: LD_INT 8
11769: PUSH
11770: LD_INT 5
11772: PUSH
11773: EMPTY
11774: LIST
11775: LIST
11776: LIST
11777: LIST
11778: ST_TO_ADDR
// hc_sex = 1 ;
11779: LD_ADDR_OWVAR 27
11783: PUSH
11784: LD_INT 1
11786: ST_TO_ADDR
// hc_gallery = ar_new ;
11787: LD_ADDR_OWVAR 33
11791: PUSH
11792: LD_STRING ar_new
11794: ST_TO_ADDR
// hc_face_number = 31 ;
11795: LD_ADDR_OWVAR 34
11799: PUSH
11800: LD_INT 31
11802: ST_TO_ADDR
// hc_name = Swansson ;
11803: LD_ADDR_OWVAR 26
11807: PUSH
11808: LD_STRING Swansson
11810: ST_TO_ADDR
// Swansson = CreateHuman ;
11811: LD_ADDR_EXP 94
11815: PUSH
11816: CALL_OW 44
11820: ST_TO_ADDR
// hc_class = class_mechanic ;
11821: LD_ADDR_OWVAR 28
11825: PUSH
11826: LD_INT 3
11828: ST_TO_ADDR
// hc_attr = [ 10 , 10 ] ;
11829: LD_ADDR_OWVAR 29
11833: PUSH
11834: LD_INT 10
11836: PUSH
11837: LD_INT 10
11839: PUSH
11840: EMPTY
11841: LIST
11842: LIST
11843: ST_TO_ADDR
// hc_skills = [ 7 , 5 , 8 , 5 ] ;
11844: LD_ADDR_OWVAR 31
11848: PUSH
11849: LD_INT 7
11851: PUSH
11852: LD_INT 5
11854: PUSH
11855: LD_INT 8
11857: PUSH
11858: LD_INT 5
11860: PUSH
11861: EMPTY
11862: LIST
11863: LIST
11864: LIST
11865: LIST
11866: ST_TO_ADDR
// hc_sex = 1 ;
11867: LD_ADDR_OWVAR 27
11871: PUSH
11872: LD_INT 1
11874: ST_TO_ADDR
// hc_gallery = ar_new ;
11875: LD_ADDR_OWVAR 33
11879: PUSH
11880: LD_STRING ar_new
11882: ST_TO_ADDR
// hc_face_number = 13 ;
11883: LD_ADDR_OWVAR 34
11887: PUSH
11888: LD_INT 13
11890: ST_TO_ADDR
// hc_name = Dwayne ;
11891: LD_ADDR_OWVAR 26
11895: PUSH
11896: LD_STRING Dwayne
11898: ST_TO_ADDR
// Dwayne = CreateHuman ;
11899: LD_ADDR_EXP 95
11903: PUSH
11904: CALL_OW 44
11908: ST_TO_ADDR
// hc_class = class_scientistic ;
11909: LD_ADDR_OWVAR 28
11913: PUSH
11914: LD_INT 4
11916: ST_TO_ADDR
// hc_attr = [ 10 , 10 ] ;
11917: LD_ADDR_OWVAR 29
11921: PUSH
11922: LD_INT 10
11924: PUSH
11925: LD_INT 10
11927: PUSH
11928: EMPTY
11929: LIST
11930: LIST
11931: ST_TO_ADDR
// hc_skills = [ 3 , 6 , 4 , 8 ] ;
11932: LD_ADDR_OWVAR 31
11936: PUSH
11937: LD_INT 3
11939: PUSH
11940: LD_INT 6
11942: PUSH
11943: LD_INT 4
11945: PUSH
11946: LD_INT 8
11948: PUSH
11949: EMPTY
11950: LIST
11951: LIST
11952: LIST
11953: LIST
11954: ST_TO_ADDR
// hc_sex = 1 ;
11955: LD_ADDR_OWVAR 27
11959: PUSH
11960: LD_INT 1
11962: ST_TO_ADDR
// hc_gallery = us ;
11963: LD_ADDR_OWVAR 33
11967: PUSH
11968: LD_STRING us
11970: ST_TO_ADDR
// hc_face_number = 10 ;
11971: LD_ADDR_OWVAR 34
11975: PUSH
11976: LD_INT 10
11978: ST_TO_ADDR
// hc_name = Khattam ;
11979: LD_ADDR_OWVAR 26
11983: PUSH
11984: LD_STRING Khattam
11986: ST_TO_ADDR
// Khattam = CreateHuman ;
11987: LD_ADDR_EXP 96
11991: PUSH
11992: CALL_OW 44
11996: ST_TO_ADDR
// hc_class = class_scientistic ;
11997: LD_ADDR_OWVAR 28
12001: PUSH
12002: LD_INT 4
12004: ST_TO_ADDR
// hc_attr = [ 10 , 10 ] ;
12005: LD_ADDR_OWVAR 29
12009: PUSH
12010: LD_INT 10
12012: PUSH
12013: LD_INT 10
12015: PUSH
12016: EMPTY
12017: LIST
12018: LIST
12019: ST_TO_ADDR
// hc_skills = [ 4 , 7 , 7 , 10 ] ;
12020: LD_ADDR_OWVAR 31
12024: PUSH
12025: LD_INT 4
12027: PUSH
12028: LD_INT 7
12030: PUSH
12031: LD_INT 7
12033: PUSH
12034: LD_INT 10
12036: PUSH
12037: EMPTY
12038: LIST
12039: LIST
12040: LIST
12041: LIST
12042: ST_TO_ADDR
// hc_sex = 2 ;
12043: LD_ADDR_OWVAR 27
12047: PUSH
12048: LD_INT 2
12050: ST_TO_ADDR
// hc_gallery = ar_new ;
12051: LD_ADDR_OWVAR 33
12055: PUSH
12056: LD_STRING ar_new
12058: ST_TO_ADDR
// hc_face_number = 34 ;
12059: LD_ADDR_OWVAR 34
12063: PUSH
12064: LD_INT 34
12066: ST_TO_ADDR
// hc_name = Makise ;
12067: LD_ADDR_OWVAR 26
12071: PUSH
12072: LD_STRING Makise
12074: ST_TO_ADDR
// Chrissy = CreateHuman ;
12075: LD_ADDR_EXP 103
12079: PUSH
12080: CALL_OW 44
12084: ST_TO_ADDR
// Human_list = [ Heike , Oswald , Olaf , Sonya , Ralph , Kowalski , Aviradze , Swansson , Dwayne , Khattam , Evelyn , Chrissy ] ;
12085: LD_ADDR_VAR 0 3
12089: PUSH
12090: LD_EXP 87
12094: PUSH
12095: LD_EXP 88
12099: PUSH
12100: LD_EXP 89
12104: PUSH
12105: LD_EXP 90
12109: PUSH
12110: LD_EXP 91
12114: PUSH
12115: LD_EXP 92
12119: PUSH
12120: LD_EXP 93
12124: PUSH
12125: LD_EXP 94
12129: PUSH
12130: LD_EXP 95
12134: PUSH
12135: LD_EXP 96
12139: PUSH
12140: LD_EXP 97
12144: PUSH
12145: LD_EXP 103
12149: PUSH
12150: EMPTY
12151: LIST
12152: LIST
12153: LIST
12154: LIST
12155: LIST
12156: LIST
12157: LIST
12158: LIST
12159: LIST
12160: LIST
12161: LIST
12162: LIST
12163: ST_TO_ADDR
// temp_list = [ Heike , Chrissy , Aviradze ] ;
12164: LD_ADDR_VAR 0 15
12168: PUSH
12169: LD_EXP 87
12173: PUSH
12174: LD_EXP 103
12178: PUSH
12179: LD_EXP 93
12183: PUSH
12184: EMPTY
12185: LIST
12186: LIST
12187: LIST
12188: ST_TO_ADDR
// temp = [ Oswald , Olaf , Sonya , Ralph , Kowalski , Swansson , Dwayne , Khattam , Evelyn ] ;
12189: LD_ADDR_VAR 0 13
12193: PUSH
12194: LD_EXP 88
12198: PUSH
12199: LD_EXP 89
12203: PUSH
12204: LD_EXP 90
12208: PUSH
12209: LD_EXP 91
12213: PUSH
12214: LD_EXP 92
12218: PUSH
12219: LD_EXP 94
12223: PUSH
12224: LD_EXP 95
12228: PUSH
12229: LD_EXP 96
12233: PUSH
12234: LD_EXP 97
12238: PUSH
12239: EMPTY
12240: LIST
12241: LIST
12242: LIST
12243: LIST
12244: LIST
12245: LIST
12246: LIST
12247: LIST
12248: LIST
12249: ST_TO_ADDR
// for i = 1 to 4 do
12250: LD_ADDR_VAR 0 9
12254: PUSH
12255: DOUBLE
12256: LD_INT 1
12258: DEC
12259: ST_TO_ADDR
12260: LD_INT 4
12262: PUSH
12263: FOR_TO
12264: IFFALSE 12328
// begin roll = rand ( 1 , temp ) ;
12266: LD_ADDR_VAR 0 11
12270: PUSH
12271: LD_INT 1
12273: PPUSH
12274: LD_VAR 0 13
12278: PPUSH
12279: CALL_OW 12
12283: ST_TO_ADDR
// temp_list = temp_list ^ temp [ roll ] ;
12284: LD_ADDR_VAR 0 15
12288: PUSH
12289: LD_VAR 0 15
12293: PUSH
12294: LD_VAR 0 13
12298: PUSH
12299: LD_VAR 0 11
12303: ARRAY
12304: ADD
12305: ST_TO_ADDR
// temp = delete ( temp , roll ) ;
12306: LD_ADDR_VAR 0 13
12310: PUSH
12311: LD_VAR 0 13
12315: PPUSH
12316: LD_VAR 0 11
12320: PPUSH
12321: CALL_OW 3
12325: ST_TO_ADDR
// end ;
12326: GO 12263
12328: POP
12329: POP
// omar_forces_main = Human_list diff temp_list ;
12330: LD_ADDR_EXP 105
12334: PUSH
12335: LD_VAR 0 3
12339: PUSH
12340: LD_VAR 0 15
12344: DIFF
12345: ST_TO_ADDR
// joining_main = omar_forces_main [ rand ( 1 , omar_forces_main ) ] ;
12346: LD_ADDR_EXP 131
12350: PUSH
12351: LD_EXP 105
12355: PUSH
12356: LD_INT 1
12358: PPUSH
12359: LD_EXP 105
12363: PPUSH
12364: CALL_OW 12
12368: ARRAY
12369: ST_TO_ADDR
// omar_forces_main = omar_forces_main diff joining_main ;
12370: LD_ADDR_EXP 105
12374: PUSH
12375: LD_EXP 105
12379: PUSH
12380: LD_EXP 131
12384: DIFF
12385: ST_TO_ADDR
// uc_side = 7 ;
12386: LD_ADDR_OWVAR 20
12390: PUSH
12391: LD_INT 7
12393: ST_TO_ADDR
// hc_gallery =  ;
12394: LD_ADDR_OWVAR 33
12398: PUSH
12399: LD_STRING 
12401: ST_TO_ADDR
// InitHc ;
12402: CALL_OW 19
// hc_class = class_engineer ;
12406: LD_ADDR_OWVAR 28
12410: PUSH
12411: LD_INT 2
12413: ST_TO_ADDR
// hc_attr = [ 10 , 10 ] ;
12414: LD_ADDR_OWVAR 29
12418: PUSH
12419: LD_INT 10
12421: PUSH
12422: LD_INT 10
12424: PUSH
12425: EMPTY
12426: LIST
12427: LIST
12428: ST_TO_ADDR
// hc_skills = [ rand ( 1 , 10 ) , rand ( 1 , 10 ) , rand ( 1 , 10 ) , rand ( 1 , 10 ) ] ;
12429: LD_ADDR_OWVAR 31
12433: PUSH
12434: LD_INT 1
12436: PPUSH
12437: LD_INT 10
12439: PPUSH
12440: CALL_OW 12
12444: PUSH
12445: LD_INT 1
12447: PPUSH
12448: LD_INT 10
12450: PPUSH
12451: CALL_OW 12
12455: PUSH
12456: LD_INT 1
12458: PPUSH
12459: LD_INT 10
12461: PPUSH
12462: CALL_OW 12
12466: PUSH
12467: LD_INT 1
12469: PPUSH
12470: LD_INT 10
12472: PPUSH
12473: CALL_OW 12
12477: PUSH
12478: EMPTY
12479: LIST
12480: LIST
12481: LIST
12482: LIST
12483: ST_TO_ADDR
// hc_sex = rand ( 1 , 2 ) ;
12484: LD_ADDR_OWVAR 27
12488: PUSH
12489: LD_INT 1
12491: PPUSH
12492: LD_INT 2
12494: PPUSH
12495: CALL_OW 12
12499: ST_TO_ADDR
// prisoner1 = CreateHuman ;
12500: LD_ADDR_VAR 0 20
12504: PUSH
12505: CALL_OW 44
12509: ST_TO_ADDR
// hc_class = class_engineer ;
12510: LD_ADDR_OWVAR 28
12514: PUSH
12515: LD_INT 2
12517: ST_TO_ADDR
// hc_attr = [ 10 , 10 ] ;
12518: LD_ADDR_OWVAR 29
12522: PUSH
12523: LD_INT 10
12525: PUSH
12526: LD_INT 10
12528: PUSH
12529: EMPTY
12530: LIST
12531: LIST
12532: ST_TO_ADDR
// hc_skills = [ rand ( 1 , 10 ) , rand ( 1 , 10 ) , rand ( 1 , 10 ) , rand ( 1 , 10 ) ] ;
12533: LD_ADDR_OWVAR 31
12537: PUSH
12538: LD_INT 1
12540: PPUSH
12541: LD_INT 10
12543: PPUSH
12544: CALL_OW 12
12548: PUSH
12549: LD_INT 1
12551: PPUSH
12552: LD_INT 10
12554: PPUSH
12555: CALL_OW 12
12559: PUSH
12560: LD_INT 1
12562: PPUSH
12563: LD_INT 10
12565: PPUSH
12566: CALL_OW 12
12570: PUSH
12571: LD_INT 1
12573: PPUSH
12574: LD_INT 10
12576: PPUSH
12577: CALL_OW 12
12581: PUSH
12582: EMPTY
12583: LIST
12584: LIST
12585: LIST
12586: LIST
12587: ST_TO_ADDR
// hc_sex = rand ( 1 , 2 ) ;
12588: LD_ADDR_OWVAR 27
12592: PUSH
12593: LD_INT 1
12595: PPUSH
12596: LD_INT 2
12598: PPUSH
12599: CALL_OW 12
12603: ST_TO_ADDR
// prisoner2 = CreateHuman ;
12604: LD_ADDR_VAR 0 21
12608: PUSH
12609: CALL_OW 44
12613: ST_TO_ADDR
// hc_class = class_engineer ;
12614: LD_ADDR_OWVAR 28
12618: PUSH
12619: LD_INT 2
12621: ST_TO_ADDR
// hc_attr = [ 10 , 10 ] ;
12622: LD_ADDR_OWVAR 29
12626: PUSH
12627: LD_INT 10
12629: PUSH
12630: LD_INT 10
12632: PUSH
12633: EMPTY
12634: LIST
12635: LIST
12636: ST_TO_ADDR
// hc_skills = [ rand ( 1 , 10 ) , rand ( 1 , 10 ) , rand ( 1 , 10 ) , rand ( 1 , 10 ) ] ;
12637: LD_ADDR_OWVAR 31
12641: PUSH
12642: LD_INT 1
12644: PPUSH
12645: LD_INT 10
12647: PPUSH
12648: CALL_OW 12
12652: PUSH
12653: LD_INT 1
12655: PPUSH
12656: LD_INT 10
12658: PPUSH
12659: CALL_OW 12
12663: PUSH
12664: LD_INT 1
12666: PPUSH
12667: LD_INT 10
12669: PPUSH
12670: CALL_OW 12
12674: PUSH
12675: LD_INT 1
12677: PPUSH
12678: LD_INT 10
12680: PPUSH
12681: CALL_OW 12
12685: PUSH
12686: EMPTY
12687: LIST
12688: LIST
12689: LIST
12690: LIST
12691: ST_TO_ADDR
// hc_sex = rand ( 1 , 2 ) ;
12692: LD_ADDR_OWVAR 27
12696: PUSH
12697: LD_INT 1
12699: PPUSH
12700: LD_INT 2
12702: PPUSH
12703: CALL_OW 12
12707: ST_TO_ADDR
// prisoner3 = CreateHuman ;
12708: LD_ADDR_VAR 0 22
12712: PUSH
12713: CALL_OW 44
12717: ST_TO_ADDR
// prisoners = [ prisoner1 , prisoner2 , prisoner3 ] ;
12718: LD_ADDR_EXP 171
12722: PUSH
12723: LD_VAR 0 20
12727: PUSH
12728: LD_VAR 0 21
12732: PUSH
12733: LD_VAR 0 22
12737: PUSH
12738: EMPTY
12739: LIST
12740: LIST
12741: LIST
12742: ST_TO_ADDR
// Player_forces = [ [ temp_list , [ 10 , 10 , 1 , rand ( 5 , 8 ) , 5 , 5 , 5 ] , [ 10 , 10 , 1 , rand ( 5 , 8 ) , 5 , 5 , 5 ] , [ 10 , 10 , 3 , 3 , 3 , rand ( 5 , 8 ) , 2 ] , [ 10 , 10 , 3 , 3 , 3 , rand ( 5 , 8 ) , 2 ] , ] , [ [ 2 , 1 , 1 , 3 ] , [ 2 , 1 , 2 , 2 ] , [ 1 , 1 , 2 , 3 ] , [ 1 , 1 , 2 , 2 ] , [ 1 , 3 , 1 , 9 ] , [ 1 , 2 , 1 , 9 ] , [ 3 , 1 , 3 , 4 ] , [ 3 , 2 , 1 , 4 ] , [ 3 , 2 , 1 , 6 ] , [ 3 , 1 , 1 , 5 ] , [ 3 , 3 , 3 , 5 ] , [ 4 , 1 , 1 , 10 ] , [ 4 , 1 , 1 , 11 ] , [ 4 , 2 , 3 , 11 ] , [ 4 , 3 , 1 , 6 ] , [ 4 , 2 , 3 , 6 ] , [ 4 , 1 , 3 , 6 ] , [ 4 , 1 , 3 , 7 ] , [ 4 , 2 , 1 , 7 ] ] ] ;
12743: LD_ADDR_EXP 104
12747: PUSH
12748: LD_VAR 0 15
12752: PUSH
12753: LD_INT 10
12755: PUSH
12756: LD_INT 10
12758: PUSH
12759: LD_INT 1
12761: PUSH
12762: LD_INT 5
12764: PPUSH
12765: LD_INT 8
12767: PPUSH
12768: CALL_OW 12
12772: PUSH
12773: LD_INT 5
12775: PUSH
12776: LD_INT 5
12778: PUSH
12779: LD_INT 5
12781: PUSH
12782: EMPTY
12783: LIST
12784: LIST
12785: LIST
12786: LIST
12787: LIST
12788: LIST
12789: LIST
12790: PUSH
12791: LD_INT 10
12793: PUSH
12794: LD_INT 10
12796: PUSH
12797: LD_INT 1
12799: PUSH
12800: LD_INT 5
12802: PPUSH
12803: LD_INT 8
12805: PPUSH
12806: CALL_OW 12
12810: PUSH
12811: LD_INT 5
12813: PUSH
12814: LD_INT 5
12816: PUSH
12817: LD_INT 5
12819: PUSH
12820: EMPTY
12821: LIST
12822: LIST
12823: LIST
12824: LIST
12825: LIST
12826: LIST
12827: LIST
12828: PUSH
12829: LD_INT 10
12831: PUSH
12832: LD_INT 10
12834: PUSH
12835: LD_INT 3
12837: PUSH
12838: LD_INT 3
12840: PUSH
12841: LD_INT 3
12843: PUSH
12844: LD_INT 5
12846: PPUSH
12847: LD_INT 8
12849: PPUSH
12850: CALL_OW 12
12854: PUSH
12855: LD_INT 2
12857: PUSH
12858: EMPTY
12859: LIST
12860: LIST
12861: LIST
12862: LIST
12863: LIST
12864: LIST
12865: LIST
12866: PUSH
12867: LD_INT 10
12869: PUSH
12870: LD_INT 10
12872: PUSH
12873: LD_INT 3
12875: PUSH
12876: LD_INT 3
12878: PUSH
12879: LD_INT 3
12881: PUSH
12882: LD_INT 5
12884: PPUSH
12885: LD_INT 8
12887: PPUSH
12888: CALL_OW 12
12892: PUSH
12893: LD_INT 2
12895: PUSH
12896: EMPTY
12897: LIST
12898: LIST
12899: LIST
12900: LIST
12901: LIST
12902: LIST
12903: LIST
12904: PUSH
12905: EMPTY
12906: LIST
12907: LIST
12908: LIST
12909: LIST
12910: LIST
12911: PUSH
12912: LD_INT 2
12914: PUSH
12915: LD_INT 1
12917: PUSH
12918: LD_INT 1
12920: PUSH
12921: LD_INT 3
12923: PUSH
12924: EMPTY
12925: LIST
12926: LIST
12927: LIST
12928: LIST
12929: PUSH
12930: LD_INT 2
12932: PUSH
12933: LD_INT 1
12935: PUSH
12936: LD_INT 2
12938: PUSH
12939: LD_INT 2
12941: PUSH
12942: EMPTY
12943: LIST
12944: LIST
12945: LIST
12946: LIST
12947: PUSH
12948: LD_INT 1
12950: PUSH
12951: LD_INT 1
12953: PUSH
12954: LD_INT 2
12956: PUSH
12957: LD_INT 3
12959: PUSH
12960: EMPTY
12961: LIST
12962: LIST
12963: LIST
12964: LIST
12965: PUSH
12966: LD_INT 1
12968: PUSH
12969: LD_INT 1
12971: PUSH
12972: LD_INT 2
12974: PUSH
12975: LD_INT 2
12977: PUSH
12978: EMPTY
12979: LIST
12980: LIST
12981: LIST
12982: LIST
12983: PUSH
12984: LD_INT 1
12986: PUSH
12987: LD_INT 3
12989: PUSH
12990: LD_INT 1
12992: PUSH
12993: LD_INT 9
12995: PUSH
12996: EMPTY
12997: LIST
12998: LIST
12999: LIST
13000: LIST
13001: PUSH
13002: LD_INT 1
13004: PUSH
13005: LD_INT 2
13007: PUSH
13008: LD_INT 1
13010: PUSH
13011: LD_INT 9
13013: PUSH
13014: EMPTY
13015: LIST
13016: LIST
13017: LIST
13018: LIST
13019: PUSH
13020: LD_INT 3
13022: PUSH
13023: LD_INT 1
13025: PUSH
13026: LD_INT 3
13028: PUSH
13029: LD_INT 4
13031: PUSH
13032: EMPTY
13033: LIST
13034: LIST
13035: LIST
13036: LIST
13037: PUSH
13038: LD_INT 3
13040: PUSH
13041: LD_INT 2
13043: PUSH
13044: LD_INT 1
13046: PUSH
13047: LD_INT 4
13049: PUSH
13050: EMPTY
13051: LIST
13052: LIST
13053: LIST
13054: LIST
13055: PUSH
13056: LD_INT 3
13058: PUSH
13059: LD_INT 2
13061: PUSH
13062: LD_INT 1
13064: PUSH
13065: LD_INT 6
13067: PUSH
13068: EMPTY
13069: LIST
13070: LIST
13071: LIST
13072: LIST
13073: PUSH
13074: LD_INT 3
13076: PUSH
13077: LD_INT 1
13079: PUSH
13080: LD_INT 1
13082: PUSH
13083: LD_INT 5
13085: PUSH
13086: EMPTY
13087: LIST
13088: LIST
13089: LIST
13090: LIST
13091: PUSH
13092: LD_INT 3
13094: PUSH
13095: LD_INT 3
13097: PUSH
13098: LD_INT 3
13100: PUSH
13101: LD_INT 5
13103: PUSH
13104: EMPTY
13105: LIST
13106: LIST
13107: LIST
13108: LIST
13109: PUSH
13110: LD_INT 4
13112: PUSH
13113: LD_INT 1
13115: PUSH
13116: LD_INT 1
13118: PUSH
13119: LD_INT 10
13121: PUSH
13122: EMPTY
13123: LIST
13124: LIST
13125: LIST
13126: LIST
13127: PUSH
13128: LD_INT 4
13130: PUSH
13131: LD_INT 1
13133: PUSH
13134: LD_INT 1
13136: PUSH
13137: LD_INT 11
13139: PUSH
13140: EMPTY
13141: LIST
13142: LIST
13143: LIST
13144: LIST
13145: PUSH
13146: LD_INT 4
13148: PUSH
13149: LD_INT 2
13151: PUSH
13152: LD_INT 3
13154: PUSH
13155: LD_INT 11
13157: PUSH
13158: EMPTY
13159: LIST
13160: LIST
13161: LIST
13162: LIST
13163: PUSH
13164: LD_INT 4
13166: PUSH
13167: LD_INT 3
13169: PUSH
13170: LD_INT 1
13172: PUSH
13173: LD_INT 6
13175: PUSH
13176: EMPTY
13177: LIST
13178: LIST
13179: LIST
13180: LIST
13181: PUSH
13182: LD_INT 4
13184: PUSH
13185: LD_INT 2
13187: PUSH
13188: LD_INT 3
13190: PUSH
13191: LD_INT 6
13193: PUSH
13194: EMPTY
13195: LIST
13196: LIST
13197: LIST
13198: LIST
13199: PUSH
13200: LD_INT 4
13202: PUSH
13203: LD_INT 1
13205: PUSH
13206: LD_INT 3
13208: PUSH
13209: LD_INT 6
13211: PUSH
13212: EMPTY
13213: LIST
13214: LIST
13215: LIST
13216: LIST
13217: PUSH
13218: LD_INT 4
13220: PUSH
13221: LD_INT 1
13223: PUSH
13224: LD_INT 3
13226: PUSH
13227: LD_INT 7
13229: PUSH
13230: EMPTY
13231: LIST
13232: LIST
13233: LIST
13234: LIST
13235: PUSH
13236: LD_INT 4
13238: PUSH
13239: LD_INT 2
13241: PUSH
13242: LD_INT 1
13244: PUSH
13245: LD_INT 7
13247: PUSH
13248: EMPTY
13249: LIST
13250: LIST
13251: LIST
13252: LIST
13253: PUSH
13254: EMPTY
13255: LIST
13256: LIST
13257: LIST
13258: LIST
13259: LIST
13260: LIST
13261: LIST
13262: LIST
13263: LIST
13264: LIST
13265: LIST
13266: LIST
13267: LIST
13268: LIST
13269: LIST
13270: LIST
13271: LIST
13272: LIST
13273: LIST
13274: PUSH
13275: EMPTY
13276: LIST
13277: LIST
13278: ST_TO_ADDR
// end ; uc_side = 5 ;
13279: LD_ADDR_OWVAR 20
13283: PUSH
13284: LD_INT 5
13286: ST_TO_ADDR
// Omar = NewCharacter ( Omar ) ;
13287: LD_ADDR_EXP 99
13291: PUSH
13292: LD_STRING Omar
13294: PPUSH
13295: CALL_OW 25
13299: ST_TO_ADDR
// uc_side = 2 ;
13300: LD_ADDR_OWVAR 20
13304: PUSH
13305: LD_INT 2
13307: ST_TO_ADDR
// Gensher = NewCharacter ( Dietrich ) ;
13308: LD_ADDR_EXP 101
13312: PUSH
13313: LD_STRING Dietrich
13315: PPUSH
13316: CALL_OW 25
13320: ST_TO_ADDR
// Abdul = NewCharacter ( Abdul ) ;
13321: LD_ADDR_EXP 98
13325: PUSH
13326: LD_STRING Abdul
13328: PPUSH
13329: CALL_OW 25
13333: ST_TO_ADDR
// Scout = NewCharacter ( Snake ) ;
13334: LD_ADDR_EXP 100
13338: PUSH
13339: LD_STRING Snake
13341: PPUSH
13342: CALL_OW 25
13346: ST_TO_ADDR
// unit_list = Create_player_Forces ( player_forces ) ;
13347: LD_ADDR_VAR 0 2
13351: PUSH
13352: LD_EXP 104
13356: PPUSH
13357: CALL 54881 0 1
13361: ST_TO_ADDR
// StartingList1 = unitfilter ( unit_list [ 2 ] , [ f_or , [ f_chassis , ar_light_trike ] , [ f_chassis , ar_hovercraft ] ] ) ;
13362: LD_ADDR_VAR 0 5
13366: PUSH
13367: LD_VAR 0 2
13371: PUSH
13372: LD_INT 2
13374: ARRAY
13375: PPUSH
13376: LD_INT 2
13378: PUSH
13379: LD_INT 31
13381: PUSH
13382: LD_INT 12
13384: PUSH
13385: EMPTY
13386: LIST
13387: LIST
13388: PUSH
13389: LD_INT 31
13391: PUSH
13392: LD_INT 11
13394: PUSH
13395: EMPTY
13396: LIST
13397: LIST
13398: PUSH
13399: EMPTY
13400: LIST
13401: LIST
13402: LIST
13403: PPUSH
13404: CALL_OW 72
13408: ST_TO_ADDR
// StartingList2 = unitfilter ( unit_list [ 2 ] , [ f_or , [ f_weapon , ar_gatling_gun ] , [ f_weapon , ar_flame_thrower ] ] ) ;
13409: LD_ADDR_VAR 0 6
13413: PUSH
13414: LD_VAR 0 2
13418: PUSH
13419: LD_INT 2
13421: ARRAY
13422: PPUSH
13423: LD_INT 2
13425: PUSH
13426: LD_INT 34
13428: PUSH
13429: LD_INT 25
13431: PUSH
13432: EMPTY
13433: LIST
13434: LIST
13435: PUSH
13436: LD_INT 34
13438: PUSH
13439: LD_INT 26
13441: PUSH
13442: EMPTY
13443: LIST
13444: LIST
13445: PUSH
13446: EMPTY
13447: LIST
13448: LIST
13449: LIST
13450: PPUSH
13451: CALL_OW 72
13455: ST_TO_ADDR
// StartingList3 = unitfilter ( unit_list [ 2 ] , [ f_or , [ f_weapon , ar_cargo_bay ] , [ f_weapon , ar_control_tower ] ] ) ;
13456: LD_ADDR_VAR 0 7
13460: PUSH
13461: LD_VAR 0 2
13465: PUSH
13466: LD_INT 2
13468: ARRAY
13469: PPUSH
13470: LD_INT 2
13472: PUSH
13473: LD_INT 34
13475: PUSH
13476: LD_INT 32
13478: PUSH
13479: EMPTY
13480: LIST
13481: LIST
13482: PUSH
13483: LD_INT 34
13485: PUSH
13486: LD_INT 31
13488: PUSH
13489: EMPTY
13490: LIST
13491: LIST
13492: PUSH
13493: EMPTY
13494: LIST
13495: LIST
13496: LIST
13497: PPUSH
13498: CALL_OW 72
13502: ST_TO_ADDR
// StartingList4 = unitfilter ( unit_list [ 2 ] , [ f_or , [ f_weapon , ar_gun ] , [ f_weapon , ar_rocket_launcher ] ] ) ;
13503: LD_ADDR_VAR 0 8
13507: PUSH
13508: LD_VAR 0 2
13512: PUSH
13513: LD_INT 2
13515: ARRAY
13516: PPUSH
13517: LD_INT 2
13519: PUSH
13520: LD_INT 34
13522: PUSH
13523: LD_INT 27
13525: PUSH
13526: EMPTY
13527: LIST
13528: LIST
13529: PUSH
13530: LD_INT 34
13532: PUSH
13533: LD_INT 28
13535: PUSH
13536: EMPTY
13537: LIST
13538: LIST
13539: PUSH
13540: EMPTY
13541: LIST
13542: LIST
13543: LIST
13544: PPUSH
13545: CALL_OW 72
13549: ST_TO_ADDR
// temp = StartingList4 [ 1 ] ;
13550: LD_ADDR_VAR 0 13
13554: PUSH
13555: LD_VAR 0 8
13559: PUSH
13560: LD_INT 1
13562: ARRAY
13563: ST_TO_ADDR
// StartingList4 = delete ( StartingList4 , 1 ) ;
13564: LD_ADDR_VAR 0 8
13568: PUSH
13569: LD_VAR 0 8
13573: PPUSH
13574: LD_INT 1
13576: PPUSH
13577: CALL_OW 3
13581: ST_TO_ADDR
// StartingList2 = StartingList2 ^ temp ;
13582: LD_ADDR_VAR 0 6
13586: PUSH
13587: LD_VAR 0 6
13591: PUSH
13592: LD_VAR 0 13
13596: ADD
13597: ST_TO_ADDR
// temp_val = 0 ;
13598: LD_ADDR_VAR 0 14
13602: PUSH
13603: LD_INT 0
13605: ST_TO_ADDR
// for i in unit_list [ 1 ] do
13606: LD_ADDR_VAR 0 9
13610: PUSH
13611: LD_VAR 0 2
13615: PUSH
13616: LD_INT 1
13618: ARRAY
13619: PUSH
13620: FOR_IN
13621: IFFALSE 13673
// if getskill ( i , skill_mechanical ) > temp_val then
13623: LD_VAR 0 9
13627: PPUSH
13628: LD_INT 3
13630: PPUSH
13631: CALL_OW 259
13635: PUSH
13636: LD_VAR 0 14
13640: GREATER
13641: IFFALSE 13671
// begin temp_val = getskill ( i , skill_mechanical ) ;
13643: LD_ADDR_VAR 0 14
13647: PUSH
13648: LD_VAR 0 9
13652: PPUSH
13653: LD_INT 3
13655: PPUSH
13656: CALL_OW 259
13660: ST_TO_ADDR
// top_mech = i ;
13661: LD_ADDR_VAR 0 12
13665: PUSH
13666: LD_VAR 0 9
13670: ST_TO_ADDR
// end ;
13671: GO 13620
13673: POP
13674: POP
// control = unitfilter ( StartingList3 , [ f_weapon , ar_control_tower ] ) [ 1 ] ;
13675: LD_ADDR_VAR 0 17
13679: PUSH
13680: LD_VAR 0 7
13684: PPUSH
13685: LD_INT 34
13687: PUSH
13688: LD_INT 31
13690: PUSH
13691: EMPTY
13692: LIST
13693: LIST
13694: PPUSH
13695: CALL_OW 72
13699: PUSH
13700: LD_INT 1
13702: ARRAY
13703: ST_TO_ADDR
// setclass ( top_mech , class_mechanic ) ;
13704: LD_VAR 0 12
13708: PPUSH
13709: LD_INT 3
13711: PPUSH
13712: CALL_OW 336
// placeHumanInUnit ( top_mech , control ) ;
13716: LD_VAR 0 12
13720: PPUSH
13721: LD_VAR 0 17
13725: PPUSH
13726: CALL_OW 52
// footmen = [ ] ;
13730: LD_ADDR_VAR 0 19
13734: PUSH
13735: EMPTY
13736: ST_TO_ADDR
// for i in unit_list [ 1 ] do
13737: LD_ADDR_VAR 0 9
13741: PUSH
13742: LD_VAR 0 2
13746: PUSH
13747: LD_INT 1
13749: ARRAY
13750: PUSH
13751: FOR_IN
13752: IFFALSE 14091
// begin for j in StartingList1 do
13754: LD_ADDR_VAR 0 10
13758: PUSH
13759: LD_VAR 0 5
13763: PUSH
13764: FOR_IN
13765: IFFALSE 13828
// if GetControl ( j ) = control_manual and unitsinside ( j ) = 0 and isinunit ( i ) = 0 then
13767: LD_VAR 0 10
13771: PPUSH
13772: CALL_OW 263
13776: PUSH
13777: LD_INT 1
13779: EQUAL
13780: PUSH
13781: LD_VAR 0 10
13785: PPUSH
13786: CALL_OW 313
13790: PUSH
13791: LD_INT 0
13793: EQUAL
13794: AND
13795: PUSH
13796: LD_VAR 0 9
13800: PPUSH
13801: CALL_OW 310
13805: PUSH
13806: LD_INT 0
13808: EQUAL
13809: AND
13810: IFFALSE 13826
// placeHumanInUnit ( i , j ) ;
13812: LD_VAR 0 9
13816: PPUSH
13817: LD_VAR 0 10
13821: PPUSH
13822: CALL_OW 52
13826: GO 13764
13828: POP
13829: POP
// for j in StartingList2 do
13830: LD_ADDR_VAR 0 10
13834: PUSH
13835: LD_VAR 0 6
13839: PUSH
13840: FOR_IN
13841: IFFALSE 13904
// if GetControl ( j ) = control_manual and unitsinside ( j ) = 0 and isinunit ( i ) = 0 then
13843: LD_VAR 0 10
13847: PPUSH
13848: CALL_OW 263
13852: PUSH
13853: LD_INT 1
13855: EQUAL
13856: PUSH
13857: LD_VAR 0 10
13861: PPUSH
13862: CALL_OW 313
13866: PUSH
13867: LD_INT 0
13869: EQUAL
13870: AND
13871: PUSH
13872: LD_VAR 0 9
13876: PPUSH
13877: CALL_OW 310
13881: PUSH
13882: LD_INT 0
13884: EQUAL
13885: AND
13886: IFFALSE 13902
// placeHumanInUnit ( i , j ) ;
13888: LD_VAR 0 9
13892: PPUSH
13893: LD_VAR 0 10
13897: PPUSH
13898: CALL_OW 52
13902: GO 13840
13904: POP
13905: POP
// for j in StartingList3 do
13906: LD_ADDR_VAR 0 10
13910: PUSH
13911: LD_VAR 0 7
13915: PUSH
13916: FOR_IN
13917: IFFALSE 13980
// if GetControl ( j ) = control_manual and unitsinside ( j ) = 0 and isinunit ( i ) = 0 then
13919: LD_VAR 0 10
13923: PPUSH
13924: CALL_OW 263
13928: PUSH
13929: LD_INT 1
13931: EQUAL
13932: PUSH
13933: LD_VAR 0 10
13937: PPUSH
13938: CALL_OW 313
13942: PUSH
13943: LD_INT 0
13945: EQUAL
13946: AND
13947: PUSH
13948: LD_VAR 0 9
13952: PPUSH
13953: CALL_OW 310
13957: PUSH
13958: LD_INT 0
13960: EQUAL
13961: AND
13962: IFFALSE 13978
// placeHumanInUnit ( i , j ) ;
13964: LD_VAR 0 9
13968: PPUSH
13969: LD_VAR 0 10
13973: PPUSH
13974: CALL_OW 52
13978: GO 13916
13980: POP
13981: POP
// for j in StartingList4 do
13982: LD_ADDR_VAR 0 10
13986: PUSH
13987: LD_VAR 0 8
13991: PUSH
13992: FOR_IN
13993: IFFALSE 14056
// if GetControl ( j ) = control_manual and unitsinside ( j ) = 0 and isinunit ( i ) = 0 then
13995: LD_VAR 0 10
13999: PPUSH
14000: CALL_OW 263
14004: PUSH
14005: LD_INT 1
14007: EQUAL
14008: PUSH
14009: LD_VAR 0 10
14013: PPUSH
14014: CALL_OW 313
14018: PUSH
14019: LD_INT 0
14021: EQUAL
14022: AND
14023: PUSH
14024: LD_VAR 0 9
14028: PPUSH
14029: CALL_OW 310
14033: PUSH
14034: LD_INT 0
14036: EQUAL
14037: AND
14038: IFFALSE 14054
// placeHumanInUnit ( i , j ) ;
14040: LD_VAR 0 9
14044: PPUSH
14045: LD_VAR 0 10
14049: PPUSH
14050: CALL_OW 52
14054: GO 13992
14056: POP
14057: POP
// if IsInUnit ( i ) = 0 then
14058: LD_VAR 0 9
14062: PPUSH
14063: CALL_OW 310
14067: PUSH
14068: LD_INT 0
14070: EQUAL
14071: IFFALSE 14089
// footmen = footmen ^ i ;
14073: LD_ADDR_VAR 0 19
14077: PUSH
14078: LD_VAR 0 19
14082: PUSH
14083: LD_VAR 0 9
14087: ADD
14088: ST_TO_ADDR
// end ;
14089: GO 13751
14091: POP
14092: POP
// footmen = footmen ^ prisoners ;
14093: LD_ADDR_VAR 0 19
14097: PUSH
14098: LD_VAR 0 19
14102: PUSH
14103: LD_EXP 171
14107: ADD
14108: ST_TO_ADDR
// if Gonzo > 0 then
14109: LD_EXP 102
14113: PUSH
14114: LD_INT 0
14116: GREATER
14117: IFFALSE 14135
// footmen = footmen ^ Gonzo ;
14119: LD_ADDR_VAR 0 19
14123: PUSH
14124: LD_VAR 0 19
14128: PUSH
14129: LD_EXP 102
14133: ADD
14134: ST_TO_ADDR
// uc_side = 2 ;
14135: LD_ADDR_OWVAR 20
14139: PUSH
14140: LD_INT 2
14142: ST_TO_ADDR
// hc_skills = [ 0 , 0 , 10 , 0 ] ;
14143: LD_ADDR_OWVAR 31
14147: PUSH
14148: LD_INT 0
14150: PUSH
14151: LD_INT 0
14153: PUSH
14154: LD_INT 10
14156: PUSH
14157: LD_INT 0
14159: PUSH
14160: EMPTY
14161: LIST
14162: LIST
14163: LIST
14164: LIST
14165: ST_TO_ADDR
// hc_class = class_mechanic ;
14166: LD_ADDR_OWVAR 28
14170: PUSH
14171: LD_INT 3
14173: ST_TO_ADDR
// temp_driver = createhuman ;
14174: LD_ADDR_VAR 0 16
14178: PUSH
14179: CALL_OW 44
14183: ST_TO_ADDR
// uc_nation = nation_arabian ;
14184: LD_ADDR_OWVAR 21
14188: PUSH
14189: LD_INT 2
14191: ST_TO_ADDR
// vc_weapon = ar_control_tower ;
14192: LD_ADDR_OWVAR 40
14196: PUSH
14197: LD_INT 31
14199: ST_TO_ADDR
// vc_control = control_manual ;
14200: LD_ADDR_OWVAR 38
14204: PUSH
14205: LD_INT 1
14207: ST_TO_ADDR
// temp_control = createvehicle ;
14208: LD_ADDR_VAR 0 18
14212: PUSH
14213: CALL_OW 45
14217: ST_TO_ADDR
// placehumaninunit ( temp_driver , temp_control ) ;
14218: LD_VAR 0 16
14222: PPUSH
14223: LD_VAR 0 18
14227: PPUSH
14228: CALL_OW 52
// placeunitxy ( temp_control , 102 , 70 , 0 ) ;
14232: LD_VAR 0 18
14236: PPUSH
14237: LD_INT 102
14239: PPUSH
14240: LD_INT 70
14242: PPUSH
14243: LD_INT 0
14245: PPUSH
14246: CALL_OW 48
// temp_list = [ ] ;
14250: LD_ADDR_VAR 0 15
14254: PUSH
14255: EMPTY
14256: ST_TO_ADDR
// temp_list = temp_list ^ StartingList1 ^ StartingList2 ^ StartingList3 ^ footmen ^ StartingList4 ;
14257: LD_ADDR_VAR 0 15
14261: PUSH
14262: LD_VAR 0 15
14266: PUSH
14267: LD_VAR 0 5
14271: ADD
14272: PUSH
14273: LD_VAR 0 6
14277: ADD
14278: PUSH
14279: LD_VAR 0 7
14283: ADD
14284: PUSH
14285: LD_VAR 0 19
14289: ADD
14290: PUSH
14291: LD_VAR 0 8
14295: ADD
14296: ST_TO_ADDR
// StartingList = [ ] ;
14297: LD_ADDR_VAR 0 4
14301: PUSH
14302: EMPTY
14303: ST_TO_ADDR
// for i in temp_list do
14304: LD_ADDR_VAR 0 9
14308: PUSH
14309: LD_VAR 0 15
14313: PUSH
14314: FOR_IN
14315: IFFALSE 14446
// if getcontrol ( i ) = control_manual and isdrivenby ( i ) = 0 then
14317: LD_VAR 0 9
14321: PPUSH
14322: CALL_OW 263
14326: PUSH
14327: LD_INT 1
14329: EQUAL
14330: PUSH
14331: LD_VAR 0 9
14335: PPUSH
14336: CALL_OW 311
14340: PUSH
14341: LD_INT 0
14343: EQUAL
14344: AND
14345: IFFALSE 14428
// begin vc_weapon = getweapon ( i ) ;
14347: LD_ADDR_OWVAR 40
14351: PUSH
14352: LD_VAR 0 9
14356: PPUSH
14357: CALL_OW 264
14361: ST_TO_ADDR
// vc_chassis = getchassis ( i ) ;
14362: LD_ADDR_OWVAR 37
14366: PUSH
14367: LD_VAR 0 9
14371: PPUSH
14372: CALL_OW 265
14376: ST_TO_ADDR
// vc_engine = getengine ( i ) ;
14377: LD_ADDR_OWVAR 39
14381: PUSH
14382: LD_VAR 0 9
14386: PPUSH
14387: CALL_OW 262
14391: ST_TO_ADDR
// vc_control = control_apeman ;
14392: LD_ADDR_OWVAR 38
14396: PUSH
14397: LD_INT 5
14399: ST_TO_ADDR
// temp = createvehicle ;
14400: LD_ADDR_VAR 0 13
14404: PUSH
14405: CALL_OW 45
14409: ST_TO_ADDR
// StartingList = StartingList ^ temp ;
14410: LD_ADDR_VAR 0 4
14414: PUSH
14415: LD_VAR 0 4
14419: PUSH
14420: LD_VAR 0 13
14424: ADD
14425: ST_TO_ADDR
// end else
14426: GO 14444
// StartingList = StartingList ^ i ;
14428: LD_ADDR_VAR 0 4
14432: PUSH
14433: LD_VAR 0 4
14437: PUSH
14438: LD_VAR 0 9
14442: ADD
14443: ST_TO_ADDR
14444: GO 14314
14446: POP
14447: POP
// player_forces = StartingList ;
14448: LD_ADDR_EXP 104
14452: PUSH
14453: LD_VAR 0 4
14457: ST_TO_ADDR
// temp = unitfilter ( startinglist , [ f_weapon , ar_cargo_bay ] ) ;
14458: LD_ADDR_VAR 0 13
14462: PUSH
14463: LD_VAR 0 4
14467: PPUSH
14468: LD_INT 34
14470: PUSH
14471: LD_INT 32
14473: PUSH
14474: EMPTY
14475: LIST
14476: LIST
14477: PPUSH
14478: CALL_OW 72
14482: ST_TO_ADDR
// cargo1 = temp [ 1 ] ;
14483: LD_ADDR_EXP 107
14487: PUSH
14488: LD_VAR 0 13
14492: PUSH
14493: LD_INT 1
14495: ARRAY
14496: ST_TO_ADDR
// addcargo ( cargo1 , mat_artifact , 40 ) ;
14497: LD_EXP 107
14501: PPUSH
14502: LD_INT 4
14504: PPUSH
14505: LD_INT 40
14507: PPUSH
14508: CALL_OW 291
// addcargo ( cargo1 , mat_oil , 60 ) ;
14512: LD_EXP 107
14516: PPUSH
14517: LD_INT 2
14519: PPUSH
14520: LD_INT 60
14522: PPUSH
14523: CALL_OW 291
// artifact_cargo = cargo1 ;
14527: LD_ADDR_EXP 157
14531: PUSH
14532: LD_EXP 107
14536: ST_TO_ADDR
// cargo2 = temp [ 2 ] ;
14537: LD_ADDR_EXP 108
14541: PUSH
14542: LD_VAR 0 13
14546: PUSH
14547: LD_INT 2
14549: ARRAY
14550: ST_TO_ADDR
// addcargo ( cargo2 , mat_oil , 70 ) ;
14551: LD_EXP 108
14555: PPUSH
14556: LD_INT 2
14558: PPUSH
14559: LD_INT 70
14561: PPUSH
14562: CALL_OW 291
// prisoner_cargo = temp [ rand ( 1 , 2 ) ] ;
14566: LD_ADDR_EXP 176
14570: PUSH
14571: LD_VAR 0 13
14575: PUSH
14576: LD_INT 1
14578: PPUSH
14579: LD_INT 2
14581: PPUSH
14582: CALL_OW 12
14586: ARRAY
14587: ST_TO_ADDR
// CenterNowOnXY ( 16 , 9 ) ;
14588: LD_INT 16
14590: PPUSH
14591: LD_INT 9
14593: PPUSH
14594: CALL_OW 86
// InGameOn ;
14598: CALL_OW 8
// SayRadio ( Abdul , In_Ab1 ) ;
14602: LD_EXP 98
14606: PPUSH
14607: LD_STRING In_Ab1
14609: PPUSH
14610: CALL_OW 94
// Say ( Heike , In_He1 ) ;
14614: LD_EXP 87
14618: PPUSH
14619: LD_STRING In_He1
14621: PPUSH
14622: CALL_OW 88
// ExclusiveOff ;
14626: CALL_OW 5
// for i = 1 to StartingList do
14630: LD_ADDR_VAR 0 9
14634: PUSH
14635: DOUBLE
14636: LD_INT 1
14638: DEC
14639: ST_TO_ADDR
14640: LD_VAR 0 4
14644: PUSH
14645: FOR_TO
14646: IFFALSE 15447
// begin repeat wait ( 0 0$0.5 ) ;
14648: LD_INT 18
14650: PPUSH
14651: CALL_OW 67
// setdir ( StartingList [ i ] , rand ( 1 , 2 ) ) ;
14655: LD_VAR 0 4
14659: PUSH
14660: LD_VAR 0 9
14664: ARRAY
14665: PPUSH
14666: LD_INT 1
14668: PPUSH
14669: LD_INT 2
14671: PPUSH
14672: CALL_OW 12
14676: PPUSH
14677: CALL_OW 233
// placeunitxy ( StartingList [ i ] , 6 , 8 , 0 ) ;
14681: LD_VAR 0 4
14685: PUSH
14686: LD_VAR 0 9
14690: ARRAY
14691: PPUSH
14692: LD_INT 6
14694: PPUSH
14695: LD_INT 8
14697: PPUSH
14698: LD_INT 0
14700: PPUSH
14701: CALL_OW 48
// until IsPlaced ( StartingList [ i ] ) ;
14705: LD_VAR 0 4
14709: PUSH
14710: LD_VAR 0 9
14714: ARRAY
14715: PPUSH
14716: CALL_OW 305
14720: IFFALSE 14648
// if getcontrol ( StartingList [ i ] ) = control_remote then
14722: LD_VAR 0 4
14726: PUSH
14727: LD_VAR 0 9
14731: ARRAY
14732: PPUSH
14733: CALL_OW 263
14737: PUSH
14738: LD_INT 2
14740: EQUAL
14741: IFFALSE 14796
// if isplaced ( control ) then
14743: LD_VAR 0 17
14747: PPUSH
14748: CALL_OW 305
14752: IFFALSE 14776
// LinkVehicleToHuman ( StartingList [ i ] , top_mech ) else
14754: LD_VAR 0 4
14758: PUSH
14759: LD_VAR 0 9
14763: ARRAY
14764: PPUSH
14765: LD_VAR 0 12
14769: PPUSH
14770: CALL_OW 53
14774: GO 14796
// LinkVehicleToHuman ( StartingList [ i ] , temp_driver ) ;
14776: LD_VAR 0 4
14780: PUSH
14781: LD_VAR 0 9
14785: ARRAY
14786: PPUSH
14787: LD_VAR 0 16
14791: PPUSH
14792: CALL_OW 53
// commovexy ( StartingList [ i ] , 14 , 13 ) ;
14796: LD_VAR 0 4
14800: PUSH
14801: LD_VAR 0 9
14805: ARRAY
14806: PPUSH
14807: LD_INT 14
14809: PPUSH
14810: LD_INT 13
14812: PPUSH
14813: CALL_OW 111
// addcommovexy ( StartingList [ i ] , 31 , 14 ) ;
14817: LD_VAR 0 4
14821: PUSH
14822: LD_VAR 0 9
14826: ARRAY
14827: PPUSH
14828: LD_INT 31
14830: PPUSH
14831: LD_INT 14
14833: PPUSH
14834: CALL_OW 171
// if i = 7 then
14838: LD_VAR 0 9
14842: PUSH
14843: LD_INT 7
14845: EQUAL
14846: IFFALSE 14910
// commovexy ( [ StartingList [ 1 ] , StartingList [ 2 ] , StartingList [ 3 ] , StartingList [ 4 ] , StartingList [ 5 ] ] , 33 , 13 ) ;
14848: LD_VAR 0 4
14852: PUSH
14853: LD_INT 1
14855: ARRAY
14856: PUSH
14857: LD_VAR 0 4
14861: PUSH
14862: LD_INT 2
14864: ARRAY
14865: PUSH
14866: LD_VAR 0 4
14870: PUSH
14871: LD_INT 3
14873: ARRAY
14874: PUSH
14875: LD_VAR 0 4
14879: PUSH
14880: LD_INT 4
14882: ARRAY
14883: PUSH
14884: LD_VAR 0 4
14888: PUSH
14889: LD_INT 5
14891: ARRAY
14892: PUSH
14893: EMPTY
14894: LIST
14895: LIST
14896: LIST
14897: LIST
14898: LIST
14899: PPUSH
14900: LD_INT 33
14902: PPUSH
14903: LD_INT 13
14905: PPUSH
14906: CALL_OW 111
// if i = 12 then
14910: LD_VAR 0 9
14914: PUSH
14915: LD_INT 12
14917: EQUAL
14918: IFFALSE 15044
// begin commovexy ( [ StartingList [ 1 ] , StartingList [ 2 ] , StartingList [ 3 ] , StartingList [ 4 ] , StartingList [ 5 ] ] , 40 , 13 ) ;
14920: LD_VAR 0 4
14924: PUSH
14925: LD_INT 1
14927: ARRAY
14928: PUSH
14929: LD_VAR 0 4
14933: PUSH
14934: LD_INT 2
14936: ARRAY
14937: PUSH
14938: LD_VAR 0 4
14942: PUSH
14943: LD_INT 3
14945: ARRAY
14946: PUSH
14947: LD_VAR 0 4
14951: PUSH
14952: LD_INT 4
14954: ARRAY
14955: PUSH
14956: LD_VAR 0 4
14960: PUSH
14961: LD_INT 5
14963: ARRAY
14964: PUSH
14965: EMPTY
14966: LIST
14967: LIST
14968: LIST
14969: LIST
14970: LIST
14971: PPUSH
14972: LD_INT 40
14974: PPUSH
14975: LD_INT 13
14977: PPUSH
14978: CALL_OW 111
// commovexy ( [ StartingList [ 6 ] , StartingList [ 7 ] , StartingList [ 8 ] , StartingList [ 9 ] , StartingList [ 10 ] ] , 33 , 13 ) ;
14982: LD_VAR 0 4
14986: PUSH
14987: LD_INT 6
14989: ARRAY
14990: PUSH
14991: LD_VAR 0 4
14995: PUSH
14996: LD_INT 7
14998: ARRAY
14999: PUSH
15000: LD_VAR 0 4
15004: PUSH
15005: LD_INT 8
15007: ARRAY
15008: PUSH
15009: LD_VAR 0 4
15013: PUSH
15014: LD_INT 9
15016: ARRAY
15017: PUSH
15018: LD_VAR 0 4
15022: PUSH
15023: LD_INT 10
15025: ARRAY
15026: PUSH
15027: EMPTY
15028: LIST
15029: LIST
15030: LIST
15031: LIST
15032: LIST
15033: PPUSH
15034: LD_INT 33
15036: PPUSH
15037: LD_INT 13
15039: PPUSH
15040: CALL_OW 111
// end ; if i = 16 then
15044: LD_VAR 0 9
15048: PUSH
15049: LD_INT 16
15051: EQUAL
15052: IFFALSE 15250
// begin commovexy ( [ StartingList [ 1 ] , StartingList [ 2 ] , StartingList [ 3 ] , StartingList [ 4 ] , StartingList [ 5 ] ] , 46 , 13 ) ;
15054: LD_VAR 0 4
15058: PUSH
15059: LD_INT 1
15061: ARRAY
15062: PUSH
15063: LD_VAR 0 4
15067: PUSH
15068: LD_INT 2
15070: ARRAY
15071: PUSH
15072: LD_VAR 0 4
15076: PUSH
15077: LD_INT 3
15079: ARRAY
15080: PUSH
15081: LD_VAR 0 4
15085: PUSH
15086: LD_INT 4
15088: ARRAY
15089: PUSH
15090: LD_VAR 0 4
15094: PUSH
15095: LD_INT 5
15097: ARRAY
15098: PUSH
15099: EMPTY
15100: LIST
15101: LIST
15102: LIST
15103: LIST
15104: LIST
15105: PPUSH
15106: LD_INT 46
15108: PPUSH
15109: LD_INT 13
15111: PPUSH
15112: CALL_OW 111
// commovexy ( [ StartingList [ 6 ] , StartingList [ 7 ] , StartingList [ 8 ] , StartingList [ 9 ] , StartingList [ 10 ] ] , 40 , 13 ) ;
15116: LD_VAR 0 4
15120: PUSH
15121: LD_INT 6
15123: ARRAY
15124: PUSH
15125: LD_VAR 0 4
15129: PUSH
15130: LD_INT 7
15132: ARRAY
15133: PUSH
15134: LD_VAR 0 4
15138: PUSH
15139: LD_INT 8
15141: ARRAY
15142: PUSH
15143: LD_VAR 0 4
15147: PUSH
15148: LD_INT 9
15150: ARRAY
15151: PUSH
15152: LD_VAR 0 4
15156: PUSH
15157: LD_INT 10
15159: ARRAY
15160: PUSH
15161: EMPTY
15162: LIST
15163: LIST
15164: LIST
15165: LIST
15166: LIST
15167: PPUSH
15168: LD_INT 40
15170: PPUSH
15171: LD_INT 13
15173: PPUSH
15174: CALL_OW 111
// commovexy ( [ StartingList [ 11 ] , StartingList [ 12 ] , StartingList [ 13 ] , StartingList [ 14 ] , StartingList [ 15 ] ] , 33 , 13 ) ;
15178: LD_VAR 0 4
15182: PUSH
15183: LD_INT 11
15185: ARRAY
15186: PUSH
15187: LD_VAR 0 4
15191: PUSH
15192: LD_INT 12
15194: ARRAY
15195: PUSH
15196: LD_VAR 0 4
15200: PUSH
15201: LD_INT 13
15203: ARRAY
15204: PUSH
15205: LD_VAR 0 4
15209: PUSH
15210: LD_INT 14
15212: ARRAY
15213: PUSH
15214: LD_VAR 0 4
15218: PUSH
15219: LD_INT 15
15221: ARRAY
15222: PUSH
15223: EMPTY
15224: LIST
15225: LIST
15226: LIST
15227: LIST
15228: LIST
15229: PPUSH
15230: LD_INT 33
15232: PPUSH
15233: LD_INT 13
15235: PPUSH
15236: CALL_OW 111
// CenterOnXY ( 40 , 13 ) ;
15240: LD_INT 40
15242: PPUSH
15243: LD_INT 13
15245: PPUSH
15246: CALL_OW 84
// end ; if isplaced ( control ) and isplaced ( temp_control ) then
15250: LD_VAR 0 17
15254: PPUSH
15255: CALL_OW 305
15259: PUSH
15260: LD_VAR 0 18
15264: PPUSH
15265: CALL_OW 305
15269: AND
15270: IFFALSE 15378
// begin wait ( 0 0$1 ) ;
15272: LD_INT 35
15274: PPUSH
15275: CALL_OW 67
// for j in player_forces do
15279: LD_ADDR_VAR 0 10
15283: PUSH
15284: LD_EXP 104
15288: PUSH
15289: FOR_IN
15290: IFFALSE 15334
// if getcontrol ( j ) = control_remote and isplaced ( j ) then
15292: LD_VAR 0 10
15296: PPUSH
15297: CALL_OW 263
15301: PUSH
15302: LD_INT 2
15304: EQUAL
15305: PUSH
15306: LD_VAR 0 10
15310: PPUSH
15311: CALL_OW 305
15315: AND
15316: IFFALSE 15332
// LinkVehicleToHuman ( j , top_mech ) ;
15318: LD_VAR 0 10
15322: PPUSH
15323: LD_VAR 0 12
15327: PPUSH
15328: CALL_OW 53
15332: GO 15289
15334: POP
15335: POP
// removeunit ( temp_control ) ;
15336: LD_VAR 0 18
15340: PPUSH
15341: CALL_OW 64
// resetfog ;
15345: CALL_OW 335
// placeseeing ( 15 , 13 , 2 , 10 ) ;
15349: LD_INT 15
15351: PPUSH
15352: LD_INT 13
15354: PPUSH
15355: LD_INT 2
15357: PPUSH
15358: LD_INT 10
15360: PPUSH
15361: CALL_OW 330
// removeseeing ( 15 , 13 , 2 ) ;
15365: LD_INT 15
15367: PPUSH
15368: LD_INT 13
15370: PPUSH
15371: LD_INT 2
15373: PPUSH
15374: CALL_OW 331
// end ; temp = filterallunits ( [ [ f_side , 0 ] , [ f_distxy , 6 , 8 , 10 ] ] ) ;
15378: LD_ADDR_VAR 0 13
15382: PUSH
15383: LD_INT 22
15385: PUSH
15386: LD_INT 0
15388: PUSH
15389: EMPTY
15390: LIST
15391: LIST
15392: PUSH
15393: LD_INT 92
15395: PUSH
15396: LD_INT 6
15398: PUSH
15399: LD_INT 8
15401: PUSH
15402: LD_INT 10
15404: PUSH
15405: EMPTY
15406: LIST
15407: LIST
15408: LIST
15409: LIST
15410: PUSH
15411: EMPTY
15412: LIST
15413: LIST
15414: PPUSH
15415: CALL_OW 69
15419: ST_TO_ADDR
// if temp > 0 then
15420: LD_VAR 0 13
15424: PUSH
15425: LD_INT 0
15427: GREATER
15428: IFFALSE 15445
// commovexy ( temp , 23 , 35 ) ;
15430: LD_VAR 0 13
15434: PPUSH
15435: LD_INT 23
15437: PPUSH
15438: LD_INT 35
15440: PPUSH
15441: CALL_OW 111
// end ;
15445: GO 14645
15447: POP
15448: POP
// end ; end_of_file
15449: LD_VAR 0 1
15453: RET
// every 0 0$2 do var i , j , vehicle , area , path , incomming_group , a , temp_val , temp ;
15454: GO 15456
15456: DISABLE
15457: LD_INT 0
15459: PPUSH
15460: PPUSH
15461: PPUSH
15462: PPUSH
15463: PPUSH
15464: PPUSH
15465: PPUSH
15466: PPUSH
15467: PPUSH
// begin path = [ ] ;
15468: LD_ADDR_VAR 0 5
15472: PUSH
15473: EMPTY
15474: ST_TO_ADDR
// Randomize ;
15475: CALL_OW 10
// if ru_heavy_times > 0 then
15479: LD_EXP 28
15483: PUSH
15484: LD_INT 0
15486: GREATER
15487: IFFALSE 15829
// begin if tick > ru_heavy_times [ 1 ] then
15489: LD_OWVAR 1
15493: PUSH
15494: LD_EXP 28
15498: PUSH
15499: LD_INT 1
15501: ARRAY
15502: GREATER
15503: IFFALSE 15827
// begin magenta = 1 ;
15505: LD_ADDR_EXP 12
15509: PUSH
15510: LD_INT 1
15512: ST_TO_ADDR
// incomming_group = determine_group ( 1 ) ;
15513: LD_ADDR_VAR 0 6
15517: PUSH
15518: LD_INT 1
15520: PPUSH
15521: CALL 36113 0 1
15525: ST_TO_ADDR
// ru_heavy_times = delete ( ru_heavy_times , 1 ) ;
15526: LD_ADDR_EXP 28
15530: PUSH
15531: LD_EXP 28
15535: PPUSH
15536: LD_INT 1
15538: PPUSH
15539: CALL_OW 3
15543: ST_TO_ADDR
// area = enter1 ;
15544: LD_ADDR_VAR 0 4
15548: PUSH
15549: LD_INT 2
15551: ST_TO_ADDR
// path = path1a ;
15552: LD_ADDR_VAR 0 5
15556: PUSH
15557: LD_EXP 67
15561: ST_TO_ADDR
// for i in incomming_group do
15562: LD_ADDR_VAR 0 1
15566: PUSH
15567: LD_VAR 0 6
15571: PUSH
15572: FOR_IN
15573: IFFALSE 15594
// PlaceUnitArea ( i , area , false ) ;
15575: LD_VAR 0 1
15579: PPUSH
15580: LD_VAR 0 4
15584: PPUSH
15585: LD_INT 0
15587: PPUSH
15588: CALL_OW 49
15592: GO 15572
15594: POP
15595: POP
// magenta = 0 ;
15596: LD_ADDR_EXP 12
15600: PUSH
15601: LD_INT 0
15603: ST_TO_ADDR
// ru_grouptypes = ru_grouptypes ^ [ 1 ] ;
15604: LD_ADDR_EXP 22
15608: PUSH
15609: LD_EXP 22
15613: PUSH
15614: LD_INT 1
15616: PUSH
15617: EMPTY
15618: LIST
15619: ADD
15620: ST_TO_ADDR
// Russians = Russians ^ [ incomming_group ] ;
15621: LD_ADDR_EXP 10
15625: PUSH
15626: LD_EXP 10
15630: PUSH
15631: LD_VAR 0 6
15635: PUSH
15636: EMPTY
15637: LIST
15638: ADD
15639: ST_TO_ADDR
// ru_paths = ru_paths ^ [ path ] ;
15640: LD_ADDR_EXP 21
15644: PUSH
15645: LD_EXP 21
15649: PUSH
15650: LD_VAR 0 5
15654: PUSH
15655: EMPTY
15656: LIST
15657: ADD
15658: ST_TO_ADDR
// ru_groupstatus = ru_groupstatus ^ [ 0 ] ;
15659: LD_ADDR_EXP 23
15663: PUSH
15664: LD_EXP 23
15668: PUSH
15669: LD_INT 0
15671: PUSH
15672: EMPTY
15673: LIST
15674: ADD
15675: ST_TO_ADDR
// ru_grouphexcount = ru_grouphexcount ^ [ 0 ] ;
15676: LD_ADDR_EXP 24
15680: PUSH
15681: LD_EXP 24
15685: PUSH
15686: LD_INT 0
15688: PUSH
15689: EMPTY
15690: LIST
15691: ADD
15692: ST_TO_ADDR
// ru_targethex = ru_targethex ^ [ [ 0 , 0 ] ] ;
15693: LD_ADDR_EXP 25
15697: PUSH
15698: LD_EXP 25
15702: PUSH
15703: LD_INT 0
15705: PUSH
15706: LD_INT 0
15708: PUSH
15709: EMPTY
15710: LIST
15711: LIST
15712: PUSH
15713: EMPTY
15714: LIST
15715: ADD
15716: ST_TO_ADDR
// Target_List = Target_List ^ 0 ;
15717: LD_ADDR_EXP 14
15721: PUSH
15722: LD_EXP 14
15726: PUSH
15727: LD_INT 0
15729: ADD
15730: ST_TO_ADDR
// ru_groupside = ru_groupside ^ 6 ;
15731: LD_ADDR_EXP 26
15735: PUSH
15736: LD_EXP 26
15740: PUSH
15741: LD_INT 6
15743: ADD
15744: ST_TO_ADDR
// target_hg = target_hg ^ [ 0 ] ;
15745: LD_ADDR_EXP 16
15749: PUSH
15750: LD_EXP 16
15754: PUSH
15755: LD_INT 0
15757: PUSH
15758: EMPTY
15759: LIST
15760: ADD
15761: ST_TO_ADDR
// target_gun = target_gun ^ [ 0 ] ;
15762: LD_ADDR_EXP 17
15766: PUSH
15767: LD_EXP 17
15771: PUSH
15772: LD_INT 0
15774: PUSH
15775: EMPTY
15776: LIST
15777: ADD
15778: ST_TO_ADDR
// target_all = target_all ^ [ 0 ] ;
15779: LD_ADDR_EXP 18
15783: PUSH
15784: LD_EXP 18
15788: PUSH
15789: LD_INT 0
15791: PUSH
15792: EMPTY
15793: LIST
15794: ADD
15795: ST_TO_ADDR
// target_bazooka = target_bazooka ^ [ 0 ] ;
15796: LD_ADDR_EXP 19
15800: PUSH
15801: LD_EXP 19
15805: PUSH
15806: LD_INT 0
15808: PUSH
15809: EMPTY
15810: LIST
15811: ADD
15812: ST_TO_ADDR
// bazooka_engagetime = bazooka_engagetime ^ 999 999$0 ;
15813: LD_ADDR_EXP 20
15817: PUSH
15818: LD_EXP 20
15822: PUSH
15823: LD_INT 2097900
15825: ADD
15826: ST_TO_ADDR
// end ; end else
15827: GO 16294
// begin if ru_limit > 0 then
15829: LD_EXP 29
15833: PUSH
15834: LD_INT 0
15836: GREATER
15837: IFFALSE 16294
// begin repeat wait ( 0 0$1 ) ;
15839: LD_INT 35
15841: PPUSH
15842: CALL_OW 67
// temp = 0 ;
15846: LD_ADDR_VAR 0 9
15850: PUSH
15851: LD_INT 0
15853: ST_TO_ADDR
// for i = 1 to russians do
15854: LD_ADDR_VAR 0 1
15858: PUSH
15859: DOUBLE
15860: LD_INT 1
15862: DEC
15863: ST_TO_ADDR
15864: LD_EXP 10
15868: PUSH
15869: FOR_TO
15870: IFFALSE 15936
// if ru_grouptypes [ i ] = 1 then
15872: LD_EXP 22
15876: PUSH
15877: LD_VAR 0 1
15881: ARRAY
15882: PUSH
15883: LD_INT 1
15885: EQUAL
15886: IFFALSE 15934
// for j in russians [ i ] do
15888: LD_ADDR_VAR 0 2
15892: PUSH
15893: LD_EXP 10
15897: PUSH
15898: LD_VAR 0 1
15902: ARRAY
15903: PUSH
15904: FOR_IN
15905: IFFALSE 15932
// if gety ( j ) > 160 then
15907: LD_VAR 0 2
15911: PPUSH
15912: CALL_OW 251
15916: PUSH
15917: LD_INT 160
15919: GREATER
15920: IFFALSE 15930
// temp = 1 ;
15922: LD_ADDR_VAR 0 9
15926: PUSH
15927: LD_INT 1
15929: ST_TO_ADDR
15930: GO 15904
15932: POP
15933: POP
15934: GO 15869
15936: POP
15937: POP
// if temp = 0 then
15938: LD_VAR 0 9
15942: PUSH
15943: LD_INT 0
15945: EQUAL
15946: IFFALSE 15962
// ru_limit = ru_limit - 1 ;
15948: LD_ADDR_EXP 29
15952: PUSH
15953: LD_EXP 29
15957: PUSH
15958: LD_INT 1
15960: MINUS
15961: ST_TO_ADDR
// until temp = 0 ;
15962: LD_VAR 0 9
15966: PUSH
15967: LD_INT 0
15969: EQUAL
15970: IFFALSE 15839
// magenta = 1 ;
15972: LD_ADDR_EXP 12
15976: PUSH
15977: LD_INT 1
15979: ST_TO_ADDR
// incomming_group = determine_group ( 1 ) ;
15980: LD_ADDR_VAR 0 6
15984: PUSH
15985: LD_INT 1
15987: PPUSH
15988: CALL 36113 0 1
15992: ST_TO_ADDR
// ru_heavy_times = delete ( ru_heavy_times , 1 ) ;
15993: LD_ADDR_EXP 28
15997: PUSH
15998: LD_EXP 28
16002: PPUSH
16003: LD_INT 1
16005: PPUSH
16006: CALL_OW 3
16010: ST_TO_ADDR
// area = enter1 ;
16011: LD_ADDR_VAR 0 4
16015: PUSH
16016: LD_INT 2
16018: ST_TO_ADDR
// path = path1a ;
16019: LD_ADDR_VAR 0 5
16023: PUSH
16024: LD_EXP 67
16028: ST_TO_ADDR
// for i in incomming_group do
16029: LD_ADDR_VAR 0 1
16033: PUSH
16034: LD_VAR 0 6
16038: PUSH
16039: FOR_IN
16040: IFFALSE 16061
// PlaceUnitArea ( i , area , false ) ;
16042: LD_VAR 0 1
16046: PPUSH
16047: LD_VAR 0 4
16051: PPUSH
16052: LD_INT 0
16054: PPUSH
16055: CALL_OW 49
16059: GO 16039
16061: POP
16062: POP
// magenta = 0 ;
16063: LD_ADDR_EXP 12
16067: PUSH
16068: LD_INT 0
16070: ST_TO_ADDR
// ru_grouptypes = ru_grouptypes ^ [ 1 ] ;
16071: LD_ADDR_EXP 22
16075: PUSH
16076: LD_EXP 22
16080: PUSH
16081: LD_INT 1
16083: PUSH
16084: EMPTY
16085: LIST
16086: ADD
16087: ST_TO_ADDR
// Russians = Russians ^ [ incomming_group ] ;
16088: LD_ADDR_EXP 10
16092: PUSH
16093: LD_EXP 10
16097: PUSH
16098: LD_VAR 0 6
16102: PUSH
16103: EMPTY
16104: LIST
16105: ADD
16106: ST_TO_ADDR
// ru_paths = ru_paths ^ [ path ] ;
16107: LD_ADDR_EXP 21
16111: PUSH
16112: LD_EXP 21
16116: PUSH
16117: LD_VAR 0 5
16121: PUSH
16122: EMPTY
16123: LIST
16124: ADD
16125: ST_TO_ADDR
// ru_groupstatus = ru_groupstatus ^ [ 0 ] ;
16126: LD_ADDR_EXP 23
16130: PUSH
16131: LD_EXP 23
16135: PUSH
16136: LD_INT 0
16138: PUSH
16139: EMPTY
16140: LIST
16141: ADD
16142: ST_TO_ADDR
// ru_grouphexcount = ru_grouphexcount ^ [ 0 ] ;
16143: LD_ADDR_EXP 24
16147: PUSH
16148: LD_EXP 24
16152: PUSH
16153: LD_INT 0
16155: PUSH
16156: EMPTY
16157: LIST
16158: ADD
16159: ST_TO_ADDR
// ru_targethex = ru_targethex ^ [ [ 0 , 0 ] ] ;
16160: LD_ADDR_EXP 25
16164: PUSH
16165: LD_EXP 25
16169: PUSH
16170: LD_INT 0
16172: PUSH
16173: LD_INT 0
16175: PUSH
16176: EMPTY
16177: LIST
16178: LIST
16179: PUSH
16180: EMPTY
16181: LIST
16182: ADD
16183: ST_TO_ADDR
// Target_List = Target_List ^ 0 ;
16184: LD_ADDR_EXP 14
16188: PUSH
16189: LD_EXP 14
16193: PUSH
16194: LD_INT 0
16196: ADD
16197: ST_TO_ADDR
// ru_groupside = ru_groupside ^ 6 ;
16198: LD_ADDR_EXP 26
16202: PUSH
16203: LD_EXP 26
16207: PUSH
16208: LD_INT 6
16210: ADD
16211: ST_TO_ADDR
// target_hg = target_hg ^ [ 0 ] ;
16212: LD_ADDR_EXP 16
16216: PUSH
16217: LD_EXP 16
16221: PUSH
16222: LD_INT 0
16224: PUSH
16225: EMPTY
16226: LIST
16227: ADD
16228: ST_TO_ADDR
// target_gun = target_gun ^ [ 0 ] ;
16229: LD_ADDR_EXP 17
16233: PUSH
16234: LD_EXP 17
16238: PUSH
16239: LD_INT 0
16241: PUSH
16242: EMPTY
16243: LIST
16244: ADD
16245: ST_TO_ADDR
// target_all = target_all ^ [ 0 ] ;
16246: LD_ADDR_EXP 18
16250: PUSH
16251: LD_EXP 18
16255: PUSH
16256: LD_INT 0
16258: PUSH
16259: EMPTY
16260: LIST
16261: ADD
16262: ST_TO_ADDR
// target_bazooka = target_bazooka ^ [ 0 ] ;
16263: LD_ADDR_EXP 19
16267: PUSH
16268: LD_EXP 19
16272: PUSH
16273: LD_INT 0
16275: PUSH
16276: EMPTY
16277: LIST
16278: ADD
16279: ST_TO_ADDR
// bazooka_engagetime = bazooka_engagetime ^ 999 999$0 ;
16280: LD_ADDR_EXP 20
16284: PUSH
16285: LD_EXP 20
16289: PUSH
16290: LD_INT 2097900
16292: ADD
16293: ST_TO_ADDR
// end ; end ; enable ;
16294: ENABLE
// end ;
16295: PPOPN 9
16297: END
// every 0 0$1 trigger gamestage > 0 and tick < [ 53 53$0 , 54 54$0 , 55 55$0 ] [ difficulty ] do var i , j , time , roll , temp ;
16298: LD_EXP 2
16302: PUSH
16303: LD_INT 0
16305: GREATER
16306: PUSH
16307: LD_OWVAR 1
16311: PUSH
16312: LD_INT 111300
16314: PUSH
16315: LD_INT 113400
16317: PUSH
16318: LD_INT 115500
16320: PUSH
16321: EMPTY
16322: LIST
16323: LIST
16324: LIST
16325: PUSH
16326: LD_OWVAR 67
16330: ARRAY
16331: LESS
16332: AND
16333: IFFALSE 17138
16335: GO 16337
16337: DISABLE
16338: LD_INT 0
16340: PPUSH
16341: PPUSH
16342: PPUSH
16343: PPUSH
16344: PPUSH
// begin Randomize ;
16345: CALL_OW 10
// for i = 1 to Ru_spawning_time do
16349: LD_ADDR_VAR 0 1
16353: PUSH
16354: DOUBLE
16355: LD_INT 1
16357: DEC
16358: ST_TO_ADDR
16359: LD_EXP 27
16363: PUSH
16364: FOR_TO
16365: IFFALSE 17135
// if Ru_spawning_time [ i ] = 0 then
16367: LD_EXP 27
16371: PUSH
16372: LD_VAR 0 1
16376: ARRAY
16377: PUSH
16378: LD_INT 0
16380: EQUAL
16381: IFFALSE 17133
// begin if rand ( 1 , 100 ) >= [ 33 , 50 , 67 ] [ difficulty ] and not scout_gone then
16383: LD_INT 1
16385: PPUSH
16386: LD_INT 100
16388: PPUSH
16389: CALL_OW 12
16393: PUSH
16394: LD_INT 33
16396: PUSH
16397: LD_INT 50
16399: PUSH
16400: LD_INT 67
16402: PUSH
16403: EMPTY
16404: LIST
16405: LIST
16406: LIST
16407: PUSH
16408: LD_OWVAR 67
16412: ARRAY
16413: GREATEREQUAL
16414: PUSH
16415: LD_EXP 35
16419: NOT
16420: AND
16421: IFFALSE 16446
// scout_warning = tag ( scout_warning , i , 1 ) ;
16423: LD_ADDR_EXP 34
16427: PUSH
16428: LD_EXP 34
16432: PPUSH
16433: LD_VAR 0 1
16437: PPUSH
16438: LD_INT 1
16440: PPUSH
16441: CALL 59897 0 3
16445: ST_TO_ADDR
// if i = 6 or i = 7 then
16446: LD_VAR 0 1
16450: PUSH
16451: LD_INT 6
16453: EQUAL
16454: PUSH
16455: LD_VAR 0 1
16459: PUSH
16460: LD_INT 7
16462: EQUAL
16463: OR
16464: IFFALSE 16585
// begin ru_spawning_time = tag ( ru_spawning_time , i , tick + rand ( 2 2$30 , 4 4$0 ) ) ;
16466: LD_ADDR_EXP 27
16470: PUSH
16471: LD_EXP 27
16475: PPUSH
16476: LD_VAR 0 1
16480: PPUSH
16481: LD_OWVAR 1
16485: PUSH
16486: LD_INT 5250
16488: PPUSH
16489: LD_INT 8400
16491: PPUSH
16492: CALL_OW 12
16496: PLUS
16497: PPUSH
16498: CALL 59897 0 3
16502: ST_TO_ADDR
// if rand ( 1 , 3 ) = 1 then
16503: LD_INT 1
16505: PPUSH
16506: LD_INT 3
16508: PPUSH
16509: CALL_OW 12
16513: PUSH
16514: LD_INT 1
16516: EQUAL
16517: IFFALSE 16552
// Ru_prep_mag = tag ( Ru_prep_mag , i , PrepareAreaAndPath ( 4 , 1 ) ) else
16519: LD_ADDR_EXP 33
16523: PUSH
16524: LD_EXP 33
16528: PPUSH
16529: LD_VAR 0 1
16533: PPUSH
16534: LD_INT 4
16536: PPUSH
16537: LD_INT 1
16539: PPUSH
16540: CALL 19167 0 2
16544: PPUSH
16545: CALL 59897 0 3
16549: ST_TO_ADDR
16550: GO 16583
// Ru_prep_mag = tag ( Ru_prep_mag , i , PrepareAreaAndPath ( 3 , 1 ) ) ;
16552: LD_ADDR_EXP 33
16556: PUSH
16557: LD_EXP 33
16561: PPUSH
16562: LD_VAR 0 1
16566: PPUSH
16567: LD_INT 3
16569: PPUSH
16570: LD_INT 1
16572: PPUSH
16573: CALL 19167 0 2
16577: PPUSH
16578: CALL 59897 0 3
16582: ST_TO_ADDR
// end else
16583: GO 17133
// begin temp = 0 ;
16585: LD_ADDR_VAR 0 5
16589: PUSH
16590: LD_INT 0
16592: ST_TO_ADDR
// for j in ru_grouptypes do
16593: LD_ADDR_VAR 0 2
16597: PUSH
16598: LD_EXP 22
16602: PUSH
16603: FOR_IN
16604: IFFALSE 16626
// if j = 3 then
16606: LD_VAR 0 2
16610: PUSH
16611: LD_INT 3
16613: EQUAL
16614: IFFALSE 16624
// temp = 1 ;
16616: LD_ADDR_VAR 0 5
16620: PUSH
16621: LD_INT 1
16623: ST_TO_ADDR
16624: GO 16603
16626: POP
16627: POP
// for j in Ru_prep_red ^ Ru_prep_mag do
16628: LD_ADDR_VAR 0 2
16632: PUSH
16633: LD_EXP 32
16637: PUSH
16638: LD_EXP 33
16642: ADD
16643: PUSH
16644: FOR_IN
16645: IFFALSE 16681
// if j > 0 then
16647: LD_VAR 0 2
16651: PUSH
16652: LD_INT 0
16654: GREATER
16655: IFFALSE 16679
// if j [ 1 ] = 3 then
16657: LD_VAR 0 2
16661: PUSH
16662: LD_INT 1
16664: ARRAY
16665: PUSH
16666: LD_INT 3
16668: EQUAL
16669: IFFALSE 16679
// temp = 1 ;
16671: LD_ADDR_VAR 0 5
16675: PUSH
16676: LD_INT 1
16678: ST_TO_ADDR
16679: GO 16644
16681: POP
16682: POP
// if gamestage = 1 or temp = 1 or No_seek_groups = 1 then
16683: LD_EXP 2
16687: PUSH
16688: LD_INT 1
16690: EQUAL
16691: PUSH
16692: LD_VAR 0 5
16696: PUSH
16697: LD_INT 1
16699: EQUAL
16700: OR
16701: PUSH
16702: LD_EXP 36
16706: PUSH
16707: LD_INT 1
16709: EQUAL
16710: OR
16711: IFFALSE 16731
// roll = rand ( 1 , 6 ) else
16713: LD_ADDR_VAR 0 4
16717: PUSH
16718: LD_INT 1
16720: PPUSH
16721: LD_INT 6
16723: PPUSH
16724: CALL_OW 12
16728: ST_TO_ADDR
16729: GO 16747
// roll = rand ( 1 , 8 ) ;
16731: LD_ADDR_VAR 0 4
16735: PUSH
16736: LD_INT 1
16738: PPUSH
16739: LD_INT 8
16741: PPUSH
16742: CALL_OW 12
16746: ST_TO_ADDR
// if i = 5 and No_seek_groups = 0 then
16747: LD_VAR 0 1
16751: PUSH
16752: LD_INT 5
16754: EQUAL
16755: PUSH
16756: LD_EXP 36
16760: PUSH
16761: LD_INT 0
16763: EQUAL
16764: AND
16765: IFFALSE 16775
// roll = 7 ;
16767: LD_ADDR_VAR 0 4
16771: PUSH
16772: LD_INT 7
16774: ST_TO_ADDR
// if ( roll = 7 or roll = 8 ) and No_seek_groups = 0 then
16775: LD_VAR 0 4
16779: PUSH
16780: LD_INT 7
16782: EQUAL
16783: PUSH
16784: LD_VAR 0 4
16788: PUSH
16789: LD_INT 8
16791: EQUAL
16792: OR
16793: PUSH
16794: LD_EXP 36
16798: PUSH
16799: LD_INT 0
16801: EQUAL
16802: AND
16803: IFFALSE 16917
// begin Ru_prep_red = tag ( Ru_prep_red , i , PrepareAreaAndPath ( 3 , 0 ) ) ;
16805: LD_ADDR_EXP 32
16809: PUSH
16810: LD_EXP 32
16814: PPUSH
16815: LD_VAR 0 1
16819: PPUSH
16820: LD_INT 3
16822: PPUSH
16823: LD_INT 0
16825: PPUSH
16826: CALL 19167 0 2
16830: PPUSH
16831: CALL 59897 0 3
16835: ST_TO_ADDR
// if i = 5 then
16836: LD_VAR 0 1
16840: PUSH
16841: LD_INT 5
16843: EQUAL
16844: IFFALSE 16870
// time = tick + rand ( 1 1$30 , 2 2$30 ) else
16846: LD_ADDR_VAR 0 3
16850: PUSH
16851: LD_OWVAR 1
16855: PUSH
16856: LD_INT 3150
16858: PPUSH
16859: LD_INT 5250
16861: PPUSH
16862: CALL_OW 12
16866: PLUS
16867: ST_TO_ADDR
16868: GO 16892
// time = tick + rand ( 2 2$0 , 3 3$30 ) ;
16870: LD_ADDR_VAR 0 3
16874: PUSH
16875: LD_OWVAR 1
16879: PUSH
16880: LD_INT 4200
16882: PPUSH
16883: LD_INT 7350
16885: PPUSH
16886: CALL_OW 12
16890: PLUS
16891: ST_TO_ADDR
// ru_spawning_time = tag ( ru_spawning_time , i , time ) ;
16892: LD_ADDR_EXP 27
16896: PUSH
16897: LD_EXP 27
16901: PPUSH
16902: LD_VAR 0 1
16906: PPUSH
16907: LD_VAR 0 3
16911: PPUSH
16912: CALL 59897 0 3
16916: ST_TO_ADDR
// end ; if roll = 6 or roll = 5 then
16917: LD_VAR 0 4
16921: PUSH
16922: LD_INT 6
16924: EQUAL
16925: PUSH
16926: LD_VAR 0 4
16930: PUSH
16931: LD_INT 5
16933: EQUAL
16934: OR
16935: IFFALSE 17015
// begin Ru_prep_red = tag ( Ru_prep_red , i , PrepareAreaAndPath ( 2 , 0 ) ) ;
16937: LD_ADDR_EXP 32
16941: PUSH
16942: LD_EXP 32
16946: PPUSH
16947: LD_VAR 0 1
16951: PPUSH
16952: LD_INT 2
16954: PPUSH
16955: LD_INT 0
16957: PPUSH
16958: CALL 19167 0 2
16962: PPUSH
16963: CALL 59897 0 3
16967: ST_TO_ADDR
// time = tick + rand ( 1 1$30 , 2 2$30 ) ;
16968: LD_ADDR_VAR 0 3
16972: PUSH
16973: LD_OWVAR 1
16977: PUSH
16978: LD_INT 3150
16980: PPUSH
16981: LD_INT 5250
16983: PPUSH
16984: CALL_OW 12
16988: PLUS
16989: ST_TO_ADDR
// ru_spawning_time = tag ( ru_spawning_time , i , time ) ;
16990: LD_ADDR_EXP 27
16994: PUSH
16995: LD_EXP 27
16999: PPUSH
17000: LD_VAR 0 1
17004: PPUSH
17005: LD_VAR 0 3
17009: PPUSH
17010: CALL 59897 0 3
17014: ST_TO_ADDR
// end ; if roll = 4 or roll = 3 or roll = 2 or roll = 1 then
17015: LD_VAR 0 4
17019: PUSH
17020: LD_INT 4
17022: EQUAL
17023: PUSH
17024: LD_VAR 0 4
17028: PUSH
17029: LD_INT 3
17031: EQUAL
17032: OR
17033: PUSH
17034: LD_VAR 0 4
17038: PUSH
17039: LD_INT 2
17041: EQUAL
17042: OR
17043: PUSH
17044: LD_VAR 0 4
17048: PUSH
17049: LD_INT 1
17051: EQUAL
17052: OR
17053: IFFALSE 17133
// begin Ru_prep_red = tag ( Ru_prep_red , i , PrepareAreaAndPath ( 4 , 0 ) ) ;
17055: LD_ADDR_EXP 32
17059: PUSH
17060: LD_EXP 32
17064: PPUSH
17065: LD_VAR 0 1
17069: PPUSH
17070: LD_INT 4
17072: PPUSH
17073: LD_INT 0
17075: PPUSH
17076: CALL 19167 0 2
17080: PPUSH
17081: CALL 59897 0 3
17085: ST_TO_ADDR
// time = tick + rand ( 1 1$30 , 2 2$30 ) ;
17086: LD_ADDR_VAR 0 3
17090: PUSH
17091: LD_OWVAR 1
17095: PUSH
17096: LD_INT 3150
17098: PPUSH
17099: LD_INT 5250
17101: PPUSH
17102: CALL_OW 12
17106: PLUS
17107: ST_TO_ADDR
// ru_spawning_time = tag ( ru_spawning_time , i , time ) ;
17108: LD_ADDR_EXP 27
17112: PUSH
17113: LD_EXP 27
17117: PPUSH
17118: LD_VAR 0 1
17122: PPUSH
17123: LD_VAR 0 3
17127: PPUSH
17128: CALL 59897 0 3
17132: ST_TO_ADDR
// end ; end ; end ;
17133: GO 16364
17135: POP
17136: POP
// enable ;
17137: ENABLE
// end ;
17138: PPOPN 5
17140: END
// every 0 0$1 trigger gamestage > 0 and tick < [ 53 53$0 , 54 54$0 , 55 55$0 ] [ difficulty ] do var i , j , temp , count , count_max , area , time , grouptype , path ;
17141: LD_EXP 2
17145: PUSH
17146: LD_INT 0
17148: GREATER
17149: PUSH
17150: LD_OWVAR 1
17154: PUSH
17155: LD_INT 111300
17157: PUSH
17158: LD_INT 113400
17160: PUSH
17161: LD_INT 115500
17163: PUSH
17164: EMPTY
17165: LIST
17166: LIST
17167: LIST
17168: PUSH
17169: LD_OWVAR 67
17173: ARRAY
17174: LESS
17175: AND
17176: IFFALSE 19164
17178: GO 17180
17180: DISABLE
17181: LD_INT 0
17183: PPUSH
17184: PPUSH
17185: PPUSH
17186: PPUSH
17187: PPUSH
17188: PPUSH
17189: PPUSH
17190: PPUSH
17191: PPUSH
// begin Randomize ;
17192: CALL_OW 10
// if gamestage < 3 then
17196: LD_EXP 2
17200: PUSH
17201: LD_INT 3
17203: LESS
17204: IFFALSE 17808
// for i = 1 to scout_warning do
17206: LD_ADDR_VAR 0 1
17210: PUSH
17211: DOUBLE
17212: LD_INT 1
17214: DEC
17215: ST_TO_ADDR
17216: LD_EXP 34
17220: PUSH
17221: FOR_TO
17222: IFFALSE 17806
// if scout_warning [ i ] > 0 then
17224: LD_EXP 34
17228: PUSH
17229: LD_VAR 0 1
17233: ARRAY
17234: PUSH
17235: LD_INT 0
17237: GREATER
17238: IFFALSE 17804
// if tick > ru_spawning_time [ i ] - 0 0$30 then
17240: LD_OWVAR 1
17244: PUSH
17245: LD_EXP 27
17249: PUSH
17250: LD_VAR 0 1
17254: ARRAY
17255: PUSH
17256: LD_INT 1050
17258: MINUS
17259: GREATER
17260: IFFALSE 17804
// begin if i < 6 then
17262: LD_VAR 0 1
17266: PUSH
17267: LD_INT 6
17269: LESS
17270: IFFALSE 17334
// begin grouptype = Ru_prep_red [ i ] [ 1 ] ;
17272: LD_ADDR_VAR 0 8
17276: PUSH
17277: LD_EXP 32
17281: PUSH
17282: LD_VAR 0 1
17286: ARRAY
17287: PUSH
17288: LD_INT 1
17290: ARRAY
17291: ST_TO_ADDR
// area = Ru_prep_red [ i ] [ 3 ] ;
17292: LD_ADDR_VAR 0 6
17296: PUSH
17297: LD_EXP 32
17301: PUSH
17302: LD_VAR 0 1
17306: ARRAY
17307: PUSH
17308: LD_INT 3
17310: ARRAY
17311: ST_TO_ADDR
// path = Ru_prep_red [ i ] [ 3 ] ;
17312: LD_ADDR_VAR 0 9
17316: PUSH
17317: LD_EXP 32
17321: PUSH
17322: LD_VAR 0 1
17326: ARRAY
17327: PUSH
17328: LD_INT 3
17330: ARRAY
17331: ST_TO_ADDR
// end else
17332: GO 17394
// begin grouptype = Ru_prep_mag [ i ] [ 1 ] ;
17334: LD_ADDR_VAR 0 8
17338: PUSH
17339: LD_EXP 33
17343: PUSH
17344: LD_VAR 0 1
17348: ARRAY
17349: PUSH
17350: LD_INT 1
17352: ARRAY
17353: ST_TO_ADDR
// area = Ru_prep_mag [ i ] [ 3 ] ;
17354: LD_ADDR_VAR 0 6
17358: PUSH
17359: LD_EXP 33
17363: PUSH
17364: LD_VAR 0 1
17368: ARRAY
17369: PUSH
17370: LD_INT 3
17372: ARRAY
17373: ST_TO_ADDR
// path = Ru_prep_mag [ i ] [ 3 ] ;
17374: LD_ADDR_VAR 0 9
17378: PUSH
17379: LD_EXP 33
17383: PUSH
17384: LD_VAR 0 1
17388: ARRAY
17389: PUSH
17390: LD_INT 3
17392: ARRAY
17393: ST_TO_ADDR
// end ; scout_warning = tag ( scout_warning , i , 0 ) ;
17394: LD_ADDR_EXP 34
17398: PUSH
17399: LD_EXP 34
17403: PPUSH
17404: LD_VAR 0 1
17408: PPUSH
17409: LD_INT 0
17411: PPUSH
17412: CALL 59897 0 3
17416: ST_TO_ADDR
// if scout_gone = 1 then
17417: LD_EXP 35
17421: PUSH
17422: LD_INT 1
17424: EQUAL
17425: IFFALSE 17429
// continue ;
17427: GO 17221
// case grouptype of 4 :
17429: LD_VAR 0 8
17433: PUSH
17434: LD_INT 4
17436: DOUBLE
17437: EQUAL
17438: IFTRUE 17442
17440: GO 17543
17442: POP
// begin case area of enter1 :
17443: LD_VAR 0 6
17447: PUSH
17448: LD_INT 2
17450: DOUBLE
17451: EQUAL
17452: IFTRUE 17456
17454: GO 17471
17456: POP
// SayRadio ( scout , w_med_centre ) ; enter2 :
17457: LD_EXP 100
17461: PPUSH
17462: LD_STRING w_med_centre
17464: PPUSH
17465: CALL_OW 94
17469: GO 17541
17471: LD_INT 3
17473: DOUBLE
17474: EQUAL
17475: IFTRUE 17479
17477: GO 17494
17479: POP
// SayRadio ( scout , w_med_left ) ; enter3 :
17480: LD_EXP 100
17484: PPUSH
17485: LD_STRING w_med_left
17487: PPUSH
17488: CALL_OW 94
17492: GO 17541
17494: LD_INT 4
17496: DOUBLE
17497: EQUAL
17498: IFTRUE 17502
17500: GO 17517
17502: POP
// SayRadio ( scout , w_med_rightcent ) ; enter4 :
17503: LD_EXP 100
17507: PPUSH
17508: LD_STRING w_med_rightcent
17510: PPUSH
17511: CALL_OW 94
17515: GO 17541
17517: LD_INT 5
17519: DOUBLE
17520: EQUAL
17521: IFTRUE 17525
17523: GO 17540
17525: POP
// SayRadio ( scout , w_med_right ) ; end ;
17526: LD_EXP 100
17530: PPUSH
17531: LD_STRING w_med_right
17533: PPUSH
17534: CALL_OW 94
17538: GO 17541
17540: POP
// end ; 3 :
17541: GO 17804
17543: LD_INT 3
17545: DOUBLE
17546: EQUAL
17547: IFTRUE 17551
17549: GO 17694
17551: POP
// begin if No_seek_groups = 0 then
17552: LD_EXP 36
17556: PUSH
17557: LD_INT 0
17559: EQUAL
17560: IFFALSE 17692
// case area of enter1 :
17562: LD_VAR 0 6
17566: PUSH
17567: LD_INT 2
17569: DOUBLE
17570: EQUAL
17571: IFTRUE 17575
17573: GO 17590
17575: POP
// SayRadio ( scout , w_sp_centre ) ; enter2 :
17576: LD_EXP 100
17580: PPUSH
17581: LD_STRING w_sp_centre
17583: PPUSH
17584: CALL_OW 94
17588: GO 17692
17590: LD_INT 3
17592: DOUBLE
17593: EQUAL
17594: IFTRUE 17598
17596: GO 17613
17598: POP
// SayRadio ( scout , w_sp_left ) ; enter3 :
17599: LD_EXP 100
17603: PPUSH
17604: LD_STRING w_sp_left
17606: PPUSH
17607: CALL_OW 94
17611: GO 17692
17613: LD_INT 4
17615: DOUBLE
17616: EQUAL
17617: IFTRUE 17621
17619: GO 17668
17621: POP
// if path [ 1 ] [ 1 ] = 206 then
17622: LD_VAR 0 9
17626: PUSH
17627: LD_INT 1
17629: ARRAY
17630: PUSH
17631: LD_INT 1
17633: ARRAY
17634: PUSH
17635: LD_INT 206
17637: EQUAL
17638: IFFALSE 17654
// SayRadio ( scout , w_sp_centre ) else
17640: LD_EXP 100
17644: PPUSH
17645: LD_STRING w_sp_centre
17647: PPUSH
17648: CALL_OW 94
17652: GO 17666
// SayRadio ( scout , w_sp_right ) ; enter4 :
17654: LD_EXP 100
17658: PPUSH
17659: LD_STRING w_sp_right
17661: PPUSH
17662: CALL_OW 94
17666: GO 17692
17668: LD_INT 5
17670: DOUBLE
17671: EQUAL
17672: IFTRUE 17676
17674: GO 17691
17676: POP
// SayRadio ( scout , w_sp_right ) ; end ;
17677: LD_EXP 100
17681: PPUSH
17682: LD_STRING w_sp_right
17684: PPUSH
17685: CALL_OW 94
17689: GO 17692
17691: POP
// end ; 2 :
17692: GO 17804
17694: LD_INT 2
17696: DOUBLE
17697: EQUAL
17698: IFTRUE 17702
17700: GO 17803
17702: POP
// begin case area of enter1 :
17703: LD_VAR 0 6
17707: PUSH
17708: LD_INT 2
17710: DOUBLE
17711: EQUAL
17712: IFTRUE 17716
17714: GO 17731
17716: POP
// SayRadio ( scout , w_sc_centre ) ; enter2 :
17717: LD_EXP 100
17721: PPUSH
17722: LD_STRING w_sc_centre
17724: PPUSH
17725: CALL_OW 94
17729: GO 17801
17731: LD_INT 3
17733: DOUBLE
17734: EQUAL
17735: IFTRUE 17739
17737: GO 17754
17739: POP
// SayRadio ( scout , w_cs_left ) ; enter3 :
17740: LD_EXP 100
17744: PPUSH
17745: LD_STRING w_cs_left
17747: PPUSH
17748: CALL_OW 94
17752: GO 17801
17754: LD_INT 4
17756: DOUBLE
17757: EQUAL
17758: IFTRUE 17762
17760: GO 17777
17762: POP
// SayRadio ( scout , w_sc_right ) ; enter4 :
17763: LD_EXP 100
17767: PPUSH
17768: LD_STRING w_sc_right
17770: PPUSH
17771: CALL_OW 94
17775: GO 17801
17777: LD_INT 5
17779: DOUBLE
17780: EQUAL
17781: IFTRUE 17785
17783: GO 17800
17785: POP
// SayRadio ( scout , w_sc_right ) ; end ;
17786: LD_EXP 100
17790: PPUSH
17791: LD_STRING w_sc_right
17793: PPUSH
17794: CALL_OW 94
17798: GO 17801
17800: POP
// end ; end ;
17801: GO 17804
17803: POP
// end ;
17804: GO 17221
17806: POP
17807: POP
// count_max = 6 ;
17808: LD_ADDR_VAR 0 5
17812: PUSH
17813: LD_INT 6
17815: ST_TO_ADDR
// if not ru_spawning_time [ 6 ] = 100 100$0 and not ru_spawning_time [ 7 ] = 100 100$0 then
17816: LD_EXP 27
17820: PUSH
17821: LD_INT 6
17823: ARRAY
17824: PUSH
17825: LD_INT 210000
17827: EQUAL
17828: NOT
17829: PUSH
17830: LD_EXP 27
17834: PUSH
17835: LD_INT 7
17837: ARRAY
17838: PUSH
17839: LD_INT 210000
17841: EQUAL
17842: NOT
17843: AND
17844: IFFALSE 17985
// begin temp = ru_spawning_time [ 6 ] - ru_spawning_time [ 7 ] ;
17846: LD_ADDR_VAR 0 3
17850: PUSH
17851: LD_EXP 27
17855: PUSH
17856: LD_INT 6
17858: ARRAY
17859: PUSH
17860: LD_EXP 27
17864: PUSH
17865: LD_INT 7
17867: ARRAY
17868: MINUS
17869: ST_TO_ADDR
// if temp < 0 then
17870: LD_VAR 0 3
17874: PUSH
17875: LD_INT 0
17877: LESS
17878: IFFALSE 17891
// temp = - temp ;
17880: LD_ADDR_VAR 0 3
17884: PUSH
17885: LD_VAR 0 3
17889: NEG
17890: ST_TO_ADDR
// if temp < 2 2$0 then
17891: LD_VAR 0 3
17895: PUSH
17896: LD_INT 4200
17898: LESS
17899: IFFALSE 17985
// if ru_spawning_time [ 6 ] > ru_spawning_time [ 7 ] then
17901: LD_EXP 27
17905: PUSH
17906: LD_INT 6
17908: ARRAY
17909: PUSH
17910: LD_EXP 27
17914: PUSH
17915: LD_INT 7
17917: ARRAY
17918: GREATER
17919: IFFALSE 17954
// ru_spawning_time = tag ( ru_spawning_time , 6 , ru_spawning_time [ 7 ] + 2 2$0 ) else
17921: LD_ADDR_EXP 27
17925: PUSH
17926: LD_EXP 27
17930: PPUSH
17931: LD_INT 6
17933: PPUSH
17934: LD_EXP 27
17938: PUSH
17939: LD_INT 7
17941: ARRAY
17942: PUSH
17943: LD_INT 4200
17945: PLUS
17946: PPUSH
17947: CALL 59897 0 3
17951: ST_TO_ADDR
17952: GO 17985
// ru_spawning_time = tag ( ru_spawning_time , 7 , ru_spawning_time [ 6 ] + 2 2$0 ) ;
17954: LD_ADDR_EXP 27
17958: PUSH
17959: LD_EXP 27
17963: PPUSH
17964: LD_INT 7
17966: PPUSH
17967: LD_EXP 27
17971: PUSH
17972: LD_INT 6
17974: ARRAY
17975: PUSH
17976: LD_INT 4200
17978: PLUS
17979: PPUSH
17980: CALL 59897 0 3
17984: ST_TO_ADDR
// end ; for i = 6 to ru_spawning_time do
17985: LD_ADDR_VAR 0 1
17989: PUSH
17990: DOUBLE
17991: LD_INT 6
17993: DEC
17994: ST_TO_ADDR
17995: LD_EXP 27
17999: PUSH
18000: FOR_TO
18001: IFFALSE 18095
// for j in ru_heavy_times do
18003: LD_ADDR_VAR 0 2
18007: PUSH
18008: LD_EXP 28
18012: PUSH
18013: FOR_IN
18014: IFFALSE 18091
// if ru_spawning_time [ i ] > j - 1 1$0 and ru_spawning_time [ i ] < j + 1 1$0 then
18016: LD_EXP 27
18020: PUSH
18021: LD_VAR 0 1
18025: ARRAY
18026: PUSH
18027: LD_VAR 0 2
18031: PUSH
18032: LD_INT 2100
18034: MINUS
18035: GREATER
18036: PUSH
18037: LD_EXP 27
18041: PUSH
18042: LD_VAR 0 1
18046: ARRAY
18047: PUSH
18048: LD_VAR 0 2
18052: PUSH
18053: LD_INT 2100
18055: PLUS
18056: LESS
18057: AND
18058: IFFALSE 18089
// ru_spawning_time = tag ( ru_spawning_time , i , j + 2 2$0 ) ;
18060: LD_ADDR_EXP 27
18064: PUSH
18065: LD_EXP 27
18069: PPUSH
18070: LD_VAR 0 1
18074: PPUSH
18075: LD_VAR 0 2
18079: PUSH
18080: LD_INT 4200
18082: PLUS
18083: PPUSH
18084: CALL 59897 0 3
18088: ST_TO_ADDR
18089: GO 18013
18091: POP
18092: POP
18093: GO 18000
18095: POP
18096: POP
// for i = 6 to ru_spawning_time do
18097: LD_ADDR_VAR 0 1
18101: PUSH
18102: DOUBLE
18103: LD_INT 6
18105: DEC
18106: ST_TO_ADDR
18107: LD_EXP 27
18111: PUSH
18112: FOR_TO
18113: IFFALSE 18190
// if ru_spawning_time [ i ] > LegionSpawnTime - 1 1$0 and ru_spawning_time [ i ] < LegionSpawnTime + 1 1$0 then
18115: LD_EXP 27
18119: PUSH
18120: LD_VAR 0 1
18124: ARRAY
18125: PUSH
18126: LD_EXP 151
18130: PUSH
18131: LD_INT 2100
18133: MINUS
18134: GREATER
18135: PUSH
18136: LD_EXP 27
18140: PUSH
18141: LD_VAR 0 1
18145: ARRAY
18146: PUSH
18147: LD_EXP 151
18151: PUSH
18152: LD_INT 2100
18154: PLUS
18155: LESS
18156: AND
18157: IFFALSE 18188
// ru_spawning_time = tag ( ru_spawning_time , i , LegionSpawnTime + 2 2$0 ) ;
18159: LD_ADDR_EXP 27
18163: PUSH
18164: LD_EXP 27
18168: PPUSH
18169: LD_VAR 0 1
18173: PPUSH
18174: LD_EXP 151
18178: PUSH
18179: LD_INT 4200
18181: PLUS
18182: PPUSH
18183: CALL 59897 0 3
18187: ST_TO_ADDR
18188: GO 18112
18190: POP
18191: POP
// count = 0 ;
18192: LD_ADDR_VAR 0 4
18196: PUSH
18197: LD_INT 0
18199: ST_TO_ADDR
// for i in ru_grouptypes do
18200: LD_ADDR_VAR 0 1
18204: PUSH
18205: LD_EXP 22
18209: PUSH
18210: FOR_IN
18211: IFFALSE 18315
// begin if difficulty = 1 then
18213: LD_OWVAR 67
18217: PUSH
18218: LD_INT 1
18220: EQUAL
18221: IFFALSE 18263
// if i = 1 then
18223: LD_VAR 0 1
18227: PUSH
18228: LD_INT 1
18230: EQUAL
18231: IFFALSE 18249
// count = count + 6 else
18233: LD_ADDR_VAR 0 4
18237: PUSH
18238: LD_VAR 0 4
18242: PUSH
18243: LD_INT 6
18245: PLUS
18246: ST_TO_ADDR
18247: GO 18263
// count = count + 1 ;
18249: LD_ADDR_VAR 0 4
18253: PUSH
18254: LD_VAR 0 4
18258: PUSH
18259: LD_INT 1
18261: PLUS
18262: ST_TO_ADDR
// if difficulty > 1 then
18263: LD_OWVAR 67
18267: PUSH
18268: LD_INT 1
18270: GREATER
18271: IFFALSE 18313
// if i = 1 then
18273: LD_VAR 0 1
18277: PUSH
18278: LD_INT 1
18280: EQUAL
18281: IFFALSE 18299
// count = count + 3 else
18283: LD_ADDR_VAR 0 4
18287: PUSH
18288: LD_VAR 0 4
18292: PUSH
18293: LD_INT 3
18295: PLUS
18296: ST_TO_ADDR
18297: GO 18313
// count = count + 1 ;
18299: LD_ADDR_VAR 0 4
18303: PUSH
18304: LD_VAR 0 4
18308: PUSH
18309: LD_INT 1
18311: PLUS
18312: ST_TO_ADDR
// end ;
18313: GO 18210
18315: POP
18316: POP
// temp = [ LegionSpawnTime - 1 1$30 , LegionSpawnTime + 1 1$30 ] ;
18317: LD_ADDR_VAR 0 3
18321: PUSH
18322: LD_EXP 151
18326: PUSH
18327: LD_INT 3150
18329: MINUS
18330: PUSH
18331: LD_EXP 151
18335: PUSH
18336: LD_INT 3150
18338: PLUS
18339: PUSH
18340: EMPTY
18341: LIST
18342: LIST
18343: ST_TO_ADDR
// if tick > temp [ 1 ] and tick < temp [ 2 ] then
18344: LD_OWVAR 1
18348: PUSH
18349: LD_VAR 0 3
18353: PUSH
18354: LD_INT 1
18356: ARRAY
18357: GREATER
18358: PUSH
18359: LD_OWVAR 1
18363: PUSH
18364: LD_VAR 0 3
18368: PUSH
18369: LD_INT 2
18371: ARRAY
18372: LESS
18373: AND
18374: IFFALSE 18401
// count_max = [ 2 , 3 , 4 ] [ difficulty ] ;
18376: LD_ADDR_VAR 0 5
18380: PUSH
18381: LD_INT 2
18383: PUSH
18384: LD_INT 3
18386: PUSH
18387: LD_INT 4
18389: PUSH
18390: EMPTY
18391: LIST
18392: LIST
18393: LIST
18394: PUSH
18395: LD_OWVAR 67
18399: ARRAY
18400: ST_TO_ADDR
// if count < count_max then
18401: LD_VAR 0 4
18405: PUSH
18406: LD_VAR 0 5
18410: LESS
18411: IFFALSE 19163
// for i = 1 to ru_spawning_time do
18413: LD_ADDR_VAR 0 1
18417: PUSH
18418: DOUBLE
18419: LD_INT 1
18421: DEC
18422: ST_TO_ADDR
18423: LD_EXP 27
18427: PUSH
18428: FOR_TO
18429: IFFALSE 19161
// if tick > ru_spawning_time [ i ] and ru_spawning_time [ i ] > 0 then
18431: LD_OWVAR 1
18435: PUSH
18436: LD_EXP 27
18440: PUSH
18441: LD_VAR 0 1
18445: ARRAY
18446: GREATER
18447: PUSH
18448: LD_EXP 27
18452: PUSH
18453: LD_VAR 0 1
18457: ARRAY
18458: PUSH
18459: LD_INT 0
18461: GREATER
18462: AND
18463: IFFALSE 19159
// begin if tick > ru_spawning_time [ i ] + 0 0$3 then
18465: LD_OWVAR 1
18469: PUSH
18470: LD_EXP 27
18474: PUSH
18475: LD_VAR 0 1
18479: ARRAY
18480: PUSH
18481: LD_INT 105
18483: PLUS
18484: GREATER
18485: IFFALSE 18536
// begin time = tick + rand ( 1 1$0 , 2 2$0 ) ;
18487: LD_ADDR_VAR 0 7
18491: PUSH
18492: LD_OWVAR 1
18496: PUSH
18497: LD_INT 2100
18499: PPUSH
18500: LD_INT 4200
18502: PPUSH
18503: CALL_OW 12
18507: PLUS
18508: ST_TO_ADDR
// ru_spawning_time = tag ( ru_spawning_time , i , time ) ;
18509: LD_ADDR_EXP 27
18513: PUSH
18514: LD_EXP 27
18518: PPUSH
18519: LD_VAR 0 1
18523: PPUSH
18524: LD_VAR 0 7
18528: PPUSH
18529: CALL 59897 0 3
18533: ST_TO_ADDR
// break ;
18534: GO 19161
// end ; if i < 6 then
18536: LD_VAR 0 1
18540: PUSH
18541: LD_INT 6
18543: LESS
18544: IFFALSE 18568
// area = Ru_prep_red [ i ] [ 3 ] else
18546: LD_ADDR_VAR 0 6
18550: PUSH
18551: LD_EXP 32
18555: PUSH
18556: LD_VAR 0 1
18560: ARRAY
18561: PUSH
18562: LD_INT 3
18564: ARRAY
18565: ST_TO_ADDR
18566: GO 18588
// area = Ru_prep_mag [ i ] [ 3 ] ;
18568: LD_ADDR_VAR 0 6
18572: PUSH
18573: LD_EXP 33
18577: PUSH
18578: LD_VAR 0 1
18582: ARRAY
18583: PUSH
18584: LD_INT 3
18586: ARRAY
18587: ST_TO_ADDR
// if area = clear_spawn_location [ 1 ] and ru_spawning_time [ i ] > clear_spawn_location [ 2 ] - 0 0$30 and ru_spawning_time [ i ] < clear_spawn_location [ 2 ] + 0 0$30 then
18588: LD_VAR 0 6
18592: PUSH
18593: LD_EXP 133
18597: PUSH
18598: LD_INT 1
18600: ARRAY
18601: EQUAL
18602: PUSH
18603: LD_EXP 27
18607: PUSH
18608: LD_VAR 0 1
18612: ARRAY
18613: PUSH
18614: LD_EXP 133
18618: PUSH
18619: LD_INT 2
18621: ARRAY
18622: PUSH
18623: LD_INT 1050
18625: MINUS
18626: GREATER
18627: AND
18628: PUSH
18629: LD_EXP 27
18633: PUSH
18634: LD_VAR 0 1
18638: ARRAY
18639: PUSH
18640: LD_EXP 133
18644: PUSH
18645: LD_INT 2
18647: ARRAY
18648: PUSH
18649: LD_INT 1050
18651: PLUS
18652: LESS
18653: AND
18654: IFFALSE 18693
// begin ru_spawning_time = tag ( ru_spawning_time , i , ru_spawning_time [ i ] + 0 0$40 ) ;
18656: LD_ADDR_EXP 27
18660: PUSH
18661: LD_EXP 27
18665: PPUSH
18666: LD_VAR 0 1
18670: PPUSH
18671: LD_EXP 27
18675: PUSH
18676: LD_VAR 0 1
18680: ARRAY
18681: PUSH
18682: LD_INT 1400
18684: PLUS
18685: PPUSH
18686: CALL 59897 0 3
18690: ST_TO_ADDR
// break ;
18691: GO 19161
// end ; if i < 6 then
18693: LD_VAR 0 1
18697: PUSH
18698: LD_INT 6
18700: LESS
18701: IFFALSE 18725
// temp = Ru_prep_red [ i ] [ 1 ] else
18703: LD_ADDR_VAR 0 3
18707: PUSH
18708: LD_EXP 32
18712: PUSH
18713: LD_VAR 0 1
18717: ARRAY
18718: PUSH
18719: LD_INT 1
18721: ARRAY
18722: ST_TO_ADDR
18723: GO 18745
// temp = Ru_prep_mag [ i ] [ 1 ] ;
18725: LD_ADDR_VAR 0 3
18729: PUSH
18730: LD_EXP 33
18734: PUSH
18735: LD_VAR 0 1
18739: ARRAY
18740: PUSH
18741: LD_INT 1
18743: ARRAY
18744: ST_TO_ADDR
// if No_seek_groups = 1 and temp = 3 then
18745: LD_EXP 36
18749: PUSH
18750: LD_INT 1
18752: EQUAL
18753: PUSH
18754: LD_VAR 0 3
18758: PUSH
18759: LD_INT 3
18761: EQUAL
18762: AND
18763: IFFALSE 18839
// if i < 6 then
18765: LD_VAR 0 1
18769: PUSH
18770: LD_INT 6
18772: LESS
18773: IFFALSE 18808
// Ru_prep_red = tag ( Ru_prep_red , i , PrepareAreaAndPath ( 4 , 0 ) ) else
18775: LD_ADDR_EXP 32
18779: PUSH
18780: LD_EXP 32
18784: PPUSH
18785: LD_VAR 0 1
18789: PPUSH
18790: LD_INT 4
18792: PPUSH
18793: LD_INT 0
18795: PPUSH
18796: CALL 19167 0 2
18800: PPUSH
18801: CALL 59897 0 3
18805: ST_TO_ADDR
18806: GO 18839
// Ru_prep_mag = tag ( Ru_prep_mag , i , PrepareAreaAndPath ( 4 , 0 ) ) ;
18808: LD_ADDR_EXP 33
18812: PUSH
18813: LD_EXP 33
18817: PPUSH
18818: LD_VAR 0 1
18822: PPUSH
18823: LD_INT 4
18825: PPUSH
18826: LD_INT 0
18828: PPUSH
18829: CALL 19167 0 2
18833: PPUSH
18834: CALL 59897 0 3
18838: ST_TO_ADDR
// if i < 6 then
18839: LD_VAR 0 1
18843: PUSH
18844: LD_INT 6
18846: LESS
18847: IFFALSE 18961
// begin SpawnTheGroup ( Ru_prep_red [ i ] [ 1 ] , Ru_prep_red [ i ] [ 2 ] , Ru_prep_red [ i ] [ 3 ] , Ru_prep_red [ i ] [ 4 ] ) ;
18849: LD_EXP 32
18853: PUSH
18854: LD_VAR 0 1
18858: ARRAY
18859: PUSH
18860: LD_INT 1
18862: ARRAY
18863: PPUSH
18864: LD_EXP 32
18868: PUSH
18869: LD_VAR 0 1
18873: ARRAY
18874: PUSH
18875: LD_INT 2
18877: ARRAY
18878: PPUSH
18879: LD_EXP 32
18883: PUSH
18884: LD_VAR 0 1
18888: ARRAY
18889: PUSH
18890: LD_INT 3
18892: ARRAY
18893: PPUSH
18894: LD_EXP 32
18898: PUSH
18899: LD_VAR 0 1
18903: ARRAY
18904: PUSH
18905: LD_INT 4
18907: ARRAY
18908: PPUSH
18909: CALL 20417 0 4
// Ru_prep_red = tag ( Ru_prep_red , i , 0 ) ;
18913: LD_ADDR_EXP 32
18917: PUSH
18918: LD_EXP 32
18922: PPUSH
18923: LD_VAR 0 1
18927: PPUSH
18928: LD_INT 0
18930: PPUSH
18931: CALL 59897 0 3
18935: ST_TO_ADDR
// ru_spawning_time = tag ( ru_spawning_time , i , 0 ) ;
18936: LD_ADDR_EXP 27
18940: PUSH
18941: LD_EXP 27
18945: PPUSH
18946: LD_VAR 0 1
18950: PPUSH
18951: LD_INT 0
18953: PPUSH
18954: CALL 59897 0 3
18958: ST_TO_ADDR
// end else
18959: GO 19159
// begin temp = 0 ;
18961: LD_ADDR_VAR 0 3
18965: PUSH
18966: LD_INT 0
18968: ST_TO_ADDR
// for j in ru_grouptypes do
18969: LD_ADDR_VAR 0 2
18973: PUSH
18974: LD_EXP 22
18978: PUSH
18979: FOR_IN
18980: IFFALSE 19037
// if j = 1 then
18982: LD_VAR 0 2
18986: PUSH
18987: LD_INT 1
18989: EQUAL
18990: IFFALSE 19035
// begin temp = 1 ;
18992: LD_ADDR_VAR 0 3
18996: PUSH
18997: LD_INT 1
18999: ST_TO_ADDR
// ru_spawning_time = tag ( ru_spawning_time , i , ru_spawning_time [ i ] + 0 0$30 ) ;
19000: LD_ADDR_EXP 27
19004: PUSH
19005: LD_EXP 27
19009: PPUSH
19010: LD_VAR 0 1
19014: PPUSH
19015: LD_EXP 27
19019: PUSH
19020: LD_VAR 0 1
19024: ARRAY
19025: PUSH
19026: LD_INT 1050
19028: PLUS
19029: PPUSH
19030: CALL 59897 0 3
19034: ST_TO_ADDR
// end ;
19035: GO 18979
19037: POP
19038: POP
// if temp = 0 then
19039: LD_VAR 0 3
19043: PUSH
19044: LD_INT 0
19046: EQUAL
19047: IFFALSE 19159
// begin SpawnTheGroup ( Ru_prep_mag [ i ] [ 1 ] , Ru_prep_mag [ i ] [ 2 ] , Ru_prep_mag [ i ] [ 3 ] , Ru_prep_mag [ i ] [ 4 ] ) ;
19049: LD_EXP 33
19053: PUSH
19054: LD_VAR 0 1
19058: ARRAY
19059: PUSH
19060: LD_INT 1
19062: ARRAY
19063: PPUSH
19064: LD_EXP 33
19068: PUSH
19069: LD_VAR 0 1
19073: ARRAY
19074: PUSH
19075: LD_INT 2
19077: ARRAY
19078: PPUSH
19079: LD_EXP 33
19083: PUSH
19084: LD_VAR 0 1
19088: ARRAY
19089: PUSH
19090: LD_INT 3
19092: ARRAY
19093: PPUSH
19094: LD_EXP 33
19098: PUSH
19099: LD_VAR 0 1
19103: ARRAY
19104: PUSH
19105: LD_INT 4
19107: ARRAY
19108: PPUSH
19109: CALL 20417 0 4
// Ru_prep_mag = tag ( Ru_prep_mag , i , 0 ) ;
19113: LD_ADDR_EXP 33
19117: PUSH
19118: LD_EXP 33
19122: PPUSH
19123: LD_VAR 0 1
19127: PPUSH
19128: LD_INT 0
19130: PPUSH
19131: CALL 59897 0 3
19135: ST_TO_ADDR
// ru_spawning_time = tag ( ru_spawning_time , i , 100 100$0 ) ;
19136: LD_ADDR_EXP 27
19140: PUSH
19141: LD_EXP 27
19145: PPUSH
19146: LD_VAR 0 1
19150: PPUSH
19151: LD_INT 210000
19153: PPUSH
19154: CALL 59897 0 3
19158: ST_TO_ADDR
// end ; end ; end ;
19159: GO 18428
19161: POP
19162: POP
// enable ;
19163: ENABLE
// end ;
19164: PPOPN 9
19166: END
// export function PrepareAreaAndPath ( group , mag ) ; var i , roll , area , path , incomming_group ; begin
19167: LD_INT 0
19169: PPUSH
19170: PPUSH
19171: PPUSH
19172: PPUSH
19173: PPUSH
19174: PPUSH
// Randomize ;
19175: CALL_OW 10
// if mag then
19179: LD_VAR 0 2
19183: IFFALSE 19193
// magenta = 1 ;
19185: LD_ADDR_EXP 12
19189: PUSH
19190: LD_INT 1
19192: ST_TO_ADDR
// if group = 2 then
19193: LD_VAR 0 1
19197: PUSH
19198: LD_INT 2
19200: EQUAL
19201: IFFALSE 19753
// begin incomming_group = determine_group ( 2 ) ;
19203: LD_ADDR_VAR 0 8
19207: PUSH
19208: LD_INT 2
19210: PPUSH
19211: CALL 36113 0 1
19215: ST_TO_ADDR
// roll = Randomized_1_4_list [ 1 ] ;
19216: LD_ADDR_VAR 0 5
19220: PUSH
19221: LD_EXP 154
19225: PUSH
19226: LD_INT 1
19228: ARRAY
19229: ST_TO_ADDR
// Randomized_1_4_list = delete ( Randomized_1_4_list , 1 ) ;
19230: LD_ADDR_EXP 154
19234: PUSH
19235: LD_EXP 154
19239: PPUSH
19240: LD_INT 1
19242: PPUSH
19243: CALL_OW 3
19247: ST_TO_ADDR
// case roll of 1 :
19248: LD_VAR 0 5
19252: PUSH
19253: LD_INT 1
19255: DOUBLE
19256: EQUAL
19257: IFTRUE 19261
19259: GO 19272
19261: POP
// area = enter1 ; 2 :
19262: LD_ADDR_VAR 0 6
19266: PUSH
19267: LD_INT 2
19269: ST_TO_ADDR
19270: GO 19330
19272: LD_INT 2
19274: DOUBLE
19275: EQUAL
19276: IFTRUE 19280
19278: GO 19291
19280: POP
// area = enter2 ; 3 :
19281: LD_ADDR_VAR 0 6
19285: PUSH
19286: LD_INT 3
19288: ST_TO_ADDR
19289: GO 19330
19291: LD_INT 3
19293: DOUBLE
19294: EQUAL
19295: IFTRUE 19299
19297: GO 19310
19299: POP
// area = enter3 ; 4 :
19300: LD_ADDR_VAR 0 6
19304: PUSH
19305: LD_INT 4
19307: ST_TO_ADDR
19308: GO 19330
19310: LD_INT 4
19312: DOUBLE
19313: EQUAL
19314: IFTRUE 19318
19316: GO 19329
19318: POP
// area = enter4 ; end ;
19319: LD_ADDR_VAR 0 6
19323: PUSH
19324: LD_INT 5
19326: ST_TO_ADDR
19327: GO 19330
19329: POP
// case roll of 4 :
19330: LD_VAR 0 5
19334: PUSH
19335: LD_INT 4
19337: DOUBLE
19338: EQUAL
19339: IFTRUE 19343
19341: GO 19463
19343: POP
// case rand ( 1 , 5 ) of 1 :
19344: LD_INT 1
19346: PPUSH
19347: LD_INT 5
19349: PPUSH
19350: CALL_OW 12
19354: PUSH
19355: LD_INT 1
19357: DOUBLE
19358: EQUAL
19359: IFTRUE 19363
19361: GO 19376
19363: POP
// path = path_scout1a ; 2 :
19364: LD_ADDR_VAR 0 7
19368: PUSH
19369: LD_EXP 48
19373: ST_TO_ADDR
19374: GO 19461
19376: LD_INT 2
19378: DOUBLE
19379: EQUAL
19380: IFTRUE 19384
19382: GO 19397
19384: POP
// path = path_scout1b ; 3 :
19385: LD_ADDR_VAR 0 7
19389: PUSH
19390: LD_EXP 49
19394: ST_TO_ADDR
19395: GO 19461
19397: LD_INT 3
19399: DOUBLE
19400: EQUAL
19401: IFTRUE 19405
19403: GO 19418
19405: POP
// path = path_scout1c ; 4 :
19406: LD_ADDR_VAR 0 7
19410: PUSH
19411: LD_EXP 50
19415: ST_TO_ADDR
19416: GO 19461
19418: LD_INT 4
19420: DOUBLE
19421: EQUAL
19422: IFTRUE 19426
19424: GO 19439
19426: POP
// path = path_scout1d ; 5 :
19427: LD_ADDR_VAR 0 7
19431: PUSH
19432: LD_EXP 51
19436: ST_TO_ADDR
19437: GO 19461
19439: LD_INT 5
19441: DOUBLE
19442: EQUAL
19443: IFTRUE 19447
19445: GO 19460
19447: POP
// path = path_scout1e ; end ; 3 :
19448: LD_ADDR_VAR 0 7
19452: PUSH
19453: LD_EXP 52
19457: ST_TO_ADDR
19458: GO 19461
19460: POP
19461: GO 19720
19463: LD_INT 3
19465: DOUBLE
19466: EQUAL
19467: IFTRUE 19471
19469: GO 19484
19471: POP
// path = path_scout2 ; 1 :
19472: LD_ADDR_VAR 0 7
19476: PUSH
19477: LD_EXP 53
19481: ST_TO_ADDR
19482: GO 19720
19484: LD_INT 1
19486: DOUBLE
19487: EQUAL
19488: IFTRUE 19492
19490: GO 19633
19492: POP
// case rand ( 1 , 6 ) of 1 :
19493: LD_INT 1
19495: PPUSH
19496: LD_INT 6
19498: PPUSH
19499: CALL_OW 12
19503: PUSH
19504: LD_INT 1
19506: DOUBLE
19507: EQUAL
19508: IFTRUE 19512
19510: GO 19525
19512: POP
// path = path_scout3a ; 2 :
19513: LD_ADDR_VAR 0 7
19517: PUSH
19518: LD_EXP 55
19522: ST_TO_ADDR
19523: GO 19631
19525: LD_INT 2
19527: DOUBLE
19528: EQUAL
19529: IFTRUE 19533
19531: GO 19546
19533: POP
// path = path_scout3b ; 3 :
19534: LD_ADDR_VAR 0 7
19538: PUSH
19539: LD_EXP 56
19543: ST_TO_ADDR
19544: GO 19631
19546: LD_INT 3
19548: DOUBLE
19549: EQUAL
19550: IFTRUE 19554
19552: GO 19567
19554: POP
// path = path_scout3c ; 4 :
19555: LD_ADDR_VAR 0 7
19559: PUSH
19560: LD_EXP 57
19564: ST_TO_ADDR
19565: GO 19631
19567: LD_INT 4
19569: DOUBLE
19570: EQUAL
19571: IFTRUE 19575
19573: GO 19588
19575: POP
// path = path_scout3d ; 5 :
19576: LD_ADDR_VAR 0 7
19580: PUSH
19581: LD_EXP 58
19585: ST_TO_ADDR
19586: GO 19631
19588: LD_INT 5
19590: DOUBLE
19591: EQUAL
19592: IFTRUE 19596
19594: GO 19609
19596: POP
// path = path_scout3e ; 6 :
19597: LD_ADDR_VAR 0 7
19601: PUSH
19602: LD_EXP 59
19606: ST_TO_ADDR
19607: GO 19631
19609: LD_INT 6
19611: DOUBLE
19612: EQUAL
19613: IFTRUE 19617
19615: GO 19630
19617: POP
// path = path_scout3f ; end ; 2 :
19618: LD_ADDR_VAR 0 7
19622: PUSH
19623: LD_EXP 60
19627: ST_TO_ADDR
19628: GO 19631
19630: POP
19631: GO 19720
19633: LD_INT 2
19635: DOUBLE
19636: EQUAL
19637: IFTRUE 19641
19639: GO 19719
19641: POP
// case rand ( 1 , 3 ) of 1 :
19642: LD_INT 1
19644: PPUSH
19645: LD_INT 3
19647: PPUSH
19648: CALL_OW 12
19652: PUSH
19653: LD_INT 1
19655: DOUBLE
19656: EQUAL
19657: IFTRUE 19661
19659: GO 19674
19661: POP
// path = path_scout4a ; 2 :
19662: LD_ADDR_VAR 0 7
19666: PUSH
19667: LD_EXP 62
19671: ST_TO_ADDR
19672: GO 19717
19674: LD_INT 2
19676: DOUBLE
19677: EQUAL
19678: IFTRUE 19682
19680: GO 19695
19682: POP
// path = path_scout4b ; 3 :
19683: LD_ADDR_VAR 0 7
19687: PUSH
19688: LD_EXP 63
19692: ST_TO_ADDR
19693: GO 19717
19695: LD_INT 3
19697: DOUBLE
19698: EQUAL
19699: IFTRUE 19703
19701: GO 19716
19703: POP
// path = path_scout4c ; end ; end ;
19704: LD_ADDR_VAR 0 7
19708: PUSH
19709: LD_EXP 64
19713: ST_TO_ADDR
19714: GO 19717
19716: POP
19717: GO 19720
19719: POP
// result = [ group , incomming_group , area , path ] ;
19720: LD_ADDR_VAR 0 3
19724: PUSH
19725: LD_VAR 0 1
19729: PUSH
19730: LD_VAR 0 8
19734: PUSH
19735: LD_VAR 0 6
19739: PUSH
19740: LD_VAR 0 7
19744: PUSH
19745: EMPTY
19746: LIST
19747: LIST
19748: LIST
19749: LIST
19750: ST_TO_ADDR
// end else
19751: GO 20404
// begin if group = 3 then
19753: LD_VAR 0 1
19757: PUSH
19758: LD_INT 3
19760: EQUAL
19761: IFFALSE 19778
// incomming_group = determine_group ( 3 ) else
19763: LD_ADDR_VAR 0 8
19767: PUSH
19768: LD_INT 3
19770: PPUSH
19771: CALL 36113 0 1
19775: ST_TO_ADDR
19776: GO 19791
// incomming_group = determine_group ( 4 ) ;
19778: LD_ADDR_VAR 0 8
19782: PUSH
19783: LD_INT 4
19785: PPUSH
19786: CALL 36113 0 1
19790: ST_TO_ADDR
// roll = Randomized_1_4_list [ 1 ] ;
19791: LD_ADDR_VAR 0 5
19795: PUSH
19796: LD_EXP 154
19800: PUSH
19801: LD_INT 1
19803: ARRAY
19804: ST_TO_ADDR
// Randomized_1_4_list = delete ( Randomized_1_4_list , 1 ) ;
19805: LD_ADDR_EXP 154
19809: PUSH
19810: LD_EXP 154
19814: PPUSH
19815: LD_INT 1
19817: PPUSH
19818: CALL_OW 3
19822: ST_TO_ADDR
// case roll of 1 :
19823: LD_VAR 0 5
19827: PUSH
19828: LD_INT 1
19830: DOUBLE
19831: EQUAL
19832: IFTRUE 19836
19834: GO 19985
19836: POP
// begin case rand ( 1 , 6 ) of 1 :
19837: LD_INT 1
19839: PPUSH
19840: LD_INT 6
19842: PPUSH
19843: CALL_OW 12
19847: PUSH
19848: LD_INT 1
19850: DOUBLE
19851: EQUAL
19852: IFTRUE 19856
19854: GO 19869
19856: POP
// path = path1a ; 2 :
19857: LD_ADDR_VAR 0 7
19861: PUSH
19862: LD_EXP 67
19866: ST_TO_ADDR
19867: GO 19975
19869: LD_INT 2
19871: DOUBLE
19872: EQUAL
19873: IFTRUE 19877
19875: GO 19890
19877: POP
// path = path1b ; 3 :
19878: LD_ADDR_VAR 0 7
19882: PUSH
19883: LD_EXP 68
19887: ST_TO_ADDR
19888: GO 19975
19890: LD_INT 3
19892: DOUBLE
19893: EQUAL
19894: IFTRUE 19898
19896: GO 19911
19898: POP
// path = path1c ; 4 :
19899: LD_ADDR_VAR 0 7
19903: PUSH
19904: LD_EXP 69
19908: ST_TO_ADDR
19909: GO 19975
19911: LD_INT 4
19913: DOUBLE
19914: EQUAL
19915: IFTRUE 19919
19917: GO 19932
19919: POP
// path = path1d ; 5 :
19920: LD_ADDR_VAR 0 7
19924: PUSH
19925: LD_EXP 70
19929: ST_TO_ADDR
19930: GO 19975
19932: LD_INT 5
19934: DOUBLE
19935: EQUAL
19936: IFTRUE 19940
19938: GO 19953
19940: POP
// path = path1e ; 6 :
19941: LD_ADDR_VAR 0 7
19945: PUSH
19946: LD_EXP 71
19950: ST_TO_ADDR
19951: GO 19975
19953: LD_INT 6
19955: DOUBLE
19956: EQUAL
19957: IFTRUE 19961
19959: GO 19974
19961: POP
// path = path1f ; end ;
19962: LD_ADDR_VAR 0 7
19966: PUSH
19967: LD_EXP 72
19971: ST_TO_ADDR
19972: GO 19975
19974: POP
// area = enter1 ;
19975: LD_ADDR_VAR 0 6
19979: PUSH
19980: LD_INT 2
19982: ST_TO_ADDR
// end ; 2 :
19983: GO 20373
19985: LD_INT 2
19987: DOUBLE
19988: EQUAL
19989: IFTRUE 19993
19991: GO 20142
19993: POP
// begin case rand ( 1 , 6 ) of 1 :
19994: LD_INT 1
19996: PPUSH
19997: LD_INT 6
19999: PPUSH
20000: CALL_OW 12
20004: PUSH
20005: LD_INT 1
20007: DOUBLE
20008: EQUAL
20009: IFTRUE 20013
20011: GO 20026
20013: POP
// path = path2a ; 2 :
20014: LD_ADDR_VAR 0 7
20018: PUSH
20019: LD_EXP 73
20023: ST_TO_ADDR
20024: GO 20132
20026: LD_INT 2
20028: DOUBLE
20029: EQUAL
20030: IFTRUE 20034
20032: GO 20047
20034: POP
// path = path2b ; 3 :
20035: LD_ADDR_VAR 0 7
20039: PUSH
20040: LD_EXP 74
20044: ST_TO_ADDR
20045: GO 20132
20047: LD_INT 3
20049: DOUBLE
20050: EQUAL
20051: IFTRUE 20055
20053: GO 20068
20055: POP
// path = path2c ; 4 :
20056: LD_ADDR_VAR 0 7
20060: PUSH
20061: LD_EXP 75
20065: ST_TO_ADDR
20066: GO 20132
20068: LD_INT 4
20070: DOUBLE
20071: EQUAL
20072: IFTRUE 20076
20074: GO 20089
20076: POP
// path = path2d ; 5 :
20077: LD_ADDR_VAR 0 7
20081: PUSH
20082: LD_EXP 76
20086: ST_TO_ADDR
20087: GO 20132
20089: LD_INT 5
20091: DOUBLE
20092: EQUAL
20093: IFTRUE 20097
20095: GO 20110
20097: POP
// path = path2e ; 6 :
20098: LD_ADDR_VAR 0 7
20102: PUSH
20103: LD_EXP 77
20107: ST_TO_ADDR
20108: GO 20132
20110: LD_INT 6
20112: DOUBLE
20113: EQUAL
20114: IFTRUE 20118
20116: GO 20131
20118: POP
// path = path2f ; end ;
20119: LD_ADDR_VAR 0 7
20123: PUSH
20124: LD_EXP 78
20128: ST_TO_ADDR
20129: GO 20132
20131: POP
// area = enter2 ;
20132: LD_ADDR_VAR 0 6
20136: PUSH
20137: LD_INT 3
20139: ST_TO_ADDR
// end ; 3 :
20140: GO 20373
20142: LD_INT 3
20144: DOUBLE
20145: EQUAL
20146: IFTRUE 20150
20148: GO 20278
20150: POP
// begin case rand ( 1 , 5 ) of 1 :
20151: LD_INT 1
20153: PPUSH
20154: LD_INT 5
20156: PPUSH
20157: CALL_OW 12
20161: PUSH
20162: LD_INT 1
20164: DOUBLE
20165: EQUAL
20166: IFTRUE 20170
20168: GO 20183
20170: POP
// path = path3a ; 2 :
20171: LD_ADDR_VAR 0 7
20175: PUSH
20176: LD_EXP 79
20180: ST_TO_ADDR
20181: GO 20268
20183: LD_INT 2
20185: DOUBLE
20186: EQUAL
20187: IFTRUE 20191
20189: GO 20204
20191: POP
// path = path3b ; 3 :
20192: LD_ADDR_VAR 0 7
20196: PUSH
20197: LD_EXP 80
20201: ST_TO_ADDR
20202: GO 20268
20204: LD_INT 3
20206: DOUBLE
20207: EQUAL
20208: IFTRUE 20212
20210: GO 20225
20212: POP
// path = path3c ; 4 :
20213: LD_ADDR_VAR 0 7
20217: PUSH
20218: LD_EXP 81
20222: ST_TO_ADDR
20223: GO 20268
20225: LD_INT 4
20227: DOUBLE
20228: EQUAL
20229: IFTRUE 20233
20231: GO 20246
20233: POP
// path = path3d ; 5 :
20234: LD_ADDR_VAR 0 7
20238: PUSH
20239: LD_EXP 82
20243: ST_TO_ADDR
20244: GO 20268
20246: LD_INT 5
20248: DOUBLE
20249: EQUAL
20250: IFTRUE 20254
20252: GO 20267
20254: POP
// path = path3e ; end ;
20255: LD_ADDR_VAR 0 7
20259: PUSH
20260: LD_EXP 83
20264: ST_TO_ADDR
20265: GO 20268
20267: POP
// area = enter3 ;
20268: LD_ADDR_VAR 0 6
20272: PUSH
20273: LD_INT 4
20275: ST_TO_ADDR
// end ; 4 :
20276: GO 20373
20278: LD_INT 4
20280: DOUBLE
20281: EQUAL
20282: IFTRUE 20286
20284: GO 20372
20286: POP
// begin case rand ( 1 , 3 ) of 1 :
20287: LD_INT 1
20289: PPUSH
20290: LD_INT 3
20292: PPUSH
20293: CALL_OW 12
20297: PUSH
20298: LD_INT 1
20300: DOUBLE
20301: EQUAL
20302: IFTRUE 20306
20304: GO 20319
20306: POP
// path = path4a ; 2 :
20307: LD_ADDR_VAR 0 7
20311: PUSH
20312: LD_EXP 84
20316: ST_TO_ADDR
20317: GO 20362
20319: LD_INT 2
20321: DOUBLE
20322: EQUAL
20323: IFTRUE 20327
20325: GO 20340
20327: POP
// path = path4b ; 3 :
20328: LD_ADDR_VAR 0 7
20332: PUSH
20333: LD_EXP 85
20337: ST_TO_ADDR
20338: GO 20362
20340: LD_INT 3
20342: DOUBLE
20343: EQUAL
20344: IFTRUE 20348
20346: GO 20361
20348: POP
// path = path4c ; end ;
20349: LD_ADDR_VAR 0 7
20353: PUSH
20354: LD_EXP 86
20358: ST_TO_ADDR
20359: GO 20362
20361: POP
// area = enter4 ;
20362: LD_ADDR_VAR 0 6
20366: PUSH
20367: LD_INT 5
20369: ST_TO_ADDR
// end ; end ;
20370: GO 20373
20372: POP
// result = [ group , incomming_group , area , path ] ;
20373: LD_ADDR_VAR 0 3
20377: PUSH
20378: LD_VAR 0 1
20382: PUSH
20383: LD_VAR 0 8
20387: PUSH
20388: LD_VAR 0 6
20392: PUSH
20393: LD_VAR 0 7
20397: PUSH
20398: EMPTY
20399: LIST
20400: LIST
20401: LIST
20402: LIST
20403: ST_TO_ADDR
// end ; magenta = 0 ;
20404: LD_ADDR_EXP 12
20408: PUSH
20409: LD_INT 0
20411: ST_TO_ADDR
// end ;
20412: LD_VAR 0 3
20416: RET
// function SpawnTheGroup ( Grouptype , Groupunits , Area , Path ) ; var i ; begin
20417: LD_INT 0
20419: PPUSH
20420: PPUSH
// for i in Groupunits do
20421: LD_ADDR_VAR 0 6
20425: PUSH
20426: LD_VAR 0 2
20430: PUSH
20431: FOR_IN
20432: IFFALSE 20473
// begin if Area > 0 then
20434: LD_VAR 0 3
20438: PUSH
20439: LD_INT 0
20441: GREATER
20442: IFFALSE 20463
// PlaceUnitArea ( i , Area , false ) else
20444: LD_VAR 0 6
20448: PPUSH
20449: LD_VAR 0 3
20453: PPUSH
20454: LD_INT 0
20456: PPUSH
20457: CALL_OW 49
20461: GO 20471
// exclamation = 4 ;
20463: LD_ADDR_EXP 186
20467: PUSH
20468: LD_INT 4
20470: ST_TO_ADDR
// end ;
20471: GO 20431
20473: POP
20474: POP
// ru_grouptypes = ru_grouptypes ^ [ Grouptype ] ;
20475: LD_ADDR_EXP 22
20479: PUSH
20480: LD_EXP 22
20484: PUSH
20485: LD_VAR 0 1
20489: PUSH
20490: EMPTY
20491: LIST
20492: ADD
20493: ST_TO_ADDR
// Russians = Russians ^ [ Groupunits ] ;
20494: LD_ADDR_EXP 10
20498: PUSH
20499: LD_EXP 10
20503: PUSH
20504: LD_VAR 0 2
20508: PUSH
20509: EMPTY
20510: LIST
20511: ADD
20512: ST_TO_ADDR
// ru_groupside = ru_groupside ^ GetSide ( Groupunits [ 1 ] ) ;
20513: LD_ADDR_EXP 26
20517: PUSH
20518: LD_EXP 26
20522: PUSH
20523: LD_VAR 0 2
20527: PUSH
20528: LD_INT 1
20530: ARRAY
20531: PPUSH
20532: CALL_OW 255
20536: ADD
20537: ST_TO_ADDR
// ru_paths = ru_paths ^ [ Path ] ;
20538: LD_ADDR_EXP 21
20542: PUSH
20543: LD_EXP 21
20547: PUSH
20548: LD_VAR 0 4
20552: PUSH
20553: EMPTY
20554: LIST
20555: ADD
20556: ST_TO_ADDR
// ru_groupstatus = ru_groupstatus ^ [ 0 ] ;
20557: LD_ADDR_EXP 23
20561: PUSH
20562: LD_EXP 23
20566: PUSH
20567: LD_INT 0
20569: PUSH
20570: EMPTY
20571: LIST
20572: ADD
20573: ST_TO_ADDR
// ru_grouphexcount = ru_grouphexcount ^ [ 0 ] ;
20574: LD_ADDR_EXP 24
20578: PUSH
20579: LD_EXP 24
20583: PUSH
20584: LD_INT 0
20586: PUSH
20587: EMPTY
20588: LIST
20589: ADD
20590: ST_TO_ADDR
// ru_targethex = ru_targethex ^ [ [ 0 , 0 ] ] ;
20591: LD_ADDR_EXP 25
20595: PUSH
20596: LD_EXP 25
20600: PUSH
20601: LD_INT 0
20603: PUSH
20604: LD_INT 0
20606: PUSH
20607: EMPTY
20608: LIST
20609: LIST
20610: PUSH
20611: EMPTY
20612: LIST
20613: ADD
20614: ST_TO_ADDR
// Target_List = Target_List ^ 0 ;
20615: LD_ADDR_EXP 14
20619: PUSH
20620: LD_EXP 14
20624: PUSH
20625: LD_INT 0
20627: ADD
20628: ST_TO_ADDR
// target_hg = target_hg ^ [ 0 ] ;
20629: LD_ADDR_EXP 16
20633: PUSH
20634: LD_EXP 16
20638: PUSH
20639: LD_INT 0
20641: PUSH
20642: EMPTY
20643: LIST
20644: ADD
20645: ST_TO_ADDR
// target_gun = target_gun ^ [ 0 ] ;
20646: LD_ADDR_EXP 17
20650: PUSH
20651: LD_EXP 17
20655: PUSH
20656: LD_INT 0
20658: PUSH
20659: EMPTY
20660: LIST
20661: ADD
20662: ST_TO_ADDR
// target_all = target_all ^ [ 0 ] ;
20663: LD_ADDR_EXP 18
20667: PUSH
20668: LD_EXP 18
20672: PUSH
20673: LD_INT 0
20675: PUSH
20676: EMPTY
20677: LIST
20678: ADD
20679: ST_TO_ADDR
// target_bazooka = target_bazooka ^ [ 0 ] ;
20680: LD_ADDR_EXP 19
20684: PUSH
20685: LD_EXP 19
20689: PUSH
20690: LD_INT 0
20692: PUSH
20693: EMPTY
20694: LIST
20695: ADD
20696: ST_TO_ADDR
// bazooka_engagetime = bazooka_engagetime ^ 999 999$0 ;
20697: LD_ADDR_EXP 20
20701: PUSH
20702: LD_EXP 20
20706: PUSH
20707: LD_INT 2097900
20709: ADD
20710: ST_TO_ADDR
// end ;
20711: LD_VAR 0 5
20715: RET
// every 0 0$1 trigger gamestage > 0 and number_of_Ar5_groups_to_go > 0 do var i , j , path , incomming_group , area , temp_list , temp_val ;
20716: LD_EXP 2
20720: PUSH
20721: LD_INT 0
20723: GREATER
20724: PUSH
20725: LD_EXP 123
20729: PUSH
20730: LD_INT 0
20732: GREATER
20733: AND
20734: IFFALSE 21519
20736: GO 20738
20738: DISABLE
20739: LD_INT 0
20741: PPUSH
20742: PPUSH
20743: PPUSH
20744: PPUSH
20745: PPUSH
20746: PPUSH
20747: PPUSH
// begin Randomize ;
20748: CALL_OW 10
// if tick > Ar5_timeup then
20752: LD_OWVAR 1
20756: PUSH
20757: LD_EXP 121
20761: GREATER
20762: IFFALSE 21518
// begin for i in Ar5_time do
20764: LD_ADDR_VAR 0 1
20768: PUSH
20769: LD_EXP 120
20773: PUSH
20774: FOR_IN
20775: IFFALSE 20813
// if tick < i then
20777: LD_OWVAR 1
20781: PUSH
20782: LD_VAR 0 1
20786: LESS
20787: IFFALSE 20803
// begin Ar5_timeup = i ;
20789: LD_ADDR_EXP 121
20793: PUSH
20794: LD_VAR 0 1
20798: ST_TO_ADDR
// break ;
20799: GO 20813
// end else
20801: GO 20811
// Ar5_timeup = 999 999$0 ;
20803: LD_ADDR_EXP 121
20807: PUSH
20808: LD_INT 2097900
20810: ST_TO_ADDR
20811: GO 20774
20813: POP
20814: POP
// path = [ ] ;
20815: LD_ADDR_VAR 0 3
20819: PUSH
20820: EMPTY
20821: ST_TO_ADDR
// incomming_group = determine_group ( 5 ) ;
20822: LD_ADDR_VAR 0 4
20826: PUSH
20827: LD_INT 5
20829: PPUSH
20830: CALL 36113 0 1
20834: ST_TO_ADDR
// area = Randomized_1_4_list [ 1 ] ;
20835: LD_ADDR_VAR 0 5
20839: PUSH
20840: LD_EXP 154
20844: PUSH
20845: LD_INT 1
20847: ARRAY
20848: ST_TO_ADDR
// Randomized_1_4_list = delete ( Randomized_1_4_list , 1 ) ;
20849: LD_ADDR_EXP 154
20853: PUSH
20854: LD_EXP 154
20858: PPUSH
20859: LD_INT 1
20861: PPUSH
20862: CALL_OW 3
20866: ST_TO_ADDR
// for i = 1 to ru_grouptypes do
20867: LD_ADDR_VAR 0 1
20871: PUSH
20872: DOUBLE
20873: LD_INT 1
20875: DEC
20876: ST_TO_ADDR
20877: LD_EXP 22
20881: PUSH
20882: FOR_TO
20883: IFFALSE 20969
// if ru_grouptypes [ i ] = 1 then
20885: LD_EXP 22
20889: PUSH
20890: LD_VAR 0 1
20894: ARRAY
20895: PUSH
20896: LD_INT 1
20898: EQUAL
20899: IFFALSE 20967
// for j in russians [ i ] do
20901: LD_ADDR_VAR 0 2
20905: PUSH
20906: LD_EXP 10
20910: PUSH
20911: LD_VAR 0 1
20915: ARRAY
20916: PUSH
20917: FOR_IN
20918: IFFALSE 20965
// if getY ( j ) > 110 and area = 1 then
20920: LD_VAR 0 2
20924: PPUSH
20925: CALL_OW 251
20929: PUSH
20930: LD_INT 110
20932: GREATER
20933: PUSH
20934: LD_VAR 0 5
20938: PUSH
20939: LD_INT 1
20941: EQUAL
20942: AND
20943: IFFALSE 20963
// begin area = rand ( 2 , 4 ) ;
20945: LD_ADDR_VAR 0 5
20949: PUSH
20950: LD_INT 2
20952: PPUSH
20953: LD_INT 4
20955: PPUSH
20956: CALL_OW 12
20960: ST_TO_ADDR
// break ;
20961: GO 20965
// end ;
20963: GO 20917
20965: POP
20966: POP
20967: GO 20882
20969: POP
20970: POP
// case area of 1 :
20971: LD_VAR 0 5
20975: PUSH
20976: LD_INT 1
20978: DOUBLE
20979: EQUAL
20980: IFTRUE 20984
20982: GO 21005
20984: POP
// begin path = escapees_path3 ;
20985: LD_ADDR_VAR 0 3
20989: PUSH
20990: LD_EXP 146
20994: ST_TO_ADDR
// area = enter1 ;
20995: LD_ADDR_VAR 0 5
20999: PUSH
21000: LD_INT 2
21002: ST_TO_ADDR
// end ; 2 :
21003: GO 21121
21005: LD_INT 2
21007: DOUBLE
21008: EQUAL
21009: IFTRUE 21013
21011: GO 21062
21013: POP
// begin if rand ( 1 , 2 ) = 1 then
21014: LD_INT 1
21016: PPUSH
21017: LD_INT 2
21019: PPUSH
21020: CALL_OW 12
21024: PUSH
21025: LD_INT 1
21027: EQUAL
21028: IFFALSE 21042
// path = escapees_path1 else
21030: LD_ADDR_VAR 0 3
21034: PUSH
21035: LD_EXP 148
21039: ST_TO_ADDR
21040: GO 21052
// path = escapees_path2 ;
21042: LD_ADDR_VAR 0 3
21046: PUSH
21047: LD_EXP 147
21051: ST_TO_ADDR
// area = enter2 ;
21052: LD_ADDR_VAR 0 5
21056: PUSH
21057: LD_INT 3
21059: ST_TO_ADDR
// end ; 3 :
21060: GO 21121
21062: LD_INT 3
21064: DOUBLE
21065: EQUAL
21066: IFTRUE 21070
21068: GO 21091
21070: POP
// begin path = escapees_path4 ;
21071: LD_ADDR_VAR 0 3
21075: PUSH
21076: LD_EXP 145
21080: ST_TO_ADDR
// area = enter3 ;
21081: LD_ADDR_VAR 0 5
21085: PUSH
21086: LD_INT 4
21088: ST_TO_ADDR
// end ; 4 :
21089: GO 21121
21091: LD_INT 4
21093: DOUBLE
21094: EQUAL
21095: IFTRUE 21099
21097: GO 21120
21099: POP
// begin path = escapees_path5 ;
21100: LD_ADDR_VAR 0 3
21104: PUSH
21105: LD_EXP 144
21109: ST_TO_ADDR
// area = enter4 ;
21110: LD_ADDR_VAR 0 5
21114: PUSH
21115: LD_INT 5
21117: ST_TO_ADDR
// end ; end ;
21118: GO 21121
21120: POP
// if tick > [ 6 6$0 , 6 6$0 , 5 5$0 ] [ difficulty ] then
21121: LD_OWVAR 1
21125: PUSH
21126: LD_INT 12600
21128: PUSH
21129: LD_INT 12600
21131: PUSH
21132: LD_INT 10500
21134: PUSH
21135: EMPTY
21136: LIST
21137: LIST
21138: LIST
21139: PUSH
21140: LD_OWVAR 67
21144: ARRAY
21145: GREATER
21146: IFFALSE 21209
// if rand ( 1 , 100 ) >= [ 67 , 50 , 33 ] [ difficulty ] then
21148: LD_INT 1
21150: PPUSH
21151: LD_INT 100
21153: PPUSH
21154: CALL_OW 12
21158: PUSH
21159: LD_INT 67
21161: PUSH
21162: LD_INT 50
21164: PUSH
21165: LD_INT 33
21167: PUSH
21168: EMPTY
21169: LIST
21170: LIST
21171: LIST
21172: PUSH
21173: LD_OWVAR 67
21177: ARRAY
21178: GREATEREQUAL
21179: IFFALSE 21209
// ar_areas = ar_areas ^ [ [ area , path ] ] ;
21181: LD_ADDR_EXP 141
21185: PUSH
21186: LD_EXP 141
21190: PUSH
21191: LD_VAR 0 5
21195: PUSH
21196: LD_VAR 0 3
21200: PUSH
21201: EMPTY
21202: LIST
21203: LIST
21204: PUSH
21205: EMPTY
21206: LIST
21207: ADD
21208: ST_TO_ADDR
// temp_list = [ ] ;
21209: LD_ADDR_VAR 0 6
21213: PUSH
21214: EMPTY
21215: ST_TO_ADDR
// for i in incomming_group do
21216: LD_ADDR_VAR 0 1
21220: PUSH
21221: LD_VAR 0 4
21225: PUSH
21226: FOR_IN
21227: IFFALSE 21314
// begin if area > 0 then
21229: LD_VAR 0 5
21233: PUSH
21234: LD_INT 0
21236: GREATER
21237: IFFALSE 21258
// PlaceUnitArea ( i , area , false ) else
21239: LD_VAR 0 1
21243: PPUSH
21244: LD_VAR 0 5
21248: PPUSH
21249: LD_INT 0
21251: PPUSH
21252: CALL_OW 49
21256: GO 21266
// exclamation = 5 ;
21258: LD_ADDR_EXP 186
21262: PUSH
21263: LD_INT 5
21265: ST_TO_ADDR
// temp_val = rand ( 400 , 1000 ) ;
21266: LD_ADDR_VAR 0 7
21270: PUSH
21271: LD_INT 400
21273: PPUSH
21274: LD_INT 1000
21276: PPUSH
21277: CALL_OW 12
21281: ST_TO_ADDR
// setlives ( i , temp_val ) ;
21282: LD_VAR 0 1
21286: PPUSH
21287: LD_VAR 0 7
21291: PPUSH
21292: CALL_OW 234
// temp_list = temp_list ^ temp_val ;
21296: LD_ADDR_VAR 0 6
21300: PUSH
21301: LD_VAR 0 6
21305: PUSH
21306: LD_VAR 0 7
21310: ADD
21311: ST_TO_ADDR
// end ;
21312: GO 21226
21314: POP
21315: POP
// ar_paths = ar_paths ^ [ path ] ;
21316: LD_ADDR_EXP 135
21320: PUSH
21321: LD_EXP 135
21325: PUSH
21326: LD_VAR 0 3
21330: PUSH
21331: EMPTY
21332: LIST
21333: ADD
21334: ST_TO_ADDR
// ar_grouptypes = ar_grouptypes ^ [ 5 ] ;
21335: LD_ADDR_EXP 136
21339: PUSH
21340: LD_EXP 136
21344: PUSH
21345: LD_INT 5
21347: PUSH
21348: EMPTY
21349: LIST
21350: ADD
21351: ST_TO_ADDR
// ar_groupstatus = ar_groupstatus ^ [ - 1 ] ;
21352: LD_ADDR_EXP 137
21356: PUSH
21357: LD_EXP 137
21361: PUSH
21362: LD_INT 1
21364: NEG
21365: PUSH
21366: EMPTY
21367: LIST
21368: ADD
21369: ST_TO_ADDR
// ar_grouphexcount = ar_grouphexcount ^ [ 0 ] ;
21370: LD_ADDR_EXP 138
21374: PUSH
21375: LD_EXP 138
21379: PUSH
21380: LD_INT 0
21382: PUSH
21383: EMPTY
21384: LIST
21385: ADD
21386: ST_TO_ADDR
// ar_groupfollowing = ar_groupfollowing ^ [ 0 ] ;
21387: LD_ADDR_EXP 139
21391: PUSH
21392: LD_EXP 139
21396: PUSH
21397: LD_INT 0
21399: PUSH
21400: EMPTY
21401: LIST
21402: ADD
21403: ST_TO_ADDR
// ar_targetlist = ar_targetlist ^ [ [ 0 , 0 ] ] ;
21404: LD_ADDR_EXP 140
21408: PUSH
21409: LD_EXP 140
21413: PUSH
21414: LD_INT 0
21416: PUSH
21417: LD_INT 0
21419: PUSH
21420: EMPTY
21421: LIST
21422: LIST
21423: PUSH
21424: EMPTY
21425: LIST
21426: ADD
21427: ST_TO_ADDR
// ar_liveslist = ar_liveslist ^ [ temp_list ] ;
21428: LD_ADDR_EXP 142
21432: PUSH
21433: LD_EXP 142
21437: PUSH
21438: LD_VAR 0 6
21442: PUSH
21443: EMPTY
21444: LIST
21445: ADD
21446: ST_TO_ADDR
// if rand ( 1 , 3 ) = 3 then
21447: LD_INT 1
21449: PPUSH
21450: LD_INT 3
21452: PPUSH
21453: CALL_OW 12
21457: PUSH
21458: LD_INT 3
21460: EQUAL
21461: IFFALSE 21482
// ar_dlg = ar_dlg ^ [ 1 ] else
21463: LD_ADDR_EXP 143
21467: PUSH
21468: LD_EXP 143
21472: PUSH
21473: LD_INT 1
21475: PUSH
21476: EMPTY
21477: LIST
21478: ADD
21479: ST_TO_ADDR
21480: GO 21499
// ar_dlg = ar_dlg ^ [ 0 ] ;
21482: LD_ADDR_EXP 143
21486: PUSH
21487: LD_EXP 143
21491: PUSH
21492: LD_INT 0
21494: PUSH
21495: EMPTY
21496: LIST
21497: ADD
21498: ST_TO_ADDR
// escaping_arabians = escaping_arabians ^ [ incomming_group ] ;
21499: LD_ADDR_EXP 116
21503: PUSH
21504: LD_EXP 116
21508: PUSH
21509: LD_VAR 0 4
21513: PUSH
21514: EMPTY
21515: LIST
21516: ADD
21517: ST_TO_ADDR
// end ; enable ;
21518: ENABLE
// end ;
21519: PPOPN 7
21521: END
// every 0 0$1 trigger ar_areas > 0 do var i , area , path , incomming_group ;
21522: LD_EXP 141
21526: PUSH
21527: LD_INT 0
21529: GREATER
21530: IFFALSE 21915
21532: GO 21534
21534: DISABLE
21535: LD_INT 0
21537: PPUSH
21538: PPUSH
21539: PPUSH
21540: PPUSH
// begin Randomize ;
21541: CALL_OW 10
// if ar_areas > 0 then
21545: LD_EXP 141
21549: PUSH
21550: LD_INT 0
21552: GREATER
21553: IFFALSE 21914
// begin wait ( rand ( 0 0$15 , 0 0$25 ) ) ;
21555: LD_INT 525
21557: PPUSH
21558: LD_INT 875
21560: PPUSH
21561: CALL_OW 12
21565: PPUSH
21566: CALL_OW 67
// area = ar_areas [ 1 ] [ 1 ] ;
21570: LD_ADDR_VAR 0 2
21574: PUSH
21575: LD_EXP 141
21579: PUSH
21580: LD_INT 1
21582: ARRAY
21583: PUSH
21584: LD_INT 1
21586: ARRAY
21587: ST_TO_ADDR
// path = ar_areas [ 1 ] [ 2 ] ;
21588: LD_ADDR_VAR 0 3
21592: PUSH
21593: LD_EXP 141
21597: PUSH
21598: LD_INT 1
21600: ARRAY
21601: PUSH
21602: LD_INT 2
21604: ARRAY
21605: ST_TO_ADDR
// ar_areas = delete ( ar_areas , 1 ) ;
21606: LD_ADDR_EXP 141
21610: PUSH
21611: LD_EXP 141
21615: PPUSH
21616: LD_INT 1
21618: PPUSH
21619: CALL_OW 3
21623: ST_TO_ADDR
// incomming_group = determine_group ( 8 ) ;
21624: LD_ADDR_VAR 0 4
21628: PUSH
21629: LD_INT 8
21631: PPUSH
21632: CALL 36113 0 1
21636: ST_TO_ADDR
// for i in incomming_group do
21637: LD_ADDR_VAR 0 1
21641: PUSH
21642: LD_VAR 0 4
21646: PUSH
21647: FOR_IN
21648: IFFALSE 21689
// begin if area > 0 then
21650: LD_VAR 0 2
21654: PUSH
21655: LD_INT 0
21657: GREATER
21658: IFFALSE 21679
// PlaceUnitArea ( i , area , false ) else
21660: LD_VAR 0 1
21664: PPUSH
21665: LD_VAR 0 2
21669: PPUSH
21670: LD_INT 0
21672: PPUSH
21673: CALL_OW 49
21677: GO 21687
// exclamation = 4 ;
21679: LD_ADDR_EXP 186
21683: PUSH
21684: LD_INT 4
21686: ST_TO_ADDR
// end ;
21687: GO 21647
21689: POP
21690: POP
// ru_grouptypes = ru_grouptypes ^ [ 4 ] ;
21691: LD_ADDR_EXP 22
21695: PUSH
21696: LD_EXP 22
21700: PUSH
21701: LD_INT 4
21703: PUSH
21704: EMPTY
21705: LIST
21706: ADD
21707: ST_TO_ADDR
// Russians = Russians ^ [ incomming_group ] ;
21708: LD_ADDR_EXP 10
21712: PUSH
21713: LD_EXP 10
21717: PUSH
21718: LD_VAR 0 4
21722: PUSH
21723: EMPTY
21724: LIST
21725: ADD
21726: ST_TO_ADDR
// ru_paths = ru_paths ^ [ path ] ;
21727: LD_ADDR_EXP 21
21731: PUSH
21732: LD_EXP 21
21736: PUSH
21737: LD_VAR 0 3
21741: PUSH
21742: EMPTY
21743: LIST
21744: ADD
21745: ST_TO_ADDR
// ru_groupstatus = ru_groupstatus ^ [ 0 ] ;
21746: LD_ADDR_EXP 23
21750: PUSH
21751: LD_EXP 23
21755: PUSH
21756: LD_INT 0
21758: PUSH
21759: EMPTY
21760: LIST
21761: ADD
21762: ST_TO_ADDR
// ru_grouphexcount = ru_grouphexcount ^ [ 0 ] ;
21763: LD_ADDR_EXP 24
21767: PUSH
21768: LD_EXP 24
21772: PUSH
21773: LD_INT 0
21775: PUSH
21776: EMPTY
21777: LIST
21778: ADD
21779: ST_TO_ADDR
// ru_targethex = ru_targethex ^ [ [ 0 , 0 ] ] ;
21780: LD_ADDR_EXP 25
21784: PUSH
21785: LD_EXP 25
21789: PUSH
21790: LD_INT 0
21792: PUSH
21793: LD_INT 0
21795: PUSH
21796: EMPTY
21797: LIST
21798: LIST
21799: PUSH
21800: EMPTY
21801: LIST
21802: ADD
21803: ST_TO_ADDR
// Target_List = Target_List ^ 0 ;
21804: LD_ADDR_EXP 14
21808: PUSH
21809: LD_EXP 14
21813: PUSH
21814: LD_INT 0
21816: ADD
21817: ST_TO_ADDR
// ru_groupside = ru_groupside ^ 3 ;
21818: LD_ADDR_EXP 26
21822: PUSH
21823: LD_EXP 26
21827: PUSH
21828: LD_INT 3
21830: ADD
21831: ST_TO_ADDR
// target_hg = target_hg ^ [ 0 ] ;
21832: LD_ADDR_EXP 16
21836: PUSH
21837: LD_EXP 16
21841: PUSH
21842: LD_INT 0
21844: PUSH
21845: EMPTY
21846: LIST
21847: ADD
21848: ST_TO_ADDR
// target_gun = target_gun ^ [ 0 ] ;
21849: LD_ADDR_EXP 17
21853: PUSH
21854: LD_EXP 17
21858: PUSH
21859: LD_INT 0
21861: PUSH
21862: EMPTY
21863: LIST
21864: ADD
21865: ST_TO_ADDR
// target_all = target_all ^ [ 0 ] ;
21866: LD_ADDR_EXP 18
21870: PUSH
21871: LD_EXP 18
21875: PUSH
21876: LD_INT 0
21878: PUSH
21879: EMPTY
21880: LIST
21881: ADD
21882: ST_TO_ADDR
// target_bazooka = target_bazooka ^ [ 0 ] ;
21883: LD_ADDR_EXP 19
21887: PUSH
21888: LD_EXP 19
21892: PUSH
21893: LD_INT 0
21895: PUSH
21896: EMPTY
21897: LIST
21898: ADD
21899: ST_TO_ADDR
// bazooka_engagetime = bazooka_engagetime ^ 999 999$0 ;
21900: LD_ADDR_EXP 20
21904: PUSH
21905: LD_EXP 20
21909: PUSH
21910: LD_INT 2097900
21912: ADD
21913: ST_TO_ADDR
// end ; enable ;
21914: ENABLE
// end ;
21915: PPOPN 4
21917: END
// every 0 0$1 trigger incomming_seek_group > 0 do var i , j , time , path , area , group , grouptodelete , incomming_group , checkarea ;
21918: LD_EXP 30
21922: PUSH
21923: LD_INT 0
21925: GREATER
21926: IFFALSE 22539
21928: GO 21930
21930: DISABLE
21931: LD_INT 0
21933: PPUSH
21934: PPUSH
21935: PPUSH
21936: PPUSH
21937: PPUSH
21938: PPUSH
21939: PPUSH
21940: PPUSH
21941: PPUSH
// begin grouptodelete = 0 ;
21942: LD_ADDR_VAR 0 7
21946: PUSH
21947: LD_INT 0
21949: ST_TO_ADDR
// for i = 1 to incomming_seek_group do
21950: LD_ADDR_VAR 0 1
21954: PUSH
21955: DOUBLE
21956: LD_INT 1
21958: DEC
21959: ST_TO_ADDR
21960: LD_EXP 30
21964: PUSH
21965: FOR_TO
21966: IFFALSE 22498
// begin if clear_spawn_location [ 1 ] > 0 then
21968: LD_EXP 133
21972: PUSH
21973: LD_INT 1
21975: ARRAY
21976: PUSH
21977: LD_INT 0
21979: GREATER
21980: IFFALSE 22049
// case clear_spawn_location [ 1 ] of 1 :
21982: LD_EXP 133
21986: PUSH
21987: LD_INT 1
21989: ARRAY
21990: PUSH
21991: LD_INT 1
21993: DOUBLE
21994: EQUAL
21995: IFTRUE 21999
21997: GO 22010
21999: POP
// checkarea = enter1 ; 2 :
22000: LD_ADDR_VAR 0 9
22004: PUSH
22005: LD_INT 2
22007: ST_TO_ADDR
22008: GO 22049
22010: LD_INT 2
22012: DOUBLE
22013: EQUAL
22014: IFTRUE 22018
22016: GO 22029
22018: POP
// checkarea = enter2 ; 3 :
22019: LD_ADDR_VAR 0 9
22023: PUSH
22024: LD_INT 3
22026: ST_TO_ADDR
22027: GO 22049
22029: LD_INT 3
22031: DOUBLE
22032: EQUAL
22033: IFTRUE 22037
22035: GO 22048
22037: POP
// checkarea = enter3 ; end ;
22038: LD_ADDR_VAR 0 9
22042: PUSH
22043: LD_INT 4
22045: ST_TO_ADDR
22046: GO 22049
22048: POP
// if tick > incomming_seek_group [ i ] [ 3 ] and not ( incomming_seek_group [ i ] [ 1 ] = checkarea and incomming_seek_group [ i ] [ 3 ] > clear_spawn_location [ 2 ] - 0 0$30 and incomming_seek_group [ i ] [ 3 ] < clear_spawn_location [ 2 ] + 0 0$30 ) then
22049: LD_OWVAR 1
22053: PUSH
22054: LD_EXP 30
22058: PUSH
22059: LD_VAR 0 1
22063: ARRAY
22064: PUSH
22065: LD_INT 3
22067: ARRAY
22068: GREATER
22069: PUSH
22070: LD_EXP 30
22074: PUSH
22075: LD_VAR 0 1
22079: ARRAY
22080: PUSH
22081: LD_INT 1
22083: ARRAY
22084: PUSH
22085: LD_VAR 0 9
22089: EQUAL
22090: PUSH
22091: LD_EXP 30
22095: PUSH
22096: LD_VAR 0 1
22100: ARRAY
22101: PUSH
22102: LD_INT 3
22104: ARRAY
22105: PUSH
22106: LD_EXP 133
22110: PUSH
22111: LD_INT 2
22113: ARRAY
22114: PUSH
22115: LD_INT 1050
22117: MINUS
22118: GREATER
22119: AND
22120: PUSH
22121: LD_EXP 30
22125: PUSH
22126: LD_VAR 0 1
22130: ARRAY
22131: PUSH
22132: LD_INT 3
22134: ARRAY
22135: PUSH
22136: LD_EXP 133
22140: PUSH
22141: LD_INT 2
22143: ARRAY
22144: PUSH
22145: LD_INT 1050
22147: PLUS
22148: LESS
22149: AND
22150: NOT
22151: AND
22152: IFFALSE 22496
// begin grouptodelete = i ;
22154: LD_ADDR_VAR 0 7
22158: PUSH
22159: LD_VAR 0 1
22163: ST_TO_ADDR
// incomming_group = determine_group ( 3 ) ;
22164: LD_ADDR_VAR 0 8
22168: PUSH
22169: LD_INT 3
22171: PPUSH
22172: CALL 36113 0 1
22176: ST_TO_ADDR
// area = incomming_seek_group [ i ] [ 1 ] ;
22177: LD_ADDR_VAR 0 5
22181: PUSH
22182: LD_EXP 30
22186: PUSH
22187: LD_VAR 0 1
22191: ARRAY
22192: PUSH
22193: LD_INT 1
22195: ARRAY
22196: ST_TO_ADDR
// path = incomming_seek_group [ i ] [ 2 ] ;
22197: LD_ADDR_VAR 0 4
22201: PUSH
22202: LD_EXP 30
22206: PUSH
22207: LD_VAR 0 1
22211: ARRAY
22212: PUSH
22213: LD_INT 2
22215: ARRAY
22216: ST_TO_ADDR
// for j in incomming_group do
22217: LD_ADDR_VAR 0 2
22221: PUSH
22222: LD_VAR 0 8
22226: PUSH
22227: FOR_IN
22228: IFFALSE 22269
// if area > 0 then
22230: LD_VAR 0 5
22234: PUSH
22235: LD_INT 0
22237: GREATER
22238: IFFALSE 22259
// PlaceUnitArea ( j , area , false ) else
22240: LD_VAR 0 2
22244: PPUSH
22245: LD_VAR 0 5
22249: PPUSH
22250: LD_INT 0
22252: PPUSH
22253: CALL_OW 49
22257: GO 22267
// exclamation = 6 ;
22259: LD_ADDR_EXP 186
22263: PUSH
22264: LD_INT 6
22266: ST_TO_ADDR
22267: GO 22227
22269: POP
22270: POP
// ru_grouptypes = ru_grouptypes ^ [ 3 ] ;
22271: LD_ADDR_EXP 22
22275: PUSH
22276: LD_EXP 22
22280: PUSH
22281: LD_INT 3
22283: PUSH
22284: EMPTY
22285: LIST
22286: ADD
22287: ST_TO_ADDR
// Russians = Russians ^ [ incomming_group ] ;
22288: LD_ADDR_EXP 10
22292: PUSH
22293: LD_EXP 10
22297: PUSH
22298: LD_VAR 0 8
22302: PUSH
22303: EMPTY
22304: LIST
22305: ADD
22306: ST_TO_ADDR
// ru_paths = ru_paths ^ [ path ] ;
22307: LD_ADDR_EXP 21
22311: PUSH
22312: LD_EXP 21
22316: PUSH
22317: LD_VAR 0 4
22321: PUSH
22322: EMPTY
22323: LIST
22324: ADD
22325: ST_TO_ADDR
// ru_groupstatus = ru_groupstatus ^ [ 0 ] ;
22326: LD_ADDR_EXP 23
22330: PUSH
22331: LD_EXP 23
22335: PUSH
22336: LD_INT 0
22338: PUSH
22339: EMPTY
22340: LIST
22341: ADD
22342: ST_TO_ADDR
// ru_grouphexcount = ru_grouphexcount ^ [ 0 ] ;
22343: LD_ADDR_EXP 24
22347: PUSH
22348: LD_EXP 24
22352: PUSH
22353: LD_INT 0
22355: PUSH
22356: EMPTY
22357: LIST
22358: ADD
22359: ST_TO_ADDR
// ru_targethex = ru_targethex ^ [ [ 0 , 0 ] ] ;
22360: LD_ADDR_EXP 25
22364: PUSH
22365: LD_EXP 25
22369: PUSH
22370: LD_INT 0
22372: PUSH
22373: LD_INT 0
22375: PUSH
22376: EMPTY
22377: LIST
22378: LIST
22379: PUSH
22380: EMPTY
22381: LIST
22382: ADD
22383: ST_TO_ADDR
// ru_groupside = ru_groupside ^ 3 ;
22384: LD_ADDR_EXP 26
22388: PUSH
22389: LD_EXP 26
22393: PUSH
22394: LD_INT 3
22396: ADD
22397: ST_TO_ADDR
// Target_List = Target_List ^ 0 ;
22398: LD_ADDR_EXP 14
22402: PUSH
22403: LD_EXP 14
22407: PUSH
22408: LD_INT 0
22410: ADD
22411: ST_TO_ADDR
// target_hg = target_hg ^ [ 0 ] ;
22412: LD_ADDR_EXP 16
22416: PUSH
22417: LD_EXP 16
22421: PUSH
22422: LD_INT 0
22424: PUSH
22425: EMPTY
22426: LIST
22427: ADD
22428: ST_TO_ADDR
// target_gun = target_gun ^ [ 0 ] ;
22429: LD_ADDR_EXP 17
22433: PUSH
22434: LD_EXP 17
22438: PUSH
22439: LD_INT 0
22441: PUSH
22442: EMPTY
22443: LIST
22444: ADD
22445: ST_TO_ADDR
// target_all = target_all ^ [ 0 ] ;
22446: LD_ADDR_EXP 18
22450: PUSH
22451: LD_EXP 18
22455: PUSH
22456: LD_INT 0
22458: PUSH
22459: EMPTY
22460: LIST
22461: ADD
22462: ST_TO_ADDR
// target_bazooka = target_bazooka ^ [ 0 ] ;
22463: LD_ADDR_EXP 19
22467: PUSH
22468: LD_EXP 19
22472: PUSH
22473: LD_INT 0
22475: PUSH
22476: EMPTY
22477: LIST
22478: ADD
22479: ST_TO_ADDR
// bazooka_engagetime = bazooka_engagetime ^ 999 999$0 ;
22480: LD_ADDR_EXP 20
22484: PUSH
22485: LD_EXP 20
22489: PUSH
22490: LD_INT 2097900
22492: ADD
22493: ST_TO_ADDR
// break ;
22494: GO 22498
// end ; end ;
22496: GO 21965
22498: POP
22499: POP
// if grouptodelete > 0 then
22500: LD_VAR 0 7
22504: PUSH
22505: LD_INT 0
22507: GREATER
22508: IFFALSE 22538
// begin incomming_seek_group = delete ( incomming_seek_group , grouptodelete ) ;
22510: LD_ADDR_EXP 30
22514: PUSH
22515: LD_EXP 30
22519: PPUSH
22520: LD_VAR 0 7
22524: PPUSH
22525: CALL_OW 3
22529: ST_TO_ADDR
// grouptodelete = 0 ;
22530: LD_ADDR_VAR 0 7
22534: PUSH
22535: LD_INT 0
22537: ST_TO_ADDR
// end ; enable ;
22538: ENABLE
// end ;
22539: PPOPN 9
22541: END
// every 0 0$1 trigger tick > LegionSpawnTime and Legion_attack < 3 do var i , j , temp , area , incomming_group ;
22542: LD_OWVAR 1
22546: PUSH
22547: LD_EXP 151
22551: GREATER
22552: PUSH
22553: LD_EXP 153
22557: PUSH
22558: LD_INT 3
22560: LESS
22561: AND
22562: IFFALSE 23875
22564: GO 22566
22566: DISABLE
22567: LD_INT 0
22569: PPUSH
22570: PPUSH
22571: PPUSH
22572: PPUSH
22573: PPUSH
// begin if Legion_attack = 1 or Legion_attack = 2 then
22574: LD_EXP 153
22578: PUSH
22579: LD_INT 1
22581: EQUAL
22582: PUSH
22583: LD_EXP 153
22587: PUSH
22588: LD_INT 2
22590: EQUAL
22591: OR
22592: IFFALSE 22602
// Legion_attack = 3 ;
22594: LD_ADDR_EXP 153
22598: PUSH
22599: LD_INT 3
22601: ST_TO_ADDR
// if Legion_attack = 0 then
22602: LD_EXP 153
22606: PUSH
22607: LD_INT 0
22609: EQUAL
22610: IFFALSE 22669
// begin LegionSpawnTime = [ rand ( 46 46$0 , 52 52$0 ) , rand ( 47 47$0 , 53 53$0 ) , rand ( 48 48$0 , 54 54$0 ) ] [ difficulty ] ;
22612: LD_ADDR_EXP 151
22616: PUSH
22617: LD_INT 96600
22619: PPUSH
22620: LD_INT 109200
22622: PPUSH
22623: CALL_OW 12
22627: PUSH
22628: LD_INT 98700
22630: PPUSH
22631: LD_INT 111300
22633: PPUSH
22634: CALL_OW 12
22638: PUSH
22639: LD_INT 100800
22641: PPUSH
22642: LD_INT 113400
22644: PPUSH
22645: CALL_OW 12
22649: PUSH
22650: EMPTY
22651: LIST
22652: LIST
22653: LIST
22654: PUSH
22655: LD_OWVAR 67
22659: ARRAY
22660: ST_TO_ADDR
// Legion_attack = 1 ;
22661: LD_ADDR_EXP 153
22665: PUSH
22666: LD_INT 1
22668: ST_TO_ADDR
// end ; temp = prisoners ;
22669: LD_ADDR_VAR 0 3
22673: PUSH
22674: LD_EXP 171
22678: ST_TO_ADDR
// if InArea ( getX ( temp [ 1 ] ) , getY ( temp [ 1 ] ) , SeekArea1 ) or InArea ( getX ( temp [ 1 ] ) , getY ( temp [ 1 ] ) , SeekArea4 ) or InArea ( getX ( temp [ 1 ] ) , getY ( temp [ 1 ] ) , SeekArea6 ) or InArea ( getX ( temp [ 1 ] ) , getY ( temp [ 1 ] ) , SeekArea7 ) then
22679: LD_VAR 0 3
22683: PUSH
22684: LD_INT 1
22686: ARRAY
22687: PPUSH
22688: CALL_OW 250
22692: PPUSH
22693: LD_VAR 0 3
22697: PUSH
22698: LD_INT 1
22700: ARRAY
22701: PPUSH
22702: CALL_OW 251
22706: PPUSH
22707: LD_INT 6
22709: PPUSH
22710: CALL_OW 309
22714: PUSH
22715: LD_VAR 0 3
22719: PUSH
22720: LD_INT 1
22722: ARRAY
22723: PPUSH
22724: CALL_OW 250
22728: PPUSH
22729: LD_VAR 0 3
22733: PUSH
22734: LD_INT 1
22736: ARRAY
22737: PPUSH
22738: CALL_OW 251
22742: PPUSH
22743: LD_INT 9
22745: PPUSH
22746: CALL_OW 309
22750: OR
22751: PUSH
22752: LD_VAR 0 3
22756: PUSH
22757: LD_INT 1
22759: ARRAY
22760: PPUSH
22761: CALL_OW 250
22765: PPUSH
22766: LD_VAR 0 3
22770: PUSH
22771: LD_INT 1
22773: ARRAY
22774: PPUSH
22775: CALL_OW 251
22779: PPUSH
22780: LD_INT 11
22782: PPUSH
22783: CALL_OW 309
22787: OR
22788: PUSH
22789: LD_VAR 0 3
22793: PUSH
22794: LD_INT 1
22796: ARRAY
22797: PPUSH
22798: CALL_OW 250
22802: PPUSH
22803: LD_VAR 0 3
22807: PUSH
22808: LD_INT 1
22810: ARRAY
22811: PPUSH
22812: CALL_OW 251
22816: PPUSH
22817: LD_INT 12
22819: PPUSH
22820: CALL_OW 309
22824: OR
22825: IFFALSE 22896
// case rand ( 1 , 3 ) of 1 :
22827: LD_INT 1
22829: PPUSH
22830: LD_INT 3
22832: PPUSH
22833: CALL_OW 12
22837: PUSH
22838: LD_INT 1
22840: DOUBLE
22841: EQUAL
22842: IFTRUE 22846
22844: GO 22857
22846: POP
// area = legion_enter_left ; 2 :
22847: LD_ADDR_VAR 0 4
22851: PUSH
22852: LD_INT 29
22854: ST_TO_ADDR
22855: GO 22896
22857: LD_INT 2
22859: DOUBLE
22860: EQUAL
22861: IFTRUE 22865
22863: GO 22876
22865: POP
// area = legion_enter_right ; 3 :
22866: LD_ADDR_VAR 0 4
22870: PUSH
22871: LD_INT 30
22873: ST_TO_ADDR
22874: GO 22896
22876: LD_INT 3
22878: DOUBLE
22879: EQUAL
22880: IFTRUE 22884
22882: GO 22895
22884: POP
// area = legion_enter_centre ; end ;
22885: LD_ADDR_VAR 0 4
22889: PUSH
22890: LD_INT 31
22892: ST_TO_ADDR
22893: GO 22896
22895: POP
// if InArea ( getX ( temp [ 1 ] ) , getY ( temp [ 1 ] ) , SeekArea2 ) or InArea ( getX ( temp [ 1 ] ) , getY ( temp [ 1 ] ) , SeekArea10 ) or InArea ( getX ( temp [ 1 ] ) , getY ( temp [ 1 ] ) , SeekArea5 ) then
22896: LD_VAR 0 3
22900: PUSH
22901: LD_INT 1
22903: ARRAY
22904: PPUSH
22905: CALL_OW 250
22909: PPUSH
22910: LD_VAR 0 3
22914: PUSH
22915: LD_INT 1
22917: ARRAY
22918: PPUSH
22919: CALL_OW 251
22923: PPUSH
22924: LD_INT 7
22926: PPUSH
22927: CALL_OW 309
22931: PUSH
22932: LD_VAR 0 3
22936: PUSH
22937: LD_INT 1
22939: ARRAY
22940: PPUSH
22941: CALL_OW 250
22945: PPUSH
22946: LD_VAR 0 3
22950: PUSH
22951: LD_INT 1
22953: ARRAY
22954: PPUSH
22955: CALL_OW 251
22959: PPUSH
22960: LD_INT 24
22962: PPUSH
22963: CALL_OW 309
22967: OR
22968: PUSH
22969: LD_VAR 0 3
22973: PUSH
22974: LD_INT 1
22976: ARRAY
22977: PPUSH
22978: CALL_OW 250
22982: PPUSH
22983: LD_VAR 0 3
22987: PUSH
22988: LD_INT 1
22990: ARRAY
22991: PPUSH
22992: CALL_OW 251
22996: PPUSH
22997: LD_INT 10
22999: PPUSH
23000: CALL_OW 309
23004: OR
23005: IFFALSE 23015
// area = legion_enter_right ;
23007: LD_ADDR_VAR 0 4
23011: PUSH
23012: LD_INT 30
23014: ST_TO_ADDR
// if InArea ( getX ( temp [ 1 ] ) , getY ( temp [ 1 ] ) , SeekArea3 ) or InArea ( getX ( temp [ 1 ] ) , getY ( temp [ 1 ] ) , SeekArea8 ) then
23015: LD_VAR 0 3
23019: PUSH
23020: LD_INT 1
23022: ARRAY
23023: PPUSH
23024: CALL_OW 250
23028: PPUSH
23029: LD_VAR 0 3
23033: PUSH
23034: LD_INT 1
23036: ARRAY
23037: PPUSH
23038: CALL_OW 251
23042: PPUSH
23043: LD_INT 8
23045: PPUSH
23046: CALL_OW 309
23050: PUSH
23051: LD_VAR 0 3
23055: PUSH
23056: LD_INT 1
23058: ARRAY
23059: PPUSH
23060: CALL_OW 250
23064: PPUSH
23065: LD_VAR 0 3
23069: PUSH
23070: LD_INT 1
23072: ARRAY
23073: PPUSH
23074: CALL_OW 251
23078: PPUSH
23079: LD_INT 13
23081: PPUSH
23082: CALL_OW 309
23086: OR
23087: IFFALSE 23097
// area = legion_enter_left ;
23089: LD_ADDR_VAR 0 4
23093: PUSH
23094: LD_INT 29
23096: ST_TO_ADDR
// if InArea ( getX ( temp [ 1 ] ) , getY ( temp [ 1 ] ) , SeekArea9 ) then
23097: LD_VAR 0 3
23101: PUSH
23102: LD_INT 1
23104: ARRAY
23105: PPUSH
23106: CALL_OW 250
23110: PPUSH
23111: LD_VAR 0 3
23115: PUSH
23116: LD_INT 1
23118: ARRAY
23119: PPUSH
23120: CALL_OW 251
23124: PPUSH
23125: LD_INT 14
23127: PPUSH
23128: CALL_OW 309
23132: IFFALSE 23142
// area = legion_enter_centre ;
23134: LD_ADDR_VAR 0 4
23138: PUSH
23139: LD_INT 31
23141: ST_TO_ADDR
// incomming_group = determine_group ( 6 ) ;
23142: LD_ADDR_VAR 0 5
23146: PUSH
23147: LD_INT 6
23149: PPUSH
23150: CALL 36113 0 1
23154: ST_TO_ADDR
// if area = 0 then
23155: LD_VAR 0 4
23159: PUSH
23160: LD_INT 0
23162: EQUAL
23163: IFFALSE 23173
// area = legion_enter_right ;
23165: LD_ADDR_VAR 0 4
23169: PUSH
23170: LD_INT 30
23172: ST_TO_ADDR
// for i in incomming_group do
23173: LD_ADDR_VAR 0 1
23177: PUSH
23178: LD_VAR 0 5
23182: PUSH
23183: FOR_IN
23184: IFFALSE 23205
// placeunitarea ( i , area , false ) ;
23186: LD_VAR 0 1
23190: PPUSH
23191: LD_VAR 0 4
23195: PPUSH
23196: LD_INT 0
23198: PPUSH
23199: CALL_OW 49
23203: GO 23183
23205: POP
23206: POP
// Legion = incomming_group ^ filterallunits ( [ [ f_side , 8 ] , [ f_type , unit_human ] ] ) ;
23207: LD_ADDR_EXP 150
23211: PUSH
23212: LD_VAR 0 5
23216: PUSH
23217: LD_INT 22
23219: PUSH
23220: LD_INT 8
23222: PUSH
23223: EMPTY
23224: LIST
23225: LIST
23226: PUSH
23227: LD_INT 21
23229: PUSH
23230: LD_INT 1
23232: PUSH
23233: EMPTY
23234: LIST
23235: LIST
23236: PUSH
23237: EMPTY
23238: LIST
23239: LIST
23240: PPUSH
23241: CALL_OW 69
23245: ADD
23246: ST_TO_ADDR
// Legion_path = [ ] ;
23247: LD_ADDR_EXP 152
23251: PUSH
23252: EMPTY
23253: ST_TO_ADDR
// if InArea ( getX ( temp [ 1 ] ) , getY ( temp [ 1 ] ) , SeekArea1 ) then
23254: LD_VAR 0 3
23258: PUSH
23259: LD_INT 1
23261: ARRAY
23262: PPUSH
23263: CALL_OW 250
23267: PPUSH
23268: LD_VAR 0 3
23272: PUSH
23273: LD_INT 1
23275: ARRAY
23276: PPUSH
23277: CALL_OW 251
23281: PPUSH
23282: LD_INT 6
23284: PPUSH
23285: CALL_OW 309
23289: IFFALSE 23315
// Legion_path = Legion_path ^ [ [ 161 , 32 ] ] ;
23291: LD_ADDR_EXP 152
23295: PUSH
23296: LD_EXP 152
23300: PUSH
23301: LD_INT 161
23303: PUSH
23304: LD_INT 32
23306: PUSH
23307: EMPTY
23308: LIST
23309: LIST
23310: PUSH
23311: EMPTY
23312: LIST
23313: ADD
23314: ST_TO_ADDR
// if InArea ( getX ( temp [ 1 ] ) , getY ( temp [ 1 ] ) , SeekArea2 ) then
23315: LD_VAR 0 3
23319: PUSH
23320: LD_INT 1
23322: ARRAY
23323: PPUSH
23324: CALL_OW 250
23328: PPUSH
23329: LD_VAR 0 3
23333: PUSH
23334: LD_INT 1
23336: ARRAY
23337: PPUSH
23338: CALL_OW 251
23342: PPUSH
23343: LD_INT 7
23345: PPUSH
23346: CALL_OW 309
23350: IFFALSE 23420
// Legion_path = Legion_path ^ [ [ 161 , 32 ] , [ 178 , 66 ] , [ 162 , 102 ] , [ 190 , 133 ] , [ 233 , 164 ] ] ;
23352: LD_ADDR_EXP 152
23356: PUSH
23357: LD_EXP 152
23361: PUSH
23362: LD_INT 161
23364: PUSH
23365: LD_INT 32
23367: PUSH
23368: EMPTY
23369: LIST
23370: LIST
23371: PUSH
23372: LD_INT 178
23374: PUSH
23375: LD_INT 66
23377: PUSH
23378: EMPTY
23379: LIST
23380: LIST
23381: PUSH
23382: LD_INT 162
23384: PUSH
23385: LD_INT 102
23387: PUSH
23388: EMPTY
23389: LIST
23390: LIST
23391: PUSH
23392: LD_INT 190
23394: PUSH
23395: LD_INT 133
23397: PUSH
23398: EMPTY
23399: LIST
23400: LIST
23401: PUSH
23402: LD_INT 233
23404: PUSH
23405: LD_INT 164
23407: PUSH
23408: EMPTY
23409: LIST
23410: LIST
23411: PUSH
23412: EMPTY
23413: LIST
23414: LIST
23415: LIST
23416: LIST
23417: LIST
23418: ADD
23419: ST_TO_ADDR
// if InArea ( getX ( temp [ 1 ] ) , getY ( temp [ 1 ] ) , SeekArea4 ) then
23420: LD_VAR 0 3
23424: PUSH
23425: LD_INT 1
23427: ARRAY
23428: PPUSH
23429: CALL_OW 250
23433: PPUSH
23434: LD_VAR 0 3
23438: PUSH
23439: LD_INT 1
23441: ARRAY
23442: PPUSH
23443: CALL_OW 251
23447: PPUSH
23448: LD_INT 9
23450: PPUSH
23451: CALL_OW 309
23455: IFFALSE 23481
// Legion_path = Legion_path ^ [ [ 111 , 51 ] ] ;
23457: LD_ADDR_EXP 152
23461: PUSH
23462: LD_EXP 152
23466: PUSH
23467: LD_INT 111
23469: PUSH
23470: LD_INT 51
23472: PUSH
23473: EMPTY
23474: LIST
23475: LIST
23476: PUSH
23477: EMPTY
23478: LIST
23479: ADD
23480: ST_TO_ADDR
// if InArea ( getX ( temp [ 1 ] ) , getY ( temp [ 1 ] ) , SeekArea6 ) then
23481: LD_VAR 0 3
23485: PUSH
23486: LD_INT 1
23488: ARRAY
23489: PPUSH
23490: CALL_OW 250
23494: PPUSH
23495: LD_VAR 0 3
23499: PUSH
23500: LD_INT 1
23502: ARRAY
23503: PPUSH
23504: CALL_OW 251
23508: PPUSH
23509: LD_INT 11
23511: PPUSH
23512: CALL_OW 309
23516: IFFALSE 23542
// Legion_path = Legion_path ^ [ [ 91 , 29 ] ] ;
23518: LD_ADDR_EXP 152
23522: PUSH
23523: LD_EXP 152
23527: PUSH
23528: LD_INT 91
23530: PUSH
23531: LD_INT 29
23533: PUSH
23534: EMPTY
23535: LIST
23536: LIST
23537: PUSH
23538: EMPTY
23539: LIST
23540: ADD
23541: ST_TO_ADDR
// if InArea ( getX ( temp [ 1 ] ) , getY ( temp [ 1 ] ) , SeekArea7 ) then
23542: LD_VAR 0 3
23546: PUSH
23547: LD_INT 1
23549: ARRAY
23550: PPUSH
23551: CALL_OW 250
23555: PPUSH
23556: LD_VAR 0 3
23560: PUSH
23561: LD_INT 1
23563: ARRAY
23564: PPUSH
23565: CALL_OW 251
23569: PPUSH
23570: LD_INT 12
23572: PPUSH
23573: CALL_OW 309
23577: IFFALSE 23614
// Legion_path = Legion_path ^ [ [ 42 , 26 ] , [ 44 , 55 ] ] ;
23579: LD_ADDR_EXP 152
23583: PUSH
23584: LD_EXP 152
23588: PUSH
23589: LD_INT 42
23591: PUSH
23592: LD_INT 26
23594: PUSH
23595: EMPTY
23596: LIST
23597: LIST
23598: PUSH
23599: LD_INT 44
23601: PUSH
23602: LD_INT 55
23604: PUSH
23605: EMPTY
23606: LIST
23607: LIST
23608: PUSH
23609: EMPTY
23610: LIST
23611: LIST
23612: ADD
23613: ST_TO_ADDR
// if InArea ( getX ( temp [ 1 ] ) , getY ( temp [ 1 ] ) , SeekArea8 ) then
23614: LD_VAR 0 3
23618: PUSH
23619: LD_INT 1
23621: ARRAY
23622: PPUSH
23623: CALL_OW 250
23627: PPUSH
23628: LD_VAR 0 3
23632: PUSH
23633: LD_INT 1
23635: ARRAY
23636: PPUSH
23637: CALL_OW 251
23641: PPUSH
23642: LD_INT 13
23644: PPUSH
23645: CALL_OW 309
23649: IFFALSE 23708
// Legion_path = Legion_path ^ [ [ 42 , 26 ] , [ 44 , 55 ] , [ 71 , 98 ] , [ 84 , 127 ] ] ;
23651: LD_ADDR_EXP 152
23655: PUSH
23656: LD_EXP 152
23660: PUSH
23661: LD_INT 42
23663: PUSH
23664: LD_INT 26
23666: PUSH
23667: EMPTY
23668: LIST
23669: LIST
23670: PUSH
23671: LD_INT 44
23673: PUSH
23674: LD_INT 55
23676: PUSH
23677: EMPTY
23678: LIST
23679: LIST
23680: PUSH
23681: LD_INT 71
23683: PUSH
23684: LD_INT 98
23686: PUSH
23687: EMPTY
23688: LIST
23689: LIST
23690: PUSH
23691: LD_INT 84
23693: PUSH
23694: LD_INT 127
23696: PUSH
23697: EMPTY
23698: LIST
23699: LIST
23700: PUSH
23701: EMPTY
23702: LIST
23703: LIST
23704: LIST
23705: LIST
23706: ADD
23707: ST_TO_ADDR
// if InArea ( getX ( temp [ 1 ] ) , getY ( temp [ 1 ] ) , SeekArea9 ) then
23708: LD_VAR 0 3
23712: PUSH
23713: LD_INT 1
23715: ARRAY
23716: PPUSH
23717: CALL_OW 250
23721: PPUSH
23722: LD_VAR 0 3
23726: PUSH
23727: LD_INT 1
23729: ARRAY
23730: PPUSH
23731: CALL_OW 251
23735: PPUSH
23736: LD_INT 14
23738: PPUSH
23739: CALL_OW 309
23743: IFFALSE 23802
// Legion_path = Legion_path ^ [ [ 92 , 32 ] , [ 116 , 66 ] , [ 133 , 98 ] , [ 128 , 123 ] ] ;
23745: LD_ADDR_EXP 152
23749: PUSH
23750: LD_EXP 152
23754: PUSH
23755: LD_INT 92
23757: PUSH
23758: LD_INT 32
23760: PUSH
23761: EMPTY
23762: LIST
23763: LIST
23764: PUSH
23765: LD_INT 116
23767: PUSH
23768: LD_INT 66
23770: PUSH
23771: EMPTY
23772: LIST
23773: LIST
23774: PUSH
23775: LD_INT 133
23777: PUSH
23778: LD_INT 98
23780: PUSH
23781: EMPTY
23782: LIST
23783: LIST
23784: PUSH
23785: LD_INT 128
23787: PUSH
23788: LD_INT 123
23790: PUSH
23791: EMPTY
23792: LIST
23793: LIST
23794: PUSH
23795: EMPTY
23796: LIST
23797: LIST
23798: LIST
23799: LIST
23800: ADD
23801: ST_TO_ADDR
// if InArea ( getX ( temp [ 1 ] ) , getY ( temp [ 1 ] ) , SeekArea10 ) then
23802: LD_VAR 0 3
23806: PUSH
23807: LD_INT 1
23809: ARRAY
23810: PPUSH
23811: CALL_OW 250
23815: PPUSH
23816: LD_VAR 0 3
23820: PUSH
23821: LD_INT 1
23823: ARRAY
23824: PPUSH
23825: CALL_OW 251
23829: PPUSH
23830: LD_INT 24
23832: PPUSH
23833: CALL_OW 309
23837: IFFALSE 23874
// Legion_path = Legion_path ^ [ [ 161 , 32 ] , [ 187 , 70 ] ] ;
23839: LD_ADDR_EXP 152
23843: PUSH
23844: LD_EXP 152
23848: PUSH
23849: LD_INT 161
23851: PUSH
23852: LD_INT 32
23854: PUSH
23855: EMPTY
23856: LIST
23857: LIST
23858: PUSH
23859: LD_INT 187
23861: PUSH
23862: LD_INT 70
23864: PUSH
23865: EMPTY
23866: LIST
23867: LIST
23868: PUSH
23869: EMPTY
23870: LIST
23871: LIST
23872: ADD
23873: ST_TO_ADDR
// enable ;
23874: ENABLE
// end ;
23875: PPOPN 5
23877: END
// every 0 0$1 trigger Legion > 0 do var i , j , temp , temp_hex , player_units , player_units_incontact , target_unit ;
23878: LD_EXP 150
23882: PUSH
23883: LD_INT 0
23885: GREATER
23886: IFFALSE 25588
23888: GO 23890
23890: DISABLE
23891: LD_INT 0
23893: PPUSH
23894: PPUSH
23895: PPUSH
23896: PPUSH
23897: PPUSH
23898: PPUSH
23899: PPUSH
// begin temp = [ ] ;
23900: LD_ADDR_VAR 0 3
23904: PUSH
23905: EMPTY
23906: ST_TO_ADDR
// for i in Legion do
23907: LD_ADDR_VAR 0 1
23911: PUSH
23912: LD_EXP 150
23916: PUSH
23917: FOR_IN
23918: IFFALSE 23965
// if not Isplaced ( i ) or GetLives ( i ) < 100 then
23920: LD_VAR 0 1
23924: PPUSH
23925: CALL_OW 305
23929: NOT
23930: PUSH
23931: LD_VAR 0 1
23935: PPUSH
23936: CALL_OW 256
23940: PUSH
23941: LD_INT 100
23943: LESS
23944: OR
23945: IFFALSE 23963
// temp = temp ^ i ;
23947: LD_ADDR_VAR 0 3
23951: PUSH
23952: LD_VAR 0 3
23956: PUSH
23957: LD_VAR 0 1
23961: ADD
23962: ST_TO_ADDR
23963: GO 23917
23965: POP
23966: POP
// Legion = Legion diff temp ;
23967: LD_ADDR_EXP 150
23971: PUSH
23972: LD_EXP 150
23976: PUSH
23977: LD_VAR 0 3
23981: DIFF
23982: ST_TO_ADDR
// temp_hex = 0 ;
23983: LD_ADDR_VAR 0 4
23987: PUSH
23988: LD_INT 0
23990: ST_TO_ADDR
// for i = 1 to legion_path do
23991: LD_ADDR_VAR 0 1
23995: PUSH
23996: DOUBLE
23997: LD_INT 1
23999: DEC
24000: ST_TO_ADDR
24001: LD_EXP 152
24005: PUSH
24006: FOR_TO
24007: IFFALSE 24109
// begin temp = 0 ;
24009: LD_ADDR_VAR 0 3
24013: PUSH
24014: LD_INT 0
24016: ST_TO_ADDR
// for j in legion do
24017: LD_ADDR_VAR 0 2
24021: PUSH
24022: LD_EXP 150
24026: PUSH
24027: FOR_IN
24028: IFFALSE 24085
// if getdistunitxy ( j , legion_path [ i ] [ 1 ] , legion_path [ i ] [ 2 ] ) > 8 then
24030: LD_VAR 0 2
24034: PPUSH
24035: LD_EXP 152
24039: PUSH
24040: LD_VAR 0 1
24044: ARRAY
24045: PUSH
24046: LD_INT 1
24048: ARRAY
24049: PPUSH
24050: LD_EXP 152
24054: PUSH
24055: LD_VAR 0 1
24059: ARRAY
24060: PUSH
24061: LD_INT 2
24063: ARRAY
24064: PPUSH
24065: CALL_OW 297
24069: PUSH
24070: LD_INT 8
24072: GREATER
24073: IFFALSE 24083
// temp = 1 ;
24075: LD_ADDR_VAR 0 3
24079: PUSH
24080: LD_INT 1
24082: ST_TO_ADDR
24083: GO 24027
24085: POP
24086: POP
// if temp = 0 then
24087: LD_VAR 0 3
24091: PUSH
24092: LD_INT 0
24094: EQUAL
24095: IFFALSE 24107
// temp_hex = i ;
24097: LD_ADDR_VAR 0 4
24101: PUSH
24102: LD_VAR 0 1
24106: ST_TO_ADDR
// end ;
24107: GO 24006
24109: POP
24110: POP
// if temp_hex > 0 then
24111: LD_VAR 0 4
24115: PUSH
24116: LD_INT 0
24118: GREATER
24119: IFFALSE 24141
// legion_path = delete ( legion_path , temp_hex ) ;
24121: LD_ADDR_EXP 152
24125: PUSH
24126: LD_EXP 152
24130: PPUSH
24131: LD_VAR 0 4
24135: PPUSH
24136: CALL_OW 3
24140: ST_TO_ADDR
// player_units_incontact = [ ] ;
24141: LD_ADDR_VAR 0 6
24145: PUSH
24146: EMPTY
24147: ST_TO_ADDR
// player_units = filterallunits ( [ f_side , 2 ] ) ;
24148: LD_ADDR_VAR 0 5
24152: PUSH
24153: LD_INT 22
24155: PUSH
24156: LD_INT 2
24158: PUSH
24159: EMPTY
24160: LIST
24161: LIST
24162: PPUSH
24163: CALL_OW 69
24167: ST_TO_ADDR
// for i in player_units do
24168: LD_ADDR_VAR 0 1
24172: PUSH
24173: LD_VAR 0 5
24177: PUSH
24178: FOR_IN
24179: IFFALSE 24213
// if see ( 8 , i ) then
24181: LD_INT 8
24183: PPUSH
24184: LD_VAR 0 1
24188: PPUSH
24189: CALL_OW 292
24193: IFFALSE 24211
// player_units_incontact = player_units_incontact ^ i ;
24195: LD_ADDR_VAR 0 6
24199: PUSH
24200: LD_VAR 0 6
24204: PUSH
24205: LD_VAR 0 1
24209: ADD
24210: ST_TO_ADDR
24211: GO 24178
24213: POP
24214: POP
// if legion_attack = 3 or legion_attack = 4 then
24215: LD_EXP 153
24219: PUSH
24220: LD_INT 3
24222: EQUAL
24223: PUSH
24224: LD_EXP 153
24228: PUSH
24229: LD_INT 4
24231: EQUAL
24232: OR
24233: IFFALSE 24315
// if SmallestDistance ( legion , prisoners ) < 20 then
24235: LD_EXP 150
24239: PPUSH
24240: LD_EXP 171
24244: PPUSH
24245: CALL 60111 0 2
24249: PUSH
24250: LD_INT 20
24252: LESS
24253: IFFALSE 24315
// begin player_units_incontact = [ ] ;
24255: LD_ADDR_VAR 0 6
24259: PUSH
24260: EMPTY
24261: ST_TO_ADDR
// for i in prisoners do
24262: LD_ADDR_VAR 0 1
24266: PUSH
24267: LD_EXP 171
24271: PUSH
24272: FOR_IN
24273: IFFALSE 24313
// if NearestDistFromGroupToUnit ( Legion , i ) < 20 then
24275: LD_EXP 150
24279: PPUSH
24280: LD_VAR 0 1
24284: PPUSH
24285: CALL 60366 0 2
24289: PUSH
24290: LD_INT 20
24292: LESS
24293: IFFALSE 24311
// player_units_incontact = player_units_incontact ^ i ;
24295: LD_ADDR_VAR 0 6
24299: PUSH
24300: LD_VAR 0 6
24304: PUSH
24305: LD_VAR 0 1
24309: ADD
24310: ST_TO_ADDR
24311: GO 24272
24313: POP
24314: POP
// end ; if Legion > 0 then
24315: LD_EXP 150
24319: PUSH
24320: LD_INT 0
24322: GREATER
24323: IFFALSE 25587
// if player_units_incontact > 0 then
24325: LD_VAR 0 6
24329: PUSH
24330: LD_INT 0
24332: GREATER
24333: IFFALSE 25372
// begin target_unit = 0 ;
24335: LD_ADDR_VAR 0 7
24339: PUSH
24340: LD_INT 0
24342: ST_TO_ADDR
// if unitfilter ( player_units_incontact , [ f_and , [ f_type , unit_human ] , [ f_class , class_mortar ] ] ) > 0 and target_unit = 0 then
24343: LD_VAR 0 6
24347: PPUSH
24348: LD_INT 1
24350: PUSH
24351: LD_INT 21
24353: PUSH
24354: LD_INT 1
24356: PUSH
24357: EMPTY
24358: LIST
24359: LIST
24360: PUSH
24361: LD_INT 25
24363: PUSH
24364: LD_INT 8
24366: PUSH
24367: EMPTY
24368: LIST
24369: LIST
24370: PUSH
24371: EMPTY
24372: LIST
24373: LIST
24374: LIST
24375: PPUSH
24376: CALL_OW 72
24380: PUSH
24381: LD_INT 0
24383: GREATER
24384: PUSH
24385: LD_VAR 0 7
24389: PUSH
24390: LD_INT 0
24392: EQUAL
24393: AND
24394: IFFALSE 24431
// target_unit = closestunit ( Legion , unitfilter ( player_units_incontact , [ f_class , class_mortar ] ) ) ;
24396: LD_ADDR_VAR 0 7
24400: PUSH
24401: LD_EXP 150
24405: PPUSH
24406: LD_VAR 0 6
24410: PPUSH
24411: LD_INT 25
24413: PUSH
24414: LD_INT 8
24416: PUSH
24417: EMPTY
24418: LIST
24419: LIST
24420: PPUSH
24421: CALL_OW 72
24425: PPUSH
24426: CALL 60469 0 2
24430: ST_TO_ADDR
// if unitfilter ( player_units_incontact , [ f_type , unit_vehicle ] ) > 0 and target_unit = 0 then
24431: LD_VAR 0 6
24435: PPUSH
24436: LD_INT 21
24438: PUSH
24439: LD_INT 2
24441: PUSH
24442: EMPTY
24443: LIST
24444: LIST
24445: PPUSH
24446: CALL_OW 72
24450: PUSH
24451: LD_INT 0
24453: GREATER
24454: PUSH
24455: LD_VAR 0 7
24459: PUSH
24460: LD_INT 0
24462: EQUAL
24463: AND
24464: IFFALSE 24501
// target_unit = closestunit ( Legion , unitfilter ( player_units_incontact , [ f_type , unit_vehicle ] ) ) ;
24466: LD_ADDR_VAR 0 7
24470: PUSH
24471: LD_EXP 150
24475: PPUSH
24476: LD_VAR 0 6
24480: PPUSH
24481: LD_INT 21
24483: PUSH
24484: LD_INT 2
24486: PUSH
24487: EMPTY
24488: LIST
24489: LIST
24490: PPUSH
24491: CALL_OW 72
24495: PPUSH
24496: CALL 60469 0 2
24500: ST_TO_ADDR
// if target_unit = 0 then
24501: LD_VAR 0 7
24505: PUSH
24506: LD_INT 0
24508: EQUAL
24509: IFFALSE 24546
// target_unit = closestunit ( Legion , unitfilter ( player_units_incontact , [ f_type , unit_human ] ) ) ;
24511: LD_ADDR_VAR 0 7
24515: PUSH
24516: LD_EXP 150
24520: PPUSH
24521: LD_VAR 0 6
24525: PPUSH
24526: LD_INT 21
24528: PUSH
24529: LD_INT 1
24531: PUSH
24532: EMPTY
24533: LIST
24534: LIST
24535: PPUSH
24536: CALL_OW 72
24540: PPUSH
24541: CALL 60469 0 2
24545: ST_TO_ADDR
// for i in Legion do
24546: LD_ADDR_VAR 0 1
24550: PUSH
24551: LD_EXP 150
24555: PUSH
24556: FOR_IN
24557: IFFALSE 25368
// begin if GetType ( i ) = unit_vehicle then
24559: LD_VAR 0 1
24563: PPUSH
24564: CALL_OW 247
24568: PUSH
24569: LD_INT 2
24571: EQUAL
24572: IFFALSE 24931
// if getcontrol ( i ) = control_apeman and getlives ( i ) < 350 then
24574: LD_VAR 0 1
24578: PPUSH
24579: CALL_OW 263
24583: PUSH
24584: LD_INT 5
24586: EQUAL
24587: PUSH
24588: LD_VAR 0 1
24592: PPUSH
24593: CALL_OW 256
24597: PUSH
24598: LD_INT 350
24600: LESS
24601: AND
24602: IFFALSE 24743
// begin if getdistunits ( i , target_unit ) > 3 then
24604: LD_VAR 0 1
24608: PPUSH
24609: LD_VAR 0 7
24613: PPUSH
24614: CALL_OW 296
24618: PUSH
24619: LD_INT 3
24621: GREATER
24622: IFFALSE 24640
// commoveunit ( i , target_unit ) else
24624: LD_VAR 0 1
24628: PPUSH
24629: LD_VAR 0 7
24633: PPUSH
24634: CALL_OW 112
24638: GO 24741
// if unitfilter ( Legion , [ [ f_type , unit_human ] , [ f_not , [ f_driving ] ] , [ f_dist , i , 3 ] ] ) = 0 then
24640: LD_EXP 150
24644: PPUSH
24645: LD_INT 21
24647: PUSH
24648: LD_INT 1
24650: PUSH
24651: EMPTY
24652: LIST
24653: LIST
24654: PUSH
24655: LD_INT 3
24657: PUSH
24658: LD_INT 55
24660: PUSH
24661: EMPTY
24662: LIST
24663: PUSH
24664: EMPTY
24665: LIST
24666: LIST
24667: PUSH
24668: LD_INT 91
24670: PUSH
24671: LD_VAR 0 1
24675: PUSH
24676: LD_INT 3
24678: PUSH
24679: EMPTY
24680: LIST
24681: LIST
24682: LIST
24683: PUSH
24684: EMPTY
24685: LIST
24686: LIST
24687: LIST
24688: PPUSH
24689: CALL_OW 72
24693: PUSH
24694: LD_INT 0
24696: EQUAL
24697: IFFALSE 24741
// settasklist ( i , [ [ K , 0 , 0 , 0 , 0 , 0 , 0 ] ] ) ;
24699: LD_VAR 0 1
24703: PPUSH
24704: LD_STRING K
24706: PUSH
24707: LD_INT 0
24709: PUSH
24710: LD_INT 0
24712: PUSH
24713: LD_INT 0
24715: PUSH
24716: LD_INT 0
24718: PUSH
24719: LD_INT 0
24721: PUSH
24722: LD_INT 0
24724: PUSH
24725: EMPTY
24726: LIST
24727: LIST
24728: LIST
24729: LIST
24730: LIST
24731: LIST
24732: LIST
24733: PUSH
24734: EMPTY
24735: LIST
24736: PPUSH
24737: CALL_OW 446
// end else
24741: GO 24931
// if getweapon ( i ) = ar_radar then
24743: LD_VAR 0 1
24747: PPUSH
24748: CALL_OW 264
24752: PUSH
24753: LD_INT 30
24755: EQUAL
24756: IFFALSE 24917
// begin if unitfilter ( Legion , [ [ f_type , unit_vehicle ] , [ f_ok ] ] ) > 1 then
24758: LD_EXP 150
24762: PPUSH
24763: LD_INT 21
24765: PUSH
24766: LD_INT 2
24768: PUSH
24769: EMPTY
24770: LIST
24771: LIST
24772: PUSH
24773: LD_INT 50
24775: PUSH
24776: EMPTY
24777: LIST
24778: PUSH
24779: EMPTY
24780: LIST
24781: LIST
24782: PPUSH
24783: CALL_OW 72
24787: PUSH
24788: LD_INT 1
24790: GREATER
24791: IFFALSE 24837
// begin temp = AverageGroupPos ( Legion ) ;
24793: LD_ADDR_VAR 0 3
24797: PUSH
24798: LD_EXP 150
24802: PPUSH
24803: CALL 60820 0 1
24807: ST_TO_ADDR
// commovexy ( i , temp [ 1 ] , temp [ 2 ] ) ;
24808: LD_VAR 0 1
24812: PPUSH
24813: LD_VAR 0 3
24817: PUSH
24818: LD_INT 1
24820: ARRAY
24821: PPUSH
24822: LD_VAR 0 3
24826: PUSH
24827: LD_INT 2
24829: ARRAY
24830: PPUSH
24831: CALL_OW 111
// end else
24835: GO 24915
// if getdistunits ( i , target_unit ) > 3 then
24837: LD_VAR 0 1
24841: PPUSH
24842: LD_VAR 0 7
24846: PPUSH
24847: CALL_OW 296
24851: PUSH
24852: LD_INT 3
24854: GREATER
24855: IFFALSE 24873
// commoveunit ( i , target_unit ) else
24857: LD_VAR 0 1
24861: PPUSH
24862: LD_VAR 0 7
24866: PPUSH
24867: CALL_OW 112
24871: GO 24915
// settasklist ( i , [ [ K , 0 , 0 , 0 , 0 , 0 , 0 ] ] ) ;
24873: LD_VAR 0 1
24877: PPUSH
24878: LD_STRING K
24880: PUSH
24881: LD_INT 0
24883: PUSH
24884: LD_INT 0
24886: PUSH
24887: LD_INT 0
24889: PUSH
24890: LD_INT 0
24892: PUSH
24893: LD_INT 0
24895: PUSH
24896: LD_INT 0
24898: PUSH
24899: EMPTY
24900: LIST
24901: LIST
24902: LIST
24903: LIST
24904: LIST
24905: LIST
24906: LIST
24907: PUSH
24908: EMPTY
24909: LIST
24910: PPUSH
24911: CALL_OW 446
// end else
24915: GO 24931
// comattackunit ( i , target_unit ) ;
24917: LD_VAR 0 1
24921: PPUSH
24922: LD_VAR 0 7
24926: PPUSH
24927: CALL_OW 115
// if GetType ( i ) = unit_human then
24931: LD_VAR 0 1
24935: PPUSH
24936: CALL_OW 247
24940: PUSH
24941: LD_INT 1
24943: EQUAL
24944: IFFALSE 25235
// if Getlives ( i ) < 500 or unitfilter ( Legion , [ [ f_type , unit_vehicle ] , [ f_ok ] , [ f_not , [ f_weapon , ar_radar ] ] ] ) = 0 then
24946: LD_VAR 0 1
24950: PPUSH
24951: CALL_OW 256
24955: PUSH
24956: LD_INT 500
24958: LESS
24959: PUSH
24960: LD_EXP 150
24964: PPUSH
24965: LD_INT 21
24967: PUSH
24968: LD_INT 2
24970: PUSH
24971: EMPTY
24972: LIST
24973: LIST
24974: PUSH
24975: LD_INT 50
24977: PUSH
24978: EMPTY
24979: LIST
24980: PUSH
24981: LD_INT 3
24983: PUSH
24984: LD_INT 34
24986: PUSH
24987: LD_INT 30
24989: PUSH
24990: EMPTY
24991: LIST
24992: LIST
24993: PUSH
24994: EMPTY
24995: LIST
24996: LIST
24997: PUSH
24998: EMPTY
24999: LIST
25000: LIST
25001: LIST
25002: PPUSH
25003: CALL_OW 72
25007: PUSH
25008: LD_INT 0
25010: EQUAL
25011: OR
25012: IFFALSE 25063
// begin if getdistunitxy ( i , 6 , 8 ) > 3 then
25014: LD_VAR 0 1
25018: PPUSH
25019: LD_INT 6
25021: PPUSH
25022: LD_INT 8
25024: PPUSH
25025: CALL_OW 297
25029: PUSH
25030: LD_INT 3
25032: GREATER
25033: IFFALSE 25052
// Commovexy ( i , 6 , 8 ) else
25035: LD_VAR 0 1
25039: PPUSH
25040: LD_INT 6
25042: PPUSH
25043: LD_INT 8
25045: PPUSH
25046: CALL_OW 111
25050: GO 25061
// removeunit ( i ) ;
25052: LD_VAR 0 1
25056: PPUSH
25057: CALL_OW 64
// end else
25061: GO 25235
// if unitfilter ( Legion , [ [ f_type , unit_vehicle ] , [ f_empty ] , [ f_ok ] ] ) > 0 then
25063: LD_EXP 150
25067: PPUSH
25068: LD_INT 21
25070: PUSH
25071: LD_INT 2
25073: PUSH
25074: EMPTY
25075: LIST
25076: LIST
25077: PUSH
25078: LD_INT 58
25080: PUSH
25081: EMPTY
25082: LIST
25083: PUSH
25084: LD_INT 50
25086: PUSH
25087: EMPTY
25088: LIST
25089: PUSH
25090: EMPTY
25091: LIST
25092: LIST
25093: LIST
25094: PPUSH
25095: CALL_OW 72
25099: PUSH
25100: LD_INT 0
25102: GREATER
25103: IFFALSE 25157
// comenterunit ( i , unitfilter ( Legion , [ [ f_type , unit_vehicle ] , [ f_empty ] , [ f_ok ] ] ) [ 1 ] ) else
25105: LD_VAR 0 1
25109: PPUSH
25110: LD_EXP 150
25114: PPUSH
25115: LD_INT 21
25117: PUSH
25118: LD_INT 2
25120: PUSH
25121: EMPTY
25122: LIST
25123: LIST
25124: PUSH
25125: LD_INT 58
25127: PUSH
25128: EMPTY
25129: LIST
25130: PUSH
25131: LD_INT 50
25133: PUSH
25134: EMPTY
25135: LIST
25136: PUSH
25137: EMPTY
25138: LIST
25139: LIST
25140: LIST
25141: PPUSH
25142: CALL_OW 72
25146: PUSH
25147: LD_INT 1
25149: ARRAY
25150: PPUSH
25151: CALL_OW 120
25155: GO 25235
// comrepairvehicle ( i , Nearestunittounit ( unitfilter ( Legion , [ [ f_type , unit_vehicle ] , [ f_not , [ f_lives , 1000 ] ] , [ f_not , [ f_weapon , ar_radar ] ] ] ) , i ) ) ;
25157: LD_VAR 0 1
25161: PPUSH
25162: LD_EXP 150
25166: PPUSH
25167: LD_INT 21
25169: PUSH
25170: LD_INT 2
25172: PUSH
25173: EMPTY
25174: LIST
25175: LIST
25176: PUSH
25177: LD_INT 3
25179: PUSH
25180: LD_INT 24
25182: PUSH
25183: LD_INT 1000
25185: PUSH
25186: EMPTY
25187: LIST
25188: LIST
25189: PUSH
25190: EMPTY
25191: LIST
25192: LIST
25193: PUSH
25194: LD_INT 3
25196: PUSH
25197: LD_INT 34
25199: PUSH
25200: LD_INT 30
25202: PUSH
25203: EMPTY
25204: LIST
25205: LIST
25206: PUSH
25207: EMPTY
25208: LIST
25209: LIST
25210: PUSH
25211: EMPTY
25212: LIST
25213: LIST
25214: LIST
25215: PPUSH
25216: CALL_OW 72
25220: PPUSH
25221: LD_VAR 0 1
25225: PPUSH
25226: CALL_OW 74
25230: PPUSH
25231: CALL_OW 129
// if getcontrol ( i ) = control_manual then
25235: LD_VAR 0 1
25239: PPUSH
25240: CALL_OW 263
25244: PUSH
25245: LD_INT 1
25247: EQUAL
25248: IFFALSE 25366
// if isdrivenby ( i ) = 0 and unitfilter ( Legion , [ [ f_type , unit_human ] , [ f_not , [ f_driving ] ] , [ f_dist , i , 3 ] ] ) = 0 then
25250: LD_VAR 0 1
25254: PPUSH
25255: CALL_OW 311
25259: PUSH
25260: LD_INT 0
25262: EQUAL
25263: PUSH
25264: LD_EXP 150
25268: PPUSH
25269: LD_INT 21
25271: PUSH
25272: LD_INT 1
25274: PUSH
25275: EMPTY
25276: LIST
25277: LIST
25278: PUSH
25279: LD_INT 3
25281: PUSH
25282: LD_INT 55
25284: PUSH
25285: EMPTY
25286: LIST
25287: PUSH
25288: EMPTY
25289: LIST
25290: LIST
25291: PUSH
25292: LD_INT 91
25294: PUSH
25295: LD_VAR 0 1
25299: PUSH
25300: LD_INT 3
25302: PUSH
25303: EMPTY
25304: LIST
25305: LIST
25306: LIST
25307: PUSH
25308: EMPTY
25309: LIST
25310: LIST
25311: LIST
25312: PPUSH
25313: CALL_OW 72
25317: PUSH
25318: LD_INT 0
25320: EQUAL
25321: AND
25322: IFFALSE 25366
// settasklist ( i , [ [ K , 0 , 0 , 0 , 0 , 0 , 0 ] ] ) ;
25324: LD_VAR 0 1
25328: PPUSH
25329: LD_STRING K
25331: PUSH
25332: LD_INT 0
25334: PUSH
25335: LD_INT 0
25337: PUSH
25338: LD_INT 0
25340: PUSH
25341: LD_INT 0
25343: PUSH
25344: LD_INT 0
25346: PUSH
25347: LD_INT 0
25349: PUSH
25350: EMPTY
25351: LIST
25352: LIST
25353: LIST
25354: LIST
25355: LIST
25356: LIST
25357: LIST
25358: PUSH
25359: EMPTY
25360: LIST
25361: PPUSH
25362: CALL_OW 446
// end ;
25366: GO 24556
25368: POP
25369: POP
// end else
25370: GO 25587
// begin if legion_path > 0 then
25372: LD_EXP 152
25376: PUSH
25377: LD_INT 0
25379: GREATER
25380: IFFALSE 25419
// commovexy ( legion , legion_path [ 1 ] [ 1 ] , legion_path [ 1 ] [ 2 ] ) else
25382: LD_EXP 150
25386: PPUSH
25387: LD_EXP 152
25391: PUSH
25392: LD_INT 1
25394: ARRAY
25395: PUSH
25396: LD_INT 1
25398: ARRAY
25399: PPUSH
25400: LD_EXP 152
25404: PUSH
25405: LD_INT 1
25407: ARRAY
25408: PUSH
25409: LD_INT 2
25411: ARRAY
25412: PPUSH
25413: CALL_OW 111
25417: GO 25440
// Moveclosetounit ( legion , prisoners [ 1 ] , 3 ) ;
25419: LD_EXP 150
25423: PPUSH
25424: LD_EXP 171
25428: PUSH
25429: LD_INT 1
25431: ARRAY
25432: PPUSH
25433: LD_INT 3
25435: PPUSH
25436: CALL 56088 0 3
// for i in unitfilter ( Legion , [ f_type , unit_human ] ) do
25440: LD_ADDR_VAR 0 1
25444: PUSH
25445: LD_EXP 150
25449: PPUSH
25450: LD_INT 21
25452: PUSH
25453: LD_INT 1
25455: PUSH
25456: EMPTY
25457: LIST
25458: LIST
25459: PPUSH
25460: CALL_OW 72
25464: PUSH
25465: FOR_IN
25466: IFFALSE 25585
// if Getlives ( i ) < 500 or unitfilter ( Legion , [ [ f_type , unit_vehicle ] , [ f_ok ] , [ f_not , [ f_weapon , ar_radar ] ] ] ) = 0 then
25468: LD_VAR 0 1
25472: PPUSH
25473: CALL_OW 256
25477: PUSH
25478: LD_INT 500
25480: LESS
25481: PUSH
25482: LD_EXP 150
25486: PPUSH
25487: LD_INT 21
25489: PUSH
25490: LD_INT 2
25492: PUSH
25493: EMPTY
25494: LIST
25495: LIST
25496: PUSH
25497: LD_INT 50
25499: PUSH
25500: EMPTY
25501: LIST
25502: PUSH
25503: LD_INT 3
25505: PUSH
25506: LD_INT 34
25508: PUSH
25509: LD_INT 30
25511: PUSH
25512: EMPTY
25513: LIST
25514: LIST
25515: PUSH
25516: EMPTY
25517: LIST
25518: LIST
25519: PUSH
25520: EMPTY
25521: LIST
25522: LIST
25523: LIST
25524: PPUSH
25525: CALL_OW 72
25529: PUSH
25530: LD_INT 0
25532: EQUAL
25533: OR
25534: IFFALSE 25583
// if getdistunitxy ( i , 6 , 8 ) > 3 then
25536: LD_VAR 0 1
25540: PPUSH
25541: LD_INT 6
25543: PPUSH
25544: LD_INT 8
25546: PPUSH
25547: CALL_OW 297
25551: PUSH
25552: LD_INT 3
25554: GREATER
25555: IFFALSE 25574
// Commovexy ( i , 6 , 8 ) else
25557: LD_VAR 0 1
25561: PPUSH
25562: LD_INT 6
25564: PPUSH
25565: LD_INT 8
25567: PPUSH
25568: CALL_OW 111
25572: GO 25583
// removeunit ( i ) ;
25574: LD_VAR 0 1
25578: PPUSH
25579: CALL_OW 64
25583: GO 25465
25585: POP
25586: POP
// end ; enable ;
25587: ENABLE
// end ;
25588: PPOPN 7
25590: END
// every 0 0$1 trigger tick > [ 34 34$0 , 35 35$0 , 36 36$0 ] [ difficulty ] do var i , temp , temp2 , incomming_group ;
25591: LD_OWVAR 1
25595: PUSH
25596: LD_INT 71400
25598: PUSH
25599: LD_INT 73500
25601: PUSH
25602: LD_INT 75600
25604: PUSH
25605: EMPTY
25606: LIST
25607: LIST
25608: LIST
25609: PUSH
25610: LD_OWVAR 67
25614: ARRAY
25615: GREATER
25616: IFFALSE 25838
25618: GO 25620
25620: DISABLE
25621: LD_INT 0
25623: PPUSH
25624: PPUSH
25625: PPUSH
25626: PPUSH
// begin incomming_group = determine_group ( 7 ) ;
25627: LD_ADDR_VAR 0 4
25631: PUSH
25632: LD_INT 7
25634: PPUSH
25635: CALL 36113 0 1
25639: ST_TO_ADDR
// repeat wait ( 0 0$0.5 ) ;
25640: LD_INT 18
25642: PPUSH
25643: CALL_OW 67
// temp = unitfilter ( incomming_group , [ f_weapon , ar_control_tower ] ) ;
25647: LD_ADDR_VAR 0 2
25651: PUSH
25652: LD_VAR 0 4
25656: PPUSH
25657: LD_INT 34
25659: PUSH
25660: LD_INT 31
25662: PUSH
25663: EMPTY
25664: LIST
25665: LIST
25666: PPUSH
25667: CALL_OW 72
25671: ST_TO_ADDR
// temp2 = isdrivenby ( temp [ 1 ] ) ;
25672: LD_ADDR_VAR 0 3
25676: PUSH
25677: LD_VAR 0 2
25681: PUSH
25682: LD_INT 1
25684: ARRAY
25685: PPUSH
25686: CALL_OW 311
25690: ST_TO_ADDR
// temp = 0 ;
25691: LD_ADDR_VAR 0 2
25695: PUSH
25696: LD_INT 0
25698: ST_TO_ADDR
// for i in incomming_group do
25699: LD_ADDR_VAR 0 1
25703: PUSH
25704: LD_VAR 0 4
25708: PUSH
25709: FOR_IN
25710: IFFALSE 25826
// begin if not isplaced ( i ) then
25712: LD_VAR 0 1
25716: PPUSH
25717: CALL_OW 305
25721: NOT
25722: IFFALSE 25749
// begin placeunitarea ( i , legion_enter_right , false ) ;
25724: LD_VAR 0 1
25728: PPUSH
25729: LD_INT 30
25731: PPUSH
25732: LD_INT 0
25734: PPUSH
25735: CALL_OW 49
// temp = 1 ;
25739: LD_ADDR_VAR 0 2
25743: PUSH
25744: LD_INT 1
25746: ST_TO_ADDR
// end else
25747: GO 25824
// begin if getcontrol ( i ) = control_remote then
25749: LD_VAR 0 1
25753: PPUSH
25754: CALL_OW 263
25758: PUSH
25759: LD_INT 2
25761: EQUAL
25762: IFFALSE 25778
// linkvehicletohuman ( i , temp2 ) ;
25764: LD_VAR 0 1
25768: PPUSH
25769: LD_VAR 0 3
25773: PPUSH
25774: CALL_OW 53
// if gety ( i ) < 10 and not getclass ( i ) = class_tiger then
25778: LD_VAR 0 1
25782: PPUSH
25783: CALL_OW 251
25787: PUSH
25788: LD_INT 10
25790: LESS
25791: PUSH
25792: LD_VAR 0 1
25796: PPUSH
25797: CALL_OW 257
25801: PUSH
25802: LD_INT 14
25804: EQUAL
25805: NOT
25806: AND
25807: IFFALSE 25824
// commovexy ( i , 133 , 20 ) ;
25809: LD_VAR 0 1
25813: PPUSH
25814: LD_INT 133
25816: PPUSH
25817: LD_INT 20
25819: PPUSH
25820: CALL_OW 111
// end ; end ;
25824: GO 25709
25826: POP
25827: POP
// until temp = 0 ;
25828: LD_VAR 0 2
25832: PUSH
25833: LD_INT 0
25835: EQUAL
25836: IFFALSE 25640
// end ;
25838: PPOPN 4
25840: END
// every 0 0$1 trigger escaping_arabians > 0 do var i , j , k , temp_val , temp , group , path , group_type , group_number , passed_hex , dlg_status , hex , nexthex , unittoberemoved ; var temp_list , temp_list1 , temp_list2 , temp_line , l , grouptodelete , unit_to_follow , temp_dist ; var character , line ;
25841: LD_EXP 116
25845: PUSH
25846: LD_INT 0
25848: GREATER
25849: IFFALSE 30201
25851: GO 25853
25853: DISABLE
25854: LD_INT 0
25856: PPUSH
25857: PPUSH
25858: PPUSH
25859: PPUSH
25860: PPUSH
25861: PPUSH
25862: PPUSH
25863: PPUSH
25864: PPUSH
25865: PPUSH
25866: PPUSH
25867: PPUSH
25868: PPUSH
25869: PPUSH
25870: PPUSH
25871: PPUSH
25872: PPUSH
25873: PPUSH
25874: PPUSH
25875: PPUSH
25876: PPUSH
25877: PPUSH
25878: PPUSH
25879: PPUSH
// begin Randomize ;
25880: CALL_OW 10
// for i = 1 to escaping_arabians do
25884: LD_ADDR_VAR 0 1
25888: PUSH
25889: DOUBLE
25890: LD_INT 1
25892: DEC
25893: ST_TO_ADDR
25894: LD_EXP 116
25898: PUSH
25899: FOR_TO
25900: IFFALSE 30020
// begin for j in escaping_arabians [ i ] do
25902: LD_ADDR_VAR 0 2
25906: PUSH
25907: LD_EXP 116
25911: PUSH
25912: LD_VAR 0 1
25916: ARRAY
25917: PUSH
25918: FOR_IN
25919: IFFALSE 26258
// if islive ( j ) = 0 then
25921: LD_VAR 0 2
25925: PPUSH
25926: CALL_OW 300
25930: PUSH
25931: LD_INT 0
25933: EQUAL
25934: IFFALSE 26256
// begin if getlives ( j ) = 0 then
25936: LD_VAR 0 2
25940: PPUSH
25941: CALL_OW 256
25945: PUSH
25946: LD_INT 0
25948: EQUAL
25949: IFFALSE 26142
// begin if getside ( unitshoot ( j ) ) = 2 then
25951: LD_VAR 0 2
25955: PPUSH
25956: CALL_OW 504
25960: PPUSH
25961: CALL_OW 255
25965: PUSH
25966: LD_INT 2
25968: EQUAL
25969: IFFALSE 25979
// friendlyfire = 5 ;
25971: LD_ADDR_EXP 117
25975: PUSH
25976: LD_INT 5
25978: ST_TO_ADDR
// st_arunitsdead = st_arunitsdead + 1 ;
25979: LD_ADDR_EXP 183
25983: PUSH
25984: LD_EXP 183
25988: PUSH
25989: LD_INT 1
25991: PLUS
25992: ST_TO_ADDR
// if getY ( j ) > 160 then
25993: LD_VAR 0 2
25997: PPUSH
25998: CALL_OW 251
26002: PUSH
26003: LD_INT 160
26005: GREATER
26006: IFFALSE 26022
// escapees_dead = escapees_dead - 1 ;
26008: LD_ADDR_EXP 125
26012: PUSH
26013: LD_EXP 125
26017: PUSH
26018: LD_INT 1
26020: MINUS
26021: ST_TO_ADDR
// if gety ( j ) > 133 and getY ( j ) < 161 then
26022: LD_VAR 0 2
26026: PPUSH
26027: CALL_OW 251
26031: PUSH
26032: LD_INT 133
26034: GREATER
26035: PUSH
26036: LD_VAR 0 2
26040: PPUSH
26041: CALL_OW 251
26045: PUSH
26046: LD_INT 161
26048: LESS
26049: AND
26050: IFFALSE 26128
// if escapees_errormargin > 0 or j in escapees_errormargin_group then
26052: LD_EXP 126
26056: PUSH
26057: LD_INT 0
26059: GREATER
26060: PUSH
26061: LD_VAR 0 2
26065: PUSH
26066: LD_EXP 127
26070: IN
26071: OR
26072: IFFALSE 26128
// begin if escapees_errormargin > 0 then
26074: LD_EXP 126
26078: PUSH
26079: LD_INT 0
26081: GREATER
26082: IFFALSE 26114
// begin escapees_errormargin = escapees_errormargin - 1 ;
26084: LD_ADDR_EXP 126
26088: PUSH
26089: LD_EXP 126
26093: PUSH
26094: LD_INT 1
26096: MINUS
26097: ST_TO_ADDR
// escapees_errormargin_group = escaping_arabians [ i ] ;
26098: LD_ADDR_EXP 127
26102: PUSH
26103: LD_EXP 116
26107: PUSH
26108: LD_VAR 0 1
26112: ARRAY
26113: ST_TO_ADDR
// end ; escapees_dead = escapees_dead - 1 ;
26114: LD_ADDR_EXP 125
26118: PUSH
26119: LD_EXP 125
26123: PUSH
26124: LD_INT 1
26126: MINUS
26127: ST_TO_ADDR
// end ; escapees_dead = escapees_dead + 1 ;
26128: LD_ADDR_EXP 125
26132: PUSH
26133: LD_EXP 125
26137: PUSH
26138: LD_INT 1
26140: PLUS
26141: ST_TO_ADDR
// end ; temp_list = [ ] ;
26142: LD_ADDR_VAR 0 15
26146: PUSH
26147: EMPTY
26148: ST_TO_ADDR
// for k = 1 to escaping_arabians do
26149: LD_ADDR_VAR 0 3
26153: PUSH
26154: DOUBLE
26155: LD_INT 1
26157: DEC
26158: ST_TO_ADDR
26159: LD_EXP 116
26163: PUSH
26164: FOR_TO
26165: IFFALSE 26244
// if k = i then
26167: LD_VAR 0 3
26171: PUSH
26172: LD_VAR 0 1
26176: EQUAL
26177: IFFALSE 26217
// temp_list = temp_list ^ [ unitfilter ( escaping_arabians [ k ] , [ f_alive ] ) ] else
26179: LD_ADDR_VAR 0 15
26183: PUSH
26184: LD_VAR 0 15
26188: PUSH
26189: LD_EXP 116
26193: PUSH
26194: LD_VAR 0 3
26198: ARRAY
26199: PPUSH
26200: LD_INT 51
26202: PUSH
26203: EMPTY
26204: LIST
26205: PPUSH
26206: CALL_OW 72
26210: PUSH
26211: EMPTY
26212: LIST
26213: ADD
26214: ST_TO_ADDR
26215: GO 26242
// temp_list = temp_list ^ [ escaping_arabians [ k ] ] ;
26217: LD_ADDR_VAR 0 15
26221: PUSH
26222: LD_VAR 0 15
26226: PUSH
26227: LD_EXP 116
26231: PUSH
26232: LD_VAR 0 3
26236: ARRAY
26237: PUSH
26238: EMPTY
26239: LIST
26240: ADD
26241: ST_TO_ADDR
26242: GO 26164
26244: POP
26245: POP
// escaping_arabians = temp_list ;
26246: LD_ADDR_EXP 116
26250: PUSH
26251: LD_VAR 0 15
26255: ST_TO_ADDR
// end ;
26256: GO 25918
26258: POP
26259: POP
// temp = 0 ;
26260: LD_ADDR_VAR 0 5
26264: PUSH
26265: LD_INT 0
26267: ST_TO_ADDR
// for j in escaping_arabians [ i ] do
26268: LD_ADDR_VAR 0 2
26272: PUSH
26273: LD_EXP 116
26277: PUSH
26278: LD_VAR 0 1
26282: ARRAY
26283: PUSH
26284: FOR_IN
26285: IFFALSE 26308
// if islive ( j ) then
26287: LD_VAR 0 2
26291: PPUSH
26292: CALL_OW 300
26296: IFFALSE 26306
// temp = 1 ;
26298: LD_ADDR_VAR 0 5
26302: PUSH
26303: LD_INT 1
26305: ST_TO_ADDR
26306: GO 26284
26308: POP
26309: POP
// if temp = 0 then
26310: LD_VAR 0 5
26314: PUSH
26315: LD_INT 0
26317: EQUAL
26318: IFFALSE 26332
// begin grouptodelete = i ;
26320: LD_ADDR_VAR 0 20
26324: PUSH
26325: LD_VAR 0 1
26329: ST_TO_ADDR
// break ;
26330: GO 30020
// end ; temp = 0 ;
26332: LD_ADDR_VAR 0 5
26336: PUSH
26337: LD_INT 0
26339: ST_TO_ADDR
// for j in escapees_errormargin_group do
26340: LD_ADDR_VAR 0 2
26344: PUSH
26345: LD_EXP 127
26349: PUSH
26350: FOR_IN
26351: IFFALSE 26378
// if getY ( j ) > 133 then
26353: LD_VAR 0 2
26357: PPUSH
26358: CALL_OW 251
26362: PUSH
26363: LD_INT 133
26365: GREATER
26366: IFFALSE 26376
// temp = 1 ;
26368: LD_ADDR_VAR 0 5
26372: PUSH
26373: LD_INT 1
26375: ST_TO_ADDR
26376: GO 26350
26378: POP
26379: POP
// if temp = 0 then
26380: LD_VAR 0 5
26384: PUSH
26385: LD_INT 0
26387: EQUAL
26388: IFFALSE 26397
// escapees_errormargin_group = [ ] ;
26390: LD_ADDR_EXP 127
26394: PUSH
26395: EMPTY
26396: ST_TO_ADDR
// if isselected ( escaping_arabians [ i ] ) and tick < [ 20 20$0 , 20 20$0 , 25 25$0 ] [ difficulty ] then
26397: LD_EXP 116
26401: PUSH
26402: LD_VAR 0 1
26406: ARRAY
26407: PPUSH
26408: CALL_OW 306
26412: PUSH
26413: LD_OWVAR 1
26417: PUSH
26418: LD_INT 42000
26420: PUSH
26421: LD_INT 42000
26423: PUSH
26424: LD_INT 52500
26426: PUSH
26427: EMPTY
26428: LIST
26429: LIST
26430: LIST
26431: PUSH
26432: LD_OWVAR 67
26436: ARRAY
26437: LESS
26438: AND
26439: IFFALSE 27092
// begin if ar_paths [ i ] [ 1 ] > 1 and ar_groupfollowing [ i ] = 0 then
26441: LD_EXP 135
26445: PUSH
26446: LD_VAR 0 1
26450: ARRAY
26451: PUSH
26452: LD_INT 1
26454: ARRAY
26455: PUSH
26456: LD_INT 1
26458: GREATER
26459: PUSH
26460: LD_EXP 139
26464: PUSH
26465: LD_VAR 0 1
26469: ARRAY
26470: PUSH
26471: LD_INT 0
26473: EQUAL
26474: AND
26475: IFFALSE 27090
// begin unit_to_follow = 0 ;
26477: LD_ADDR_VAR 0 21
26481: PUSH
26482: LD_INT 0
26484: ST_TO_ADDR
// temp_list = filterallunits ( [ [ f_side , 2 ] , [ f_not , [ f_and , [ f_type , unit_vehicle ] , [ f_empty ] ] ] ] ) ;
26485: LD_ADDR_VAR 0 15
26489: PUSH
26490: LD_INT 22
26492: PUSH
26493: LD_INT 2
26495: PUSH
26496: EMPTY
26497: LIST
26498: LIST
26499: PUSH
26500: LD_INT 3
26502: PUSH
26503: LD_INT 1
26505: PUSH
26506: LD_INT 21
26508: PUSH
26509: LD_INT 2
26511: PUSH
26512: EMPTY
26513: LIST
26514: LIST
26515: PUSH
26516: LD_INT 58
26518: PUSH
26519: EMPTY
26520: LIST
26521: PUSH
26522: EMPTY
26523: LIST
26524: LIST
26525: LIST
26526: PUSH
26527: EMPTY
26528: LIST
26529: LIST
26530: PUSH
26531: EMPTY
26532: LIST
26533: LIST
26534: PPUSH
26535: CALL_OW 69
26539: ST_TO_ADDR
// if UnitsInrange ( escaping_arabians [ i ] , temp_list , 10 ) > 0 then
26540: LD_EXP 116
26544: PUSH
26545: LD_VAR 0 1
26549: ARRAY
26550: PPUSH
26551: LD_VAR 0 15
26555: PPUSH
26556: LD_INT 10
26558: PPUSH
26559: CALL 60264 0 3
26563: PUSH
26564: LD_INT 0
26566: GREATER
26567: IFFALSE 27090
// begin for j = 1 to ar_groupfollowing do
26569: LD_ADDR_VAR 0 2
26573: PUSH
26574: DOUBLE
26575: LD_INT 1
26577: DEC
26578: ST_TO_ADDR
26579: LD_EXP 139
26583: PUSH
26584: FOR_TO
26585: IFFALSE 26667
// if ar_groupfollowing [ j ] = 1 or ar_groupfollowing [ j ] = 2 then
26587: LD_EXP 139
26591: PUSH
26592: LD_VAR 0 2
26596: ARRAY
26597: PUSH
26598: LD_INT 1
26600: EQUAL
26601: PUSH
26602: LD_EXP 139
26606: PUSH
26607: LD_VAR 0 2
26611: ARRAY
26612: PUSH
26613: LD_INT 2
26615: EQUAL
26616: OR
26617: IFFALSE 26665
// begin ar_groupfollowing = tag ( ar_groupfollowing , j , 0 ) ;
26619: LD_ADDR_EXP 139
26623: PUSH
26624: LD_EXP 139
26628: PPUSH
26629: LD_VAR 0 2
26633: PPUSH
26634: LD_INT 0
26636: PPUSH
26637: CALL 59897 0 3
26641: ST_TO_ADDR
// ar_paths = tag ( ar_paths , j , 0 ) ;
26642: LD_ADDR_EXP 135
26646: PUSH
26647: LD_EXP 135
26651: PPUSH
26652: LD_VAR 0 2
26656: PPUSH
26657: LD_INT 0
26659: PPUSH
26660: CALL 59897 0 3
26664: ST_TO_ADDR
// end ;
26665: GO 26584
26667: POP
26668: POP
// temp = closestunit ( escaping_arabians [ i ] , temp_list ) ;
26669: LD_ADDR_VAR 0 5
26673: PUSH
26674: LD_EXP 116
26678: PUSH
26679: LD_VAR 0 1
26683: ARRAY
26684: PPUSH
26685: LD_VAR 0 15
26689: PPUSH
26690: CALL 60469 0 2
26694: ST_TO_ADDR
// unit_to_follow = temp ;
26695: LD_ADDR_VAR 0 21
26699: PUSH
26700: LD_VAR 0 5
26704: ST_TO_ADDR
// ar_paths = tag ( ar_paths , i , [ [ unit_to_follow ] ] ) ;
26705: LD_ADDR_EXP 135
26709: PUSH
26710: LD_EXP 135
26714: PPUSH
26715: LD_VAR 0 1
26719: PPUSH
26720: LD_VAR 0 21
26724: PUSH
26725: EMPTY
26726: LIST
26727: PUSH
26728: EMPTY
26729: LIST
26730: PPUSH
26731: CALL 59897 0 3
26735: ST_TO_ADDR
// ar_groupfollowing = tag ( ar_groupfollowing , i , 1 ) ;
26736: LD_ADDR_EXP 139
26740: PUSH
26741: LD_EXP 139
26745: PPUSH
26746: LD_VAR 0 1
26750: PPUSH
26751: LD_INT 1
26753: PPUSH
26754: CALL 59897 0 3
26758: ST_TO_ADDR
// character = [ Heike , Oswald , Olaf , Sonya , Ralph , Kowalski , Aviradze , Swansson , Dwayne , Khattam , Evelyn , Chrissy ] ;
26759: LD_ADDR_VAR 0 23
26763: PUSH
26764: LD_EXP 87
26768: PUSH
26769: LD_EXP 88
26773: PUSH
26774: LD_EXP 89
26778: PUSH
26779: LD_EXP 90
26783: PUSH
26784: LD_EXP 91
26788: PUSH
26789: LD_EXP 92
26793: PUSH
26794: LD_EXP 93
26798: PUSH
26799: LD_EXP 94
26803: PUSH
26804: LD_EXP 95
26808: PUSH
26809: LD_EXP 96
26813: PUSH
26814: LD_EXP 97
26818: PUSH
26819: LD_EXP 103
26823: PUSH
26824: EMPTY
26825: LIST
26826: LIST
26827: LIST
26828: LIST
26829: LIST
26830: LIST
26831: LIST
26832: LIST
26833: LIST
26834: LIST
26835: LIST
26836: LIST
26837: ST_TO_ADDR
// line = [ He , Os , Olaf , So , Ra , Ko , Av , Sw , Dw , Kh , Ev , Ch ] ;
26838: LD_ADDR_VAR 0 24
26842: PUSH
26843: LD_STRING He
26845: PUSH
26846: LD_STRING Os
26848: PUSH
26849: LD_STRING Olaf
26851: PUSH
26852: LD_STRING So
26854: PUSH
26855: LD_STRING Ra
26857: PUSH
26858: LD_STRING Ko
26860: PUSH
26861: LD_STRING Av
26863: PUSH
26864: LD_STRING Sw
26866: PUSH
26867: LD_STRING Dw
26869: PUSH
26870: LD_STRING Kh
26872: PUSH
26873: LD_STRING Ev
26875: PUSH
26876: LD_STRING Ch
26878: PUSH
26879: EMPTY
26880: LIST
26881: LIST
26882: LIST
26883: LIST
26884: LIST
26885: LIST
26886: LIST
26887: LIST
26888: LIST
26889: LIST
26890: LIST
26891: LIST
26892: ST_TO_ADDR
// if GetControl ( unit_to_follow ) = control_manual then
26893: LD_VAR 0 21
26897: PPUSH
26898: CALL_OW 263
26902: PUSH
26903: LD_INT 1
26905: EQUAL
26906: IFFALSE 26925
// temp = IsDrivenBy ( unit_to_follow ) else
26908: LD_ADDR_VAR 0 5
26912: PUSH
26913: LD_VAR 0 21
26917: PPUSH
26918: CALL_OW 311
26922: ST_TO_ADDR
26923: GO 26935
// temp = unit_to_follow ;
26925: LD_ADDR_VAR 0 5
26929: PUSH
26930: LD_VAR 0 21
26934: ST_TO_ADDR
// async ;
26935: ASYNC
// if not temp in character then
26936: LD_VAR 0 5
26940: PUSH
26941: LD_VAR 0 23
26945: IN
26946: NOT
26947: IFFALSE 27019
// begin if not GetClass ( temp ) in [ class_apeman , class_apeman_soldier , class_apeman_kamikaze ] then
26949: LD_VAR 0 5
26953: PPUSH
26954: CALL_OW 257
26958: PUSH
26959: LD_INT 12
26961: PUSH
26962: LD_INT 15
26964: PUSH
26965: LD_INT 17
26967: PUSH
26968: EMPTY
26969: LIST
26970: LIST
26971: LIST
26972: IN
26973: NOT
26974: IFFALSE 27017
// if GetSex ( temp ) = sex_male then
26976: LD_VAR 0 5
26980: PPUSH
26981: CALL_OW 258
26985: PUSH
26986: LD_INT 1
26988: EQUAL
26989: IFFALSE 27005
// Say ( temp , follow_SomeM ) else
26991: LD_VAR 0 5
26995: PPUSH
26996: LD_STRING follow_SomeM
26998: PPUSH
26999: CALL_OW 88
27003: GO 27017
// Say ( temp , follow_SomeF ) ;
27005: LD_VAR 0 5
27009: PPUSH
27010: LD_STRING follow_SomeF
27012: PPUSH
27013: CALL_OW 88
// end else
27017: GO 27089
// for l = 1 to character do
27019: LD_ADDR_VAR 0 19
27023: PUSH
27024: DOUBLE
27025: LD_INT 1
27027: DEC
27028: ST_TO_ADDR
27029: LD_VAR 0 23
27033: PUSH
27034: FOR_TO
27035: IFFALSE 27087
// if temp = character [ l ] then
27037: LD_VAR 0 5
27041: PUSH
27042: LD_VAR 0 23
27046: PUSH
27047: LD_VAR 0 19
27051: ARRAY
27052: EQUAL
27053: IFFALSE 27085
// Say ( character [ l ] , follow_ & line [ l ] ) ;
27055: LD_VAR 0 23
27059: PUSH
27060: LD_VAR 0 19
27064: ARRAY
27065: PPUSH
27066: LD_STRING follow_
27068: PUSH
27069: LD_VAR 0 24
27073: PUSH
27074: LD_VAR 0 19
27078: ARRAY
27079: STR
27080: PPUSH
27081: CALL_OW 88
27085: GO 27034
27087: POP
27088: POP
// sync ;
27089: SYNC
// end ; end ; end else
27090: GO 27171
// begin if ar_groupfollowing [ i ] = 1 then
27092: LD_EXP 139
27096: PUSH
27097: LD_VAR 0 1
27101: ARRAY
27102: PUSH
27103: LD_INT 1
27105: EQUAL
27106: IFFALSE 27131
// ar_groupfollowing = tag ( ar_groupfollowing , i , 2 ) ;
27108: LD_ADDR_EXP 139
27112: PUSH
27113: LD_EXP 139
27117: PPUSH
27118: LD_VAR 0 1
27122: PPUSH
27123: LD_INT 2
27125: PPUSH
27126: CALL 59897 0 3
27130: ST_TO_ADDR
// if ar_groupfollowing [ i ] = - 1 then
27131: LD_EXP 139
27135: PUSH
27136: LD_VAR 0 1
27140: ARRAY
27141: PUSH
27142: LD_INT 1
27144: NEG
27145: EQUAL
27146: IFFALSE 27171
// ar_groupfollowing = tag ( ar_groupfollowing , i , 0 ) ;
27148: LD_ADDR_EXP 139
27152: PUSH
27153: LD_EXP 139
27157: PPUSH
27158: LD_VAR 0 1
27162: PPUSH
27163: LD_INT 0
27165: PPUSH
27166: CALL 59897 0 3
27170: ST_TO_ADDR
// end ; if ar_paths [ i ] = 0 then
27171: LD_EXP 135
27175: PUSH
27176: LD_VAR 0 1
27180: ARRAY
27181: PUSH
27182: LD_INT 0
27184: EQUAL
27185: IFFALSE 27530
// begin temp = escaping_arabians [ i ] [ 1 ] ;
27187: LD_ADDR_VAR 0 5
27191: PUSH
27192: LD_EXP 116
27196: PUSH
27197: LD_VAR 0 1
27201: ARRAY
27202: PUSH
27203: LD_INT 1
27205: ARRAY
27206: ST_TO_ADDR
// temp_dist = getdistunitxy ( temp , escapees_path1 [ 1 ] [ 1 ] , escapees_path1 [ 1 ] [ 2 ] ) ;
27207: LD_ADDR_VAR 0 22
27211: PUSH
27212: LD_VAR 0 5
27216: PPUSH
27217: LD_EXP 148
27221: PUSH
27222: LD_INT 1
27224: ARRAY
27225: PUSH
27226: LD_INT 1
27228: ARRAY
27229: PPUSH
27230: LD_EXP 148
27234: PUSH
27235: LD_INT 1
27237: ARRAY
27238: PUSH
27239: LD_INT 2
27241: ARRAY
27242: PPUSH
27243: CALL_OW 297
27247: ST_TO_ADDR
// temp_list = escapees_path1 ;
27248: LD_ADDR_VAR 0 15
27252: PUSH
27253: LD_EXP 148
27257: ST_TO_ADDR
// temp_list2 = [ escapees_path1 , escapees_path2 , escapees_path3 , escapees_path4 , escapees_path5 ] ;
27258: LD_ADDR_VAR 0 17
27262: PUSH
27263: LD_EXP 148
27267: PUSH
27268: LD_EXP 147
27272: PUSH
27273: LD_EXP 146
27277: PUSH
27278: LD_EXP 145
27282: PUSH
27283: LD_EXP 144
27287: PUSH
27288: EMPTY
27289: LIST
27290: LIST
27291: LIST
27292: LIST
27293: LIST
27294: ST_TO_ADDR
// for j in temp_list2 do
27295: LD_ADDR_VAR 0 2
27299: PUSH
27300: LD_VAR 0 17
27304: PUSH
27305: FOR_IN
27306: IFFALSE 27405
// for k in j do
27308: LD_ADDR_VAR 0 3
27312: PUSH
27313: LD_VAR 0 2
27317: PUSH
27318: FOR_IN
27319: IFFALSE 27401
// if getdistunitxy ( temp , k [ 1 ] , k [ 2 ] ) < temp_dist then
27321: LD_VAR 0 5
27325: PPUSH
27326: LD_VAR 0 3
27330: PUSH
27331: LD_INT 1
27333: ARRAY
27334: PPUSH
27335: LD_VAR 0 3
27339: PUSH
27340: LD_INT 2
27342: ARRAY
27343: PPUSH
27344: CALL_OW 297
27348: PUSH
27349: LD_VAR 0 22
27353: LESS
27354: IFFALSE 27399
// begin temp_dist = getdistunitxy ( temp , k [ 1 ] , k [ 2 ] ) ;
27356: LD_ADDR_VAR 0 22
27360: PUSH
27361: LD_VAR 0 5
27365: PPUSH
27366: LD_VAR 0 3
27370: PUSH
27371: LD_INT 1
27373: ARRAY
27374: PPUSH
27375: LD_VAR 0 3
27379: PUSH
27380: LD_INT 2
27382: ARRAY
27383: PPUSH
27384: CALL_OW 297
27388: ST_TO_ADDR
// temp_list = j ;
27389: LD_ADDR_VAR 0 15
27393: PUSH
27394: LD_VAR 0 2
27398: ST_TO_ADDR
// end ;
27399: GO 27318
27401: POP
27402: POP
27403: GO 27305
27405: POP
27406: POP
// ar_paths = tag ( ar_paths , i , temp_list ) ;
27407: LD_ADDR_EXP 135
27411: PUSH
27412: LD_EXP 135
27416: PPUSH
27417: LD_VAR 0 1
27421: PPUSH
27422: LD_VAR 0 15
27426: PPUSH
27427: CALL 59897 0 3
27431: ST_TO_ADDR
// ar_groupfollowing = tag ( ar_groupfollowing , i , - 1 ) ;
27432: LD_ADDR_EXP 139
27436: PUSH
27437: LD_EXP 139
27441: PPUSH
27442: LD_VAR 0 1
27446: PPUSH
27447: LD_INT 1
27449: NEG
27450: PPUSH
27451: CALL 59897 0 3
27455: ST_TO_ADDR
// for j = 1 to temp_list do
27456: LD_ADDR_VAR 0 2
27460: PUSH
27461: DOUBLE
27462: LD_INT 1
27464: DEC
27465: ST_TO_ADDR
27466: LD_VAR 0 15
27470: PUSH
27471: FOR_TO
27472: IFFALSE 27528
// if temp_list [ j ] [ 2 ] > gety ( temp ) then
27474: LD_VAR 0 15
27478: PUSH
27479: LD_VAR 0 2
27483: ARRAY
27484: PUSH
27485: LD_INT 2
27487: ARRAY
27488: PUSH
27489: LD_VAR 0 5
27493: PPUSH
27494: CALL_OW 251
27498: GREATER
27499: IFFALSE 27526
// ar_grouphexcount = tag ( ar_grouphexcount , i , j ) ;
27501: LD_ADDR_EXP 138
27505: PUSH
27506: LD_EXP 138
27510: PPUSH
27511: LD_VAR 0 1
27515: PPUSH
27516: LD_VAR 0 2
27520: PPUSH
27521: CALL 59897 0 3
27525: ST_TO_ADDR
27526: GO 27471
27528: POP
27529: POP
// end ; if ar_groupfollowing [ i ] < 1 then
27530: LD_EXP 139
27534: PUSH
27535: LD_VAR 0 1
27539: ARRAY
27540: PUSH
27541: LD_INT 1
27543: LESS
27544: IFFALSE 29818
// begin group = escaping_arabians [ i ] ;
27546: LD_ADDR_VAR 0 6
27550: PUSH
27551: LD_EXP 116
27555: PUSH
27556: LD_VAR 0 1
27560: ARRAY
27561: ST_TO_ADDR
// path = ar_paths [ i ] ;
27562: LD_ADDR_VAR 0 7
27566: PUSH
27567: LD_EXP 135
27571: PUSH
27572: LD_VAR 0 1
27576: ARRAY
27577: ST_TO_ADDR
// group_type = ar_grouptypes [ i ] ;
27578: LD_ADDR_VAR 0 8
27582: PUSH
27583: LD_EXP 136
27587: PUSH
27588: LD_VAR 0 1
27592: ARRAY
27593: ST_TO_ADDR
// group_number = i ;
27594: LD_ADDR_VAR 0 9
27598: PUSH
27599: LD_VAR 0 1
27603: ST_TO_ADDR
// passed_hex = ar_grouphexcount [ i ] ;
27604: LD_ADDR_VAR 0 10
27608: PUSH
27609: LD_EXP 138
27613: PUSH
27614: LD_VAR 0 1
27618: ARRAY
27619: ST_TO_ADDR
// dlg_status = ar_dlg [ i ] ;
27620: LD_ADDR_VAR 0 11
27624: PUSH
27625: LD_EXP 143
27629: PUSH
27630: LD_VAR 0 1
27634: ARRAY
27635: ST_TO_ADDR
// nexthex = 0 ;
27636: LD_ADDR_VAR 0 13
27640: PUSH
27641: LD_INT 0
27643: ST_TO_ADDR
// unittoberemoved = 0 ;
27644: LD_ADDR_VAR 0 14
27648: PUSH
27649: LD_INT 0
27651: ST_TO_ADDR
// temp_val = 6 ;
27652: LD_ADDR_VAR 0 4
27656: PUSH
27657: LD_INT 6
27659: ST_TO_ADDR
// if dlg_status > 0 then
27660: LD_VAR 0 11
27664: PUSH
27665: LD_INT 0
27667: GREATER
27668: IFFALSE 28166
// begin for j in group do
27670: LD_ADDR_VAR 0 2
27674: PUSH
27675: LD_VAR 0 6
27679: PUSH
27680: FOR_IN
27681: IFFALSE 27936
// if see ( 2 , j ) and getdistunits ( j , NearestUnitToUnit ( filterallunits ( [ f_side , 2 ] ) , j ) ) < 12 then
27683: LD_INT 2
27685: PPUSH
27686: LD_VAR 0 2
27690: PPUSH
27691: CALL_OW 292
27695: PUSH
27696: LD_VAR 0 2
27700: PPUSH
27701: LD_INT 22
27703: PUSH
27704: LD_INT 2
27706: PUSH
27707: EMPTY
27708: LIST
27709: LIST
27710: PPUSH
27711: CALL_OW 69
27715: PPUSH
27716: LD_VAR 0 2
27720: PPUSH
27721: CALL_OW 74
27725: PPUSH
27726: CALL_OW 296
27730: PUSH
27731: LD_INT 12
27733: LESS
27734: AND
27735: IFFALSE 27934
// begin temp = 0 ;
27737: LD_ADDR_VAR 0 5
27741: PUSH
27742: LD_INT 0
27744: ST_TO_ADDR
// for k in group do
27745: LD_ADDR_VAR 0 3
27749: PUSH
27750: LD_VAR 0 6
27754: PUSH
27755: FOR_IN
27756: IFFALSE 27780
// if k in detected_arabians then
27758: LD_VAR 0 3
27762: PUSH
27763: LD_EXP 114
27767: IN
27768: IFFALSE 27778
// temp = 1 ;
27770: LD_ADDR_VAR 0 5
27774: PUSH
27775: LD_INT 1
27777: ST_TO_ADDR
27778: GO 27755
27780: POP
27781: POP
// if temp = 0 and ar_dlg [ i ] > 0 then
27782: LD_VAR 0 5
27786: PUSH
27787: LD_INT 0
27789: EQUAL
27790: PUSH
27791: LD_EXP 143
27795: PUSH
27796: LD_VAR 0 1
27800: ARRAY
27801: PUSH
27802: LD_INT 0
27804: GREATER
27805: AND
27806: IFFALSE 27911
// begin async ;
27808: ASYNC
// if getsex ( j ) = sex_male then
27809: LD_VAR 0 2
27813: PPUSH
27814: CALL_OW 258
27818: PUSH
27819: LD_INT 1
27821: EQUAL
27822: IFFALSE 27861
// temp_line = [ esc1_SomeM1 , esc1_SomeM2 , esc1_SomeM3 , esc1_SomeM4 ] [ rand ( 1 , 4 ) ] else
27824: LD_ADDR_VAR 0 18
27828: PUSH
27829: LD_STRING esc1_SomeM1
27831: PUSH
27832: LD_STRING esc1_SomeM2
27834: PUSH
27835: LD_STRING esc1_SomeM3
27837: PUSH
27838: LD_STRING esc1_SomeM4
27840: PUSH
27841: EMPTY
27842: LIST
27843: LIST
27844: LIST
27845: LIST
27846: PUSH
27847: LD_INT 1
27849: PPUSH
27850: LD_INT 4
27852: PPUSH
27853: CALL_OW 12
27857: ARRAY
27858: ST_TO_ADDR
27859: GO 27896
// temp_line = [ esc1_SomeF1 , esc1_SomeF2 , esc1_SomeF3 , esc1_SomeF4 ] [ rand ( 1 , 4 ) ] ;
27861: LD_ADDR_VAR 0 18
27865: PUSH
27866: LD_STRING esc1_SomeF1
27868: PUSH
27869: LD_STRING esc1_SomeF2
27871: PUSH
27872: LD_STRING esc1_SomeF3
27874: PUSH
27875: LD_STRING esc1_SomeF4
27877: PUSH
27878: EMPTY
27879: LIST
27880: LIST
27881: LIST
27882: LIST
27883: PUSH
27884: LD_INT 1
27886: PPUSH
27887: LD_INT 4
27889: PPUSH
27890: CALL_OW 12
27894: ARRAY
27895: ST_TO_ADDR
// sync ;
27896: SYNC
// Say ( j , temp_line ) ;
27897: LD_VAR 0 2
27901: PPUSH
27902: LD_VAR 0 18
27906: PPUSH
27907: CALL_OW 88
// end ; ar_dlg = tag ( ar_dlg , group_number , 0 ) ;
27911: LD_ADDR_EXP 143
27915: PUSH
27916: LD_EXP 143
27920: PPUSH
27921: LD_VAR 0 9
27925: PPUSH
27926: LD_INT 0
27928: PPUSH
27929: CALL 59897 0 3
27933: ST_TO_ADDR
// end ;
27934: GO 27680
27936: POP
27937: POP
// for j in group do
27938: LD_ADDR_VAR 0 2
27942: PUSH
27943: LD_VAR 0 6
27947: PUSH
27948: FOR_IN
27949: IFFALSE 28164
// if j in detected_arabians then
27951: LD_VAR 0 2
27955: PUSH
27956: LD_EXP 114
27960: IN
27961: IFFALSE 28162
// begin temp = 0 ;
27963: LD_ADDR_VAR 0 5
27967: PUSH
27968: LD_INT 0
27970: ST_TO_ADDR
// for k in group do
27971: LD_ADDR_VAR 0 3
27975: PUSH
27976: LD_VAR 0 6
27980: PUSH
27981: FOR_IN
27982: IFFALSE 28008
// if see ( 2 , k ) then
27984: LD_INT 2
27986: PPUSH
27987: LD_VAR 0 3
27991: PPUSH
27992: CALL_OW 292
27996: IFFALSE 28006
// temp = 1 ;
27998: LD_ADDR_VAR 0 5
28002: PUSH
28003: LD_INT 1
28005: ST_TO_ADDR
28006: GO 27981
28008: POP
28009: POP
// if temp = 0 and ar_dlg [ i ] > 0 then
28010: LD_VAR 0 5
28014: PUSH
28015: LD_INT 0
28017: EQUAL
28018: PUSH
28019: LD_EXP 143
28023: PUSH
28024: LD_VAR 0 1
28028: ARRAY
28029: PUSH
28030: LD_INT 0
28032: GREATER
28033: AND
28034: IFFALSE 28162
// begin ar_dlg = tag ( ar_dlg , group_number , 0 ) ;
28036: LD_ADDR_EXP 143
28040: PUSH
28041: LD_EXP 143
28045: PPUSH
28046: LD_VAR 0 9
28050: PPUSH
28051: LD_INT 0
28053: PPUSH
28054: CALL 59897 0 3
28058: ST_TO_ADDR
// async ;
28059: ASYNC
// if getsex ( j ) = sex_male then
28060: LD_VAR 0 2
28064: PPUSH
28065: CALL_OW 258
28069: PUSH
28070: LD_INT 1
28072: EQUAL
28073: IFFALSE 28112
// temp_line = [ esc2_SomeM1 , esc2_SomeM2 , esc2_SomeM3 , esc2_SomeM4 ] [ rand ( 1 , 4 ) ] else
28075: LD_ADDR_VAR 0 18
28079: PUSH
28080: LD_STRING esc2_SomeM1
28082: PUSH
28083: LD_STRING esc2_SomeM2
28085: PUSH
28086: LD_STRING esc2_SomeM3
28088: PUSH
28089: LD_STRING esc2_SomeM4
28091: PUSH
28092: EMPTY
28093: LIST
28094: LIST
28095: LIST
28096: LIST
28097: PUSH
28098: LD_INT 1
28100: PPUSH
28101: LD_INT 4
28103: PPUSH
28104: CALL_OW 12
28108: ARRAY
28109: ST_TO_ADDR
28110: GO 28147
// temp_line = [ esc2_SomeF1 , esc2_SomeF2 , esc2_SomeF3 , esc2_SomeF4 ] [ rand ( 1 , 4 ) ] ;
28112: LD_ADDR_VAR 0 18
28116: PUSH
28117: LD_STRING esc2_SomeF1
28119: PUSH
28120: LD_STRING esc2_SomeF2
28122: PUSH
28123: LD_STRING esc2_SomeF3
28125: PUSH
28126: LD_STRING esc2_SomeF4
28128: PUSH
28129: EMPTY
28130: LIST
28131: LIST
28132: LIST
28133: LIST
28134: PUSH
28135: LD_INT 1
28137: PPUSH
28138: LD_INT 4
28140: PPUSH
28141: CALL_OW 12
28145: ARRAY
28146: ST_TO_ADDR
// sync ;
28147: SYNC
// SayRadio ( j , temp_line ) ;
28148: LD_VAR 0 2
28152: PPUSH
28153: LD_VAR 0 18
28157: PPUSH
28158: CALL_OW 94
// end ; end ;
28162: GO 27948
28164: POP
28165: POP
// end ; for j = 1 to path do
28166: LD_ADDR_VAR 0 2
28170: PUSH
28171: DOUBLE
28172: LD_INT 1
28174: DEC
28175: ST_TO_ADDR
28176: LD_VAR 0 7
28180: PUSH
28181: FOR_TO
28182: IFFALSE 28319
// if j > passed_hex [ 1 ] then
28184: LD_VAR 0 2
28188: PUSH
28189: LD_VAR 0 10
28193: PUSH
28194: LD_INT 1
28196: ARRAY
28197: GREATER
28198: IFFALSE 28317
// begin temp = 0 ;
28200: LD_ADDR_VAR 0 5
28204: PUSH
28205: LD_INT 0
28207: ST_TO_ADDR
// for k in group do
28208: LD_ADDR_VAR 0 3
28212: PUSH
28213: LD_VAR 0 6
28217: PUSH
28218: FOR_IN
28219: IFFALSE 28278
// if getdistunitxy ( k , path [ j ] [ 1 ] , path [ j ] [ 2 ] ) > temp_val then
28221: LD_VAR 0 3
28225: PPUSH
28226: LD_VAR 0 7
28230: PUSH
28231: LD_VAR 0 2
28235: ARRAY
28236: PUSH
28237: LD_INT 1
28239: ARRAY
28240: PPUSH
28241: LD_VAR 0 7
28245: PUSH
28246: LD_VAR 0 2
28250: ARRAY
28251: PUSH
28252: LD_INT 2
28254: ARRAY
28255: PPUSH
28256: CALL_OW 297
28260: PUSH
28261: LD_VAR 0 4
28265: GREATER
28266: IFFALSE 28276
// temp = 1 ;
28268: LD_ADDR_VAR 0 5
28272: PUSH
28273: LD_INT 1
28275: ST_TO_ADDR
28276: GO 28218
28278: POP
28279: POP
// if temp = 0 then
28280: LD_VAR 0 5
28284: PUSH
28285: LD_INT 0
28287: EQUAL
28288: IFFALSE 28317
// begin ar_grouphexcount = tag ( ar_grouphexcount , group_number , j ) ;
28290: LD_ADDR_EXP 138
28294: PUSH
28295: LD_EXP 138
28299: PPUSH
28300: LD_VAR 0 9
28304: PPUSH
28305: LD_VAR 0 2
28309: PPUSH
28310: CALL 59897 0 3
28314: ST_TO_ADDR
// break ;
28315: GO 28319
// end ; end ;
28317: GO 28181
28319: POP
28320: POP
// if ar_paths [ i ] = 1 then
28321: LD_EXP 135
28325: PUSH
28326: LD_VAR 0 1
28330: ARRAY
28331: PUSH
28332: LD_INT 1
28334: EQUAL
28335: IFFALSE 28360
// ar_grouphexcount = tag ( ar_grouphexcount , group_number , 0 ) ;
28337: LD_ADDR_EXP 138
28341: PUSH
28342: LD_EXP 138
28346: PPUSH
28347: LD_VAR 0 9
28351: PPUSH
28352: LD_INT 0
28354: PPUSH
28355: CALL 59897 0 3
28359: ST_TO_ADDR
// for j = 1 to path do
28360: LD_ADDR_VAR 0 2
28364: PUSH
28365: DOUBLE
28366: LD_INT 1
28368: DEC
28369: ST_TO_ADDR
28370: LD_VAR 0 7
28374: PUSH
28375: FOR_TO
28376: IFFALSE 28414
// if j > passed_hex [ 1 ] then
28378: LD_VAR 0 2
28382: PUSH
28383: LD_VAR 0 10
28387: PUSH
28388: LD_INT 1
28390: ARRAY
28391: GREATER
28392: IFFALSE 28412
// begin nexthex = path [ j ] ;
28394: LD_ADDR_VAR 0 13
28398: PUSH
28399: LD_VAR 0 7
28403: PUSH
28404: LD_VAR 0 2
28408: ARRAY
28409: ST_TO_ADDR
// break ;
28410: GO 28414
// end ;
28412: GO 28375
28414: POP
28415: POP
// if nexthex = 0 and ar_paths [ i ] > 1 then
28416: LD_VAR 0 13
28420: PUSH
28421: LD_INT 0
28423: EQUAL
28424: PUSH
28425: LD_EXP 135
28429: PUSH
28430: LD_VAR 0 1
28434: ARRAY
28435: PUSH
28436: LD_INT 1
28438: GREATER
28439: AND
28440: IFFALSE 28726
// begin temp = getdistunitxy ( group [ 1 ] , MoveOutHexes [ 1 ] [ 1 ] , MoveOutHexes [ 1 ] [ 2 ] ) ;
28442: LD_ADDR_VAR 0 5
28446: PUSH
28447: LD_VAR 0 6
28451: PUSH
28452: LD_INT 1
28454: ARRAY
28455: PPUSH
28456: LD_EXP 66
28460: PUSH
28461: LD_INT 1
28463: ARRAY
28464: PUSH
28465: LD_INT 1
28467: ARRAY
28468: PPUSH
28469: LD_EXP 66
28473: PUSH
28474: LD_INT 1
28476: ARRAY
28477: PUSH
28478: LD_INT 2
28480: ARRAY
28481: PPUSH
28482: CALL_OW 297
28486: ST_TO_ADDR
// hex = 1 ;
28487: LD_ADDR_VAR 0 12
28491: PUSH
28492: LD_INT 1
28494: ST_TO_ADDR
// for j in group do
28495: LD_ADDR_VAR 0 2
28499: PUSH
28500: LD_VAR 0 6
28504: PUSH
28505: FOR_IN
28506: IFFALSE 28634
// for k = 1 to MoveOutHexes do
28508: LD_ADDR_VAR 0 3
28512: PUSH
28513: DOUBLE
28514: LD_INT 1
28516: DEC
28517: ST_TO_ADDR
28518: LD_EXP 66
28522: PUSH
28523: FOR_TO
28524: IFFALSE 28630
// if getdistunitxy ( j , MoveOutHexes [ k ] [ 1 ] , MoveOutHexes [ k ] [ 2 ] ) < temp then
28526: LD_VAR 0 2
28530: PPUSH
28531: LD_EXP 66
28535: PUSH
28536: LD_VAR 0 3
28540: ARRAY
28541: PUSH
28542: LD_INT 1
28544: ARRAY
28545: PPUSH
28546: LD_EXP 66
28550: PUSH
28551: LD_VAR 0 3
28555: ARRAY
28556: PUSH
28557: LD_INT 2
28559: ARRAY
28560: PPUSH
28561: CALL_OW 297
28565: PUSH
28566: LD_VAR 0 5
28570: LESS
28571: IFFALSE 28628
// begin temp = getdistunitxy ( j , MoveOutHexes [ k ] [ 1 ] , MoveOutHexes [ k ] [ 2 ] ) ;
28573: LD_ADDR_VAR 0 5
28577: PUSH
28578: LD_VAR 0 2
28582: PPUSH
28583: LD_EXP 66
28587: PUSH
28588: LD_VAR 0 3
28592: ARRAY
28593: PUSH
28594: LD_INT 1
28596: ARRAY
28597: PPUSH
28598: LD_EXP 66
28602: PUSH
28603: LD_VAR 0 3
28607: ARRAY
28608: PUSH
28609: LD_INT 2
28611: ARRAY
28612: PPUSH
28613: CALL_OW 297
28617: ST_TO_ADDR
// hex = k ;
28618: LD_ADDR_VAR 0 12
28622: PUSH
28623: LD_VAR 0 3
28627: ST_TO_ADDR
// end ;
28628: GO 28523
28630: POP
28631: POP
28632: GO 28505
28634: POP
28635: POP
// temp = [ [ MoveOutHexes [ hex ] [ 1 ] , MoveOutHexes [ hex ] [ 2 ] ] ] ;
28636: LD_ADDR_VAR 0 5
28640: PUSH
28641: LD_EXP 66
28645: PUSH
28646: LD_VAR 0 12
28650: ARRAY
28651: PUSH
28652: LD_INT 1
28654: ARRAY
28655: PUSH
28656: LD_EXP 66
28660: PUSH
28661: LD_VAR 0 12
28665: ARRAY
28666: PUSH
28667: LD_INT 2
28669: ARRAY
28670: PUSH
28671: EMPTY
28672: LIST
28673: LIST
28674: PUSH
28675: EMPTY
28676: LIST
28677: ST_TO_ADDR
// ar_paths = tag ( ar_paths , group_number , temp ) ;
28678: LD_ADDR_EXP 135
28682: PUSH
28683: LD_EXP 135
28687: PPUSH
28688: LD_VAR 0 9
28692: PPUSH
28693: LD_VAR 0 5
28697: PPUSH
28698: CALL 59897 0 3
28702: ST_TO_ADDR
// ar_grouphexcount = tag ( ar_grouphexcount , group_number , 0 ) ;
28703: LD_ADDR_EXP 138
28707: PUSH
28708: LD_EXP 138
28712: PPUSH
28713: LD_VAR 0 9
28717: PPUSH
28718: LD_INT 0
28720: PPUSH
28721: CALL 59897 0 3
28725: ST_TO_ADDR
// end ; if nexthex > 0 then
28726: LD_VAR 0 13
28730: PUSH
28731: LD_INT 0
28733: GREATER
28734: IFFALSE 28763
// commovexy ( group , nexthex [ 1 ] , nexthex [ 2 ] ) ;
28736: LD_VAR 0 6
28740: PPUSH
28741: LD_VAR 0 13
28745: PUSH
28746: LD_INT 1
28748: ARRAY
28749: PPUSH
28750: LD_VAR 0 13
28754: PUSH
28755: LD_INT 2
28757: ARRAY
28758: PPUSH
28759: CALL_OW 111
// for j in group do
28763: LD_ADDR_VAR 0 2
28767: PUSH
28768: LD_VAR 0 6
28772: PUSH
28773: FOR_IN
28774: IFFALSE 28880
// if ar_paths [ i ] = 1 and getdistxy ( ar_paths [ i ] [ 1 ] [ 1 ] , getY ( j ) , ar_paths [ i ] [ 1 ] [ 1 ] , ar_paths [ i ] [ 1 ] [ 2 ] ) < 4 then
28776: LD_EXP 135
28780: PUSH
28781: LD_VAR 0 1
28785: ARRAY
28786: PUSH
28787: LD_INT 1
28789: EQUAL
28790: PUSH
28791: LD_EXP 135
28795: PUSH
28796: LD_VAR 0 1
28800: ARRAY
28801: PUSH
28802: LD_INT 1
28804: ARRAY
28805: PUSH
28806: LD_INT 1
28808: ARRAY
28809: PPUSH
28810: LD_VAR 0 2
28814: PPUSH
28815: CALL_OW 251
28819: PPUSH
28820: LD_EXP 135
28824: PUSH
28825: LD_VAR 0 1
28829: ARRAY
28830: PUSH
28831: LD_INT 1
28833: ARRAY
28834: PUSH
28835: LD_INT 1
28837: ARRAY
28838: PPUSH
28839: LD_EXP 135
28843: PUSH
28844: LD_VAR 0 1
28848: ARRAY
28849: PUSH
28850: LD_INT 1
28852: ARRAY
28853: PUSH
28854: LD_INT 2
28856: ARRAY
28857: PPUSH
28858: CALL_OW 298
28862: PUSH
28863: LD_INT 4
28865: LESS
28866: AND
28867: IFFALSE 28878
// begin removeunit ( j ) ;
28869: LD_VAR 0 2
28873: PPUSH
28874: CALL_OW 64
// end ;
28878: GO 28773
28880: POP
28881: POP
// temp = 0 ;
28882: LD_ADDR_VAR 0 5
28886: PUSH
28887: LD_INT 0
28889: ST_TO_ADDR
// for j in group do
28890: LD_ADDR_VAR 0 2
28894: PUSH
28895: LD_VAR 0 6
28899: PUSH
28900: FOR_IN
28901: IFFALSE 28953
// if filterallunits ( [ [ f_nation , nation_russian ] , [ f_dist , j , 30 ] ] ) > 0 then
28903: LD_INT 23
28905: PUSH
28906: LD_INT 3
28908: PUSH
28909: EMPTY
28910: LIST
28911: LIST
28912: PUSH
28913: LD_INT 91
28915: PUSH
28916: LD_VAR 0 2
28920: PUSH
28921: LD_INT 30
28923: PUSH
28924: EMPTY
28925: LIST
28926: LIST
28927: LIST
28928: PUSH
28929: EMPTY
28930: LIST
28931: LIST
28932: PPUSH
28933: CALL_OW 69
28937: PUSH
28938: LD_INT 0
28940: GREATER
28941: IFFALSE 28951
// temp = 1 ;
28943: LD_ADDR_VAR 0 5
28947: PUSH
28948: LD_INT 1
28950: ST_TO_ADDR
28951: GO 28900
28953: POP
28954: POP
// temp_list = [ ] ;
28955: LD_ADDR_VAR 0 15
28959: PUSH
28960: EMPTY
28961: ST_TO_ADDR
// if temp = 0 and unitfilter ( group , [ f_class , class_scientistic ] ) > 0 and ar_groupstatus [ group_number ] > - 1 then
28962: LD_VAR 0 5
28966: PUSH
28967: LD_INT 0
28969: EQUAL
28970: PUSH
28971: LD_VAR 0 6
28975: PPUSH
28976: LD_INT 25
28978: PUSH
28979: LD_INT 4
28981: PUSH
28982: EMPTY
28983: LIST
28984: LIST
28985: PPUSH
28986: CALL_OW 72
28990: PUSH
28991: LD_INT 0
28993: GREATER
28994: AND
28995: PUSH
28996: LD_EXP 137
29000: PUSH
29001: LD_VAR 0 9
29005: ARRAY
29006: PUSH
29007: LD_INT 1
29009: NEG
29010: GREATER
29011: AND
29012: IFFALSE 29062
// for j in group do
29014: LD_ADDR_VAR 0 2
29018: PUSH
29019: LD_VAR 0 6
29023: PUSH
29024: FOR_IN
29025: IFFALSE 29060
// if getlives ( j ) < 600 then
29027: LD_VAR 0 2
29031: PPUSH
29032: CALL_OW 256
29036: PUSH
29037: LD_INT 600
29039: LESS
29040: IFFALSE 29058
// temp_list = temp_list ^ j ;
29042: LD_ADDR_VAR 0 15
29046: PUSH
29047: LD_VAR 0 15
29051: PUSH
29052: LD_VAR 0 2
29056: ADD
29057: ST_TO_ADDR
29058: GO 29024
29060: POP
29061: POP
// if unitfilter ( group , [ f_class , class_scientistic ] ) = 1 then
29062: LD_VAR 0 6
29066: PPUSH
29067: LD_INT 25
29069: PUSH
29070: LD_INT 4
29072: PUSH
29073: EMPTY
29074: LIST
29075: LIST
29076: PPUSH
29077: CALL_OW 72
29081: PUSH
29082: LD_INT 1
29084: EQUAL
29085: IFFALSE 29122
// temp_list = temp_list diff unitfilter ( group , [ f_class , class_scientistic ] ) [ 1 ] ;
29087: LD_ADDR_VAR 0 15
29091: PUSH
29092: LD_VAR 0 15
29096: PUSH
29097: LD_VAR 0 6
29101: PPUSH
29102: LD_INT 25
29104: PUSH
29105: LD_INT 4
29107: PUSH
29108: EMPTY
29109: LIST
29110: LIST
29111: PPUSH
29112: CALL_OW 72
29116: PUSH
29117: LD_INT 1
29119: ARRAY
29120: DIFF
29121: ST_TO_ADDR
// if temp_list > 0 then
29122: LD_VAR 0 15
29126: PUSH
29127: LD_INT 0
29129: GREATER
29130: IFFALSE 29174
// begin comstop ( group ) ;
29132: LD_VAR 0 6
29136: PPUSH
29137: CALL_OW 141
// comheal ( unitfilter ( group , [ f_class , class_scientistic ] ) , temp_list [ 1 ] ) ;
29141: LD_VAR 0 6
29145: PPUSH
29146: LD_INT 25
29148: PUSH
29149: LD_INT 4
29151: PUSH
29152: EMPTY
29153: LIST
29154: LIST
29155: PPUSH
29156: CALL_OW 72
29160: PPUSH
29161: LD_VAR 0 15
29165: PUSH
29166: LD_INT 1
29168: ARRAY
29169: PPUSH
29170: CALL_OW 128
// end ; if temp = 0 and joining_escapees_count > 0 and tick > joining_escapees_count [ 1 ] then
29174: LD_VAR 0 5
29178: PUSH
29179: LD_INT 0
29181: EQUAL
29182: PUSH
29183: LD_EXP 128
29187: PUSH
29188: LD_INT 0
29190: GREATER
29191: AND
29192: PUSH
29193: LD_OWVAR 1
29197: PUSH
29198: LD_EXP 128
29202: PUSH
29203: LD_INT 1
29205: ARRAY
29206: GREATER
29207: AND
29208: IFFALSE 29674
// for j in group do
29210: LD_ADDR_VAR 0 2
29214: PUSH
29215: LD_VAR 0 6
29219: PUSH
29220: FOR_IN
29221: IFFALSE 29672
// if GetY ( j ) > 174 and GetY ( j ) < 184 then
29223: LD_VAR 0 2
29227: PPUSH
29228: CALL_OW 251
29232: PUSH
29233: LD_INT 174
29235: GREATER
29236: PUSH
29237: LD_VAR 0 2
29241: PPUSH
29242: CALL_OW 251
29246: PUSH
29247: LD_INT 184
29249: LESS
29250: AND
29251: IFFALSE 29670
// begin temp_val = [ GetX ( j ) , GetY ( j ) ] ;
29253: LD_ADDR_VAR 0 4
29257: PUSH
29258: LD_VAR 0 2
29262: PPUSH
29263: CALL_OW 250
29267: PUSH
29268: LD_VAR 0 2
29272: PPUSH
29273: CALL_OW 251
29277: PUSH
29278: EMPTY
29279: LIST
29280: LIST
29281: ST_TO_ADDR
// removeunit ( j ) ;
29282: LD_VAR 0 2
29286: PPUSH
29287: CALL_OW 64
// case rand ( 1 , 3 ) of 1 :
29291: LD_INT 1
29293: PPUSH
29294: LD_INT 3
29296: PPUSH
29297: CALL_OW 12
29301: PUSH
29302: LD_INT 1
29304: DOUBLE
29305: EQUAL
29306: IFTRUE 29310
29308: GO 29382
29310: POP
// begin setskill ( j , skill_combat , rand ( 6 , 8 ) ) ;
29311: LD_VAR 0 2
29315: PPUSH
29316: LD_INT 1
29318: PPUSH
29319: LD_INT 6
29321: PPUSH
29322: LD_INT 8
29324: PPUSH
29325: CALL_OW 12
29329: PPUSH
29330: CALL_OW 237
// setskill ( j , skill_mechanical , rand ( 3 , 5 ) ) ;
29334: LD_VAR 0 2
29338: PPUSH
29339: LD_INT 3
29341: PPUSH
29342: LD_INT 3
29344: PPUSH
29345: LD_INT 5
29347: PPUSH
29348: CALL_OW 12
29352: PPUSH
29353: CALL_OW 237
// setskill ( j , skill_scientistic , rand ( 3 , 5 ) ) ;
29357: LD_VAR 0 2
29361: PPUSH
29362: LD_INT 4
29364: PPUSH
29365: LD_INT 3
29367: PPUSH
29368: LD_INT 5
29370: PPUSH
29371: CALL_OW 12
29375: PPUSH
29376: CALL_OW 237
// end ; 2 :
29380: GO 29543
29382: LD_INT 2
29384: DOUBLE
29385: EQUAL
29386: IFTRUE 29390
29388: GO 29462
29390: POP
// begin setskill ( j , skill_combat , rand ( 3 , 5 ) ) ;
29391: LD_VAR 0 2
29395: PPUSH
29396: LD_INT 1
29398: PPUSH
29399: LD_INT 3
29401: PPUSH
29402: LD_INT 5
29404: PPUSH
29405: CALL_OW 12
29409: PPUSH
29410: CALL_OW 237
// setskill ( j , skill_mechanical , rand ( 6 , 8 ) ) ;
29414: LD_VAR 0 2
29418: PPUSH
29419: LD_INT 3
29421: PPUSH
29422: LD_INT 6
29424: PPUSH
29425: LD_INT 8
29427: PPUSH
29428: CALL_OW 12
29432: PPUSH
29433: CALL_OW 237
// setskill ( j , skill_scientistic , rand ( 3 , 5 ) ) ;
29437: LD_VAR 0 2
29441: PPUSH
29442: LD_INT 4
29444: PPUSH
29445: LD_INT 3
29447: PPUSH
29448: LD_INT 5
29450: PPUSH
29451: CALL_OW 12
29455: PPUSH
29456: CALL_OW 237
// end ; 3 :
29460: GO 29543
29462: LD_INT 3
29464: DOUBLE
29465: EQUAL
29466: IFTRUE 29470
29468: GO 29542
29470: POP
// begin setskill ( j , skill_combat , rand ( 3 , 5 ) ) ;
29471: LD_VAR 0 2
29475: PPUSH
29476: LD_INT 1
29478: PPUSH
29479: LD_INT 3
29481: PPUSH
29482: LD_INT 5
29484: PPUSH
29485: CALL_OW 12
29489: PPUSH
29490: CALL_OW 237
// setskill ( j , skill_mechanical , rand ( 3 , 5 ) ) ;
29494: LD_VAR 0 2
29498: PPUSH
29499: LD_INT 3
29501: PPUSH
29502: LD_INT 3
29504: PPUSH
29505: LD_INT 5
29507: PPUSH
29508: CALL_OW 12
29512: PPUSH
29513: CALL_OW 237
// setskill ( j , skill_scientistic , rand ( 6 , 8 ) ) ;
29517: LD_VAR 0 2
29521: PPUSH
29522: LD_INT 4
29524: PPUSH
29525: LD_INT 6
29527: PPUSH
29528: LD_INT 8
29530: PPUSH
29531: CALL_OW 12
29535: PPUSH
29536: CALL_OW 237
// end ; end ;
29540: GO 29543
29542: POP
// setattr ( j , attr_speed , 10 ) ;
29543: LD_VAR 0 2
29547: PPUSH
29548: LD_INT 2
29550: PPUSH
29551: LD_INT 10
29553: PPUSH
29554: CALL_OW 239
// setattr ( j , attr_stamina , 10 ) ;
29558: LD_VAR 0 2
29562: PPUSH
29563: LD_INT 1
29565: PPUSH
29566: LD_INT 10
29568: PPUSH
29569: CALL_OW 239
// placeunitxy ( j , temp_val [ 1 ] , temp_val [ 2 ] , false ) ;
29573: LD_VAR 0 2
29577: PPUSH
29578: LD_VAR 0 4
29582: PUSH
29583: LD_INT 1
29585: ARRAY
29586: PPUSH
29587: LD_VAR 0 4
29591: PUSH
29592: LD_INT 2
29594: ARRAY
29595: PPUSH
29596: LD_INT 0
29598: PPUSH
29599: CALL_OW 48
// joinig_escapees = joinig_escapees ^ j ;
29603: LD_ADDR_EXP 129
29607: PUSH
29608: LD_EXP 129
29612: PUSH
29613: LD_VAR 0 2
29617: ADD
29618: ST_TO_ADDR
// escaping_arabians = tag ( escaping_arabians , i , group diff j ) ;
29619: LD_ADDR_EXP 116
29623: PUSH
29624: LD_EXP 116
29628: PPUSH
29629: LD_VAR 0 1
29633: PPUSH
29634: LD_VAR 0 6
29638: PUSH
29639: LD_VAR 0 2
29643: DIFF
29644: PPUSH
29645: CALL 59897 0 3
29649: ST_TO_ADDR
// joining_escapees_count = delete ( joining_escapees_count , 1 ) ;
29650: LD_ADDR_EXP 128
29654: PUSH
29655: LD_EXP 128
29659: PPUSH
29660: LD_INT 1
29662: PPUSH
29663: CALL_OW 3
29667: ST_TO_ADDR
// break ;
29668: GO 29672
// end ;
29670: GO 29220
29672: POP
29673: POP
// if ar_groupstatus [ i ] < 0 then
29674: LD_EXP 137
29678: PUSH
29679: LD_VAR 0 1
29683: ARRAY
29684: PUSH
29685: LD_INT 0
29687: LESS
29688: IFFALSE 29816
// begin temp_val = 0 ;
29690: LD_ADDR_VAR 0 4
29694: PUSH
29695: LD_INT 0
29697: ST_TO_ADDR
// for j in escaping_arabians [ i ] do
29698: LD_ADDR_VAR 0 2
29702: PUSH
29703: LD_EXP 116
29707: PUSH
29708: LD_VAR 0 1
29712: ARRAY
29713: PUSH
29714: FOR_IN
29715: IFFALSE 29753
// if getY ( j ) > 160 or isdead ( j ) then
29717: LD_VAR 0 2
29721: PPUSH
29722: CALL_OW 251
29726: PUSH
29727: LD_INT 160
29729: GREATER
29730: PUSH
29731: LD_VAR 0 2
29735: PPUSH
29736: CALL_OW 301
29740: OR
29741: IFFALSE 29751
// temp_val = 1 ;
29743: LD_ADDR_VAR 0 4
29747: PUSH
29748: LD_INT 1
29750: ST_TO_ADDR
29751: GO 29714
29753: POP
29754: POP
// if temp_val = 0 then
29755: LD_VAR 0 4
29759: PUSH
29760: LD_INT 0
29762: EQUAL
29763: IFFALSE 29816
// begin number_of_Ar5_groups_to_go = number_of_Ar5_groups_to_go - 1 ;
29765: LD_ADDR_EXP 123
29769: PUSH
29770: LD_EXP 123
29774: PUSH
29775: LD_INT 1
29777: MINUS
29778: ST_TO_ADDR
// ar_groupstatus = Tag ( ar_groupstatus , i , 0 ) ;
29779: LD_ADDR_EXP 137
29783: PUSH
29784: LD_EXP 137
29788: PPUSH
29789: LD_VAR 0 1
29793: PPUSH
29794: LD_INT 0
29796: PPUSH
29797: CALL 59897 0 3
29801: ST_TO_ADDR
// st_argroupscount = st_argroupscount + 1 ;
29802: LD_ADDR_EXP 182
29806: PUSH
29807: LD_EXP 182
29811: PUSH
29812: LD_INT 1
29814: PLUS
29815: ST_TO_ADDR
// end ; end ; end else
29816: GO 30018
// begin group = escaping_arabians [ i ] ;
29818: LD_ADDR_VAR 0 6
29822: PUSH
29823: LD_EXP 116
29827: PUSH
29828: LD_VAR 0 1
29832: ARRAY
29833: ST_TO_ADDR
// nexthex = ar_paths [ i ] [ 1 ] [ 1 ] ;
29834: LD_ADDR_VAR 0 13
29838: PUSH
29839: LD_EXP 135
29843: PUSH
29844: LD_VAR 0 1
29848: ARRAY
29849: PUSH
29850: LD_INT 1
29852: ARRAY
29853: PUSH
29854: LD_INT 1
29856: ARRAY
29857: ST_TO_ADDR
// for j in group do
29858: LD_ADDR_VAR 0 2
29862: PUSH
29863: LD_VAR 0 6
29867: PUSH
29868: FOR_IN
29869: IFFALSE 29910
// if getdistunits ( j , nexthex ) > 4 then
29871: LD_VAR 0 2
29875: PPUSH
29876: LD_VAR 0 13
29880: PPUSH
29881: CALL_OW 296
29885: PUSH
29886: LD_INT 4
29888: GREATER
29889: IFFALSE 29908
// moveclosetounit ( j , nexthex , 2 ) ;
29891: LD_VAR 0 2
29895: PPUSH
29896: LD_VAR 0 13
29900: PPUSH
29901: LD_INT 2
29903: PPUSH
29904: CALL 56088 0 3
29908: GO 29868
29910: POP
29911: POP
// if isselected ( escaping_arabians [ i ] ) and ar_groupfollowing [ i ] = 2 then
29912: LD_EXP 116
29916: PUSH
29917: LD_VAR 0 1
29921: ARRAY
29922: PPUSH
29923: CALL_OW 306
29927: PUSH
29928: LD_EXP 139
29932: PUSH
29933: LD_VAR 0 1
29937: ARRAY
29938: PUSH
29939: LD_INT 2
29941: EQUAL
29942: AND
29943: IFFALSE 29968
// ar_paths = tag ( ar_paths , i , 0 ) ;
29945: LD_ADDR_EXP 135
29949: PUSH
29950: LD_EXP 135
29954: PPUSH
29955: LD_VAR 0 1
29959: PPUSH
29960: LD_INT 0
29962: PPUSH
29963: CALL 59897 0 3
29967: ST_TO_ADDR
// if tick > [ 20 20$0 , 20 20$0 , 25 25$0 ] [ difficulty ] then
29968: LD_OWVAR 1
29972: PUSH
29973: LD_INT 42000
29975: PUSH
29976: LD_INT 42000
29978: PUSH
29979: LD_INT 52500
29981: PUSH
29982: EMPTY
29983: LIST
29984: LIST
29985: LIST
29986: PUSH
29987: LD_OWVAR 67
29991: ARRAY
29992: GREATER
29993: IFFALSE 30018
// ar_paths = tag ( ar_paths , i , 0 ) ;
29995: LD_ADDR_EXP 135
29999: PUSH
30000: LD_EXP 135
30004: PPUSH
30005: LD_VAR 0 1
30009: PPUSH
30010: LD_INT 0
30012: PPUSH
30013: CALL 59897 0 3
30017: ST_TO_ADDR
// end ; end ;
30018: GO 25899
30020: POP
30021: POP
// if grouptodelete > 0 then
30022: LD_VAR 0 20
30026: PUSH
30027: LD_INT 0
30029: GREATER
30030: IFFALSE 30200
// begin escaping_arabians = delete ( escaping_arabians , grouptodelete ) ;
30032: LD_ADDR_EXP 116
30036: PUSH
30037: LD_EXP 116
30041: PPUSH
30042: LD_VAR 0 20
30046: PPUSH
30047: CALL_OW 3
30051: ST_TO_ADDR
// ar_paths = delete ( ar_paths , grouptodelete ) ;
30052: LD_ADDR_EXP 135
30056: PUSH
30057: LD_EXP 135
30061: PPUSH
30062: LD_VAR 0 20
30066: PPUSH
30067: CALL_OW 3
30071: ST_TO_ADDR
// ar_grouptypes = delete ( ar_grouptypes , grouptodelete ) ;
30072: LD_ADDR_EXP 136
30076: PUSH
30077: LD_EXP 136
30081: PPUSH
30082: LD_VAR 0 20
30086: PPUSH
30087: CALL_OW 3
30091: ST_TO_ADDR
// ar_groupstatus = delete ( ar_groupstatus , grouptodelete ) ;
30092: LD_ADDR_EXP 137
30096: PUSH
30097: LD_EXP 137
30101: PPUSH
30102: LD_VAR 0 20
30106: PPUSH
30107: CALL_OW 3
30111: ST_TO_ADDR
// ar_grouphexcount = delete ( ar_grouphexcount , grouptodelete ) ;
30112: LD_ADDR_EXP 138
30116: PUSH
30117: LD_EXP 138
30121: PPUSH
30122: LD_VAR 0 20
30126: PPUSH
30127: CALL_OW 3
30131: ST_TO_ADDR
// ar_groupfollowing = delete ( ar_groupfollowing , grouptodelete ) ;
30132: LD_ADDR_EXP 139
30136: PUSH
30137: LD_EXP 139
30141: PPUSH
30142: LD_VAR 0 20
30146: PPUSH
30147: CALL_OW 3
30151: ST_TO_ADDR
// ar_targetlist = delete ( ar_targetlist , grouptodelete ) ;
30152: LD_ADDR_EXP 140
30156: PUSH
30157: LD_EXP 140
30161: PPUSH
30162: LD_VAR 0 20
30166: PPUSH
30167: CALL_OW 3
30171: ST_TO_ADDR
// ar_dlg = delete ( ar_dlg , grouptodelete ) ;
30172: LD_ADDR_EXP 143
30176: PUSH
30177: LD_EXP 143
30181: PPUSH
30182: LD_VAR 0 20
30186: PPUSH
30187: CALL_OW 3
30191: ST_TO_ADDR
// grouptodelete = 0 ;
30192: LD_ADDR_VAR 0 20
30196: PUSH
30197: LD_INT 0
30199: ST_TO_ADDR
// end ; enable ;
30200: ENABLE
// end ;
30201: PPOPN 24
30203: END
// every 0 0$1 trigger joinig_escapees > 0 do var i , temp ;
30204: LD_EXP 129
30208: PUSH
30209: LD_INT 0
30211: GREATER
30212: IFFALSE 30534
30214: GO 30216
30216: DISABLE
30217: LD_INT 0
30219: PPUSH
30220: PPUSH
// begin for i = 1 to joinig_escapees do
30221: LD_ADDR_VAR 0 1
30225: PUSH
30226: DOUBLE
30227: LD_INT 1
30229: DEC
30230: ST_TO_ADDR
30231: LD_EXP 129
30235: PUSH
30236: FOR_TO
30237: IFFALSE 30531
// begin temp = NearestUnitToUnit ( filterallunits ( [ [ f_side , 2 ] , [ f_not , [ f_and , [ f_control , control_manual ] , [ f_empty ] ] ] ] ) , joinig_escapees [ i ] ) ;
30239: LD_ADDR_VAR 0 2
30243: PUSH
30244: LD_INT 22
30246: PUSH
30247: LD_INT 2
30249: PUSH
30250: EMPTY
30251: LIST
30252: LIST
30253: PUSH
30254: LD_INT 3
30256: PUSH
30257: LD_INT 1
30259: PUSH
30260: LD_INT 33
30262: PUSH
30263: LD_INT 1
30265: PUSH
30266: EMPTY
30267: LIST
30268: LIST
30269: PUSH
30270: LD_INT 58
30272: PUSH
30273: EMPTY
30274: LIST
30275: PUSH
30276: EMPTY
30277: LIST
30278: LIST
30279: LIST
30280: PUSH
30281: EMPTY
30282: LIST
30283: LIST
30284: PUSH
30285: EMPTY
30286: LIST
30287: LIST
30288: PPUSH
30289: CALL_OW 69
30293: PPUSH
30294: LD_EXP 129
30298: PUSH
30299: LD_VAR 0 1
30303: ARRAY
30304: PPUSH
30305: CALL_OW 74
30309: ST_TO_ADDR
// commoveunit ( joinig_escapees [ i ] , temp ) ;
30310: LD_EXP 129
30314: PUSH
30315: LD_VAR 0 1
30319: ARRAY
30320: PPUSH
30321: LD_VAR 0 2
30325: PPUSH
30326: CALL_OW 112
// if GetDistUnits ( joinig_escapees [ i ] , temp ) < 15 and see ( 2 , joinig_escapees [ i ] ) and filterallunits ( [ [ f_side , 3 ] , [ f_dist , joinig_escapees [ i ] , 15 ] ] ) = 0 then
30330: LD_EXP 129
30334: PUSH
30335: LD_VAR 0 1
30339: ARRAY
30340: PPUSH
30341: LD_VAR 0 2
30345: PPUSH
30346: CALL_OW 296
30350: PUSH
30351: LD_INT 15
30353: LESS
30354: PUSH
30355: LD_INT 2
30357: PPUSH
30358: LD_EXP 129
30362: PUSH
30363: LD_VAR 0 1
30367: ARRAY
30368: PPUSH
30369: CALL_OW 292
30373: AND
30374: PUSH
30375: LD_INT 22
30377: PUSH
30378: LD_INT 3
30380: PUSH
30381: EMPTY
30382: LIST
30383: LIST
30384: PUSH
30385: LD_INT 91
30387: PUSH
30388: LD_EXP 129
30392: PUSH
30393: LD_VAR 0 1
30397: ARRAY
30398: PUSH
30399: LD_INT 15
30401: PUSH
30402: EMPTY
30403: LIST
30404: LIST
30405: LIST
30406: PUSH
30407: EMPTY
30408: LIST
30409: LIST
30410: PPUSH
30411: CALL_OW 69
30415: PUSH
30416: LD_INT 0
30418: EQUAL
30419: AND
30420: IFFALSE 30461
// begin EscDialogue ( joinig_escapees [ i ] ) ;
30422: LD_EXP 129
30426: PUSH
30427: LD_VAR 0 1
30431: ARRAY
30432: PPUSH
30433: CALL 81874 0 1
// joinig_escapees = joinig_escapees diff joinig_escapees [ i ] ;
30437: LD_ADDR_EXP 129
30441: PUSH
30442: LD_EXP 129
30446: PUSH
30447: LD_EXP 129
30451: PUSH
30452: LD_VAR 0 1
30456: ARRAY
30457: DIFF
30458: ST_TO_ADDR
// break ;
30459: GO 30531
// end ; if GetLives ( joinig_escapees [ i ] ) = 0 then
30461: LD_EXP 129
30465: PUSH
30466: LD_VAR 0 1
30470: ARRAY
30471: PPUSH
30472: CALL_OW 256
30476: PUSH
30477: LD_INT 0
30479: EQUAL
30480: IFFALSE 30529
// begin joinig_escapees = joinig_escapees diff joinig_escapees [ i ] ;
30482: LD_ADDR_EXP 129
30486: PUSH
30487: LD_EXP 129
30491: PUSH
30492: LD_EXP 129
30496: PUSH
30497: LD_VAR 0 1
30501: ARRAY
30502: DIFF
30503: ST_TO_ADDR
// joining_escapees_count = insert ( joining_escapees_count , 1 , tick ) ;
30504: LD_ADDR_EXP 128
30508: PUSH
30509: LD_EXP 128
30513: PPUSH
30514: LD_INT 1
30516: PPUSH
30517: LD_OWVAR 1
30521: PPUSH
30522: CALL_OW 2
30526: ST_TO_ADDR
// break ;
30527: GO 30531
// end ; end ;
30529: GO 30236
30531: POP
30532: POP
// enable ;
30533: ENABLE
// end ;
30534: PPOPN 2
30536: END
// every 0 0$0.1 trigger tick > escapees_cycle and gamestage > 0 do var i , n_groups_to_spawn , temp , temp_val ;
30537: LD_OWVAR 1
30541: PUSH
30542: LD_EXP 122
30546: GREATER
30547: PUSH
30548: LD_EXP 2
30552: PUSH
30553: LD_INT 0
30555: GREATER
30556: AND
30557: IFFALSE 30783
30559: GO 30561
30561: DISABLE
30562: LD_INT 0
30564: PPUSH
30565: PPUSH
30566: PPUSH
30567: PPUSH
// begin randomize ;
30568: CALL_OW 10
// escapees_cycle = escapees_cycle + [ 4 4$30 , 5 5$0 , 6 6$0 ] [ difficulty ] ;
30572: LD_ADDR_EXP 122
30576: PUSH
30577: LD_EXP 122
30581: PUSH
30582: LD_INT 9450
30584: PUSH
30585: LD_INT 10500
30587: PUSH
30588: LD_INT 12600
30590: PUSH
30591: EMPTY
30592: LIST
30593: LIST
30594: LIST
30595: PUSH
30596: LD_OWVAR 67
30600: ARRAY
30601: PLUS
30602: ST_TO_ADDR
// escapees_errormargin = 1 ;
30603: LD_ADDR_EXP 126
30607: PUSH
30608: LD_INT 1
30610: ST_TO_ADDR
// escapees_errormargin_group = [ ] ;
30611: LD_ADDR_EXP 127
30615: PUSH
30616: EMPTY
30617: ST_TO_ADDR
// if number_of_Ar5_groups_to_go > 0 then
30618: LD_EXP 123
30622: PUSH
30623: LD_INT 0
30625: GREATER
30626: IFFALSE 30782
// begin if cyclenumber > 0 then
30628: LD_EXP 124
30632: PUSH
30633: LD_INT 0
30635: GREATER
30636: IFFALSE 30678
// begin temp = number_of_Ar5_groups_to_go - cyclenumber [ 1 ] ;
30638: LD_ADDR_VAR 0 3
30642: PUSH
30643: LD_EXP 123
30647: PUSH
30648: LD_EXP 124
30652: PUSH
30653: LD_INT 1
30655: ARRAY
30656: MINUS
30657: ST_TO_ADDR
// cyclenumber = delete ( cyclenumber , 1 ) ;
30658: LD_ADDR_EXP 124
30662: PUSH
30663: LD_EXP 124
30667: PPUSH
30668: LD_INT 1
30670: PPUSH
30671: CALL_OW 3
30675: ST_TO_ADDR
// end else
30676: GO 30688
// temp = number_of_Ar5_groups_to_go ;
30678: LD_ADDR_VAR 0 3
30682: PUSH
30683: LD_EXP 123
30687: ST_TO_ADDR
// Ar5_time = [ ] ;
30688: LD_ADDR_EXP 120
30692: PUSH
30693: EMPTY
30694: ST_TO_ADDR
// for i = 1 to temp do
30695: LD_ADDR_VAR 0 1
30699: PUSH
30700: DOUBLE
30701: LD_INT 1
30703: DEC
30704: ST_TO_ADDR
30705: LD_VAR 0 3
30709: PUSH
30710: FOR_TO
30711: IFFALSE 30751
// begin temp_val = rand ( tick , escapees_cycle ) ;
30713: LD_ADDR_VAR 0 4
30717: PUSH
30718: LD_OWVAR 1
30722: PPUSH
30723: LD_EXP 122
30727: PPUSH
30728: CALL_OW 12
30732: ST_TO_ADDR
// Ar5_time = Ar5_time ^ temp_val ;
30733: LD_ADDR_EXP 120
30737: PUSH
30738: LD_EXP 120
30742: PUSH
30743: LD_VAR 0 4
30747: ADD
30748: ST_TO_ADDR
// end ;
30749: GO 30710
30751: POP
30752: POP
// Ar5_time = SortByValueAsc ( Ar5_time ) ;
30753: LD_ADDR_EXP 120
30757: PUSH
30758: LD_EXP 120
30762: PPUSH
30763: CALL 61347 0 1
30767: ST_TO_ADDR
// Ar5_timeup = Ar5_time [ 1 ] ;
30768: LD_ADDR_EXP 121
30772: PUSH
30773: LD_EXP 120
30777: PUSH
30778: LD_INT 1
30780: ARRAY
30781: ST_TO_ADDR
// end ; enable ;
30782: ENABLE
// end ;
30783: PPOPN 4
30785: END
// every 0 0$1 trigger Russians > 0 do var i , j , pathway , ru_squad , on_map , count , Russian_group ; var nearest_enemy , temp_list , Arabians , k ; var l , ref_hex , lead , lead1 , lead2 , temp_lead , follower , temp , temp_hex , temp_hex1 , temp_hex2 , temp_val ; var n , m , nexthex , hex , lasthex , yval , unittoberemoved , group ; var heavy_guns , guns , gatlings , machine_guns , rockets , time_lapsers ; var path , group_type , group_number , passed_hex ; var effective_range , grouptodelete ; var empty_veh , bazookers ;
30786: LD_EXP 10
30790: PUSH
30791: LD_INT 0
30793: GREATER
30794: IFFALSE 35966
30796: GO 30798
30798: DISABLE
30799: LD_INT 0
30801: PPUSH
30802: PPUSH
30803: PPUSH
30804: PPUSH
30805: PPUSH
30806: PPUSH
30807: PPUSH
30808: PPUSH
30809: PPUSH
30810: PPUSH
30811: PPUSH
30812: PPUSH
30813: PPUSH
30814: PPUSH
30815: PPUSH
30816: PPUSH
30817: PPUSH
30818: PPUSH
30819: PPUSH
30820: PPUSH
30821: PPUSH
30822: PPUSH
30823: PPUSH
30824: PPUSH
30825: PPUSH
30826: PPUSH
30827: PPUSH
30828: PPUSH
30829: PPUSH
30830: PPUSH
30831: PPUSH
30832: PPUSH
30833: PPUSH
30834: PPUSH
30835: PPUSH
30836: PPUSH
30837: PPUSH
30838: PPUSH
30839: PPUSH
30840: PPUSH
30841: PPUSH
30842: PPUSH
30843: PPUSH
30844: PPUSH
30845: PPUSH
// begin arabian_units = filterallunits ( [ f_or , [ f_side , 2 ] , [ f_side , 5 ] , [ f_and , [ f_side , 0 ] , [ f_class , class_tiger ] ] ] ) ^ prisoners ;
30846: LD_ADDR_EXP 115
30850: PUSH
30851: LD_INT 2
30853: PUSH
30854: LD_INT 22
30856: PUSH
30857: LD_INT 2
30859: PUSH
30860: EMPTY
30861: LIST
30862: LIST
30863: PUSH
30864: LD_INT 22
30866: PUSH
30867: LD_INT 5
30869: PUSH
30870: EMPTY
30871: LIST
30872: LIST
30873: PUSH
30874: LD_INT 1
30876: PUSH
30877: LD_INT 22
30879: PUSH
30880: LD_INT 0
30882: PUSH
30883: EMPTY
30884: LIST
30885: LIST
30886: PUSH
30887: LD_INT 25
30889: PUSH
30890: LD_INT 14
30892: PUSH
30893: EMPTY
30894: LIST
30895: LIST
30896: PUSH
30897: EMPTY
30898: LIST
30899: LIST
30900: LIST
30901: PUSH
30902: EMPTY
30903: LIST
30904: LIST
30905: LIST
30906: LIST
30907: PPUSH
30908: CALL_OW 69
30912: PUSH
30913: LD_EXP 171
30917: ADD
30918: ST_TO_ADDR
// temp = 0 ;
30919: LD_ADDR_VAR 0 19
30923: PUSH
30924: LD_INT 0
30926: ST_TO_ADDR
// for i in arabian_units do
30927: LD_ADDR_VAR 0 1
30931: PUSH
30932: LD_EXP 115
30936: PUSH
30937: FOR_IN
30938: IFFALSE 31074
// begin for j in target_gun do
30940: LD_ADDR_VAR 0 2
30944: PUSH
30945: LD_EXP 17
30949: PUSH
30950: FOR_IN
30951: IFFALSE 30998
// if i = j and gettype ( i ) = unit_human then
30953: LD_VAR 0 1
30957: PUSH
30958: LD_VAR 0 2
30962: EQUAL
30963: PUSH
30964: LD_VAR 0 1
30968: PPUSH
30969: CALL_OW 247
30973: PUSH
30974: LD_INT 1
30976: EQUAL
30977: AND
30978: IFFALSE 30996
// temp = temp ^ i ;
30980: LD_ADDR_VAR 0 19
30984: PUSH
30985: LD_VAR 0 19
30989: PUSH
30990: LD_VAR 0 1
30994: ADD
30995: ST_TO_ADDR
30996: GO 30950
30998: POP
30999: POP
// for j in target_all do
31000: LD_ADDR_VAR 0 2
31004: PUSH
31005: LD_EXP 18
31009: PUSH
31010: FOR_IN
31011: IFFALSE 31058
// if i = j and gettype ( i ) = unit_human then
31013: LD_VAR 0 1
31017: PUSH
31018: LD_VAR 0 2
31022: EQUAL
31023: PUSH
31024: LD_VAR 0 1
31028: PPUSH
31029: CALL_OW 247
31033: PUSH
31034: LD_INT 1
31036: EQUAL
31037: AND
31038: IFFALSE 31056
// temp = temp ^ i ;
31040: LD_ADDR_VAR 0 19
31044: PUSH
31045: LD_VAR 0 19
31049: PUSH
31050: LD_VAR 0 1
31054: ADD
31055: ST_TO_ADDR
31056: GO 31010
31058: POP
31059: POP
// normalattack ( 3 , i ) ;
31060: LD_INT 3
31062: PPUSH
31063: LD_VAR 0 1
31067: PPUSH
31068: CALL_OW 472
// end ;
31072: GO 30937
31074: POP
31075: POP
// for i in temp do
31076: LD_ADDR_VAR 0 1
31080: PUSH
31081: LD_VAR 0 19
31085: PUSH
31086: FOR_IN
31087: IFFALSE 31103
// priorityattack ( 3 , i ) ;
31089: LD_INT 3
31091: PPUSH
31092: LD_VAR 0 1
31096: PPUSH
31097: CALL_OW 470
31101: GO 31086
31103: POP
31104: POP
// for i in arabian_units do
31105: LD_ADDR_VAR 0 1
31109: PUSH
31110: LD_EXP 115
31114: PUSH
31115: FOR_IN
31116: IFFALSE 31219
// begin temp = 0 ;
31118: LD_ADDR_VAR 0 19
31122: PUSH
31123: LD_INT 0
31125: ST_TO_ADDR
// if see ( 3 , i ) or see ( 6 , i ) then
31126: LD_INT 3
31128: PPUSH
31129: LD_VAR 0 1
31133: PPUSH
31134: CALL_OW 292
31138: PUSH
31139: LD_INT 6
31141: PPUSH
31142: LD_VAR 0 1
31146: PPUSH
31147: CALL_OW 292
31151: OR
31152: IFFALSE 31217
// begin for j in detected_Arabians do
31154: LD_ADDR_VAR 0 2
31158: PUSH
31159: LD_EXP 114
31163: PUSH
31164: FOR_IN
31165: IFFALSE 31189
// if i = j then
31167: LD_VAR 0 1
31171: PUSH
31172: LD_VAR 0 2
31176: EQUAL
31177: IFFALSE 31187
// temp = 1 ;
31179: LD_ADDR_VAR 0 19
31183: PUSH
31184: LD_INT 1
31186: ST_TO_ADDR
31187: GO 31164
31189: POP
31190: POP
// if temp = 0 then
31191: LD_VAR 0 19
31195: PUSH
31196: LD_INT 0
31198: EQUAL
31199: IFFALSE 31217
// detected_Arabians = detected_Arabians ^ i ;
31201: LD_ADDR_EXP 114
31205: PUSH
31206: LD_EXP 114
31210: PUSH
31211: LD_VAR 0 1
31215: ADD
31216: ST_TO_ADDR
// end ; end ;
31217: GO 31115
31219: POP
31220: POP
// if detected_Arabians > 0 then
31221: LD_EXP 114
31225: PUSH
31226: LD_INT 0
31228: GREATER
31229: IFFALSE 31589
// begin Range_list = [ ] ;
31231: LD_ADDR_EXP 15
31235: PUSH
31236: EMPTY
31237: ST_TO_ADDR
// for i = 1 to Russians do
31238: LD_ADDR_VAR 0 1
31242: PUSH
31243: DOUBLE
31244: LD_INT 1
31246: DEC
31247: ST_TO_ADDR
31248: LD_EXP 10
31252: PUSH
31253: FOR_TO
31254: IFFALSE 31422
// begin if ru_grouptypes [ i ] = 1 then
31256: LD_EXP 22
31260: PUSH
31261: LD_VAR 0 1
31265: ARRAY
31266: PUSH
31267: LD_INT 1
31269: EQUAL
31270: IFFALSE 31306
// begin if GetTech ( tech_comp2 , 3 ) = state_researched then
31272: LD_INT 58
31274: PPUSH
31275: LD_INT 3
31277: PPUSH
31278: CALL_OW 321
31282: PUSH
31283: LD_INT 2
31285: EQUAL
31286: IFFALSE 31298
// effective_range = 14 else
31288: LD_ADDR_VAR 0 42
31292: PUSH
31293: LD_INT 14
31295: ST_TO_ADDR
31296: GO 31306
// effective_range = 12 ;
31298: LD_ADDR_VAR 0 42
31302: PUSH
31303: LD_INT 12
31305: ST_TO_ADDR
// end ; if ru_grouptypes [ i ] = 2 then
31306: LD_EXP 22
31310: PUSH
31311: LD_VAR 0 1
31315: ARRAY
31316: PUSH
31317: LD_INT 2
31319: EQUAL
31320: IFFALSE 31356
// begin if GetTech ( tech_comp2 , 3 ) = state_researched then
31322: LD_INT 58
31324: PPUSH
31325: LD_INT 3
31327: PPUSH
31328: CALL_OW 321
31332: PUSH
31333: LD_INT 2
31335: EQUAL
31336: IFFALSE 31348
// effective_range = 13 else
31338: LD_ADDR_VAR 0 42
31342: PUSH
31343: LD_INT 13
31345: ST_TO_ADDR
31346: GO 31356
// effective_range = 11 ;
31348: LD_ADDR_VAR 0 42
31352: PUSH
31353: LD_INT 11
31355: ST_TO_ADDR
// end ; if ru_grouptypes [ i ] = 3 then
31356: LD_EXP 22
31360: PUSH
31361: LD_VAR 0 1
31365: ARRAY
31366: PUSH
31367: LD_INT 3
31369: EQUAL
31370: IFFALSE 31380
// begin effective_range = 30 ;
31372: LD_ADDR_VAR 0 42
31376: PUSH
31377: LD_INT 30
31379: ST_TO_ADDR
// end ; if ru_grouptypes [ i ] = 4 then
31380: LD_EXP 22
31384: PUSH
31385: LD_VAR 0 1
31389: ARRAY
31390: PUSH
31391: LD_INT 4
31393: EQUAL
31394: IFFALSE 31404
// begin effective_range = 20 ;
31396: LD_ADDR_VAR 0 42
31400: PUSH
31401: LD_INT 20
31403: ST_TO_ADDR
// end ; Range_list = Range_list ^ effective_range ;
31404: LD_ADDR_EXP 15
31408: PUSH
31409: LD_EXP 15
31413: PUSH
31414: LD_VAR 0 42
31418: ADD
31419: ST_TO_ADDR
// end ;
31420: GO 31253
31422: POP
31423: POP
// temp_list = [ ] ;
31424: LD_ADDR_VAR 0 9
31428: PUSH
31429: EMPTY
31430: ST_TO_ADDR
// for j = 1 to detected_Arabians do
31431: LD_ADDR_VAR 0 2
31435: PUSH
31436: DOUBLE
31437: LD_INT 1
31439: DEC
31440: ST_TO_ADDR
31441: LD_EXP 114
31445: PUSH
31446: FOR_TO
31447: IFFALSE 31561
// begin temp = 0 ;
31449: LD_ADDR_VAR 0 19
31453: PUSH
31454: LD_INT 0
31456: ST_TO_ADDR
// for k = 1 to Russians do
31457: LD_ADDR_VAR 0 11
31461: PUSH
31462: DOUBLE
31463: LD_INT 1
31465: DEC
31466: ST_TO_ADDR
31467: LD_EXP 10
31471: PUSH
31472: FOR_TO
31473: IFFALSE 31525
// if SmallestDistance ( Russians [ k ] , detected_Arabians [ j ] ) < Range_list [ k ] then
31475: LD_EXP 10
31479: PUSH
31480: LD_VAR 0 11
31484: ARRAY
31485: PPUSH
31486: LD_EXP 114
31490: PUSH
31491: LD_VAR 0 2
31495: ARRAY
31496: PPUSH
31497: CALL 60111 0 2
31501: PUSH
31502: LD_EXP 15
31506: PUSH
31507: LD_VAR 0 11
31511: ARRAY
31512: LESS
31513: IFFALSE 31523
// temp = 1 ;
31515: LD_ADDR_VAR 0 19
31519: PUSH
31520: LD_INT 1
31522: ST_TO_ADDR
31523: GO 31472
31525: POP
31526: POP
// if temp = 0 then
31527: LD_VAR 0 19
31531: PUSH
31532: LD_INT 0
31534: EQUAL
31535: IFFALSE 31559
// temp_list = temp_list ^ detected_Arabians [ j ] ;
31537: LD_ADDR_VAR 0 9
31541: PUSH
31542: LD_VAR 0 9
31546: PUSH
31547: LD_EXP 114
31551: PUSH
31552: LD_VAR 0 2
31556: ARRAY
31557: ADD
31558: ST_TO_ADDR
// end ;
31559: GO 31446
31561: POP
31562: POP
// if temp_list > 0 then
31563: LD_VAR 0 9
31567: PUSH
31568: LD_INT 0
31570: GREATER
31571: IFFALSE 31589
// detected_Arabians = detected_Arabians diff temp_list ;
31573: LD_ADDR_EXP 114
31577: PUSH
31578: LD_EXP 114
31582: PUSH
31583: LD_VAR 0 9
31587: DIFF
31588: ST_TO_ADDR
// end ; for l = 1 to Russians do
31589: LD_ADDR_VAR 0 12
31593: PUSH
31594: DOUBLE
31595: LD_INT 1
31597: DEC
31598: ST_TO_ADDR
31599: LD_EXP 10
31603: PUSH
31604: FOR_TO
31605: IFFALSE 35589
// begin for j in russians [ l ] do
31607: LD_ADDR_VAR 0 2
31611: PUSH
31612: LD_EXP 10
31616: PUSH
31617: LD_VAR 0 12
31621: ARRAY
31622: PUSH
31623: FOR_IN
31624: IFFALSE 31797
// if isok ( j ) = 0 then
31626: LD_VAR 0 2
31630: PPUSH
31631: CALL_OW 302
31635: PUSH
31636: LD_INT 0
31638: EQUAL
31639: IFFALSE 31795
// begin temp_val = [ ] ;
31641: LD_ADDR_VAR 0 23
31645: PUSH
31646: EMPTY
31647: ST_TO_ADDR
// temp_list = [ ] ;
31648: LD_ADDR_VAR 0 9
31652: PUSH
31653: EMPTY
31654: ST_TO_ADDR
// for i = 1 to russians do
31655: LD_ADDR_VAR 0 1
31659: PUSH
31660: DOUBLE
31661: LD_INT 1
31663: DEC
31664: ST_TO_ADDR
31665: LD_EXP 10
31669: PUSH
31670: FOR_TO
31671: IFFALSE 31783
// if i = l then
31673: LD_VAR 0 1
31677: PUSH
31678: LD_VAR 0 12
31682: EQUAL
31683: IFFALSE 31756
// begin for k in russians [ i ] do
31685: LD_ADDR_VAR 0 11
31689: PUSH
31690: LD_EXP 10
31694: PUSH
31695: LD_VAR 0 1
31699: ARRAY
31700: PUSH
31701: FOR_IN
31702: IFFALSE 31733
// if isok ( k ) then
31704: LD_VAR 0 11
31708: PPUSH
31709: CALL_OW 302
31713: IFFALSE 31731
// temp_val = temp_val ^ k ;
31715: LD_ADDR_VAR 0 23
31719: PUSH
31720: LD_VAR 0 23
31724: PUSH
31725: LD_VAR 0 11
31729: ADD
31730: ST_TO_ADDR
31731: GO 31701
31733: POP
31734: POP
// temp_list = temp_list ^ [ temp_val ] ;
31735: LD_ADDR_VAR 0 9
31739: PUSH
31740: LD_VAR 0 9
31744: PUSH
31745: LD_VAR 0 23
31749: PUSH
31750: EMPTY
31751: LIST
31752: ADD
31753: ST_TO_ADDR
// end else
31754: GO 31781
// temp_list = temp_list ^ [ russians [ i ] ] ;
31756: LD_ADDR_VAR 0 9
31760: PUSH
31761: LD_VAR 0 9
31765: PUSH
31766: LD_EXP 10
31770: PUSH
31771: LD_VAR 0 1
31775: ARRAY
31776: PUSH
31777: EMPTY
31778: LIST
31779: ADD
31780: ST_TO_ADDR
31781: GO 31670
31783: POP
31784: POP
// russians = temp_list ;
31785: LD_ADDR_EXP 10
31789: PUSH
31790: LD_VAR 0 9
31794: ST_TO_ADDR
// end ;
31795: GO 31623
31797: POP
31798: POP
// temp = 0 ;
31799: LD_ADDR_VAR 0 19
31803: PUSH
31804: LD_INT 0
31806: ST_TO_ADDR
// for j in russians [ l ] do
31807: LD_ADDR_VAR 0 2
31811: PUSH
31812: LD_EXP 10
31816: PUSH
31817: LD_VAR 0 12
31821: ARRAY
31822: PUSH
31823: FOR_IN
31824: IFFALSE 31887
// if isok ( j ) then
31826: LD_VAR 0 2
31830: PPUSH
31831: CALL_OW 302
31835: IFFALSE 31885
// if getcontrol ( j ) = control_manual then
31837: LD_VAR 0 2
31841: PPUSH
31842: CALL_OW 263
31846: PUSH
31847: LD_INT 1
31849: EQUAL
31850: IFFALSE 31877
// begin if isdrivenby ( j ) > 0 then
31852: LD_VAR 0 2
31856: PPUSH
31857: CALL_OW 311
31861: PUSH
31862: LD_INT 0
31864: GREATER
31865: IFFALSE 31875
// temp = 1 ;
31867: LD_ADDR_VAR 0 19
31871: PUSH
31872: LD_INT 1
31874: ST_TO_ADDR
// end else
31875: GO 31885
// temp = 1 ;
31877: LD_ADDR_VAR 0 19
31881: PUSH
31882: LD_INT 1
31884: ST_TO_ADDR
31885: GO 31823
31887: POP
31888: POP
// if temp = 0 then
31889: LD_VAR 0 19
31893: PUSH
31894: LD_INT 0
31896: EQUAL
31897: IFFALSE 31911
// begin grouptodelete = l ;
31899: LD_ADDR_VAR 0 43
31903: PUSH
31904: LD_VAR 0 12
31908: ST_TO_ADDR
// break ;
31909: GO 35589
// end ; Russian_group = [ ] ;
31911: LD_ADDR_VAR 0 7
31915: PUSH
31916: EMPTY
31917: ST_TO_ADDR
// for j in Russians [ l ] do
31918: LD_ADDR_VAR 0 2
31922: PUSH
31923: LD_EXP 10
31927: PUSH
31928: LD_VAR 0 12
31932: ARRAY
31933: PUSH
31934: FOR_IN
31935: IFFALSE 32110
// begin if gettype ( j ) = unit_human and isok ( j ) then
31937: LD_VAR 0 2
31941: PPUSH
31942: CALL_OW 247
31946: PUSH
31947: LD_INT 1
31949: EQUAL
31950: PUSH
31951: LD_VAR 0 2
31955: PPUSH
31956: CALL_OW 302
31960: AND
31961: IFFALSE 31979
// Russian_group = Russian_group ^ j ;
31963: LD_ADDR_VAR 0 7
31967: PUSH
31968: LD_VAR 0 7
31972: PUSH
31973: LD_VAR 0 2
31977: ADD
31978: ST_TO_ADDR
// if gettype ( j ) = unit_vehicle and getengine ( j ) = engine_combustion and getfuel ( j ) > 0 and isok ( j ) then
31979: LD_VAR 0 2
31983: PPUSH
31984: CALL_OW 247
31988: PUSH
31989: LD_INT 2
31991: EQUAL
31992: PUSH
31993: LD_VAR 0 2
31997: PPUSH
31998: CALL_OW 262
32002: PUSH
32003: LD_INT 1
32005: EQUAL
32006: AND
32007: PUSH
32008: LD_VAR 0 2
32012: PPUSH
32013: CALL_OW 261
32017: PUSH
32018: LD_INT 0
32020: GREATER
32021: AND
32022: PUSH
32023: LD_VAR 0 2
32027: PPUSH
32028: CALL_OW 302
32032: AND
32033: IFFALSE 32051
// Russian_group = Russian_group ^ j ;
32035: LD_ADDR_VAR 0 7
32039: PUSH
32040: LD_VAR 0 7
32044: PUSH
32045: LD_VAR 0 2
32049: ADD
32050: ST_TO_ADDR
// if gettype ( j ) = unit_vehicle and getengine ( j ) = engine_siberite and isok ( j ) then
32051: LD_VAR 0 2
32055: PPUSH
32056: CALL_OW 247
32060: PUSH
32061: LD_INT 2
32063: EQUAL
32064: PUSH
32065: LD_VAR 0 2
32069: PPUSH
32070: CALL_OW 262
32074: PUSH
32075: LD_INT 3
32077: EQUAL
32078: AND
32079: PUSH
32080: LD_VAR 0 2
32084: PPUSH
32085: CALL_OW 302
32089: AND
32090: IFFALSE 32108
// Russian_group = Russian_group ^ j ;
32092: LD_ADDR_VAR 0 7
32096: PUSH
32097: LD_VAR 0 7
32101: PUSH
32102: LD_VAR 0 2
32106: ADD
32107: ST_TO_ADDR
// end ;
32108: GO 31934
32110: POP
32111: POP
// if detected_Arabians > 0 and not ru_groupstatus [ l ] = 2 then
32112: LD_EXP 114
32116: PUSH
32117: LD_INT 0
32119: GREATER
32120: PUSH
32121: LD_EXP 23
32125: PUSH
32126: LD_VAR 0 12
32130: ARRAY
32131: PUSH
32132: LD_INT 2
32134: EQUAL
32135: NOT
32136: AND
32137: IFFALSE 32190
// begin if SmallestDistance ( Russian_group , detected_Arabians ) < Range_list [ l ] then
32139: LD_VAR 0 7
32143: PPUSH
32144: LD_EXP 114
32148: PPUSH
32149: CALL 60111 0 2
32153: PUSH
32154: LD_EXP 15
32158: PUSH
32159: LD_VAR 0 12
32163: ARRAY
32164: LESS
32165: IFFALSE 32190
// ru_groupstatus = tag ( ru_groupstatus , l , 1 ) ;
32167: LD_ADDR_EXP 23
32171: PUSH
32172: LD_EXP 23
32176: PPUSH
32177: LD_VAR 0 12
32181: PPUSH
32182: LD_INT 1
32184: PPUSH
32185: CALL 59897 0 3
32189: ST_TO_ADDR
// end ; if DisableAttacking = 1 then
32190: LD_EXP 31
32194: PUSH
32195: LD_INT 1
32197: EQUAL
32198: IFFALSE 32223
// ru_groupstatus = Tag ( ru_groupstatus , l , 0 ) ;
32200: LD_ADDR_EXP 23
32204: PUSH
32205: LD_EXP 23
32209: PPUSH
32210: LD_VAR 0 12
32214: PPUSH
32215: LD_INT 0
32217: PPUSH
32218: CALL 59897 0 3
32222: ST_TO_ADDR
// if ru_groupstatus [ l ] = 1 then
32223: LD_EXP 23
32227: PUSH
32228: LD_VAR 0 12
32232: ARRAY
32233: PUSH
32234: LD_INT 1
32236: EQUAL
32237: IFFALSE 32270
// Attack ( l , ru_grouptypes [ l ] , Range_list [ l ] ) ;
32239: LD_VAR 0 12
32243: PPUSH
32244: LD_EXP 22
32248: PUSH
32249: LD_VAR 0 12
32253: ARRAY
32254: PPUSH
32255: LD_EXP 15
32259: PUSH
32260: LD_VAR 0 12
32264: ARRAY
32265: PPUSH
32266: CALL 43552 0 3
// if ru_groupstatus [ l ] = 0 then
32270: LD_EXP 23
32274: PUSH
32275: LD_VAR 0 12
32279: ARRAY
32280: PUSH
32281: LD_INT 0
32283: EQUAL
32284: IFFALSE 35385
// begin group = russians [ l ] ;
32286: LD_ADDR_VAR 0 31
32290: PUSH
32291: LD_EXP 10
32295: PUSH
32296: LD_VAR 0 12
32300: ARRAY
32301: ST_TO_ADDR
// path = ru_paths [ l ] ;
32302: LD_ADDR_VAR 0 38
32306: PUSH
32307: LD_EXP 21
32311: PUSH
32312: LD_VAR 0 12
32316: ARRAY
32317: ST_TO_ADDR
// group_type = ru_grouptypes [ l ] ;
32318: LD_ADDR_VAR 0 39
32322: PUSH
32323: LD_EXP 22
32327: PUSH
32328: LD_VAR 0 12
32332: ARRAY
32333: ST_TO_ADDR
// group_number = l ;
32334: LD_ADDR_VAR 0 40
32338: PUSH
32339: LD_VAR 0 12
32343: ST_TO_ADDR
// passed_hex = ru_grouphexcount [ l ] ;
32344: LD_ADDR_VAR 0 41
32348: PUSH
32349: LD_EXP 24
32353: PUSH
32354: LD_VAR 0 12
32358: ARRAY
32359: ST_TO_ADDR
// heavy_guns = [ ] ;
32360: LD_ADDR_VAR 0 32
32364: PUSH
32365: EMPTY
32366: ST_TO_ADDR
// guns = [ ] ;
32367: LD_ADDR_VAR 0 33
32371: PUSH
32372: EMPTY
32373: ST_TO_ADDR
// gatlings = [ ] ;
32374: LD_ADDR_VAR 0 34
32378: PUSH
32379: EMPTY
32380: ST_TO_ADDR
// machine_guns = [ ] ;
32381: LD_ADDR_VAR 0 35
32385: PUSH
32386: EMPTY
32387: ST_TO_ADDR
// rockets = [ ] ;
32388: LD_ADDR_VAR 0 36
32392: PUSH
32393: EMPTY
32394: ST_TO_ADDR
// time_lapsers = [ ] ;
32395: LD_ADDR_VAR 0 37
32399: PUSH
32400: EMPTY
32401: ST_TO_ADDR
// follower = [ ] ;
32402: LD_ADDR_VAR 0 18
32406: PUSH
32407: EMPTY
32408: ST_TO_ADDR
// lead = [ ] ;
32409: LD_ADDR_VAR 0 14
32413: PUSH
32414: EMPTY
32415: ST_TO_ADDR
// lead1 = [ ] ;
32416: LD_ADDR_VAR 0 15
32420: PUSH
32421: EMPTY
32422: ST_TO_ADDR
// lead2 = [ ] ;
32423: LD_ADDR_VAR 0 16
32427: PUSH
32428: EMPTY
32429: ST_TO_ADDR
// nexthex = 0 ;
32430: LD_ADDR_VAR 0 26
32434: PUSH
32435: LD_INT 0
32437: ST_TO_ADDR
// unittoberemoved = 0 ;
32438: LD_ADDR_VAR 0 30
32442: PUSH
32443: LD_INT 0
32445: ST_TO_ADDR
// for i = 1 to group do
32446: LD_ADDR_VAR 0 1
32450: PUSH
32451: DOUBLE
32452: LD_INT 1
32454: DEC
32455: ST_TO_ADDR
32456: LD_VAR 0 31
32460: PUSH
32461: FOR_TO
32462: IFFALSE 32591
// begin if not isok ( group [ i ] ) then
32464: LD_VAR 0 31
32468: PUSH
32469: LD_VAR 0 1
32473: ARRAY
32474: PPUSH
32475: CALL_OW 302
32479: NOT
32480: IFFALSE 32498
// UnitToBeRemoved = UnitToBeRemoved ^ i ;
32482: LD_ADDR_VAR 0 30
32486: PUSH
32487: LD_VAR 0 30
32491: PUSH
32492: LD_VAR 0 1
32496: ADD
32497: ST_TO_ADDR
// if gettype ( group [ i ] ) = unit_vehicle and getengine ( group [ i ] ) = engine_combustion and getfuel ( group [ i ] ) = 0 then
32498: LD_VAR 0 31
32502: PUSH
32503: LD_VAR 0 1
32507: ARRAY
32508: PPUSH
32509: CALL_OW 247
32513: PUSH
32514: LD_INT 2
32516: EQUAL
32517: PUSH
32518: LD_VAR 0 31
32522: PUSH
32523: LD_VAR 0 1
32527: ARRAY
32528: PPUSH
32529: CALL_OW 262
32533: PUSH
32534: LD_INT 1
32536: EQUAL
32537: AND
32538: PUSH
32539: LD_VAR 0 31
32543: PUSH
32544: LD_VAR 0 1
32548: ARRAY
32549: PPUSH
32550: CALL_OW 261
32554: PUSH
32555: LD_INT 0
32557: EQUAL
32558: AND
32559: IFFALSE 32589
// begin UnitToBeRemoved = UnitToBeRemoved ^ i ;
32561: LD_ADDR_VAR 0 30
32565: PUSH
32566: LD_VAR 0 30
32570: PUSH
32571: LD_VAR 0 1
32575: ADD
32576: ST_TO_ADDR
// setfuel ( i , 0 ) ;
32577: LD_VAR 0 1
32581: PPUSH
32582: LD_INT 0
32584: PPUSH
32585: CALL_OW 240
// end ; end ;
32589: GO 32461
32591: POP
32592: POP
// if unittoberemoved > 0 then
32593: LD_VAR 0 30
32597: PUSH
32598: LD_INT 0
32600: GREATER
32601: IFFALSE 32640
// for i in UnitToBeRemoved do
32603: LD_ADDR_VAR 0 1
32607: PUSH
32608: LD_VAR 0 30
32612: PUSH
32613: FOR_IN
32614: IFFALSE 32638
// group = delete ( group , i ) ;
32616: LD_ADDR_VAR 0 31
32620: PUSH
32621: LD_VAR 0 31
32625: PPUSH
32626: LD_VAR 0 1
32630: PPUSH
32631: CALL_OW 3
32635: ST_TO_ADDR
32636: GO 32613
32638: POP
32639: POP
// if passed_hex > 0 then
32640: LD_VAR 0 41
32644: PUSH
32645: LD_INT 0
32647: GREATER
32648: IFFALSE 32888
// begin temp = averagegrouppos ( group ) ;
32650: LD_ADDR_VAR 0 19
32654: PUSH
32655: LD_VAR 0 31
32659: PPUSH
32660: CALL 60820 0 1
32664: ST_TO_ADDR
// temp_val = getdistxy ( temp [ 1 ] , temp [ 2 ] , path [ passed_hex ] [ 1 ] , path [ passed_hex ] [ 2 ] ) ;
32665: LD_ADDR_VAR 0 23
32669: PUSH
32670: LD_VAR 0 19
32674: PUSH
32675: LD_INT 1
32677: ARRAY
32678: PPUSH
32679: LD_VAR 0 19
32683: PUSH
32684: LD_INT 2
32686: ARRAY
32687: PPUSH
32688: LD_VAR 0 38
32692: PUSH
32693: LD_VAR 0 41
32697: ARRAY
32698: PUSH
32699: LD_INT 1
32701: ARRAY
32702: PPUSH
32703: LD_VAR 0 38
32707: PUSH
32708: LD_VAR 0 41
32712: ARRAY
32713: PUSH
32714: LD_INT 2
32716: ARRAY
32717: PPUSH
32718: CALL_OW 298
32722: ST_TO_ADDR
// for i = 1 to path do
32723: LD_ADDR_VAR 0 1
32727: PUSH
32728: DOUBLE
32729: LD_INT 1
32731: DEC
32732: ST_TO_ADDR
32733: LD_VAR 0 38
32737: PUSH
32738: FOR_TO
32739: IFFALSE 32886
// if getdistxy ( temp [ 1 ] , temp [ 2 ] , path [ i ] [ 1 ] , path [ i ] [ 2 ] ) < temp_val then
32741: LD_VAR 0 19
32745: PUSH
32746: LD_INT 1
32748: ARRAY
32749: PPUSH
32750: LD_VAR 0 19
32754: PUSH
32755: LD_INT 2
32757: ARRAY
32758: PPUSH
32759: LD_VAR 0 38
32763: PUSH
32764: LD_VAR 0 1
32768: ARRAY
32769: PUSH
32770: LD_INT 1
32772: ARRAY
32773: PPUSH
32774: LD_VAR 0 38
32778: PUSH
32779: LD_VAR 0 1
32783: ARRAY
32784: PUSH
32785: LD_INT 2
32787: ARRAY
32788: PPUSH
32789: CALL_OW 298
32793: PUSH
32794: LD_VAR 0 23
32798: LESS
32799: IFFALSE 32884
// begin temp_val = getdistxy ( temp [ 1 ] , temp [ 2 ] , path [ i ] [ 1 ] , path [ i ] [ 2 ] ) ;
32801: LD_ADDR_VAR 0 23
32805: PUSH
32806: LD_VAR 0 19
32810: PUSH
32811: LD_INT 1
32813: ARRAY
32814: PPUSH
32815: LD_VAR 0 19
32819: PUSH
32820: LD_INT 2
32822: ARRAY
32823: PPUSH
32824: LD_VAR 0 38
32828: PUSH
32829: LD_VAR 0 1
32833: ARRAY
32834: PUSH
32835: LD_INT 1
32837: ARRAY
32838: PPUSH
32839: LD_VAR 0 38
32843: PUSH
32844: LD_VAR 0 1
32848: ARRAY
32849: PUSH
32850: LD_INT 2
32852: ARRAY
32853: PPUSH
32854: CALL_OW 298
32858: ST_TO_ADDR
// ru_grouphexcount = tag ( ru_grouphexcount , group_number , i ) ;
32859: LD_ADDR_EXP 24
32863: PUSH
32864: LD_EXP 24
32868: PPUSH
32869: LD_VAR 0 40
32873: PPUSH
32874: LD_VAR 0 1
32878: PPUSH
32879: CALL 59897 0 3
32883: ST_TO_ADDR
// end ;
32884: GO 32738
32886: POP
32887: POP
// end ; if group < 5 then
32888: LD_VAR 0 31
32892: PUSH
32893: LD_INT 5
32895: LESS
32896: IFFALSE 32908
// temp_val = 6 else
32898: LD_ADDR_VAR 0 23
32902: PUSH
32903: LD_INT 6
32905: ST_TO_ADDR
32906: GO 32916
// temp_val = 9 ;
32908: LD_ADDR_VAR 0 23
32912: PUSH
32913: LD_INT 9
32915: ST_TO_ADDR
// if target_list [ group_number ] = - 1 then
32916: LD_EXP 14
32920: PUSH
32921: LD_VAR 0 40
32925: ARRAY
32926: PUSH
32927: LD_INT 1
32929: NEG
32930: EQUAL
32931: IFFALSE 32941
// temp_val = 12 ;
32933: LD_ADDR_VAR 0 23
32937: PUSH
32938: LD_INT 12
32940: ST_TO_ADDR
// if group_type = 1 then
32941: LD_VAR 0 39
32945: PUSH
32946: LD_INT 1
32948: EQUAL
32949: IFFALSE 32959
// temp_val = 13 ;
32951: LD_ADDR_VAR 0 23
32955: PUSH
32956: LD_INT 13
32958: ST_TO_ADDR
// for i = 1 to path do
32959: LD_ADDR_VAR 0 1
32963: PUSH
32964: DOUBLE
32965: LD_INT 1
32967: DEC
32968: ST_TO_ADDR
32969: LD_VAR 0 38
32973: PUSH
32974: FOR_TO
32975: IFFALSE 33112
// if i > passed_hex [ 1 ] then
32977: LD_VAR 0 1
32981: PUSH
32982: LD_VAR 0 41
32986: PUSH
32987: LD_INT 1
32989: ARRAY
32990: GREATER
32991: IFFALSE 33110
// begin temp = 0 ;
32993: LD_ADDR_VAR 0 19
32997: PUSH
32998: LD_INT 0
33000: ST_TO_ADDR
// for j in group do
33001: LD_ADDR_VAR 0 2
33005: PUSH
33006: LD_VAR 0 31
33010: PUSH
33011: FOR_IN
33012: IFFALSE 33071
// if getdistunitxy ( j , path [ i ] [ 1 ] , path [ i ] [ 2 ] ) > temp_val then
33014: LD_VAR 0 2
33018: PPUSH
33019: LD_VAR 0 38
33023: PUSH
33024: LD_VAR 0 1
33028: ARRAY
33029: PUSH
33030: LD_INT 1
33032: ARRAY
33033: PPUSH
33034: LD_VAR 0 38
33038: PUSH
33039: LD_VAR 0 1
33043: ARRAY
33044: PUSH
33045: LD_INT 2
33047: ARRAY
33048: PPUSH
33049: CALL_OW 297
33053: PUSH
33054: LD_VAR 0 23
33058: GREATER
33059: IFFALSE 33069
// temp = 1 ;
33061: LD_ADDR_VAR 0 19
33065: PUSH
33066: LD_INT 1
33068: ST_TO_ADDR
33069: GO 33011
33071: POP
33072: POP
// if temp = 0 then
33073: LD_VAR 0 19
33077: PUSH
33078: LD_INT 0
33080: EQUAL
33081: IFFALSE 33110
// begin ru_grouphexcount = tag ( ru_grouphexcount , group_number , i ) ;
33083: LD_ADDR_EXP 24
33087: PUSH
33088: LD_EXP 24
33092: PPUSH
33093: LD_VAR 0 40
33097: PPUSH
33098: LD_VAR 0 1
33102: PPUSH
33103: CALL 59897 0 3
33107: ST_TO_ADDR
// break ;
33108: GO 33112
// end ; end ;
33110: GO 32974
33112: POP
33113: POP
// if group_type = 2 then
33114: LD_VAR 0 39
33118: PUSH
33119: LD_INT 2
33121: EQUAL
33122: IFFALSE 33148
// if ru_groupstatus [ group_number ] = 2 then
33124: LD_EXP 23
33128: PUSH
33129: LD_VAR 0 40
33133: ARRAY
33134: PUSH
33135: LD_INT 2
33137: EQUAL
33138: IFFALSE 33148
// passed_hex = 0 ;
33140: LD_ADDR_VAR 0 41
33144: PUSH
33145: LD_INT 0
33147: ST_TO_ADDR
// if ru_paths [ l ] = 1 then
33148: LD_EXP 21
33152: PUSH
33153: LD_VAR 0 12
33157: ARRAY
33158: PUSH
33159: LD_INT 1
33161: EQUAL
33162: IFFALSE 33187
// ru_grouphexcount = tag ( ru_grouphexcount , group_number , 0 ) ;
33164: LD_ADDR_EXP 24
33168: PUSH
33169: LD_EXP 24
33173: PPUSH
33174: LD_VAR 0 40
33178: PPUSH
33179: LD_INT 0
33181: PPUSH
33182: CALL 59897 0 3
33186: ST_TO_ADDR
// for i = 1 to path do
33187: LD_ADDR_VAR 0 1
33191: PUSH
33192: DOUBLE
33193: LD_INT 1
33195: DEC
33196: ST_TO_ADDR
33197: LD_VAR 0 38
33201: PUSH
33202: FOR_TO
33203: IFFALSE 33241
// if i > passed_hex [ 1 ] then
33205: LD_VAR 0 1
33209: PUSH
33210: LD_VAR 0 41
33214: PUSH
33215: LD_INT 1
33217: ARRAY
33218: GREATER
33219: IFFALSE 33239
// begin nexthex = path [ i ] ;
33221: LD_ADDR_VAR 0 26
33225: PUSH
33226: LD_VAR 0 38
33230: PUSH
33231: LD_VAR 0 1
33235: ARRAY
33236: ST_TO_ADDR
// break ;
33237: GO 33241
// end ;
33239: GO 33202
33241: POP
33242: POP
// if nexthex = 0 and ru_paths [ l ] > 1 then
33243: LD_VAR 0 26
33247: PUSH
33248: LD_INT 0
33250: EQUAL
33251: PUSH
33252: LD_EXP 21
33256: PUSH
33257: LD_VAR 0 12
33261: ARRAY
33262: PUSH
33263: LD_INT 1
33265: GREATER
33266: AND
33267: IFFALSE 33606
// begin temp = getdistunitxy ( group [ 1 ] , MoveOutHexes [ 1 ] [ 1 ] , MoveOutHexes [ 1 ] [ 2 ] ) ;
33269: LD_ADDR_VAR 0 19
33273: PUSH
33274: LD_VAR 0 31
33278: PUSH
33279: LD_INT 1
33281: ARRAY
33282: PPUSH
33283: LD_EXP 66
33287: PUSH
33288: LD_INT 1
33290: ARRAY
33291: PUSH
33292: LD_INT 1
33294: ARRAY
33295: PPUSH
33296: LD_EXP 66
33300: PUSH
33301: LD_INT 1
33303: ARRAY
33304: PUSH
33305: LD_INT 2
33307: ARRAY
33308: PPUSH
33309: CALL_OW 297
33313: ST_TO_ADDR
// hex = 1 ;
33314: LD_ADDR_VAR 0 27
33318: PUSH
33319: LD_INT 1
33321: ST_TO_ADDR
// for i in group do
33322: LD_ADDR_VAR 0 1
33326: PUSH
33327: LD_VAR 0 31
33331: PUSH
33332: FOR_IN
33333: IFFALSE 33461
// for j = 1 to MoveOutHexes do
33335: LD_ADDR_VAR 0 2
33339: PUSH
33340: DOUBLE
33341: LD_INT 1
33343: DEC
33344: ST_TO_ADDR
33345: LD_EXP 66
33349: PUSH
33350: FOR_TO
33351: IFFALSE 33457
// if getdistunitxy ( i , MoveOutHexes [ j ] [ 1 ] , MoveOutHexes [ j ] [ 2 ] ) < temp then
33353: LD_VAR 0 1
33357: PPUSH
33358: LD_EXP 66
33362: PUSH
33363: LD_VAR 0 2
33367: ARRAY
33368: PUSH
33369: LD_INT 1
33371: ARRAY
33372: PPUSH
33373: LD_EXP 66
33377: PUSH
33378: LD_VAR 0 2
33382: ARRAY
33383: PUSH
33384: LD_INT 2
33386: ARRAY
33387: PPUSH
33388: CALL_OW 297
33392: PUSH
33393: LD_VAR 0 19
33397: LESS
33398: IFFALSE 33455
// begin temp = getdistunitxy ( i , MoveOutHexes [ j ] [ 1 ] , MoveOutHexes [ j ] [ 2 ] ) ;
33400: LD_ADDR_VAR 0 19
33404: PUSH
33405: LD_VAR 0 1
33409: PPUSH
33410: LD_EXP 66
33414: PUSH
33415: LD_VAR 0 2
33419: ARRAY
33420: PUSH
33421: LD_INT 1
33423: ARRAY
33424: PPUSH
33425: LD_EXP 66
33429: PUSH
33430: LD_VAR 0 2
33434: ARRAY
33435: PUSH
33436: LD_INT 2
33438: ARRAY
33439: PPUSH
33440: CALL_OW 297
33444: ST_TO_ADDR
// hex = j ;
33445: LD_ADDR_VAR 0 27
33449: PUSH
33450: LD_VAR 0 2
33454: ST_TO_ADDR
// end ;
33455: GO 33350
33457: POP
33458: POP
33459: GO 33332
33461: POP
33462: POP
// temp = [ [ MoveOutHexes [ hex ] [ 1 ] , MoveOutHexes [ hex ] [ 2 ] ] ] ;
33463: LD_ADDR_VAR 0 19
33467: PUSH
33468: LD_EXP 66
33472: PUSH
33473: LD_VAR 0 27
33477: ARRAY
33478: PUSH
33479: LD_INT 1
33481: ARRAY
33482: PUSH
33483: LD_EXP 66
33487: PUSH
33488: LD_VAR 0 27
33492: ARRAY
33493: PUSH
33494: LD_INT 2
33496: ARRAY
33497: PUSH
33498: EMPTY
33499: LIST
33500: LIST
33501: PUSH
33502: EMPTY
33503: LIST
33504: ST_TO_ADDR
// if group_type [ 1 ] < 5 then
33505: LD_VAR 0 39
33509: PUSH
33510: LD_INT 1
33512: ARRAY
33513: PUSH
33514: LD_INT 5
33516: LESS
33517: IFFALSE 33606
// begin ru_paths = tag ( ru_paths , group_number , temp ) ;
33519: LD_ADDR_EXP 21
33523: PUSH
33524: LD_EXP 21
33528: PPUSH
33529: LD_VAR 0 40
33533: PPUSH
33534: LD_VAR 0 19
33538: PPUSH
33539: CALL 59897 0 3
33543: ST_TO_ADDR
// ru_grouphexcount = tag ( ru_grouphexcount , group_number , 0 ) ;
33544: LD_ADDR_EXP 24
33548: PUSH
33549: LD_EXP 24
33553: PPUSH
33554: LD_VAR 0 40
33558: PPUSH
33559: LD_INT 0
33561: PPUSH
33562: CALL 59897 0 3
33566: ST_TO_ADDR
// nexthex = [ MoveOutHexes [ hex ] [ 1 ] , MoveOutHexes [ hex ] [ 2 ] ] ;
33567: LD_ADDR_VAR 0 26
33571: PUSH
33572: LD_EXP 66
33576: PUSH
33577: LD_VAR 0 27
33581: ARRAY
33582: PUSH
33583: LD_INT 1
33585: ARRAY
33586: PUSH
33587: LD_EXP 66
33591: PUSH
33592: LD_VAR 0 27
33596: ARRAY
33597: PUSH
33598: LD_INT 2
33600: ARRAY
33601: PUSH
33602: EMPTY
33603: LIST
33604: LIST
33605: ST_TO_ADDR
// end ; end ; for i in group do
33606: LD_ADDR_VAR 0 1
33610: PUSH
33611: LD_VAR 0 31
33615: PUSH
33616: FOR_IN
33617: IFFALSE 33853
// begin if getweapon ( i ) = ru_heavy_gun then
33619: LD_VAR 0 1
33623: PPUSH
33624: CALL_OW 264
33628: PUSH
33629: LD_INT 46
33631: EQUAL
33632: IFFALSE 33650
// heavy_guns = heavy_guns ^ i ;
33634: LD_ADDR_VAR 0 32
33638: PUSH
33639: LD_VAR 0 32
33643: PUSH
33644: LD_VAR 0 1
33648: ADD
33649: ST_TO_ADDR
// if getweapon ( i ) = ru_gun then
33650: LD_VAR 0 1
33654: PPUSH
33655: CALL_OW 264
33659: PUSH
33660: LD_INT 44
33662: EQUAL
33663: IFFALSE 33681
// guns = guns ^ i ;
33665: LD_ADDR_VAR 0 33
33669: PUSH
33670: LD_VAR 0 33
33674: PUSH
33675: LD_VAR 0 1
33679: ADD
33680: ST_TO_ADDR
// if getweapon ( i ) = ru_gatling_gun then
33681: LD_VAR 0 1
33685: PPUSH
33686: CALL_OW 264
33690: PUSH
33691: LD_INT 43
33693: EQUAL
33694: IFFALSE 33712
// gatlings = gatlings ^ i ;
33696: LD_ADDR_VAR 0 34
33700: PUSH
33701: LD_VAR 0 34
33705: PUSH
33706: LD_VAR 0 1
33710: ADD
33711: ST_TO_ADDR
// if getweapon ( i ) = ru_heavy_machine_gun then
33712: LD_VAR 0 1
33716: PPUSH
33717: CALL_OW 264
33721: PUSH
33722: LD_INT 42
33724: EQUAL
33725: IFFALSE 33743
// machine_guns = machine_guns ^ i ;
33727: LD_ADDR_VAR 0 35
33731: PUSH
33732: LD_VAR 0 35
33736: PUSH
33737: LD_VAR 0 1
33741: ADD
33742: ST_TO_ADDR
// if getweapon ( i ) = ru_rocket_launcher or getweapon ( i ) = ru_rocket then
33743: LD_VAR 0 1
33747: PPUSH
33748: CALL_OW 264
33752: PUSH
33753: LD_INT 45
33755: EQUAL
33756: PUSH
33757: LD_VAR 0 1
33761: PPUSH
33762: CALL_OW 264
33766: PUSH
33767: LD_INT 47
33769: EQUAL
33770: OR
33771: IFFALSE 33789
// rockets = rockets ^ i ;
33773: LD_ADDR_VAR 0 36
33777: PUSH
33778: LD_VAR 0 36
33782: PUSH
33783: LD_VAR 0 1
33787: ADD
33788: ST_TO_ADDR
// if getweapon ( i ) = ru_time_lapser then
33789: LD_VAR 0 1
33793: PPUSH
33794: CALL_OW 264
33798: PUSH
33799: LD_INT 49
33801: EQUAL
33802: IFFALSE 33820
// time_lapsers = time_lapsers ^ i ;
33804: LD_ADDR_VAR 0 37
33808: PUSH
33809: LD_VAR 0 37
33813: PUSH
33814: LD_VAR 0 1
33818: ADD
33819: ST_TO_ADDR
// if GetType ( i ) = unit_human then
33820: LD_VAR 0 1
33824: PPUSH
33825: CALL_OW 247
33829: PUSH
33830: LD_INT 1
33832: EQUAL
33833: IFFALSE 33851
// follower = follower ^ i ;
33835: LD_ADDR_VAR 0 18
33839: PUSH
33840: LD_VAR 0 18
33844: PUSH
33845: LD_VAR 0 1
33849: ADD
33850: ST_TO_ADDR
// end ;
33851: GO 33616
33853: POP
33854: POP
// if heavy_guns > 0 then
33855: LD_VAR 0 32
33859: PUSH
33860: LD_INT 0
33862: GREATER
33863: IFFALSE 33923
// begin lead = lead ^ heavy_guns ^ guns ^ time_lapsers ;
33865: LD_ADDR_VAR 0 14
33869: PUSH
33870: LD_VAR 0 14
33874: PUSH
33875: LD_VAR 0 32
33879: ADD
33880: PUSH
33881: LD_VAR 0 33
33885: ADD
33886: PUSH
33887: LD_VAR 0 37
33891: ADD
33892: ST_TO_ADDR
// follower = follower ^ rockets ^ machine_guns ^ gatlings ;
33893: LD_ADDR_VAR 0 18
33897: PUSH
33898: LD_VAR 0 18
33902: PUSH
33903: LD_VAR 0 36
33907: ADD
33908: PUSH
33909: LD_VAR 0 35
33913: ADD
33914: PUSH
33915: LD_VAR 0 34
33919: ADD
33920: ST_TO_ADDR
// end else
33921: GO 33973
// begin lead = lead ^ guns ^ machine_guns ^ gatlings ;
33923: LD_ADDR_VAR 0 14
33927: PUSH
33928: LD_VAR 0 14
33932: PUSH
33933: LD_VAR 0 33
33937: ADD
33938: PUSH
33939: LD_VAR 0 35
33943: ADD
33944: PUSH
33945: LD_VAR 0 34
33949: ADD
33950: ST_TO_ADDR
// follower = follower ^ rockets ^ time_lapsers ;
33951: LD_ADDR_VAR 0 18
33955: PUSH
33956: LD_VAR 0 18
33960: PUSH
33961: LD_VAR 0 36
33965: ADD
33966: PUSH
33967: LD_VAR 0 37
33971: ADD
33972: ST_TO_ADDR
// end ; if unitfilter ( group , [ f_empty ] ) > 0 then
33973: LD_VAR 0 31
33977: PPUSH
33978: LD_INT 58
33980: PUSH
33981: EMPTY
33982: LIST
33983: PPUSH
33984: CALL_OW 72
33988: PUSH
33989: LD_INT 0
33991: GREATER
33992: IFFALSE 34144
// begin lead = 0 ;
33994: LD_ADDR_VAR 0 14
33998: PUSH
33999: LD_INT 0
34001: ST_TO_ADDR
// follower = 0 ;
34002: LD_ADDR_VAR 0 18
34006: PUSH
34007: LD_INT 0
34009: ST_TO_ADDR
// empty_veh = unitfilter ( group , [ f_empty ] ) ;
34010: LD_ADDR_VAR 0 44
34014: PUSH
34015: LD_VAR 0 31
34019: PPUSH
34020: LD_INT 58
34022: PUSH
34023: EMPTY
34024: LIST
34025: PPUSH
34026: CALL_OW 72
34030: ST_TO_ADDR
// bazookers = unitfilter ( group , [ [ f_class , class_bazooker ] , [ f_not , [ f_driving ] ] ] ) ;
34031: LD_ADDR_VAR 0 45
34035: PUSH
34036: LD_VAR 0 31
34040: PPUSH
34041: LD_INT 25
34043: PUSH
34044: LD_INT 9
34046: PUSH
34047: EMPTY
34048: LIST
34049: LIST
34050: PUSH
34051: LD_INT 3
34053: PUSH
34054: LD_INT 55
34056: PUSH
34057: EMPTY
34058: LIST
34059: PUSH
34060: EMPTY
34061: LIST
34062: LIST
34063: PUSH
34064: EMPTY
34065: LIST
34066: LIST
34067: PPUSH
34068: CALL_OW 72
34072: ST_TO_ADDR
// if bazookers > 0 then
34073: LD_VAR 0 45
34077: PUSH
34078: LD_INT 0
34080: GREATER
34081: IFFALSE 34126
// begin for i in bazookers do
34083: LD_ADDR_VAR 0 1
34087: PUSH
34088: LD_VAR 0 45
34092: PUSH
34093: FOR_IN
34094: IFFALSE 34122
// commoveunit ( i , nearestunittounit ( empty_veh , i ) ) ;
34096: LD_VAR 0 1
34100: PPUSH
34101: LD_VAR 0 44
34105: PPUSH
34106: LD_VAR 0 1
34110: PPUSH
34111: CALL_OW 74
34115: PPUSH
34116: CALL_OW 112
34120: GO 34093
34122: POP
34123: POP
// end else
34124: GO 34144
// comattackunit ( group , empty_veh [ 1 ] ) ;
34126: LD_VAR 0 31
34130: PPUSH
34131: LD_VAR 0 44
34135: PUSH
34136: LD_INT 1
34138: ARRAY
34139: PPUSH
34140: CALL_OW 115
// end ; if lead > 0 then
34144: LD_VAR 0 14
34148: PUSH
34149: LD_INT 0
34151: GREATER
34152: IFFALSE 34276
// begin lead1 = unitfilter ( lead , [ f_and , [ f_or , [ f_chassis , ru_medium_wheeled ] , [ f_chassis , ru_medium_tracked ] ] , [ f_not , [ f_weapon , ru_time_lapser ] ] ] ) ;
34154: LD_ADDR_VAR 0 15
34158: PUSH
34159: LD_VAR 0 14
34163: PPUSH
34164: LD_INT 1
34166: PUSH
34167: LD_INT 2
34169: PUSH
34170: LD_INT 31
34172: PUSH
34173: LD_INT 21
34175: PUSH
34176: EMPTY
34177: LIST
34178: LIST
34179: PUSH
34180: LD_INT 31
34182: PUSH
34183: LD_INT 22
34185: PUSH
34186: EMPTY
34187: LIST
34188: LIST
34189: PUSH
34190: EMPTY
34191: LIST
34192: LIST
34193: LIST
34194: PUSH
34195: LD_INT 3
34197: PUSH
34198: LD_INT 34
34200: PUSH
34201: LD_INT 49
34203: PUSH
34204: EMPTY
34205: LIST
34206: LIST
34207: PUSH
34208: EMPTY
34209: LIST
34210: LIST
34211: PUSH
34212: EMPTY
34213: LIST
34214: LIST
34215: LIST
34216: PPUSH
34217: CALL_OW 72
34221: ST_TO_ADDR
// lead2 = unitfilter ( lead , [ f_or , [ f_chassis , ru_heavy_wheeled ] , [ f_chassis , ru_heavy_tracked ] , [ f_weapon , ru_time_lapser ] ] ) ;
34222: LD_ADDR_VAR 0 16
34226: PUSH
34227: LD_VAR 0 14
34231: PPUSH
34232: LD_INT 2
34234: PUSH
34235: LD_INT 31
34237: PUSH
34238: LD_INT 23
34240: PUSH
34241: EMPTY
34242: LIST
34243: LIST
34244: PUSH
34245: LD_INT 31
34247: PUSH
34248: LD_INT 24
34250: PUSH
34251: EMPTY
34252: LIST
34253: LIST
34254: PUSH
34255: LD_INT 34
34257: PUSH
34258: LD_INT 49
34260: PUSH
34261: EMPTY
34262: LIST
34263: LIST
34264: PUSH
34265: EMPTY
34266: LIST
34267: LIST
34268: LIST
34269: LIST
34270: PPUSH
34271: CALL_OW 72
34275: ST_TO_ADDR
// end ; if lead1 > 0 then
34276: LD_VAR 0 15
34280: PUSH
34281: LD_INT 0
34283: GREATER
34284: IFFALSE 34825
// begin for i in lead1 do
34286: LD_ADDR_VAR 0 1
34290: PUSH
34291: LD_VAR 0 15
34295: PUSH
34296: FOR_IN
34297: IFFALSE 34405
// if getdistunitxy ( i , nexthex [ 1 ] , nexthex [ 2 ] ) > 3 then
34299: LD_VAR 0 1
34303: PPUSH
34304: LD_VAR 0 26
34308: PUSH
34309: LD_INT 1
34311: ARRAY
34312: PPUSH
34313: LD_VAR 0 26
34317: PUSH
34318: LD_INT 2
34320: ARRAY
34321: PPUSH
34322: CALL_OW 297
34326: PUSH
34327: LD_INT 3
34329: GREATER
34330: IFFALSE 34403
// begin comagressivemove ( i , nexthex [ 1 ] , nexthex [ 2 ] ) ;
34332: LD_VAR 0 1
34336: PPUSH
34337: LD_VAR 0 26
34341: PUSH
34342: LD_INT 1
34344: ARRAY
34345: PPUSH
34346: LD_VAR 0 26
34350: PUSH
34351: LD_INT 2
34353: ARRAY
34354: PPUSH
34355: CALL_OW 114
// if target_list [ l ] = - 1 then
34359: LD_EXP 14
34363: PUSH
34364: LD_VAR 0 12
34368: ARRAY
34369: PUSH
34370: LD_INT 1
34372: NEG
34373: EQUAL
34374: IFFALSE 34403
// commovexy ( i , nexthex [ 1 ] , nexthex [ 2 ] ) ;
34376: LD_VAR 0 1
34380: PPUSH
34381: LD_VAR 0 26
34385: PUSH
34386: LD_INT 1
34388: ARRAY
34389: PPUSH
34390: LD_VAR 0 26
34394: PUSH
34395: LD_INT 2
34397: ARRAY
34398: PPUSH
34399: CALL_OW 111
// end ;
34403: GO 34296
34405: POP
34406: POP
// if lead2 > 0 then
34407: LD_VAR 0 16
34411: PUSH
34412: LD_INT 0
34414: GREATER
34415: IFFALSE 34823
// for j in lead2 do
34417: LD_ADDR_VAR 0 2
34421: PUSH
34422: LD_VAR 0 16
34426: PUSH
34427: FOR_IN
34428: IFFALSE 34821
// begin if getdistunitxy ( j , nexthex [ 1 ] , nexthex [ 2 ] ) - 10 > getdistunitxy ( i , nexthex [ 1 ] , nexthex [ 2 ] ) then
34430: LD_VAR 0 2
34434: PPUSH
34435: LD_VAR 0 26
34439: PUSH
34440: LD_INT 1
34442: ARRAY
34443: PPUSH
34444: LD_VAR 0 26
34448: PUSH
34449: LD_INT 2
34451: ARRAY
34452: PPUSH
34453: CALL_OW 297
34457: PUSH
34458: LD_INT 10
34460: MINUS
34461: PUSH
34462: LD_VAR 0 1
34466: PPUSH
34467: LD_VAR 0 26
34471: PUSH
34472: LD_INT 1
34474: ARRAY
34475: PPUSH
34476: LD_VAR 0 26
34480: PUSH
34481: LD_INT 2
34483: ARRAY
34484: PPUSH
34485: CALL_OW 297
34489: GREATER
34490: IFFALSE 34501
// comstop ( i ) ;
34492: LD_VAR 0 1
34496: PPUSH
34497: CALL_OW 141
// if getdistunitxy ( i , nexthex [ 1 ] , nexthex [ 2 ] ) < 4 then
34501: LD_VAR 0 1
34505: PPUSH
34506: LD_VAR 0 26
34510: PUSH
34511: LD_INT 1
34513: ARRAY
34514: PPUSH
34515: LD_VAR 0 26
34519: PUSH
34520: LD_INT 2
34522: ARRAY
34523: PPUSH
34524: CALL_OW 297
34528: PUSH
34529: LD_INT 4
34531: LESS
34532: IFFALSE 34632
// if getdistunits ( i , j ) < 5 then
34534: LD_VAR 0 1
34538: PPUSH
34539: LD_VAR 0 2
34543: PPUSH
34544: CALL_OW 296
34548: PUSH
34549: LD_INT 5
34551: LESS
34552: IFFALSE 34623
// commovexy ( i , ru_paths [ l ] [ passed_hex [ 1 ] + 2 ] [ 1 ] , ru_paths [ l ] [ passed_hex [ 1 ] + 2 ] [ 2 ] ) else
34554: LD_VAR 0 1
34558: PPUSH
34559: LD_EXP 21
34563: PUSH
34564: LD_VAR 0 12
34568: ARRAY
34569: PUSH
34570: LD_VAR 0 41
34574: PUSH
34575: LD_INT 1
34577: ARRAY
34578: PUSH
34579: LD_INT 2
34581: PLUS
34582: ARRAY
34583: PUSH
34584: LD_INT 1
34586: ARRAY
34587: PPUSH
34588: LD_EXP 21
34592: PUSH
34593: LD_VAR 0 12
34597: ARRAY
34598: PUSH
34599: LD_VAR 0 41
34603: PUSH
34604: LD_INT 1
34606: ARRAY
34607: PUSH
34608: LD_INT 2
34610: PLUS
34611: ARRAY
34612: PUSH
34613: LD_INT 2
34615: ARRAY
34616: PPUSH
34617: CALL_OW 111
34621: GO 34632
// comstop ( i ) ;
34623: LD_VAR 0 1
34627: PPUSH
34628: CALL_OW 141
// temp = 0 ;
34632: LD_ADDR_VAR 0 19
34636: PUSH
34637: LD_INT 0
34639: ST_TO_ADDR
// for k in lead1 do
34640: LD_ADDR_VAR 0 11
34644: PUSH
34645: LD_VAR 0 15
34649: PUSH
34650: FOR_IN
34651: IFFALSE 34721
// if getdistunitxy ( k , nexthex [ 1 ] , nexthex [ 2 ] ) > getdistunitxy ( j , nexthex [ 1 ] , nexthex [ 2 ] ) then
34653: LD_VAR 0 11
34657: PPUSH
34658: LD_VAR 0 26
34662: PUSH
34663: LD_INT 1
34665: ARRAY
34666: PPUSH
34667: LD_VAR 0 26
34671: PUSH
34672: LD_INT 2
34674: ARRAY
34675: PPUSH
34676: CALL_OW 297
34680: PUSH
34681: LD_VAR 0 2
34685: PPUSH
34686: LD_VAR 0 26
34690: PUSH
34691: LD_INT 1
34693: ARRAY
34694: PPUSH
34695: LD_VAR 0 26
34699: PUSH
34700: LD_INT 2
34702: ARRAY
34703: PPUSH
34704: CALL_OW 297
34708: GREATER
34709: IFFALSE 34719
// temp = 1 ;
34711: LD_ADDR_VAR 0 19
34715: PUSH
34716: LD_INT 1
34718: ST_TO_ADDR
34719: GO 34650
34721: POP
34722: POP
// if temp = 0 then
34723: LD_VAR 0 19
34727: PUSH
34728: LD_INT 0
34730: EQUAL
34731: IFFALSE 34810
// begin if getdistunitxy ( j , nexthex [ 1 ] , nexthex [ 2 ] ) > 3 and hastask ( i ) = 0 then
34733: LD_VAR 0 2
34737: PPUSH
34738: LD_VAR 0 26
34742: PUSH
34743: LD_INT 1
34745: ARRAY
34746: PPUSH
34747: LD_VAR 0 26
34751: PUSH
34752: LD_INT 2
34754: ARRAY
34755: PPUSH
34756: CALL_OW 297
34760: PUSH
34761: LD_INT 3
34763: GREATER
34764: PUSH
34765: LD_VAR 0 1
34769: PPUSH
34770: CALL_OW 314
34774: PUSH
34775: LD_INT 0
34777: EQUAL
34778: AND
34779: IFFALSE 34808
// comagressivemove ( j , nexthex [ 1 ] , nexthex [ 2 ] ) ;
34781: LD_VAR 0 2
34785: PPUSH
34786: LD_VAR 0 26
34790: PUSH
34791: LD_INT 1
34793: ARRAY
34794: PPUSH
34795: LD_VAR 0 26
34799: PUSH
34800: LD_INT 2
34802: ARRAY
34803: PPUSH
34804: CALL_OW 114
// end else
34808: GO 34819
// comstop ( j ) ;
34810: LD_VAR 0 2
34814: PPUSH
34815: CALL_OW 141
// end ;
34819: GO 34427
34821: POP
34822: POP
// end else
34823: GO 34927
// begin if lead2 > 0 then
34825: LD_VAR 0 16
34829: PUSH
34830: LD_INT 0
34832: GREATER
34833: IFFALSE 34927
// for i in lead2 do
34835: LD_ADDR_VAR 0 1
34839: PUSH
34840: LD_VAR 0 16
34844: PUSH
34845: FOR_IN
34846: IFFALSE 34925
// if getdistunitxy ( i , nexthex [ 1 ] , nexthex [ 2 ] ) > 3 and hastask ( i ) = 0 then
34848: LD_VAR 0 1
34852: PPUSH
34853: LD_VAR 0 26
34857: PUSH
34858: LD_INT 1
34860: ARRAY
34861: PPUSH
34862: LD_VAR 0 26
34866: PUSH
34867: LD_INT 2
34869: ARRAY
34870: PPUSH
34871: CALL_OW 297
34875: PUSH
34876: LD_INT 3
34878: GREATER
34879: PUSH
34880: LD_VAR 0 1
34884: PPUSH
34885: CALL_OW 314
34889: PUSH
34890: LD_INT 0
34892: EQUAL
34893: AND
34894: IFFALSE 34923
// comagressivemove ( i , nexthex [ 1 ] , nexthex [ 2 ] ) ;
34896: LD_VAR 0 1
34900: PPUSH
34901: LD_VAR 0 26
34905: PUSH
34906: LD_INT 1
34908: ARRAY
34909: PPUSH
34910: LD_VAR 0 26
34914: PUSH
34915: LD_INT 2
34917: ARRAY
34918: PPUSH
34919: CALL_OW 114
34923: GO 34845
34925: POP
34926: POP
// end ; if lead1 > 0 or lead2 > 0 then
34927: LD_VAR 0 15
34931: PUSH
34932: LD_INT 0
34934: GREATER
34935: PUSH
34936: LD_VAR 0 16
34940: PUSH
34941: LD_INT 0
34943: GREATER
34944: OR
34945: IFFALSE 35150
// for i in follower do
34947: LD_ADDR_VAR 0 1
34951: PUSH
34952: LD_VAR 0 18
34956: PUSH
34957: FOR_IN
34958: IFFALSE 35148
// begin temp = 0 ;
34960: LD_ADDR_VAR 0 19
34964: PUSH
34965: LD_INT 0
34967: ST_TO_ADDR
// if lead2 > 0 then
34968: LD_VAR 0 16
34972: PUSH
34973: LD_INT 0
34975: GREATER
34976: IFFALSE 34990
// temp_lead = lead2 else
34978: LD_ADDR_VAR 0 17
34982: PUSH
34983: LD_VAR 0 16
34987: ST_TO_ADDR
34988: GO 35000
// temp_lead = lead1 ;
34990: LD_ADDR_VAR 0 17
34994: PUSH
34995: LD_VAR 0 15
34999: ST_TO_ADDR
// for j in temp_lead do
35000: LD_ADDR_VAR 0 2
35004: PUSH
35005: LD_VAR 0 17
35009: PUSH
35010: FOR_IN
35011: IFFALSE 35096
// if islive ( j ) and getdistunitxy ( j , nexthex [ 1 ] , nexthex [ 2 ] ) + 2 > getdistunitxy ( i , nexthex [ 1 ] , nexthex [ 2 ] ) then
35013: LD_VAR 0 2
35017: PPUSH
35018: CALL_OW 300
35022: PUSH
35023: LD_VAR 0 2
35027: PPUSH
35028: LD_VAR 0 26
35032: PUSH
35033: LD_INT 1
35035: ARRAY
35036: PPUSH
35037: LD_VAR 0 26
35041: PUSH
35042: LD_INT 2
35044: ARRAY
35045: PPUSH
35046: CALL_OW 297
35050: PUSH
35051: LD_INT 2
35053: PLUS
35054: PUSH
35055: LD_VAR 0 1
35059: PPUSH
35060: LD_VAR 0 26
35064: PUSH
35065: LD_INT 1
35067: ARRAY
35068: PPUSH
35069: LD_VAR 0 26
35073: PUSH
35074: LD_INT 2
35076: ARRAY
35077: PPUSH
35078: CALL_OW 297
35082: GREATER
35083: AND
35084: IFFALSE 35094
// temp = 1 ;
35086: LD_ADDR_VAR 0 19
35090: PUSH
35091: LD_INT 1
35093: ST_TO_ADDR
35094: GO 35010
35096: POP
35097: POP
// if temp = 0 then
35098: LD_VAR 0 19
35102: PUSH
35103: LD_INT 0
35105: EQUAL
35106: IFFALSE 35137
// begin commovexy ( i , nexthex [ 1 ] , nexthex [ 2 ] ) ;
35108: LD_VAR 0 1
35112: PPUSH
35113: LD_VAR 0 26
35117: PUSH
35118: LD_INT 1
35120: ARRAY
35121: PPUSH
35122: LD_VAR 0 26
35126: PUSH
35127: LD_INT 2
35129: ARRAY
35130: PPUSH
35131: CALL_OW 111
// end else
35135: GO 35146
// comstop ( i ) ;
35137: LD_VAR 0 1
35141: PPUSH
35142: CALL_OW 141
// end ;
35146: GO 34957
35148: POP
35149: POP
// if lead = 0 then
35150: LD_VAR 0 14
35154: PUSH
35155: LD_INT 0
35157: EQUAL
35158: IFFALSE 35204
// for i in group do
35160: LD_ADDR_VAR 0 1
35164: PUSH
35165: LD_VAR 0 31
35169: PUSH
35170: FOR_IN
35171: IFFALSE 35202
// commovexy ( i , nexthex [ 1 ] , nexthex [ 2 ] ) ;
35173: LD_VAR 0 1
35177: PPUSH
35178: LD_VAR 0 26
35182: PUSH
35183: LD_INT 1
35185: ARRAY
35186: PPUSH
35187: LD_VAR 0 26
35191: PUSH
35192: LD_INT 2
35194: ARRAY
35195: PPUSH
35196: CALL_OW 111
35200: GO 35170
35202: POP
35203: POP
// for i in group do
35204: LD_ADDR_VAR 0 1
35208: PUSH
35209: LD_VAR 0 31
35213: PUSH
35214: FOR_IN
35215: IFFALSE 35383
// if ru_paths [ l ] = 1 and getdistxy ( ru_paths [ l ] [ 1 ] [ 1 ] , getY ( i ) , ru_paths [ l ] [ 1 ] [ 1 ] , ru_paths [ l ] [ 1 ] [ 2 ] ) < 5 then
35217: LD_EXP 21
35221: PUSH
35222: LD_VAR 0 12
35226: ARRAY
35227: PUSH
35228: LD_INT 1
35230: EQUAL
35231: PUSH
35232: LD_EXP 21
35236: PUSH
35237: LD_VAR 0 12
35241: ARRAY
35242: PUSH
35243: LD_INT 1
35245: ARRAY
35246: PUSH
35247: LD_INT 1
35249: ARRAY
35250: PPUSH
35251: LD_VAR 0 1
35255: PPUSH
35256: CALL_OW 251
35260: PPUSH
35261: LD_EXP 21
35265: PUSH
35266: LD_VAR 0 12
35270: ARRAY
35271: PUSH
35272: LD_INT 1
35274: ARRAY
35275: PUSH
35276: LD_INT 1
35278: ARRAY
35279: PPUSH
35280: LD_EXP 21
35284: PUSH
35285: LD_VAR 0 12
35289: ARRAY
35290: PUSH
35291: LD_INT 1
35293: ARRAY
35294: PUSH
35295: LD_INT 2
35297: ARRAY
35298: PPUSH
35299: CALL_OW 298
35303: PUSH
35304: LD_INT 5
35306: LESS
35307: AND
35308: IFFALSE 35381
// begin if ru_paths [ l ] [ 1 ] [ 2 ] = 1 then
35310: LD_EXP 21
35314: PUSH
35315: LD_VAR 0 12
35319: ARRAY
35320: PUSH
35321: LD_INT 1
35323: ARRAY
35324: PUSH
35325: LD_INT 2
35327: ARRAY
35328: PUSH
35329: LD_INT 1
35331: EQUAL
35332: IFFALSE 35348
// RussiansPassed = RussiansPassed + 1 ;
35334: LD_ADDR_EXP 11
35338: PUSH
35339: LD_EXP 11
35343: PUSH
35344: LD_INT 1
35346: PLUS
35347: ST_TO_ADDR
// if group_type = 1 then
35348: LD_VAR 0 39
35352: PUSH
35353: LD_INT 1
35355: EQUAL
35356: IFFALSE 35372
// RussiansPassed = RussiansPassed + 100 ;
35358: LD_ADDR_EXP 11
35362: PUSH
35363: LD_EXP 11
35367: PUSH
35368: LD_INT 100
35370: PLUS
35371: ST_TO_ADDR
// removeunit ( i ) ;
35372: LD_VAR 0 1
35376: PPUSH
35377: CALL_OW 64
// end ;
35381: GO 35214
35383: POP
35384: POP
// end ; if ru_groupstatus [ l ] = 2 then
35385: LD_EXP 23
35389: PUSH
35390: LD_VAR 0 12
35394: ARRAY
35395: PUSH
35396: LD_INT 2
35398: EQUAL
35399: IFFALSE 35587
// for j in russians [ l ] do
35401: LD_ADDR_VAR 0 2
35405: PUSH
35406: LD_EXP 10
35410: PUSH
35411: LD_VAR 0 12
35415: ARRAY
35416: PUSH
35417: FOR_IN
35418: IFFALSE 35585
// begin commovexy ( j , ru_paths [ l ] [ 1 ] [ 1 ] , ru_paths [ l ] [ 1 ] [ 2 ] ) ;
35420: LD_VAR 0 2
35424: PPUSH
35425: LD_EXP 21
35429: PUSH
35430: LD_VAR 0 12
35434: ARRAY
35435: PUSH
35436: LD_INT 1
35438: ARRAY
35439: PUSH
35440: LD_INT 1
35442: ARRAY
35443: PPUSH
35444: LD_EXP 21
35448: PUSH
35449: LD_VAR 0 12
35453: ARRAY
35454: PUSH
35455: LD_INT 1
35457: ARRAY
35458: PUSH
35459: LD_INT 2
35461: ARRAY
35462: PPUSH
35463: CALL_OW 111
// if getdistxy ( ru_paths [ l ] [ 1 ] [ 1 ] , getY ( j ) , ru_paths [ l ] [ 1 ] [ 1 ] , ru_paths [ l ] [ 1 ] [ 2 ] ) < 5 then
35467: LD_EXP 21
35471: PUSH
35472: LD_VAR 0 12
35476: ARRAY
35477: PUSH
35478: LD_INT 1
35480: ARRAY
35481: PUSH
35482: LD_INT 1
35484: ARRAY
35485: PPUSH
35486: LD_VAR 0 2
35490: PPUSH
35491: CALL_OW 251
35495: PPUSH
35496: LD_EXP 21
35500: PUSH
35501: LD_VAR 0 12
35505: ARRAY
35506: PUSH
35507: LD_INT 1
35509: ARRAY
35510: PUSH
35511: LD_INT 1
35513: ARRAY
35514: PPUSH
35515: LD_EXP 21
35519: PUSH
35520: LD_VAR 0 12
35524: ARRAY
35525: PUSH
35526: LD_INT 1
35528: ARRAY
35529: PUSH
35530: LD_INT 2
35532: ARRAY
35533: PPUSH
35534: CALL_OW 298
35538: PUSH
35539: LD_INT 5
35541: LESS
35542: IFFALSE 35583
// begin if gamestage > 1 then
35544: LD_EXP 2
35548: PUSH
35549: LD_INT 1
35551: GREATER
35552: IFFALSE 35574
// seek_n_destroy ( l , Target_List [ l ] ) ;
35554: LD_VAR 0 12
35558: PPUSH
35559: LD_EXP 14
35563: PUSH
35564: LD_VAR 0 12
35568: ARRAY
35569: PPUSH
35570: CALL 60974 0 2
// removeunit ( j ) ;
35574: LD_VAR 0 2
35578: PPUSH
35579: CALL_OW 64
// end ; end ;
35583: GO 35417
35585: POP
35586: POP
// end ;
35587: GO 31604
35589: POP
35590: POP
// if grouptodelete > 0 then
35591: LD_VAR 0 43
35595: PUSH
35596: LD_INT 0
35598: GREATER
35599: IFFALSE 35965
// begin if ru_groupside [ grouptodelete ] = 6 and not ru_grouptypes [ grouptodelete ] = 1 then
35601: LD_EXP 26
35605: PUSH
35606: LD_VAR 0 43
35610: ARRAY
35611: PUSH
35612: LD_INT 6
35614: EQUAL
35615: PUSH
35616: LD_EXP 22
35620: PUSH
35621: LD_VAR 0 43
35625: ARRAY
35626: PUSH
35627: LD_INT 1
35629: EQUAL
35630: NOT
35631: AND
35632: IFFALSE 35697
// for i = 1 to ru_spawning_time do
35634: LD_ADDR_VAR 0 1
35638: PUSH
35639: DOUBLE
35640: LD_INT 1
35642: DEC
35643: ST_TO_ADDR
35644: LD_EXP 27
35648: PUSH
35649: FOR_TO
35650: IFFALSE 35695
// if ru_spawning_time [ i ] = 100 100$0 then
35652: LD_EXP 27
35656: PUSH
35657: LD_VAR 0 1
35661: ARRAY
35662: PUSH
35663: LD_INT 210000
35665: EQUAL
35666: IFFALSE 35693
// begin ru_spawning_time = tag ( ru_spawning_time , i , 0 ) ;
35668: LD_ADDR_EXP 27
35672: PUSH
35673: LD_EXP 27
35677: PPUSH
35678: LD_VAR 0 1
35682: PPUSH
35683: LD_INT 0
35685: PPUSH
35686: CALL 59897 0 3
35690: ST_TO_ADDR
// break ;
35691: GO 35695
// end ;
35693: GO 35649
35695: POP
35696: POP
// russians = delete ( russians , grouptodelete ) ;
35697: LD_ADDR_EXP 10
35701: PUSH
35702: LD_EXP 10
35706: PPUSH
35707: LD_VAR 0 43
35711: PPUSH
35712: CALL_OW 3
35716: ST_TO_ADDR
// ru_paths = delete ( ru_paths , grouptodelete ) ;
35717: LD_ADDR_EXP 21
35721: PUSH
35722: LD_EXP 21
35726: PPUSH
35727: LD_VAR 0 43
35731: PPUSH
35732: CALL_OW 3
35736: ST_TO_ADDR
// ru_grouptypes = delete ( ru_grouptypes , grouptodelete ) ;
35737: LD_ADDR_EXP 22
35741: PUSH
35742: LD_EXP 22
35746: PPUSH
35747: LD_VAR 0 43
35751: PPUSH
35752: CALL_OW 3
35756: ST_TO_ADDR
// ru_groupstatus = delete ( ru_groupstatus , grouptodelete ) ;
35757: LD_ADDR_EXP 23
35761: PUSH
35762: LD_EXP 23
35766: PPUSH
35767: LD_VAR 0 43
35771: PPUSH
35772: CALL_OW 3
35776: ST_TO_ADDR
// ru_grouphexcount = delete ( ru_grouphexcount , grouptodelete ) ;
35777: LD_ADDR_EXP 24
35781: PUSH
35782: LD_EXP 24
35786: PPUSH
35787: LD_VAR 0 43
35791: PPUSH
35792: CALL_OW 3
35796: ST_TO_ADDR
// target_list = delete ( target_list , grouptodelete ) ;
35797: LD_ADDR_EXP 14
35801: PUSH
35802: LD_EXP 14
35806: PPUSH
35807: LD_VAR 0 43
35811: PPUSH
35812: CALL_OW 3
35816: ST_TO_ADDR
// ru_targethex = delete ( ru_targethex , grouptodelete ) ;
35817: LD_ADDR_EXP 25
35821: PUSH
35822: LD_EXP 25
35826: PPUSH
35827: LD_VAR 0 43
35831: PPUSH
35832: CALL_OW 3
35836: ST_TO_ADDR
// ru_groupside = delete ( ru_groupside , grouptodelete ) ;
35837: LD_ADDR_EXP 26
35841: PUSH
35842: LD_EXP 26
35846: PPUSH
35847: LD_VAR 0 43
35851: PPUSH
35852: CALL_OW 3
35856: ST_TO_ADDR
// target_hg = delete ( target_hg , grouptodelete ) ;
35857: LD_ADDR_EXP 16
35861: PUSH
35862: LD_EXP 16
35866: PPUSH
35867: LD_VAR 0 43
35871: PPUSH
35872: CALL_OW 3
35876: ST_TO_ADDR
// target_gun = delete ( target_gun , grouptodelete ) ;
35877: LD_ADDR_EXP 17
35881: PUSH
35882: LD_EXP 17
35886: PPUSH
35887: LD_VAR 0 43
35891: PPUSH
35892: CALL_OW 3
35896: ST_TO_ADDR
// target_all = delete ( target_all , grouptodelete ) ;
35897: LD_ADDR_EXP 18
35901: PUSH
35902: LD_EXP 18
35906: PPUSH
35907: LD_VAR 0 43
35911: PPUSH
35912: CALL_OW 3
35916: ST_TO_ADDR
// target_bazooka = delete ( target_bazooka , grouptodelete ) ;
35917: LD_ADDR_EXP 19
35921: PUSH
35922: LD_EXP 19
35926: PPUSH
35927: LD_VAR 0 43
35931: PPUSH
35932: CALL_OW 3
35936: ST_TO_ADDR
// bazooka_engagetime = delete ( bazooka_engagetime , grouptodelete ) ;
35937: LD_ADDR_EXP 20
35941: PUSH
35942: LD_EXP 20
35946: PPUSH
35947: LD_VAR 0 43
35951: PPUSH
35952: CALL_OW 3
35956: ST_TO_ADDR
// grouptodelete = 0 ;
35957: LD_ADDR_VAR 0 43
35961: PUSH
35962: LD_INT 0
35964: ST_TO_ADDR
// end ; enable ;
35965: ENABLE
// end ;
35966: PPOPN 45
35968: END
// every 0 0$1 trigger filterallunits ( [ f_nation , nation_russian ] ) do var i , j , temp ;
35969: LD_INT 23
35971: PUSH
35972: LD_INT 3
35974: PUSH
35975: EMPTY
35976: LIST
35977: LIST
35978: PPUSH
35979: CALL_OW 69
35983: IFFALSE 36110
35985: GO 35987
35987: DISABLE
35988: LD_INT 0
35990: PPUSH
35991: PPUSH
35992: PPUSH
// begin for i in filterallunits ( [ f_nation , nation_russian ] ) do
35993: LD_ADDR_VAR 0 1
35997: PUSH
35998: LD_INT 23
36000: PUSH
36001: LD_INT 3
36003: PUSH
36004: EMPTY
36005: LIST
36006: LIST
36007: PPUSH
36008: CALL_OW 69
36012: PUSH
36013: FOR_IN
36014: IFFALSE 36107
// begin temp = 0 ;
36016: LD_ADDR_VAR 0 3
36020: PUSH
36021: LD_INT 0
36023: ST_TO_ADDR
// for j in Russians do
36024: LD_ADDR_VAR 0 2
36028: PUSH
36029: LD_EXP 10
36033: PUSH
36034: FOR_IN
36035: IFFALSE 36059
// if i in j then
36037: LD_VAR 0 1
36041: PUSH
36042: LD_VAR 0 2
36046: IN
36047: IFFALSE 36057
// temp = 1 ;
36049: LD_ADDR_VAR 0 3
36053: PUSH
36054: LD_INT 1
36056: ST_TO_ADDR
36057: GO 36034
36059: POP
36060: POP
// if temp = 0 then
36061: LD_VAR 0 3
36065: PUSH
36066: LD_INT 0
36068: EQUAL
36069: IFFALSE 36105
// Comattackunit ( i , NearestUnitToUnit ( filterallunits ( [ f_nation , nation_russian ] ) , i ) ) ;
36071: LD_VAR 0 1
36075: PPUSH
36076: LD_INT 23
36078: PUSH
36079: LD_INT 3
36081: PUSH
36082: EMPTY
36083: LIST
36084: LIST
36085: PPUSH
36086: CALL_OW 69
36090: PPUSH
36091: LD_VAR 0 1
36095: PPUSH
36096: CALL_OW 74
36100: PPUSH
36101: CALL_OW 115
// end ;
36105: GO 36013
36107: POP
36108: POP
// enable ;
36109: ENABLE
// end ; end_of_file
36110: PPOPN 3
36112: END
// export function Determine_group ( group ) ; var veh_type1 , veh_type2 , veh_type3 , veh_type4 , vehicles_list , configuration ; var temp , temp_list , temp_list2 , escapee , roll , n , sol_1 , sol_2 , sol_3 , mech , sci ; var i , j ; begin
36113: LD_INT 0
36115: PPUSH
36116: PPUSH
36117: PPUSH
36118: PPUSH
36119: PPUSH
36120: PPUSH
36121: PPUSH
36122: PPUSH
36123: PPUSH
36124: PPUSH
36125: PPUSH
36126: PPUSH
36127: PPUSH
36128: PPUSH
36129: PPUSH
36130: PPUSH
36131: PPUSH
36132: PPUSH
36133: PPUSH
36134: PPUSH
// randomize ;
36135: CALL_OW 10
// group_heavy = [ ] ;
36139: LD_ADDR_EXP 3
36143: PUSH
36144: EMPTY
36145: ST_TO_ADDR
// group_scout = [ ] ;
36146: LD_ADDR_EXP 6
36150: PUSH
36151: EMPTY
36152: ST_TO_ADDR
// group_seek = [ ] ;
36153: LD_ADDR_EXP 4
36157: PUSH
36158: EMPTY
36159: ST_TO_ADDR
// group_hunt = [ ] ;
36160: LD_ADDR_EXP 5
36164: PUSH
36165: EMPTY
36166: ST_TO_ADDR
// group_escapees = [ ] ;
36167: LD_ADDR_EXP 7
36171: PUSH
36172: EMPTY
36173: ST_TO_ADDR
// Group_Leg = [ ] ;
36174: LD_ADDR_EXP 8
36178: PUSH
36179: EMPTY
36180: ST_TO_ADDR
// Group_Omar = [ ] ;
36181: LD_ADDR_EXP 9
36185: PUSH
36186: EMPTY
36187: ST_TO_ADDR
// case group of 1 :
36188: LD_VAR 0 1
36192: PUSH
36193: LD_INT 1
36195: DOUBLE
36196: EQUAL
36197: IFTRUE 36201
36199: GO 37143
36201: POP
// begin uc_nation = nation_russian ;
36202: LD_ADDR_OWVAR 21
36206: PUSH
36207: LD_INT 3
36209: ST_TO_ADDR
// uc_side = 3 ;
36210: LD_ADDR_OWVAR 20
36214: PUSH
36215: LD_INT 3
36217: ST_TO_ADDR
// if magenta = 1 then
36218: LD_EXP 12
36222: PUSH
36223: LD_INT 1
36225: EQUAL
36226: IFFALSE 36236
// uc_side = 6 ;
36228: LD_ADDR_OWVAR 20
36232: PUSH
36233: LD_INT 6
36235: ST_TO_ADDR
// vc_control = control_computer ;
36236: LD_ADDR_OWVAR 38
36240: PUSH
36241: LD_INT 3
36243: ST_TO_ADDR
// vc_engine = engine_combustion ;
36244: LD_ADDR_OWVAR 39
36248: PUSH
36249: LD_INT 1
36251: ST_TO_ADDR
// vc_chassis = ru_heavy_tracked ;
36252: LD_ADDR_OWVAR 37
36256: PUSH
36257: LD_INT 24
36259: ST_TO_ADDR
// if ru_heavy_times = 4 or ru_heavy_times = 5 then
36260: LD_EXP 28
36264: PUSH
36265: LD_INT 4
36267: EQUAL
36268: PUSH
36269: LD_EXP 28
36273: PUSH
36274: LD_INT 5
36276: EQUAL
36277: OR
36278: IFFALSE 36368
// begin vc_weapon = ru_heavy_gun ;
36280: LD_ADDR_OWVAR 40
36284: PUSH
36285: LD_INT 46
36287: ST_TO_ADDR
// repeat veh_type1 = createvehicle ;
36288: LD_ADDR_VAR 0 3
36292: PUSH
36293: CALL_OW 45
36297: ST_TO_ADDR
// Group_Heavy = Group_Heavy ^ veh_type1 ;
36298: LD_ADDR_EXP 3
36302: PUSH
36303: LD_EXP 3
36307: PUSH
36308: LD_VAR 0 3
36312: ADD
36313: ST_TO_ADDR
// until Group_Heavy = 5 ;
36314: LD_EXP 3
36318: PUSH
36319: LD_INT 5
36321: EQUAL
36322: IFFALSE 36288
// vc_weapon = ru_rocket ;
36324: LD_ADDR_OWVAR 40
36328: PUSH
36329: LD_INT 47
36331: ST_TO_ADDR
// repeat veh_type2 = createvehicle ;
36332: LD_ADDR_VAR 0 4
36336: PUSH
36337: CALL_OW 45
36341: ST_TO_ADDR
// Group_Heavy = Group_Heavy ^ veh_type2 ;
36342: LD_ADDR_EXP 3
36346: PUSH
36347: LD_EXP 3
36351: PUSH
36352: LD_VAR 0 4
36356: ADD
36357: ST_TO_ADDR
// until Group_Heavy = 8 ;
36358: LD_EXP 3
36362: PUSH
36363: LD_INT 8
36365: EQUAL
36366: IFFALSE 36332
// end ; if ru_heavy_times = 3 then
36368: LD_EXP 28
36372: PUSH
36373: LD_INT 3
36375: EQUAL
36376: IFFALSE 36510
// begin vc_weapon = ru_heavy_gun ;
36378: LD_ADDR_OWVAR 40
36382: PUSH
36383: LD_INT 46
36385: ST_TO_ADDR
// repeat veh_type1 = createvehicle ;
36386: LD_ADDR_VAR 0 3
36390: PUSH
36391: CALL_OW 45
36395: ST_TO_ADDR
// Group_Heavy = Group_Heavy ^ veh_type1 ;
36396: LD_ADDR_EXP 3
36400: PUSH
36401: LD_EXP 3
36405: PUSH
36406: LD_VAR 0 3
36410: ADD
36411: ST_TO_ADDR
// until Group_Heavy = 5 ;
36412: LD_EXP 3
36416: PUSH
36417: LD_INT 5
36419: EQUAL
36420: IFFALSE 36386
// vc_weapon = ru_rocket ;
36422: LD_ADDR_OWVAR 40
36426: PUSH
36427: LD_INT 47
36429: ST_TO_ADDR
// repeat veh_type2 = createvehicle ;
36430: LD_ADDR_VAR 0 4
36434: PUSH
36435: CALL_OW 45
36439: ST_TO_ADDR
// Group_Heavy = Group_Heavy ^ veh_type2 ;
36440: LD_ADDR_EXP 3
36444: PUSH
36445: LD_EXP 3
36449: PUSH
36450: LD_VAR 0 4
36454: ADD
36455: ST_TO_ADDR
// until Group_Heavy = 8 ;
36456: LD_EXP 3
36460: PUSH
36461: LD_INT 8
36463: EQUAL
36464: IFFALSE 36430
// vc_weapon = ru_time_lapser ;
36466: LD_ADDR_OWVAR 40
36470: PUSH
36471: LD_INT 49
36473: ST_TO_ADDR
// repeat veh_type3 = createvehicle ;
36474: LD_ADDR_VAR 0 5
36478: PUSH
36479: CALL_OW 45
36483: ST_TO_ADDR
// Group_Heavy = Group_Heavy ^ veh_type3 ;
36484: LD_ADDR_EXP 3
36488: PUSH
36489: LD_EXP 3
36493: PUSH
36494: LD_VAR 0 5
36498: ADD
36499: ST_TO_ADDR
// until Group_Heavy = 10 ;
36500: LD_EXP 3
36504: PUSH
36505: LD_INT 10
36507: EQUAL
36508: IFFALSE 36474
// end ; if ru_heavy_times = 2 then
36510: LD_EXP 28
36514: PUSH
36515: LD_INT 2
36517: EQUAL
36518: IFFALSE 36782
// begin vc_weapon = ru_heavy_gun ;
36520: LD_ADDR_OWVAR 40
36524: PUSH
36525: LD_INT 46
36527: ST_TO_ADDR
// repeat veh_type1 = createvehicle ;
36528: LD_ADDR_VAR 0 3
36532: PUSH
36533: CALL_OW 45
36537: ST_TO_ADDR
// Group_Heavy = Group_Heavy ^ veh_type1 ;
36538: LD_ADDR_EXP 3
36542: PUSH
36543: LD_EXP 3
36547: PUSH
36548: LD_VAR 0 3
36552: ADD
36553: ST_TO_ADDR
// until Group_Heavy = 6 ;
36554: LD_EXP 3
36558: PUSH
36559: LD_INT 6
36561: EQUAL
36562: IFFALSE 36528
// vc_weapon = ru_rocket ;
36564: LD_ADDR_OWVAR 40
36568: PUSH
36569: LD_INT 47
36571: ST_TO_ADDR
// repeat veh_type2 = createvehicle ;
36572: LD_ADDR_VAR 0 4
36576: PUSH
36577: CALL_OW 45
36581: ST_TO_ADDR
// Group_Heavy = Group_Heavy ^ veh_type2 ;
36582: LD_ADDR_EXP 3
36586: PUSH
36587: LD_EXP 3
36591: PUSH
36592: LD_VAR 0 4
36596: ADD
36597: ST_TO_ADDR
// until Group_Heavy = 9 ;
36598: LD_EXP 3
36602: PUSH
36603: LD_INT 9
36605: EQUAL
36606: IFFALSE 36572
// vc_weapon = ru_time_lapser ;
36608: LD_ADDR_OWVAR 40
36612: PUSH
36613: LD_INT 49
36615: ST_TO_ADDR
// repeat veh_type3 = createvehicle ;
36616: LD_ADDR_VAR 0 5
36620: PUSH
36621: CALL_OW 45
36625: ST_TO_ADDR
// Group_Heavy = Group_Heavy ^ veh_type3 ;
36626: LD_ADDR_EXP 3
36630: PUSH
36631: LD_EXP 3
36635: PUSH
36636: LD_VAR 0 5
36640: ADD
36641: ST_TO_ADDR
// until Group_Heavy = 11 ;
36642: LD_EXP 3
36646: PUSH
36647: LD_INT 11
36649: EQUAL
36650: IFFALSE 36616
// hc_class = class_bazooker ;
36652: LD_ADDR_OWVAR 28
36656: PUSH
36657: LD_INT 9
36659: ST_TO_ADDR
// hc_attr = [ 10 , 10 ] ;
36660: LD_ADDR_OWVAR 29
36664: PUSH
36665: LD_INT 10
36667: PUSH
36668: LD_INT 10
36670: PUSH
36671: EMPTY
36672: LIST
36673: LIST
36674: ST_TO_ADDR
// repeat hc_skills = [ rand ( 7 , 10 ) , rand ( 4 , 7 ) , rand ( 4 , 7 ) , rand ( 4 , 7 ) ] ;
36675: LD_ADDR_OWVAR 31
36679: PUSH
36680: LD_INT 7
36682: PPUSH
36683: LD_INT 10
36685: PPUSH
36686: CALL_OW 12
36690: PUSH
36691: LD_INT 4
36693: PPUSH
36694: LD_INT 7
36696: PPUSH
36697: CALL_OW 12
36701: PUSH
36702: LD_INT 4
36704: PPUSH
36705: LD_INT 7
36707: PPUSH
36708: CALL_OW 12
36712: PUSH
36713: LD_INT 4
36715: PPUSH
36716: LD_INT 7
36718: PPUSH
36719: CALL_OW 12
36723: PUSH
36724: EMPTY
36725: LIST
36726: LIST
36727: LIST
36728: LIST
36729: ST_TO_ADDR
// hc_sex = rand ( 1 , 2 ) ;
36730: LD_ADDR_OWVAR 27
36734: PUSH
36735: LD_INT 1
36737: PPUSH
36738: LD_INT 2
36740: PPUSH
36741: CALL_OW 12
36745: ST_TO_ADDR
// sol_1 = createhuman ;
36746: LD_ADDR_VAR 0 15
36750: PUSH
36751: CALL_OW 44
36755: ST_TO_ADDR
// Group_Heavy = Group_Heavy ^ sol_1 ;
36756: LD_ADDR_EXP 3
36760: PUSH
36761: LD_EXP 3
36765: PUSH
36766: LD_VAR 0 15
36770: ADD
36771: ST_TO_ADDR
// until Group_Heavy = 13 ;
36772: LD_EXP 3
36776: PUSH
36777: LD_INT 13
36779: EQUAL
36780: IFFALSE 36675
// end ; if ru_heavy_times = 1 or ru_heavy_times = 0 then
36782: LD_EXP 28
36786: PUSH
36787: LD_INT 1
36789: EQUAL
36790: PUSH
36791: LD_EXP 28
36795: PUSH
36796: LD_INT 0
36798: EQUAL
36799: OR
36800: IFFALSE 37131
// begin vc_weapon = ru_heavy_gun ;
36802: LD_ADDR_OWVAR 40
36806: PUSH
36807: LD_INT 46
36809: ST_TO_ADDR
// for i = 1 to 6 do
36810: LD_ADDR_VAR 0 20
36814: PUSH
36815: DOUBLE
36816: LD_INT 1
36818: DEC
36819: ST_TO_ADDR
36820: LD_INT 6
36822: PUSH
36823: FOR_TO
36824: IFFALSE 36854
// begin veh_type1 = createvehicle ;
36826: LD_ADDR_VAR 0 3
36830: PUSH
36831: CALL_OW 45
36835: ST_TO_ADDR
// Group_Heavy = Group_Heavy ^ veh_type1 ;
36836: LD_ADDR_EXP 3
36840: PUSH
36841: LD_EXP 3
36845: PUSH
36846: LD_VAR 0 3
36850: ADD
36851: ST_TO_ADDR
// end ;
36852: GO 36823
36854: POP
36855: POP
// vc_weapon = ru_rocket ;
36856: LD_ADDR_OWVAR 40
36860: PUSH
36861: LD_INT 47
36863: ST_TO_ADDR
// for i = 1 to 4 do
36864: LD_ADDR_VAR 0 20
36868: PUSH
36869: DOUBLE
36870: LD_INT 1
36872: DEC
36873: ST_TO_ADDR
36874: LD_INT 4
36876: PUSH
36877: FOR_TO
36878: IFFALSE 36908
// begin veh_type2 = createvehicle ;
36880: LD_ADDR_VAR 0 4
36884: PUSH
36885: CALL_OW 45
36889: ST_TO_ADDR
// Group_Heavy = Group_Heavy ^ veh_type2 ;
36890: LD_ADDR_EXP 3
36894: PUSH
36895: LD_EXP 3
36899: PUSH
36900: LD_VAR 0 4
36904: ADD
36905: ST_TO_ADDR
// end ;
36906: GO 36877
36908: POP
36909: POP
// vc_weapon = ru_time_lapser ;
36910: LD_ADDR_OWVAR 40
36914: PUSH
36915: LD_INT 49
36917: ST_TO_ADDR
// if ru_limit = [ 0 , 1 , 2 ] [ difficulty ] then
36918: LD_EXP 29
36922: PUSH
36923: LD_INT 0
36925: PUSH
36926: LD_INT 1
36928: PUSH
36929: LD_INT 2
36931: PUSH
36932: EMPTY
36933: LIST
36934: LIST
36935: LIST
36936: PUSH
36937: LD_OWVAR 67
36941: ARRAY
36942: EQUAL
36943: IFFALSE 36991
// for i = 1 to 3 do
36945: LD_ADDR_VAR 0 20
36949: PUSH
36950: DOUBLE
36951: LD_INT 1
36953: DEC
36954: ST_TO_ADDR
36955: LD_INT 3
36957: PUSH
36958: FOR_TO
36959: IFFALSE 36989
// begin veh_type3 = createvehicle ;
36961: LD_ADDR_VAR 0 5
36965: PUSH
36966: CALL_OW 45
36970: ST_TO_ADDR
// Group_Heavy = Group_Heavy ^ veh_type3 ;
36971: LD_ADDR_EXP 3
36975: PUSH
36976: LD_EXP 3
36980: PUSH
36981: LD_VAR 0 5
36985: ADD
36986: ST_TO_ADDR
// end ;
36987: GO 36958
36989: POP
36990: POP
// hc_class = class_bazooker ;
36991: LD_ADDR_OWVAR 28
36995: PUSH
36996: LD_INT 9
36998: ST_TO_ADDR
// hc_attr = [ 10 , 10 ] ;
36999: LD_ADDR_OWVAR 29
37003: PUSH
37004: LD_INT 10
37006: PUSH
37007: LD_INT 10
37009: PUSH
37010: EMPTY
37011: LIST
37012: LIST
37013: ST_TO_ADDR
// for i = 1 to 3 do
37014: LD_ADDR_VAR 0 20
37018: PUSH
37019: DOUBLE
37020: LD_INT 1
37022: DEC
37023: ST_TO_ADDR
37024: LD_INT 3
37026: PUSH
37027: FOR_TO
37028: IFFALSE 37129
// begin hc_skills = [ rand ( 7 , 10 ) , rand ( 4 , 7 ) , rand ( 4 , 7 ) , rand ( 4 , 7 ) ] ;
37030: LD_ADDR_OWVAR 31
37034: PUSH
37035: LD_INT 7
37037: PPUSH
37038: LD_INT 10
37040: PPUSH
37041: CALL_OW 12
37045: PUSH
37046: LD_INT 4
37048: PPUSH
37049: LD_INT 7
37051: PPUSH
37052: CALL_OW 12
37056: PUSH
37057: LD_INT 4
37059: PPUSH
37060: LD_INT 7
37062: PPUSH
37063: CALL_OW 12
37067: PUSH
37068: LD_INT 4
37070: PPUSH
37071: LD_INT 7
37073: PPUSH
37074: CALL_OW 12
37078: PUSH
37079: EMPTY
37080: LIST
37081: LIST
37082: LIST
37083: LIST
37084: ST_TO_ADDR
// hc_sex = rand ( 1 , 2 ) ;
37085: LD_ADDR_OWVAR 27
37089: PUSH
37090: LD_INT 1
37092: PPUSH
37093: LD_INT 2
37095: PPUSH
37096: CALL_OW 12
37100: ST_TO_ADDR
// sol_1 = createhuman ;
37101: LD_ADDR_VAR 0 15
37105: PUSH
37106: CALL_OW 44
37110: ST_TO_ADDR
// Group_Heavy = Group_Heavy ^ sol_1 ;
37111: LD_ADDR_EXP 3
37115: PUSH
37116: LD_EXP 3
37120: PUSH
37121: LD_VAR 0 15
37125: ADD
37126: ST_TO_ADDR
// end ;
37127: GO 37027
37129: POP
37130: POP
// end ; result = Group_Heavy ;
37131: LD_ADDR_VAR 0 2
37135: PUSH
37136: LD_EXP 3
37140: ST_TO_ADDR
// end ; 2 :
37141: GO 43547
37143: LD_INT 2
37145: DOUBLE
37146: EQUAL
37147: IFTRUE 37151
37149: GO 37492
37151: POP
// begin uc_nation = nation_russian ;
37152: LD_ADDR_OWVAR 21
37156: PUSH
37157: LD_INT 3
37159: ST_TO_ADDR
// uc_side = 3 ;
37160: LD_ADDR_OWVAR 20
37164: PUSH
37165: LD_INT 3
37167: ST_TO_ADDR
// if magenta = 1 then
37168: LD_EXP 12
37172: PUSH
37173: LD_INT 1
37175: EQUAL
37176: IFFALSE 37186
// uc_side = 6 ;
37178: LD_ADDR_OWVAR 20
37182: PUSH
37183: LD_INT 6
37185: ST_TO_ADDR
// vc_control = control_computer ;
37186: LD_ADDR_OWVAR 38
37190: PUSH
37191: LD_INT 3
37193: ST_TO_ADDR
// vc_engine = engine_siberite ;
37194: LD_ADDR_OWVAR 39
37198: PUSH
37199: LD_INT 3
37201: ST_TO_ADDR
// if gamestage > 0 then
37202: LD_EXP 2
37206: PUSH
37207: LD_INT 0
37209: GREATER
37210: IFFALSE 37261
// n = [ rand ( 1 , 2 ) , rand ( 2 , 3 ) , rand ( 2 , 4 ) ] [ difficulty ] ;
37212: LD_ADDR_VAR 0 14
37216: PUSH
37217: LD_INT 1
37219: PPUSH
37220: LD_INT 2
37222: PPUSH
37223: CALL_OW 12
37227: PUSH
37228: LD_INT 2
37230: PPUSH
37231: LD_INT 3
37233: PPUSH
37234: CALL_OW 12
37238: PUSH
37239: LD_INT 2
37241: PPUSH
37242: LD_INT 4
37244: PPUSH
37245: CALL_OW 12
37249: PUSH
37250: EMPTY
37251: LIST
37252: LIST
37253: LIST
37254: PUSH
37255: LD_OWVAR 67
37259: ARRAY
37260: ST_TO_ADDR
// temp = [ ] ;
37261: LD_ADDR_VAR 0 9
37265: PUSH
37266: EMPTY
37267: ST_TO_ADDR
// for i = 1 to n do
37268: LD_ADDR_VAR 0 20
37272: PUSH
37273: DOUBLE
37274: LD_INT 1
37276: DEC
37277: ST_TO_ADDR
37278: LD_VAR 0 14
37282: PUSH
37283: FOR_TO
37284: IFFALSE 37376
// begin roll = rand ( 1 , 3 ) ;
37286: LD_ADDR_VAR 0 13
37290: PUSH
37291: LD_INT 1
37293: PPUSH
37294: LD_INT 3
37296: PPUSH
37297: CALL_OW 12
37301: ST_TO_ADDR
// if roll = 1 then
37302: LD_VAR 0 13
37306: PUSH
37307: LD_INT 1
37309: EQUAL
37310: IFFALSE 37326
// temp = temp ^ ru_heavy_machine_gun ;
37312: LD_ADDR_VAR 0 9
37316: PUSH
37317: LD_VAR 0 9
37321: PUSH
37322: LD_INT 42
37324: ADD
37325: ST_TO_ADDR
// if roll = 2 then
37326: LD_VAR 0 13
37330: PUSH
37331: LD_INT 2
37333: EQUAL
37334: IFFALSE 37350
// temp = temp ^ ru_gun ;
37336: LD_ADDR_VAR 0 9
37340: PUSH
37341: LD_VAR 0 9
37345: PUSH
37346: LD_INT 44
37348: ADD
37349: ST_TO_ADDR
// if roll = 3 then
37350: LD_VAR 0 13
37354: PUSH
37355: LD_INT 3
37357: EQUAL
37358: IFFALSE 37374
// temp = temp ^ ru_rocket_launcher ;
37360: LD_ADDR_VAR 0 9
37364: PUSH
37365: LD_VAR 0 9
37369: PUSH
37370: LD_INT 45
37372: ADD
37373: ST_TO_ADDR
// end ;
37374: GO 37283
37376: POP
37377: POP
// repeat vc_weapon = temp [ 1 ] ;
37378: LD_ADDR_OWVAR 40
37382: PUSH
37383: LD_VAR 0 9
37387: PUSH
37388: LD_INT 1
37390: ARRAY
37391: ST_TO_ADDR
// temp = delete ( temp , 1 ) ;
37392: LD_ADDR_VAR 0 9
37396: PUSH
37397: LD_VAR 0 9
37401: PPUSH
37402: LD_INT 1
37404: PPUSH
37405: CALL_OW 3
37409: ST_TO_ADDR
// if rand ( 1 , 2 ) = 1 then
37410: LD_INT 1
37412: PPUSH
37413: LD_INT 2
37415: PPUSH
37416: CALL_OW 12
37420: PUSH
37421: LD_INT 1
37423: EQUAL
37424: IFFALSE 37436
// vc_chassis = ru_medium_tracked else
37426: LD_ADDR_OWVAR 37
37430: PUSH
37431: LD_INT 22
37433: ST_TO_ADDR
37434: GO 37444
// vc_chassis = ru_medium_wheeled ;
37436: LD_ADDR_OWVAR 37
37440: PUSH
37441: LD_INT 21
37443: ST_TO_ADDR
// veh_type1 = createvehicle ;
37444: LD_ADDR_VAR 0 3
37448: PUSH
37449: CALL_OW 45
37453: ST_TO_ADDR
// Group_scout = Group_scout ^ veh_type1 ;
37454: LD_ADDR_EXP 6
37458: PUSH
37459: LD_EXP 6
37463: PUSH
37464: LD_VAR 0 3
37468: ADD
37469: ST_TO_ADDR
// until temp = 0 ;
37470: LD_VAR 0 9
37474: PUSH
37475: LD_INT 0
37477: EQUAL
37478: IFFALSE 37378
// result = Group_scout ;
37480: LD_ADDR_VAR 0 2
37484: PUSH
37485: LD_EXP 6
37489: ST_TO_ADDR
// end ; 3 :
37490: GO 43547
37492: LD_INT 3
37494: DOUBLE
37495: EQUAL
37496: IFTRUE 37500
37498: GO 38262
37500: POP
// begin uc_nation = nation_russian ;
37501: LD_ADDR_OWVAR 21
37505: PUSH
37506: LD_INT 3
37508: ST_TO_ADDR
// uc_side = 3 ;
37509: LD_ADDR_OWVAR 20
37513: PUSH
37514: LD_INT 3
37516: ST_TO_ADDR
// if magenta = 1 then
37517: LD_EXP 12
37521: PUSH
37522: LD_INT 1
37524: EQUAL
37525: IFFALSE 37535
// uc_side = 6 ;
37527: LD_ADDR_OWVAR 20
37531: PUSH
37532: LD_INT 6
37534: ST_TO_ADDR
// vc_control = control_computer ;
37535: LD_ADDR_OWVAR 38
37539: PUSH
37540: LD_INT 3
37542: ST_TO_ADDR
// vc_engine = engine_combustion ;
37543: LD_ADDR_OWVAR 39
37547: PUSH
37548: LD_INT 1
37550: ST_TO_ADDR
// if gamestage = 2 then
37551: LD_EXP 2
37555: PUSH
37556: LD_INT 2
37558: EQUAL
37559: IFFALSE 37768
// begin vc_weapon = ru_heavy_gun ;
37561: LD_ADDR_OWVAR 40
37565: PUSH
37566: LD_INT 46
37568: ST_TO_ADDR
// vc_chassis = ru_heavy_tracked ;
37569: LD_ADDR_OWVAR 37
37573: PUSH
37574: LD_INT 24
37576: ST_TO_ADDR
// repeat veh_type1 = createvehicle ;
37577: LD_ADDR_VAR 0 3
37581: PUSH
37582: CALL_OW 45
37586: ST_TO_ADDR
// Group_seek = Group_seek ^ veh_type1 ;
37587: LD_ADDR_EXP 4
37591: PUSH
37592: LD_EXP 4
37596: PUSH
37597: LD_VAR 0 3
37601: ADD
37602: ST_TO_ADDR
// until Group_seek = [ 1 , 2 , 2 ] [ difficulty ] ;
37603: LD_EXP 4
37607: PUSH
37608: LD_INT 1
37610: PUSH
37611: LD_INT 2
37613: PUSH
37614: LD_INT 2
37616: PUSH
37617: EMPTY
37618: LIST
37619: LIST
37620: LIST
37621: PUSH
37622: LD_OWVAR 67
37626: ARRAY
37627: EQUAL
37628: IFFALSE 37577
// vc_weapon = ru_rocket_launcher ;
37630: LD_ADDR_OWVAR 40
37634: PUSH
37635: LD_INT 45
37637: ST_TO_ADDR
// vc_chassis = ru_medium_tracked ;
37638: LD_ADDR_OWVAR 37
37642: PUSH
37643: LD_INT 22
37645: ST_TO_ADDR
// repeat veh_type2 = createvehicle ;
37646: LD_ADDR_VAR 0 4
37650: PUSH
37651: CALL_OW 45
37655: ST_TO_ADDR
// Group_seek = Group_seek ^ veh_type2 ;
37656: LD_ADDR_EXP 4
37660: PUSH
37661: LD_EXP 4
37665: PUSH
37666: LD_VAR 0 4
37670: ADD
37671: ST_TO_ADDR
// until Group_seek = [ 2 , 4 , 4 ] [ difficulty ] ;
37672: LD_EXP 4
37676: PUSH
37677: LD_INT 2
37679: PUSH
37680: LD_INT 4
37682: PUSH
37683: LD_INT 4
37685: PUSH
37686: EMPTY
37687: LIST
37688: LIST
37689: LIST
37690: PUSH
37691: LD_OWVAR 67
37695: ARRAY
37696: EQUAL
37697: IFFALSE 37646
// vc_weapon = ru_gun ;
37699: LD_ADDR_OWVAR 40
37703: PUSH
37704: LD_INT 44
37706: ST_TO_ADDR
// vc_chassis = ru_medium_tracked ;
37707: LD_ADDR_OWVAR 37
37711: PUSH
37712: LD_INT 22
37714: ST_TO_ADDR
// repeat veh_type3 = createvehicle ;
37715: LD_ADDR_VAR 0 5
37719: PUSH
37720: CALL_OW 45
37724: ST_TO_ADDR
// Group_seek = Group_seek ^ veh_type3 ;
37725: LD_ADDR_EXP 4
37729: PUSH
37730: LD_EXP 4
37734: PUSH
37735: LD_VAR 0 5
37739: ADD
37740: ST_TO_ADDR
// until Group_seek = [ 3 , 6 , 6 ] [ difficulty ] ;
37741: LD_EXP 4
37745: PUSH
37746: LD_INT 3
37748: PUSH
37749: LD_INT 6
37751: PUSH
37752: LD_INT 6
37754: PUSH
37755: EMPTY
37756: LIST
37757: LIST
37758: LIST
37759: PUSH
37760: LD_OWVAR 67
37764: ARRAY
37765: EQUAL
37766: IFFALSE 37715
// end ; if gamestage = 3 or gamestage = 4 then
37768: LD_EXP 2
37772: PUSH
37773: LD_INT 3
37775: EQUAL
37776: PUSH
37777: LD_EXP 2
37781: PUSH
37782: LD_INT 4
37784: EQUAL
37785: OR
37786: IFFALSE 38250
// begin vc_weapon = ru_heavy_gun ;
37788: LD_ADDR_OWVAR 40
37792: PUSH
37793: LD_INT 46
37795: ST_TO_ADDR
// vc_chassis = ru_heavy_tracked ;
37796: LD_ADDR_OWVAR 37
37800: PUSH
37801: LD_INT 24
37803: ST_TO_ADDR
// repeat veh_type1 = createvehicle ;
37804: LD_ADDR_VAR 0 3
37808: PUSH
37809: CALL_OW 45
37813: ST_TO_ADDR
// Group_seek = Group_seek ^ veh_type1 ;
37814: LD_ADDR_EXP 4
37818: PUSH
37819: LD_EXP 4
37823: PUSH
37824: LD_VAR 0 3
37828: ADD
37829: ST_TO_ADDR
// until Group_seek = 2 ;
37830: LD_EXP 4
37834: PUSH
37835: LD_INT 2
37837: EQUAL
37838: IFFALSE 37804
// vc_weapon = ru_rocket_launcher ;
37840: LD_ADDR_OWVAR 40
37844: PUSH
37845: LD_INT 45
37847: ST_TO_ADDR
// vc_chassis = ru_medium_tracked ;
37848: LD_ADDR_OWVAR 37
37852: PUSH
37853: LD_INT 22
37855: ST_TO_ADDR
// repeat veh_type2 = createvehicle ;
37856: LD_ADDR_VAR 0 4
37860: PUSH
37861: CALL_OW 45
37865: ST_TO_ADDR
// Group_seek = Group_seek ^ veh_type2 ;
37866: LD_ADDR_EXP 4
37870: PUSH
37871: LD_EXP 4
37875: PUSH
37876: LD_VAR 0 4
37880: ADD
37881: ST_TO_ADDR
// until Group_seek = 4 ;
37882: LD_EXP 4
37886: PUSH
37887: LD_INT 4
37889: EQUAL
37890: IFFALSE 37856
// vc_weapon = ru_gun ;
37892: LD_ADDR_OWVAR 40
37896: PUSH
37897: LD_INT 44
37899: ST_TO_ADDR
// vc_chassis = ru_medium_tracked ;
37900: LD_ADDR_OWVAR 37
37904: PUSH
37905: LD_INT 22
37907: ST_TO_ADDR
// repeat veh_type3 = createvehicle ;
37908: LD_ADDR_VAR 0 5
37912: PUSH
37913: CALL_OW 45
37917: ST_TO_ADDR
// Group_seek = Group_seek ^ veh_type3 ;
37918: LD_ADDR_EXP 4
37922: PUSH
37923: LD_EXP 4
37927: PUSH
37928: LD_VAR 0 5
37932: ADD
37933: ST_TO_ADDR
// until Group_seek = 6 ;
37934: LD_EXP 4
37938: PUSH
37939: LD_INT 6
37941: EQUAL
37942: IFFALSE 37908
// roll = [ 1 , rand ( 1 , 2 ) , rand ( 1 , 3 ) ] [ difficulty ] ;
37944: LD_ADDR_VAR 0 13
37948: PUSH
37949: LD_INT 1
37951: PUSH
37952: LD_INT 1
37954: PPUSH
37955: LD_INT 2
37957: PPUSH
37958: CALL_OW 12
37962: PUSH
37963: LD_INT 1
37965: PPUSH
37966: LD_INT 3
37968: PPUSH
37969: CALL_OW 12
37973: PUSH
37974: EMPTY
37975: LIST
37976: LIST
37977: LIST
37978: PUSH
37979: LD_OWVAR 67
37983: ARRAY
37984: ST_TO_ADDR
// temp = [ ] ;
37985: LD_ADDR_VAR 0 9
37989: PUSH
37990: EMPTY
37991: ST_TO_ADDR
// hc_class = class_bazooker ;
37992: LD_ADDR_OWVAR 28
37996: PUSH
37997: LD_INT 9
37999: ST_TO_ADDR
// for i = 1 to roll do
38000: LD_ADDR_VAR 0 20
38004: PUSH
38005: DOUBLE
38006: LD_INT 1
38008: DEC
38009: ST_TO_ADDR
38010: LD_VAR 0 13
38014: PUSH
38015: FOR_TO
38016: IFFALSE 38117
// begin hc_sex = rand ( 1 , 2 ) ;
38018: LD_ADDR_OWVAR 27
38022: PUSH
38023: LD_INT 1
38025: PPUSH
38026: LD_INT 2
38028: PPUSH
38029: CALL_OW 12
38033: ST_TO_ADDR
// hc_skills = [ rand ( 7 , 10 ) , rand ( 2 , 8 ) , rand ( 2 , 8 ) , rand ( 2 , 8 ) ] ;
38034: LD_ADDR_OWVAR 31
38038: PUSH
38039: LD_INT 7
38041: PPUSH
38042: LD_INT 10
38044: PPUSH
38045: CALL_OW 12
38049: PUSH
38050: LD_INT 2
38052: PPUSH
38053: LD_INT 8
38055: PPUSH
38056: CALL_OW 12
38060: PUSH
38061: LD_INT 2
38063: PPUSH
38064: LD_INT 8
38066: PPUSH
38067: CALL_OW 12
38071: PUSH
38072: LD_INT 2
38074: PPUSH
38075: LD_INT 8
38077: PPUSH
38078: CALL_OW 12
38082: PUSH
38083: EMPTY
38084: LIST
38085: LIST
38086: LIST
38087: LIST
38088: ST_TO_ADDR
// sol_1 = createhuman ;
38089: LD_ADDR_VAR 0 15
38093: PUSH
38094: CALL_OW 44
38098: ST_TO_ADDR
// temp = temp ^ sol_1 ;
38099: LD_ADDR_VAR 0 9
38103: PUSH
38104: LD_VAR 0 9
38108: PUSH
38109: LD_VAR 0 15
38113: ADD
38114: ST_TO_ADDR
// end ;
38115: GO 38015
38117: POP
38118: POP
// Group_seek = Group_seek ^ temp ;
38119: LD_ADDR_EXP 4
38123: PUSH
38124: LD_EXP 4
38128: PUSH
38129: LD_VAR 0 9
38133: ADD
38134: ST_TO_ADDR
// vc_control = control_manual ;
38135: LD_ADDR_OWVAR 38
38139: PUSH
38140: LD_INT 1
38142: ST_TO_ADDR
// vc_weapon = ru_heavy_machine_gun ;
38143: LD_ADDR_OWVAR 40
38147: PUSH
38148: LD_INT 42
38150: ST_TO_ADDR
// vc_chassis = ru_medium_wheeled ;
38151: LD_ADDR_OWVAR 37
38155: PUSH
38156: LD_INT 21
38158: ST_TO_ADDR
// for i = 1 to roll do
38159: LD_ADDR_VAR 0 20
38163: PUSH
38164: DOUBLE
38165: LD_INT 1
38167: DEC
38168: ST_TO_ADDR
38169: LD_VAR 0 13
38173: PUSH
38174: FOR_TO
38175: IFFALSE 38248
// begin veh_type4 = createvehicle ;
38177: LD_ADDR_VAR 0 6
38181: PUSH
38182: CALL_OW 45
38186: ST_TO_ADDR
// Group_seek = Group_seek ^ veh_type4 ;
38187: LD_ADDR_EXP 4
38191: PUSH
38192: LD_EXP 4
38196: PUSH
38197: LD_VAR 0 6
38201: ADD
38202: ST_TO_ADDR
// for j in temp do
38203: LD_ADDR_VAR 0 21
38207: PUSH
38208: LD_VAR 0 9
38212: PUSH
38213: FOR_IN
38214: IFFALSE 38244
// if not isinunit ( j ) then
38216: LD_VAR 0 21
38220: PPUSH
38221: CALL_OW 310
38225: NOT
38226: IFFALSE 38242
// placehumaninunit ( j , veh_type4 ) ;
38228: LD_VAR 0 21
38232: PPUSH
38233: LD_VAR 0 6
38237: PPUSH
38238: CALL_OW 52
38242: GO 38213
38244: POP
38245: POP
// end ;
38246: GO 38174
38248: POP
38249: POP
// end ; result = Group_seek ;
38250: LD_ADDR_VAR 0 2
38254: PUSH
38255: LD_EXP 4
38259: ST_TO_ADDR
// end ; 4 :
38260: GO 43547
38262: LD_INT 4
38264: DOUBLE
38265: EQUAL
38266: IFTRUE 38270
38268: GO 39533
38270: POP
// begin uc_nation = nation_russian ;
38271: LD_ADDR_OWVAR 21
38275: PUSH
38276: LD_INT 3
38278: ST_TO_ADDR
// uc_side = 3 ;
38279: LD_ADDR_OWVAR 20
38283: PUSH
38284: LD_INT 3
38286: ST_TO_ADDR
// if magenta = 1 then
38287: LD_EXP 12
38291: PUSH
38292: LD_INT 1
38294: EQUAL
38295: IFFALSE 38305
// uc_side = 6 ;
38297: LD_ADDR_OWVAR 20
38301: PUSH
38302: LD_INT 6
38304: ST_TO_ADDR
// vc_control = control_computer ;
38305: LD_ADDR_OWVAR 38
38309: PUSH
38310: LD_INT 3
38312: ST_TO_ADDR
// vc_engine = engine_combustion ;
38313: LD_ADDR_OWVAR 39
38317: PUSH
38318: LD_INT 1
38320: ST_TO_ADDR
// vc_chassis = ru_medium_tracked ;
38321: LD_ADDR_OWVAR 37
38325: PUSH
38326: LD_INT 22
38328: ST_TO_ADDR
// hc_class = class_soldier ;
38329: LD_ADDR_OWVAR 28
38333: PUSH
38334: LD_INT 1
38336: ST_TO_ADDR
// hc_attr = [ 10 , 10 ] ;
38337: LD_ADDR_OWVAR 29
38341: PUSH
38342: LD_INT 10
38344: PUSH
38345: LD_INT 10
38347: PUSH
38348: EMPTY
38349: LIST
38350: LIST
38351: ST_TO_ADDR
// if gamestage < 3 then
38352: LD_EXP 2
38356: PUSH
38357: LD_INT 3
38359: LESS
38360: IFFALSE 38970
// begin if rand ( 1 , 3 ) > 1 then
38362: LD_INT 1
38364: PPUSH
38365: LD_INT 3
38367: PPUSH
38368: CALL_OW 12
38372: PUSH
38373: LD_INT 1
38375: GREATER
38376: IFFALSE 38603
// begin if gamestage = 1 then
38378: LD_EXP 2
38382: PUSH
38383: LD_INT 1
38385: EQUAL
38386: IFFALSE 38404
// n = rand ( 1 , 3 ) ;
38388: LD_ADDR_VAR 0 14
38392: PUSH
38393: LD_INT 1
38395: PPUSH
38396: LD_INT 3
38398: PPUSH
38399: CALL_OW 12
38403: ST_TO_ADDR
// if gamestage = 2 then
38404: LD_EXP 2
38408: PUSH
38409: LD_INT 2
38411: EQUAL
38412: IFFALSE 38463
// n = [ rand ( 2 , 4 ) , rand ( 2 , 4 ) , rand ( 2 , 5 ) ] [ difficulty ] ;
38414: LD_ADDR_VAR 0 14
38418: PUSH
38419: LD_INT 2
38421: PPUSH
38422: LD_INT 4
38424: PPUSH
38425: CALL_OW 12
38429: PUSH
38430: LD_INT 2
38432: PPUSH
38433: LD_INT 4
38435: PPUSH
38436: CALL_OW 12
38440: PUSH
38441: LD_INT 2
38443: PPUSH
38444: LD_INT 5
38446: PPUSH
38447: CALL_OW 12
38451: PUSH
38452: EMPTY
38453: LIST
38454: LIST
38455: LIST
38456: PUSH
38457: LD_OWVAR 67
38461: ARRAY
38462: ST_TO_ADDR
// repeat roll = rand ( 1 , 6 ) ;
38463: LD_ADDR_VAR 0 13
38467: PUSH
38468: LD_INT 1
38470: PPUSH
38471: LD_INT 6
38473: PPUSH
38474: CALL_OW 12
38478: ST_TO_ADDR
// if roll = 1 or roll = 2 or roll = 3 then
38479: LD_VAR 0 13
38483: PUSH
38484: LD_INT 1
38486: EQUAL
38487: PUSH
38488: LD_VAR 0 13
38492: PUSH
38493: LD_INT 2
38495: EQUAL
38496: OR
38497: PUSH
38498: LD_VAR 0 13
38502: PUSH
38503: LD_INT 3
38505: EQUAL
38506: OR
38507: IFFALSE 38517
// vc_weapon = ru_gatling_gun ;
38509: LD_ADDR_OWVAR 40
38513: PUSH
38514: LD_INT 43
38516: ST_TO_ADDR
// if roll = 4 or roll = 5 then
38517: LD_VAR 0 13
38521: PUSH
38522: LD_INT 4
38524: EQUAL
38525: PUSH
38526: LD_VAR 0 13
38530: PUSH
38531: LD_INT 5
38533: EQUAL
38534: OR
38535: IFFALSE 38545
// vc_weapon = ru_rocket_launcher ;
38537: LD_ADDR_OWVAR 40
38541: PUSH
38542: LD_INT 45
38544: ST_TO_ADDR
// if roll = 6 then
38545: LD_VAR 0 13
38549: PUSH
38550: LD_INT 6
38552: EQUAL
38553: IFFALSE 38563
// vc_weapon = ru_gun ;
38555: LD_ADDR_OWVAR 40
38559: PUSH
38560: LD_INT 44
38562: ST_TO_ADDR
// veh_type1 = createvehicle ;
38563: LD_ADDR_VAR 0 3
38567: PUSH
38568: CALL_OW 45
38572: ST_TO_ADDR
// Group_hunt = Group_hunt ^ veh_type1 ;
38573: LD_ADDR_EXP 5
38577: PUSH
38578: LD_EXP 5
38582: PUSH
38583: LD_VAR 0 3
38587: ADD
38588: ST_TO_ADDR
// until Group_hunt = n ;
38589: LD_EXP 5
38593: PUSH
38594: LD_VAR 0 14
38598: EQUAL
38599: IFFALSE 38463
// end else
38601: GO 38968
// begin if gamestage = 1 then
38603: LD_EXP 2
38607: PUSH
38608: LD_INT 1
38610: EQUAL
38611: IFFALSE 38629
// n = rand ( 2 , 3 ) ;
38613: LD_ADDR_VAR 0 14
38617: PUSH
38618: LD_INT 2
38620: PPUSH
38621: LD_INT 3
38623: PPUSH
38624: CALL_OW 12
38628: ST_TO_ADDR
// if gamestage = 2 then
38629: LD_EXP 2
38633: PUSH
38634: LD_INT 2
38636: EQUAL
38637: IFFALSE 38655
// n = rand ( 3 , 4 ) ;
38639: LD_ADDR_VAR 0 14
38643: PUSH
38644: LD_INT 3
38646: PPUSH
38647: LD_INT 4
38649: PPUSH
38650: CALL_OW 12
38654: ST_TO_ADDR
// repeat hc_sex = rand ( 1 , 2 ) ;
38655: LD_ADDR_OWVAR 27
38659: PUSH
38660: LD_INT 1
38662: PPUSH
38663: LD_INT 2
38665: PPUSH
38666: CALL_OW 12
38670: ST_TO_ADDR
// if difficulty = 1 then
38671: LD_OWVAR 67
38675: PUSH
38676: LD_INT 1
38678: EQUAL
38679: IFFALSE 38728
// hc_skills = [ 6 , rand ( 2 , 4 ) , rand ( 2 , 4 ) , rand ( 2 , 4 ) ] ;
38681: LD_ADDR_OWVAR 31
38685: PUSH
38686: LD_INT 6
38688: PUSH
38689: LD_INT 2
38691: PPUSH
38692: LD_INT 4
38694: PPUSH
38695: CALL_OW 12
38699: PUSH
38700: LD_INT 2
38702: PPUSH
38703: LD_INT 4
38705: PPUSH
38706: CALL_OW 12
38710: PUSH
38711: LD_INT 2
38713: PPUSH
38714: LD_INT 4
38716: PPUSH
38717: CALL_OW 12
38721: PUSH
38722: EMPTY
38723: LIST
38724: LIST
38725: LIST
38726: LIST
38727: ST_TO_ADDR
// if difficulty = 2 then
38728: LD_OWVAR 67
38732: PUSH
38733: LD_INT 2
38735: EQUAL
38736: IFFALSE 38793
// hc_skills = [ rand ( 6 , 8 ) , rand ( 2 , 6 ) , rand ( 2 , 6 ) , rand ( 2 , 6 ) ] ;
38738: LD_ADDR_OWVAR 31
38742: PUSH
38743: LD_INT 6
38745: PPUSH
38746: LD_INT 8
38748: PPUSH
38749: CALL_OW 12
38753: PUSH
38754: LD_INT 2
38756: PPUSH
38757: LD_INT 6
38759: PPUSH
38760: CALL_OW 12
38764: PUSH
38765: LD_INT 2
38767: PPUSH
38768: LD_INT 6
38770: PPUSH
38771: CALL_OW 12
38775: PUSH
38776: LD_INT 2
38778: PPUSH
38779: LD_INT 6
38781: PPUSH
38782: CALL_OW 12
38786: PUSH
38787: EMPTY
38788: LIST
38789: LIST
38790: LIST
38791: LIST
38792: ST_TO_ADDR
// if difficulty = 3 then
38793: LD_OWVAR 67
38797: PUSH
38798: LD_INT 3
38800: EQUAL
38801: IFFALSE 38858
// hc_skills = [ rand ( 6 , 9 ) , rand ( 2 , 6 ) , rand ( 2 , 6 ) , rand ( 2 , 6 ) ] ;
38803: LD_ADDR_OWVAR 31
38807: PUSH
38808: LD_INT 6
38810: PPUSH
38811: LD_INT 9
38813: PPUSH
38814: CALL_OW 12
38818: PUSH
38819: LD_INT 2
38821: PPUSH
38822: LD_INT 6
38824: PPUSH
38825: CALL_OW 12
38829: PUSH
38830: LD_INT 2
38832: PPUSH
38833: LD_INT 6
38835: PPUSH
38836: CALL_OW 12
38840: PUSH
38841: LD_INT 2
38843: PPUSH
38844: LD_INT 6
38846: PPUSH
38847: CALL_OW 12
38851: PUSH
38852: EMPTY
38853: LIST
38854: LIST
38855: LIST
38856: LIST
38857: ST_TO_ADDR
// if magenta = 1 then
38858: LD_EXP 12
38862: PUSH
38863: LD_INT 1
38865: EQUAL
38866: IFFALSE 38930
// begin hc_skills = [ 10 , rand ( 5 , 8 ) , rand ( 5 , 8 ) , rand ( 5 , 8 ) ] ;
38868: LD_ADDR_OWVAR 31
38872: PUSH
38873: LD_INT 10
38875: PUSH
38876: LD_INT 5
38878: PPUSH
38879: LD_INT 8
38881: PPUSH
38882: CALL_OW 12
38886: PUSH
38887: LD_INT 5
38889: PPUSH
38890: LD_INT 8
38892: PPUSH
38893: CALL_OW 12
38897: PUSH
38898: LD_INT 5
38900: PPUSH
38901: LD_INT 8
38903: PPUSH
38904: CALL_OW 12
38908: PUSH
38909: EMPTY
38910: LIST
38911: LIST
38912: LIST
38913: LIST
38914: ST_TO_ADDR
// hc_attr = [ 11 , 11 ] ;
38915: LD_ADDR_OWVAR 29
38919: PUSH
38920: LD_INT 11
38922: PUSH
38923: LD_INT 11
38925: PUSH
38926: EMPTY
38927: LIST
38928: LIST
38929: ST_TO_ADDR
// end ; sol_1 = createhuman ;
38930: LD_ADDR_VAR 0 15
38934: PUSH
38935: CALL_OW 44
38939: ST_TO_ADDR
// Group_hunt = Group_hunt ^ sol_1 ;
38940: LD_ADDR_EXP 5
38944: PUSH
38945: LD_EXP 5
38949: PUSH
38950: LD_VAR 0 15
38954: ADD
38955: ST_TO_ADDR
// until Group_hunt = n ;
38956: LD_EXP 5
38960: PUSH
38961: LD_VAR 0 14
38965: EQUAL
38966: IFFALSE 38655
// end ; end else
38968: GO 39521
// begin if rand ( 1 , 8 ) > 1 then
38970: LD_INT 1
38972: PPUSH
38973: LD_INT 8
38975: PPUSH
38976: CALL_OW 12
38980: PUSH
38981: LD_INT 1
38983: GREATER
38984: IFFALSE 39175
// begin n = [ rand ( 4 , 5 ) , rand ( 4 , 5 ) , rand ( 4 , 6 ) ] [ difficulty ] ;
38986: LD_ADDR_VAR 0 14
38990: PUSH
38991: LD_INT 4
38993: PPUSH
38994: LD_INT 5
38996: PPUSH
38997: CALL_OW 12
39001: PUSH
39002: LD_INT 4
39004: PPUSH
39005: LD_INT 5
39007: PPUSH
39008: CALL_OW 12
39012: PUSH
39013: LD_INT 4
39015: PPUSH
39016: LD_INT 6
39018: PPUSH
39019: CALL_OW 12
39023: PUSH
39024: EMPTY
39025: LIST
39026: LIST
39027: LIST
39028: PUSH
39029: LD_OWVAR 67
39033: ARRAY
39034: ST_TO_ADDR
// repeat roll = rand ( 1 , 6 ) ;
39035: LD_ADDR_VAR 0 13
39039: PUSH
39040: LD_INT 1
39042: PPUSH
39043: LD_INT 6
39045: PPUSH
39046: CALL_OW 12
39050: ST_TO_ADDR
// if roll = 1 or roll = 2 or roll = 3 then
39051: LD_VAR 0 13
39055: PUSH
39056: LD_INT 1
39058: EQUAL
39059: PUSH
39060: LD_VAR 0 13
39064: PUSH
39065: LD_INT 2
39067: EQUAL
39068: OR
39069: PUSH
39070: LD_VAR 0 13
39074: PUSH
39075: LD_INT 3
39077: EQUAL
39078: OR
39079: IFFALSE 39089
// vc_weapon = ru_gun ;
39081: LD_ADDR_OWVAR 40
39085: PUSH
39086: LD_INT 44
39088: ST_TO_ADDR
// if roll = 4 or roll = 5 then
39089: LD_VAR 0 13
39093: PUSH
39094: LD_INT 4
39096: EQUAL
39097: PUSH
39098: LD_VAR 0 13
39102: PUSH
39103: LD_INT 5
39105: EQUAL
39106: OR
39107: IFFALSE 39117
// vc_weapon = ru_rocket_launcher ;
39109: LD_ADDR_OWVAR 40
39113: PUSH
39114: LD_INT 45
39116: ST_TO_ADDR
// if roll = 6 then
39117: LD_VAR 0 13
39121: PUSH
39122: LD_INT 6
39124: EQUAL
39125: IFFALSE 39135
// vc_weapon = ru_gatling_gun ;
39127: LD_ADDR_OWVAR 40
39131: PUSH
39132: LD_INT 43
39134: ST_TO_ADDR
// veh_type1 = createvehicle ;
39135: LD_ADDR_VAR 0 3
39139: PUSH
39140: CALL_OW 45
39144: ST_TO_ADDR
// Group_hunt = Group_hunt ^ veh_type1 ;
39145: LD_ADDR_EXP 5
39149: PUSH
39150: LD_EXP 5
39154: PUSH
39155: LD_VAR 0 3
39159: ADD
39160: ST_TO_ADDR
// until Group_hunt = n ;
39161: LD_EXP 5
39165: PUSH
39166: LD_VAR 0 14
39170: EQUAL
39171: IFFALSE 39035
// end else
39173: GO 39521
// begin n = [ rand ( 3 , 4 ) , rand ( 3 , 4 ) , rand ( 4 , 5 ) ] [ difficulty ] ;
39175: LD_ADDR_VAR 0 14
39179: PUSH
39180: LD_INT 3
39182: PPUSH
39183: LD_INT 4
39185: PPUSH
39186: CALL_OW 12
39190: PUSH
39191: LD_INT 3
39193: PPUSH
39194: LD_INT 4
39196: PPUSH
39197: CALL_OW 12
39201: PUSH
39202: LD_INT 4
39204: PPUSH
39205: LD_INT 5
39207: PPUSH
39208: CALL_OW 12
39212: PUSH
39213: EMPTY
39214: LIST
39215: LIST
39216: LIST
39217: PUSH
39218: LD_OWVAR 67
39222: ARRAY
39223: ST_TO_ADDR
// repeat hc_sex = rand ( 1 , 2 ) ;
39224: LD_ADDR_OWVAR 27
39228: PUSH
39229: LD_INT 1
39231: PPUSH
39232: LD_INT 2
39234: PPUSH
39235: CALL_OW 12
39239: ST_TO_ADDR
// if difficulty = 1 then
39240: LD_OWVAR 67
39244: PUSH
39245: LD_INT 1
39247: EQUAL
39248: IFFALSE 39297
// hc_skills = [ 7 , rand ( 2 , 6 ) , rand ( 2 , 6 ) , rand ( 2 , 6 ) ] ;
39250: LD_ADDR_OWVAR 31
39254: PUSH
39255: LD_INT 7
39257: PUSH
39258: LD_INT 2
39260: PPUSH
39261: LD_INT 6
39263: PPUSH
39264: CALL_OW 12
39268: PUSH
39269: LD_INT 2
39271: PPUSH
39272: LD_INT 6
39274: PPUSH
39275: CALL_OW 12
39279: PUSH
39280: LD_INT 2
39282: PPUSH
39283: LD_INT 6
39285: PPUSH
39286: CALL_OW 12
39290: PUSH
39291: EMPTY
39292: LIST
39293: LIST
39294: LIST
39295: LIST
39296: ST_TO_ADDR
// if difficulty = 2 then
39297: LD_OWVAR 67
39301: PUSH
39302: LD_INT 2
39304: EQUAL
39305: IFFALSE 39354
// hc_skills = [ 7 , rand ( 2 , 6 ) , rand ( 2 , 6 ) , rand ( 2 , 6 ) ] ;
39307: LD_ADDR_OWVAR 31
39311: PUSH
39312: LD_INT 7
39314: PUSH
39315: LD_INT 2
39317: PPUSH
39318: LD_INT 6
39320: PPUSH
39321: CALL_OW 12
39325: PUSH
39326: LD_INT 2
39328: PPUSH
39329: LD_INT 6
39331: PPUSH
39332: CALL_OW 12
39336: PUSH
39337: LD_INT 2
39339: PPUSH
39340: LD_INT 6
39342: PPUSH
39343: CALL_OW 12
39347: PUSH
39348: EMPTY
39349: LIST
39350: LIST
39351: LIST
39352: LIST
39353: ST_TO_ADDR
// if difficulty = 3 then
39354: LD_OWVAR 67
39358: PUSH
39359: LD_INT 3
39361: EQUAL
39362: IFFALSE 39411
// hc_skills = [ 7 , rand ( 2 , 6 ) , rand ( 2 , 6 ) , rand ( 2 , 6 ) ] ;
39364: LD_ADDR_OWVAR 31
39368: PUSH
39369: LD_INT 7
39371: PUSH
39372: LD_INT 2
39374: PPUSH
39375: LD_INT 6
39377: PPUSH
39378: CALL_OW 12
39382: PUSH
39383: LD_INT 2
39385: PPUSH
39386: LD_INT 6
39388: PPUSH
39389: CALL_OW 12
39393: PUSH
39394: LD_INT 2
39396: PPUSH
39397: LD_INT 6
39399: PPUSH
39400: CALL_OW 12
39404: PUSH
39405: EMPTY
39406: LIST
39407: LIST
39408: LIST
39409: LIST
39410: ST_TO_ADDR
// if magenta = 1 then
39411: LD_EXP 12
39415: PUSH
39416: LD_INT 1
39418: EQUAL
39419: IFFALSE 39483
// begin hc_skills = [ 10 , rand ( 5 , 8 ) , rand ( 5 , 8 ) , rand ( 5 , 8 ) ] ;
39421: LD_ADDR_OWVAR 31
39425: PUSH
39426: LD_INT 10
39428: PUSH
39429: LD_INT 5
39431: PPUSH
39432: LD_INT 8
39434: PPUSH
39435: CALL_OW 12
39439: PUSH
39440: LD_INT 5
39442: PPUSH
39443: LD_INT 8
39445: PPUSH
39446: CALL_OW 12
39450: PUSH
39451: LD_INT 5
39453: PPUSH
39454: LD_INT 8
39456: PPUSH
39457: CALL_OW 12
39461: PUSH
39462: EMPTY
39463: LIST
39464: LIST
39465: LIST
39466: LIST
39467: ST_TO_ADDR
// hc_attr = [ 11 , 11 ] ;
39468: LD_ADDR_OWVAR 29
39472: PUSH
39473: LD_INT 11
39475: PUSH
39476: LD_INT 11
39478: PUSH
39479: EMPTY
39480: LIST
39481: LIST
39482: ST_TO_ADDR
// end ; sol_1 = createhuman ;
39483: LD_ADDR_VAR 0 15
39487: PUSH
39488: CALL_OW 44
39492: ST_TO_ADDR
// Group_hunt = Group_hunt ^ sol_1 ;
39493: LD_ADDR_EXP 5
39497: PUSH
39498: LD_EXP 5
39502: PUSH
39503: LD_VAR 0 15
39507: ADD
39508: ST_TO_ADDR
// until Group_hunt = n ;
39509: LD_EXP 5
39513: PUSH
39514: LD_VAR 0 14
39518: EQUAL
39519: IFFALSE 39224
// end ; end ; result = Group_hunt ;
39521: LD_ADDR_VAR 0 2
39525: PUSH
39526: LD_EXP 5
39530: ST_TO_ADDR
// end ; 5 :
39531: GO 43547
39533: LD_INT 5
39535: DOUBLE
39536: EQUAL
39537: IFTRUE 39541
39539: GO 39925
39541: POP
// begin uc_nation = nation_arabian ;
39542: LD_ADDR_OWVAR 21
39546: PUSH
39547: LD_INT 2
39549: ST_TO_ADDR
// uc_side = 5 ;
39550: LD_ADDR_OWVAR 20
39554: PUSH
39555: LD_INT 5
39557: ST_TO_ADDR
// temp = rand ( 1 , 15 ) ;
39558: LD_ADDR_VAR 0 9
39562: PUSH
39563: LD_INT 1
39565: PPUSH
39566: LD_INT 15
39568: PPUSH
39569: CALL_OW 12
39573: ST_TO_ADDR
// if temp = 1 or temp = 2 or temp = 3 or temp = 4 or temp = 5 then
39574: LD_VAR 0 9
39578: PUSH
39579: LD_INT 1
39581: EQUAL
39582: PUSH
39583: LD_VAR 0 9
39587: PUSH
39588: LD_INT 2
39590: EQUAL
39591: OR
39592: PUSH
39593: LD_VAR 0 9
39597: PUSH
39598: LD_INT 3
39600: EQUAL
39601: OR
39602: PUSH
39603: LD_VAR 0 9
39607: PUSH
39608: LD_INT 4
39610: EQUAL
39611: OR
39612: PUSH
39613: LD_VAR 0 9
39617: PUSH
39618: LD_INT 5
39620: EQUAL
39621: OR
39622: IFFALSE 39632
// temp = 1 ;
39624: LD_ADDR_VAR 0 9
39628: PUSH
39629: LD_INT 1
39631: ST_TO_ADDR
// if temp = 6 or temp = 7 or temp = 8 or temp = 9 then
39632: LD_VAR 0 9
39636: PUSH
39637: LD_INT 6
39639: EQUAL
39640: PUSH
39641: LD_VAR 0 9
39645: PUSH
39646: LD_INT 7
39648: EQUAL
39649: OR
39650: PUSH
39651: LD_VAR 0 9
39655: PUSH
39656: LD_INT 8
39658: EQUAL
39659: OR
39660: PUSH
39661: LD_VAR 0 9
39665: PUSH
39666: LD_INT 9
39668: EQUAL
39669: OR
39670: IFFALSE 39680
// temp = 2 ;
39672: LD_ADDR_VAR 0 9
39676: PUSH
39677: LD_INT 2
39679: ST_TO_ADDR
// if temp = 10 or temp = 11 or temp = 12 then
39680: LD_VAR 0 9
39684: PUSH
39685: LD_INT 10
39687: EQUAL
39688: PUSH
39689: LD_VAR 0 9
39693: PUSH
39694: LD_INT 11
39696: EQUAL
39697: OR
39698: PUSH
39699: LD_VAR 0 9
39703: PUSH
39704: LD_INT 12
39706: EQUAL
39707: OR
39708: IFFALSE 39718
// temp = 3 ;
39710: LD_ADDR_VAR 0 9
39714: PUSH
39715: LD_INT 3
39717: ST_TO_ADDR
// if temp = 13 or temp = 14 then
39718: LD_VAR 0 9
39722: PUSH
39723: LD_INT 13
39725: EQUAL
39726: PUSH
39727: LD_VAR 0 9
39731: PUSH
39732: LD_INT 14
39734: EQUAL
39735: OR
39736: IFFALSE 39746
// temp = 4 ;
39738: LD_ADDR_VAR 0 9
39742: PUSH
39743: LD_INT 4
39745: ST_TO_ADDR
// if temp = 15 then
39746: LD_VAR 0 9
39750: PUSH
39751: LD_INT 15
39753: EQUAL
39754: IFFALSE 39764
// temp = 5 ;
39756: LD_ADDR_VAR 0 9
39760: PUSH
39761: LD_INT 5
39763: ST_TO_ADDR
// repeat case rand ( 1 , 4 ) of 1 :
39764: LD_INT 1
39766: PPUSH
39767: LD_INT 4
39769: PPUSH
39770: CALL_OW 12
39774: PUSH
39775: LD_INT 1
39777: DOUBLE
39778: EQUAL
39779: IFTRUE 39783
39781: GO 39796
39783: POP
// PrepareSoldier ( false , 8 ) ; 2 :
39784: LD_INT 0
39786: PPUSH
39787: LD_INT 8
39789: PPUSH
39790: CALL_OW 381
39794: GO 39860
39796: LD_INT 2
39798: DOUBLE
39799: EQUAL
39800: IFTRUE 39804
39802: GO 39817
39804: POP
// PrepareEngineer ( false , 8 ) ; 3 :
39805: LD_INT 0
39807: PPUSH
39808: LD_INT 8
39810: PPUSH
39811: CALL_OW 382
39815: GO 39860
39817: LD_INT 3
39819: DOUBLE
39820: EQUAL
39821: IFTRUE 39825
39823: GO 39838
39825: POP
// PrepareMechanic ( false , 8 ) ; 4 :
39826: LD_INT 0
39828: PPUSH
39829: LD_INT 8
39831: PPUSH
39832: CALL_OW 383
39836: GO 39860
39838: LD_INT 4
39840: DOUBLE
39841: EQUAL
39842: IFTRUE 39846
39844: GO 39859
39846: POP
// PrepareScientist ( false , 8 ) ; end ;
39847: LD_INT 0
39849: PPUSH
39850: LD_INT 8
39852: PPUSH
39853: CALL_OW 384
39857: GO 39860
39859: POP
// hc_attr = [ 10 , 10 ] ;
39860: LD_ADDR_OWVAR 29
39864: PUSH
39865: LD_INT 10
39867: PUSH
39868: LD_INT 10
39870: PUSH
39871: EMPTY
39872: LIST
39873: LIST
39874: ST_TO_ADDR
// escapee = createhuman ;
39875: LD_ADDR_VAR 0 12
39879: PUSH
39880: CALL_OW 44
39884: ST_TO_ADDR
// Group_escapees = Group_escapees ^ escapee ;
39885: LD_ADDR_EXP 7
39889: PUSH
39890: LD_EXP 7
39894: PUSH
39895: LD_VAR 0 12
39899: ADD
39900: ST_TO_ADDR
// until Group_escapees = temp ;
39901: LD_EXP 7
39905: PUSH
39906: LD_VAR 0 9
39910: EQUAL
39911: IFFALSE 39764
// result = Group_escapees ;
39913: LD_ADDR_VAR 0 2
39917: PUSH
39918: LD_EXP 7
39922: ST_TO_ADDR
// end ; 6 :
39923: GO 43547
39925: LD_INT 6
39927: DOUBLE
39928: EQUAL
39929: IFTRUE 39933
39931: GO 40493
39933: POP
// begin uc_nation = nation_arabian ;
39934: LD_ADDR_OWVAR 21
39938: PUSH
39939: LD_INT 2
39941: ST_TO_ADDR
// uc_side = 8 ;
39942: LD_ADDR_OWVAR 20
39946: PUSH
39947: LD_INT 8
39949: ST_TO_ADDR
// vc_control = control_apeman ;
39950: LD_ADDR_OWVAR 38
39954: PUSH
39955: LD_INT 5
39957: ST_TO_ADDR
// vc_engine = engine_siberite ;
39958: LD_ADDR_OWVAR 39
39962: PUSH
39963: LD_INT 3
39965: ST_TO_ADDR
// vc_chassis = Ar_half_tracked ;
39966: LD_ADDR_OWVAR 37
39970: PUSH
39971: LD_INT 14
39973: ST_TO_ADDR
// if legion_attack = 1 then
39974: LD_EXP 153
39978: PUSH
39979: LD_INT 1
39981: EQUAL
39982: IFFALSE 40116
// begin vc_weapon = ar_gun ;
39984: LD_ADDR_OWVAR 40
39988: PUSH
39989: LD_INT 27
39991: ST_TO_ADDR
// repeat veh_type1 = createvehicle ;
39992: LD_ADDR_VAR 0 3
39996: PUSH
39997: CALL_OW 45
40001: ST_TO_ADDR
// Group_Leg = Group_Leg ^ veh_type1 ;
40002: LD_ADDR_EXP 8
40006: PUSH
40007: LD_EXP 8
40011: PUSH
40012: LD_VAR 0 3
40016: ADD
40017: ST_TO_ADDR
// until Group_Leg = 3 ;
40018: LD_EXP 8
40022: PUSH
40023: LD_INT 3
40025: EQUAL
40026: IFFALSE 39992
// vc_weapon = ar_rocket_launcher ;
40028: LD_ADDR_OWVAR 40
40032: PUSH
40033: LD_INT 28
40035: ST_TO_ADDR
// repeat veh_type2 = createvehicle ;
40036: LD_ADDR_VAR 0 4
40040: PUSH
40041: CALL_OW 45
40045: ST_TO_ADDR
// Group_Leg = Group_Leg ^ veh_type2 ;
40046: LD_ADDR_EXP 8
40050: PUSH
40051: LD_EXP 8
40055: PUSH
40056: LD_VAR 0 4
40060: ADD
40061: ST_TO_ADDR
// until Group_Leg = 5 ;
40062: LD_EXP 8
40066: PUSH
40067: LD_INT 5
40069: EQUAL
40070: IFFALSE 40036
// vc_weapon = ar_radar ;
40072: LD_ADDR_OWVAR 40
40076: PUSH
40077: LD_INT 30
40079: ST_TO_ADDR
// repeat veh_type3 = createvehicle ;
40080: LD_ADDR_VAR 0 5
40084: PUSH
40085: CALL_OW 45
40089: ST_TO_ADDR
// Group_Leg = Group_Leg ^ veh_type3 ;
40090: LD_ADDR_EXP 8
40094: PUSH
40095: LD_EXP 8
40099: PUSH
40100: LD_VAR 0 5
40104: ADD
40105: ST_TO_ADDR
// until Group_Leg = 6 ;
40106: LD_EXP 8
40110: PUSH
40111: LD_INT 6
40113: EQUAL
40114: IFFALSE 40080
// end ; if legion_attack = 3 then
40116: LD_EXP 153
40120: PUSH
40121: LD_INT 3
40123: EQUAL
40124: IFFALSE 40481
// begin vc_weapon = ar_gun ;
40126: LD_ADDR_OWVAR 40
40130: PUSH
40131: LD_INT 27
40133: ST_TO_ADDR
// repeat veh_type1 = createvehicle ;
40134: LD_ADDR_VAR 0 3
40138: PUSH
40139: CALL_OW 45
40143: ST_TO_ADDR
// Group_Leg = Group_Leg ^ veh_type1 ;
40144: LD_ADDR_EXP 8
40148: PUSH
40149: LD_EXP 8
40153: PUSH
40154: LD_VAR 0 3
40158: ADD
40159: ST_TO_ADDR
// until Group_Leg = 1 ;
40160: LD_EXP 8
40164: PUSH
40165: LD_INT 1
40167: EQUAL
40168: IFFALSE 40134
// vc_weapon = ar_gatling_gun ;
40170: LD_ADDR_OWVAR 40
40174: PUSH
40175: LD_INT 25
40177: ST_TO_ADDR
// vc_control = control_manual ;
40178: LD_ADDR_OWVAR 38
40182: PUSH
40183: LD_INT 1
40185: ST_TO_ADDR
// repeat veh_type1 = createvehicle ;
40186: LD_ADDR_VAR 0 3
40190: PUSH
40191: CALL_OW 45
40195: ST_TO_ADDR
// Group_Leg = Group_Leg ^ veh_type1 ;
40196: LD_ADDR_EXP 8
40200: PUSH
40201: LD_EXP 8
40205: PUSH
40206: LD_VAR 0 3
40210: ADD
40211: ST_TO_ADDR
// until Group_Leg = 3 ;
40212: LD_EXP 8
40216: PUSH
40217: LD_INT 3
40219: EQUAL
40220: IFFALSE 40186
// vc_weapon = ar_rocket_launcher ;
40222: LD_ADDR_OWVAR 40
40226: PUSH
40227: LD_INT 28
40229: ST_TO_ADDR
// repeat veh_type1 = createvehicle ;
40230: LD_ADDR_VAR 0 3
40234: PUSH
40235: CALL_OW 45
40239: ST_TO_ADDR
// Group_Leg = Group_Leg ^ veh_type1 ;
40240: LD_ADDR_EXP 8
40244: PUSH
40245: LD_EXP 8
40249: PUSH
40250: LD_VAR 0 3
40254: ADD
40255: ST_TO_ADDR
// until Group_Leg = 5 ;
40256: LD_EXP 8
40260: PUSH
40261: LD_INT 5
40263: EQUAL
40264: IFFALSE 40230
// vc_weapon = ar_radar ;
40266: LD_ADDR_OWVAR 40
40270: PUSH
40271: LD_INT 30
40273: ST_TO_ADDR
// vc_control = control_apeman ;
40274: LD_ADDR_OWVAR 38
40278: PUSH
40279: LD_INT 5
40281: ST_TO_ADDR
// repeat veh_type3 = createvehicle ;
40282: LD_ADDR_VAR 0 5
40286: PUSH
40287: CALL_OW 45
40291: ST_TO_ADDR
// Group_Leg = Group_Leg ^ veh_type3 ;
40292: LD_ADDR_EXP 8
40296: PUSH
40297: LD_EXP 8
40301: PUSH
40302: LD_VAR 0 5
40306: ADD
40307: ST_TO_ADDR
// until Group_Leg = 6 ;
40308: LD_EXP 8
40312: PUSH
40313: LD_INT 6
40315: EQUAL
40316: IFFALSE 40282
// inithc ;
40318: CALL_OW 19
// repeat hc_sex = rand ( 1 , 2 ) ;
40322: LD_ADDR_OWVAR 27
40326: PUSH
40327: LD_INT 1
40329: PPUSH
40330: LD_INT 2
40332: PPUSH
40333: CALL_OW 12
40337: ST_TO_ADDR
// hc_skills = [ rand ( 2 , 6 ) , rand ( 2 , 6 ) , rand ( 6 , 8 ) , rand ( 2 , 6 ) ] ;
40338: LD_ADDR_OWVAR 31
40342: PUSH
40343: LD_INT 2
40345: PPUSH
40346: LD_INT 6
40348: PPUSH
40349: CALL_OW 12
40353: PUSH
40354: LD_INT 2
40356: PPUSH
40357: LD_INT 6
40359: PPUSH
40360: CALL_OW 12
40364: PUSH
40365: LD_INT 6
40367: PPUSH
40368: LD_INT 8
40370: PPUSH
40371: CALL_OW 12
40375: PUSH
40376: LD_INT 2
40378: PPUSH
40379: LD_INT 6
40381: PPUSH
40382: CALL_OW 12
40386: PUSH
40387: EMPTY
40388: LIST
40389: LIST
40390: LIST
40391: LIST
40392: ST_TO_ADDR
// hc_class = class_mechanic ;
40393: LD_ADDR_OWVAR 28
40397: PUSH
40398: LD_INT 3
40400: ST_TO_ADDR
// sol_1 = createhuman ;
40401: LD_ADDR_VAR 0 15
40405: PUSH
40406: CALL_OW 44
40410: ST_TO_ADDR
// temp = unitfilter ( group_leg , [ f_empty ] ) ;
40411: LD_ADDR_VAR 0 9
40415: PUSH
40416: LD_EXP 8
40420: PPUSH
40421: LD_INT 58
40423: PUSH
40424: EMPTY
40425: LIST
40426: PPUSH
40427: CALL_OW 72
40431: ST_TO_ADDR
// if temp > 0 then
40432: LD_VAR 0 9
40436: PUSH
40437: LD_INT 0
40439: GREATER
40440: IFFALSE 40460
// placehumaninunit ( sol_1 , temp [ 1 ] ) ;
40442: LD_VAR 0 15
40446: PPUSH
40447: LD_VAR 0 9
40451: PUSH
40452: LD_INT 1
40454: ARRAY
40455: PPUSH
40456: CALL_OW 52
// until unitfilter ( group_leg , [ f_empty ] ) = 0 ;
40460: LD_EXP 8
40464: PPUSH
40465: LD_INT 58
40467: PUSH
40468: EMPTY
40469: LIST
40470: PPUSH
40471: CALL_OW 72
40475: PUSH
40476: LD_INT 0
40478: EQUAL
40479: IFFALSE 40322
// end ; result = Group_Leg ;
40481: LD_ADDR_VAR 0 2
40485: PUSH
40486: LD_EXP 8
40490: ST_TO_ADDR
// end ; 7 :
40491: GO 43547
40493: LD_INT 7
40495: DOUBLE
40496: EQUAL
40497: IFTRUE 40501
40499: GO 43338
40501: POP
// begin uc_nation = nation_arabian ;
40502: LD_ADDR_OWVAR 21
40506: PUSH
40507: LD_INT 2
40509: ST_TO_ADDR
// uc_side = 2 ;
40510: LD_ADDR_OWVAR 20
40514: PUSH
40515: LD_INT 2
40517: ST_TO_ADDR
// hc_attr = [ 10 , 10 ] ;
40518: LD_ADDR_OWVAR 29
40522: PUSH
40523: LD_INT 10
40525: PUSH
40526: LD_INT 10
40528: PUSH
40529: EMPTY
40530: LIST
40531: LIST
40532: ST_TO_ADDR
// temp_list = omar_forces_main diff Gonzo ;
40533: LD_ADDR_VAR 0 10
40537: PUSH
40538: LD_EXP 105
40542: PUSH
40543: LD_EXP 102
40547: DIFF
40548: ST_TO_ADDR
// temp_list2 = omar_forces_random ;
40549: LD_ADDR_VAR 0 11
40553: PUSH
40554: LD_EXP 106
40558: ST_TO_ADDR
// temp = temp_list ^ temp_list2 ;
40559: LD_ADDR_VAR 0 9
40563: PUSH
40564: LD_VAR 0 10
40568: PUSH
40569: LD_VAR 0 11
40573: ADD
40574: ST_TO_ADDR
// for i = 1 to temp do
40575: LD_ADDR_VAR 0 20
40579: PUSH
40580: DOUBLE
40581: LD_INT 1
40583: DEC
40584: ST_TO_ADDR
40585: LD_VAR 0 9
40589: PUSH
40590: FOR_TO
40591: IFFALSE 40728
// case GetTopSkill ( temp [ i ] ) of 1 :
40593: LD_VAR 0 9
40597: PUSH
40598: LD_VAR 0 20
40602: ARRAY
40603: PPUSH
40604: CALL 59724 0 1
40608: PUSH
40609: LD_INT 1
40611: DOUBLE
40612: EQUAL
40613: IFTRUE 40617
40615: GO 40638
40617: POP
// setclass ( temp [ i ] , class_soldier ) ; 2 :
40618: LD_VAR 0 9
40622: PUSH
40623: LD_VAR 0 20
40627: ARRAY
40628: PPUSH
40629: LD_INT 1
40631: PPUSH
40632: CALL_OW 336
40636: GO 40726
40638: LD_INT 2
40640: DOUBLE
40641: EQUAL
40642: IFTRUE 40646
40644: GO 40667
40646: POP
// setclass ( temp [ i ] , class_mechanic ) ; 3 :
40647: LD_VAR 0 9
40651: PUSH
40652: LD_VAR 0 20
40656: ARRAY
40657: PPUSH
40658: LD_INT 3
40660: PPUSH
40661: CALL_OW 336
40665: GO 40726
40667: LD_INT 3
40669: DOUBLE
40670: EQUAL
40671: IFTRUE 40675
40673: GO 40696
40675: POP
// setclass ( temp [ i ] , class_mechanic ) ; 4 :
40676: LD_VAR 0 9
40680: PUSH
40681: LD_VAR 0 20
40685: ARRAY
40686: PPUSH
40687: LD_INT 3
40689: PPUSH
40690: CALL_OW 336
40694: GO 40726
40696: LD_INT 4
40698: DOUBLE
40699: EQUAL
40700: IFTRUE 40704
40702: GO 40725
40704: POP
// setclass ( temp [ i ] , class_scientistic ) ; end ;
40705: LD_VAR 0 9
40709: PUSH
40710: LD_VAR 0 20
40714: ARRAY
40715: PPUSH
40716: LD_INT 4
40718: PPUSH
40719: CALL_OW 336
40723: GO 40726
40725: POP
40726: GO 40590
40728: POP
40729: POP
// temp = unitfilter ( omar_forces_main , [ f_minskill , skill_mechanical , 7 ] ) ;
40730: LD_ADDR_VAR 0 9
40734: PUSH
40735: LD_EXP 105
40739: PPUSH
40740: LD_INT 28
40742: PUSH
40743: LD_INT 3
40745: PUSH
40746: LD_INT 7
40748: PUSH
40749: EMPTY
40750: LIST
40751: LIST
40752: LIST
40753: PPUSH
40754: CALL_OW 72
40758: ST_TO_ADDR
// if temp = 0 then
40759: LD_VAR 0 9
40763: PUSH
40764: LD_INT 0
40766: EQUAL
40767: IFFALSE 41025
// begin temp = unitfilter ( omar_forces_random , [ f_minskill , skill_mechanical , 7 ] ) ;
40769: LD_ADDR_VAR 0 9
40773: PUSH
40774: LD_EXP 106
40778: PPUSH
40779: LD_INT 28
40781: PUSH
40782: LD_INT 3
40784: PUSH
40785: LD_INT 7
40787: PUSH
40788: EMPTY
40789: LIST
40790: LIST
40791: LIST
40792: PPUSH
40793: CALL_OW 72
40797: ST_TO_ADDR
// if temp = 0 then
40798: LD_VAR 0 9
40802: PUSH
40803: LD_INT 0
40805: EQUAL
40806: IFFALSE 40925
// begin hc_sex = rand ( 1 , 2 ) ;
40808: LD_ADDR_OWVAR 27
40812: PUSH
40813: LD_INT 1
40815: PPUSH
40816: LD_INT 2
40818: PPUSH
40819: CALL_OW 12
40823: ST_TO_ADDR
// hc_skills = [ rand ( 2 , 6 ) , rand ( 2 , 6 ) , rand ( 7 , 9 ) , rand ( 2 , 6 ) ] ;
40824: LD_ADDR_OWVAR 31
40828: PUSH
40829: LD_INT 2
40831: PPUSH
40832: LD_INT 6
40834: PPUSH
40835: CALL_OW 12
40839: PUSH
40840: LD_INT 2
40842: PPUSH
40843: LD_INT 6
40845: PPUSH
40846: CALL_OW 12
40850: PUSH
40851: LD_INT 7
40853: PPUSH
40854: LD_INT 9
40856: PPUSH
40857: CALL_OW 12
40861: PUSH
40862: LD_INT 2
40864: PPUSH
40865: LD_INT 6
40867: PPUSH
40868: CALL_OW 12
40872: PUSH
40873: EMPTY
40874: LIST
40875: LIST
40876: LIST
40877: LIST
40878: ST_TO_ADDR
// hc_class = class_mechanic ;
40879: LD_ADDR_OWVAR 28
40883: PUSH
40884: LD_INT 3
40886: ST_TO_ADDR
// sol_1 = createhuman ;
40887: LD_ADDR_VAR 0 15
40891: PUSH
40892: CALL_OW 44
40896: ST_TO_ADDR
// Group_Omar = Group_Omar ^ sol_1 ;
40897: LD_ADDR_EXP 9
40901: PUSH
40902: LD_EXP 9
40906: PUSH
40907: LD_VAR 0 15
40911: ADD
40912: ST_TO_ADDR
// mech = sol_1 ;
40913: LD_ADDR_VAR 0 18
40917: PUSH
40918: LD_VAR 0 15
40922: ST_TO_ADDR
// end else
40923: GO 41023
// begin if temp > 1 then
40925: LD_VAR 0 9
40929: PUSH
40930: LD_INT 1
40932: GREATER
40933: IFFALSE 40955
// roll = rand ( 1 , temp ) else
40935: LD_ADDR_VAR 0 13
40939: PUSH
40940: LD_INT 1
40942: PPUSH
40943: LD_VAR 0 9
40947: PPUSH
40948: CALL_OW 12
40952: ST_TO_ADDR
40953: GO 40963
// roll = 1 ;
40955: LD_ADDR_VAR 0 13
40959: PUSH
40960: LD_INT 1
40962: ST_TO_ADDR
// Group_Omar = Group_Omar ^ temp [ roll ] ;
40963: LD_ADDR_EXP 9
40967: PUSH
40968: LD_EXP 9
40972: PUSH
40973: LD_VAR 0 9
40977: PUSH
40978: LD_VAR 0 13
40982: ARRAY
40983: ADD
40984: ST_TO_ADDR
// mech = temp [ roll ] ;
40985: LD_ADDR_VAR 0 18
40989: PUSH
40990: LD_VAR 0 9
40994: PUSH
40995: LD_VAR 0 13
40999: ARRAY
41000: ST_TO_ADDR
// omar_forces_random = omar_forces_random diff temp [ roll ] ;
41001: LD_ADDR_EXP 106
41005: PUSH
41006: LD_EXP 106
41010: PUSH
41011: LD_VAR 0 9
41015: PUSH
41016: LD_VAR 0 13
41020: ARRAY
41021: DIFF
41022: ST_TO_ADDR
// end ; end else
41023: GO 41123
// begin if temp > 1 then
41025: LD_VAR 0 9
41029: PUSH
41030: LD_INT 1
41032: GREATER
41033: IFFALSE 41055
// roll = rand ( 1 , temp ) else
41035: LD_ADDR_VAR 0 13
41039: PUSH
41040: LD_INT 1
41042: PPUSH
41043: LD_VAR 0 9
41047: PPUSH
41048: CALL_OW 12
41052: ST_TO_ADDR
41053: GO 41063
// roll = 1 ;
41055: LD_ADDR_VAR 0 13
41059: PUSH
41060: LD_INT 1
41062: ST_TO_ADDR
// Group_Omar = Group_Omar ^ temp [ roll ] ;
41063: LD_ADDR_EXP 9
41067: PUSH
41068: LD_EXP 9
41072: PUSH
41073: LD_VAR 0 9
41077: PUSH
41078: LD_VAR 0 13
41082: ARRAY
41083: ADD
41084: ST_TO_ADDR
// mech = temp [ roll ] ;
41085: LD_ADDR_VAR 0 18
41089: PUSH
41090: LD_VAR 0 9
41094: PUSH
41095: LD_VAR 0 13
41099: ARRAY
41100: ST_TO_ADDR
// omar_forces_main = omar_forces_main diff temp [ roll ] ;
41101: LD_ADDR_EXP 105
41105: PUSH
41106: LD_EXP 105
41110: PUSH
41111: LD_VAR 0 9
41115: PUSH
41116: LD_VAR 0 13
41120: ARRAY
41121: DIFF
41122: ST_TO_ADDR
// end ; setclass ( mech , class_mechanic ) ;
41123: LD_VAR 0 18
41127: PPUSH
41128: LD_INT 3
41130: PPUSH
41131: CALL_OW 336
// temp = unitfilter ( omar_forces_main , [ f_minskill , skill_mechanical , 5 ] ) diff Gonzo ;
41135: LD_ADDR_VAR 0 9
41139: PUSH
41140: LD_EXP 105
41144: PPUSH
41145: LD_INT 28
41147: PUSH
41148: LD_INT 3
41150: PUSH
41151: LD_INT 5
41153: PUSH
41154: EMPTY
41155: LIST
41156: LIST
41157: LIST
41158: PPUSH
41159: CALL_OW 72
41163: PUSH
41164: LD_EXP 102
41168: DIFF
41169: ST_TO_ADDR
// if temp = 0 then
41170: LD_VAR 0 9
41174: PUSH
41175: LD_INT 0
41177: EQUAL
41178: IFFALSE 41428
// begin temp = unitfilter ( omar_forces_random , [ f_minskill , skill_mechanical , 5 ] ) ;
41180: LD_ADDR_VAR 0 9
41184: PUSH
41185: LD_EXP 106
41189: PPUSH
41190: LD_INT 28
41192: PUSH
41193: LD_INT 3
41195: PUSH
41196: LD_INT 5
41198: PUSH
41199: EMPTY
41200: LIST
41201: LIST
41202: LIST
41203: PPUSH
41204: CALL_OW 72
41208: ST_TO_ADDR
// if temp = 0 then
41209: LD_VAR 0 9
41213: PUSH
41214: LD_INT 0
41216: EQUAL
41217: IFFALSE 41326
// begin hc_sex = rand ( 1 , 2 ) ;
41219: LD_ADDR_OWVAR 27
41223: PUSH
41224: LD_INT 1
41226: PPUSH
41227: LD_INT 2
41229: PPUSH
41230: CALL_OW 12
41234: ST_TO_ADDR
// hc_skills = [ rand ( 1 , 5 ) , rand ( 1 , 5 ) , rand ( 5 , 9 ) , rand ( 1 , 5 ) ] ;
41235: LD_ADDR_OWVAR 31
41239: PUSH
41240: LD_INT 1
41242: PPUSH
41243: LD_INT 5
41245: PPUSH
41246: CALL_OW 12
41250: PUSH
41251: LD_INT 1
41253: PPUSH
41254: LD_INT 5
41256: PPUSH
41257: CALL_OW 12
41261: PUSH
41262: LD_INT 5
41264: PPUSH
41265: LD_INT 9
41267: PPUSH
41268: CALL_OW 12
41272: PUSH
41273: LD_INT 1
41275: PPUSH
41276: LD_INT 5
41278: PPUSH
41279: CALL_OW 12
41283: PUSH
41284: EMPTY
41285: LIST
41286: LIST
41287: LIST
41288: LIST
41289: ST_TO_ADDR
// hc_class = class_mechanic ;
41290: LD_ADDR_OWVAR 28
41294: PUSH
41295: LD_INT 3
41297: ST_TO_ADDR
// sol_1 = createhuman ;
41298: LD_ADDR_VAR 0 15
41302: PUSH
41303: CALL_OW 44
41307: ST_TO_ADDR
// Group_Omar = Group_Omar ^ sol_1 ;
41308: LD_ADDR_EXP 9
41312: PUSH
41313: LD_EXP 9
41317: PUSH
41318: LD_VAR 0 15
41322: ADD
41323: ST_TO_ADDR
// end else
41324: GO 41426
// begin if temp > 1 then
41326: LD_VAR 0 9
41330: PUSH
41331: LD_INT 1
41333: GREATER
41334: IFFALSE 41356
// roll = rand ( 1 , temp ) else
41336: LD_ADDR_VAR 0 13
41340: PUSH
41341: LD_INT 1
41343: PPUSH
41344: LD_VAR 0 9
41348: PPUSH
41349: CALL_OW 12
41353: ST_TO_ADDR
41354: GO 41364
// roll = 1 ;
41356: LD_ADDR_VAR 0 13
41360: PUSH
41361: LD_INT 1
41363: ST_TO_ADDR
// setclass ( temp [ roll ] , class_mechanic ) ;
41364: LD_VAR 0 9
41368: PUSH
41369: LD_VAR 0 13
41373: ARRAY
41374: PPUSH
41375: LD_INT 3
41377: PPUSH
41378: CALL_OW 336
// Group_Omar = Group_Omar ^ temp [ roll ] ;
41382: LD_ADDR_EXP 9
41386: PUSH
41387: LD_EXP 9
41391: PUSH
41392: LD_VAR 0 9
41396: PUSH
41397: LD_VAR 0 13
41401: ARRAY
41402: ADD
41403: ST_TO_ADDR
// omar_forces_random = omar_forces_random diff temp [ roll ] ;
41404: LD_ADDR_EXP 106
41408: PUSH
41409: LD_EXP 106
41413: PUSH
41414: LD_VAR 0 9
41418: PUSH
41419: LD_VAR 0 13
41423: ARRAY
41424: DIFF
41425: ST_TO_ADDR
// end ; end else
41426: GO 41528
// begin if temp > 1 then
41428: LD_VAR 0 9
41432: PUSH
41433: LD_INT 1
41435: GREATER
41436: IFFALSE 41458
// roll = rand ( 1 , temp ) else
41438: LD_ADDR_VAR 0 13
41442: PUSH
41443: LD_INT 1
41445: PPUSH
41446: LD_VAR 0 9
41450: PPUSH
41451: CALL_OW 12
41455: ST_TO_ADDR
41456: GO 41466
// roll = 1 ;
41458: LD_ADDR_VAR 0 13
41462: PUSH
41463: LD_INT 1
41465: ST_TO_ADDR
// setclass ( temp [ roll ] , class_mechanic ) ;
41466: LD_VAR 0 9
41470: PUSH
41471: LD_VAR 0 13
41475: ARRAY
41476: PPUSH
41477: LD_INT 3
41479: PPUSH
41480: CALL_OW 336
// Group_Omar = Group_Omar ^ temp [ roll ] ;
41484: LD_ADDR_EXP 9
41488: PUSH
41489: LD_EXP 9
41493: PUSH
41494: LD_VAR 0 9
41498: PUSH
41499: LD_VAR 0 13
41503: ARRAY
41504: ADD
41505: ST_TO_ADDR
// omar_forces_main = omar_forces_main diff temp [ roll ] ;
41506: LD_ADDR_EXP 105
41510: PUSH
41511: LD_EXP 105
41515: PUSH
41516: LD_VAR 0 9
41520: PUSH
41521: LD_VAR 0 13
41525: ARRAY
41526: DIFF
41527: ST_TO_ADDR
// end ; temp = unitfilter ( omar_forces_main , [ f_minskill , skill_scientistic , 6 ] ) diff Gonzo ;
41528: LD_ADDR_VAR 0 9
41532: PUSH
41533: LD_EXP 105
41537: PPUSH
41538: LD_INT 28
41540: PUSH
41541: LD_INT 4
41543: PUSH
41544: LD_INT 6
41546: PUSH
41547: EMPTY
41548: LIST
41549: LIST
41550: LIST
41551: PPUSH
41552: CALL_OW 72
41556: PUSH
41557: LD_EXP 102
41561: DIFF
41562: ST_TO_ADDR
// if temp = 0 then
41563: LD_VAR 0 9
41567: PUSH
41568: LD_INT 0
41570: EQUAL
41571: IFFALSE 41821
// begin temp = unitfilter ( omar_forces_random , [ f_minskill , skill_scientistic , 6 ] ) ;
41573: LD_ADDR_VAR 0 9
41577: PUSH
41578: LD_EXP 106
41582: PPUSH
41583: LD_INT 28
41585: PUSH
41586: LD_INT 4
41588: PUSH
41589: LD_INT 6
41591: PUSH
41592: EMPTY
41593: LIST
41594: LIST
41595: LIST
41596: PPUSH
41597: CALL_OW 72
41601: ST_TO_ADDR
// if temp = 0 then
41602: LD_VAR 0 9
41606: PUSH
41607: LD_INT 0
41609: EQUAL
41610: IFFALSE 41719
// begin hc_sex = rand ( 1 , 2 ) ;
41612: LD_ADDR_OWVAR 27
41616: PUSH
41617: LD_INT 1
41619: PPUSH
41620: LD_INT 2
41622: PPUSH
41623: CALL_OW 12
41627: ST_TO_ADDR
// hc_skills = [ rand ( 1 , 5 ) , rand ( 1 , 5 ) , rand ( 1 , 5 ) , rand ( 6 , 9 ) ] ;
41628: LD_ADDR_OWVAR 31
41632: PUSH
41633: LD_INT 1
41635: PPUSH
41636: LD_INT 5
41638: PPUSH
41639: CALL_OW 12
41643: PUSH
41644: LD_INT 1
41646: PPUSH
41647: LD_INT 5
41649: PPUSH
41650: CALL_OW 12
41654: PUSH
41655: LD_INT 1
41657: PPUSH
41658: LD_INT 5
41660: PPUSH
41661: CALL_OW 12
41665: PUSH
41666: LD_INT 6
41668: PPUSH
41669: LD_INT 9
41671: PPUSH
41672: CALL_OW 12
41676: PUSH
41677: EMPTY
41678: LIST
41679: LIST
41680: LIST
41681: LIST
41682: ST_TO_ADDR
// hc_class = class_scientistic ;
41683: LD_ADDR_OWVAR 28
41687: PUSH
41688: LD_INT 4
41690: ST_TO_ADDR
// sol_1 = createhuman ;
41691: LD_ADDR_VAR 0 15
41695: PUSH
41696: CALL_OW 44
41700: ST_TO_ADDR
// Group_Omar = Group_Omar ^ sol_1 ;
41701: LD_ADDR_EXP 9
41705: PUSH
41706: LD_EXP 9
41710: PUSH
41711: LD_VAR 0 15
41715: ADD
41716: ST_TO_ADDR
// end else
41717: GO 41819
// begin if temp > 1 then
41719: LD_VAR 0 9
41723: PUSH
41724: LD_INT 1
41726: GREATER
41727: IFFALSE 41749
// roll = rand ( 1 , temp ) else
41729: LD_ADDR_VAR 0 13
41733: PUSH
41734: LD_INT 1
41736: PPUSH
41737: LD_VAR 0 9
41741: PPUSH
41742: CALL_OW 12
41746: ST_TO_ADDR
41747: GO 41757
// roll = 1 ;
41749: LD_ADDR_VAR 0 13
41753: PUSH
41754: LD_INT 1
41756: ST_TO_ADDR
// setclass ( temp [ roll ] , class_scientistic ) ;
41757: LD_VAR 0 9
41761: PUSH
41762: LD_VAR 0 13
41766: ARRAY
41767: PPUSH
41768: LD_INT 4
41770: PPUSH
41771: CALL_OW 336
// Group_Omar = Group_Omar ^ temp [ roll ] ;
41775: LD_ADDR_EXP 9
41779: PUSH
41780: LD_EXP 9
41784: PUSH
41785: LD_VAR 0 9
41789: PUSH
41790: LD_VAR 0 13
41794: ARRAY
41795: ADD
41796: ST_TO_ADDR
// omar_forces_random = omar_forces_random diff temp [ roll ] ;
41797: LD_ADDR_EXP 106
41801: PUSH
41802: LD_EXP 106
41806: PUSH
41807: LD_VAR 0 9
41811: PUSH
41812: LD_VAR 0 13
41816: ARRAY
41817: DIFF
41818: ST_TO_ADDR
// end ; end else
41819: GO 41921
// begin if temp > 1 then
41821: LD_VAR 0 9
41825: PUSH
41826: LD_INT 1
41828: GREATER
41829: IFFALSE 41851
// roll = rand ( 1 , temp ) else
41831: LD_ADDR_VAR 0 13
41835: PUSH
41836: LD_INT 1
41838: PPUSH
41839: LD_VAR 0 9
41843: PPUSH
41844: CALL_OW 12
41848: ST_TO_ADDR
41849: GO 41859
// roll = 1 ;
41851: LD_ADDR_VAR 0 13
41855: PUSH
41856: LD_INT 1
41858: ST_TO_ADDR
// setclass ( temp [ roll ] , class_scientistic ) ;
41859: LD_VAR 0 9
41863: PUSH
41864: LD_VAR 0 13
41868: ARRAY
41869: PPUSH
41870: LD_INT 4
41872: PPUSH
41873: CALL_OW 336
// Group_Omar = Group_Omar ^ temp [ roll ] ;
41877: LD_ADDR_EXP 9
41881: PUSH
41882: LD_EXP 9
41886: PUSH
41887: LD_VAR 0 9
41891: PUSH
41892: LD_VAR 0 13
41896: ARRAY
41897: ADD
41898: ST_TO_ADDR
// omar_forces_main = omar_forces_main diff temp [ roll ] ;
41899: LD_ADDR_EXP 105
41903: PUSH
41904: LD_EXP 105
41908: PUSH
41909: LD_VAR 0 9
41913: PUSH
41914: LD_VAR 0 13
41918: ARRAY
41919: DIFF
41920: ST_TO_ADDR
// end ; repeat temp = unitfilter ( omar_forces_main , [ f_minskill , skill_combat , 6 ] ) diff Gonzo ;
41921: LD_ADDR_VAR 0 9
41925: PUSH
41926: LD_EXP 105
41930: PPUSH
41931: LD_INT 28
41933: PUSH
41934: LD_INT 1
41936: PUSH
41937: LD_INT 6
41939: PUSH
41940: EMPTY
41941: LIST
41942: LIST
41943: LIST
41944: PPUSH
41945: CALL_OW 72
41949: PUSH
41950: LD_EXP 102
41954: DIFF
41955: ST_TO_ADDR
// if temp = 0 then
41956: LD_VAR 0 9
41960: PUSH
41961: LD_INT 0
41963: EQUAL
41964: IFFALSE 42214
// begin temp = unitfilter ( omar_forces_random , [ f_minskill , skill_combat , 6 ] ) ;
41966: LD_ADDR_VAR 0 9
41970: PUSH
41971: LD_EXP 106
41975: PPUSH
41976: LD_INT 28
41978: PUSH
41979: LD_INT 1
41981: PUSH
41982: LD_INT 6
41984: PUSH
41985: EMPTY
41986: LIST
41987: LIST
41988: LIST
41989: PPUSH
41990: CALL_OW 72
41994: ST_TO_ADDR
// if temp = 0 then
41995: LD_VAR 0 9
41999: PUSH
42000: LD_INT 0
42002: EQUAL
42003: IFFALSE 42112
// begin hc_sex = rand ( 1 , 2 ) ;
42005: LD_ADDR_OWVAR 27
42009: PUSH
42010: LD_INT 1
42012: PPUSH
42013: LD_INT 2
42015: PPUSH
42016: CALL_OW 12
42020: ST_TO_ADDR
// hc_skills = [ rand ( 6 , 9 ) , rand ( 2 , 5 ) , rand ( 2 , 5 ) , rand ( 2 , 5 ) ] ;
42021: LD_ADDR_OWVAR 31
42025: PUSH
42026: LD_INT 6
42028: PPUSH
42029: LD_INT 9
42031: PPUSH
42032: CALL_OW 12
42036: PUSH
42037: LD_INT 2
42039: PPUSH
42040: LD_INT 5
42042: PPUSH
42043: CALL_OW 12
42047: PUSH
42048: LD_INT 2
42050: PPUSH
42051: LD_INT 5
42053: PPUSH
42054: CALL_OW 12
42058: PUSH
42059: LD_INT 2
42061: PPUSH
42062: LD_INT 5
42064: PPUSH
42065: CALL_OW 12
42069: PUSH
42070: EMPTY
42071: LIST
42072: LIST
42073: LIST
42074: LIST
42075: ST_TO_ADDR
// hc_class = class_soldier ;
42076: LD_ADDR_OWVAR 28
42080: PUSH
42081: LD_INT 1
42083: ST_TO_ADDR
// sol_1 = createhuman ;
42084: LD_ADDR_VAR 0 15
42088: PUSH
42089: CALL_OW 44
42093: ST_TO_ADDR
// Group_Omar = Group_Omar ^ sol_1 ;
42094: LD_ADDR_EXP 9
42098: PUSH
42099: LD_EXP 9
42103: PUSH
42104: LD_VAR 0 15
42108: ADD
42109: ST_TO_ADDR
// end else
42110: GO 42212
// begin if temp > 1 then
42112: LD_VAR 0 9
42116: PUSH
42117: LD_INT 1
42119: GREATER
42120: IFFALSE 42142
// roll = rand ( 1 , temp ) else
42122: LD_ADDR_VAR 0 13
42126: PUSH
42127: LD_INT 1
42129: PPUSH
42130: LD_VAR 0 9
42134: PPUSH
42135: CALL_OW 12
42139: ST_TO_ADDR
42140: GO 42150
// roll = 1 ;
42142: LD_ADDR_VAR 0 13
42146: PUSH
42147: LD_INT 1
42149: ST_TO_ADDR
// setclass ( temp [ roll ] , class_soldier ) ;
42150: LD_VAR 0 9
42154: PUSH
42155: LD_VAR 0 13
42159: ARRAY
42160: PPUSH
42161: LD_INT 1
42163: PPUSH
42164: CALL_OW 336
// Group_Omar = Group_Omar ^ temp [ roll ] ;
42168: LD_ADDR_EXP 9
42172: PUSH
42173: LD_EXP 9
42177: PUSH
42178: LD_VAR 0 9
42182: PUSH
42183: LD_VAR 0 13
42187: ARRAY
42188: ADD
42189: ST_TO_ADDR
// omar_forces_random = omar_forces_random diff temp [ roll ] ;
42190: LD_ADDR_EXP 106
42194: PUSH
42195: LD_EXP 106
42199: PUSH
42200: LD_VAR 0 9
42204: PUSH
42205: LD_VAR 0 13
42209: ARRAY
42210: DIFF
42211: ST_TO_ADDR
// end ; end else
42212: GO 42314
// begin if temp > 1 then
42214: LD_VAR 0 9
42218: PUSH
42219: LD_INT 1
42221: GREATER
42222: IFFALSE 42244
// roll = rand ( 1 , temp ) else
42224: LD_ADDR_VAR 0 13
42228: PUSH
42229: LD_INT 1
42231: PPUSH
42232: LD_VAR 0 9
42236: PPUSH
42237: CALL_OW 12
42241: ST_TO_ADDR
42242: GO 42252
// roll = 1 ;
42244: LD_ADDR_VAR 0 13
42248: PUSH
42249: LD_INT 1
42251: ST_TO_ADDR
// setclass ( temp [ roll ] , class_soldier ) ;
42252: LD_VAR 0 9
42256: PUSH
42257: LD_VAR 0 13
42261: ARRAY
42262: PPUSH
42263: LD_INT 1
42265: PPUSH
42266: CALL_OW 336
// Group_Omar = Group_Omar ^ temp [ roll ] ;
42270: LD_ADDR_EXP 9
42274: PUSH
42275: LD_EXP 9
42279: PUSH
42280: LD_VAR 0 9
42284: PUSH
42285: LD_VAR 0 13
42289: ARRAY
42290: ADD
42291: ST_TO_ADDR
// omar_forces_main = omar_forces_main diff temp [ roll ] ;
42292: LD_ADDR_EXP 105
42296: PUSH
42297: LD_EXP 105
42301: PUSH
42302: LD_VAR 0 9
42306: PUSH
42307: LD_VAR 0 13
42311: ARRAY
42312: DIFF
42313: ST_TO_ADDR
// end ; until Group_Omar = 5 ;
42314: LD_EXP 9
42318: PUSH
42319: LD_INT 5
42321: EQUAL
42322: IFFALSE 41921
// SetLastMission ( omar_forces_random , 12 ) ;
42324: LD_EXP 106
42328: PPUSH
42329: LD_INT 12
42331: PPUSH
42332: CALL_OW 245
// SaveCharacters ( omar_forces_random , NewKaaba_folks_13 ) ;
42336: LD_EXP 106
42340: PPUSH
42341: LD_STRING NewKaaba_folks_13
42343: PPUSH
42344: CALL_OW 38
// omar_forces_random = [ ] ;
42348: LD_ADDR_EXP 106
42352: PUSH
42353: EMPTY
42354: ST_TO_ADDR
// temp = unitfilter ( Group_Omar , [ f_class , class_soldier ] ) ;
42355: LD_ADDR_VAR 0 9
42359: PUSH
42360: LD_EXP 9
42364: PPUSH
42365: LD_INT 25
42367: PUSH
42368: LD_INT 1
42370: PUSH
42371: EMPTY
42372: LIST
42373: LIST
42374: PPUSH
42375: CALL_OW 72
42379: ST_TO_ADDR
// setclass ( temp [ 1 ] , class_mortar ) ;
42380: LD_VAR 0 9
42384: PUSH
42385: LD_INT 1
42387: ARRAY
42388: PPUSH
42389: LD_INT 8
42391: PPUSH
42392: CALL_OW 336
// vc_control = control_manual ;
42396: LD_ADDR_OWVAR 38
42400: PUSH
42401: LD_INT 1
42403: ST_TO_ADDR
// vc_engine = engine_combustion ;
42404: LD_ADDR_OWVAR 39
42408: PUSH
42409: LD_INT 1
42411: ST_TO_ADDR
// vc_chassis = Ar_hovercraft ;
42412: LD_ADDR_OWVAR 37
42416: PUSH
42417: LD_INT 11
42419: ST_TO_ADDR
// repeat if rand ( 1 , 2 ) = 1 then
42420: LD_INT 1
42422: PPUSH
42423: LD_INT 2
42425: PPUSH
42426: CALL_OW 12
42430: PUSH
42431: LD_INT 1
42433: EQUAL
42434: IFFALSE 42446
// vc_weapon = ar_double_machine_gun else
42436: LD_ADDR_OWVAR 40
42440: PUSH
42441: LD_INT 24
42443: ST_TO_ADDR
42444: GO 42454
// vc_weapon = ar_light_gun ;
42446: LD_ADDR_OWVAR 40
42450: PUSH
42451: LD_INT 23
42453: ST_TO_ADDR
// veh_type1 = createvehicle ;
42454: LD_ADDR_VAR 0 3
42458: PUSH
42459: CALL_OW 45
42463: ST_TO_ADDR
// placehumaninunit ( temp [ 1 ] , veh_type1 ) ;
42464: LD_VAR 0 9
42468: PUSH
42469: LD_INT 1
42471: ARRAY
42472: PPUSH
42473: LD_VAR 0 3
42477: PPUSH
42478: CALL_OW 52
// temp = delete ( temp , 1 ) ;
42482: LD_ADDR_VAR 0 9
42486: PUSH
42487: LD_VAR 0 9
42491: PPUSH
42492: LD_INT 1
42494: PPUSH
42495: CALL_OW 3
42499: ST_TO_ADDR
// Group_Omar = Group_Omar ^ veh_type1 ;
42500: LD_ADDR_EXP 9
42504: PUSH
42505: LD_EXP 9
42509: PUSH
42510: LD_VAR 0 3
42514: ADD
42515: ST_TO_ADDR
// until Group_Omar = 7 ;
42516: LD_EXP 9
42520: PUSH
42521: LD_INT 7
42523: EQUAL
42524: IFFALSE 42420
// vc_engine = engine_siberite ;
42526: LD_ADDR_OWVAR 39
42530: PUSH
42531: LD_INT 3
42533: ST_TO_ADDR
// vc_chassis = Ar_half_tracked ;
42534: LD_ADDR_OWVAR 37
42538: PUSH
42539: LD_INT 14
42541: ST_TO_ADDR
// repeat temp = unitfilter ( Group_Omar , [ [ f_type , unit_human ] , [ f_not , [ f_driving ] ] ] ) diff mech ;
42542: LD_ADDR_VAR 0 9
42546: PUSH
42547: LD_EXP 9
42551: PPUSH
42552: LD_INT 21
42554: PUSH
42555: LD_INT 1
42557: PUSH
42558: EMPTY
42559: LIST
42560: LIST
42561: PUSH
42562: LD_INT 3
42564: PUSH
42565: LD_INT 55
42567: PUSH
42568: EMPTY
42569: LIST
42570: PUSH
42571: EMPTY
42572: LIST
42573: LIST
42574: PUSH
42575: EMPTY
42576: LIST
42577: LIST
42578: PPUSH
42579: CALL_OW 72
42583: PUSH
42584: LD_VAR 0 18
42588: DIFF
42589: ST_TO_ADDR
// vc_weapon = ar_control_tower ;
42590: LD_ADDR_OWVAR 40
42594: PUSH
42595: LD_INT 31
42597: ST_TO_ADDR
// if Group_Omar = 8 then
42598: LD_EXP 9
42602: PUSH
42603: LD_INT 8
42605: EQUAL
42606: IFFALSE 42616
// vc_weapon = ar_gun ;
42608: LD_ADDR_OWVAR 40
42612: PUSH
42613: LD_INT 27
42615: ST_TO_ADDR
// if Group_Omar = 9 then
42616: LD_EXP 9
42620: PUSH
42621: LD_INT 9
42623: EQUAL
42624: IFFALSE 42634
// vc_weapon = ar_rocket_launcher ;
42626: LD_ADDR_OWVAR 40
42630: PUSH
42631: LD_INT 28
42633: ST_TO_ADDR
// veh_type1 = createvehicle ;
42634: LD_ADDR_VAR 0 3
42638: PUSH
42639: CALL_OW 45
42643: ST_TO_ADDR
// if Group_Omar = 7 then
42644: LD_EXP 9
42648: PUSH
42649: LD_INT 7
42651: EQUAL
42652: IFFALSE 42670
// placehumaninunit ( mech , veh_type1 ) else
42654: LD_VAR 0 18
42658: PPUSH
42659: LD_VAR 0 3
42663: PPUSH
42664: CALL_OW 52
42668: GO 42688
// placehumaninunit ( temp [ 1 ] , veh_type1 ) ;
42670: LD_VAR 0 9
42674: PUSH
42675: LD_INT 1
42677: ARRAY
42678: PPUSH
42679: LD_VAR 0 3
42683: PPUSH
42684: CALL_OW 52
// Group_Omar = Group_Omar ^ veh_type1 ;
42688: LD_ADDR_EXP 9
42692: PUSH
42693: LD_EXP 9
42697: PUSH
42698: LD_VAR 0 3
42702: ADD
42703: ST_TO_ADDR
// until Group_Omar = 10 ;
42704: LD_EXP 9
42708: PUSH
42709: LD_INT 10
42711: EQUAL
42712: IFFALSE 42542
// if rand ( 1 , 2 ) = 1 then
42714: LD_INT 1
42716: PPUSH
42717: LD_INT 2
42719: PPUSH
42720: CALL_OW 12
42724: PUSH
42725: LD_INT 1
42727: EQUAL
42728: IFFALSE 42740
// vc_engine = engine_siberite else
42730: LD_ADDR_OWVAR 39
42734: PUSH
42735: LD_INT 3
42737: ST_TO_ADDR
42738: GO 42748
// vc_engine = engine_combustion ;
42740: LD_ADDR_OWVAR 39
42744: PUSH
42745: LD_INT 1
42747: ST_TO_ADDR
// vc_control = control_remote ;
42748: LD_ADDR_OWVAR 38
42752: PUSH
42753: LD_INT 2
42755: ST_TO_ADDR
// vc_weapon = ar_radar ;
42756: LD_ADDR_OWVAR 40
42760: PUSH
42761: LD_INT 30
42763: ST_TO_ADDR
// veh_type1 = createvehicle ;
42764: LD_ADDR_VAR 0 3
42768: PUSH
42769: CALL_OW 45
42773: ST_TO_ADDR
// Group_Omar = Group_Omar ^ veh_type1 ;
42774: LD_ADDR_EXP 9
42778: PUSH
42779: LD_EXP 9
42783: PUSH
42784: LD_VAR 0 3
42788: ADD
42789: ST_TO_ADDR
// if difficulty < 3 then
42790: LD_OWVAR 67
42794: PUSH
42795: LD_INT 3
42797: LESS
42798: IFFALSE 42891
// begin if difficulty = 2 then
42800: LD_OWVAR 67
42804: PUSH
42805: LD_INT 2
42807: EQUAL
42808: IFFALSE 42849
// begin vc_engine = [ engine_siberite , engine_combustion ] [ rand ( 1 , 2 ) ] ;
42810: LD_ADDR_OWVAR 39
42814: PUSH
42815: LD_INT 3
42817: PUSH
42818: LD_INT 1
42820: PUSH
42821: EMPTY
42822: LIST
42823: LIST
42824: PUSH
42825: LD_INT 1
42827: PPUSH
42828: LD_INT 2
42830: PPUSH
42831: CALL_OW 12
42835: ARRAY
42836: ST_TO_ADDR
// veh_type1 = createvehicle end else
42837: LD_ADDR_VAR 0 3
42841: PUSH
42842: CALL_OW 45
42846: ST_TO_ADDR
42847: GO 42875
// begin vc_engine = engine_combustion ;
42849: LD_ADDR_OWVAR 39
42853: PUSH
42854: LD_INT 1
42856: ST_TO_ADDR
// vc_chassis = Ar_hovercraft ;
42857: LD_ADDR_OWVAR 37
42861: PUSH
42862: LD_INT 11
42864: ST_TO_ADDR
// veh_type1 = createvehicle ;
42865: LD_ADDR_VAR 0 3
42869: PUSH
42870: CALL_OW 45
42874: ST_TO_ADDR
// end ; Group_Omar = Group_Omar ^ veh_type1 ;
42875: LD_ADDR_EXP 9
42879: PUSH
42880: LD_EXP 9
42884: PUSH
42885: LD_VAR 0 3
42889: ADD
42890: ST_TO_ADDR
// end ; if difficulty < 3 then
42891: LD_OWVAR 67
42895: PUSH
42896: LD_INT 3
42898: LESS
42899: IFFALSE 42993
// begin vc_chassis = Ar_half_tracked ;
42901: LD_ADDR_OWVAR 37
42905: PUSH
42906: LD_INT 14
42908: ST_TO_ADDR
// vc_engine = engine_siberite ;
42909: LD_ADDR_OWVAR 39
42913: PUSH
42914: LD_INT 3
42916: ST_TO_ADDR
// vc_weapon = ar_cargo_bay ;
42917: LD_ADDR_OWVAR 40
42921: PUSH
42922: LD_INT 32
42924: ST_TO_ADDR
// veh_type2 = createvehicle ;
42925: LD_ADDR_VAR 0 4
42929: PUSH
42930: CALL_OW 45
42934: ST_TO_ADDR
// Group_Omar = Group_Omar ^ veh_type2 ;
42935: LD_ADDR_EXP 9
42939: PUSH
42940: LD_EXP 9
42944: PUSH
42945: LD_VAR 0 4
42949: ADD
42950: ST_TO_ADDR
// if difficulty = 1 then
42951: LD_OWVAR 67
42955: PUSH
42956: LD_INT 1
42958: EQUAL
42959: IFFALSE 42978
// setcargo ( veh_type2 , mat_oil , 70 ) else
42961: LD_VAR 0 4
42965: PPUSH
42966: LD_INT 2
42968: PPUSH
42969: LD_INT 70
42971: PPUSH
42972: CALL_OW 290
42976: GO 42993
// setcargo ( veh_type2 , mat_oil , 50 ) ;
42978: LD_VAR 0 4
42982: PPUSH
42983: LD_INT 2
42985: PPUSH
42986: LD_INT 50
42988: PPUSH
42989: CALL_OW 290
// end ; repeat roll = rand ( 1 , 3 ) ;
42993: LD_ADDR_VAR 0 13
42997: PUSH
42998: LD_INT 1
43000: PPUSH
43001: LD_INT 3
43003: PPUSH
43004: CALL_OW 12
43008: ST_TO_ADDR
// if roll = 1 then
43009: LD_VAR 0 13
43013: PUSH
43014: LD_INT 1
43016: EQUAL
43017: IFFALSE 43027
// vc_weapon = ar_gatling_gun ;
43019: LD_ADDR_OWVAR 40
43023: PUSH
43024: LD_INT 25
43026: ST_TO_ADDR
// if roll = 2 then
43027: LD_VAR 0 13
43031: PUSH
43032: LD_INT 2
43034: EQUAL
43035: IFFALSE 43045
// vc_weapon = ar_gun ;
43037: LD_ADDR_OWVAR 40
43041: PUSH
43042: LD_INT 27
43044: ST_TO_ADDR
// if roll = 3 then
43045: LD_VAR 0 13
43049: PUSH
43050: LD_INT 3
43052: EQUAL
43053: IFFALSE 43063
// vc_weapon = ar_rocket_launcher ;
43055: LD_ADDR_OWVAR 40
43059: PUSH
43060: LD_INT 28
43062: ST_TO_ADDR
// if Group_Omar = 14 then
43063: LD_EXP 9
43067: PUSH
43068: LD_INT 14
43070: EQUAL
43071: IFFALSE 43081
// vc_weapon = ar_flame_thrower ;
43073: LD_ADDR_OWVAR 40
43077: PUSH
43078: LD_INT 26
43080: ST_TO_ADDR
// if rand ( 1 , 2 ) = 1 then
43081: LD_INT 1
43083: PPUSH
43084: LD_INT 2
43086: PPUSH
43087: CALL_OW 12
43091: PUSH
43092: LD_INT 1
43094: EQUAL
43095: IFFALSE 43107
// vc_chassis = Ar_half_tracked else
43097: LD_ADDR_OWVAR 37
43101: PUSH
43102: LD_INT 14
43104: ST_TO_ADDR
43105: GO 43115
// vc_chassis = ar_medium_trike ;
43107: LD_ADDR_OWVAR 37
43111: PUSH
43112: LD_INT 13
43114: ST_TO_ADDR
// if rand ( 1 , 2 ) = 1 then
43115: LD_INT 1
43117: PPUSH
43118: LD_INT 2
43120: PPUSH
43121: CALL_OW 12
43125: PUSH
43126: LD_INT 1
43128: EQUAL
43129: IFFALSE 43141
// vc_engine = engine_siberite else
43131: LD_ADDR_OWVAR 39
43135: PUSH
43136: LD_INT 3
43138: ST_TO_ADDR
43139: GO 43149
// vc_engine = engine_combustion ;
43141: LD_ADDR_OWVAR 39
43145: PUSH
43146: LD_INT 1
43148: ST_TO_ADDR
// if rand ( 1 , 2 ) = 1 then
43149: LD_INT 1
43151: PPUSH
43152: LD_INT 2
43154: PPUSH
43155: CALL_OW 12
43159: PUSH
43160: LD_INT 1
43162: EQUAL
43163: IFFALSE 43175
// vc_control = control_remote else
43165: LD_ADDR_OWVAR 38
43169: PUSH
43170: LD_INT 2
43172: ST_TO_ADDR
43173: GO 43183
// vc_control = control_apeman ;
43175: LD_ADDR_OWVAR 38
43179: PUSH
43180: LD_INT 5
43182: ST_TO_ADDR
// veh_type1 = createvehicle ;
43183: LD_ADDR_VAR 0 3
43187: PUSH
43188: CALL_OW 45
43192: ST_TO_ADDR
// Group_Omar = Group_Omar ^ veh_type1 ;
43193: LD_ADDR_EXP 9
43197: PUSH
43198: LD_EXP 9
43202: PUSH
43203: LD_VAR 0 3
43207: ADD
43208: ST_TO_ADDR
// until Group_Omar = [ 18 , 18 , 16 ] [ difficulty ] ;
43209: LD_EXP 9
43213: PUSH
43214: LD_INT 18
43216: PUSH
43217: LD_INT 18
43219: PUSH
43220: LD_INT 16
43222: PUSH
43223: EMPTY
43224: LIST
43225: LIST
43226: LIST
43227: PUSH
43228: LD_OWVAR 67
43232: ARRAY
43233: EQUAL
43234: IFFALSE 42993
// Placehumaninunit ( Omar , mastodon ) ;
43236: LD_EXP 99
43240: PPUSH
43241: LD_EXP 207
43245: PPUSH
43246: CALL_OW 52
// Group_Omar = Group_Omar ^ mastodon ;
43250: LD_ADDR_EXP 9
43254: PUSH
43255: LD_EXP 9
43259: PUSH
43260: LD_EXP 207
43264: ADD
43265: ST_TO_ADDR
// Group_Omar = Group_Omar ^ kitty ;
43266: LD_ADDR_EXP 9
43270: PUSH
43271: LD_EXP 9
43275: PUSH
43276: LD_EXP 205
43280: ADD
43281: ST_TO_ADDR
// Group_Omar = Group_Omar ^ cat ;
43282: LD_ADDR_EXP 9
43286: PUSH
43287: LD_EXP 9
43291: PUSH
43292: LD_EXP 206
43296: ADD
43297: ST_TO_ADDR
// if Gonzo in omar_forces_main then
43298: LD_EXP 102
43302: PUSH
43303: LD_EXP 105
43307: IN
43308: IFFALSE 43326
// Group_Omar = Group_Omar ^ Gonzo ;
43310: LD_ADDR_EXP 9
43314: PUSH
43315: LD_EXP 9
43319: PUSH
43320: LD_EXP 102
43324: ADD
43325: ST_TO_ADDR
// result = Group_Omar ;
43326: LD_ADDR_VAR 0 2
43330: PUSH
43331: LD_EXP 9
43335: ST_TO_ADDR
// end ; 8 :
43336: GO 43547
43338: LD_INT 8
43340: DOUBLE
43341: EQUAL
43342: IFTRUE 43346
43344: GO 43546
43346: POP
// begin uc_nation = nation_russian ;
43347: LD_ADDR_OWVAR 21
43351: PUSH
43352: LD_INT 3
43354: ST_TO_ADDR
// uc_side = 3 ;
43355: LD_ADDR_OWVAR 20
43359: PUSH
43360: LD_INT 3
43362: ST_TO_ADDR
// hc_class = class_soldier ;
43363: LD_ADDR_OWVAR 28
43367: PUSH
43368: LD_INT 1
43370: ST_TO_ADDR
// hc_attr = [ 10 , 10 ] ;
43371: LD_ADDR_OWVAR 29
43375: PUSH
43376: LD_INT 10
43378: PUSH
43379: LD_INT 10
43381: PUSH
43382: EMPTY
43383: LIST
43384: LIST
43385: ST_TO_ADDR
// vc_control = control_computer ;
43386: LD_ADDR_OWVAR 38
43390: PUSH
43391: LD_INT 3
43393: ST_TO_ADDR
// vc_engine = engine_combustion ;
43394: LD_ADDR_OWVAR 39
43398: PUSH
43399: LD_INT 1
43401: ST_TO_ADDR
// vc_chassis = ru_medium_wheeled ;
43402: LD_ADDR_OWVAR 37
43406: PUSH
43407: LD_INT 21
43409: ST_TO_ADDR
// roll = rand ( 1 , 5 ) ;
43410: LD_ADDR_VAR 0 13
43414: PUSH
43415: LD_INT 1
43417: PPUSH
43418: LD_INT 5
43420: PPUSH
43421: CALL_OW 12
43425: ST_TO_ADDR
// if roll = 5 then
43426: LD_VAR 0 13
43430: PUSH
43431: LD_INT 5
43433: EQUAL
43434: IFFALSE 43444
// vc_weapon = ru_gun ;
43436: LD_ADDR_OWVAR 40
43440: PUSH
43441: LD_INT 44
43443: ST_TO_ADDR
// if roll = 4 then
43444: LD_VAR 0 13
43448: PUSH
43449: LD_INT 4
43451: EQUAL
43452: IFFALSE 43462
// vc_weapon = ru_rocket_launcher ;
43454: LD_ADDR_OWVAR 40
43458: PUSH
43459: LD_INT 45
43461: ST_TO_ADDR
// if roll < 4 then
43462: LD_VAR 0 13
43466: PUSH
43467: LD_INT 4
43469: LESS
43470: IFFALSE 43480
// vc_weapon = ru_gatling_gun ;
43472: LD_ADDR_OWVAR 40
43476: PUSH
43477: LD_INT 43
43479: ST_TO_ADDR
// roll = rand ( 1 , 3 ) ;
43480: LD_ADDR_VAR 0 13
43484: PUSH
43485: LD_INT 1
43487: PPUSH
43488: LD_INT 3
43490: PPUSH
43491: CALL_OW 12
43495: ST_TO_ADDR
// repeat veh_type1 = createvehicle ;
43496: LD_ADDR_VAR 0 3
43500: PUSH
43501: CALL_OW 45
43505: ST_TO_ADDR
// Group_Hunt = Group_Hunt ^ veh_type1 ;
43506: LD_ADDR_EXP 5
43510: PUSH
43511: LD_EXP 5
43515: PUSH
43516: LD_VAR 0 3
43520: ADD
43521: ST_TO_ADDR
// until Group_Hunt = roll ;
43522: LD_EXP 5
43526: PUSH
43527: LD_VAR 0 13
43531: EQUAL
43532: IFFALSE 43496
// result = Group_Hunt ;
43534: LD_ADDR_VAR 0 2
43538: PUSH
43539: LD_EXP 5
43543: ST_TO_ADDR
// end ; end ;
43544: GO 43547
43546: POP
// end ;
43547: LD_VAR 0 2
43551: RET
// export function Attack ( Group_number , Group_type , Group_pursuing_range ) ; var i , j , seen_arabians , russian_group ; var effective_range , target_unit ; var attack_side_5 , temp_list , temp_list2 , temp_list3 , temp , temp_val , temp_val2 , temp_val3 , temp_hex , attacked_unit , enemy_size , field_size ; var machines , gatlings , rocketls ; begin
43552: LD_INT 0
43554: PPUSH
43555: PPUSH
43556: PPUSH
43557: PPUSH
43558: PPUSH
43559: PPUSH
43560: PPUSH
43561: PPUSH
43562: PPUSH
43563: PPUSH
43564: PPUSH
43565: PPUSH
43566: PPUSH
43567: PPUSH
43568: PPUSH
43569: PPUSH
43570: PPUSH
43571: PPUSH
43572: PPUSH
43573: PPUSH
43574: PPUSH
43575: PPUSH
// russian_group = russians [ Group_number ] ;
43576: LD_ADDR_VAR 0 8
43580: PUSH
43581: LD_EXP 10
43585: PUSH
43586: LD_VAR 0 1
43590: ARRAY
43591: ST_TO_ADDR
// for i = 1 to russian_group do
43592: LD_ADDR_VAR 0 5
43596: PUSH
43597: DOUBLE
43598: LD_INT 1
43600: DEC
43601: ST_TO_ADDR
43602: LD_VAR 0 8
43606: PUSH
43607: FOR_TO
43608: IFFALSE 43653
// if isok ( russian_group [ i ] ) = 0 then
43610: LD_VAR 0 8
43614: PUSH
43615: LD_VAR 0 5
43619: ARRAY
43620: PPUSH
43621: CALL_OW 302
43625: PUSH
43626: LD_INT 0
43628: EQUAL
43629: IFFALSE 43651
// russian_group = delete ( russian_group , i ) ;
43631: LD_ADDR_VAR 0 8
43635: PUSH
43636: LD_VAR 0 8
43640: PPUSH
43641: LD_VAR 0 5
43645: PPUSH
43646: CALL_OW 3
43650: ST_TO_ADDR
43651: GO 43607
43653: POP
43654: POP
// for i = 1 to range_list do
43655: LD_ADDR_VAR 0 5
43659: PUSH
43660: DOUBLE
43661: LD_INT 1
43663: DEC
43664: ST_TO_ADDR
43665: LD_EXP 15
43669: PUSH
43670: FOR_TO
43671: IFFALSE 43703
// if i = Group_number then
43673: LD_VAR 0 5
43677: PUSH
43678: LD_VAR 0 1
43682: EQUAL
43683: IFFALSE 43701
// effective_range = range_list [ i ] ;
43685: LD_ADDR_VAR 0 9
43689: PUSH
43690: LD_EXP 15
43694: PUSH
43695: LD_VAR 0 5
43699: ARRAY
43700: ST_TO_ADDR
43701: GO 43670
43703: POP
43704: POP
// seen_arabians = UnitsInRange ( russian_group , detected_arabians , effective_range ) ;
43705: LD_ADDR_VAR 0 7
43709: PUSH
43710: LD_VAR 0 8
43714: PPUSH
43715: LD_EXP 114
43719: PPUSH
43720: LD_VAR 0 9
43724: PPUSH
43725: CALL 60264 0 3
43729: ST_TO_ADDR
// if seen_arabians > 0 then
43730: LD_VAR 0 7
43734: PUSH
43735: LD_INT 0
43737: GREATER
43738: IFFALSE 54700
// begin case group_type [ 1 ] of 1 :
43740: LD_VAR 0 2
43744: PUSH
43745: LD_INT 1
43747: ARRAY
43748: PUSH
43749: LD_INT 1
43751: DOUBLE
43752: EQUAL
43753: IFTRUE 43757
43755: GO 45651
43757: POP
// begin temp = unitfilter ( russian_group , [ [ f_type , unit_vehicle ] , [ f_control , control_computer ] ] ) ;
43758: LD_ADDR_VAR 0 15
43762: PUSH
43763: LD_VAR 0 8
43767: PPUSH
43768: LD_INT 21
43770: PUSH
43771: LD_INT 2
43773: PUSH
43774: EMPTY
43775: LIST
43776: LIST
43777: PUSH
43778: LD_INT 33
43780: PUSH
43781: LD_INT 3
43783: PUSH
43784: EMPTY
43785: LIST
43786: LIST
43787: PUSH
43788: EMPTY
43789: LIST
43790: LIST
43791: PPUSH
43792: CALL_OW 72
43796: ST_TO_ADDR
// if seen_arabians > 0 then
43797: LD_VAR 0 7
43801: PUSH
43802: LD_INT 0
43804: GREATER
43805: IFFALSE 43941
// begin target_hg = tag ( target_hg , group_number , ClosestUnit ( russian_group , seen_arabians ) ) ;
43807: LD_ADDR_EXP 16
43811: PUSH
43812: LD_EXP 16
43816: PPUSH
43817: LD_VAR 0 1
43821: PPUSH
43822: LD_VAR 0 8
43826: PPUSH
43827: LD_VAR 0 7
43831: PPUSH
43832: CALL 60469 0 2
43836: PPUSH
43837: CALL 59897 0 3
43841: ST_TO_ADDR
// for i in temp do
43842: LD_ADDR_VAR 0 5
43846: PUSH
43847: LD_VAR 0 15
43851: PUSH
43852: FOR_IN
43853: IFFALSE 43939
// if see ( 3 , target_hg [ group_number ] ) or see ( 6 , target_hg [ group_number ] ) then
43855: LD_INT 3
43857: PPUSH
43858: LD_EXP 16
43862: PUSH
43863: LD_VAR 0 1
43867: ARRAY
43868: PPUSH
43869: CALL_OW 292
43873: PUSH
43874: LD_INT 6
43876: PPUSH
43877: LD_EXP 16
43881: PUSH
43882: LD_VAR 0 1
43886: ARRAY
43887: PPUSH
43888: CALL_OW 292
43892: OR
43893: IFFALSE 43917
// comattackunit ( i , target_hg [ group_number ] ) else
43895: LD_VAR 0 5
43899: PPUSH
43900: LD_EXP 16
43904: PUSH
43905: LD_VAR 0 1
43909: ARRAY
43910: PPUSH
43911: CALL_OW 115
43915: GO 43937
// commoveunit ( i , target_hg [ group_number ] ) ;
43917: LD_VAR 0 5
43921: PPUSH
43922: LD_EXP 16
43926: PUSH
43927: LD_VAR 0 1
43931: ARRAY
43932: PPUSH
43933: CALL_OW 112
43937: GO 43852
43939: POP
43940: POP
// end ; temp = unitfilter ( russian_group , [ f_class , class_bazooker ] ) ;
43941: LD_ADDR_VAR 0 15
43945: PUSH
43946: LD_VAR 0 8
43950: PPUSH
43951: LD_INT 25
43953: PUSH
43954: LD_INT 9
43956: PUSH
43957: EMPTY
43958: LIST
43959: LIST
43960: PPUSH
43961: CALL_OW 72
43965: ST_TO_ADDR
// if temp > 0 then
43966: LD_VAR 0 15
43970: PUSH
43971: LD_INT 0
43973: GREATER
43974: IFFALSE 45417
// begin target_bazooka = tag ( target_bazooka , group_number , 0 ) ;
43976: LD_ADDR_EXP 19
43980: PUSH
43981: LD_EXP 19
43985: PPUSH
43986: LD_VAR 0 1
43990: PPUSH
43991: LD_INT 0
43993: PPUSH
43994: CALL 59897 0 3
43998: ST_TO_ADDR
// temp_list = unitfilter ( seen_arabians , [ f_dist , russian_group [ 1 ] , 13 ] ) ;
43999: LD_ADDR_VAR 0 12
44003: PUSH
44004: LD_VAR 0 7
44008: PPUSH
44009: LD_INT 91
44011: PUSH
44012: LD_VAR 0 8
44016: PUSH
44017: LD_INT 1
44019: ARRAY
44020: PUSH
44021: LD_INT 13
44023: PUSH
44024: EMPTY
44025: LIST
44026: LIST
44027: LIST
44028: PPUSH
44029: CALL_OW 72
44033: ST_TO_ADDR
// temp_list2 = [ ] ;
44034: LD_ADDR_VAR 0 13
44038: PUSH
44039: EMPTY
44040: ST_TO_ADDR
// for i in temp_list do
44041: LD_ADDR_VAR 0 5
44045: PUSH
44046: LD_VAR 0 12
44050: PUSH
44051: FOR_IN
44052: IFFALSE 44077
// temp_list2 = temp_list2 ^ getlives ( i ) ;
44054: LD_ADDR_VAR 0 13
44058: PUSH
44059: LD_VAR 0 13
44063: PUSH
44064: LD_VAR 0 5
44068: PPUSH
44069: CALL_OW 256
44073: ADD
44074: ST_TO_ADDR
44075: GO 44051
44077: POP
44078: POP
// temp_list = WorstFromListByList ( temp_list , temp_list2 ) ;
44079: LD_ADDR_VAR 0 12
44083: PUSH
44084: LD_VAR 0 12
44088: PPUSH
44089: LD_VAR 0 13
44093: PPUSH
44094: CALL_OW 78
44098: ST_TO_ADDR
// for i in seen_arabians do
44099: LD_ADDR_VAR 0 5
44103: PUSH
44104: LD_VAR 0 7
44108: PUSH
44109: FOR_IN
44110: IFFALSE 44154
// if getdistunits ( i , russian_group [ 1 ] ) > 13 then
44112: LD_VAR 0 5
44116: PPUSH
44117: LD_VAR 0 8
44121: PUSH
44122: LD_INT 1
44124: ARRAY
44125: PPUSH
44126: CALL_OW 296
44130: PUSH
44131: LD_INT 13
44133: GREATER
44134: IFFALSE 44152
// temp_list = temp_list ^ i ;
44136: LD_ADDR_VAR 0 12
44140: PUSH
44141: LD_VAR 0 12
44145: PUSH
44146: LD_VAR 0 5
44150: ADD
44151: ST_TO_ADDR
44152: GO 44109
44154: POP
44155: POP
// if temp_list [ 1 ] = 0 then
44156: LD_VAR 0 12
44160: PUSH
44161: LD_INT 1
44163: ARRAY
44164: PUSH
44165: LD_INT 0
44167: EQUAL
44168: IFFALSE 44188
// temp_list = delete ( temp_list , 1 ) ;
44170: LD_ADDR_VAR 0 12
44174: PUSH
44175: LD_VAR 0 12
44179: PPUSH
44180: LD_INT 1
44182: PPUSH
44183: CALL_OW 3
44187: ST_TO_ADDR
// if unitfilter ( temp_list , [ [ f_and , [ f_type , unit_vehicle ] , [ f_or , [ f_weapon , ar_control_tower ] , [ f_weapon , ar_radar ] ] ] ] ) > 0 then
44188: LD_VAR 0 12
44192: PPUSH
44193: LD_INT 1
44195: PUSH
44196: LD_INT 21
44198: PUSH
44199: LD_INT 2
44201: PUSH
44202: EMPTY
44203: LIST
44204: LIST
44205: PUSH
44206: LD_INT 2
44208: PUSH
44209: LD_INT 34
44211: PUSH
44212: LD_INT 31
44214: PUSH
44215: EMPTY
44216: LIST
44217: LIST
44218: PUSH
44219: LD_INT 34
44221: PUSH
44222: LD_INT 30
44224: PUSH
44225: EMPTY
44226: LIST
44227: LIST
44228: PUSH
44229: EMPTY
44230: LIST
44231: LIST
44232: LIST
44233: PUSH
44234: EMPTY
44235: LIST
44236: LIST
44237: LIST
44238: PUSH
44239: EMPTY
44240: LIST
44241: PPUSH
44242: CALL_OW 72
44246: PUSH
44247: LD_INT 0
44249: GREATER
44250: IFFALSE 44335
// target_bazooka = tag ( target_bazooka , group_number , unitfilter ( temp_list , [ [ f_and , [ f_type , unit_vehicle ] , [ f_or , [ f_weapon , ar_control_tower ] , [ f_weapon , ar_radar ] ] ] ] ) [ 1 ] ) ;
44252: LD_ADDR_EXP 19
44256: PUSH
44257: LD_EXP 19
44261: PPUSH
44262: LD_VAR 0 1
44266: PPUSH
44267: LD_VAR 0 12
44271: PPUSH
44272: LD_INT 1
44274: PUSH
44275: LD_INT 21
44277: PUSH
44278: LD_INT 2
44280: PUSH
44281: EMPTY
44282: LIST
44283: LIST
44284: PUSH
44285: LD_INT 2
44287: PUSH
44288: LD_INT 34
44290: PUSH
44291: LD_INT 31
44293: PUSH
44294: EMPTY
44295: LIST
44296: LIST
44297: PUSH
44298: LD_INT 34
44300: PUSH
44301: LD_INT 30
44303: PUSH
44304: EMPTY
44305: LIST
44306: LIST
44307: PUSH
44308: EMPTY
44309: LIST
44310: LIST
44311: LIST
44312: PUSH
44313: EMPTY
44314: LIST
44315: LIST
44316: LIST
44317: PUSH
44318: EMPTY
44319: LIST
44320: PPUSH
44321: CALL_OW 72
44325: PUSH
44326: LD_INT 1
44328: ARRAY
44329: PPUSH
44330: CALL 59897 0 3
44334: ST_TO_ADDR
// if unitfilter ( temp_list , [ f_type , unit_vehicle ] ) > 0 and target_bazooka [ group_number ] = 0 then
44335: LD_VAR 0 12
44339: PPUSH
44340: LD_INT 21
44342: PUSH
44343: LD_INT 2
44345: PUSH
44346: EMPTY
44347: LIST
44348: LIST
44349: PPUSH
44350: CALL_OW 72
44354: PUSH
44355: LD_INT 0
44357: GREATER
44358: PUSH
44359: LD_EXP 19
44363: PUSH
44364: LD_VAR 0 1
44368: ARRAY
44369: PUSH
44370: LD_INT 0
44372: EQUAL
44373: AND
44374: IFFALSE 44420
// target_bazooka = tag ( target_bazooka , group_number , unitfilter ( temp_list , [ f_type , unit_vehicle ] ) [ 1 ] ) ;
44376: LD_ADDR_EXP 19
44380: PUSH
44381: LD_EXP 19
44385: PPUSH
44386: LD_VAR 0 1
44390: PPUSH
44391: LD_VAR 0 12
44395: PPUSH
44396: LD_INT 21
44398: PUSH
44399: LD_INT 2
44401: PUSH
44402: EMPTY
44403: LIST
44404: LIST
44405: PPUSH
44406: CALL_OW 72
44410: PUSH
44411: LD_INT 1
44413: ARRAY
44414: PPUSH
44415: CALL 59897 0 3
44419: ST_TO_ADDR
// if unitfilter ( temp_list , [ f_and , [ f_type , unit_human ] , [ f_class , class_mortar ] ] ) > 0 and target_bazooka [ group_number ] = 0 then
44420: LD_VAR 0 12
44424: PPUSH
44425: LD_INT 1
44427: PUSH
44428: LD_INT 21
44430: PUSH
44431: LD_INT 1
44433: PUSH
44434: EMPTY
44435: LIST
44436: LIST
44437: PUSH
44438: LD_INT 25
44440: PUSH
44441: LD_INT 8
44443: PUSH
44444: EMPTY
44445: LIST
44446: LIST
44447: PUSH
44448: EMPTY
44449: LIST
44450: LIST
44451: LIST
44452: PPUSH
44453: CALL_OW 72
44457: PUSH
44458: LD_INT 0
44460: GREATER
44461: PUSH
44462: LD_EXP 19
44466: PUSH
44467: LD_VAR 0 1
44471: ARRAY
44472: PUSH
44473: LD_INT 0
44475: EQUAL
44476: AND
44477: IFFALSE 44541
// target_bazooka = tag ( target_bazooka , group_number , unitfilter ( temp_list , [ f_and , [ f_type , unit_human ] , [ f_class , class_mortar ] ] ) [ 1 ] ) ;
44479: LD_ADDR_EXP 19
44483: PUSH
44484: LD_EXP 19
44488: PPUSH
44489: LD_VAR 0 1
44493: PPUSH
44494: LD_VAR 0 12
44498: PPUSH
44499: LD_INT 1
44501: PUSH
44502: LD_INT 21
44504: PUSH
44505: LD_INT 1
44507: PUSH
44508: EMPTY
44509: LIST
44510: LIST
44511: PUSH
44512: LD_INT 25
44514: PUSH
44515: LD_INT 8
44517: PUSH
44518: EMPTY
44519: LIST
44520: LIST
44521: PUSH
44522: EMPTY
44523: LIST
44524: LIST
44525: LIST
44526: PPUSH
44527: CALL_OW 72
44531: PUSH
44532: LD_INT 1
44534: ARRAY
44535: PPUSH
44536: CALL 59897 0 3
44540: ST_TO_ADDR
// if target_bazooka [ group_number ] = 0 then
44541: LD_EXP 19
44545: PUSH
44546: LD_VAR 0 1
44550: ARRAY
44551: PUSH
44552: LD_INT 0
44554: EQUAL
44555: IFFALSE 44586
// target_bazooka = tag ( target_bazooka , group_number , temp_list [ 1 ] ) ;
44557: LD_ADDR_EXP 19
44561: PUSH
44562: LD_EXP 19
44566: PPUSH
44567: LD_VAR 0 1
44571: PPUSH
44572: LD_VAR 0 12
44576: PUSH
44577: LD_INT 1
44579: ARRAY
44580: PPUSH
44581: CALL 59897 0 3
44585: ST_TO_ADDR
// temp_val3 = 200 ;
44586: LD_ADDR_VAR 0 18
44590: PUSH
44591: LD_INT 200
44593: ST_TO_ADDR
// if gettech ( tech_ST1 , 3 ) = state_researched then
44594: LD_INT 63
44596: PPUSH
44597: LD_INT 3
44599: PPUSH
44600: CALL_OW 321
44604: PUSH
44605: LD_INT 2
44607: EQUAL
44608: IFFALSE 44618
// temp_val3 = 300 ;
44610: LD_ADDR_VAR 0 18
44614: PUSH
44615: LD_INT 300
44617: ST_TO_ADDR
// if gettech ( tech_ST2 , 3 ) = state_researched then
44618: LD_INT 64
44620: PPUSH
44621: LD_INT 3
44623: PPUSH
44624: CALL_OW 321
44628: PUSH
44629: LD_INT 2
44631: EQUAL
44632: IFFALSE 44642
// temp_val3 = 400 ;
44634: LD_ADDR_VAR 0 18
44638: PUSH
44639: LD_INT 400
44641: ST_TO_ADDR
// temp_list = unitfilter ( russian_group , [ f_empty ] ) ;
44642: LD_ADDR_VAR 0 12
44646: PUSH
44647: LD_VAR 0 8
44651: PPUSH
44652: LD_INT 58
44654: PUSH
44655: EMPTY
44656: LIST
44657: PPUSH
44658: CALL_OW 72
44662: ST_TO_ADDR
// for i in temp do
44663: LD_ADDR_VAR 0 5
44667: PUSH
44668: LD_VAR 0 15
44672: PUSH
44673: FOR_IN
44674: IFFALSE 45415
// if GetDistUnits ( i , target_bazooka [ group_number ] ) > 10 then
44676: LD_VAR 0 5
44680: PPUSH
44681: LD_EXP 19
44685: PUSH
44686: LD_VAR 0 1
44690: ARRAY
44691: PPUSH
44692: CALL_OW 296
44696: PUSH
44697: LD_INT 10
44699: GREATER
44700: IFFALSE 44758
// begin if temp_list > 0 then
44702: LD_VAR 0 12
44706: PUSH
44707: LD_INT 0
44709: GREATER
44710: IFFALSE 44736
// comenterunit ( i , nearestunittounit ( temp_list , i ) ) ;
44712: LD_VAR 0 5
44716: PPUSH
44717: LD_VAR 0 12
44721: PPUSH
44722: LD_VAR 0 5
44726: PPUSH
44727: CALL_OW 74
44731: PPUSH
44732: CALL_OW 120
// addcommoveunit ( i , target_bazooka [ group_number ] ) ;
44736: LD_VAR 0 5
44740: PPUSH
44741: LD_EXP 19
44745: PUSH
44746: LD_VAR 0 1
44750: ARRAY
44751: PPUSH
44752: CALL_OW 172
// end else
44756: GO 45413
// begin if isinunit ( i ) then
44758: LD_VAR 0 5
44762: PPUSH
44763: CALL_OW 310
44767: IFFALSE 44778
// comexitvehicle ( i ) ;
44769: LD_VAR 0 5
44773: PPUSH
44774: CALL_OW 121
// if bazooka_engagetime [ group_number ] = 999 999$0 then
44778: LD_EXP 20
44782: PUSH
44783: LD_VAR 0 1
44787: ARRAY
44788: PUSH
44789: LD_INT 2097900
44791: EQUAL
44792: IFFALSE 44825
// bazooka_engagetime = tag ( bazooka_engagetime , group_number , tick - temp_val3 ) ;
44794: LD_ADDR_EXP 20
44798: PUSH
44799: LD_EXP 20
44803: PPUSH
44804: LD_VAR 0 1
44808: PPUSH
44809: LD_OWVAR 1
44813: PUSH
44814: LD_VAR 0 18
44818: MINUS
44819: PPUSH
44820: CALL 59897 0 3
44824: ST_TO_ADDR
// if unitfilter ( russian_group , [ f_weapon , ru_time_lapser ] ) > 0 and unitfilter ( russian_group , [ f_weapon , ru_heavy_gun ] ) > 1 then
44825: LD_VAR 0 8
44829: PPUSH
44830: LD_INT 34
44832: PUSH
44833: LD_INT 49
44835: PUSH
44836: EMPTY
44837: LIST
44838: LIST
44839: PPUSH
44840: CALL_OW 72
44844: PUSH
44845: LD_INT 0
44847: GREATER
44848: PUSH
44849: LD_VAR 0 8
44853: PPUSH
44854: LD_INT 34
44856: PUSH
44857: LD_INT 46
44859: PUSH
44860: EMPTY
44861: LIST
44862: LIST
44863: PPUSH
44864: CALL_OW 72
44868: PUSH
44869: LD_INT 1
44871: GREATER
44872: AND
44873: IFFALSE 45171
// begin field_size = 8 ;
44875: LD_ADDR_VAR 0 22
44879: PUSH
44880: LD_INT 8
44882: ST_TO_ADDR
// if gettech ( tech_ST2 , 3 ) = state_researched then
44883: LD_INT 64
44885: PPUSH
44886: LD_INT 3
44888: PPUSH
44889: CALL_OW 321
44893: PUSH
44894: LD_INT 2
44896: EQUAL
44897: IFFALSE 44907
// field_size = 10 ;
44899: LD_ADDR_VAR 0 22
44903: PUSH
44904: LD_INT 10
44906: ST_TO_ADDR
// if gettech ( tech_ST3 , 3 ) = state_researched then
44907: LD_INT 65
44909: PPUSH
44910: LD_INT 3
44912: PPUSH
44913: CALL_OW 321
44917: PUSH
44918: LD_INT 2
44920: EQUAL
44921: IFFALSE 44931
// field_size = 12 ;
44923: LD_ADDR_VAR 0 22
44927: PUSH
44928: LD_INT 12
44930: ST_TO_ADDR
// if unitfilter ( russian_group , [ f_weapon , ru_time_lapser ] ) > 1 then
44931: LD_VAR 0 8
44935: PPUSH
44936: LD_INT 34
44938: PUSH
44939: LD_INT 49
44941: PUSH
44942: EMPTY
44943: LIST
44944: LIST
44945: PPUSH
44946: CALL_OW 72
44950: PUSH
44951: LD_INT 1
44953: GREATER
44954: IFFALSE 44970
// field_size = field_size + 2 ;
44956: LD_ADDR_VAR 0 22
44960: PUSH
44961: LD_VAR 0 22
44965: PUSH
44966: LD_INT 2
44968: PLUS
44969: ST_TO_ADDR
// if getdistunits ( unitfilter ( russian_group , [ f_weapon , ru_time_lapser ] ) [ 1 ] , target_bazooka [ group_number ] ) > field_size and getdistunits ( unitfilter ( russian_group , [ f_weapon , ru_time_lapser ] ) [ 1 ] , target_bazooka [ group_number ] ) < field_size + 8 then
44970: LD_VAR 0 8
44974: PPUSH
44975: LD_INT 34
44977: PUSH
44978: LD_INT 49
44980: PUSH
44981: EMPTY
44982: LIST
44983: LIST
44984: PPUSH
44985: CALL_OW 72
44989: PUSH
44990: LD_INT 1
44992: ARRAY
44993: PPUSH
44994: LD_EXP 19
44998: PUSH
44999: LD_VAR 0 1
45003: ARRAY
45004: PPUSH
45005: CALL_OW 296
45009: PUSH
45010: LD_VAR 0 22
45014: GREATER
45015: PUSH
45016: LD_VAR 0 8
45020: PPUSH
45021: LD_INT 34
45023: PUSH
45024: LD_INT 49
45026: PUSH
45027: EMPTY
45028: LIST
45029: LIST
45030: PPUSH
45031: CALL_OW 72
45035: PUSH
45036: LD_INT 1
45038: ARRAY
45039: PPUSH
45040: LD_EXP 19
45044: PUSH
45045: LD_VAR 0 1
45049: ARRAY
45050: PPUSH
45051: CALL_OW 296
45055: PUSH
45056: LD_VAR 0 22
45060: PUSH
45061: LD_INT 8
45063: PLUS
45064: LESS
45065: AND
45066: IFFALSE 45169
// begin temp_val = unitfilter ( russian_group , [ f_weapon , ru_time_lapser ] ) ;
45068: LD_ADDR_VAR 0 16
45072: PUSH
45073: LD_VAR 0 8
45077: PPUSH
45078: LD_INT 34
45080: PUSH
45081: LD_INT 49
45083: PUSH
45084: EMPTY
45085: LIST
45086: LIST
45087: PPUSH
45088: CALL_OW 72
45092: ST_TO_ADDR
// temp_hex = SpaceRocketTargeting ( getx ( temp_val [ 1 ] ) , gety ( temp_val [ 1 ] ) , target_bazooka [ group_number ] ) ;
45093: LD_ADDR_VAR 0 19
45097: PUSH
45098: LD_VAR 0 16
45102: PUSH
45103: LD_INT 1
45105: ARRAY
45106: PPUSH
45107: CALL_OW 250
45111: PPUSH
45112: LD_VAR 0 16
45116: PUSH
45117: LD_INT 1
45119: ARRAY
45120: PPUSH
45121: CALL_OW 251
45125: PPUSH
45126: LD_EXP 19
45130: PUSH
45131: LD_VAR 0 1
45135: ARRAY
45136: PPUSH
45137: CALL 56887 0 3
45141: ST_TO_ADDR
// comspaceshift ( i , temp_hex [ 1 ] , temp_hex [ 2 ] ) ;
45142: LD_VAR 0 5
45146: PPUSH
45147: LD_VAR 0 19
45151: PUSH
45152: LD_INT 1
45154: ARRAY
45155: PPUSH
45156: LD_VAR 0 19
45160: PUSH
45161: LD_INT 2
45163: ARRAY
45164: PPUSH
45165: CALL_OW 153
// end ; end else
45169: GO 45261
// begin if tick > bazooka_engagetime [ group_number ] + temp_val3 then
45171: LD_OWVAR 1
45175: PUSH
45176: LD_EXP 20
45180: PUSH
45181: LD_VAR 0 1
45185: ARRAY
45186: PUSH
45187: LD_VAR 0 18
45191: PLUS
45192: GREATER
45193: IFFALSE 45261
// begin comtimeshift ( i , getx ( target_bazooka [ group_number ] ) , gety ( target_bazooka [ group_number ] ) ) ;
45195: LD_VAR 0 5
45199: PPUSH
45200: LD_EXP 19
45204: PUSH
45205: LD_VAR 0 1
45209: ARRAY
45210: PPUSH
45211: CALL_OW 250
45215: PPUSH
45216: LD_EXP 19
45220: PUSH
45221: LD_VAR 0 1
45225: ARRAY
45226: PPUSH
45227: CALL_OW 251
45231: PPUSH
45232: CALL_OW 154
// bazooka_engagetime = tag ( bazooka_engagetime , group_number , tick ) ;
45236: LD_ADDR_EXP 20
45240: PUSH
45241: LD_EXP 20
45245: PPUSH
45246: LD_VAR 0 1
45250: PPUSH
45251: LD_OWVAR 1
45255: PPUSH
45256: CALL 59897 0 3
45260: ST_TO_ADDR
// end ; end ; temp_val = 0 ;
45261: LD_ADDR_VAR 0 16
45265: PUSH
45266: LD_INT 0
45268: ST_TO_ADDR
// if hastask ( i ) [ 1 ] [ 1 ] = A or hastask ( i ) [ 1 ] [ 1 ] = % or hastask ( i ) [ 1 ] [ 1 ] = & then
45269: LD_VAR 0 5
45273: PPUSH
45274: CALL_OW 314
45278: PUSH
45279: LD_INT 1
45281: ARRAY
45282: PUSH
45283: LD_INT 1
45285: ARRAY
45286: PUSH
45287: LD_STRING A
45289: EQUAL
45290: PUSH
45291: LD_VAR 0 5
45295: PPUSH
45296: CALL_OW 314
45300: PUSH
45301: LD_INT 1
45303: ARRAY
45304: PUSH
45305: LD_INT 1
45307: ARRAY
45308: PUSH
45309: LD_STRING %
45311: EQUAL
45312: OR
45313: PUSH
45314: LD_VAR 0 5
45318: PPUSH
45319: CALL_OW 314
45323: PUSH
45324: LD_INT 1
45326: ARRAY
45327: PUSH
45328: LD_INT 1
45330: ARRAY
45331: PUSH
45332: LD_STRING &
45334: EQUAL
45335: OR
45336: IFFALSE 45346
// temp_val = 1 ;
45338: LD_ADDR_VAR 0 16
45342: PUSH
45343: LD_INT 1
45345: ST_TO_ADDR
// if hastask ( i ) = 0 then
45346: LD_VAR 0 5
45350: PPUSH
45351: CALL_OW 314
45355: PUSH
45356: LD_INT 0
45358: EQUAL
45359: IFFALSE 45383
// comattackunit ( i , target_bazooka [ group_number ] ) else
45361: LD_VAR 0 5
45365: PPUSH
45366: LD_EXP 19
45370: PUSH
45371: LD_VAR 0 1
45375: ARRAY
45376: PPUSH
45377: CALL_OW 115
45381: GO 45413
// if temp_val = 0 then
45383: LD_VAR 0 16
45387: PUSH
45388: LD_INT 0
45390: EQUAL
45391: IFFALSE 45413
// comattackunit ( i , target_bazooka [ group_number ] ) ;
45393: LD_VAR 0 5
45397: PPUSH
45398: LD_EXP 19
45402: PUSH
45403: LD_VAR 0 1
45407: ARRAY
45408: PPUSH
45409: CALL_OW 115
// end ;
45413: GO 44673
45415: POP
45416: POP
// end ; temp = unitfilter ( russian_group , [ f_weapon , ru_time_lapser ] ) ;
45417: LD_ADDR_VAR 0 15
45421: PUSH
45422: LD_VAR 0 8
45426: PPUSH
45427: LD_INT 34
45429: PUSH
45430: LD_INT 49
45432: PUSH
45433: EMPTY
45434: LIST
45435: LIST
45436: PPUSH
45437: CALL_OW 72
45441: ST_TO_ADDR
// if temp > 0 then
45442: LD_VAR 0 15
45446: PUSH
45447: LD_INT 0
45449: GREATER
45450: IFFALSE 45649
// begin if unitfilter ( russian_group , [ f_weapon , ru_heavy_gun ] ) > 0 then
45452: LD_VAR 0 8
45456: PPUSH
45457: LD_INT 34
45459: PUSH
45460: LD_INT 46
45462: PUSH
45463: EMPTY
45464: LIST
45465: LIST
45466: PPUSH
45467: CALL_OW 72
45471: PUSH
45472: LD_INT 0
45474: GREATER
45475: IFFALSE 45586
// begin temp_hex = AverageGroupPos ( unitfilter ( russian_group , [ f_weapon , ru_heavy_gun ] ) ) ;
45477: LD_ADDR_VAR 0 19
45481: PUSH
45482: LD_VAR 0 8
45486: PPUSH
45487: LD_INT 34
45489: PUSH
45490: LD_INT 46
45492: PUSH
45493: EMPTY
45494: LIST
45495: LIST
45496: PPUSH
45497: CALL_OW 72
45501: PPUSH
45502: CALL 60820 0 1
45506: ST_TO_ADDR
// for i in temp do
45507: LD_ADDR_VAR 0 5
45511: PUSH
45512: LD_VAR 0 15
45516: PUSH
45517: FOR_IN
45518: IFFALSE 45582
// if getdistunitxy ( i , temp_hex [ 1 ] , temp_hex [ 2 ] ) > 5 then
45520: LD_VAR 0 5
45524: PPUSH
45525: LD_VAR 0 19
45529: PUSH
45530: LD_INT 1
45532: ARRAY
45533: PPUSH
45534: LD_VAR 0 19
45538: PUSH
45539: LD_INT 2
45541: ARRAY
45542: PPUSH
45543: CALL_OW 297
45547: PUSH
45548: LD_INT 5
45550: GREATER
45551: IFFALSE 45580
// commovexy ( i , temp_hex [ 1 ] , temp_hex [ 2 ] ) ;
45553: LD_VAR 0 5
45557: PPUSH
45558: LD_VAR 0 19
45562: PUSH
45563: LD_INT 1
45565: ARRAY
45566: PPUSH
45567: LD_VAR 0 19
45571: PUSH
45572: LD_INT 2
45574: ARRAY
45575: PPUSH
45576: CALL_OW 111
45580: GO 45517
45582: POP
45583: POP
// end else
45584: GO 45649
// for i in temp do
45586: LD_ADDR_VAR 0 5
45590: PUSH
45591: LD_VAR 0 15
45595: PUSH
45596: FOR_IN
45597: IFFALSE 45647
// commoveunit ( i , nearestunittounit ( unitfilter ( russian_group , [ f_not , [ f_weapon , ru_time_lapser ] ] ) , i ) ) ;
45599: LD_VAR 0 5
45603: PPUSH
45604: LD_VAR 0 8
45608: PPUSH
45609: LD_INT 3
45611: PUSH
45612: LD_INT 34
45614: PUSH
45615: LD_INT 49
45617: PUSH
45618: EMPTY
45619: LIST
45620: LIST
45621: PUSH
45622: EMPTY
45623: LIST
45624: LIST
45625: PPUSH
45626: CALL_OW 72
45630: PPUSH
45631: LD_VAR 0 5
45635: PPUSH
45636: CALL_OW 74
45640: PPUSH
45641: CALL_OW 112
45645: GO 45596
45647: POP
45648: POP
// end ; end ; 2 :
45649: GO 54698
45651: LD_INT 2
45653: DOUBLE
45654: EQUAL
45655: IFTRUE 45659
45657: GO 46247
45659: POP
// begin if seen_arabians > 0 then
45660: LD_VAR 0 7
45664: PUSH
45665: LD_INT 0
45667: GREATER
45668: IFFALSE 46245
// begin enemy_size = 0 ;
45670: LD_ADDR_VAR 0 21
45674: PUSH
45675: LD_INT 0
45677: ST_TO_ADDR
// for i in seen_arabians do
45678: LD_ADDR_VAR 0 5
45682: PUSH
45683: LD_VAR 0 7
45687: PUSH
45688: FOR_IN
45689: IFFALSE 45858
// begin if getType ( i ) = unit_vehicle then
45691: LD_VAR 0 5
45695: PPUSH
45696: CALL_OW 247
45700: PUSH
45701: LD_INT 2
45703: EQUAL
45704: IFFALSE 45752
// if getweapon ( i ) = ar_gun then
45706: LD_VAR 0 5
45710: PPUSH
45711: CALL_OW 264
45715: PUSH
45716: LD_INT 27
45718: EQUAL
45719: IFFALSE 45738
// enemy_size = enemy_size + 1.333 else
45721: LD_ADDR_VAR 0 21
45725: PUSH
45726: LD_VAR 0 21
45730: PUSH
45731: LD_REAL  1.33300000000000E+0000
45734: PLUS
45735: ST_TO_ADDR
45736: GO 45752
// enemy_size = enemy_size + 1 ;
45738: LD_ADDR_VAR 0 21
45742: PUSH
45743: LD_VAR 0 21
45747: PUSH
45748: LD_INT 1
45750: PLUS
45751: ST_TO_ADDR
// if getclass ( i ) = class_mortar then
45752: LD_VAR 0 5
45756: PPUSH
45757: CALL_OW 257
45761: PUSH
45762: LD_INT 8
45764: EQUAL
45765: IFFALSE 45781
// enemy_size = enemy_size + 1 ;
45767: LD_ADDR_VAR 0 21
45771: PUSH
45772: LD_VAR 0 21
45776: PUSH
45777: LD_INT 1
45779: PLUS
45780: ST_TO_ADDR
// if getclass ( i ) = class_soldier then
45781: LD_VAR 0 5
45785: PPUSH
45786: CALL_OW 257
45790: PUSH
45791: LD_INT 1
45793: EQUAL
45794: IFFALSE 45811
// enemy_size = enemy_size + 0.5 ;
45796: LD_ADDR_VAR 0 21
45800: PUSH
45801: LD_VAR 0 21
45805: PUSH
45806: LD_REAL  5.00000000000000E-0001
45809: PLUS
45810: ST_TO_ADDR
// if getclass ( i ) = class_apeman_soldier or getclass ( i ) = class_apeman_kamikaze then
45811: LD_VAR 0 5
45815: PPUSH
45816: CALL_OW 257
45820: PUSH
45821: LD_INT 15
45823: EQUAL
45824: PUSH
45825: LD_VAR 0 5
45829: PPUSH
45830: CALL_OW 257
45834: PUSH
45835: LD_INT 17
45837: EQUAL
45838: OR
45839: IFFALSE 45856
// enemy_size = enemy_size + 0.25 ;
45841: LD_ADDR_VAR 0 21
45845: PUSH
45846: LD_VAR 0 21
45850: PUSH
45851: LD_REAL  2.50000000000000E-0001
45854: PLUS
45855: ST_TO_ADDR
// end ;
45856: GO 45688
45858: POP
45859: POP
// if enemy_size < 3.99 then
45860: LD_VAR 0 21
45864: PUSH
45865: LD_REAL  3.99000000000000E+0000
45868: LESS
45869: IFFALSE 45949
// begin if Target_List [ group_number ] = - 1 then
45871: LD_EXP 14
45875: PUSH
45876: LD_VAR 0 1
45880: ARRAY
45881: PUSH
45882: LD_INT 1
45884: NEG
45885: EQUAL
45886: IFFALSE 45913
// begin ru_groupstatus = tag ( ru_groupstatus , group_number , 0 ) ;
45888: LD_ADDR_EXP 23
45892: PUSH
45893: LD_EXP 23
45897: PPUSH
45898: LD_VAR 0 1
45902: PPUSH
45903: LD_INT 0
45905: PPUSH
45906: CALL 59897 0 3
45910: ST_TO_ADDR
// exit ;
45911: GO 54876
// end ; target_unit = ClosestUnit ( russian_group , seen_arabians ) ;
45913: LD_ADDR_VAR 0 10
45917: PUSH
45918: LD_VAR 0 8
45922: PPUSH
45923: LD_VAR 0 7
45927: PPUSH
45928: CALL 60469 0 2
45932: ST_TO_ADDR
// comattackunit ( russian_group , target_unit ) ;
45933: LD_VAR 0 8
45937: PPUSH
45938: LD_VAR 0 10
45942: PPUSH
45943: CALL_OW 115
// end else
45947: GO 46245
// begin temp = getdistunitxy ( russian_group [ 1 ] , scout_getaway [ 1 ] [ 1 ] , scout_getaway [ 1 ] [ 2 ] ) ;
45949: LD_ADDR_VAR 0 15
45953: PUSH
45954: LD_VAR 0 8
45958: PUSH
45959: LD_INT 1
45961: ARRAY
45962: PPUSH
45963: LD_EXP 65
45967: PUSH
45968: LD_INT 1
45970: ARRAY
45971: PUSH
45972: LD_INT 1
45974: ARRAY
45975: PPUSH
45976: LD_EXP 65
45980: PUSH
45981: LD_INT 1
45983: ARRAY
45984: PUSH
45985: LD_INT 2
45987: ARRAY
45988: PPUSH
45989: CALL_OW 297
45993: ST_TO_ADDR
// ru_paths = tag ( ru_paths , group_number , [ [ scout_getaway [ 1 ] [ 1 ] , scout_getaway [ 1 ] [ 2 ] ] ] ) ;
45994: LD_ADDR_EXP 21
45998: PUSH
45999: LD_EXP 21
46003: PPUSH
46004: LD_VAR 0 1
46008: PPUSH
46009: LD_EXP 65
46013: PUSH
46014: LD_INT 1
46016: ARRAY
46017: PUSH
46018: LD_INT 1
46020: ARRAY
46021: PUSH
46022: LD_EXP 65
46026: PUSH
46027: LD_INT 1
46029: ARRAY
46030: PUSH
46031: LD_INT 2
46033: ARRAY
46034: PUSH
46035: EMPTY
46036: LIST
46037: LIST
46038: PUSH
46039: EMPTY
46040: LIST
46041: PPUSH
46042: CALL 59897 0 3
46046: ST_TO_ADDR
// for i in scout_getaway do
46047: LD_ADDR_VAR 0 5
46051: PUSH
46052: LD_EXP 65
46056: PUSH
46057: FOR_IN
46058: IFFALSE 46166
// if getdistunitxy ( russian_group [ 1 ] , i [ 1 ] , i [ 2 ] ) < temp then
46060: LD_VAR 0 8
46064: PUSH
46065: LD_INT 1
46067: ARRAY
46068: PPUSH
46069: LD_VAR 0 5
46073: PUSH
46074: LD_INT 1
46076: ARRAY
46077: PPUSH
46078: LD_VAR 0 5
46082: PUSH
46083: LD_INT 2
46085: ARRAY
46086: PPUSH
46087: CALL_OW 297
46091: PUSH
46092: LD_VAR 0 15
46096: LESS
46097: IFFALSE 46164
// begin temp = getdistunitxy ( russian_group [ 1 ] , i [ 1 ] , i [ 2 ] ) ;
46099: LD_ADDR_VAR 0 15
46103: PUSH
46104: LD_VAR 0 8
46108: PUSH
46109: LD_INT 1
46111: ARRAY
46112: PPUSH
46113: LD_VAR 0 5
46117: PUSH
46118: LD_INT 1
46120: ARRAY
46121: PPUSH
46122: LD_VAR 0 5
46126: PUSH
46127: LD_INT 2
46129: ARRAY
46130: PPUSH
46131: CALL_OW 297
46135: ST_TO_ADDR
// ru_paths = tag ( ru_paths , group_number , [ i ] ) ;
46136: LD_ADDR_EXP 21
46140: PUSH
46141: LD_EXP 21
46145: PPUSH
46146: LD_VAR 0 1
46150: PPUSH
46151: LD_VAR 0 5
46155: PUSH
46156: EMPTY
46157: LIST
46158: PPUSH
46159: CALL 59897 0 3
46163: ST_TO_ADDR
// end ;
46164: GO 46057
46166: POP
46167: POP
// ru_groupstatus = tag ( ru_groupstatus , Group_number , 2 ) ;
46168: LD_ADDR_EXP 23
46172: PUSH
46173: LD_EXP 23
46177: PPUSH
46178: LD_VAR 0 1
46182: PPUSH
46183: LD_INT 2
46185: PPUSH
46186: CALL 59897 0 3
46190: ST_TO_ADDR
// Target_List = tag ( target_list , group_number , [ getX ( seen_arabians [ 1 ] ) , getY ( seen_arabians [ 1 ] ) ] ) ;
46191: LD_ADDR_EXP 14
46195: PUSH
46196: LD_EXP 14
46200: PPUSH
46201: LD_VAR 0 1
46205: PPUSH
46206: LD_VAR 0 7
46210: PUSH
46211: LD_INT 1
46213: ARRAY
46214: PPUSH
46215: CALL_OW 250
46219: PUSH
46220: LD_VAR 0 7
46224: PUSH
46225: LD_INT 1
46227: ARRAY
46228: PPUSH
46229: CALL_OW 251
46233: PUSH
46234: EMPTY
46235: LIST
46236: LIST
46237: PPUSH
46238: CALL 59897 0 3
46242: ST_TO_ADDR
// exit ;
46243: GO 54876
// end ; end ; end ; 3 :
46245: GO 54698
46247: LD_INT 3
46249: DOUBLE
46250: EQUAL
46251: IFTRUE 46255
46253: GO 51654
46255: POP
// begin if seen_arabians > 0 then
46256: LD_VAR 0 7
46260: PUSH
46261: LD_INT 0
46263: GREATER
46264: IFFALSE 51652
// begin temp = unitfilter ( russian_group , [ [ f_type , unit_vehicle ] , [ f_weapon , ru_heavy_gun ] ] ) ;
46266: LD_ADDR_VAR 0 15
46270: PUSH
46271: LD_VAR 0 8
46275: PPUSH
46276: LD_INT 21
46278: PUSH
46279: LD_INT 2
46281: PUSH
46282: EMPTY
46283: LIST
46284: LIST
46285: PUSH
46286: LD_INT 34
46288: PUSH
46289: LD_INT 46
46291: PUSH
46292: EMPTY
46293: LIST
46294: LIST
46295: PUSH
46296: EMPTY
46297: LIST
46298: LIST
46299: PPUSH
46300: CALL_OW 72
46304: ST_TO_ADDR
// if temp > 0 then
46305: LD_VAR 0 15
46309: PUSH
46310: LD_INT 0
46312: GREATER
46313: IFFALSE 47021
// begin target_hg = tag ( target_hg , group_number , 0 ) ;
46315: LD_ADDR_EXP 16
46319: PUSH
46320: LD_EXP 16
46324: PPUSH
46325: LD_VAR 0 1
46329: PPUSH
46330: LD_INT 0
46332: PPUSH
46333: CALL 59897 0 3
46337: ST_TO_ADDR
// temp_list = unitfilter ( seen_arabians , [ [ f_dist , russian_group [ 1 ] , 13 ] , [ f_not , [ f_lives , 700 ] ] ] ) ;
46338: LD_ADDR_VAR 0 12
46342: PUSH
46343: LD_VAR 0 7
46347: PPUSH
46348: LD_INT 91
46350: PUSH
46351: LD_VAR 0 8
46355: PUSH
46356: LD_INT 1
46358: ARRAY
46359: PUSH
46360: LD_INT 13
46362: PUSH
46363: EMPTY
46364: LIST
46365: LIST
46366: LIST
46367: PUSH
46368: LD_INT 3
46370: PUSH
46371: LD_INT 24
46373: PUSH
46374: LD_INT 700
46376: PUSH
46377: EMPTY
46378: LIST
46379: LIST
46380: PUSH
46381: EMPTY
46382: LIST
46383: LIST
46384: PUSH
46385: EMPTY
46386: LIST
46387: LIST
46388: PPUSH
46389: CALL_OW 72
46393: ST_TO_ADDR
// temp_list2 = [ ] ;
46394: LD_ADDR_VAR 0 13
46398: PUSH
46399: EMPTY
46400: ST_TO_ADDR
// for i in temp_list do
46401: LD_ADDR_VAR 0 5
46405: PUSH
46406: LD_VAR 0 12
46410: PUSH
46411: FOR_IN
46412: IFFALSE 46437
// temp_list2 = temp_list2 ^ getlives ( i ) ;
46414: LD_ADDR_VAR 0 13
46418: PUSH
46419: LD_VAR 0 13
46423: PUSH
46424: LD_VAR 0 5
46428: PPUSH
46429: CALL_OW 256
46433: ADD
46434: ST_TO_ADDR
46435: GO 46411
46437: POP
46438: POP
// temp_list = WorstFromListByList ( temp_list , temp_list2 ) ;
46439: LD_ADDR_VAR 0 12
46443: PUSH
46444: LD_VAR 0 12
46448: PPUSH
46449: LD_VAR 0 13
46453: PPUSH
46454: CALL_OW 78
46458: ST_TO_ADDR
// temp_list = temp_list ^ unitfilter ( seen_arabians , [ [ f_dist , russian_group [ 1 ] , 13 ] , [ f_lives , 700 ] ] ) ;
46459: LD_ADDR_VAR 0 12
46463: PUSH
46464: LD_VAR 0 12
46468: PUSH
46469: LD_VAR 0 7
46473: PPUSH
46474: LD_INT 91
46476: PUSH
46477: LD_VAR 0 8
46481: PUSH
46482: LD_INT 1
46484: ARRAY
46485: PUSH
46486: LD_INT 13
46488: PUSH
46489: EMPTY
46490: LIST
46491: LIST
46492: LIST
46493: PUSH
46494: LD_INT 24
46496: PUSH
46497: LD_INT 700
46499: PUSH
46500: EMPTY
46501: LIST
46502: LIST
46503: PUSH
46504: EMPTY
46505: LIST
46506: LIST
46507: PPUSH
46508: CALL_OW 72
46512: ADD
46513: ST_TO_ADDR
// for i in seen_arabians do
46514: LD_ADDR_VAR 0 5
46518: PUSH
46519: LD_VAR 0 7
46523: PUSH
46524: FOR_IN
46525: IFFALSE 46569
// if getdistunits ( i , russian_group [ 1 ] ) > 13 then
46527: LD_VAR 0 5
46531: PPUSH
46532: LD_VAR 0 8
46536: PUSH
46537: LD_INT 1
46539: ARRAY
46540: PPUSH
46541: CALL_OW 296
46545: PUSH
46546: LD_INT 13
46548: GREATER
46549: IFFALSE 46567
// temp_list = temp_list ^ i ;
46551: LD_ADDR_VAR 0 12
46555: PUSH
46556: LD_VAR 0 12
46560: PUSH
46561: LD_VAR 0 5
46565: ADD
46566: ST_TO_ADDR
46567: GO 46524
46569: POP
46570: POP
// if temp_list [ 1 ] = 0 then
46571: LD_VAR 0 12
46575: PUSH
46576: LD_INT 1
46578: ARRAY
46579: PUSH
46580: LD_INT 0
46582: EQUAL
46583: IFFALSE 46603
// temp_list = delete ( temp_list , 1 ) ;
46585: LD_ADDR_VAR 0 12
46589: PUSH
46590: LD_VAR 0 12
46594: PPUSH
46595: LD_INT 1
46597: PPUSH
46598: CALL_OW 3
46602: ST_TO_ADDR
// if unitfilter ( temp_list , [ [ f_and , [ f_type , unit_vehicle ] , [ f_or , [ f_weapon , ar_control_tower ] , [ f_weapon , ar_radar ] ] ] ] ) > 0 then
46603: LD_VAR 0 12
46607: PPUSH
46608: LD_INT 1
46610: PUSH
46611: LD_INT 21
46613: PUSH
46614: LD_INT 2
46616: PUSH
46617: EMPTY
46618: LIST
46619: LIST
46620: PUSH
46621: LD_INT 2
46623: PUSH
46624: LD_INT 34
46626: PUSH
46627: LD_INT 31
46629: PUSH
46630: EMPTY
46631: LIST
46632: LIST
46633: PUSH
46634: LD_INT 34
46636: PUSH
46637: LD_INT 30
46639: PUSH
46640: EMPTY
46641: LIST
46642: LIST
46643: PUSH
46644: EMPTY
46645: LIST
46646: LIST
46647: LIST
46648: PUSH
46649: EMPTY
46650: LIST
46651: LIST
46652: LIST
46653: PUSH
46654: EMPTY
46655: LIST
46656: PPUSH
46657: CALL_OW 72
46661: PUSH
46662: LD_INT 0
46664: GREATER
46665: IFFALSE 46750
// target_hg = tag ( target_hg , group_number , unitfilter ( temp_list , [ [ f_and , [ f_type , unit_vehicle ] , [ f_or , [ f_weapon , ar_control_tower ] , [ f_weapon , ar_radar ] ] ] ] ) [ 1 ] ) ;
46667: LD_ADDR_EXP 16
46671: PUSH
46672: LD_EXP 16
46676: PPUSH
46677: LD_VAR 0 1
46681: PPUSH
46682: LD_VAR 0 12
46686: PPUSH
46687: LD_INT 1
46689: PUSH
46690: LD_INT 21
46692: PUSH
46693: LD_INT 2
46695: PUSH
46696: EMPTY
46697: LIST
46698: LIST
46699: PUSH
46700: LD_INT 2
46702: PUSH
46703: LD_INT 34
46705: PUSH
46706: LD_INT 31
46708: PUSH
46709: EMPTY
46710: LIST
46711: LIST
46712: PUSH
46713: LD_INT 34
46715: PUSH
46716: LD_INT 30
46718: PUSH
46719: EMPTY
46720: LIST
46721: LIST
46722: PUSH
46723: EMPTY
46724: LIST
46725: LIST
46726: LIST
46727: PUSH
46728: EMPTY
46729: LIST
46730: LIST
46731: LIST
46732: PUSH
46733: EMPTY
46734: LIST
46735: PPUSH
46736: CALL_OW 72
46740: PUSH
46741: LD_INT 1
46743: ARRAY
46744: PPUSH
46745: CALL 59897 0 3
46749: ST_TO_ADDR
// if unitfilter ( temp_list , [ f_type , unit_vehicle ] ) > 0 and target_hg [ group_number ] = 0 then
46750: LD_VAR 0 12
46754: PPUSH
46755: LD_INT 21
46757: PUSH
46758: LD_INT 2
46760: PUSH
46761: EMPTY
46762: LIST
46763: LIST
46764: PPUSH
46765: CALL_OW 72
46769: PUSH
46770: LD_INT 0
46772: GREATER
46773: PUSH
46774: LD_EXP 16
46778: PUSH
46779: LD_VAR 0 1
46783: ARRAY
46784: PUSH
46785: LD_INT 0
46787: EQUAL
46788: AND
46789: IFFALSE 46835
// target_hg = tag ( target_hg , group_number , unitfilter ( temp_list , [ f_type , unit_vehicle ] ) [ 1 ] ) ;
46791: LD_ADDR_EXP 16
46795: PUSH
46796: LD_EXP 16
46800: PPUSH
46801: LD_VAR 0 1
46805: PPUSH
46806: LD_VAR 0 12
46810: PPUSH
46811: LD_INT 21
46813: PUSH
46814: LD_INT 2
46816: PUSH
46817: EMPTY
46818: LIST
46819: LIST
46820: PPUSH
46821: CALL_OW 72
46825: PUSH
46826: LD_INT 1
46828: ARRAY
46829: PPUSH
46830: CALL 59897 0 3
46834: ST_TO_ADDR
// if unitfilter ( temp_list , [ f_and , [ f_type , unit_human ] , [ f_class , class_mortar ] ] ) > 0 and target_hg [ group_number ] = 0 then
46835: LD_VAR 0 12
46839: PPUSH
46840: LD_INT 1
46842: PUSH
46843: LD_INT 21
46845: PUSH
46846: LD_INT 1
46848: PUSH
46849: EMPTY
46850: LIST
46851: LIST
46852: PUSH
46853: LD_INT 25
46855: PUSH
46856: LD_INT 8
46858: PUSH
46859: EMPTY
46860: LIST
46861: LIST
46862: PUSH
46863: EMPTY
46864: LIST
46865: LIST
46866: LIST
46867: PPUSH
46868: CALL_OW 72
46872: PUSH
46873: LD_INT 0
46875: GREATER
46876: PUSH
46877: LD_EXP 16
46881: PUSH
46882: LD_VAR 0 1
46886: ARRAY
46887: PUSH
46888: LD_INT 0
46890: EQUAL
46891: AND
46892: IFFALSE 46956
// target_hg = tag ( target_hg , group_number , unitfilter ( temp_list , [ f_and , [ f_type , unit_human ] , [ f_class , class_mortar ] ] ) [ 1 ] ) ;
46894: LD_ADDR_EXP 16
46898: PUSH
46899: LD_EXP 16
46903: PPUSH
46904: LD_VAR 0 1
46908: PPUSH
46909: LD_VAR 0 12
46913: PPUSH
46914: LD_INT 1
46916: PUSH
46917: LD_INT 21
46919: PUSH
46920: LD_INT 1
46922: PUSH
46923: EMPTY
46924: LIST
46925: LIST
46926: PUSH
46927: LD_INT 25
46929: PUSH
46930: LD_INT 8
46932: PUSH
46933: EMPTY
46934: LIST
46935: LIST
46936: PUSH
46937: EMPTY
46938: LIST
46939: LIST
46940: LIST
46941: PPUSH
46942: CALL_OW 72
46946: PUSH
46947: LD_INT 1
46949: ARRAY
46950: PPUSH
46951: CALL 59897 0 3
46955: ST_TO_ADDR
// if target_hg [ group_number ] = 0 then
46956: LD_EXP 16
46960: PUSH
46961: LD_VAR 0 1
46965: ARRAY
46966: PUSH
46967: LD_INT 0
46969: EQUAL
46970: IFFALSE 47001
// target_hg = tag ( target_hg , group_number , temp_list [ 1 ] ) ;
46972: LD_ADDR_EXP 16
46976: PUSH
46977: LD_EXP 16
46981: PPUSH
46982: LD_VAR 0 1
46986: PPUSH
46987: LD_VAR 0 12
46991: PUSH
46992: LD_INT 1
46994: ARRAY
46995: PPUSH
46996: CALL 59897 0 3
47000: ST_TO_ADDR
// comattackunit ( temp , target_hg [ group_number ] ) ;
47001: LD_VAR 0 15
47005: PPUSH
47006: LD_EXP 16
47010: PUSH
47011: LD_VAR 0 1
47015: ARRAY
47016: PPUSH
47017: CALL_OW 115
// end ; temp = unitfilter ( russian_group , [ [ f_type , unit_vehicle ] , [ f_weapon , ru_gun ] ] ) ;
47021: LD_ADDR_VAR 0 15
47025: PUSH
47026: LD_VAR 0 8
47030: PPUSH
47031: LD_INT 21
47033: PUSH
47034: LD_INT 2
47036: PUSH
47037: EMPTY
47038: LIST
47039: LIST
47040: PUSH
47041: LD_INT 34
47043: PUSH
47044: LD_INT 44
47046: PUSH
47047: EMPTY
47048: LIST
47049: LIST
47050: PUSH
47051: EMPTY
47052: LIST
47053: LIST
47054: PPUSH
47055: CALL_OW 72
47059: ST_TO_ADDR
// if temp > 0 then
47060: LD_VAR 0 15
47064: PUSH
47065: LD_INT 0
47067: GREATER
47068: IFFALSE 48214
// begin target_gun = tag ( target_gun , group_number , 0 ) ;
47070: LD_ADDR_EXP 17
47074: PUSH
47075: LD_EXP 17
47079: PPUSH
47080: LD_VAR 0 1
47084: PPUSH
47085: LD_INT 0
47087: PPUSH
47088: CALL 59897 0 3
47092: ST_TO_ADDR
// temp_list = unitfilter ( seen_arabians , [ [ f_dist , russian_group [ 1 ] , 13 ] , [ f_not , [ f_lives , 700 ] ] ] ) ;
47093: LD_ADDR_VAR 0 12
47097: PUSH
47098: LD_VAR 0 7
47102: PPUSH
47103: LD_INT 91
47105: PUSH
47106: LD_VAR 0 8
47110: PUSH
47111: LD_INT 1
47113: ARRAY
47114: PUSH
47115: LD_INT 13
47117: PUSH
47118: EMPTY
47119: LIST
47120: LIST
47121: LIST
47122: PUSH
47123: LD_INT 3
47125: PUSH
47126: LD_INT 24
47128: PUSH
47129: LD_INT 700
47131: PUSH
47132: EMPTY
47133: LIST
47134: LIST
47135: PUSH
47136: EMPTY
47137: LIST
47138: LIST
47139: PUSH
47140: EMPTY
47141: LIST
47142: LIST
47143: PPUSH
47144: CALL_OW 72
47148: ST_TO_ADDR
// temp_list2 = [ ] ;
47149: LD_ADDR_VAR 0 13
47153: PUSH
47154: EMPTY
47155: ST_TO_ADDR
// for i in temp_list do
47156: LD_ADDR_VAR 0 5
47160: PUSH
47161: LD_VAR 0 12
47165: PUSH
47166: FOR_IN
47167: IFFALSE 47192
// temp_list2 = temp_list2 ^ getlives ( i ) ;
47169: LD_ADDR_VAR 0 13
47173: PUSH
47174: LD_VAR 0 13
47178: PUSH
47179: LD_VAR 0 5
47183: PPUSH
47184: CALL_OW 256
47188: ADD
47189: ST_TO_ADDR
47190: GO 47166
47192: POP
47193: POP
// temp_list = WorstFromListByList ( temp_list , temp_list2 ) ;
47194: LD_ADDR_VAR 0 12
47198: PUSH
47199: LD_VAR 0 12
47203: PPUSH
47204: LD_VAR 0 13
47208: PPUSH
47209: CALL_OW 78
47213: ST_TO_ADDR
// temp_list = temp_list ^ unitfilter ( seen_arabians , [ [ f_dist , russian_group [ 1 ] , 13 ] , [ f_lives , 700 ] ] ) ;
47214: LD_ADDR_VAR 0 12
47218: PUSH
47219: LD_VAR 0 12
47223: PUSH
47224: LD_VAR 0 7
47228: PPUSH
47229: LD_INT 91
47231: PUSH
47232: LD_VAR 0 8
47236: PUSH
47237: LD_INT 1
47239: ARRAY
47240: PUSH
47241: LD_INT 13
47243: PUSH
47244: EMPTY
47245: LIST
47246: LIST
47247: LIST
47248: PUSH
47249: LD_INT 24
47251: PUSH
47252: LD_INT 700
47254: PUSH
47255: EMPTY
47256: LIST
47257: LIST
47258: PUSH
47259: EMPTY
47260: LIST
47261: LIST
47262: PPUSH
47263: CALL_OW 72
47267: ADD
47268: ST_TO_ADDR
// for i in seen_arabians do
47269: LD_ADDR_VAR 0 5
47273: PUSH
47274: LD_VAR 0 7
47278: PUSH
47279: FOR_IN
47280: IFFALSE 47324
// if getdistunits ( i , russian_group [ 1 ] ) > 13 then
47282: LD_VAR 0 5
47286: PPUSH
47287: LD_VAR 0 8
47291: PUSH
47292: LD_INT 1
47294: ARRAY
47295: PPUSH
47296: CALL_OW 296
47300: PUSH
47301: LD_INT 13
47303: GREATER
47304: IFFALSE 47322
// temp_list = temp_list ^ i ;
47306: LD_ADDR_VAR 0 12
47310: PUSH
47311: LD_VAR 0 12
47315: PUSH
47316: LD_VAR 0 5
47320: ADD
47321: ST_TO_ADDR
47322: GO 47279
47324: POP
47325: POP
// if temp_list [ 1 ] = 0 then
47326: LD_VAR 0 12
47330: PUSH
47331: LD_INT 1
47333: ARRAY
47334: PUSH
47335: LD_INT 0
47337: EQUAL
47338: IFFALSE 47358
// temp_list = delete ( temp_list , 1 ) ;
47340: LD_ADDR_VAR 0 12
47344: PUSH
47345: LD_VAR 0 12
47349: PPUSH
47350: LD_INT 1
47352: PPUSH
47353: CALL_OW 3
47357: ST_TO_ADDR
// if unitfilter ( temp_list , [ f_and , [ f_type , unit_human ] , [ f_class , class_mortar ] ] ) > 0 then
47358: LD_VAR 0 12
47362: PPUSH
47363: LD_INT 1
47365: PUSH
47366: LD_INT 21
47368: PUSH
47369: LD_INT 1
47371: PUSH
47372: EMPTY
47373: LIST
47374: LIST
47375: PUSH
47376: LD_INT 25
47378: PUSH
47379: LD_INT 8
47381: PUSH
47382: EMPTY
47383: LIST
47384: LIST
47385: PUSH
47386: EMPTY
47387: LIST
47388: LIST
47389: LIST
47390: PPUSH
47391: CALL_OW 72
47395: PUSH
47396: LD_INT 0
47398: GREATER
47399: IFFALSE 47463
// target_gun = tag ( target_gun , group_number , unitfilter ( temp_list , [ f_and , [ f_type , unit_human ] , [ f_class , class_mortar ] ] ) [ 1 ] ) ;
47401: LD_ADDR_EXP 17
47405: PUSH
47406: LD_EXP 17
47410: PPUSH
47411: LD_VAR 0 1
47415: PPUSH
47416: LD_VAR 0 12
47420: PPUSH
47421: LD_INT 1
47423: PUSH
47424: LD_INT 21
47426: PUSH
47427: LD_INT 1
47429: PUSH
47430: EMPTY
47431: LIST
47432: LIST
47433: PUSH
47434: LD_INT 25
47436: PUSH
47437: LD_INT 8
47439: PUSH
47440: EMPTY
47441: LIST
47442: LIST
47443: PUSH
47444: EMPTY
47445: LIST
47446: LIST
47447: LIST
47448: PPUSH
47449: CALL_OW 72
47453: PUSH
47454: LD_INT 1
47456: ARRAY
47457: PPUSH
47458: CALL 59897 0 3
47462: ST_TO_ADDR
// if unitfilter ( temp_list , [ [ f_and , [ f_type , unit_vehicle ] , [ f_or , [ f_weapon , ar_control_tower ] , [ f_weapon , ar_radar ] ] ] ] ) > 0 and target_gun [ group_number ] = 0 then
47463: LD_VAR 0 12
47467: PPUSH
47468: LD_INT 1
47470: PUSH
47471: LD_INT 21
47473: PUSH
47474: LD_INT 2
47476: PUSH
47477: EMPTY
47478: LIST
47479: LIST
47480: PUSH
47481: LD_INT 2
47483: PUSH
47484: LD_INT 34
47486: PUSH
47487: LD_INT 31
47489: PUSH
47490: EMPTY
47491: LIST
47492: LIST
47493: PUSH
47494: LD_INT 34
47496: PUSH
47497: LD_INT 30
47499: PUSH
47500: EMPTY
47501: LIST
47502: LIST
47503: PUSH
47504: EMPTY
47505: LIST
47506: LIST
47507: LIST
47508: PUSH
47509: EMPTY
47510: LIST
47511: LIST
47512: LIST
47513: PUSH
47514: EMPTY
47515: LIST
47516: PPUSH
47517: CALL_OW 72
47521: PUSH
47522: LD_INT 0
47524: GREATER
47525: PUSH
47526: LD_EXP 17
47530: PUSH
47531: LD_VAR 0 1
47535: ARRAY
47536: PUSH
47537: LD_INT 0
47539: EQUAL
47540: AND
47541: IFFALSE 47626
// target_gun = tag ( target_gun , group_number , unitfilter ( temp_list , [ [ f_and , [ f_type , unit_vehicle ] , [ f_or , [ f_weapon , ar_control_tower ] , [ f_weapon , ar_radar ] ] ] ] ) [ 1 ] ) ;
47543: LD_ADDR_EXP 17
47547: PUSH
47548: LD_EXP 17
47552: PPUSH
47553: LD_VAR 0 1
47557: PPUSH
47558: LD_VAR 0 12
47562: PPUSH
47563: LD_INT 1
47565: PUSH
47566: LD_INT 21
47568: PUSH
47569: LD_INT 2
47571: PUSH
47572: EMPTY
47573: LIST
47574: LIST
47575: PUSH
47576: LD_INT 2
47578: PUSH
47579: LD_INT 34
47581: PUSH
47582: LD_INT 31
47584: PUSH
47585: EMPTY
47586: LIST
47587: LIST
47588: PUSH
47589: LD_INT 34
47591: PUSH
47592: LD_INT 30
47594: PUSH
47595: EMPTY
47596: LIST
47597: LIST
47598: PUSH
47599: EMPTY
47600: LIST
47601: LIST
47602: LIST
47603: PUSH
47604: EMPTY
47605: LIST
47606: LIST
47607: LIST
47608: PUSH
47609: EMPTY
47610: LIST
47611: PPUSH
47612: CALL_OW 72
47616: PUSH
47617: LD_INT 1
47619: ARRAY
47620: PPUSH
47621: CALL 59897 0 3
47625: ST_TO_ADDR
// if unitfilter ( temp_list , [ f_type , unit_vehicle ] ) > 0 and target_gun [ group_number ] = 0 then
47626: LD_VAR 0 12
47630: PPUSH
47631: LD_INT 21
47633: PUSH
47634: LD_INT 2
47636: PUSH
47637: EMPTY
47638: LIST
47639: LIST
47640: PPUSH
47641: CALL_OW 72
47645: PUSH
47646: LD_INT 0
47648: GREATER
47649: PUSH
47650: LD_EXP 17
47654: PUSH
47655: LD_VAR 0 1
47659: ARRAY
47660: PUSH
47661: LD_INT 0
47663: EQUAL
47664: AND
47665: IFFALSE 47711
// target_gun = tag ( target_gun , group_number , unitfilter ( temp_list , [ f_type , unit_vehicle ] ) [ 1 ] ) ;
47667: LD_ADDR_EXP 17
47671: PUSH
47672: LD_EXP 17
47676: PPUSH
47677: LD_VAR 0 1
47681: PPUSH
47682: LD_VAR 0 12
47686: PPUSH
47687: LD_INT 21
47689: PUSH
47690: LD_INT 2
47692: PUSH
47693: EMPTY
47694: LIST
47695: LIST
47696: PPUSH
47697: CALL_OW 72
47701: PUSH
47702: LD_INT 1
47704: ARRAY
47705: PPUSH
47706: CALL 59897 0 3
47710: ST_TO_ADDR
// if target_gun [ group_number ] = 0 then
47711: LD_EXP 17
47715: PUSH
47716: LD_VAR 0 1
47720: ARRAY
47721: PUSH
47722: LD_INT 0
47724: EQUAL
47725: IFFALSE 47756
// target_gun = tag ( target_gun , group_number , temp_list [ 1 ] ) ;
47727: LD_ADDR_EXP 17
47731: PUSH
47732: LD_EXP 17
47736: PPUSH
47737: LD_VAR 0 1
47741: PPUSH
47742: LD_VAR 0 12
47746: PUSH
47747: LD_INT 1
47749: ARRAY
47750: PPUSH
47751: CALL 59897 0 3
47755: ST_TO_ADDR
// if gettype ( target_gun [ group_number ] ) = unit_human and getclass ( target_gun [ group_number ] ) = class_mortar then
47756: LD_EXP 17
47760: PUSH
47761: LD_VAR 0 1
47765: ARRAY
47766: PPUSH
47767: CALL_OW 247
47771: PUSH
47772: LD_INT 1
47774: EQUAL
47775: PUSH
47776: LD_EXP 17
47780: PUSH
47781: LD_VAR 0 1
47785: ARRAY
47786: PPUSH
47787: CALL_OW 257
47791: PUSH
47792: LD_INT 8
47794: EQUAL
47795: AND
47796: IFFALSE 48113
// begin if unitfilter ( russian_group , [ [ f_type , unit_vehicle ] , [ f_or , [ f_weapon , ru_gatling_gun ] , [ f_weapon , ru_heavy_machine_gun ] ] ] ) > 0 then
47798: LD_VAR 0 8
47802: PPUSH
47803: LD_INT 21
47805: PUSH
47806: LD_INT 2
47808: PUSH
47809: EMPTY
47810: LIST
47811: LIST
47812: PUSH
47813: LD_INT 2
47815: PUSH
47816: LD_INT 34
47818: PUSH
47819: LD_INT 43
47821: PUSH
47822: EMPTY
47823: LIST
47824: LIST
47825: PUSH
47826: LD_INT 34
47828: PUSH
47829: LD_INT 42
47831: PUSH
47832: EMPTY
47833: LIST
47834: LIST
47835: PUSH
47836: EMPTY
47837: LIST
47838: LIST
47839: LIST
47840: PUSH
47841: EMPTY
47842: LIST
47843: LIST
47844: PPUSH
47845: CALL_OW 72
47849: PUSH
47850: LD_INT 0
47852: GREATER
47853: IFFALSE 48023
// begin for i in temp do
47855: LD_ADDR_VAR 0 5
47859: PUSH
47860: LD_VAR 0 15
47864: PUSH
47865: FOR_IN
47866: IFFALSE 48019
// begin temp_hex = RandHexXYRminRmax ( GetX ( target_gun [ group_number ] ) , GetY ( target_gun [ group_number ] ) , 7 , 10 ) ;
47868: LD_ADDR_VAR 0 19
47872: PUSH
47873: LD_EXP 17
47877: PUSH
47878: LD_VAR 0 1
47882: ARRAY
47883: PPUSH
47884: CALL_OW 250
47888: PPUSH
47889: LD_EXP 17
47893: PUSH
47894: LD_VAR 0 1
47898: ARRAY
47899: PPUSH
47900: CALL_OW 251
47904: PPUSH
47905: LD_INT 7
47907: PPUSH
47908: LD_INT 10
47910: PPUSH
47911: CALL 57763 0 4
47915: ST_TO_ADDR
// if getdistunits ( i , target_gun [ group_number ] ) > 12 then
47916: LD_VAR 0 5
47920: PPUSH
47921: LD_EXP 17
47925: PUSH
47926: LD_VAR 0 1
47930: ARRAY
47931: PPUSH
47932: CALL_OW 296
47936: PUSH
47937: LD_INT 12
47939: GREATER
47940: IFFALSE 47990
// temp_hex = RandHexXYRminRmax ( GetX ( target_gun [ group_number ] ) , GetY ( target_gun [ group_number ] ) , 6 , 7 ) ;
47942: LD_ADDR_VAR 0 19
47946: PUSH
47947: LD_EXP 17
47951: PUSH
47952: LD_VAR 0 1
47956: ARRAY
47957: PPUSH
47958: CALL_OW 250
47962: PPUSH
47963: LD_EXP 17
47967: PUSH
47968: LD_VAR 0 1
47972: ARRAY
47973: PPUSH
47974: CALL_OW 251
47978: PPUSH
47979: LD_INT 6
47981: PPUSH
47982: LD_INT 7
47984: PPUSH
47985: CALL 57763 0 4
47989: ST_TO_ADDR
// commovexy ( i , temp_hex [ 1 ] , temp_hex [ 2 ] ) end ;
47990: LD_VAR 0 5
47994: PPUSH
47995: LD_VAR 0 19
47999: PUSH
48000: LD_INT 1
48002: ARRAY
48003: PPUSH
48004: LD_VAR 0 19
48008: PUSH
48009: LD_INT 2
48011: ARRAY
48012: PPUSH
48013: CALL_OW 111
48017: GO 47865
48019: POP
48020: POP
// end else
48021: GO 48111
// for i in temp do
48023: LD_ADDR_VAR 0 5
48027: PUSH
48028: LD_VAR 0 15
48032: PUSH
48033: FOR_IN
48034: IFFALSE 48109
// if getdistunits ( i , target_gun [ group_number ] ) > 3 then
48036: LD_VAR 0 5
48040: PPUSH
48041: LD_EXP 17
48045: PUSH
48046: LD_VAR 0 1
48050: ARRAY
48051: PPUSH
48052: CALL_OW 296
48056: PUSH
48057: LD_INT 3
48059: GREATER
48060: IFFALSE 48087
// MoveCloseTounit ( i , target_gun [ group_number ] , 3 ) else
48062: LD_VAR 0 5
48066: PPUSH
48067: LD_EXP 17
48071: PUSH
48072: LD_VAR 0 1
48076: ARRAY
48077: PPUSH
48078: LD_INT 3
48080: PPUSH
48081: CALL 56088 0 3
48085: GO 48107
// comattackunit ( i , target_gun [ group_number ] ) ;
48087: LD_VAR 0 5
48091: PPUSH
48092: LD_EXP 17
48096: PUSH
48097: LD_VAR 0 1
48101: ARRAY
48102: PPUSH
48103: CALL_OW 115
48107: GO 48033
48109: POP
48110: POP
// end else
48111: GO 48214
// for i in temp do
48113: LD_ADDR_VAR 0 5
48117: PUSH
48118: LD_VAR 0 15
48122: PUSH
48123: FOR_IN
48124: IFFALSE 48212
// begin comattackunit ( temp , target_gun [ group_number ] ) ;
48126: LD_VAR 0 15
48130: PPUSH
48131: LD_EXP 17
48135: PUSH
48136: LD_VAR 0 1
48140: ARRAY
48141: PPUSH
48142: CALL_OW 115
// if getside ( target_gun [ group_number ] ) = 5 then
48146: LD_EXP 17
48150: PUSH
48151: LD_VAR 0 1
48155: ARRAY
48156: PPUSH
48157: CALL_OW 255
48161: PUSH
48162: LD_INT 5
48164: EQUAL
48165: IFFALSE 48210
// begin MoveCloseTounit ( i , target_gun [ group_number ] , 3 ) ;
48167: LD_VAR 0 5
48171: PPUSH
48172: LD_EXP 17
48176: PUSH
48177: LD_VAR 0 1
48181: ARRAY
48182: PPUSH
48183: LD_INT 3
48185: PPUSH
48186: CALL 56088 0 3
// addcomattackunit ( i , target_gun [ group_number ] ) ;
48190: LD_VAR 0 5
48194: PPUSH
48195: LD_EXP 17
48199: PUSH
48200: LD_VAR 0 1
48204: ARRAY
48205: PPUSH
48206: CALL_OW 175
// end ; end ;
48210: GO 48123
48212: POP
48213: POP
// end ; temp = unitfilter ( russian_group , [ [ f_and , [ f_type , unit_vehicle ] , [ f_or , [ f_weapon , ru_heavy_machine_gun ] , [ f_weapon , ru_gatling_gun ] , [ f_weapon , ru_rocket_launcher ] , [ f_weapon , ru_rocket ] ] ] ] ) ;
48214: LD_ADDR_VAR 0 15
48218: PUSH
48219: LD_VAR 0 8
48223: PPUSH
48224: LD_INT 1
48226: PUSH
48227: LD_INT 21
48229: PUSH
48230: LD_INT 2
48232: PUSH
48233: EMPTY
48234: LIST
48235: LIST
48236: PUSH
48237: LD_INT 2
48239: PUSH
48240: LD_INT 34
48242: PUSH
48243: LD_INT 42
48245: PUSH
48246: EMPTY
48247: LIST
48248: LIST
48249: PUSH
48250: LD_INT 34
48252: PUSH
48253: LD_INT 43
48255: PUSH
48256: EMPTY
48257: LIST
48258: LIST
48259: PUSH
48260: LD_INT 34
48262: PUSH
48263: LD_INT 45
48265: PUSH
48266: EMPTY
48267: LIST
48268: LIST
48269: PUSH
48270: LD_INT 34
48272: PUSH
48273: LD_INT 47
48275: PUSH
48276: EMPTY
48277: LIST
48278: LIST
48279: PUSH
48280: EMPTY
48281: LIST
48282: LIST
48283: LIST
48284: LIST
48285: LIST
48286: PUSH
48287: EMPTY
48288: LIST
48289: LIST
48290: LIST
48291: PUSH
48292: EMPTY
48293: LIST
48294: PPUSH
48295: CALL_OW 72
48299: ST_TO_ADDR
// if temp > 0 then
48300: LD_VAR 0 15
48304: PUSH
48305: LD_INT 0
48307: GREATER
48308: IFFALSE 49862
// begin target_all = tag ( target_all , group_number , 0 ) ;
48310: LD_ADDR_EXP 18
48314: PUSH
48315: LD_EXP 18
48319: PPUSH
48320: LD_VAR 0 1
48324: PPUSH
48325: LD_INT 0
48327: PPUSH
48328: CALL 59897 0 3
48332: ST_TO_ADDR
// temp_list = unitfilter ( seen_arabians , [ [ f_dist , russian_group [ 1 ] , 13 ] , [ f_not , [ f_lives , 700 ] ] ] ) ;
48333: LD_ADDR_VAR 0 12
48337: PUSH
48338: LD_VAR 0 7
48342: PPUSH
48343: LD_INT 91
48345: PUSH
48346: LD_VAR 0 8
48350: PUSH
48351: LD_INT 1
48353: ARRAY
48354: PUSH
48355: LD_INT 13
48357: PUSH
48358: EMPTY
48359: LIST
48360: LIST
48361: LIST
48362: PUSH
48363: LD_INT 3
48365: PUSH
48366: LD_INT 24
48368: PUSH
48369: LD_INT 700
48371: PUSH
48372: EMPTY
48373: LIST
48374: LIST
48375: PUSH
48376: EMPTY
48377: LIST
48378: LIST
48379: PUSH
48380: EMPTY
48381: LIST
48382: LIST
48383: PPUSH
48384: CALL_OW 72
48388: ST_TO_ADDR
// temp_list2 = [ ] ;
48389: LD_ADDR_VAR 0 13
48393: PUSH
48394: EMPTY
48395: ST_TO_ADDR
// for i in temp_list do
48396: LD_ADDR_VAR 0 5
48400: PUSH
48401: LD_VAR 0 12
48405: PUSH
48406: FOR_IN
48407: IFFALSE 48432
// temp_list2 = temp_list2 ^ getlives ( i ) ;
48409: LD_ADDR_VAR 0 13
48413: PUSH
48414: LD_VAR 0 13
48418: PUSH
48419: LD_VAR 0 5
48423: PPUSH
48424: CALL_OW 256
48428: ADD
48429: ST_TO_ADDR
48430: GO 48406
48432: POP
48433: POP
// temp_list = WorstFromListByList ( temp_list , temp_list2 ) ;
48434: LD_ADDR_VAR 0 12
48438: PUSH
48439: LD_VAR 0 12
48443: PPUSH
48444: LD_VAR 0 13
48448: PPUSH
48449: CALL_OW 78
48453: ST_TO_ADDR
// temp_list = temp_list ^ unitfilter ( seen_arabians , [ [ f_dist , russian_group [ 1 ] , 13 ] , [ f_lives , 700 ] ] ) ;
48454: LD_ADDR_VAR 0 12
48458: PUSH
48459: LD_VAR 0 12
48463: PUSH
48464: LD_VAR 0 7
48468: PPUSH
48469: LD_INT 91
48471: PUSH
48472: LD_VAR 0 8
48476: PUSH
48477: LD_INT 1
48479: ARRAY
48480: PUSH
48481: LD_INT 13
48483: PUSH
48484: EMPTY
48485: LIST
48486: LIST
48487: LIST
48488: PUSH
48489: LD_INT 24
48491: PUSH
48492: LD_INT 700
48494: PUSH
48495: EMPTY
48496: LIST
48497: LIST
48498: PUSH
48499: EMPTY
48500: LIST
48501: LIST
48502: PPUSH
48503: CALL_OW 72
48507: ADD
48508: ST_TO_ADDR
// for i in seen_arabians do
48509: LD_ADDR_VAR 0 5
48513: PUSH
48514: LD_VAR 0 7
48518: PUSH
48519: FOR_IN
48520: IFFALSE 48564
// if getdistunits ( i , russian_group [ 1 ] ) > 13 then
48522: LD_VAR 0 5
48526: PPUSH
48527: LD_VAR 0 8
48531: PUSH
48532: LD_INT 1
48534: ARRAY
48535: PPUSH
48536: CALL_OW 296
48540: PUSH
48541: LD_INT 13
48543: GREATER
48544: IFFALSE 48562
// temp_list = temp_list ^ i ;
48546: LD_ADDR_VAR 0 12
48550: PUSH
48551: LD_VAR 0 12
48555: PUSH
48556: LD_VAR 0 5
48560: ADD
48561: ST_TO_ADDR
48562: GO 48519
48564: POP
48565: POP
// if temp_list [ 1 ] = 0 then
48566: LD_VAR 0 12
48570: PUSH
48571: LD_INT 1
48573: ARRAY
48574: PUSH
48575: LD_INT 0
48577: EQUAL
48578: IFFALSE 48598
// temp_list = delete ( temp_list , 1 ) ;
48580: LD_ADDR_VAR 0 12
48584: PUSH
48585: LD_VAR 0 12
48589: PPUSH
48590: LD_INT 1
48592: PPUSH
48593: CALL_OW 3
48597: ST_TO_ADDR
// if unitfilter ( temp_list , [ f_and , [ f_type , unit_human ] , [ f_class , class_mortar ] ] ) > 0 then
48598: LD_VAR 0 12
48602: PPUSH
48603: LD_INT 1
48605: PUSH
48606: LD_INT 21
48608: PUSH
48609: LD_INT 1
48611: PUSH
48612: EMPTY
48613: LIST
48614: LIST
48615: PUSH
48616: LD_INT 25
48618: PUSH
48619: LD_INT 8
48621: PUSH
48622: EMPTY
48623: LIST
48624: LIST
48625: PUSH
48626: EMPTY
48627: LIST
48628: LIST
48629: LIST
48630: PPUSH
48631: CALL_OW 72
48635: PUSH
48636: LD_INT 0
48638: GREATER
48639: IFFALSE 48703
// target_all = tag ( target_all , group_number , unitfilter ( temp_list , [ f_and , [ f_type , unit_human ] , [ f_class , class_mortar ] ] ) [ 1 ] ) ;
48641: LD_ADDR_EXP 18
48645: PUSH
48646: LD_EXP 18
48650: PPUSH
48651: LD_VAR 0 1
48655: PPUSH
48656: LD_VAR 0 12
48660: PPUSH
48661: LD_INT 1
48663: PUSH
48664: LD_INT 21
48666: PUSH
48667: LD_INT 1
48669: PUSH
48670: EMPTY
48671: LIST
48672: LIST
48673: PUSH
48674: LD_INT 25
48676: PUSH
48677: LD_INT 8
48679: PUSH
48680: EMPTY
48681: LIST
48682: LIST
48683: PUSH
48684: EMPTY
48685: LIST
48686: LIST
48687: LIST
48688: PPUSH
48689: CALL_OW 72
48693: PUSH
48694: LD_INT 1
48696: ARRAY
48697: PPUSH
48698: CALL 59897 0 3
48702: ST_TO_ADDR
// if unitfilter ( temp_list , [ f_type , unit_human ] ) > 0 and target_all [ group_number ] = 0 then
48703: LD_VAR 0 12
48707: PPUSH
48708: LD_INT 21
48710: PUSH
48711: LD_INT 1
48713: PUSH
48714: EMPTY
48715: LIST
48716: LIST
48717: PPUSH
48718: CALL_OW 72
48722: PUSH
48723: LD_INT 0
48725: GREATER
48726: PUSH
48727: LD_EXP 18
48731: PUSH
48732: LD_VAR 0 1
48736: ARRAY
48737: PUSH
48738: LD_INT 0
48740: EQUAL
48741: AND
48742: IFFALSE 48788
// target_all = tag ( target_all , group_number , unitfilter ( temp_list , [ f_type , unit_human ] ) [ 1 ] ) ;
48744: LD_ADDR_EXP 18
48748: PUSH
48749: LD_EXP 18
48753: PPUSH
48754: LD_VAR 0 1
48758: PPUSH
48759: LD_VAR 0 12
48763: PPUSH
48764: LD_INT 21
48766: PUSH
48767: LD_INT 1
48769: PUSH
48770: EMPTY
48771: LIST
48772: LIST
48773: PPUSH
48774: CALL_OW 72
48778: PUSH
48779: LD_INT 1
48781: ARRAY
48782: PPUSH
48783: CALL 59897 0 3
48787: ST_TO_ADDR
// if unitfilter ( temp_list , [ [ f_and , [ f_type , unit_vehicle ] , [ f_or , [ f_weapon , ar_control_tower ] , [ f_weapon , ar_radar ] ] ] ] ) > 0 and target_all [ group_number ] = 0 then
48788: LD_VAR 0 12
48792: PPUSH
48793: LD_INT 1
48795: PUSH
48796: LD_INT 21
48798: PUSH
48799: LD_INT 2
48801: PUSH
48802: EMPTY
48803: LIST
48804: LIST
48805: PUSH
48806: LD_INT 2
48808: PUSH
48809: LD_INT 34
48811: PUSH
48812: LD_INT 31
48814: PUSH
48815: EMPTY
48816: LIST
48817: LIST
48818: PUSH
48819: LD_INT 34
48821: PUSH
48822: LD_INT 30
48824: PUSH
48825: EMPTY
48826: LIST
48827: LIST
48828: PUSH
48829: EMPTY
48830: LIST
48831: LIST
48832: LIST
48833: PUSH
48834: EMPTY
48835: LIST
48836: LIST
48837: LIST
48838: PUSH
48839: EMPTY
48840: LIST
48841: PPUSH
48842: CALL_OW 72
48846: PUSH
48847: LD_INT 0
48849: GREATER
48850: PUSH
48851: LD_EXP 18
48855: PUSH
48856: LD_VAR 0 1
48860: ARRAY
48861: PUSH
48862: LD_INT 0
48864: EQUAL
48865: AND
48866: IFFALSE 48951
// target_all = tag ( target_all , group_number , unitfilter ( temp_list , [ [ f_and , [ f_type , unit_vehicle ] , [ f_or , [ f_weapon , ar_control_tower ] , [ f_weapon , ar_radar ] ] ] ] ) [ 1 ] ) ;
48868: LD_ADDR_EXP 18
48872: PUSH
48873: LD_EXP 18
48877: PPUSH
48878: LD_VAR 0 1
48882: PPUSH
48883: LD_VAR 0 12
48887: PPUSH
48888: LD_INT 1
48890: PUSH
48891: LD_INT 21
48893: PUSH
48894: LD_INT 2
48896: PUSH
48897: EMPTY
48898: LIST
48899: LIST
48900: PUSH
48901: LD_INT 2
48903: PUSH
48904: LD_INT 34
48906: PUSH
48907: LD_INT 31
48909: PUSH
48910: EMPTY
48911: LIST
48912: LIST
48913: PUSH
48914: LD_INT 34
48916: PUSH
48917: LD_INT 30
48919: PUSH
48920: EMPTY
48921: LIST
48922: LIST
48923: PUSH
48924: EMPTY
48925: LIST
48926: LIST
48927: LIST
48928: PUSH
48929: EMPTY
48930: LIST
48931: LIST
48932: LIST
48933: PUSH
48934: EMPTY
48935: LIST
48936: PPUSH
48937: CALL_OW 72
48941: PUSH
48942: LD_INT 1
48944: ARRAY
48945: PPUSH
48946: CALL 59897 0 3
48950: ST_TO_ADDR
// if target_all [ group_number ] = 0 then
48951: LD_EXP 18
48955: PUSH
48956: LD_VAR 0 1
48960: ARRAY
48961: PUSH
48962: LD_INT 0
48964: EQUAL
48965: IFFALSE 48996
// target_all = tag ( target_all , group_number , temp_list [ 1 ] ) ;
48967: LD_ADDR_EXP 18
48971: PUSH
48972: LD_EXP 18
48976: PPUSH
48977: LD_VAR 0 1
48981: PPUSH
48982: LD_VAR 0 12
48986: PUSH
48987: LD_INT 1
48989: ARRAY
48990: PPUSH
48991: CALL 59897 0 3
48995: ST_TO_ADDR
// if gettype ( target_all [ group_number ] ) = unit_human and getclass ( target_all [ group_number ] ) = class_mortar then
48996: LD_EXP 18
49000: PUSH
49001: LD_VAR 0 1
49005: ARRAY
49006: PPUSH
49007: CALL_OW 247
49011: PUSH
49012: LD_INT 1
49014: EQUAL
49015: PUSH
49016: LD_EXP 18
49020: PUSH
49021: LD_VAR 0 1
49025: ARRAY
49026: PPUSH
49027: CALL_OW 257
49031: PUSH
49032: LD_INT 8
49034: EQUAL
49035: AND
49036: IFFALSE 49696
// begin temp_list = 0 ;
49038: LD_ADDR_VAR 0 12
49042: PUSH
49043: LD_INT 0
49045: ST_TO_ADDR
// machines = unitfilter ( russian_group , [ [ f_type , unit_vehicle ] , [ f_weapon , ru_heavy_machine_gun ] ] ) ;
49046: LD_ADDR_VAR 0 23
49050: PUSH
49051: LD_VAR 0 8
49055: PPUSH
49056: LD_INT 21
49058: PUSH
49059: LD_INT 2
49061: PUSH
49062: EMPTY
49063: LIST
49064: LIST
49065: PUSH
49066: LD_INT 34
49068: PUSH
49069: LD_INT 42
49071: PUSH
49072: EMPTY
49073: LIST
49074: LIST
49075: PUSH
49076: EMPTY
49077: LIST
49078: LIST
49079: PPUSH
49080: CALL_OW 72
49084: ST_TO_ADDR
// gatlings = unitfilter ( russian_group , [ [ f_type , unit_vehicle ] , [ f_weapon , ru_gatling_gun ] ] ) ;
49085: LD_ADDR_VAR 0 24
49089: PUSH
49090: LD_VAR 0 8
49094: PPUSH
49095: LD_INT 21
49097: PUSH
49098: LD_INT 2
49100: PUSH
49101: EMPTY
49102: LIST
49103: LIST
49104: PUSH
49105: LD_INT 34
49107: PUSH
49108: LD_INT 43
49110: PUSH
49111: EMPTY
49112: LIST
49113: LIST
49114: PUSH
49115: EMPTY
49116: LIST
49117: LIST
49118: PPUSH
49119: CALL_OW 72
49123: ST_TO_ADDR
// rocketls = unitfilter ( russian_group , [ [ f_type , unit_vehicle ] , [ f_weapon , ru_rocket_launcher ] ] ) ;
49124: LD_ADDR_VAR 0 25
49128: PUSH
49129: LD_VAR 0 8
49133: PPUSH
49134: LD_INT 21
49136: PUSH
49137: LD_INT 2
49139: PUSH
49140: EMPTY
49141: LIST
49142: LIST
49143: PUSH
49144: LD_INT 34
49146: PUSH
49147: LD_INT 45
49149: PUSH
49150: EMPTY
49151: LIST
49152: LIST
49153: PUSH
49154: EMPTY
49155: LIST
49156: LIST
49157: PPUSH
49158: CALL_OW 72
49162: ST_TO_ADDR
// if gatlings > 0 then
49163: LD_VAR 0 24
49167: PUSH
49168: LD_INT 0
49170: GREATER
49171: IFFALSE 49209
// begin temp_list = gatlings ;
49173: LD_ADDR_VAR 0 12
49177: PUSH
49178: LD_VAR 0 24
49182: ST_TO_ADDR
// temp_list2 = machines ;
49183: LD_ADDR_VAR 0 13
49187: PUSH
49188: LD_VAR 0 23
49192: ST_TO_ADDR
// temp_list2 = temp_list2 ^ rocketls ;
49193: LD_ADDR_VAR 0 13
49197: PUSH
49198: LD_VAR 0 13
49202: PUSH
49203: LD_VAR 0 25
49207: ADD
49208: ST_TO_ADDR
// end ; if temp_list = 0 and machines > 0 then
49209: LD_VAR 0 12
49213: PUSH
49214: LD_INT 0
49216: EQUAL
49217: PUSH
49218: LD_VAR 0 23
49222: PUSH
49223: LD_INT 0
49225: GREATER
49226: AND
49227: IFFALSE 49249
// begin temp_list = machines ;
49229: LD_ADDR_VAR 0 12
49233: PUSH
49234: LD_VAR 0 23
49238: ST_TO_ADDR
// temp_list2 = rocketls ;
49239: LD_ADDR_VAR 0 13
49243: PUSH
49244: LD_VAR 0 25
49248: ST_TO_ADDR
// end ; if temp_list = 0 then
49249: LD_VAR 0 12
49253: PUSH
49254: LD_INT 0
49256: EQUAL
49257: IFFALSE 49326
// begin temp_list = rocketls ;
49259: LD_ADDR_VAR 0 12
49263: PUSH
49264: LD_VAR 0 25
49268: ST_TO_ADDR
// if unitfilter ( russian_group , [ [ f_type , unit_vehicle ] , [ f_weapon , ru_gun ] ] ) > 0 then
49269: LD_VAR 0 8
49273: PPUSH
49274: LD_INT 21
49276: PUSH
49277: LD_INT 2
49279: PUSH
49280: EMPTY
49281: LIST
49282: LIST
49283: PUSH
49284: LD_INT 34
49286: PUSH
49287: LD_INT 44
49289: PUSH
49290: EMPTY
49291: LIST
49292: LIST
49293: PUSH
49294: EMPTY
49295: LIST
49296: LIST
49297: PPUSH
49298: CALL_OW 72
49302: PUSH
49303: LD_INT 0
49305: GREATER
49306: IFFALSE 49318
// temp_list2 = rocketls ;
49308: LD_ADDR_VAR 0 13
49312: PUSH
49313: LD_VAR 0 25
49317: ST_TO_ADDR
// temp_list = 0 ;
49318: LD_ADDR_VAR 0 12
49322: PUSH
49323: LD_INT 0
49325: ST_TO_ADDR
// end ; if temp_list > 0 then
49326: LD_VAR 0 12
49330: PUSH
49331: LD_INT 0
49333: GREATER
49334: IFFALSE 49461
// for i in temp_list do
49336: LD_ADDR_VAR 0 5
49340: PUSH
49341: LD_VAR 0 12
49345: PUSH
49346: FOR_IN
49347: IFFALSE 49459
// begin if getweapon ( i ) = ru_rocket_launcher then
49349: LD_VAR 0 5
49353: PPUSH
49354: CALL_OW 264
49358: PUSH
49359: LD_INT 45
49361: EQUAL
49362: IFFALSE 49374
// temp_val = 6 else
49364: LD_ADDR_VAR 0 16
49368: PUSH
49369: LD_INT 6
49371: ST_TO_ADDR
49372: GO 49382
// temp_val = 3 ;
49374: LD_ADDR_VAR 0 16
49378: PUSH
49379: LD_INT 3
49381: ST_TO_ADDR
// if getdistunits ( i , target_all [ group_number ] ) > temp_val then
49382: LD_VAR 0 5
49386: PPUSH
49387: LD_EXP 18
49391: PUSH
49392: LD_VAR 0 1
49396: ARRAY
49397: PPUSH
49398: CALL_OW 296
49402: PUSH
49403: LD_VAR 0 16
49407: GREATER
49408: IFFALSE 49437
// MoveCloseToUnit ( i , target_all [ group_number ] , temp_val ) else
49410: LD_VAR 0 5
49414: PPUSH
49415: LD_EXP 18
49419: PUSH
49420: LD_VAR 0 1
49424: ARRAY
49425: PPUSH
49426: LD_VAR 0 16
49430: PPUSH
49431: CALL 56088 0 3
49435: GO 49457
// comattackunit ( i , target_all [ group_number ] ) ;
49437: LD_VAR 0 5
49441: PPUSH
49442: LD_EXP 18
49446: PUSH
49447: LD_VAR 0 1
49451: ARRAY
49452: PPUSH
49453: CALL_OW 115
// end ;
49457: GO 49346
49459: POP
49460: POP
// if temp_list2 > 0 then
49461: LD_VAR 0 13
49465: PUSH
49466: LD_INT 0
49468: GREATER
49469: IFFALSE 49694
// for i in temp_list2 do
49471: LD_ADDR_VAR 0 5
49475: PUSH
49476: LD_VAR 0 13
49480: PUSH
49481: FOR_IN
49482: IFFALSE 49692
// begin if GetWeapon ( i ) = ru_rocket_launcher then
49484: LD_VAR 0 5
49488: PPUSH
49489: CALL_OW 264
49493: PUSH
49494: LD_INT 45
49496: EQUAL
49497: IFFALSE 49533
// if gettech ( tech_weap2 , 3 ) = state_researched then
49499: LD_INT 52
49501: PPUSH
49502: LD_INT 3
49504: PPUSH
49505: CALL_OW 321
49509: PUSH
49510: LD_INT 2
49512: EQUAL
49513: IFFALSE 49525
// temp_val = 17 else
49515: LD_ADDR_VAR 0 16
49519: PUSH
49520: LD_INT 17
49522: ST_TO_ADDR
49523: GO 49533
// temp_val = 15 ;
49525: LD_ADDR_VAR 0 16
49529: PUSH
49530: LD_INT 15
49532: ST_TO_ADDR
// temp_hex = RandHexXYRminRmax ( GetX ( target_all [ group_number ] ) , GetY ( target_all [ group_number ] ) , 10 , temp_val ) ;
49533: LD_ADDR_VAR 0 19
49537: PUSH
49538: LD_EXP 18
49542: PUSH
49543: LD_VAR 0 1
49547: ARRAY
49548: PPUSH
49549: CALL_OW 250
49553: PPUSH
49554: LD_EXP 18
49558: PUSH
49559: LD_VAR 0 1
49563: ARRAY
49564: PPUSH
49565: CALL_OW 251
49569: PPUSH
49570: LD_INT 10
49572: PPUSH
49573: LD_VAR 0 16
49577: PPUSH
49578: CALL 57763 0 4
49582: ST_TO_ADDR
// if getdistunits ( i , target_all [ group_number ] ) > temp_val + 1 then
49583: LD_VAR 0 5
49587: PPUSH
49588: LD_EXP 18
49592: PUSH
49593: LD_VAR 0 1
49597: ARRAY
49598: PPUSH
49599: CALL_OW 296
49603: PUSH
49604: LD_VAR 0 16
49608: PUSH
49609: LD_INT 1
49611: PLUS
49612: GREATER
49613: IFFALSE 49663
// temp_hex = RandHexXYRminRmax ( GetX ( target_all [ group_number ] ) , GetY ( target_all [ group_number ] ) , 9 , 10 ) ;
49615: LD_ADDR_VAR 0 19
49619: PUSH
49620: LD_EXP 18
49624: PUSH
49625: LD_VAR 0 1
49629: ARRAY
49630: PPUSH
49631: CALL_OW 250
49635: PPUSH
49636: LD_EXP 18
49640: PUSH
49641: LD_VAR 0 1
49645: ARRAY
49646: PPUSH
49647: CALL_OW 251
49651: PPUSH
49652: LD_INT 9
49654: PPUSH
49655: LD_INT 10
49657: PPUSH
49658: CALL 57763 0 4
49662: ST_TO_ADDR
// commovexy ( i , temp_hex [ 1 ] , temp_hex [ 2 ] ) ;
49663: LD_VAR 0 5
49667: PPUSH
49668: LD_VAR 0 19
49672: PUSH
49673: LD_INT 1
49675: ARRAY
49676: PPUSH
49677: LD_VAR 0 19
49681: PUSH
49682: LD_INT 2
49684: ARRAY
49685: PPUSH
49686: CALL_OW 111
// end ;
49690: GO 49481
49692: POP
49693: POP
// end else
49694: GO 49862
// for i in temp do
49696: LD_ADDR_VAR 0 5
49700: PUSH
49701: LD_VAR 0 15
49705: PUSH
49706: FOR_IN
49707: IFFALSE 49860
// begin if see ( 3 , target_all [ group_number ] ) or see ( 6 , target_all [ group_number ] ) then
49709: LD_INT 3
49711: PPUSH
49712: LD_EXP 18
49716: PUSH
49717: LD_VAR 0 1
49721: ARRAY
49722: PPUSH
49723: CALL_OW 292
49727: PUSH
49728: LD_INT 6
49730: PPUSH
49731: LD_EXP 18
49735: PUSH
49736: LD_VAR 0 1
49740: ARRAY
49741: PPUSH
49742: CALL_OW 292
49746: OR
49747: IFFALSE 49771
// comattackunit ( i , target_all [ group_number ] ) else
49749: LD_VAR 0 5
49753: PPUSH
49754: LD_EXP 18
49758: PUSH
49759: LD_VAR 0 1
49763: ARRAY
49764: PPUSH
49765: CALL_OW 115
49769: GO 49794
// MoveCloseToUnit ( i , target_all [ group_number ] , 3 ) ;
49771: LD_VAR 0 5
49775: PPUSH
49776: LD_EXP 18
49780: PUSH
49781: LD_VAR 0 1
49785: ARRAY
49786: PPUSH
49787: LD_INT 3
49789: PPUSH
49790: CALL 56088 0 3
// if getside ( target_all [ group_number ] ) = 5 then
49794: LD_EXP 18
49798: PUSH
49799: LD_VAR 0 1
49803: ARRAY
49804: PPUSH
49805: CALL_OW 255
49809: PUSH
49810: LD_INT 5
49812: EQUAL
49813: IFFALSE 49858
// begin MoveCloseToUnit ( i , target_all [ group_number ] , 3 ) ;
49815: LD_VAR 0 5
49819: PPUSH
49820: LD_EXP 18
49824: PUSH
49825: LD_VAR 0 1
49829: ARRAY
49830: PPUSH
49831: LD_INT 3
49833: PPUSH
49834: CALL 56088 0 3
// addcomattackunit ( i , target_all [ group_number ] ) ;
49838: LD_VAR 0 5
49842: PPUSH
49843: LD_EXP 18
49847: PUSH
49848: LD_VAR 0 1
49852: ARRAY
49853: PPUSH
49854: CALL_OW 175
// end ; end ;
49858: GO 49706
49860: POP
49861: POP
// end ; temp = unitfilter ( russian_group , [ f_class , class_bazooker ] ) ;
49862: LD_ADDR_VAR 0 15
49866: PUSH
49867: LD_VAR 0 8
49871: PPUSH
49872: LD_INT 25
49874: PUSH
49875: LD_INT 9
49877: PUSH
49878: EMPTY
49879: LIST
49880: LIST
49881: PPUSH
49882: CALL_OW 72
49886: ST_TO_ADDR
// if temp > 0 then
49887: LD_VAR 0 15
49891: PUSH
49892: LD_INT 0
49894: GREATER
49895: IFFALSE 51438
// begin target_bazooka = tag ( target_bazooka , group_number , 0 ) ;
49897: LD_ADDR_EXP 19
49901: PUSH
49902: LD_EXP 19
49906: PPUSH
49907: LD_VAR 0 1
49911: PPUSH
49912: LD_INT 0
49914: PPUSH
49915: CALL 59897 0 3
49919: ST_TO_ADDR
// temp_list = unitfilter ( seen_arabians , [ [ f_dist , russian_group [ 1 ] , 13 ] , [ f_not , [ f_lives , 700 ] ] ] ) ;
49920: LD_ADDR_VAR 0 12
49924: PUSH
49925: LD_VAR 0 7
49929: PPUSH
49930: LD_INT 91
49932: PUSH
49933: LD_VAR 0 8
49937: PUSH
49938: LD_INT 1
49940: ARRAY
49941: PUSH
49942: LD_INT 13
49944: PUSH
49945: EMPTY
49946: LIST
49947: LIST
49948: LIST
49949: PUSH
49950: LD_INT 3
49952: PUSH
49953: LD_INT 24
49955: PUSH
49956: LD_INT 700
49958: PUSH
49959: EMPTY
49960: LIST
49961: LIST
49962: PUSH
49963: EMPTY
49964: LIST
49965: LIST
49966: PUSH
49967: EMPTY
49968: LIST
49969: LIST
49970: PPUSH
49971: CALL_OW 72
49975: ST_TO_ADDR
// temp_list2 = [ ] ;
49976: LD_ADDR_VAR 0 13
49980: PUSH
49981: EMPTY
49982: ST_TO_ADDR
// for i in temp_list do
49983: LD_ADDR_VAR 0 5
49987: PUSH
49988: LD_VAR 0 12
49992: PUSH
49993: FOR_IN
49994: IFFALSE 50019
// temp_list2 = temp_list2 ^ getlives ( i ) ;
49996: LD_ADDR_VAR 0 13
50000: PUSH
50001: LD_VAR 0 13
50005: PUSH
50006: LD_VAR 0 5
50010: PPUSH
50011: CALL_OW 256
50015: ADD
50016: ST_TO_ADDR
50017: GO 49993
50019: POP
50020: POP
// temp_list = WorstFromListByList ( temp_list , temp_list2 ) ;
50021: LD_ADDR_VAR 0 12
50025: PUSH
50026: LD_VAR 0 12
50030: PPUSH
50031: LD_VAR 0 13
50035: PPUSH
50036: CALL_OW 78
50040: ST_TO_ADDR
// temp_list = temp_list ^ unitfilter ( seen_arabians , [ [ f_dist , russian_group [ 1 ] , 13 ] , [ f_lives , 700 ] ] ) ;
50041: LD_ADDR_VAR 0 12
50045: PUSH
50046: LD_VAR 0 12
50050: PUSH
50051: LD_VAR 0 7
50055: PPUSH
50056: LD_INT 91
50058: PUSH
50059: LD_VAR 0 8
50063: PUSH
50064: LD_INT 1
50066: ARRAY
50067: PUSH
50068: LD_INT 13
50070: PUSH
50071: EMPTY
50072: LIST
50073: LIST
50074: LIST
50075: PUSH
50076: LD_INT 24
50078: PUSH
50079: LD_INT 700
50081: PUSH
50082: EMPTY
50083: LIST
50084: LIST
50085: PUSH
50086: EMPTY
50087: LIST
50088: LIST
50089: PPUSH
50090: CALL_OW 72
50094: ADD
50095: ST_TO_ADDR
// for i in seen_arabians do
50096: LD_ADDR_VAR 0 5
50100: PUSH
50101: LD_VAR 0 7
50105: PUSH
50106: FOR_IN
50107: IFFALSE 50151
// if getdistunits ( i , russian_group [ 1 ] ) > 13 then
50109: LD_VAR 0 5
50113: PPUSH
50114: LD_VAR 0 8
50118: PUSH
50119: LD_INT 1
50121: ARRAY
50122: PPUSH
50123: CALL_OW 296
50127: PUSH
50128: LD_INT 13
50130: GREATER
50131: IFFALSE 50149
// temp_list = temp_list ^ i ;
50133: LD_ADDR_VAR 0 12
50137: PUSH
50138: LD_VAR 0 12
50142: PUSH
50143: LD_VAR 0 5
50147: ADD
50148: ST_TO_ADDR
50149: GO 50106
50151: POP
50152: POP
// if temp_list [ 1 ] = 0 then
50153: LD_VAR 0 12
50157: PUSH
50158: LD_INT 1
50160: ARRAY
50161: PUSH
50162: LD_INT 0
50164: EQUAL
50165: IFFALSE 50185
// temp_list = delete ( temp_list , 1 ) ;
50167: LD_ADDR_VAR 0 12
50171: PUSH
50172: LD_VAR 0 12
50176: PPUSH
50177: LD_INT 1
50179: PPUSH
50180: CALL_OW 3
50184: ST_TO_ADDR
// if unitfilter ( temp_list , [ [ f_and , [ f_type , unit_vehicle ] , [ f_or , [ f_weapon , ar_control_tower ] , [ f_weapon , ar_radar ] ] ] ] ) > 0 then
50185: LD_VAR 0 12
50189: PPUSH
50190: LD_INT 1
50192: PUSH
50193: LD_INT 21
50195: PUSH
50196: LD_INT 2
50198: PUSH
50199: EMPTY
50200: LIST
50201: LIST
50202: PUSH
50203: LD_INT 2
50205: PUSH
50206: LD_INT 34
50208: PUSH
50209: LD_INT 31
50211: PUSH
50212: EMPTY
50213: LIST
50214: LIST
50215: PUSH
50216: LD_INT 34
50218: PUSH
50219: LD_INT 30
50221: PUSH
50222: EMPTY
50223: LIST
50224: LIST
50225: PUSH
50226: EMPTY
50227: LIST
50228: LIST
50229: LIST
50230: PUSH
50231: EMPTY
50232: LIST
50233: LIST
50234: LIST
50235: PUSH
50236: EMPTY
50237: LIST
50238: PPUSH
50239: CALL_OW 72
50243: PUSH
50244: LD_INT 0
50246: GREATER
50247: IFFALSE 50332
// target_bazooka = tag ( target_bazooka , group_number , unitfilter ( temp_list , [ [ f_and , [ f_type , unit_vehicle ] , [ f_or , [ f_weapon , ar_control_tower ] , [ f_weapon , ar_radar ] ] ] ] ) [ 1 ] ) ;
50249: LD_ADDR_EXP 19
50253: PUSH
50254: LD_EXP 19
50258: PPUSH
50259: LD_VAR 0 1
50263: PPUSH
50264: LD_VAR 0 12
50268: PPUSH
50269: LD_INT 1
50271: PUSH
50272: LD_INT 21
50274: PUSH
50275: LD_INT 2
50277: PUSH
50278: EMPTY
50279: LIST
50280: LIST
50281: PUSH
50282: LD_INT 2
50284: PUSH
50285: LD_INT 34
50287: PUSH
50288: LD_INT 31
50290: PUSH
50291: EMPTY
50292: LIST
50293: LIST
50294: PUSH
50295: LD_INT 34
50297: PUSH
50298: LD_INT 30
50300: PUSH
50301: EMPTY
50302: LIST
50303: LIST
50304: PUSH
50305: EMPTY
50306: LIST
50307: LIST
50308: LIST
50309: PUSH
50310: EMPTY
50311: LIST
50312: LIST
50313: LIST
50314: PUSH
50315: EMPTY
50316: LIST
50317: PPUSH
50318: CALL_OW 72
50322: PUSH
50323: LD_INT 1
50325: ARRAY
50326: PPUSH
50327: CALL 59897 0 3
50331: ST_TO_ADDR
// if unitfilter ( temp_list , [ f_type , unit_vehicle ] ) > 0 and target_bazooka [ group_number ] = 0 then
50332: LD_VAR 0 12
50336: PPUSH
50337: LD_INT 21
50339: PUSH
50340: LD_INT 2
50342: PUSH
50343: EMPTY
50344: LIST
50345: LIST
50346: PPUSH
50347: CALL_OW 72
50351: PUSH
50352: LD_INT 0
50354: GREATER
50355: PUSH
50356: LD_EXP 19
50360: PUSH
50361: LD_VAR 0 1
50365: ARRAY
50366: PUSH
50367: LD_INT 0
50369: EQUAL
50370: AND
50371: IFFALSE 50417
// target_bazooka = tag ( target_bazooka , group_number , unitfilter ( temp_list , [ f_type , unit_vehicle ] ) [ 1 ] ) ;
50373: LD_ADDR_EXP 19
50377: PUSH
50378: LD_EXP 19
50382: PPUSH
50383: LD_VAR 0 1
50387: PPUSH
50388: LD_VAR 0 12
50392: PPUSH
50393: LD_INT 21
50395: PUSH
50396: LD_INT 2
50398: PUSH
50399: EMPTY
50400: LIST
50401: LIST
50402: PPUSH
50403: CALL_OW 72
50407: PUSH
50408: LD_INT 1
50410: ARRAY
50411: PPUSH
50412: CALL 59897 0 3
50416: ST_TO_ADDR
// if unitfilter ( temp_list , [ f_and , [ f_type , unit_human ] , [ f_class , class_mortar ] ] ) > 0 and target_bazooka [ group_number ] = 0 then
50417: LD_VAR 0 12
50421: PPUSH
50422: LD_INT 1
50424: PUSH
50425: LD_INT 21
50427: PUSH
50428: LD_INT 1
50430: PUSH
50431: EMPTY
50432: LIST
50433: LIST
50434: PUSH
50435: LD_INT 25
50437: PUSH
50438: LD_INT 8
50440: PUSH
50441: EMPTY
50442: LIST
50443: LIST
50444: PUSH
50445: EMPTY
50446: LIST
50447: LIST
50448: LIST
50449: PPUSH
50450: CALL_OW 72
50454: PUSH
50455: LD_INT 0
50457: GREATER
50458: PUSH
50459: LD_EXP 19
50463: PUSH
50464: LD_VAR 0 1
50468: ARRAY
50469: PUSH
50470: LD_INT 0
50472: EQUAL
50473: AND
50474: IFFALSE 50538
// target_bazooka = tag ( target_bazooka , group_number , unitfilter ( temp_list , [ f_and , [ f_type , unit_human ] , [ f_class , class_mortar ] ] ) [ 1 ] ) ;
50476: LD_ADDR_EXP 19
50480: PUSH
50481: LD_EXP 19
50485: PPUSH
50486: LD_VAR 0 1
50490: PPUSH
50491: LD_VAR 0 12
50495: PPUSH
50496: LD_INT 1
50498: PUSH
50499: LD_INT 21
50501: PUSH
50502: LD_INT 1
50504: PUSH
50505: EMPTY
50506: LIST
50507: LIST
50508: PUSH
50509: LD_INT 25
50511: PUSH
50512: LD_INT 8
50514: PUSH
50515: EMPTY
50516: LIST
50517: LIST
50518: PUSH
50519: EMPTY
50520: LIST
50521: LIST
50522: LIST
50523: PPUSH
50524: CALL_OW 72
50528: PUSH
50529: LD_INT 1
50531: ARRAY
50532: PPUSH
50533: CALL 59897 0 3
50537: ST_TO_ADDR
// if target_bazooka [ group_number ] = 0 then
50538: LD_EXP 19
50542: PUSH
50543: LD_VAR 0 1
50547: ARRAY
50548: PUSH
50549: LD_INT 0
50551: EQUAL
50552: IFFALSE 50583
// target_bazooka = tag ( target_bazooka , group_number , temp_list [ 1 ] ) ;
50554: LD_ADDR_EXP 19
50558: PUSH
50559: LD_EXP 19
50563: PPUSH
50564: LD_VAR 0 1
50568: PPUSH
50569: LD_VAR 0 12
50573: PUSH
50574: LD_INT 1
50576: ARRAY
50577: PPUSH
50578: CALL 59897 0 3
50582: ST_TO_ADDR
// temp_val3 = 200 ;
50583: LD_ADDR_VAR 0 18
50587: PUSH
50588: LD_INT 200
50590: ST_TO_ADDR
// if gettech ( tech_ST1 , 3 ) = state_researched then
50591: LD_INT 63
50593: PPUSH
50594: LD_INT 3
50596: PPUSH
50597: CALL_OW 321
50601: PUSH
50602: LD_INT 2
50604: EQUAL
50605: IFFALSE 50615
// temp_val3 = 300 ;
50607: LD_ADDR_VAR 0 18
50611: PUSH
50612: LD_INT 300
50614: ST_TO_ADDR
// if gettech ( tech_ST2 , 3 ) = state_researched then
50615: LD_INT 64
50617: PPUSH
50618: LD_INT 3
50620: PPUSH
50621: CALL_OW 321
50625: PUSH
50626: LD_INT 2
50628: EQUAL
50629: IFFALSE 50639
// temp_val3 = 400 ;
50631: LD_ADDR_VAR 0 18
50635: PUSH
50636: LD_INT 400
50638: ST_TO_ADDR
// temp_list = unitfilter ( russian_group , [ f_empty ] ) ;
50639: LD_ADDR_VAR 0 12
50643: PUSH
50644: LD_VAR 0 8
50648: PPUSH
50649: LD_INT 58
50651: PUSH
50652: EMPTY
50653: LIST
50654: PPUSH
50655: CALL_OW 72
50659: ST_TO_ADDR
// for i in temp do
50660: LD_ADDR_VAR 0 5
50664: PUSH
50665: LD_VAR 0 15
50669: PUSH
50670: FOR_IN
50671: IFFALSE 51436
// if GetDistUnits ( i , target_bazooka [ group_number ] ) > 12 then
50673: LD_VAR 0 5
50677: PPUSH
50678: LD_EXP 19
50682: PUSH
50683: LD_VAR 0 1
50687: ARRAY
50688: PPUSH
50689: CALL_OW 296
50693: PUSH
50694: LD_INT 12
50696: GREATER
50697: IFFALSE 50755
// begin if temp_list > 0 then
50699: LD_VAR 0 12
50703: PUSH
50704: LD_INT 0
50706: GREATER
50707: IFFALSE 50733
// comenterunit ( i , nearestunittounit ( temp_list , i ) ) ;
50709: LD_VAR 0 5
50713: PPUSH
50714: LD_VAR 0 12
50718: PPUSH
50719: LD_VAR 0 5
50723: PPUSH
50724: CALL_OW 74
50728: PPUSH
50729: CALL_OW 120
// addcommoveunit ( i , target_bazooka [ group_number ] ) ;
50733: LD_VAR 0 5
50737: PPUSH
50738: LD_EXP 19
50742: PUSH
50743: LD_VAR 0 1
50747: ARRAY
50748: PPUSH
50749: CALL_OW 172
// end else
50753: GO 51434
// begin if isinunit ( i ) then
50755: LD_VAR 0 5
50759: PPUSH
50760: CALL_OW 310
50764: IFFALSE 50775
// comexitvehicle ( i ) ;
50766: LD_VAR 0 5
50770: PPUSH
50771: CALL_OW 121
// if bazooka_engagetime [ group_number ] = 999 999$0 then
50775: LD_EXP 20
50779: PUSH
50780: LD_VAR 0 1
50784: ARRAY
50785: PUSH
50786: LD_INT 2097900
50788: EQUAL
50789: IFFALSE 50822
// bazooka_engagetime = tag ( bazooka_engagetime , group_number , tick - temp_val3 ) ;
50791: LD_ADDR_EXP 20
50795: PUSH
50796: LD_EXP 20
50800: PPUSH
50801: LD_VAR 0 1
50805: PPUSH
50806: LD_OWVAR 1
50810: PUSH
50811: LD_VAR 0 18
50815: MINUS
50816: PPUSH
50817: CALL 59897 0 3
50821: ST_TO_ADDR
// temp_val = 0 ;
50822: LD_ADDR_VAR 0 16
50826: PUSH
50827: LD_INT 0
50829: ST_TO_ADDR
// if hastask ( i ) [ 1 ] [ 1 ] = A or hastask ( i ) [ 1 ] [ 1 ] = % or hastask ( i ) [ 1 ] [ 1 ] = & then
50830: LD_VAR 0 5
50834: PPUSH
50835: CALL_OW 314
50839: PUSH
50840: LD_INT 1
50842: ARRAY
50843: PUSH
50844: LD_INT 1
50846: ARRAY
50847: PUSH
50848: LD_STRING A
50850: EQUAL
50851: PUSH
50852: LD_VAR 0 5
50856: PPUSH
50857: CALL_OW 314
50861: PUSH
50862: LD_INT 1
50864: ARRAY
50865: PUSH
50866: LD_INT 1
50868: ARRAY
50869: PUSH
50870: LD_STRING %
50872: EQUAL
50873: OR
50874: PUSH
50875: LD_VAR 0 5
50879: PPUSH
50880: CALL_OW 314
50884: PUSH
50885: LD_INT 1
50887: ARRAY
50888: PUSH
50889: LD_INT 1
50891: ARRAY
50892: PUSH
50893: LD_STRING &
50895: EQUAL
50896: OR
50897: IFFALSE 50907
// temp_val = 1 ;
50899: LD_ADDR_VAR 0 16
50903: PUSH
50904: LD_INT 1
50906: ST_TO_ADDR
// if hastask ( i ) = 0 then
50907: LD_VAR 0 5
50911: PPUSH
50912: CALL_OW 314
50916: PUSH
50917: LD_INT 0
50919: EQUAL
50920: IFFALSE 50944
// comattackunit ( i , target_bazooka [ group_number ] ) else
50922: LD_VAR 0 5
50926: PPUSH
50927: LD_EXP 19
50931: PUSH
50932: LD_VAR 0 1
50936: ARRAY
50937: PPUSH
50938: CALL_OW 115
50942: GO 50974
// if temp_val = 0 then
50944: LD_VAR 0 16
50948: PUSH
50949: LD_INT 0
50951: EQUAL
50952: IFFALSE 50974
// comattackunit ( i , target_bazooka [ group_number ] ) ;
50954: LD_VAR 0 5
50958: PPUSH
50959: LD_EXP 19
50963: PUSH
50964: LD_VAR 0 1
50968: ARRAY
50969: PPUSH
50970: CALL_OW 115
// if unitfilter ( russian_group , [ f_weapon , ru_time_lapser ] ) > 0 then
50974: LD_VAR 0 8
50978: PPUSH
50979: LD_INT 34
50981: PUSH
50982: LD_INT 49
50984: PUSH
50985: EMPTY
50986: LIST
50987: LIST
50988: PPUSH
50989: CALL_OW 72
50993: PUSH
50994: LD_INT 0
50996: GREATER
50997: IFFALSE 51344
// begin if tick > bazooka_engagetime [ group_number ] + temp_val3 then
50999: LD_OWVAR 1
51003: PUSH
51004: LD_EXP 20
51008: PUSH
51009: LD_VAR 0 1
51013: ARRAY
51014: PUSH
51015: LD_VAR 0 18
51019: PLUS
51020: GREATER
51021: IFFALSE 51342
// begin field_size = 8 ;
51023: LD_ADDR_VAR 0 22
51027: PUSH
51028: LD_INT 8
51030: ST_TO_ADDR
// if gettech ( tech_ST2 , 3 ) = state_researched then
51031: LD_INT 64
51033: PPUSH
51034: LD_INT 3
51036: PPUSH
51037: CALL_OW 321
51041: PUSH
51042: LD_INT 2
51044: EQUAL
51045: IFFALSE 51055
// field_size = 10 ;
51047: LD_ADDR_VAR 0 22
51051: PUSH
51052: LD_INT 10
51054: ST_TO_ADDR
// if gettech ( tech_ST3 , 3 ) = state_researched then
51055: LD_INT 65
51057: PPUSH
51058: LD_INT 3
51060: PPUSH
51061: CALL_OW 321
51065: PUSH
51066: LD_INT 2
51068: EQUAL
51069: IFFALSE 51079
// field_size = 12 ;
51071: LD_ADDR_VAR 0 22
51075: PUSH
51076: LD_INT 12
51078: ST_TO_ADDR
// if unitfilter ( russian_group , [ f_weapon , ru_time_lapser ] ) > 1 then
51079: LD_VAR 0 8
51083: PPUSH
51084: LD_INT 34
51086: PUSH
51087: LD_INT 49
51089: PUSH
51090: EMPTY
51091: LIST
51092: LIST
51093: PPUSH
51094: CALL_OW 72
51098: PUSH
51099: LD_INT 1
51101: GREATER
51102: IFFALSE 51118
// field_size = field_size + 2 ;
51104: LD_ADDR_VAR 0 22
51108: PUSH
51109: LD_VAR 0 22
51113: PUSH
51114: LD_INT 2
51116: PLUS
51117: ST_TO_ADDR
// if getdistunits ( unitfilter ( russian_group , [ f_weapon , ru_time_lapser ] ) [ 1 ] , target_bazooka [ group_number ] ) > field_size and getdistunits ( unitfilter ( russian_group , [ f_weapon , ru_time_lapser ] ) [ 1 ] , target_bazooka [ group_number ] ) < field_size + 8 then
51118: LD_VAR 0 8
51122: PPUSH
51123: LD_INT 34
51125: PUSH
51126: LD_INT 49
51128: PUSH
51129: EMPTY
51130: LIST
51131: LIST
51132: PPUSH
51133: CALL_OW 72
51137: PUSH
51138: LD_INT 1
51140: ARRAY
51141: PPUSH
51142: LD_EXP 19
51146: PUSH
51147: LD_VAR 0 1
51151: ARRAY
51152: PPUSH
51153: CALL_OW 296
51157: PUSH
51158: LD_VAR 0 22
51162: GREATER
51163: PUSH
51164: LD_VAR 0 8
51168: PPUSH
51169: LD_INT 34
51171: PUSH
51172: LD_INT 49
51174: PUSH
51175: EMPTY
51176: LIST
51177: LIST
51178: PPUSH
51179: CALL_OW 72
51183: PUSH
51184: LD_INT 1
51186: ARRAY
51187: PPUSH
51188: LD_EXP 19
51192: PUSH
51193: LD_VAR 0 1
51197: ARRAY
51198: PPUSH
51199: CALL_OW 296
51203: PUSH
51204: LD_VAR 0 22
51208: PUSH
51209: LD_INT 8
51211: PLUS
51212: LESS
51213: AND
51214: IFFALSE 51317
// begin temp_val = unitfilter ( russian_group , [ f_weapon , ru_time_lapser ] ) ;
51216: LD_ADDR_VAR 0 16
51220: PUSH
51221: LD_VAR 0 8
51225: PPUSH
51226: LD_INT 34
51228: PUSH
51229: LD_INT 49
51231: PUSH
51232: EMPTY
51233: LIST
51234: LIST
51235: PPUSH
51236: CALL_OW 72
51240: ST_TO_ADDR
// ; temp_hex = SpaceRocketTargeting ( getx ( temp_val [ 1 ] ) , gety ( temp_val [ 1 ] ) , target_bazooka [ group_number ] ) ;
51241: LD_ADDR_VAR 0 19
51245: PUSH
51246: LD_VAR 0 16
51250: PUSH
51251: LD_INT 1
51253: ARRAY
51254: PPUSH
51255: CALL_OW 250
51259: PPUSH
51260: LD_VAR 0 16
51264: PUSH
51265: LD_INT 1
51267: ARRAY
51268: PPUSH
51269: CALL_OW 251
51273: PPUSH
51274: LD_EXP 19
51278: PUSH
51279: LD_VAR 0 1
51283: ARRAY
51284: PPUSH
51285: CALL 56887 0 3
51289: ST_TO_ADDR
// comspaceshift ( i , temp_hex [ 1 ] , temp_hex [ 2 ] ) ;
51290: LD_VAR 0 5
51294: PPUSH
51295: LD_VAR 0 19
51299: PUSH
51300: LD_INT 1
51302: ARRAY
51303: PPUSH
51304: LD_VAR 0 19
51308: PUSH
51309: LD_INT 2
51311: ARRAY
51312: PPUSH
51313: CALL_OW 153
// end ; bazooka_engagetime = tag ( bazooka_engagetime , group_number , tick ) ;
51317: LD_ADDR_EXP 20
51321: PUSH
51322: LD_EXP 20
51326: PPUSH
51327: LD_VAR 0 1
51331: PPUSH
51332: LD_OWVAR 1
51336: PPUSH
51337: CALL 59897 0 3
51341: ST_TO_ADDR
// end ; end else
51342: GO 51434
// begin if tick > bazooka_engagetime [ group_number ] + temp_val3 then
51344: LD_OWVAR 1
51348: PUSH
51349: LD_EXP 20
51353: PUSH
51354: LD_VAR 0 1
51358: ARRAY
51359: PUSH
51360: LD_VAR 0 18
51364: PLUS
51365: GREATER
51366: IFFALSE 51434
// begin comtimeshift ( i , getx ( target_bazooka [ group_number ] ) , gety ( target_bazooka [ group_number ] ) ) ;
51368: LD_VAR 0 5
51372: PPUSH
51373: LD_EXP 19
51377: PUSH
51378: LD_VAR 0 1
51382: ARRAY
51383: PPUSH
51384: CALL_OW 250
51388: PPUSH
51389: LD_EXP 19
51393: PUSH
51394: LD_VAR 0 1
51398: ARRAY
51399: PPUSH
51400: CALL_OW 251
51404: PPUSH
51405: CALL_OW 154
// bazooka_engagetime = tag ( bazooka_engagetime , group_number , tick ) ;
51409: LD_ADDR_EXP 20
51413: PUSH
51414: LD_EXP 20
51418: PPUSH
51419: LD_VAR 0 1
51423: PPUSH
51424: LD_OWVAR 1
51428: PPUSH
51429: CALL 59897 0 3
51433: ST_TO_ADDR
// end ; end ; end ;
51434: GO 50670
51436: POP
51437: POP
// end ; temp = unitfilter ( russian_group , [ f_weapon , ru_time_lapser ] ) ;
51438: LD_ADDR_VAR 0 15
51442: PUSH
51443: LD_VAR 0 8
51447: PPUSH
51448: LD_INT 34
51450: PUSH
51451: LD_INT 49
51453: PUSH
51454: EMPTY
51455: LIST
51456: LIST
51457: PPUSH
51458: CALL_OW 72
51462: ST_TO_ADDR
// if temp > 0 then
51463: LD_VAR 0 15
51467: PUSH
51468: LD_INT 0
51470: GREATER
51471: IFFALSE 51652
// begin if unitfilter ( russian_group , [ f_weapon , ru_heavy_gun ] ) > 0 then
51473: LD_VAR 0 8
51477: PPUSH
51478: LD_INT 34
51480: PUSH
51481: LD_INT 46
51483: PUSH
51484: EMPTY
51485: LIST
51486: LIST
51487: PPUSH
51488: CALL_OW 72
51492: PUSH
51493: LD_INT 0
51495: GREATER
51496: IFFALSE 51589
// begin for i in temp do
51498: LD_ADDR_VAR 0 5
51502: PUSH
51503: LD_VAR 0 15
51507: PUSH
51508: FOR_IN
51509: IFFALSE 51585
// if getdistunits ( unitfilter ( russian_group , [ f_weapon , ru_heavy_gun ] ) [ 1 ] , i ) > 5 then
51511: LD_VAR 0 8
51515: PPUSH
51516: LD_INT 34
51518: PUSH
51519: LD_INT 46
51521: PUSH
51522: EMPTY
51523: LIST
51524: LIST
51525: PPUSH
51526: CALL_OW 72
51530: PUSH
51531: LD_INT 1
51533: ARRAY
51534: PPUSH
51535: LD_VAR 0 5
51539: PPUSH
51540: CALL_OW 296
51544: PUSH
51545: LD_INT 5
51547: GREATER
51548: IFFALSE 51583
// commoveunit ( i , unitfilter ( russian_group , [ f_weapon , ru_heavy_gun ] ) [ 1 ] ) ;
51550: LD_VAR 0 5
51554: PPUSH
51555: LD_VAR 0 8
51559: PPUSH
51560: LD_INT 34
51562: PUSH
51563: LD_INT 46
51565: PUSH
51566: EMPTY
51567: LIST
51568: LIST
51569: PPUSH
51570: CALL_OW 72
51574: PUSH
51575: LD_INT 1
51577: ARRAY
51578: PPUSH
51579: CALL_OW 112
51583: GO 51508
51585: POP
51586: POP
// end else
51587: GO 51652
// for i in temp do
51589: LD_ADDR_VAR 0 5
51593: PUSH
51594: LD_VAR 0 15
51598: PUSH
51599: FOR_IN
51600: IFFALSE 51650
// commoveunit ( i , nearestunittounit ( unitfilter ( russian_group , [ f_not , [ f_weapon , ru_time_lapser ] ] ) , i ) ) ;
51602: LD_VAR 0 5
51606: PPUSH
51607: LD_VAR 0 8
51611: PPUSH
51612: LD_INT 3
51614: PUSH
51615: LD_INT 34
51617: PUSH
51618: LD_INT 49
51620: PUSH
51621: EMPTY
51622: LIST
51623: LIST
51624: PUSH
51625: EMPTY
51626: LIST
51627: LIST
51628: PPUSH
51629: CALL_OW 72
51633: PPUSH
51634: LD_VAR 0 5
51638: PPUSH
51639: CALL_OW 74
51643: PPUSH
51644: CALL_OW 112
51648: GO 51599
51650: POP
51651: POP
// end ; end ; end ; 4 :
51652: GO 54698
51654: LD_INT 4
51656: DOUBLE
51657: EQUAL
51658: IFTRUE 51662
51660: GO 54697
51662: POP
// begin temp = unitfilter ( russian_group , [ [ f_type , unit_vehicle ] , [ f_weapon , ru_gun ] ] ) ;
51663: LD_ADDR_VAR 0 15
51667: PUSH
51668: LD_VAR 0 8
51672: PPUSH
51673: LD_INT 21
51675: PUSH
51676: LD_INT 2
51678: PUSH
51679: EMPTY
51680: LIST
51681: LIST
51682: PUSH
51683: LD_INT 34
51685: PUSH
51686: LD_INT 44
51688: PUSH
51689: EMPTY
51690: LIST
51691: LIST
51692: PUSH
51693: EMPTY
51694: LIST
51695: LIST
51696: PPUSH
51697: CALL_OW 72
51701: ST_TO_ADDR
// if temp > 0 then
51702: LD_VAR 0 15
51706: PUSH
51707: LD_INT 0
51709: GREATER
51710: IFFALSE 52947
// begin target_gun = tag ( target_gun , group_number , 0 ) ;
51712: LD_ADDR_EXP 17
51716: PUSH
51717: LD_EXP 17
51721: PPUSH
51722: LD_VAR 0 1
51726: PPUSH
51727: LD_INT 0
51729: PPUSH
51730: CALL 59897 0 3
51734: ST_TO_ADDR
// temp_list = unitfilter ( seen_arabians , [ [ f_dist , russian_group [ 1 ] , 13 ] , [ f_not , [ f_lives , 700 ] ] ] ) ;
51735: LD_ADDR_VAR 0 12
51739: PUSH
51740: LD_VAR 0 7
51744: PPUSH
51745: LD_INT 91
51747: PUSH
51748: LD_VAR 0 8
51752: PUSH
51753: LD_INT 1
51755: ARRAY
51756: PUSH
51757: LD_INT 13
51759: PUSH
51760: EMPTY
51761: LIST
51762: LIST
51763: LIST
51764: PUSH
51765: LD_INT 3
51767: PUSH
51768: LD_INT 24
51770: PUSH
51771: LD_INT 700
51773: PUSH
51774: EMPTY
51775: LIST
51776: LIST
51777: PUSH
51778: EMPTY
51779: LIST
51780: LIST
51781: PUSH
51782: EMPTY
51783: LIST
51784: LIST
51785: PPUSH
51786: CALL_OW 72
51790: ST_TO_ADDR
// temp_list2 = [ ] ;
51791: LD_ADDR_VAR 0 13
51795: PUSH
51796: EMPTY
51797: ST_TO_ADDR
// for i in temp_list do
51798: LD_ADDR_VAR 0 5
51802: PUSH
51803: LD_VAR 0 12
51807: PUSH
51808: FOR_IN
51809: IFFALSE 51834
// temp_list2 = temp_list2 ^ getlives ( i ) ;
51811: LD_ADDR_VAR 0 13
51815: PUSH
51816: LD_VAR 0 13
51820: PUSH
51821: LD_VAR 0 5
51825: PPUSH
51826: CALL_OW 256
51830: ADD
51831: ST_TO_ADDR
51832: GO 51808
51834: POP
51835: POP
// temp_list = WorstFromListByList ( temp_list , temp_list2 ) ;
51836: LD_ADDR_VAR 0 12
51840: PUSH
51841: LD_VAR 0 12
51845: PPUSH
51846: LD_VAR 0 13
51850: PPUSH
51851: CALL_OW 78
51855: ST_TO_ADDR
// temp_list = temp_list ^ unitfilter ( seen_arabians , [ [ f_dist , russian_group [ 1 ] , 13 ] , [ f_lives , 700 ] ] ) ;
51856: LD_ADDR_VAR 0 12
51860: PUSH
51861: LD_VAR 0 12
51865: PUSH
51866: LD_VAR 0 7
51870: PPUSH
51871: LD_INT 91
51873: PUSH
51874: LD_VAR 0 8
51878: PUSH
51879: LD_INT 1
51881: ARRAY
51882: PUSH
51883: LD_INT 13
51885: PUSH
51886: EMPTY
51887: LIST
51888: LIST
51889: LIST
51890: PUSH
51891: LD_INT 24
51893: PUSH
51894: LD_INT 700
51896: PUSH
51897: EMPTY
51898: LIST
51899: LIST
51900: PUSH
51901: EMPTY
51902: LIST
51903: LIST
51904: PPUSH
51905: CALL_OW 72
51909: ADD
51910: ST_TO_ADDR
// for i in seen_arabians do
51911: LD_ADDR_VAR 0 5
51915: PUSH
51916: LD_VAR 0 7
51920: PUSH
51921: FOR_IN
51922: IFFALSE 51966
// if getdistunits ( i , russian_group [ 1 ] ) > 13 then
51924: LD_VAR 0 5
51928: PPUSH
51929: LD_VAR 0 8
51933: PUSH
51934: LD_INT 1
51936: ARRAY
51937: PPUSH
51938: CALL_OW 296
51942: PUSH
51943: LD_INT 13
51945: GREATER
51946: IFFALSE 51964
// temp_list = temp_list ^ i ;
51948: LD_ADDR_VAR 0 12
51952: PUSH
51953: LD_VAR 0 12
51957: PUSH
51958: LD_VAR 0 5
51962: ADD
51963: ST_TO_ADDR
51964: GO 51921
51966: POP
51967: POP
// if temp_list [ 1 ] = 0 then
51968: LD_VAR 0 12
51972: PUSH
51973: LD_INT 1
51975: ARRAY
51976: PUSH
51977: LD_INT 0
51979: EQUAL
51980: IFFALSE 52000
// temp_list = delete ( temp_list , 1 ) ;
51982: LD_ADDR_VAR 0 12
51986: PUSH
51987: LD_VAR 0 12
51991: PPUSH
51992: LD_INT 1
51994: PPUSH
51995: CALL_OW 3
51999: ST_TO_ADDR
// if unitfilter ( temp_list , [ f_side , 5 ] ) > 0 then
52000: LD_VAR 0 12
52004: PPUSH
52005: LD_INT 22
52007: PUSH
52008: LD_INT 5
52010: PUSH
52011: EMPTY
52012: LIST
52013: LIST
52014: PPUSH
52015: CALL_OW 72
52019: PUSH
52020: LD_INT 0
52022: GREATER
52023: IFFALSE 52069
// target_gun = tag ( target_gun , group_number , unitfilter ( temp_list , [ f_side , 5 ] ) [ 1 ] ) ;
52025: LD_ADDR_EXP 17
52029: PUSH
52030: LD_EXP 17
52034: PPUSH
52035: LD_VAR 0 1
52039: PPUSH
52040: LD_VAR 0 12
52044: PPUSH
52045: LD_INT 22
52047: PUSH
52048: LD_INT 5
52050: PUSH
52051: EMPTY
52052: LIST
52053: LIST
52054: PPUSH
52055: CALL_OW 72
52059: PUSH
52060: LD_INT 1
52062: ARRAY
52063: PPUSH
52064: CALL 59897 0 3
52068: ST_TO_ADDR
// if unitfilter ( temp_list , [ f_and , [ f_type , unit_human ] , [ f_class , class_mortar ] ] ) > 0 and target_gun [ group_number ] = 0 then
52069: LD_VAR 0 12
52073: PPUSH
52074: LD_INT 1
52076: PUSH
52077: LD_INT 21
52079: PUSH
52080: LD_INT 1
52082: PUSH
52083: EMPTY
52084: LIST
52085: LIST
52086: PUSH
52087: LD_INT 25
52089: PUSH
52090: LD_INT 8
52092: PUSH
52093: EMPTY
52094: LIST
52095: LIST
52096: PUSH
52097: EMPTY
52098: LIST
52099: LIST
52100: LIST
52101: PPUSH
52102: CALL_OW 72
52106: PUSH
52107: LD_INT 0
52109: GREATER
52110: PUSH
52111: LD_EXP 17
52115: PUSH
52116: LD_VAR 0 1
52120: ARRAY
52121: PUSH
52122: LD_INT 0
52124: EQUAL
52125: AND
52126: IFFALSE 52190
// target_gun = tag ( target_gun , group_number , unitfilter ( temp_list , [ f_and , [ f_type , unit_human ] , [ f_class , class_mortar ] ] ) [ 1 ] ) ;
52128: LD_ADDR_EXP 17
52132: PUSH
52133: LD_EXP 17
52137: PPUSH
52138: LD_VAR 0 1
52142: PPUSH
52143: LD_VAR 0 12
52147: PPUSH
52148: LD_INT 1
52150: PUSH
52151: LD_INT 21
52153: PUSH
52154: LD_INT 1
52156: PUSH
52157: EMPTY
52158: LIST
52159: LIST
52160: PUSH
52161: LD_INT 25
52163: PUSH
52164: LD_INT 8
52166: PUSH
52167: EMPTY
52168: LIST
52169: LIST
52170: PUSH
52171: EMPTY
52172: LIST
52173: LIST
52174: LIST
52175: PPUSH
52176: CALL_OW 72
52180: PUSH
52181: LD_INT 1
52183: ARRAY
52184: PPUSH
52185: CALL 59897 0 3
52189: ST_TO_ADDR
// if unitfilter ( temp_list , [ [ f_and , [ f_type , unit_vehicle ] , [ f_or , [ f_weapon , ar_control_tower ] , [ f_weapon , ar_radar ] ] ] ] ) > 0 and target_gun [ group_number ] = 0 then
52190: LD_VAR 0 12
52194: PPUSH
52195: LD_INT 1
52197: PUSH
52198: LD_INT 21
52200: PUSH
52201: LD_INT 2
52203: PUSH
52204: EMPTY
52205: LIST
52206: LIST
52207: PUSH
52208: LD_INT 2
52210: PUSH
52211: LD_INT 34
52213: PUSH
52214: LD_INT 31
52216: PUSH
52217: EMPTY
52218: LIST
52219: LIST
52220: PUSH
52221: LD_INT 34
52223: PUSH
52224: LD_INT 30
52226: PUSH
52227: EMPTY
52228: LIST
52229: LIST
52230: PUSH
52231: EMPTY
52232: LIST
52233: LIST
52234: LIST
52235: PUSH
52236: EMPTY
52237: LIST
52238: LIST
52239: LIST
52240: PUSH
52241: EMPTY
52242: LIST
52243: PPUSH
52244: CALL_OW 72
52248: PUSH
52249: LD_INT 0
52251: GREATER
52252: PUSH
52253: LD_EXP 17
52257: PUSH
52258: LD_VAR 0 1
52262: ARRAY
52263: PUSH
52264: LD_INT 0
52266: EQUAL
52267: AND
52268: IFFALSE 52353
// target_gun = tag ( target_gun , group_number , unitfilter ( temp_list , [ [ f_and , [ f_type , unit_vehicle ] , [ f_or , [ f_weapon , ar_control_tower ] , [ f_weapon , ar_radar ] ] ] ] ) [ 1 ] ) ;
52270: LD_ADDR_EXP 17
52274: PUSH
52275: LD_EXP 17
52279: PPUSH
52280: LD_VAR 0 1
52284: PPUSH
52285: LD_VAR 0 12
52289: PPUSH
52290: LD_INT 1
52292: PUSH
52293: LD_INT 21
52295: PUSH
52296: LD_INT 2
52298: PUSH
52299: EMPTY
52300: LIST
52301: LIST
52302: PUSH
52303: LD_INT 2
52305: PUSH
52306: LD_INT 34
52308: PUSH
52309: LD_INT 31
52311: PUSH
52312: EMPTY
52313: LIST
52314: LIST
52315: PUSH
52316: LD_INT 34
52318: PUSH
52319: LD_INT 30
52321: PUSH
52322: EMPTY
52323: LIST
52324: LIST
52325: PUSH
52326: EMPTY
52327: LIST
52328: LIST
52329: LIST
52330: PUSH
52331: EMPTY
52332: LIST
52333: LIST
52334: LIST
52335: PUSH
52336: EMPTY
52337: LIST
52338: PPUSH
52339: CALL_OW 72
52343: PUSH
52344: LD_INT 1
52346: ARRAY
52347: PPUSH
52348: CALL 59897 0 3
52352: ST_TO_ADDR
// if unitfilter ( temp_list , [ f_type , unit_vehicle ] ) > 0 and target_gun [ group_number ] = 0 then
52353: LD_VAR 0 12
52357: PPUSH
52358: LD_INT 21
52360: PUSH
52361: LD_INT 2
52363: PUSH
52364: EMPTY
52365: LIST
52366: LIST
52367: PPUSH
52368: CALL_OW 72
52372: PUSH
52373: LD_INT 0
52375: GREATER
52376: PUSH
52377: LD_EXP 17
52381: PUSH
52382: LD_VAR 0 1
52386: ARRAY
52387: PUSH
52388: LD_INT 0
52390: EQUAL
52391: AND
52392: IFFALSE 52438
// target_gun = tag ( target_gun , group_number , unitfilter ( temp_list , [ f_type , unit_vehicle ] ) [ 1 ] ) ;
52394: LD_ADDR_EXP 17
52398: PUSH
52399: LD_EXP 17
52403: PPUSH
52404: LD_VAR 0 1
52408: PPUSH
52409: LD_VAR 0 12
52413: PPUSH
52414: LD_INT 21
52416: PUSH
52417: LD_INT 2
52419: PUSH
52420: EMPTY
52421: LIST
52422: LIST
52423: PPUSH
52424: CALL_OW 72
52428: PUSH
52429: LD_INT 1
52431: ARRAY
52432: PPUSH
52433: CALL 59897 0 3
52437: ST_TO_ADDR
// if target_gun [ group_number ] = 0 then
52438: LD_EXP 17
52442: PUSH
52443: LD_VAR 0 1
52447: ARRAY
52448: PUSH
52449: LD_INT 0
52451: EQUAL
52452: IFFALSE 52483
// target_gun = tag ( target_gun , group_number , temp_list [ 1 ] ) ;
52454: LD_ADDR_EXP 17
52458: PUSH
52459: LD_EXP 17
52463: PPUSH
52464: LD_VAR 0 1
52468: PPUSH
52469: LD_VAR 0 12
52473: PUSH
52474: LD_INT 1
52476: ARRAY
52477: PPUSH
52478: CALL 59897 0 3
52482: ST_TO_ADDR
// if gettype ( target_gun [ group_number ] ) = unit_human and getclass ( target_gun [ group_number ] ) = class_mortar then
52483: LD_EXP 17
52487: PUSH
52488: LD_VAR 0 1
52492: ARRAY
52493: PPUSH
52494: CALL_OW 247
52498: PUSH
52499: LD_INT 1
52501: EQUAL
52502: PUSH
52503: LD_EXP 17
52507: PUSH
52508: LD_VAR 0 1
52512: ARRAY
52513: PPUSH
52514: CALL_OW 257
52518: PUSH
52519: LD_INT 8
52521: EQUAL
52522: AND
52523: IFFALSE 52840
// begin if unitfilter ( russian_group , [ [ f_type , unit_vehicle ] , [ f_or , [ f_weapon , ru_gatling_gun ] , [ f_weapon , ru_heavy_machine_gun ] ] ] ) > 0 then
52525: LD_VAR 0 8
52529: PPUSH
52530: LD_INT 21
52532: PUSH
52533: LD_INT 2
52535: PUSH
52536: EMPTY
52537: LIST
52538: LIST
52539: PUSH
52540: LD_INT 2
52542: PUSH
52543: LD_INT 34
52545: PUSH
52546: LD_INT 43
52548: PUSH
52549: EMPTY
52550: LIST
52551: LIST
52552: PUSH
52553: LD_INT 34
52555: PUSH
52556: LD_INT 42
52558: PUSH
52559: EMPTY
52560: LIST
52561: LIST
52562: PUSH
52563: EMPTY
52564: LIST
52565: LIST
52566: LIST
52567: PUSH
52568: EMPTY
52569: LIST
52570: LIST
52571: PPUSH
52572: CALL_OW 72
52576: PUSH
52577: LD_INT 0
52579: GREATER
52580: IFFALSE 52750
// begin for i in temp do
52582: LD_ADDR_VAR 0 5
52586: PUSH
52587: LD_VAR 0 15
52591: PUSH
52592: FOR_IN
52593: IFFALSE 52746
// begin temp_hex = RandHexXYRminRmax ( GetX ( target_gun [ group_number ] ) , GetY ( target_gun [ group_number ] ) , 7 , 10 ) ;
52595: LD_ADDR_VAR 0 19
52599: PUSH
52600: LD_EXP 17
52604: PUSH
52605: LD_VAR 0 1
52609: ARRAY
52610: PPUSH
52611: CALL_OW 250
52615: PPUSH
52616: LD_EXP 17
52620: PUSH
52621: LD_VAR 0 1
52625: ARRAY
52626: PPUSH
52627: CALL_OW 251
52631: PPUSH
52632: LD_INT 7
52634: PPUSH
52635: LD_INT 10
52637: PPUSH
52638: CALL 57763 0 4
52642: ST_TO_ADDR
// if getdistunits ( i , target_gun [ group_number ] ) > 12 then
52643: LD_VAR 0 5
52647: PPUSH
52648: LD_EXP 17
52652: PUSH
52653: LD_VAR 0 1
52657: ARRAY
52658: PPUSH
52659: CALL_OW 296
52663: PUSH
52664: LD_INT 12
52666: GREATER
52667: IFFALSE 52717
// temp_hex = RandHexXYRminRmax ( GetX ( target_gun [ group_number ] ) , GetY ( target_gun [ group_number ] ) , 6 , 7 ) ;
52669: LD_ADDR_VAR 0 19
52673: PUSH
52674: LD_EXP 17
52678: PUSH
52679: LD_VAR 0 1
52683: ARRAY
52684: PPUSH
52685: CALL_OW 250
52689: PPUSH
52690: LD_EXP 17
52694: PUSH
52695: LD_VAR 0 1
52699: ARRAY
52700: PPUSH
52701: CALL_OW 251
52705: PPUSH
52706: LD_INT 6
52708: PPUSH
52709: LD_INT 7
52711: PPUSH
52712: CALL 57763 0 4
52716: ST_TO_ADDR
// commovexy ( i , temp_hex [ 1 ] , temp_hex [ 2 ] ) ;
52717: LD_VAR 0 5
52721: PPUSH
52722: LD_VAR 0 19
52726: PUSH
52727: LD_INT 1
52729: ARRAY
52730: PPUSH
52731: LD_VAR 0 19
52735: PUSH
52736: LD_INT 2
52738: ARRAY
52739: PPUSH
52740: CALL_OW 111
// end ;
52744: GO 52592
52746: POP
52747: POP
// end else
52748: GO 52838
// for i in temp do
52750: LD_ADDR_VAR 0 5
52754: PUSH
52755: LD_VAR 0 15
52759: PUSH
52760: FOR_IN
52761: IFFALSE 52836
// if getdistunits ( i , target_gun [ group_number ] ) > 3 then
52763: LD_VAR 0 5
52767: PPUSH
52768: LD_EXP 17
52772: PUSH
52773: LD_VAR 0 1
52777: ARRAY
52778: PPUSH
52779: CALL_OW 296
52783: PUSH
52784: LD_INT 3
52786: GREATER
52787: IFFALSE 52814
// MoveCloseToUnit ( i , target_gun [ group_number ] , 3 ) else
52789: LD_VAR 0 5
52793: PPUSH
52794: LD_EXP 17
52798: PUSH
52799: LD_VAR 0 1
52803: ARRAY
52804: PPUSH
52805: LD_INT 3
52807: PPUSH
52808: CALL 56088 0 3
52812: GO 52834
// comattackunit ( i , target_gun [ group_number ] ) ;
52814: LD_VAR 0 5
52818: PPUSH
52819: LD_EXP 17
52823: PUSH
52824: LD_VAR 0 1
52828: ARRAY
52829: PPUSH
52830: CALL_OW 115
52834: GO 52760
52836: POP
52837: POP
// end else
52838: GO 52947
// for i in temp do
52840: LD_ADDR_VAR 0 5
52844: PUSH
52845: LD_VAR 0 15
52849: PUSH
52850: FOR_IN
52851: IFFALSE 52945
// begin comattackunit ( i , target_gun [ group_number ] ) ;
52853: LD_VAR 0 5
52857: PPUSH
52858: LD_EXP 17
52862: PUSH
52863: LD_VAR 0 1
52867: ARRAY
52868: PPUSH
52869: CALL_OW 115
// if getside ( target_gun [ group_number ] ) = 5 and getdistunits ( i , target_gun [ group_number ] ) > 6 then
52873: LD_EXP 17
52877: PUSH
52878: LD_VAR 0 1
52882: ARRAY
52883: PPUSH
52884: CALL_OW 255
52888: PUSH
52889: LD_INT 5
52891: EQUAL
52892: PUSH
52893: LD_VAR 0 5
52897: PPUSH
52898: LD_EXP 17
52902: PUSH
52903: LD_VAR 0 1
52907: ARRAY
52908: PPUSH
52909: CALL_OW 296
52913: PUSH
52914: LD_INT 6
52916: GREATER
52917: AND
52918: IFFALSE 52943
// moveclosetounit ( i , target_gun [ group_number ] , 3 ) ;
52920: LD_VAR 0 5
52924: PPUSH
52925: LD_EXP 17
52929: PUSH
52930: LD_VAR 0 1
52934: ARRAY
52935: PPUSH
52936: LD_INT 3
52938: PPUSH
52939: CALL 56088 0 3
// end ;
52943: GO 52850
52945: POP
52946: POP
// end ; temp = unitfilter ( russian_group , [ f_or , [ [ f_type , unit_vehicle ] , [ f_or , [ f_weapon , ru_gatling_gun ] , [ f_weapon , ru_rocket_launcher ] ] ] , [ f_type , unit_human ] ] ) ;
52947: LD_ADDR_VAR 0 15
52951: PUSH
52952: LD_VAR 0 8
52956: PPUSH
52957: LD_INT 2
52959: PUSH
52960: LD_INT 21
52962: PUSH
52963: LD_INT 2
52965: PUSH
52966: EMPTY
52967: LIST
52968: LIST
52969: PUSH
52970: LD_INT 2
52972: PUSH
52973: LD_INT 34
52975: PUSH
52976: LD_INT 43
52978: PUSH
52979: EMPTY
52980: LIST
52981: LIST
52982: PUSH
52983: LD_INT 34
52985: PUSH
52986: LD_INT 45
52988: PUSH
52989: EMPTY
52990: LIST
52991: LIST
52992: PUSH
52993: EMPTY
52994: LIST
52995: LIST
52996: LIST
52997: PUSH
52998: EMPTY
52999: LIST
53000: LIST
53001: PUSH
53002: LD_INT 21
53004: PUSH
53005: LD_INT 1
53007: PUSH
53008: EMPTY
53009: LIST
53010: LIST
53011: PUSH
53012: EMPTY
53013: LIST
53014: LIST
53015: LIST
53016: PPUSH
53017: CALL_OW 72
53021: ST_TO_ADDR
// if temp > 0 then
53022: LD_VAR 0 15
53026: PUSH
53027: LD_INT 0
53029: GREATER
53030: IFFALSE 54695
// begin target_all = tag ( target_all , group_number , 0 ) ;
53032: LD_ADDR_EXP 18
53036: PUSH
53037: LD_EXP 18
53041: PPUSH
53042: LD_VAR 0 1
53046: PPUSH
53047: LD_INT 0
53049: PPUSH
53050: CALL 59897 0 3
53054: ST_TO_ADDR
// temp_list = unitfilter ( seen_arabians , [ [ f_dist , russian_group [ 1 ] , 13 ] , [ f_not , [ f_lives , 700 ] ] ] ) ;
53055: LD_ADDR_VAR 0 12
53059: PUSH
53060: LD_VAR 0 7
53064: PPUSH
53065: LD_INT 91
53067: PUSH
53068: LD_VAR 0 8
53072: PUSH
53073: LD_INT 1
53075: ARRAY
53076: PUSH
53077: LD_INT 13
53079: PUSH
53080: EMPTY
53081: LIST
53082: LIST
53083: LIST
53084: PUSH
53085: LD_INT 3
53087: PUSH
53088: LD_INT 24
53090: PUSH
53091: LD_INT 700
53093: PUSH
53094: EMPTY
53095: LIST
53096: LIST
53097: PUSH
53098: EMPTY
53099: LIST
53100: LIST
53101: PUSH
53102: EMPTY
53103: LIST
53104: LIST
53105: PPUSH
53106: CALL_OW 72
53110: ST_TO_ADDR
// temp_list2 = [ ] ;
53111: LD_ADDR_VAR 0 13
53115: PUSH
53116: EMPTY
53117: ST_TO_ADDR
// for i in temp_list do
53118: LD_ADDR_VAR 0 5
53122: PUSH
53123: LD_VAR 0 12
53127: PUSH
53128: FOR_IN
53129: IFFALSE 53154
// temp_list2 = temp_list2 ^ getlives ( i ) ;
53131: LD_ADDR_VAR 0 13
53135: PUSH
53136: LD_VAR 0 13
53140: PUSH
53141: LD_VAR 0 5
53145: PPUSH
53146: CALL_OW 256
53150: ADD
53151: ST_TO_ADDR
53152: GO 53128
53154: POP
53155: POP
// temp_list = WorstFromListByList ( temp_list , temp_list2 ) ;
53156: LD_ADDR_VAR 0 12
53160: PUSH
53161: LD_VAR 0 12
53165: PPUSH
53166: LD_VAR 0 13
53170: PPUSH
53171: CALL_OW 78
53175: ST_TO_ADDR
// temp_list = temp_list ^ unitfilter ( seen_arabians , [ [ f_dist , russian_group [ 1 ] , 13 ] , [ f_lives , 700 ] ] ) ;
53176: LD_ADDR_VAR 0 12
53180: PUSH
53181: LD_VAR 0 12
53185: PUSH
53186: LD_VAR 0 7
53190: PPUSH
53191: LD_INT 91
53193: PUSH
53194: LD_VAR 0 8
53198: PUSH
53199: LD_INT 1
53201: ARRAY
53202: PUSH
53203: LD_INT 13
53205: PUSH
53206: EMPTY
53207: LIST
53208: LIST
53209: LIST
53210: PUSH
53211: LD_INT 24
53213: PUSH
53214: LD_INT 700
53216: PUSH
53217: EMPTY
53218: LIST
53219: LIST
53220: PUSH
53221: EMPTY
53222: LIST
53223: LIST
53224: PPUSH
53225: CALL_OW 72
53229: ADD
53230: ST_TO_ADDR
// for i in seen_arabians do
53231: LD_ADDR_VAR 0 5
53235: PUSH
53236: LD_VAR 0 7
53240: PUSH
53241: FOR_IN
53242: IFFALSE 53286
// if getdistunits ( i , russian_group [ 1 ] ) > 13 then
53244: LD_VAR 0 5
53248: PPUSH
53249: LD_VAR 0 8
53253: PUSH
53254: LD_INT 1
53256: ARRAY
53257: PPUSH
53258: CALL_OW 296
53262: PUSH
53263: LD_INT 13
53265: GREATER
53266: IFFALSE 53284
// temp_list = temp_list ^ i ;
53268: LD_ADDR_VAR 0 12
53272: PUSH
53273: LD_VAR 0 12
53277: PUSH
53278: LD_VAR 0 5
53282: ADD
53283: ST_TO_ADDR
53284: GO 53241
53286: POP
53287: POP
// if temp_list [ 1 ] = 0 then
53288: LD_VAR 0 12
53292: PUSH
53293: LD_INT 1
53295: ARRAY
53296: PUSH
53297: LD_INT 0
53299: EQUAL
53300: IFFALSE 53320
// temp_list = delete ( temp_list , 1 ) ;
53302: LD_ADDR_VAR 0 12
53306: PUSH
53307: LD_VAR 0 12
53311: PPUSH
53312: LD_INT 1
53314: PPUSH
53315: CALL_OW 3
53319: ST_TO_ADDR
// if unitfilter ( temp_list , [ f_side , 5 ] ) > 0 then
53320: LD_VAR 0 12
53324: PPUSH
53325: LD_INT 22
53327: PUSH
53328: LD_INT 5
53330: PUSH
53331: EMPTY
53332: LIST
53333: LIST
53334: PPUSH
53335: CALL_OW 72
53339: PUSH
53340: LD_INT 0
53342: GREATER
53343: IFFALSE 53389
// target_all = tag ( target_all , group_number , unitfilter ( temp_list , [ f_side , 5 ] ) [ 1 ] ) ;
53345: LD_ADDR_EXP 18
53349: PUSH
53350: LD_EXP 18
53354: PPUSH
53355: LD_VAR 0 1
53359: PPUSH
53360: LD_VAR 0 12
53364: PPUSH
53365: LD_INT 22
53367: PUSH
53368: LD_INT 5
53370: PUSH
53371: EMPTY
53372: LIST
53373: LIST
53374: PPUSH
53375: CALL_OW 72
53379: PUSH
53380: LD_INT 1
53382: ARRAY
53383: PPUSH
53384: CALL 59897 0 3
53388: ST_TO_ADDR
// if unitfilter ( temp_list , [ f_and , [ f_type , unit_human ] , [ f_class , class_mortar ] ] ) > 0 and target_all [ group_number ] = 0 then
53389: LD_VAR 0 12
53393: PPUSH
53394: LD_INT 1
53396: PUSH
53397: LD_INT 21
53399: PUSH
53400: LD_INT 1
53402: PUSH
53403: EMPTY
53404: LIST
53405: LIST
53406: PUSH
53407: LD_INT 25
53409: PUSH
53410: LD_INT 8
53412: PUSH
53413: EMPTY
53414: LIST
53415: LIST
53416: PUSH
53417: EMPTY
53418: LIST
53419: LIST
53420: LIST
53421: PPUSH
53422: CALL_OW 72
53426: PUSH
53427: LD_INT 0
53429: GREATER
53430: PUSH
53431: LD_EXP 18
53435: PUSH
53436: LD_VAR 0 1
53440: ARRAY
53441: PUSH
53442: LD_INT 0
53444: EQUAL
53445: AND
53446: IFFALSE 53510
// target_all = tag ( target_all , group_number , unitfilter ( temp_list , [ f_and , [ f_type , unit_human ] , [ f_class , class_mortar ] ] ) [ 1 ] ) ;
53448: LD_ADDR_EXP 18
53452: PUSH
53453: LD_EXP 18
53457: PPUSH
53458: LD_VAR 0 1
53462: PPUSH
53463: LD_VAR 0 12
53467: PPUSH
53468: LD_INT 1
53470: PUSH
53471: LD_INT 21
53473: PUSH
53474: LD_INT 1
53476: PUSH
53477: EMPTY
53478: LIST
53479: LIST
53480: PUSH
53481: LD_INT 25
53483: PUSH
53484: LD_INT 8
53486: PUSH
53487: EMPTY
53488: LIST
53489: LIST
53490: PUSH
53491: EMPTY
53492: LIST
53493: LIST
53494: LIST
53495: PPUSH
53496: CALL_OW 72
53500: PUSH
53501: LD_INT 1
53503: ARRAY
53504: PPUSH
53505: CALL 59897 0 3
53509: ST_TO_ADDR
// if unitfilter ( temp_list , [ f_type , unit_human ] ) > 0 and target_all [ group_number ] = 0 then
53510: LD_VAR 0 12
53514: PPUSH
53515: LD_INT 21
53517: PUSH
53518: LD_INT 1
53520: PUSH
53521: EMPTY
53522: LIST
53523: LIST
53524: PPUSH
53525: CALL_OW 72
53529: PUSH
53530: LD_INT 0
53532: GREATER
53533: PUSH
53534: LD_EXP 18
53538: PUSH
53539: LD_VAR 0 1
53543: ARRAY
53544: PUSH
53545: LD_INT 0
53547: EQUAL
53548: AND
53549: IFFALSE 53595
// target_all = tag ( target_all , group_number , unitfilter ( temp_list , [ f_type , unit_human ] ) [ 1 ] ) ;
53551: LD_ADDR_EXP 18
53555: PUSH
53556: LD_EXP 18
53560: PPUSH
53561: LD_VAR 0 1
53565: PPUSH
53566: LD_VAR 0 12
53570: PPUSH
53571: LD_INT 21
53573: PUSH
53574: LD_INT 1
53576: PUSH
53577: EMPTY
53578: LIST
53579: LIST
53580: PPUSH
53581: CALL_OW 72
53585: PUSH
53586: LD_INT 1
53588: ARRAY
53589: PPUSH
53590: CALL 59897 0 3
53594: ST_TO_ADDR
// if unitfilter ( temp_list , [ [ f_and , [ f_type , unit_vehicle ] , [ f_or , [ f_weapon , ar_control_tower ] , [ f_weapon , ar_radar ] ] ] ] ) > 0 and target_all [ group_number ] = 0 then
53595: LD_VAR 0 12
53599: PPUSH
53600: LD_INT 1
53602: PUSH
53603: LD_INT 21
53605: PUSH
53606: LD_INT 2
53608: PUSH
53609: EMPTY
53610: LIST
53611: LIST
53612: PUSH
53613: LD_INT 2
53615: PUSH
53616: LD_INT 34
53618: PUSH
53619: LD_INT 31
53621: PUSH
53622: EMPTY
53623: LIST
53624: LIST
53625: PUSH
53626: LD_INT 34
53628: PUSH
53629: LD_INT 30
53631: PUSH
53632: EMPTY
53633: LIST
53634: LIST
53635: PUSH
53636: EMPTY
53637: LIST
53638: LIST
53639: LIST
53640: PUSH
53641: EMPTY
53642: LIST
53643: LIST
53644: LIST
53645: PUSH
53646: EMPTY
53647: LIST
53648: PPUSH
53649: CALL_OW 72
53653: PUSH
53654: LD_INT 0
53656: GREATER
53657: PUSH
53658: LD_EXP 18
53662: PUSH
53663: LD_VAR 0 1
53667: ARRAY
53668: PUSH
53669: LD_INT 0
53671: EQUAL
53672: AND
53673: IFFALSE 53758
// target_all = tag ( target_all , group_number , unitfilter ( temp_list , [ [ f_and , [ f_type , unit_vehicle ] , [ f_or , [ f_weapon , ar_control_tower ] , [ f_weapon , ar_radar ] ] ] ] ) [ 1 ] ) ;
53675: LD_ADDR_EXP 18
53679: PUSH
53680: LD_EXP 18
53684: PPUSH
53685: LD_VAR 0 1
53689: PPUSH
53690: LD_VAR 0 12
53694: PPUSH
53695: LD_INT 1
53697: PUSH
53698: LD_INT 21
53700: PUSH
53701: LD_INT 2
53703: PUSH
53704: EMPTY
53705: LIST
53706: LIST
53707: PUSH
53708: LD_INT 2
53710: PUSH
53711: LD_INT 34
53713: PUSH
53714: LD_INT 31
53716: PUSH
53717: EMPTY
53718: LIST
53719: LIST
53720: PUSH
53721: LD_INT 34
53723: PUSH
53724: LD_INT 30
53726: PUSH
53727: EMPTY
53728: LIST
53729: LIST
53730: PUSH
53731: EMPTY
53732: LIST
53733: LIST
53734: LIST
53735: PUSH
53736: EMPTY
53737: LIST
53738: LIST
53739: LIST
53740: PUSH
53741: EMPTY
53742: LIST
53743: PPUSH
53744: CALL_OW 72
53748: PUSH
53749: LD_INT 1
53751: ARRAY
53752: PPUSH
53753: CALL 59897 0 3
53757: ST_TO_ADDR
// if target_all [ group_number ] = 0 then
53758: LD_EXP 18
53762: PUSH
53763: LD_VAR 0 1
53767: ARRAY
53768: PUSH
53769: LD_INT 0
53771: EQUAL
53772: IFFALSE 53803
// target_all = tag ( target_all , group_number , temp_list [ 1 ] ) ;
53774: LD_ADDR_EXP 18
53778: PUSH
53779: LD_EXP 18
53783: PPUSH
53784: LD_VAR 0 1
53788: PPUSH
53789: LD_VAR 0 12
53793: PUSH
53794: LD_INT 1
53796: ARRAY
53797: PPUSH
53798: CALL 59897 0 3
53802: ST_TO_ADDR
// if gettype ( target_all [ group_number ] ) = unit_human and getclass ( target_all [ group_number ] ) = class_mortar then
53803: LD_EXP 18
53807: PUSH
53808: LD_VAR 0 1
53812: ARRAY
53813: PPUSH
53814: CALL_OW 247
53818: PUSH
53819: LD_INT 1
53821: EQUAL
53822: PUSH
53823: LD_EXP 18
53827: PUSH
53828: LD_VAR 0 1
53832: ARRAY
53833: PPUSH
53834: CALL_OW 257
53838: PUSH
53839: LD_INT 8
53841: EQUAL
53842: AND
53843: IFFALSE 54466
// begin temp_list = 0 ;
53845: LD_ADDR_VAR 0 12
53849: PUSH
53850: LD_INT 0
53852: ST_TO_ADDR
// temp_list2 = 0 ;
53853: LD_ADDR_VAR 0 13
53857: PUSH
53858: LD_INT 0
53860: ST_TO_ADDR
// gatlings = unitfilter ( russian_group , [ [ f_type , unit_vehicle ] , [ f_weapon , ru_gatling_gun ] ] ) ;
53861: LD_ADDR_VAR 0 24
53865: PUSH
53866: LD_VAR 0 8
53870: PPUSH
53871: LD_INT 21
53873: PUSH
53874: LD_INT 2
53876: PUSH
53877: EMPTY
53878: LIST
53879: LIST
53880: PUSH
53881: LD_INT 34
53883: PUSH
53884: LD_INT 43
53886: PUSH
53887: EMPTY
53888: LIST
53889: LIST
53890: PUSH
53891: EMPTY
53892: LIST
53893: LIST
53894: PPUSH
53895: CALL_OW 72
53899: ST_TO_ADDR
// rocketls = unitfilter ( russian_group , [ [ f_type , unit_vehicle ] , [ f_weapon , ru_rocket_launcher ] ] ) ;
53900: LD_ADDR_VAR 0 25
53904: PUSH
53905: LD_VAR 0 8
53909: PPUSH
53910: LD_INT 21
53912: PUSH
53913: LD_INT 2
53915: PUSH
53916: EMPTY
53917: LIST
53918: LIST
53919: PUSH
53920: LD_INT 34
53922: PUSH
53923: LD_INT 45
53925: PUSH
53926: EMPTY
53927: LIST
53928: LIST
53929: PUSH
53930: EMPTY
53931: LIST
53932: LIST
53933: PPUSH
53934: CALL_OW 72
53938: ST_TO_ADDR
// if gatlings > 0 then
53939: LD_VAR 0 24
53943: PUSH
53944: LD_INT 0
53946: GREATER
53947: IFFALSE 53959
// temp_list = gatlings ;
53949: LD_ADDR_VAR 0 12
53953: PUSH
53954: LD_VAR 0 24
53958: ST_TO_ADDR
// temp_list2 = rocketls ;
53959: LD_ADDR_VAR 0 13
53963: PUSH
53964: LD_VAR 0 25
53968: ST_TO_ADDR
// if temp_list = 0 then
53969: LD_VAR 0 12
53973: PUSH
53974: LD_INT 0
53976: EQUAL
53977: IFFALSE 54040
// if unitfilter ( russian_group , [ [ f_type , unit_vehicle ] , [ f_weapon , ru_gun ] ] ) > 0 then
53979: LD_VAR 0 8
53983: PPUSH
53984: LD_INT 21
53986: PUSH
53987: LD_INT 2
53989: PUSH
53990: EMPTY
53991: LIST
53992: LIST
53993: PUSH
53994: LD_INT 34
53996: PUSH
53997: LD_INT 44
53999: PUSH
54000: EMPTY
54001: LIST
54002: LIST
54003: PUSH
54004: EMPTY
54005: LIST
54006: LIST
54007: PPUSH
54008: CALL_OW 72
54012: PUSH
54013: LD_INT 0
54015: GREATER
54016: IFFALSE 54030
// temp_list2 = rocketls else
54018: LD_ADDR_VAR 0 13
54022: PUSH
54023: LD_VAR 0 25
54027: ST_TO_ADDR
54028: GO 54040
// temp_list = rocketls ;
54030: LD_ADDR_VAR 0 12
54034: PUSH
54035: LD_VAR 0 25
54039: ST_TO_ADDR
// if unitfilter ( russian_group , [ f_type , unit_human ] ) > 0 then
54040: LD_VAR 0 8
54044: PPUSH
54045: LD_INT 21
54047: PUSH
54048: LD_INT 1
54050: PUSH
54051: EMPTY
54052: LIST
54053: LIST
54054: PPUSH
54055: CALL_OW 72
54059: PUSH
54060: LD_INT 0
54062: GREATER
54063: IFFALSE 54096
// temp_list = temp_list ^ unitfilter ( russian_group , [ f_type , unit_human ] ) ;
54065: LD_ADDR_VAR 0 12
54069: PUSH
54070: LD_VAR 0 12
54074: PUSH
54075: LD_VAR 0 8
54079: PPUSH
54080: LD_INT 21
54082: PUSH
54083: LD_INT 1
54085: PUSH
54086: EMPTY
54087: LIST
54088: LIST
54089: PPUSH
54090: CALL_OW 72
54094: ADD
54095: ST_TO_ADDR
// if temp_list > 0 then
54096: LD_VAR 0 12
54100: PUSH
54101: LD_INT 0
54103: GREATER
54104: IFFALSE 54231
// for i in temp_list do
54106: LD_ADDR_VAR 0 5
54110: PUSH
54111: LD_VAR 0 12
54115: PUSH
54116: FOR_IN
54117: IFFALSE 54229
// begin if getweapon ( i ) = ru_rocket_launcher then
54119: LD_VAR 0 5
54123: PPUSH
54124: CALL_OW 264
54128: PUSH
54129: LD_INT 45
54131: EQUAL
54132: IFFALSE 54144
// temp_val = 6 else
54134: LD_ADDR_VAR 0 16
54138: PUSH
54139: LD_INT 6
54141: ST_TO_ADDR
54142: GO 54152
// temp_val = 3 ;
54144: LD_ADDR_VAR 0 16
54148: PUSH
54149: LD_INT 3
54151: ST_TO_ADDR
// if getdistunits ( i , target_all [ group_number ] ) > temp_val then
54152: LD_VAR 0 5
54156: PPUSH
54157: LD_EXP 18
54161: PUSH
54162: LD_VAR 0 1
54166: ARRAY
54167: PPUSH
54168: CALL_OW 296
54172: PUSH
54173: LD_VAR 0 16
54177: GREATER
54178: IFFALSE 54207
// MoveCloseToUnit ( i , target_all [ group_number ] , temp_val ) else
54180: LD_VAR 0 5
54184: PPUSH
54185: LD_EXP 18
54189: PUSH
54190: LD_VAR 0 1
54194: ARRAY
54195: PPUSH
54196: LD_VAR 0 16
54200: PPUSH
54201: CALL 56088 0 3
54205: GO 54227
// comattackunit ( i , target_all [ group_number ] ) ;
54207: LD_VAR 0 5
54211: PPUSH
54212: LD_EXP 18
54216: PUSH
54217: LD_VAR 0 1
54221: ARRAY
54222: PPUSH
54223: CALL_OW 115
// end ;
54227: GO 54116
54229: POP
54230: POP
// if temp_list2 > 0 then
54231: LD_VAR 0 13
54235: PUSH
54236: LD_INT 0
54238: GREATER
54239: IFFALSE 54464
// for i in temp_list2 do
54241: LD_ADDR_VAR 0 5
54245: PUSH
54246: LD_VAR 0 13
54250: PUSH
54251: FOR_IN
54252: IFFALSE 54462
// begin if GetWeapon ( i ) = ru_rocket_launcher then
54254: LD_VAR 0 5
54258: PPUSH
54259: CALL_OW 264
54263: PUSH
54264: LD_INT 45
54266: EQUAL
54267: IFFALSE 54303
// if gettech ( tech_weap2 , 3 ) = state_researched then
54269: LD_INT 52
54271: PPUSH
54272: LD_INT 3
54274: PPUSH
54275: CALL_OW 321
54279: PUSH
54280: LD_INT 2
54282: EQUAL
54283: IFFALSE 54295
// temp_val = 17 else
54285: LD_ADDR_VAR 0 16
54289: PUSH
54290: LD_INT 17
54292: ST_TO_ADDR
54293: GO 54303
// temp_val = 15 ;
54295: LD_ADDR_VAR 0 16
54299: PUSH
54300: LD_INT 15
54302: ST_TO_ADDR
// temp_hex = RandHexXYRminRmax ( GetX ( target_all [ group_number ] ) , GetY ( target_all [ group_number ] ) , 10 , temp_val ) ;
54303: LD_ADDR_VAR 0 19
54307: PUSH
54308: LD_EXP 18
54312: PUSH
54313: LD_VAR 0 1
54317: ARRAY
54318: PPUSH
54319: CALL_OW 250
54323: PPUSH
54324: LD_EXP 18
54328: PUSH
54329: LD_VAR 0 1
54333: ARRAY
54334: PPUSH
54335: CALL_OW 251
54339: PPUSH
54340: LD_INT 10
54342: PPUSH
54343: LD_VAR 0 16
54347: PPUSH
54348: CALL 57763 0 4
54352: ST_TO_ADDR
// if getdistunits ( i , target_all [ group_number ] ) > temp_val + 1 then
54353: LD_VAR 0 5
54357: PPUSH
54358: LD_EXP 18
54362: PUSH
54363: LD_VAR 0 1
54367: ARRAY
54368: PPUSH
54369: CALL_OW 296
54373: PUSH
54374: LD_VAR 0 16
54378: PUSH
54379: LD_INT 1
54381: PLUS
54382: GREATER
54383: IFFALSE 54433
// temp_hex = RandHexXYRminRmax ( GetX ( target_all [ group_number ] ) , GetY ( target_all [ group_number ] ) , 9 , 10 ) ;
54385: LD_ADDR_VAR 0 19
54389: PUSH
54390: LD_EXP 18
54394: PUSH
54395: LD_VAR 0 1
54399: ARRAY
54400: PPUSH
54401: CALL_OW 250
54405: PPUSH
54406: LD_EXP 18
54410: PUSH
54411: LD_VAR 0 1
54415: ARRAY
54416: PPUSH
54417: CALL_OW 251
54421: PPUSH
54422: LD_INT 9
54424: PPUSH
54425: LD_INT 10
54427: PPUSH
54428: CALL 57763 0 4
54432: ST_TO_ADDR
// commovexy ( i , temp_hex [ 1 ] , temp_hex [ 2 ] ) ;
54433: LD_VAR 0 5
54437: PPUSH
54438: LD_VAR 0 19
54442: PUSH
54443: LD_INT 1
54445: ARRAY
54446: PPUSH
54447: LD_VAR 0 19
54451: PUSH
54452: LD_INT 2
54454: ARRAY
54455: PPUSH
54456: CALL_OW 111
// end ;
54460: GO 54251
54462: POP
54463: POP
// end else
54464: GO 54695
// for i in temp do
54466: LD_ADDR_VAR 0 5
54470: PUSH
54471: LD_VAR 0 15
54475: PUSH
54476: FOR_IN
54477: IFFALSE 54693
// begin if see ( 3 , target_all [ group_number ] ) or see ( 6 , target_all [ group_number ] ) then
54479: LD_INT 3
54481: PPUSH
54482: LD_EXP 18
54486: PUSH
54487: LD_VAR 0 1
54491: ARRAY
54492: PPUSH
54493: CALL_OW 292
54497: PUSH
54498: LD_INT 6
54500: PPUSH
54501: LD_EXP 18
54505: PUSH
54506: LD_VAR 0 1
54510: ARRAY
54511: PPUSH
54512: CALL_OW 292
54516: OR
54517: IFFALSE 54541
// comattackunit ( i , target_all [ group_number ] ) else
54519: LD_VAR 0 5
54523: PPUSH
54524: LD_EXP 18
54528: PUSH
54529: LD_VAR 0 1
54533: ARRAY
54534: PPUSH
54535: CALL_OW 115
54539: GO 54561
// commoveunit ( i , target_all [ group_number ] ) ;
54541: LD_VAR 0 5
54545: PPUSH
54546: LD_EXP 18
54550: PUSH
54551: LD_VAR 0 1
54555: ARRAY
54556: PPUSH
54557: CALL_OW 112
// if getside ( target_all [ group_number ] ) = 5 then
54561: LD_EXP 18
54565: PUSH
54566: LD_VAR 0 1
54570: ARRAY
54571: PPUSH
54572: CALL_OW 255
54576: PUSH
54577: LD_INT 5
54579: EQUAL
54580: IFFALSE 54691
// begin if getdistunits ( i , target_all [ group_number ] ) > 6 then
54582: LD_VAR 0 5
54586: PPUSH
54587: LD_EXP 18
54591: PUSH
54592: LD_VAR 0 1
54596: ARRAY
54597: PPUSH
54598: CALL_OW 296
54602: PUSH
54603: LD_INT 6
54605: GREATER
54606: IFFALSE 54671
// if getweapon ( i ) = ru_rocket_launcher then
54608: LD_VAR 0 5
54612: PPUSH
54613: CALL_OW 264
54617: PUSH
54618: LD_INT 45
54620: EQUAL
54621: IFFALSE 54648
// moveclosetounit ( i , target_all [ group_number ] , 5 ) else
54623: LD_VAR 0 5
54627: PPUSH
54628: LD_EXP 18
54632: PUSH
54633: LD_VAR 0 1
54637: ARRAY
54638: PPUSH
54639: LD_INT 5
54641: PPUSH
54642: CALL 56088 0 3
54646: GO 54671
// moveclosetounit ( i , target_all [ group_number ] , 3 ) ;
54648: LD_VAR 0 5
54652: PPUSH
54653: LD_EXP 18
54657: PUSH
54658: LD_VAR 0 1
54662: ARRAY
54663: PPUSH
54664: LD_INT 3
54666: PPUSH
54667: CALL 56088 0 3
// addcomattackunit ( i , target_all [ group_number ] ) ;
54671: LD_VAR 0 5
54675: PPUSH
54676: LD_EXP 18
54680: PUSH
54681: LD_VAR 0 1
54685: ARRAY
54686: PPUSH
54687: CALL_OW 175
// end ; end ;
54691: GO 54476
54693: POP
54694: POP
// end ; end ; end ;
54695: GO 54698
54697: POP
// end else
54698: GO 54876
// begin ru_groupstatus = tag ( ru_groupstatus , Group_number , 0 ) ;
54700: LD_ADDR_EXP 23
54704: PUSH
54705: LD_EXP 23
54709: PPUSH
54710: LD_VAR 0 1
54714: PPUSH
54715: LD_INT 0
54717: PPUSH
54718: CALL 59897 0 3
54722: ST_TO_ADDR
// Target_List = tag ( target_list , group_number , 0 ) ;
54723: LD_ADDR_EXP 14
54727: PUSH
54728: LD_EXP 14
54732: PPUSH
54733: LD_VAR 0 1
54737: PPUSH
54738: LD_INT 0
54740: PPUSH
54741: CALL 59897 0 3
54745: ST_TO_ADDR
// target_hg = tag ( target_hg , group_number , 0 ) ;
54746: LD_ADDR_EXP 16
54750: PUSH
54751: LD_EXP 16
54755: PPUSH
54756: LD_VAR 0 1
54760: PPUSH
54761: LD_INT 0
54763: PPUSH
54764: CALL 59897 0 3
54768: ST_TO_ADDR
// target_gun = tag ( target_gun , group_number , 0 ) ;
54769: LD_ADDR_EXP 17
54773: PUSH
54774: LD_EXP 17
54778: PPUSH
54779: LD_VAR 0 1
54783: PPUSH
54784: LD_INT 0
54786: PPUSH
54787: CALL 59897 0 3
54791: ST_TO_ADDR
// target_all = tag ( target_all , group_number , 0 ) ;
54792: LD_ADDR_EXP 18
54796: PUSH
54797: LD_EXP 18
54801: PPUSH
54802: LD_VAR 0 1
54806: PPUSH
54807: LD_INT 0
54809: PPUSH
54810: CALL 59897 0 3
54814: ST_TO_ADDR
// target_bazooka = tag ( target_bazooka , group_number , 0 ) ;
54815: LD_ADDR_EXP 19
54819: PUSH
54820: LD_EXP 19
54824: PPUSH
54825: LD_VAR 0 1
54829: PPUSH
54830: LD_INT 0
54832: PPUSH
54833: CALL 59897 0 3
54837: ST_TO_ADDR
// comstop ( russians [ group_number ] ) ;
54838: LD_EXP 10
54842: PUSH
54843: LD_VAR 0 1
54847: ARRAY
54848: PPUSH
54849: CALL_OW 141
// bazooka_engagetime = tag ( bazooka_engagetime , Group_number , 999 999$0 ) ;
54853: LD_ADDR_EXP 20
54857: PUSH
54858: LD_EXP 20
54862: PPUSH
54863: LD_VAR 0 1
54867: PPUSH
54868: LD_INT 2097900
54870: PPUSH
54871: CALL 59897 0 3
54875: ST_TO_ADDR
// end ; end ;
54876: LD_VAR 0 4
54880: RET
// export function Create_player_forces ( list ) ; var i , j , temp , temp_list1 , temp_list2 , count ; var mechs , vehs ; begin
54881: LD_INT 0
54883: PPUSH
54884: PPUSH
54885: PPUSH
54886: PPUSH
54887: PPUSH
54888: PPUSH
54889: PPUSH
54890: PPUSH
54891: PPUSH
// inituc ;
54892: CALL_OW 18
// inithc ;
54896: CALL_OW 19
// initvc ;
54900: CALL_OW 20
// uc_nation = nation_arabian ;
54904: LD_ADDR_OWVAR 21
54908: PUSH
54909: LD_INT 2
54911: ST_TO_ADDR
// uc_side = 2 ;
54912: LD_ADDR_OWVAR 20
54916: PUSH
54917: LD_INT 2
54919: ST_TO_ADDR
// Randomize ;
54920: CALL_OW 10
// temp_list1 = [ ] ;
54924: LD_ADDR_VAR 0 6
54928: PUSH
54929: EMPTY
54930: ST_TO_ADDR
// temp_list2 = [ ] ;
54931: LD_ADDR_VAR 0 7
54935: PUSH
54936: EMPTY
54937: ST_TO_ADDR
// if testing = true then
54938: LD_EXP 1
54942: PUSH
54943: LD_INT 1
54945: EQUAL
54946: IFFALSE 55388
// for i = 1 to player_forces [ 1 ] do
54948: LD_ADDR_VAR 0 3
54952: PUSH
54953: DOUBLE
54954: LD_INT 1
54956: DEC
54957: ST_TO_ADDR
54958: LD_EXP 104
54962: PUSH
54963: LD_INT 1
54965: ARRAY
54966: PUSH
54967: FOR_TO
54968: IFFALSE 55386
// begin if i > 1 then
54970: LD_VAR 0 3
54974: PUSH
54975: LD_INT 1
54977: GREATER
54978: IFFALSE 55341
// begin hc_attr = [ player_forces [ 1 ] [ i ] [ 1 ] , player_forces [ 1 ] [ i ] [ 2 ] ] ;
54980: LD_ADDR_OWVAR 29
54984: PUSH
54985: LD_EXP 104
54989: PUSH
54990: LD_INT 1
54992: ARRAY
54993: PUSH
54994: LD_VAR 0 3
54998: ARRAY
54999: PUSH
55000: LD_INT 1
55002: ARRAY
55003: PUSH
55004: LD_EXP 104
55008: PUSH
55009: LD_INT 1
55011: ARRAY
55012: PUSH
55013: LD_VAR 0 3
55017: ARRAY
55018: PUSH
55019: LD_INT 2
55021: ARRAY
55022: PUSH
55023: EMPTY
55024: LIST
55025: LIST
55026: ST_TO_ADDR
// temp = player_forces [ 1 ] [ i ] [ 3 ] ;
55027: LD_ADDR_VAR 0 5
55031: PUSH
55032: LD_EXP 104
55036: PUSH
55037: LD_INT 1
55039: ARRAY
55040: PUSH
55041: LD_VAR 0 3
55045: ARRAY
55046: PUSH
55047: LD_INT 3
55049: ARRAY
55050: ST_TO_ADDR
// if temp = 0 then
55051: LD_VAR 0 5
55055: PUSH
55056: LD_INT 0
55058: EQUAL
55059: IFFALSE 55077
// temp = rand ( 1 , 5 ) ;
55061: LD_ADDR_VAR 0 5
55065: PUSH
55066: LD_INT 1
55068: PPUSH
55069: LD_INT 5
55071: PPUSH
55072: CALL_OW 12
55076: ST_TO_ADDR
// if temp = 1 then
55077: LD_VAR 0 5
55081: PUSH
55082: LD_INT 1
55084: EQUAL
55085: IFFALSE 55095
// hc_class = class_soldier ;
55087: LD_ADDR_OWVAR 28
55091: PUSH
55092: LD_INT 1
55094: ST_TO_ADDR
// if temp = 2 then
55095: LD_VAR 0 5
55099: PUSH
55100: LD_INT 2
55102: EQUAL
55103: IFFALSE 55113
// hc_class = class_engineer ;
55105: LD_ADDR_OWVAR 28
55109: PUSH
55110: LD_INT 2
55112: ST_TO_ADDR
// if temp = 3 then
55113: LD_VAR 0 5
55117: PUSH
55118: LD_INT 3
55120: EQUAL
55121: IFFALSE 55131
// hc_class = class_mechanic ;
55123: LD_ADDR_OWVAR 28
55127: PUSH
55128: LD_INT 3
55130: ST_TO_ADDR
// if temp = 4 then
55131: LD_VAR 0 5
55135: PUSH
55136: LD_INT 4
55138: EQUAL
55139: IFFALSE 55149
// hc_class = class_scientistic ;
55141: LD_ADDR_OWVAR 28
55145: PUSH
55146: LD_INT 4
55148: ST_TO_ADDR
// if temp = 5 then
55149: LD_VAR 0 5
55153: PUSH
55154: LD_INT 5
55156: EQUAL
55157: IFFALSE 55167
// hc_class = class_mortar ;
55159: LD_ADDR_OWVAR 28
55163: PUSH
55164: LD_INT 8
55166: ST_TO_ADDR
// if temp = 7 then
55167: LD_VAR 0 5
55171: PUSH
55172: LD_INT 7
55174: EQUAL
55175: IFFALSE 55185
// hc_class = class_sniper ;
55177: LD_ADDR_OWVAR 28
55181: PUSH
55182: LD_INT 5
55184: ST_TO_ADDR
// hc_skills = [ player_forces [ 1 ] [ i ] [ 4 ] , player_forces [ 1 ] [ i ] [ 5 ] , player_forces [ 1 ] [ i ] [ 6 ] , player_forces [ 1 ] [ i ] [ 7 ] ] ;
55185: LD_ADDR_OWVAR 31
55189: PUSH
55190: LD_EXP 104
55194: PUSH
55195: LD_INT 1
55197: ARRAY
55198: PUSH
55199: LD_VAR 0 3
55203: ARRAY
55204: PUSH
55205: LD_INT 4
55207: ARRAY
55208: PUSH
55209: LD_EXP 104
55213: PUSH
55214: LD_INT 1
55216: ARRAY
55217: PUSH
55218: LD_VAR 0 3
55222: ARRAY
55223: PUSH
55224: LD_INT 5
55226: ARRAY
55227: PUSH
55228: LD_EXP 104
55232: PUSH
55233: LD_INT 1
55235: ARRAY
55236: PUSH
55237: LD_VAR 0 3
55241: ARRAY
55242: PUSH
55243: LD_INT 6
55245: ARRAY
55246: PUSH
55247: LD_EXP 104
55251: PUSH
55252: LD_INT 1
55254: ARRAY
55255: PUSH
55256: LD_VAR 0 3
55260: ARRAY
55261: PUSH
55262: LD_INT 7
55264: ARRAY
55265: PUSH
55266: EMPTY
55267: LIST
55268: LIST
55269: LIST
55270: LIST
55271: ST_TO_ADDR
// if temp = 6 then
55272: LD_VAR 0 5
55276: PUSH
55277: LD_INT 6
55279: EQUAL
55280: IFFALSE 55313
// begin hc_class = class_desert_warior ;
55282: LD_ADDR_OWVAR 28
55286: PUSH
55287: LD_INT 11
55289: ST_TO_ADDR
// hc_skills = [ 10 , 10 , 10 , 10 ] ;
55290: LD_ADDR_OWVAR 31
55294: PUSH
55295: LD_INT 10
55297: PUSH
55298: LD_INT 10
55300: PUSH
55301: LD_INT 10
55303: PUSH
55304: LD_INT 10
55306: PUSH
55307: EMPTY
55308: LIST
55309: LIST
55310: LIST
55311: LIST
55312: ST_TO_ADDR
// end ; temp = createhuman ;
55313: LD_ADDR_VAR 0 5
55317: PUSH
55318: CALL_OW 44
55322: ST_TO_ADDR
// temp_list1 = temp_list1 ^ temp ;
55323: LD_ADDR_VAR 0 6
55327: PUSH
55328: LD_VAR 0 6
55332: PUSH
55333: LD_VAR 0 5
55337: ADD
55338: ST_TO_ADDR
// end else
55339: GO 55384
// for j in player_forces [ 1 ] [ i ] do
55341: LD_ADDR_VAR 0 4
55345: PUSH
55346: LD_EXP 104
55350: PUSH
55351: LD_INT 1
55353: ARRAY
55354: PUSH
55355: LD_VAR 0 3
55359: ARRAY
55360: PUSH
55361: FOR_IN
55362: IFFALSE 55382
// temp_list1 = temp_list1 ^ j ;
55364: LD_ADDR_VAR 0 6
55368: PUSH
55369: LD_VAR 0 6
55373: PUSH
55374: LD_VAR 0 4
55378: ADD
55379: ST_TO_ADDR
55380: GO 55361
55382: POP
55383: POP
// end ;
55384: GO 54967
55386: POP
55387: POP
// if testing = false then
55388: LD_EXP 1
55392: PUSH
55393: LD_INT 0
55395: EQUAL
55396: IFFALSE 55412
// temp_list1 = player_forces [ 1 ] ;
55398: LD_ADDR_VAR 0 6
55402: PUSH
55403: LD_EXP 104
55407: PUSH
55408: LD_INT 1
55410: ARRAY
55411: ST_TO_ADDR
// count = 0 ;
55412: LD_ADDR_VAR 0 8
55416: PUSH
55417: LD_INT 0
55419: ST_TO_ADDR
// for i in temp_list1 do
55420: LD_ADDR_VAR 0 3
55424: PUSH
55425: LD_VAR 0 6
55429: PUSH
55430: FOR_IN
55431: IFFALSE 55473
// if getskill ( i , skill_mechanical ) > count then
55433: LD_VAR 0 3
55437: PPUSH
55438: LD_INT 3
55440: PPUSH
55441: CALL_OW 259
55445: PUSH
55446: LD_VAR 0 8
55450: GREATER
55451: IFFALSE 55471
// count = getskill ( i , skill_mechanical ) ;
55453: LD_ADDR_VAR 0 8
55457: PUSH
55458: LD_VAR 0 3
55462: PPUSH
55463: LD_INT 3
55465: PPUSH
55466: CALL_OW 259
55470: ST_TO_ADDR
55471: GO 55430
55473: POP
55474: POP
// for i in player_forces [ 2 ] do
55475: LD_ADDR_VAR 0 3
55479: PUSH
55480: LD_EXP 104
55484: PUSH
55485: LD_INT 2
55487: ARRAY
55488: PUSH
55489: FOR_IN
55490: IFFALSE 56062
// begin temp = i [ 1 ] ;
55492: LD_ADDR_VAR 0 5
55496: PUSH
55497: LD_VAR 0 3
55501: PUSH
55502: LD_INT 1
55504: ARRAY
55505: ST_TO_ADDR
// if temp = 0 then
55506: LD_VAR 0 5
55510: PUSH
55511: LD_INT 0
55513: EQUAL
55514: IFFALSE 55532
// temp = rand ( 1 , 5 ) ;
55516: LD_ADDR_VAR 0 5
55520: PUSH
55521: LD_INT 1
55523: PPUSH
55524: LD_INT 5
55526: PPUSH
55527: CALL_OW 12
55531: ST_TO_ADDR
// if temp = 1 then
55532: LD_VAR 0 5
55536: PUSH
55537: LD_INT 1
55539: EQUAL
55540: IFFALSE 55550
// vc_chassis = ar_hovercraft ;
55542: LD_ADDR_OWVAR 37
55546: PUSH
55547: LD_INT 11
55549: ST_TO_ADDR
// if temp = 2 then
55550: LD_VAR 0 5
55554: PUSH
55555: LD_INT 2
55557: EQUAL
55558: IFFALSE 55568
// vc_chassis = ar_light_trike ;
55560: LD_ADDR_OWVAR 37
55564: PUSH
55565: LD_INT 12
55567: ST_TO_ADDR
// if temp = 3 then
55568: LD_VAR 0 5
55572: PUSH
55573: LD_INT 3
55575: EQUAL
55576: IFFALSE 55586
// vc_chassis = ar_medium_trike ;
55578: LD_ADDR_OWVAR 37
55582: PUSH
55583: LD_INT 13
55585: ST_TO_ADDR
// if temp = 4 then
55586: LD_VAR 0 5
55590: PUSH
55591: LD_INT 4
55593: EQUAL
55594: IFFALSE 55604
// vc_chassis = ar_half_tracked ;
55596: LD_ADDR_OWVAR 37
55600: PUSH
55601: LD_INT 14
55603: ST_TO_ADDR
// if temp = 5 then
55604: LD_VAR 0 5
55608: PUSH
55609: LD_INT 5
55611: EQUAL
55612: IFFALSE 55622
// uc_nation = nation_nature ;
55614: LD_ADDR_OWVAR 21
55618: PUSH
55619: LD_INT 0
55621: ST_TO_ADDR
// temp = i [ 2 ] ;
55622: LD_ADDR_VAR 0 5
55626: PUSH
55627: LD_VAR 0 3
55631: PUSH
55632: LD_INT 2
55634: ARRAY
55635: ST_TO_ADDR
// if temp = 0 then
55636: LD_VAR 0 5
55640: PUSH
55641: LD_INT 0
55643: EQUAL
55644: IFFALSE 55662
// temp = rand ( 1 , 3 ) ;
55646: LD_ADDR_VAR 0 5
55650: PUSH
55651: LD_INT 1
55653: PPUSH
55654: LD_INT 3
55656: PPUSH
55657: CALL_OW 12
55661: ST_TO_ADDR
// if temp = 1 then
55662: LD_VAR 0 5
55666: PUSH
55667: LD_INT 1
55669: EQUAL
55670: IFFALSE 55680
// vc_control = control_manual ;
55672: LD_ADDR_OWVAR 38
55676: PUSH
55677: LD_INT 1
55679: ST_TO_ADDR
// if temp = 2 then
55680: LD_VAR 0 5
55684: PUSH
55685: LD_INT 2
55687: EQUAL
55688: IFFALSE 55732
// begin if count < 1 then
55690: LD_VAR 0 8
55694: PUSH
55695: LD_INT 1
55697: LESS
55698: IFFALSE 55710
// vc_control = control_apeman else
55700: LD_ADDR_OWVAR 38
55704: PUSH
55705: LD_INT 5
55707: ST_TO_ADDR
55708: GO 55718
// vc_control = control_remote ;
55710: LD_ADDR_OWVAR 38
55714: PUSH
55715: LD_INT 2
55717: ST_TO_ADDR
// count = count - 1 ;
55718: LD_ADDR_VAR 0 8
55722: PUSH
55723: LD_VAR 0 8
55727: PUSH
55728: LD_INT 1
55730: MINUS
55731: ST_TO_ADDR
// end ; if temp = 3 then
55732: LD_VAR 0 5
55736: PUSH
55737: LD_INT 3
55739: EQUAL
55740: IFFALSE 55750
// vc_control = control_apeman ;
55742: LD_ADDR_OWVAR 38
55746: PUSH
55747: LD_INT 5
55749: ST_TO_ADDR
// if i [ 3 ] = 0 then
55750: LD_VAR 0 3
55754: PUSH
55755: LD_INT 3
55757: ARRAY
55758: PUSH
55759: LD_INT 0
55761: EQUAL
55762: IFFALSE 55782
// vc_engine = rand ( 1 , 3 ) else
55764: LD_ADDR_OWVAR 39
55768: PUSH
55769: LD_INT 1
55771: PPUSH
55772: LD_INT 3
55774: PPUSH
55775: CALL_OW 12
55779: ST_TO_ADDR
55780: GO 55796
// vc_engine = i [ 3 ] ;
55782: LD_ADDR_OWVAR 39
55786: PUSH
55787: LD_VAR 0 3
55791: PUSH
55792: LD_INT 3
55794: ARRAY
55795: ST_TO_ADDR
// temp = i [ 4 ] ;
55796: LD_ADDR_VAR 0 5
55800: PUSH
55801: LD_VAR 0 3
55805: PUSH
55806: LD_INT 4
55808: ARRAY
55809: ST_TO_ADDR
// if temp = 0 then
55810: LD_VAR 0 5
55814: PUSH
55815: LD_INT 0
55817: EQUAL
55818: IFFALSE 55836
// temp = rand ( 1 , 11 ) ;
55820: LD_ADDR_VAR 0 5
55824: PUSH
55825: LD_INT 1
55827: PPUSH
55828: LD_INT 11
55830: PPUSH
55831: CALL_OW 12
55835: ST_TO_ADDR
// if temp = 1 then
55836: LD_VAR 0 5
55840: PUSH
55841: LD_INT 1
55843: EQUAL
55844: IFFALSE 55854
// vc_weapon = ar_multimissile_ballista ;
55846: LD_ADDR_OWVAR 40
55850: PUSH
55851: LD_INT 22
55853: ST_TO_ADDR
// if temp = 2 then
55854: LD_VAR 0 5
55858: PUSH
55859: LD_INT 2
55861: EQUAL
55862: IFFALSE 55872
// vc_weapon = ar_light_gun ;
55864: LD_ADDR_OWVAR 40
55868: PUSH
55869: LD_INT 23
55871: ST_TO_ADDR
// if temp = 3 then
55872: LD_VAR 0 5
55876: PUSH
55877: LD_INT 3
55879: EQUAL
55880: IFFALSE 55890
// vc_weapon = ar_double_machine_gun ;
55882: LD_ADDR_OWVAR 40
55886: PUSH
55887: LD_INT 24
55889: ST_TO_ADDR
// if temp = 4 then
55890: LD_VAR 0 5
55894: PUSH
55895: LD_INT 4
55897: EQUAL
55898: IFFALSE 55908
// vc_weapon = ar_gatling_gun ;
55900: LD_ADDR_OWVAR 40
55904: PUSH
55905: LD_INT 25
55907: ST_TO_ADDR
// if temp = 5 then
55908: LD_VAR 0 5
55912: PUSH
55913: LD_INT 5
55915: EQUAL
55916: IFFALSE 55926
// vc_weapon = ar_flame_thrower ;
55918: LD_ADDR_OWVAR 40
55922: PUSH
55923: LD_INT 26
55925: ST_TO_ADDR
// if temp = 6 then
55926: LD_VAR 0 5
55930: PUSH
55931: LD_INT 6
55933: EQUAL
55934: IFFALSE 55944
// vc_weapon = ar_gun ;
55936: LD_ADDR_OWVAR 40
55940: PUSH
55941: LD_INT 27
55943: ST_TO_ADDR
// if temp = 7 then
55944: LD_VAR 0 5
55948: PUSH
55949: LD_INT 7
55951: EQUAL
55952: IFFALSE 55962
// vc_weapon = ar_rocket_launcher ;
55954: LD_ADDR_OWVAR 40
55958: PUSH
55959: LD_INT 28
55961: ST_TO_ADDR
// if temp = 8 then
55962: LD_VAR 0 5
55966: PUSH
55967: LD_INT 8
55969: EQUAL
55970: IFFALSE 55980
// vc_weapon = ar_selfpropelled_bomb ;
55972: LD_ADDR_OWVAR 40
55976: PUSH
55977: LD_INT 29
55979: ST_TO_ADDR
// if temp = 9 then
55980: LD_VAR 0 5
55984: PUSH
55985: LD_INT 9
55987: EQUAL
55988: IFFALSE 55998
// vc_weapon = ar_radar ;
55990: LD_ADDR_OWVAR 40
55994: PUSH
55995: LD_INT 30
55997: ST_TO_ADDR
// if temp = 10 then
55998: LD_VAR 0 5
56002: PUSH
56003: LD_INT 10
56005: EQUAL
56006: IFFALSE 56016
// vc_weapon = ar_control_tower ;
56008: LD_ADDR_OWVAR 40
56012: PUSH
56013: LD_INT 31
56015: ST_TO_ADDR
// if temp = 11 then
56016: LD_VAR 0 5
56020: PUSH
56021: LD_INT 11
56023: EQUAL
56024: IFFALSE 56034
// vc_weapon = ar_cargo_bay ;
56026: LD_ADDR_OWVAR 40
56030: PUSH
56031: LD_INT 32
56033: ST_TO_ADDR
// temp = createvehicle ;
56034: LD_ADDR_VAR 0 5
56038: PUSH
56039: CALL_OW 45
56043: ST_TO_ADDR
// temp_list2 = temp_list2 ^ temp ;
56044: LD_ADDR_VAR 0 7
56048: PUSH
56049: LD_VAR 0 7
56053: PUSH
56054: LD_VAR 0 5
56058: ADD
56059: ST_TO_ADDR
// end ;
56060: GO 55489
56062: POP
56063: POP
// result = [ temp_list1 , temp_list2 ] ;
56064: LD_ADDR_VAR 0 2
56068: PUSH
56069: LD_VAR 0 6
56073: PUSH
56074: LD_VAR 0 7
56078: PUSH
56079: EMPTY
56080: LIST
56081: LIST
56082: ST_TO_ADDR
// end ;
56083: LD_VAR 0 2
56087: RET
// export function MoveCloseTounit ( unit1 , unit2 , minDist ) ; var i , temp_hex , dist , X , Y , list ; begin
56088: LD_INT 0
56090: PPUSH
56091: PPUSH
56092: PPUSH
56093: PPUSH
56094: PPUSH
56095: PPUSH
56096: PPUSH
// list = [ ] ;
56097: LD_ADDR_VAR 0 10
56101: PUSH
56102: EMPTY
56103: ST_TO_ADDR
// X = getX ( unit2 ) - minDist ;
56104: LD_ADDR_VAR 0 8
56108: PUSH
56109: LD_VAR 0 2
56113: PPUSH
56114: CALL_OW 250
56118: PUSH
56119: LD_VAR 0 3
56123: MINUS
56124: ST_TO_ADDR
// Y = getY ( unit2 ) - minDist ;
56125: LD_ADDR_VAR 0 9
56129: PUSH
56130: LD_VAR 0 2
56134: PPUSH
56135: CALL_OW 251
56139: PUSH
56140: LD_VAR 0 3
56144: MINUS
56145: ST_TO_ADDR
// for i = 1 to mindist do
56146: LD_ADDR_VAR 0 5
56150: PUSH
56151: DOUBLE
56152: LD_INT 1
56154: DEC
56155: ST_TO_ADDR
56156: LD_VAR 0 3
56160: PUSH
56161: FOR_TO
56162: IFFALSE 56200
// list = list ^ [ [ X + i , Y ] ] ;
56164: LD_ADDR_VAR 0 10
56168: PUSH
56169: LD_VAR 0 10
56173: PUSH
56174: LD_VAR 0 8
56178: PUSH
56179: LD_VAR 0 5
56183: PLUS
56184: PUSH
56185: LD_VAR 0 9
56189: PUSH
56190: EMPTY
56191: LIST
56192: LIST
56193: PUSH
56194: EMPTY
56195: LIST
56196: ADD
56197: ST_TO_ADDR
56198: GO 56161
56200: POP
56201: POP
// X = X + i - 1 ;
56202: LD_ADDR_VAR 0 8
56206: PUSH
56207: LD_VAR 0 8
56211: PUSH
56212: LD_VAR 0 5
56216: PLUS
56217: PUSH
56218: LD_INT 1
56220: MINUS
56221: ST_TO_ADDR
// for i = 1 to mindist do
56222: LD_ADDR_VAR 0 5
56226: PUSH
56227: DOUBLE
56228: LD_INT 1
56230: DEC
56231: ST_TO_ADDR
56232: LD_VAR 0 3
56236: PUSH
56237: FOR_TO
56238: IFFALSE 56282
// list = list ^ [ [ X + i , Y + i ] ] ;
56240: LD_ADDR_VAR 0 10
56244: PUSH
56245: LD_VAR 0 10
56249: PUSH
56250: LD_VAR 0 8
56254: PUSH
56255: LD_VAR 0 5
56259: PLUS
56260: PUSH
56261: LD_VAR 0 9
56265: PUSH
56266: LD_VAR 0 5
56270: PLUS
56271: PUSH
56272: EMPTY
56273: LIST
56274: LIST
56275: PUSH
56276: EMPTY
56277: LIST
56278: ADD
56279: ST_TO_ADDR
56280: GO 56237
56282: POP
56283: POP
// X = X + i - 1 ;
56284: LD_ADDR_VAR 0 8
56288: PUSH
56289: LD_VAR 0 8
56293: PUSH
56294: LD_VAR 0 5
56298: PLUS
56299: PUSH
56300: LD_INT 1
56302: MINUS
56303: ST_TO_ADDR
// Y = Y + i - 1 ;
56304: LD_ADDR_VAR 0 9
56308: PUSH
56309: LD_VAR 0 9
56313: PUSH
56314: LD_VAR 0 5
56318: PLUS
56319: PUSH
56320: LD_INT 1
56322: MINUS
56323: ST_TO_ADDR
// for i = 1 to mindist do
56324: LD_ADDR_VAR 0 5
56328: PUSH
56329: DOUBLE
56330: LD_INT 1
56332: DEC
56333: ST_TO_ADDR
56334: LD_VAR 0 3
56338: PUSH
56339: FOR_TO
56340: IFFALSE 56378
// list = list ^ [ [ X , Y + i ] ] ;
56342: LD_ADDR_VAR 0 10
56346: PUSH
56347: LD_VAR 0 10
56351: PUSH
56352: LD_VAR 0 8
56356: PUSH
56357: LD_VAR 0 9
56361: PUSH
56362: LD_VAR 0 5
56366: PLUS
56367: PUSH
56368: EMPTY
56369: LIST
56370: LIST
56371: PUSH
56372: EMPTY
56373: LIST
56374: ADD
56375: ST_TO_ADDR
56376: GO 56339
56378: POP
56379: POP
// Y = Y + i - 1 ;
56380: LD_ADDR_VAR 0 9
56384: PUSH
56385: LD_VAR 0 9
56389: PUSH
56390: LD_VAR 0 5
56394: PLUS
56395: PUSH
56396: LD_INT 1
56398: MINUS
56399: ST_TO_ADDR
// for i = 1 to mindist do
56400: LD_ADDR_VAR 0 5
56404: PUSH
56405: DOUBLE
56406: LD_INT 1
56408: DEC
56409: ST_TO_ADDR
56410: LD_VAR 0 3
56414: PUSH
56415: FOR_TO
56416: IFFALSE 56454
// list = list ^ [ [ X - i , Y ] ] ;
56418: LD_ADDR_VAR 0 10
56422: PUSH
56423: LD_VAR 0 10
56427: PUSH
56428: LD_VAR 0 8
56432: PUSH
56433: LD_VAR 0 5
56437: MINUS
56438: PUSH
56439: LD_VAR 0 9
56443: PUSH
56444: EMPTY
56445: LIST
56446: LIST
56447: PUSH
56448: EMPTY
56449: LIST
56450: ADD
56451: ST_TO_ADDR
56452: GO 56415
56454: POP
56455: POP
// X = X - i + 1 ;
56456: LD_ADDR_VAR 0 8
56460: PUSH
56461: LD_VAR 0 8
56465: PUSH
56466: LD_VAR 0 5
56470: MINUS
56471: PUSH
56472: LD_INT 1
56474: PLUS
56475: ST_TO_ADDR
// for i = 1 to mindist do
56476: LD_ADDR_VAR 0 5
56480: PUSH
56481: DOUBLE
56482: LD_INT 1
56484: DEC
56485: ST_TO_ADDR
56486: LD_VAR 0 3
56490: PUSH
56491: FOR_TO
56492: IFFALSE 56536
// list = list ^ [ [ X - i , Y - i ] ] ;
56494: LD_ADDR_VAR 0 10
56498: PUSH
56499: LD_VAR 0 10
56503: PUSH
56504: LD_VAR 0 8
56508: PUSH
56509: LD_VAR 0 5
56513: MINUS
56514: PUSH
56515: LD_VAR 0 9
56519: PUSH
56520: LD_VAR 0 5
56524: MINUS
56525: PUSH
56526: EMPTY
56527: LIST
56528: LIST
56529: PUSH
56530: EMPTY
56531: LIST
56532: ADD
56533: ST_TO_ADDR
56534: GO 56491
56536: POP
56537: POP
// X = X - i + 1 ;
56538: LD_ADDR_VAR 0 8
56542: PUSH
56543: LD_VAR 0 8
56547: PUSH
56548: LD_VAR 0 5
56552: MINUS
56553: PUSH
56554: LD_INT 1
56556: PLUS
56557: ST_TO_ADDR
// Y = Y - i + 1 ;
56558: LD_ADDR_VAR 0 9
56562: PUSH
56563: LD_VAR 0 9
56567: PUSH
56568: LD_VAR 0 5
56572: MINUS
56573: PUSH
56574: LD_INT 1
56576: PLUS
56577: ST_TO_ADDR
// for i = 1 to mindist do
56578: LD_ADDR_VAR 0 5
56582: PUSH
56583: DOUBLE
56584: LD_INT 1
56586: DEC
56587: ST_TO_ADDR
56588: LD_VAR 0 3
56592: PUSH
56593: FOR_TO
56594: IFFALSE 56632
// list = list ^ [ [ X , Y - i ] ] ;
56596: LD_ADDR_VAR 0 10
56600: PUSH
56601: LD_VAR 0 10
56605: PUSH
56606: LD_VAR 0 8
56610: PUSH
56611: LD_VAR 0 9
56615: PUSH
56616: LD_VAR 0 5
56620: MINUS
56621: PUSH
56622: EMPTY
56623: LIST
56624: LIST
56625: PUSH
56626: EMPTY
56627: LIST
56628: ADD
56629: ST_TO_ADDR
56630: GO 56593
56632: POP
56633: POP
// dist = getdistunitxy ( unit1 , list [ 1 ] [ 1 ] , list [ 1 ] [ 2 ] ) ;
56634: LD_ADDR_VAR 0 7
56638: PUSH
56639: LD_VAR 0 1
56643: PPUSH
56644: LD_VAR 0 10
56648: PUSH
56649: LD_INT 1
56651: ARRAY
56652: PUSH
56653: LD_INT 1
56655: ARRAY
56656: PPUSH
56657: LD_VAR 0 10
56661: PUSH
56662: LD_INT 1
56664: ARRAY
56665: PUSH
56666: LD_INT 2
56668: ARRAY
56669: PPUSH
56670: CALL_OW 297
56674: ST_TO_ADDR
// temp_hex = list [ 1 ] ;
56675: LD_ADDR_VAR 0 6
56679: PUSH
56680: LD_VAR 0 10
56684: PUSH
56685: LD_INT 1
56687: ARRAY
56688: ST_TO_ADDR
// for i in list do
56689: LD_ADDR_VAR 0 5
56693: PUSH
56694: LD_VAR 0 10
56698: PUSH
56699: FOR_IN
56700: IFFALSE 56782
// if getdistunitxy ( unit1 , i [ 1 ] , i [ 2 ] ) < dist then
56702: LD_VAR 0 1
56706: PPUSH
56707: LD_VAR 0 5
56711: PUSH
56712: LD_INT 1
56714: ARRAY
56715: PPUSH
56716: LD_VAR 0 5
56720: PUSH
56721: LD_INT 2
56723: ARRAY
56724: PPUSH
56725: CALL_OW 297
56729: PUSH
56730: LD_VAR 0 7
56734: LESS
56735: IFFALSE 56780
// begin dist = getdistunitxy ( unit1 , i [ 1 ] , i [ 2 ] ) ;
56737: LD_ADDR_VAR 0 7
56741: PUSH
56742: LD_VAR 0 1
56746: PPUSH
56747: LD_VAR 0 5
56751: PUSH
56752: LD_INT 1
56754: ARRAY
56755: PPUSH
56756: LD_VAR 0 5
56760: PUSH
56761: LD_INT 2
56763: ARRAY
56764: PPUSH
56765: CALL_OW 297
56769: ST_TO_ADDR
// temp_hex = i ;
56770: LD_ADDR_VAR 0 6
56774: PUSH
56775: LD_VAR 0 5
56779: ST_TO_ADDR
// end ;
56780: GO 56699
56782: POP
56783: POP
// if ValidHex ( temp_hex [ 1 ] , temp_hex [ 2 ] ) = 0 or InArea ( temp_hex [ 1 ] , temp_hex [ 2 ] , areainacessible ) then
56784: LD_VAR 0 6
56788: PUSH
56789: LD_INT 1
56791: ARRAY
56792: PPUSH
56793: LD_VAR 0 6
56797: PUSH
56798: LD_INT 2
56800: ARRAY
56801: PPUSH
56802: CALL_OW 488
56806: PUSH
56807: LD_INT 0
56809: EQUAL
56810: PUSH
56811: LD_VAR 0 6
56815: PUSH
56816: LD_INT 1
56818: ARRAY
56819: PPUSH
56820: LD_VAR 0 6
56824: PUSH
56825: LD_INT 2
56827: ARRAY
56828: PPUSH
56829: LD_INT 25
56831: PPUSH
56832: CALL_OW 309
56836: OR
56837: IFFALSE 56855
// commoveunit ( unit1 , unit2 ) else
56839: LD_VAR 0 1
56843: PPUSH
56844: LD_VAR 0 2
56848: PPUSH
56849: CALL_OW 112
56853: GO 56882
// commovexy ( unit1 , temp_hex [ 1 ] , temp_hex [ 2 ] ) ;
56855: LD_VAR 0 1
56859: PPUSH
56860: LD_VAR 0 6
56864: PUSH
56865: LD_INT 1
56867: ARRAY
56868: PPUSH
56869: LD_VAR 0 6
56873: PUSH
56874: LD_INT 2
56876: ARRAY
56877: PPUSH
56878: CALL_OW 111
// end ;
56882: LD_VAR 0 4
56886: RET
// export function SpaceRocketTargeting ( X , Y , Target ) ; var shooterX , shooterY , targetX , targetY , temp , temp1 , temp_val1 , temp_val2 , hex ; begin
56887: LD_INT 0
56889: PPUSH
56890: PPUSH
56891: PPUSH
56892: PPUSH
56893: PPUSH
56894: PPUSH
56895: PPUSH
56896: PPUSH
56897: PPUSH
56898: PPUSH
// shooterX = X ;
56899: LD_ADDR_VAR 0 5
56903: PUSH
56904: LD_VAR 0 1
56908: ST_TO_ADDR
// shooterY = Y ;
56909: LD_ADDR_VAR 0 6
56913: PUSH
56914: LD_VAR 0 2
56918: ST_TO_ADDR
// targetX = getx ( target ) ;
56919: LD_ADDR_VAR 0 7
56923: PUSH
56924: LD_VAR 0 3
56928: PPUSH
56929: CALL_OW 250
56933: ST_TO_ADDR
// targetY = gety ( target ) ;
56934: LD_ADDR_VAR 0 8
56938: PUSH
56939: LD_VAR 0 3
56943: PPUSH
56944: CALL_OW 251
56948: ST_TO_ADDR
// temp1 = [ shooterX - targetX , shooterY - targetY ] ;
56949: LD_ADDR_VAR 0 10
56953: PUSH
56954: LD_VAR 0 5
56958: PUSH
56959: LD_VAR 0 7
56963: MINUS
56964: PUSH
56965: LD_VAR 0 6
56969: PUSH
56970: LD_VAR 0 8
56974: MINUS
56975: PUSH
56976: EMPTY
56977: LIST
56978: LIST
56979: ST_TO_ADDR
// if temp1 [ 1 ] = 0 then
56980: LD_VAR 0 10
56984: PUSH
56985: LD_INT 1
56987: ARRAY
56988: PUSH
56989: LD_INT 0
56991: EQUAL
56992: IFFALSE 57070
// begin if shooterY - targetY > 0 then
56994: LD_VAR 0 6
56998: PUSH
56999: LD_VAR 0 8
57003: MINUS
57004: PUSH
57005: LD_INT 0
57007: GREATER
57008: IFFALSE 57035
// hex = [ targetX , targetY - 2 ] else
57010: LD_ADDR_VAR 0 13
57014: PUSH
57015: LD_VAR 0 7
57019: PUSH
57020: LD_VAR 0 8
57024: PUSH
57025: LD_INT 2
57027: MINUS
57028: PUSH
57029: EMPTY
57030: LIST
57031: LIST
57032: ST_TO_ADDR
57033: GO 57058
// hex = [ targetX , targetY + 2 ] ;
57035: LD_ADDR_VAR 0 13
57039: PUSH
57040: LD_VAR 0 7
57044: PUSH
57045: LD_VAR 0 8
57049: PUSH
57050: LD_INT 2
57052: PLUS
57053: PUSH
57054: EMPTY
57055: LIST
57056: LIST
57057: ST_TO_ADDR
// result = hex ;
57058: LD_ADDR_VAR 0 4
57062: PUSH
57063: LD_VAR 0 13
57067: ST_TO_ADDR
// exit ;
57068: GO 57758
// end ; if temp1 [ 2 ] = 0 then
57070: LD_VAR 0 10
57074: PUSH
57075: LD_INT 2
57077: ARRAY
57078: PUSH
57079: LD_INT 0
57081: EQUAL
57082: IFFALSE 57160
// begin if shooterX - targetX > 0 then
57084: LD_VAR 0 5
57088: PUSH
57089: LD_VAR 0 7
57093: MINUS
57094: PUSH
57095: LD_INT 0
57097: GREATER
57098: IFFALSE 57125
// hex = [ targetX - 2 , targetY ] else
57100: LD_ADDR_VAR 0 13
57104: PUSH
57105: LD_VAR 0 7
57109: PUSH
57110: LD_INT 2
57112: MINUS
57113: PUSH
57114: LD_VAR 0 8
57118: PUSH
57119: EMPTY
57120: LIST
57121: LIST
57122: ST_TO_ADDR
57123: GO 57148
// hex = [ targetX + 2 , targetY ] ;
57125: LD_ADDR_VAR 0 13
57129: PUSH
57130: LD_VAR 0 7
57134: PUSH
57135: LD_INT 2
57137: PLUS
57138: PUSH
57139: LD_VAR 0 8
57143: PUSH
57144: EMPTY
57145: LIST
57146: LIST
57147: ST_TO_ADDR
// result = hex ;
57148: LD_ADDR_VAR 0 4
57152: PUSH
57153: LD_VAR 0 13
57157: ST_TO_ADDR
// exit ;
57158: GO 57758
// end ; if temp1 [ 1 ] < temp1 [ 2 ] then
57160: LD_VAR 0 10
57164: PUSH
57165: LD_INT 1
57167: ARRAY
57168: PUSH
57169: LD_VAR 0 10
57173: PUSH
57174: LD_INT 2
57176: ARRAY
57177: LESS
57178: IFFALSE 57465
// begin temp_val1 = temp1 [ 1 ] ;
57180: LD_ADDR_VAR 0 11
57184: PUSH
57185: LD_VAR 0 10
57189: PUSH
57190: LD_INT 1
57192: ARRAY
57193: ST_TO_ADDR
// temp_val2 = temp1 [ 2 ] ;
57194: LD_ADDR_VAR 0 12
57198: PUSH
57199: LD_VAR 0 10
57203: PUSH
57204: LD_INT 2
57206: ARRAY
57207: ST_TO_ADDR
// if temp_val1 < 0 then
57208: LD_VAR 0 11
57212: PUSH
57213: LD_INT 0
57215: LESS
57216: IFFALSE 57229
// temp_val1 = - temp_val1 ;
57218: LD_ADDR_VAR 0 11
57222: PUSH
57223: LD_VAR 0 11
57227: NEG
57228: ST_TO_ADDR
// temp = temp_val2 / temp_val1 ;
57229: LD_ADDR_VAR 0 9
57233: PUSH
57234: LD_VAR 0 12
57238: PUSH
57239: LD_VAR 0 11
57243: DIVREAL
57244: ST_TO_ADDR
// if shooterX - targetX > 0 then
57245: LD_VAR 0 5
57249: PUSH
57250: LD_VAR 0 7
57254: MINUS
57255: PUSH
57256: LD_INT 0
57258: GREATER
57259: IFFALSE 57363
// begin hex = [ targetX - 1 , targety - temp ] ;
57261: LD_ADDR_VAR 0 13
57265: PUSH
57266: LD_VAR 0 7
57270: PUSH
57271: LD_INT 1
57273: MINUS
57274: PUSH
57275: LD_VAR 0 8
57279: PUSH
57280: LD_VAR 0 9
57284: MINUS
57285: PUSH
57286: EMPTY
57287: LIST
57288: LIST
57289: ST_TO_ADDR
// if getdistxy ( hex [ 1 ] , hex [ 2 ] , targetX , targetY ) > 4 then
57290: LD_VAR 0 13
57294: PUSH
57295: LD_INT 1
57297: ARRAY
57298: PPUSH
57299: LD_VAR 0 13
57303: PUSH
57304: LD_INT 2
57306: ARRAY
57307: PPUSH
57308: LD_VAR 0 7
57312: PPUSH
57313: LD_VAR 0 8
57317: PPUSH
57318: CALL_OW 298
57322: PUSH
57323: LD_INT 4
57325: GREATER
57326: IFFALSE 57361
// hex = [ targetX - 1 , targety - temp / 2 ] ;
57328: LD_ADDR_VAR 0 13
57332: PUSH
57333: LD_VAR 0 7
57337: PUSH
57338: LD_INT 1
57340: MINUS
57341: PUSH
57342: LD_VAR 0 8
57346: PUSH
57347: LD_VAR 0 9
57351: PUSH
57352: LD_INT 2
57354: DIVREAL
57355: MINUS
57356: PUSH
57357: EMPTY
57358: LIST
57359: LIST
57360: ST_TO_ADDR
// end else
57361: GO 57463
// begin hex = [ targetX + 1 , targety - temp ] ;
57363: LD_ADDR_VAR 0 13
57367: PUSH
57368: LD_VAR 0 7
57372: PUSH
57373: LD_INT 1
57375: PLUS
57376: PUSH
57377: LD_VAR 0 8
57381: PUSH
57382: LD_VAR 0 9
57386: MINUS
57387: PUSH
57388: EMPTY
57389: LIST
57390: LIST
57391: ST_TO_ADDR
// if getdistxy ( hex [ 1 ] , hex [ 2 ] , targetX , targetY ) > 4 then
57392: LD_VAR 0 13
57396: PUSH
57397: LD_INT 1
57399: ARRAY
57400: PPUSH
57401: LD_VAR 0 13
57405: PUSH
57406: LD_INT 2
57408: ARRAY
57409: PPUSH
57410: LD_VAR 0 7
57414: PPUSH
57415: LD_VAR 0 8
57419: PPUSH
57420: CALL_OW 298
57424: PUSH
57425: LD_INT 4
57427: GREATER
57428: IFFALSE 57463
// hex = [ targetX + 1 , targety - temp / 2 ] ;
57430: LD_ADDR_VAR 0 13
57434: PUSH
57435: LD_VAR 0 7
57439: PUSH
57440: LD_INT 1
57442: PLUS
57443: PUSH
57444: LD_VAR 0 8
57448: PUSH
57449: LD_VAR 0 9
57453: PUSH
57454: LD_INT 2
57456: DIVREAL
57457: MINUS
57458: PUSH
57459: EMPTY
57460: LIST
57461: LIST
57462: ST_TO_ADDR
// end ; end else
57463: GO 57748
// begin temp_val1 = temp1 [ 2 ] ;
57465: LD_ADDR_VAR 0 11
57469: PUSH
57470: LD_VAR 0 10
57474: PUSH
57475: LD_INT 2
57477: ARRAY
57478: ST_TO_ADDR
// temp_val2 = temp1 [ 1 ] ;
57479: LD_ADDR_VAR 0 12
57483: PUSH
57484: LD_VAR 0 10
57488: PUSH
57489: LD_INT 1
57491: ARRAY
57492: ST_TO_ADDR
// if temp_val1 < 0 then
57493: LD_VAR 0 11
57497: PUSH
57498: LD_INT 0
57500: LESS
57501: IFFALSE 57514
// temp_val1 = - temp_val1 ;
57503: LD_ADDR_VAR 0 11
57507: PUSH
57508: LD_VAR 0 11
57512: NEG
57513: ST_TO_ADDR
// temp = temp_val2 / temp_val1 ;
57514: LD_ADDR_VAR 0 9
57518: PUSH
57519: LD_VAR 0 12
57523: PUSH
57524: LD_VAR 0 11
57528: DIVREAL
57529: ST_TO_ADDR
// if shooterY - targetY > 0 then
57530: LD_VAR 0 6
57534: PUSH
57535: LD_VAR 0 8
57539: MINUS
57540: PUSH
57541: LD_INT 0
57543: GREATER
57544: IFFALSE 57648
// begin hex = [ targetX - temp , targety - 1 ] ;
57546: LD_ADDR_VAR 0 13
57550: PUSH
57551: LD_VAR 0 7
57555: PUSH
57556: LD_VAR 0 9
57560: MINUS
57561: PUSH
57562: LD_VAR 0 8
57566: PUSH
57567: LD_INT 1
57569: MINUS
57570: PUSH
57571: EMPTY
57572: LIST
57573: LIST
57574: ST_TO_ADDR
// if getdistxy ( hex [ 1 ] , hex [ 2 ] , targetX , targetY ) > 4 then
57575: LD_VAR 0 13
57579: PUSH
57580: LD_INT 1
57582: ARRAY
57583: PPUSH
57584: LD_VAR 0 13
57588: PUSH
57589: LD_INT 2
57591: ARRAY
57592: PPUSH
57593: LD_VAR 0 7
57597: PPUSH
57598: LD_VAR 0 8
57602: PPUSH
57603: CALL_OW 298
57607: PUSH
57608: LD_INT 4
57610: GREATER
57611: IFFALSE 57646
// hex = [ targetX - temp / 2 , targety - 1 ] ;
57613: LD_ADDR_VAR 0 13
57617: PUSH
57618: LD_VAR 0 7
57622: PUSH
57623: LD_VAR 0 9
57627: PUSH
57628: LD_INT 2
57630: DIVREAL
57631: MINUS
57632: PUSH
57633: LD_VAR 0 8
57637: PUSH
57638: LD_INT 1
57640: MINUS
57641: PUSH
57642: EMPTY
57643: LIST
57644: LIST
57645: ST_TO_ADDR
// end else
57646: GO 57748
// begin hex = [ targetX - temp , targety + 1 ] ;
57648: LD_ADDR_VAR 0 13
57652: PUSH
57653: LD_VAR 0 7
57657: PUSH
57658: LD_VAR 0 9
57662: MINUS
57663: PUSH
57664: LD_VAR 0 8
57668: PUSH
57669: LD_INT 1
57671: PLUS
57672: PUSH
57673: EMPTY
57674: LIST
57675: LIST
57676: ST_TO_ADDR
// if getdistxy ( hex [ 1 ] , hex [ 2 ] , targetX , targetY ) > 4 then
57677: LD_VAR 0 13
57681: PUSH
57682: LD_INT 1
57684: ARRAY
57685: PPUSH
57686: LD_VAR 0 13
57690: PUSH
57691: LD_INT 2
57693: ARRAY
57694: PPUSH
57695: LD_VAR 0 7
57699: PPUSH
57700: LD_VAR 0 8
57704: PPUSH
57705: CALL_OW 298
57709: PUSH
57710: LD_INT 4
57712: GREATER
57713: IFFALSE 57748
// hex = [ targetX - temp / 2 , targety + 1 ] ;
57715: LD_ADDR_VAR 0 13
57719: PUSH
57720: LD_VAR 0 7
57724: PUSH
57725: LD_VAR 0 9
57729: PUSH
57730: LD_INT 2
57732: DIVREAL
57733: MINUS
57734: PUSH
57735: LD_VAR 0 8
57739: PUSH
57740: LD_INT 1
57742: PLUS
57743: PUSH
57744: EMPTY
57745: LIST
57746: LIST
57747: ST_TO_ADDR
// end ; end ; result = hex ;
57748: LD_ADDR_VAR 0 4
57752: PUSH
57753: LD_VAR 0 13
57757: ST_TO_ADDR
// end ;
57758: LD_VAR 0 4
57762: RET
// export function RandHexXYRminRmax ( X , Y , n , m ) ; var a , b , hex_x , hex_y ; begin
57763: LD_INT 0
57765: PPUSH
57766: PPUSH
57767: PPUSH
57768: PPUSH
57769: PPUSH
// case rand ( 1 , 4 ) of 1 :
57770: LD_INT 1
57772: PPUSH
57773: LD_INT 4
57775: PPUSH
57776: CALL_OW 12
57780: PUSH
57781: LD_INT 1
57783: DOUBLE
57784: EQUAL
57785: IFTRUE 57789
57787: GO 57850
57789: POP
// begin hex_x = rand ( X - m , X ) ;
57790: LD_ADDR_VAR 0 8
57794: PUSH
57795: LD_VAR 0 1
57799: PUSH
57800: LD_VAR 0 4
57804: MINUS
57805: PPUSH
57806: LD_VAR 0 1
57810: PPUSH
57811: CALL_OW 12
57815: ST_TO_ADDR
// hex_y = rand ( Y - m , Y - n ) ;
57816: LD_ADDR_VAR 0 9
57820: PUSH
57821: LD_VAR 0 2
57825: PUSH
57826: LD_VAR 0 4
57830: MINUS
57831: PPUSH
57832: LD_VAR 0 2
57836: PUSH
57837: LD_VAR 0 3
57841: MINUS
57842: PPUSH
57843: CALL_OW 12
57847: ST_TO_ADDR
// end ; 2 :
57848: GO 58354
57850: LD_INT 2
57852: DOUBLE
57853: EQUAL
57854: IFTRUE 57858
57856: GO 57919
57858: POP
// begin hex_x = rand ( X , X + m ) ;
57859: LD_ADDR_VAR 0 8
57863: PUSH
57864: LD_VAR 0 1
57868: PPUSH
57869: LD_VAR 0 1
57873: PUSH
57874: LD_VAR 0 4
57878: PLUS
57879: PPUSH
57880: CALL_OW 12
57884: ST_TO_ADDR
// hex_y = rand ( Y + n , Y + m ) ;
57885: LD_ADDR_VAR 0 9
57889: PUSH
57890: LD_VAR 0 2
57894: PUSH
57895: LD_VAR 0 3
57899: PLUS
57900: PPUSH
57901: LD_VAR 0 2
57905: PUSH
57906: LD_VAR 0 4
57910: PLUS
57911: PPUSH
57912: CALL_OW 12
57916: ST_TO_ADDR
// end ; 3 :
57917: GO 58354
57919: LD_INT 3
57921: DOUBLE
57922: EQUAL
57923: IFTRUE 57927
57925: GO 58136
57927: POP
// if rand ( 1 , 2 ) = 1 then
57928: LD_INT 1
57930: PPUSH
57931: LD_INT 2
57933: PPUSH
57934: CALL_OW 12
57938: PUSH
57939: LD_INT 1
57941: EQUAL
57942: IFFALSE 58004
// begin hex_x = rand ( X - m , X - n ) ;
57944: LD_ADDR_VAR 0 8
57948: PUSH
57949: LD_VAR 0 1
57953: PUSH
57954: LD_VAR 0 4
57958: MINUS
57959: PPUSH
57960: LD_VAR 0 1
57964: PUSH
57965: LD_VAR 0 3
57969: MINUS
57970: PPUSH
57971: CALL_OW 12
57975: ST_TO_ADDR
// hex_y = rand ( Y - n , Y ) ;
57976: LD_ADDR_VAR 0 9
57980: PUSH
57981: LD_VAR 0 2
57985: PUSH
57986: LD_VAR 0 3
57990: MINUS
57991: PPUSH
57992: LD_VAR 0 2
57996: PPUSH
57997: CALL_OW 12
58001: ST_TO_ADDR
// end else
58002: GO 58134
// begin a = rand ( 1 , m - 1 ) ;
58004: LD_ADDR_VAR 0 6
58008: PUSH
58009: LD_INT 1
58011: PPUSH
58012: LD_VAR 0 4
58016: PUSH
58017: LD_INT 1
58019: MINUS
58020: PPUSH
58021: CALL_OW 12
58025: ST_TO_ADDR
// if a > m - n then
58026: LD_VAR 0 6
58030: PUSH
58031: LD_VAR 0 4
58035: PUSH
58036: LD_VAR 0 3
58040: MINUS
58041: GREATER
58042: IFFALSE 58072
// b = a - ( m - n ) + 1 else
58044: LD_ADDR_VAR 0 7
58048: PUSH
58049: LD_VAR 0 6
58053: PUSH
58054: LD_VAR 0 4
58058: PUSH
58059: LD_VAR 0 3
58063: MINUS
58064: MINUS
58065: PUSH
58066: LD_INT 1
58068: PLUS
58069: ST_TO_ADDR
58070: GO 58080
// b = 1 ;
58072: LD_ADDR_VAR 0 7
58076: PUSH
58077: LD_INT 1
58079: ST_TO_ADDR
// hex_x = X - m + a ;
58080: LD_ADDR_VAR 0 8
58084: PUSH
58085: LD_VAR 0 1
58089: PUSH
58090: LD_VAR 0 4
58094: MINUS
58095: PUSH
58096: LD_VAR 0 6
58100: PLUS
58101: ST_TO_ADDR
// hex_y = rand ( Y + b , Y + a ) ;
58102: LD_ADDR_VAR 0 9
58106: PUSH
58107: LD_VAR 0 2
58111: PUSH
58112: LD_VAR 0 7
58116: PLUS
58117: PPUSH
58118: LD_VAR 0 2
58122: PUSH
58123: LD_VAR 0 6
58127: PLUS
58128: PPUSH
58129: CALL_OW 12
58133: ST_TO_ADDR
// end ; 4 :
58134: GO 58354
58136: LD_INT 4
58138: DOUBLE
58139: EQUAL
58140: IFTRUE 58144
58142: GO 58353
58144: POP
// if rand ( 1 , 2 ) = 1 then
58145: LD_INT 1
58147: PPUSH
58148: LD_INT 2
58150: PPUSH
58151: CALL_OW 12
58155: PUSH
58156: LD_INT 1
58158: EQUAL
58159: IFFALSE 58221
// begin hex_x = rand ( X + n , X + m ) ;
58161: LD_ADDR_VAR 0 8
58165: PUSH
58166: LD_VAR 0 1
58170: PUSH
58171: LD_VAR 0 3
58175: PLUS
58176: PPUSH
58177: LD_VAR 0 1
58181: PUSH
58182: LD_VAR 0 4
58186: PLUS
58187: PPUSH
58188: CALL_OW 12
58192: ST_TO_ADDR
// hex_y = rand ( Y , Y + n ) ;
58193: LD_ADDR_VAR 0 9
58197: PUSH
58198: LD_VAR 0 2
58202: PPUSH
58203: LD_VAR 0 2
58207: PUSH
58208: LD_VAR 0 3
58212: PLUS
58213: PPUSH
58214: CALL_OW 12
58218: ST_TO_ADDR
// end else
58219: GO 58351
// begin a = rand ( 1 , m - 1 ) ;
58221: LD_ADDR_VAR 0 6
58225: PUSH
58226: LD_INT 1
58228: PPUSH
58229: LD_VAR 0 4
58233: PUSH
58234: LD_INT 1
58236: MINUS
58237: PPUSH
58238: CALL_OW 12
58242: ST_TO_ADDR
// if a > m - n then
58243: LD_VAR 0 6
58247: PUSH
58248: LD_VAR 0 4
58252: PUSH
58253: LD_VAR 0 3
58257: MINUS
58258: GREATER
58259: IFFALSE 58289
// b = a - ( m - n ) + 1 else
58261: LD_ADDR_VAR 0 7
58265: PUSH
58266: LD_VAR 0 6
58270: PUSH
58271: LD_VAR 0 4
58275: PUSH
58276: LD_VAR 0 3
58280: MINUS
58281: MINUS
58282: PUSH
58283: LD_INT 1
58285: PLUS
58286: ST_TO_ADDR
58287: GO 58297
// b = 1 ;
58289: LD_ADDR_VAR 0 7
58293: PUSH
58294: LD_INT 1
58296: ST_TO_ADDR
// hex_x = X + m - a ;
58297: LD_ADDR_VAR 0 8
58301: PUSH
58302: LD_VAR 0 1
58306: PUSH
58307: LD_VAR 0 4
58311: PLUS
58312: PUSH
58313: LD_VAR 0 6
58317: MINUS
58318: ST_TO_ADDR
// hex_y = rand ( Y - a , Y - b ) ;
58319: LD_ADDR_VAR 0 9
58323: PUSH
58324: LD_VAR 0 2
58328: PUSH
58329: LD_VAR 0 6
58333: MINUS
58334: PPUSH
58335: LD_VAR 0 2
58339: PUSH
58340: LD_VAR 0 7
58344: MINUS
58345: PPUSH
58346: CALL_OW 12
58350: ST_TO_ADDR
// end ; end ;
58351: GO 58354
58353: POP
// if ValidHex ( hex_x , hex_y ) = true then
58354: LD_VAR 0 8
58358: PPUSH
58359: LD_VAR 0 9
58363: PPUSH
58364: CALL_OW 488
58368: PUSH
58369: LD_INT 1
58371: EQUAL
58372: IFFALSE 58395
// result = [ hex_x , hex_y ] else
58374: LD_ADDR_VAR 0 5
58378: PUSH
58379: LD_VAR 0 8
58383: PUSH
58384: LD_VAR 0 9
58388: PUSH
58389: EMPTY
58390: LIST
58391: LIST
58392: ST_TO_ADDR
58393: GO 58414
// result = [ X , Y ] ;
58395: LD_ADDR_VAR 0 5
58399: PUSH
58400: LD_VAR 0 1
58404: PUSH
58405: LD_VAR 0 2
58409: PUSH
58410: EMPTY
58411: LIST
58412: LIST
58413: ST_TO_ADDR
// end ;
58414: LD_VAR 0 5
58418: RET
// export function PrepareNature ; var i , agres , ape , roll , hex , temp , temp2 ; begin
58419: LD_INT 0
58421: PPUSH
58422: PPUSH
58423: PPUSH
58424: PPUSH
58425: PPUSH
58426: PPUSH
58427: PPUSH
58428: PPUSH
// Randomize ;
58429: CALL_OW 10
// uc_nation = nation_nature ;
58433: LD_ADDR_OWVAR 21
58437: PUSH
58438: LD_INT 0
58440: ST_TO_ADDR
// uc_side = 0 ;
58441: LD_ADDR_OWVAR 20
58445: PUSH
58446: LD_INT 0
58448: ST_TO_ADDR
// hc_class = class_apeman ;
58449: LD_ADDR_OWVAR 28
58453: PUSH
58454: LD_INT 12
58456: ST_TO_ADDR
// agres = - 10 + difficulty * 20 ;
58457: LD_ADDR_VAR 0 3
58461: PUSH
58462: LD_INT 10
58464: NEG
58465: PUSH
58466: LD_OWVAR 67
58470: PUSH
58471: LD_INT 20
58473: MUL
58474: PLUS
58475: ST_TO_ADDR
// for i = 1 to 19 do
58476: LD_ADDR_VAR 0 2
58480: PUSH
58481: DOUBLE
58482: LD_INT 1
58484: DEC
58485: ST_TO_ADDR
58486: LD_INT 19
58488: PUSH
58489: FOR_TO
58490: IFFALSE 58815
// begin hc_attr = [ rand ( 15 , 18 ) , 12 ] ;
58492: LD_ADDR_OWVAR 29
58496: PUSH
58497: LD_INT 15
58499: PPUSH
58500: LD_INT 18
58502: PPUSH
58503: CALL_OW 12
58507: PUSH
58508: LD_INT 12
58510: PUSH
58511: EMPTY
58512: LIST
58513: LIST
58514: ST_TO_ADDR
// hc_agressivity = Rand ( - 1 * agres , agres ) ;
58515: LD_ADDR_OWVAR 35
58519: PUSH
58520: LD_INT 1
58522: NEG
58523: PUSH
58524: LD_VAR 0 3
58528: MUL
58529: PPUSH
58530: LD_VAR 0 3
58534: PPUSH
58535: CALL_OW 12
58539: ST_TO_ADDR
// hc_sex = sex_male ;
58540: LD_ADDR_OWVAR 27
58544: PUSH
58545: LD_INT 1
58547: ST_TO_ADDR
// hc_name = PlanetOfTheApes [ i ] ;
58548: LD_ADDR_OWVAR 26
58552: PUSH
58553: LD_EXP 203
58557: PUSH
58558: LD_VAR 0 2
58562: ARRAY
58563: ST_TO_ADDR
// hc_skills = [ rand ( 7 , 10 ) , rand ( 2 , 4 ) , rand ( 2 , 4 ) , rand ( 2 , 4 ) ] ;
58564: LD_ADDR_OWVAR 31
58568: PUSH
58569: LD_INT 7
58571: PPUSH
58572: LD_INT 10
58574: PPUSH
58575: CALL_OW 12
58579: PUSH
58580: LD_INT 2
58582: PPUSH
58583: LD_INT 4
58585: PPUSH
58586: CALL_OW 12
58590: PUSH
58591: LD_INT 2
58593: PPUSH
58594: LD_INT 4
58596: PPUSH
58597: CALL_OW 12
58601: PUSH
58602: LD_INT 2
58604: PPUSH
58605: LD_INT 4
58607: PPUSH
58608: CALL_OW 12
58612: PUSH
58613: EMPTY
58614: LIST
58615: LIST
58616: LIST
58617: LIST
58618: ST_TO_ADDR
// if i = 1 or i = 3 then
58619: LD_VAR 0 2
58623: PUSH
58624: LD_INT 1
58626: EQUAL
58627: PUSH
58628: LD_VAR 0 2
58632: PUSH
58633: LD_INT 3
58635: EQUAL
58636: OR
58637: IFFALSE 58686
// hc_skills = [ rand ( 7 , 10 ) , rand ( 2 , 4 ) , 1 , rand ( 6 , 8 ) ] ;
58639: LD_ADDR_OWVAR 31
58643: PUSH
58644: LD_INT 7
58646: PPUSH
58647: LD_INT 10
58649: PPUSH
58650: CALL_OW 12
58654: PUSH
58655: LD_INT 2
58657: PPUSH
58658: LD_INT 4
58660: PPUSH
58661: CALL_OW 12
58665: PUSH
58666: LD_INT 1
58668: PUSH
58669: LD_INT 6
58671: PPUSH
58672: LD_INT 8
58674: PPUSH
58675: CALL_OW 12
58679: PUSH
58680: EMPTY
58681: LIST
58682: LIST
58683: LIST
58684: LIST
58685: ST_TO_ADDR
// if i = 2 or i = 14 then
58686: LD_VAR 0 2
58690: PUSH
58691: LD_INT 2
58693: EQUAL
58694: PUSH
58695: LD_VAR 0 2
58699: PUSH
58700: LD_INT 14
58702: EQUAL
58703: OR
58704: IFFALSE 58769
// begin hc_skills = [ rand ( 7 , 10 ) , rand ( 2 , 4 ) , rand ( 0 , 1 ) , rand ( 6 , 8 ) ] ;
58706: LD_ADDR_OWVAR 31
58710: PUSH
58711: LD_INT 7
58713: PPUSH
58714: LD_INT 10
58716: PPUSH
58717: CALL_OW 12
58721: PUSH
58722: LD_INT 2
58724: PPUSH
58725: LD_INT 4
58727: PPUSH
58728: CALL_OW 12
58732: PUSH
58733: LD_INT 0
58735: PPUSH
58736: LD_INT 1
58738: PPUSH
58739: CALL_OW 12
58743: PUSH
58744: LD_INT 6
58746: PPUSH
58747: LD_INT 8
58749: PPUSH
58750: CALL_OW 12
58754: PUSH
58755: EMPTY
58756: LIST
58757: LIST
58758: LIST
58759: LIST
58760: ST_TO_ADDR
// hc_sex = sex_female ;
58761: LD_ADDR_OWVAR 27
58765: PUSH
58766: LD_INT 2
58768: ST_TO_ADDR
// end ; if i = 16 then
58769: LD_VAR 0 2
58773: PUSH
58774: LD_INT 16
58776: EQUAL
58777: IFFALSE 58787
// hc_sex = sex_female ;
58779: LD_ADDR_OWVAR 27
58783: PUSH
58784: LD_INT 2
58786: ST_TO_ADDR
// ape = CreateHuman ;
58787: LD_ADDR_VAR 0 4
58791: PUSH
58792: CALL_OW 44
58796: ST_TO_ADDR
// Apes = Apes ^ ape ;
58797: LD_ADDR_EXP 204
58801: PUSH
58802: LD_EXP 204
58806: PUSH
58807: LD_VAR 0 4
58811: ADD
58812: ST_TO_ADDR
// end ;
58813: GO 58489
58815: POP
58816: POP
// for i = 1 to 5 do
58817: LD_ADDR_VAR 0 2
58821: PUSH
58822: DOUBLE
58823: LD_INT 1
58825: DEC
58826: ST_TO_ADDR
58827: LD_INT 5
58829: PUSH
58830: FOR_TO
58831: IFFALSE 58978
// begin roll = rand ( 1 , Apes ) ;
58833: LD_ADDR_VAR 0 5
58837: PUSH
58838: LD_INT 1
58840: PPUSH
58841: LD_EXP 204
58845: PPUSH
58846: CALL_OW 12
58850: ST_TO_ADDR
// repeat hex = RandHex ( 0 ) ;
58851: LD_ADDR_VAR 0 6
58855: PUSH
58856: LD_INT 0
58858: PPUSH
58859: CALL_OW 15
58863: ST_TO_ADDR
// until hexinfo ( hex [ 1 ] , hex [ 2 ] ) = 0 and not InArea ( hex [ 1 ] , hex [ 2 ] , areainacessible ) ;
58864: LD_VAR 0 6
58868: PUSH
58869: LD_INT 1
58871: ARRAY
58872: PPUSH
58873: LD_VAR 0 6
58877: PUSH
58878: LD_INT 2
58880: ARRAY
58881: PPUSH
58882: CALL_OW 428
58886: PUSH
58887: LD_INT 0
58889: EQUAL
58890: PUSH
58891: LD_VAR 0 6
58895: PUSH
58896: LD_INT 1
58898: ARRAY
58899: PPUSH
58900: LD_VAR 0 6
58904: PUSH
58905: LD_INT 2
58907: ARRAY
58908: PPUSH
58909: LD_INT 25
58911: PPUSH
58912: CALL_OW 309
58916: NOT
58917: AND
58918: IFFALSE 58851
// placeunitxy ( Apes [ roll ] , hex [ 1 ] , hex [ 2 ] , 0 ) ;
58920: LD_EXP 204
58924: PUSH
58925: LD_VAR 0 5
58929: ARRAY
58930: PPUSH
58931: LD_VAR 0 6
58935: PUSH
58936: LD_INT 1
58938: ARRAY
58939: PPUSH
58940: LD_VAR 0 6
58944: PUSH
58945: LD_INT 2
58947: ARRAY
58948: PPUSH
58949: LD_INT 0
58951: PPUSH
58952: CALL_OW 48
// Apes = delete ( Apes , roll ) ;
58956: LD_ADDR_EXP 204
58960: PUSH
58961: LD_EXP 204
58965: PPUSH
58966: LD_VAR 0 5
58970: PPUSH
58971: CALL_OW 3
58975: ST_TO_ADDR
// end ;
58976: GO 58830
58978: POP
58979: POP
// hc_name =  ;
58980: LD_ADDR_OWVAR 26
58984: PUSH
58985: LD_STRING 
58987: ST_TO_ADDR
// hc_attr = [ 10 , 10 ] ;
58988: LD_ADDR_OWVAR 29
58992: PUSH
58993: LD_INT 10
58995: PUSH
58996: LD_INT 10
58998: PUSH
58999: EMPTY
59000: LIST
59001: LIST
59002: ST_TO_ADDR
// hc_skills = [ 0 , 0 , 0 , 0 ] ;
59003: LD_ADDR_OWVAR 31
59007: PUSH
59008: LD_INT 0
59010: PUSH
59011: LD_INT 0
59013: PUSH
59014: LD_INT 0
59016: PUSH
59017: LD_INT 0
59019: PUSH
59020: EMPTY
59021: LIST
59022: LIST
59023: LIST
59024: LIST
59025: ST_TO_ADDR
// for i = 1 to 10 do
59026: LD_ADDR_VAR 0 2
59030: PUSH
59031: DOUBLE
59032: LD_INT 1
59034: DEC
59035: ST_TO_ADDR
59036: LD_INT 10
59038: PUSH
59039: FOR_TO
59040: IFFALSE 59219
// begin if rand ( 1 , 2 ) = 1 then
59042: LD_INT 1
59044: PPUSH
59045: LD_INT 2
59047: PPUSH
59048: CALL_OW 12
59052: PUSH
59053: LD_INT 1
59055: EQUAL
59056: IFFALSE 59084
// begin hc_gallery = nature_foreg ;
59058: LD_ADDR_OWVAR 33
59062: PUSH
59063: LD_STRING nature_foreg
59065: ST_TO_ADDR
// hc_face_number = 1 ;
59066: LD_ADDR_OWVAR 34
59070: PUSH
59071: LD_INT 1
59073: ST_TO_ADDR
// hc_class = class_phororhacos ;
59074: LD_ADDR_OWVAR 28
59078: PUSH
59079: LD_INT 18
59081: ST_TO_ADDR
// end else
59082: GO 59108
// begin hc_gallery = nature_foreg ;
59084: LD_ADDR_OWVAR 33
59088: PUSH
59089: LD_STRING nature_foreg
59091: ST_TO_ADDR
// hc_face_number = 4 ;
59092: LD_ADDR_OWVAR 34
59096: PUSH
59097: LD_INT 4
59099: ST_TO_ADDR
// hc_class = class_baggie ;
59100: LD_ADDR_OWVAR 28
59104: PUSH
59105: LD_INT 13
59107: ST_TO_ADDR
// end ; temp = createhuman ;
59108: LD_ADDR_VAR 0 7
59112: PUSH
59113: CALL_OW 44
59117: ST_TO_ADDR
// repeat hex = RandHex ( 0 ) ;
59118: LD_ADDR_VAR 0 6
59122: PUSH
59123: LD_INT 0
59125: PPUSH
59126: CALL_OW 15
59130: ST_TO_ADDR
// until hexinfo ( hex [ 1 ] , hex [ 2 ] ) = 0 and not InArea ( hex [ 1 ] , hex [ 2 ] , areainacessible ) ;
59131: LD_VAR 0 6
59135: PUSH
59136: LD_INT 1
59138: ARRAY
59139: PPUSH
59140: LD_VAR 0 6
59144: PUSH
59145: LD_INT 2
59147: ARRAY
59148: PPUSH
59149: CALL_OW 428
59153: PUSH
59154: LD_INT 0
59156: EQUAL
59157: PUSH
59158: LD_VAR 0 6
59162: PUSH
59163: LD_INT 1
59165: ARRAY
59166: PPUSH
59167: LD_VAR 0 6
59171: PUSH
59172: LD_INT 2
59174: ARRAY
59175: PPUSH
59176: LD_INT 25
59178: PPUSH
59179: CALL_OW 309
59183: NOT
59184: AND
59185: IFFALSE 59118
// placeunitxy ( temp , hex [ 1 ] , hex [ 2 ] , 0 ) ;
59187: LD_VAR 0 7
59191: PPUSH
59192: LD_VAR 0 6
59196: PUSH
59197: LD_INT 1
59199: ARRAY
59200: PPUSH
59201: LD_VAR 0 6
59205: PUSH
59206: LD_INT 2
59208: ARRAY
59209: PPUSH
59210: LD_INT 0
59212: PPUSH
59213: CALL_OW 48
// end ;
59217: GO 59039
59219: POP
59220: POP
// temp = [ Eh1 , Eh2 ] ;
59221: LD_ADDR_VAR 0 7
59225: PUSH
59226: LD_INT 7
59228: PUSH
59229: LD_INT 8
59231: PUSH
59232: EMPTY
59233: LIST
59234: LIST
59235: ST_TO_ADDR
// for i = 1 to temp do
59236: LD_ADDR_VAR 0 2
59240: PUSH
59241: DOUBLE
59242: LD_INT 1
59244: DEC
59245: ST_TO_ADDR
59246: LD_VAR 0 7
59250: PUSH
59251: FOR_TO
59252: IFFALSE 59376
// begin removeunit ( temp [ i ] ) ;
59254: LD_VAR 0 7
59258: PUSH
59259: LD_VAR 0 2
59263: ARRAY
59264: PPUSH
59265: CALL_OW 64
// repeat hex = RandHex ( 0 ) ;
59269: LD_ADDR_VAR 0 6
59273: PUSH
59274: LD_INT 0
59276: PPUSH
59277: CALL_OW 15
59281: ST_TO_ADDR
// until hexinfo ( hex [ 1 ] , hex [ 2 ] ) = 0 and not InArea ( hex [ 1 ] , hex [ 2 ] , areainacessible ) ;
59282: LD_VAR 0 6
59286: PUSH
59287: LD_INT 1
59289: ARRAY
59290: PPUSH
59291: LD_VAR 0 6
59295: PUSH
59296: LD_INT 2
59298: ARRAY
59299: PPUSH
59300: CALL_OW 428
59304: PUSH
59305: LD_INT 0
59307: EQUAL
59308: PUSH
59309: LD_VAR 0 6
59313: PUSH
59314: LD_INT 1
59316: ARRAY
59317: PPUSH
59318: LD_VAR 0 6
59322: PUSH
59323: LD_INT 2
59325: ARRAY
59326: PPUSH
59327: LD_INT 25
59329: PPUSH
59330: CALL_OW 309
59334: NOT
59335: AND
59336: IFFALSE 59269
// placeunitxy ( temp [ i ] , hex [ 1 ] , hex [ 2 ] , 0 ) ;
59338: LD_VAR 0 7
59342: PUSH
59343: LD_VAR 0 2
59347: ARRAY
59348: PPUSH
59349: LD_VAR 0 6
59353: PUSH
59354: LD_INT 1
59356: ARRAY
59357: PPUSH
59358: LD_VAR 0 6
59362: PUSH
59363: LD_INT 2
59365: ARRAY
59366: PPUSH
59367: LD_INT 0
59369: PPUSH
59370: CALL_OW 48
// end ;
59374: GO 59251
59376: POP
59377: POP
// temp = [ [ 173 , 35 ] , [ 171 , 46 ] , [ 167 , 53 ] , [ 165 , 62 ] , [ 163 , 71 ] , [ 161 , 76 ] , [ 159 , 83 ] , [ 156 , 92 ] , [ 153 , 97 ] , [ 155 , 110 ] , [ 158 , 128 ] , [ 186 , 144 ] , [ 205 , 152 ] , [ 224 , 165 ] , [ 173 , 146 ] , [ 184 , 157 ] , [ 192 , 166 ] , [ 193 , 175 ] ] ;
59378: LD_ADDR_VAR 0 7
59382: PUSH
59383: LD_INT 173
59385: PUSH
59386: LD_INT 35
59388: PUSH
59389: EMPTY
59390: LIST
59391: LIST
59392: PUSH
59393: LD_INT 171
59395: PUSH
59396: LD_INT 46
59398: PUSH
59399: EMPTY
59400: LIST
59401: LIST
59402: PUSH
59403: LD_INT 167
59405: PUSH
59406: LD_INT 53
59408: PUSH
59409: EMPTY
59410: LIST
59411: LIST
59412: PUSH
59413: LD_INT 165
59415: PUSH
59416: LD_INT 62
59418: PUSH
59419: EMPTY
59420: LIST
59421: LIST
59422: PUSH
59423: LD_INT 163
59425: PUSH
59426: LD_INT 71
59428: PUSH
59429: EMPTY
59430: LIST
59431: LIST
59432: PUSH
59433: LD_INT 161
59435: PUSH
59436: LD_INT 76
59438: PUSH
59439: EMPTY
59440: LIST
59441: LIST
59442: PUSH
59443: LD_INT 159
59445: PUSH
59446: LD_INT 83
59448: PUSH
59449: EMPTY
59450: LIST
59451: LIST
59452: PUSH
59453: LD_INT 156
59455: PUSH
59456: LD_INT 92
59458: PUSH
59459: EMPTY
59460: LIST
59461: LIST
59462: PUSH
59463: LD_INT 153
59465: PUSH
59466: LD_INT 97
59468: PUSH
59469: EMPTY
59470: LIST
59471: LIST
59472: PUSH
59473: LD_INT 155
59475: PUSH
59476: LD_INT 110
59478: PUSH
59479: EMPTY
59480: LIST
59481: LIST
59482: PUSH
59483: LD_INT 158
59485: PUSH
59486: LD_INT 128
59488: PUSH
59489: EMPTY
59490: LIST
59491: LIST
59492: PUSH
59493: LD_INT 186
59495: PUSH
59496: LD_INT 144
59498: PUSH
59499: EMPTY
59500: LIST
59501: LIST
59502: PUSH
59503: LD_INT 205
59505: PUSH
59506: LD_INT 152
59508: PUSH
59509: EMPTY
59510: LIST
59511: LIST
59512: PUSH
59513: LD_INT 224
59515: PUSH
59516: LD_INT 165
59518: PUSH
59519: EMPTY
59520: LIST
59521: LIST
59522: PUSH
59523: LD_INT 173
59525: PUSH
59526: LD_INT 146
59528: PUSH
59529: EMPTY
59530: LIST
59531: LIST
59532: PUSH
59533: LD_INT 184
59535: PUSH
59536: LD_INT 157
59538: PUSH
59539: EMPTY
59540: LIST
59541: LIST
59542: PUSH
59543: LD_INT 192
59545: PUSH
59546: LD_INT 166
59548: PUSH
59549: EMPTY
59550: LIST
59551: LIST
59552: PUSH
59553: LD_INT 193
59555: PUSH
59556: LD_INT 175
59558: PUSH
59559: EMPTY
59560: LIST
59561: LIST
59562: PUSH
59563: EMPTY
59564: LIST
59565: LIST
59566: LIST
59567: LIST
59568: LIST
59569: LIST
59570: LIST
59571: LIST
59572: LIST
59573: LIST
59574: LIST
59575: LIST
59576: LIST
59577: LIST
59578: LIST
59579: LIST
59580: LIST
59581: LIST
59582: ST_TO_ADDR
// for i = 1 to 5 do
59583: LD_ADDR_VAR 0 2
59587: PUSH
59588: DOUBLE
59589: LD_INT 1
59591: DEC
59592: ST_TO_ADDR
59593: LD_INT 5
59595: PUSH
59596: FOR_TO
59597: IFFALSE 59717
// begin hc_gallery = nature_foreg ;
59599: LD_ADDR_OWVAR 33
59603: PUSH
59604: LD_STRING nature_foreg
59606: ST_TO_ADDR
// hc_face_number = 2 ;
59607: LD_ADDR_OWVAR 34
59611: PUSH
59612: LD_INT 2
59614: ST_TO_ADDR
// hc_class = class_fish ;
59615: LD_ADDR_OWVAR 28
59619: PUSH
59620: LD_INT 20
59622: ST_TO_ADDR
// temp2 = createhuman ;
59623: LD_ADDR_VAR 0 8
59627: PUSH
59628: CALL_OW 44
59632: ST_TO_ADDR
// repeat hex = temp [ rand ( 1 , temp ) ] ;
59633: LD_ADDR_VAR 0 6
59637: PUSH
59638: LD_VAR 0 7
59642: PUSH
59643: LD_INT 1
59645: PPUSH
59646: LD_VAR 0 7
59650: PPUSH
59651: CALL_OW 12
59655: ARRAY
59656: ST_TO_ADDR
// until hexinfo ( hex [ 1 ] , hex [ 2 ] ) = 0 ;
59657: LD_VAR 0 6
59661: PUSH
59662: LD_INT 1
59664: ARRAY
59665: PPUSH
59666: LD_VAR 0 6
59670: PUSH
59671: LD_INT 2
59673: ARRAY
59674: PPUSH
59675: CALL_OW 428
59679: PUSH
59680: LD_INT 0
59682: EQUAL
59683: IFFALSE 59633
// placeunitxy ( temp2 , hex [ 1 ] , hex [ 2 ] , 0 ) ;
59685: LD_VAR 0 8
59689: PPUSH
59690: LD_VAR 0 6
59694: PUSH
59695: LD_INT 1
59697: ARRAY
59698: PPUSH
59699: LD_VAR 0 6
59703: PUSH
59704: LD_INT 2
59706: ARRAY
59707: PPUSH
59708: LD_INT 0
59710: PPUSH
59711: CALL_OW 48
// end ;
59715: GO 59596
59717: POP
59718: POP
// end ;
59719: LD_VAR 0 1
59723: RET
// export function GetTopSkill ( un ) ; var i , list , val , val_top ; begin
59724: LD_INT 0
59726: PPUSH
59727: PPUSH
59728: PPUSH
59729: PPUSH
59730: PPUSH
// list = [ getskill ( un , skill_combat ) , getskill ( un , skill_engineering ) , getskill ( un , skill_mechanical ) , getskill ( un , skill_scientistic ) ] ;
59731: LD_ADDR_VAR 0 4
59735: PUSH
59736: LD_VAR 0 1
59740: PPUSH
59741: LD_INT 1
59743: PPUSH
59744: CALL_OW 259
59748: PUSH
59749: LD_VAR 0 1
59753: PPUSH
59754: LD_INT 2
59756: PPUSH
59757: CALL_OW 259
59761: PUSH
59762: LD_VAR 0 1
59766: PPUSH
59767: LD_INT 3
59769: PPUSH
59770: CALL_OW 259
59774: PUSH
59775: LD_VAR 0 1
59779: PPUSH
59780: LD_INT 4
59782: PPUSH
59783: CALL_OW 259
59787: PUSH
59788: EMPTY
59789: LIST
59790: LIST
59791: LIST
59792: LIST
59793: ST_TO_ADDR
// val = 1 ;
59794: LD_ADDR_VAR 0 5
59798: PUSH
59799: LD_INT 1
59801: ST_TO_ADDR
// val_top = list [ 1 ] ;
59802: LD_ADDR_VAR 0 6
59806: PUSH
59807: LD_VAR 0 4
59811: PUSH
59812: LD_INT 1
59814: ARRAY
59815: ST_TO_ADDR
// for i = 1 to list do
59816: LD_ADDR_VAR 0 3
59820: PUSH
59821: DOUBLE
59822: LD_INT 1
59824: DEC
59825: ST_TO_ADDR
59826: LD_VAR 0 4
59830: PUSH
59831: FOR_TO
59832: IFFALSE 59880
// if list [ i ] > val_top then
59834: LD_VAR 0 4
59838: PUSH
59839: LD_VAR 0 3
59843: ARRAY
59844: PUSH
59845: LD_VAR 0 6
59849: GREATER
59850: IFFALSE 59878
// begin val_top = list [ i ] ;
59852: LD_ADDR_VAR 0 6
59856: PUSH
59857: LD_VAR 0 4
59861: PUSH
59862: LD_VAR 0 3
59866: ARRAY
59867: ST_TO_ADDR
// val = i ;
59868: LD_ADDR_VAR 0 5
59872: PUSH
59873: LD_VAR 0 3
59877: ST_TO_ADDR
// end ;
59878: GO 59831
59880: POP
59881: POP
// result = val ;
59882: LD_ADDR_VAR 0 2
59886: PUSH
59887: LD_VAR 0 5
59891: ST_TO_ADDR
// end ;
59892: LD_VAR 0 2
59896: RET
// export function Tag ( list , group_number , value ) ; var i , j , temp_list , temp_val ; begin
59897: LD_INT 0
59899: PPUSH
59900: PPUSH
59901: PPUSH
59902: PPUSH
59903: PPUSH
// temp_list = [ ] ;
59904: LD_ADDR_VAR 0 7
59908: PUSH
59909: EMPTY
59910: ST_TO_ADDR
// for i = 1 to list do
59911: LD_ADDR_VAR 0 5
59915: PUSH
59916: DOUBLE
59917: LD_INT 1
59919: DEC
59920: ST_TO_ADDR
59921: LD_VAR 0 1
59925: PUSH
59926: FOR_TO
59927: IFFALSE 59989
// begin if i = group_number then
59929: LD_VAR 0 5
59933: PUSH
59934: LD_VAR 0 2
59938: EQUAL
59939: IFFALSE 59962
// temp_list = temp_list ^ [ value ] else
59941: LD_ADDR_VAR 0 7
59945: PUSH
59946: LD_VAR 0 7
59950: PUSH
59951: LD_VAR 0 3
59955: PUSH
59956: EMPTY
59957: LIST
59958: ADD
59959: ST_TO_ADDR
59960: GO 59987
// temp_list = temp_list ^ [ list [ i ] ] ;
59962: LD_ADDR_VAR 0 7
59966: PUSH
59967: LD_VAR 0 7
59971: PUSH
59972: LD_VAR 0 1
59976: PUSH
59977: LD_VAR 0 5
59981: ARRAY
59982: PUSH
59983: EMPTY
59984: LIST
59985: ADD
59986: ST_TO_ADDR
// end ;
59987: GO 59926
59989: POP
59990: POP
// result = temp_list ;
59991: LD_ADDR_VAR 0 4
59995: PUSH
59996: LD_VAR 0 7
60000: ST_TO_ADDR
// end ;
60001: LD_VAR 0 4
60005: RET
// export function Biggest_distance ( group ) ; var i , j , dist ; begin
60006: LD_INT 0
60008: PPUSH
60009: PPUSH
60010: PPUSH
60011: PPUSH
// dist = 0 ;
60012: LD_ADDR_VAR 0 5
60016: PUSH
60017: LD_INT 0
60019: ST_TO_ADDR
// for i in group do
60020: LD_ADDR_VAR 0 3
60024: PUSH
60025: LD_VAR 0 1
60029: PUSH
60030: FOR_IN
60031: IFFALSE 60094
// begin for j in group do
60033: LD_ADDR_VAR 0 4
60037: PUSH
60038: LD_VAR 0 1
60042: PUSH
60043: FOR_IN
60044: IFFALSE 60090
// begin if getdistunits ( i , j ) > dist then
60046: LD_VAR 0 3
60050: PPUSH
60051: LD_VAR 0 4
60055: PPUSH
60056: CALL_OW 296
60060: PUSH
60061: LD_VAR 0 5
60065: GREATER
60066: IFFALSE 60088
// dist = getdistunits ( i , j ) ;
60068: LD_ADDR_VAR 0 5
60072: PUSH
60073: LD_VAR 0 3
60077: PPUSH
60078: LD_VAR 0 4
60082: PPUSH
60083: CALL_OW 296
60087: ST_TO_ADDR
// end ;
60088: GO 60043
60090: POP
60091: POP
// end ;
60092: GO 60030
60094: POP
60095: POP
// result = dist ;
60096: LD_ADDR_VAR 0 2
60100: PUSH
60101: LD_VAR 0 5
60105: ST_TO_ADDR
// end ;
60106: LD_VAR 0 2
60110: RET
// export function SmallestDistance ( group1 , group2 ) ; var i , j , distance ; begin
60111: LD_INT 0
60113: PPUSH
60114: PPUSH
60115: PPUSH
60116: PPUSH
// if group1 = [ ] or group2 = [ ] then
60117: LD_VAR 0 1
60121: PUSH
60122: EMPTY
60123: EQUAL
60124: PUSH
60125: LD_VAR 0 2
60129: PUSH
60130: EMPTY
60131: EQUAL
60132: OR
60133: IFFALSE 60145
// result = 999999 else
60135: LD_ADDR_VAR 0 3
60139: PUSH
60140: LD_INT 999999
60142: ST_TO_ADDR
60143: GO 60259
// begin distance = GetDistUnits ( group1 [ 1 ] , group2 [ 1 ] ) ;
60145: LD_ADDR_VAR 0 6
60149: PUSH
60150: LD_VAR 0 1
60154: PUSH
60155: LD_INT 1
60157: ARRAY
60158: PPUSH
60159: LD_VAR 0 2
60163: PUSH
60164: LD_INT 1
60166: ARRAY
60167: PPUSH
60168: CALL_OW 296
60172: ST_TO_ADDR
// for i in group1 do
60173: LD_ADDR_VAR 0 4
60177: PUSH
60178: LD_VAR 0 1
60182: PUSH
60183: FOR_IN
60184: IFFALSE 60247
// begin for j in group2 do
60186: LD_ADDR_VAR 0 5
60190: PUSH
60191: LD_VAR 0 2
60195: PUSH
60196: FOR_IN
60197: IFFALSE 60243
// if GetDistUnits ( i , j ) < distance then
60199: LD_VAR 0 4
60203: PPUSH
60204: LD_VAR 0 5
60208: PPUSH
60209: CALL_OW 296
60213: PUSH
60214: LD_VAR 0 6
60218: LESS
60219: IFFALSE 60241
// distance = GetDistUnits ( i , j ) ;
60221: LD_ADDR_VAR 0 6
60225: PUSH
60226: LD_VAR 0 4
60230: PPUSH
60231: LD_VAR 0 5
60235: PPUSH
60236: CALL_OW 296
60240: ST_TO_ADDR
60241: GO 60196
60243: POP
60244: POP
// end ;
60245: GO 60183
60247: POP
60248: POP
// result = distance ;
60249: LD_ADDR_VAR 0 3
60253: PUSH
60254: LD_VAR 0 6
60258: ST_TO_ADDR
// end ; end ;
60259: LD_VAR 0 3
60263: RET
// export function UnitsInRange ( Group_ref , Group_target , Range ) ; var i , j , list ; begin
60264: LD_INT 0
60266: PPUSH
60267: PPUSH
60268: PPUSH
60269: PPUSH
// list = [ ] ;
60270: LD_ADDR_VAR 0 7
60274: PUSH
60275: EMPTY
60276: ST_TO_ADDR
// for i in group_target do
60277: LD_ADDR_VAR 0 5
60281: PUSH
60282: LD_VAR 0 2
60286: PUSH
60287: FOR_IN
60288: IFFALSE 60349
// for j in group_ref do
60290: LD_ADDR_VAR 0 6
60294: PUSH
60295: LD_VAR 0 1
60299: PUSH
60300: FOR_IN
60301: IFFALSE 60345
// if getdistunits ( i , j ) < range then
60303: LD_VAR 0 5
60307: PPUSH
60308: LD_VAR 0 6
60312: PPUSH
60313: CALL_OW 296
60317: PUSH
60318: LD_VAR 0 3
60322: LESS
60323: IFFALSE 60343
// begin list = list ^ i ;
60325: LD_ADDR_VAR 0 7
60329: PUSH
60330: LD_VAR 0 7
60334: PUSH
60335: LD_VAR 0 5
60339: ADD
60340: ST_TO_ADDR
// break ;
60341: GO 60345
// end ;
60343: GO 60300
60345: POP
60346: POP
60347: GO 60287
60349: POP
60350: POP
// result = list ;
60351: LD_ADDR_VAR 0 4
60355: PUSH
60356: LD_VAR 0 7
60360: ST_TO_ADDR
// end ;
60361: LD_VAR 0 4
60365: RET
// export function NearestDistFromGroupToUnit ( group , _unit ) ; var i , distance ; begin
60366: LD_INT 0
60368: PPUSH
60369: PPUSH
60370: PPUSH
// distance = GetDistUnits ( _unit , group [ 1 ] ) ;
60371: LD_ADDR_VAR 0 5
60375: PUSH
60376: LD_VAR 0 2
60380: PPUSH
60381: LD_VAR 0 1
60385: PUSH
60386: LD_INT 1
60388: ARRAY
60389: PPUSH
60390: CALL_OW 296
60394: ST_TO_ADDR
// for i in group do
60395: LD_ADDR_VAR 0 4
60399: PUSH
60400: LD_VAR 0 1
60404: PUSH
60405: FOR_IN
60406: IFFALSE 60452
// if GetDistUnits ( _unit , i ) < distance then
60408: LD_VAR 0 2
60412: PPUSH
60413: LD_VAR 0 4
60417: PPUSH
60418: CALL_OW 296
60422: PUSH
60423: LD_VAR 0 5
60427: LESS
60428: IFFALSE 60450
// distance = GetDistUnits ( _unit , i ) ;
60430: LD_ADDR_VAR 0 5
60434: PUSH
60435: LD_VAR 0 2
60439: PPUSH
60440: LD_VAR 0 4
60444: PPUSH
60445: CALL_OW 296
60449: ST_TO_ADDR
60450: GO 60405
60452: POP
60453: POP
// result = distance ;
60454: LD_ADDR_VAR 0 3
60458: PUSH
60459: LD_VAR 0 5
60463: ST_TO_ADDR
// end ;
60464: LD_VAR 0 3
60468: RET
// export function ClosestUnit ( group1 , group2 ) ; var i , j , temp , distance ; begin
60469: LD_INT 0
60471: PPUSH
60472: PPUSH
60473: PPUSH
60474: PPUSH
60475: PPUSH
// distance = GetDistUnits ( group1 [ 1 ] , group2 [ 1 ] ) ;
60476: LD_ADDR_VAR 0 7
60480: PUSH
60481: LD_VAR 0 1
60485: PUSH
60486: LD_INT 1
60488: ARRAY
60489: PPUSH
60490: LD_VAR 0 2
60494: PUSH
60495: LD_INT 1
60497: ARRAY
60498: PPUSH
60499: CALL_OW 296
60503: ST_TO_ADDR
// temp = group2 [ 1 ] ;
60504: LD_ADDR_VAR 0 6
60508: PUSH
60509: LD_VAR 0 2
60513: PUSH
60514: LD_INT 1
60516: ARRAY
60517: ST_TO_ADDR
// for i in group1 do
60518: LD_ADDR_VAR 0 4
60522: PUSH
60523: LD_VAR 0 1
60527: PUSH
60528: FOR_IN
60529: IFFALSE 60602
// begin for j in group2 do
60531: LD_ADDR_VAR 0 5
60535: PUSH
60536: LD_VAR 0 2
60540: PUSH
60541: FOR_IN
60542: IFFALSE 60598
// if GetDistUnits ( i , j ) < distance then
60544: LD_VAR 0 4
60548: PPUSH
60549: LD_VAR 0 5
60553: PPUSH
60554: CALL_OW 296
60558: PUSH
60559: LD_VAR 0 7
60563: LESS
60564: IFFALSE 60596
// begin distance = GetDistUnits ( i , j ) ;
60566: LD_ADDR_VAR 0 7
60570: PUSH
60571: LD_VAR 0 4
60575: PPUSH
60576: LD_VAR 0 5
60580: PPUSH
60581: CALL_OW 296
60585: ST_TO_ADDR
// temp = j ;
60586: LD_ADDR_VAR 0 6
60590: PUSH
60591: LD_VAR 0 5
60595: ST_TO_ADDR
// end ;
60596: GO 60541
60598: POP
60599: POP
// end ;
60600: GO 60528
60602: POP
60603: POP
// result = temp ;
60604: LD_ADDR_VAR 0 3
60608: PUSH
60609: LD_VAR 0 6
60613: ST_TO_ADDR
// end ;
60614: LD_VAR 0 3
60618: RET
// export function FarthestHex ( list_hex , un ) ; var i , hex , dist ; begin
60619: LD_INT 0
60621: PPUSH
60622: PPUSH
60623: PPUSH
60624: PPUSH
// if un = 0 or list_hex = 0 then
60625: LD_VAR 0 2
60629: PUSH
60630: LD_INT 0
60632: EQUAL
60633: PUSH
60634: LD_VAR 0 1
60638: PUSH
60639: LD_INT 0
60641: EQUAL
60642: OR
60643: IFFALSE 60655
// begin result = false ;
60645: LD_ADDR_VAR 0 3
60649: PUSH
60650: LD_INT 0
60652: ST_TO_ADDR
// exit ;
60653: GO 60815
// end ; dist = Getdistunitxy ( un , list_hex [ 1 ] [ 1 ] , list_hex [ 1 ] [ 2 ] ) ;
60655: LD_ADDR_VAR 0 6
60659: PUSH
60660: LD_VAR 0 2
60664: PPUSH
60665: LD_VAR 0 1
60669: PUSH
60670: LD_INT 1
60672: ARRAY
60673: PUSH
60674: LD_INT 1
60676: ARRAY
60677: PPUSH
60678: LD_VAR 0 1
60682: PUSH
60683: LD_INT 1
60685: ARRAY
60686: PUSH
60687: LD_INT 2
60689: ARRAY
60690: PPUSH
60691: CALL_OW 297
60695: ST_TO_ADDR
// hex = list_hex [ 1 ] ;
60696: LD_ADDR_VAR 0 5
60700: PUSH
60701: LD_VAR 0 1
60705: PUSH
60706: LD_INT 1
60708: ARRAY
60709: ST_TO_ADDR
// for i in list_hex do
60710: LD_ADDR_VAR 0 4
60714: PUSH
60715: LD_VAR 0 1
60719: PUSH
60720: FOR_IN
60721: IFFALSE 60803
// if Getdistunitxy ( un , i [ 1 ] , i [ 2 ] ) > dist then
60723: LD_VAR 0 2
60727: PPUSH
60728: LD_VAR 0 4
60732: PUSH
60733: LD_INT 1
60735: ARRAY
60736: PPUSH
60737: LD_VAR 0 4
60741: PUSH
60742: LD_INT 2
60744: ARRAY
60745: PPUSH
60746: CALL_OW 297
60750: PUSH
60751: LD_VAR 0 6
60755: GREATER
60756: IFFALSE 60801
// begin dist = Getdistunitxy ( un , i [ 1 ] , i [ 2 ] ) ;
60758: LD_ADDR_VAR 0 6
60762: PUSH
60763: LD_VAR 0 2
60767: PPUSH
60768: LD_VAR 0 4
60772: PUSH
60773: LD_INT 1
60775: ARRAY
60776: PPUSH
60777: LD_VAR 0 4
60781: PUSH
60782: LD_INT 2
60784: ARRAY
60785: PPUSH
60786: CALL_OW 297
60790: ST_TO_ADDR
// hex = i ;
60791: LD_ADDR_VAR 0 5
60795: PUSH
60796: LD_VAR 0 4
60800: ST_TO_ADDR
// end ;
60801: GO 60720
60803: POP
60804: POP
// result = hex ;
60805: LD_ADDR_VAR 0 3
60809: PUSH
60810: LD_VAR 0 5
60814: ST_TO_ADDR
// end ;
60815: LD_VAR 0 3
60819: RET
// export function AverageGroupPos ( list ) ; var i , tempX , tempY ; begin
60820: LD_INT 0
60822: PPUSH
60823: PPUSH
60824: PPUSH
60825: PPUSH
// tempX = 0 ;
60826: LD_ADDR_VAR 0 4
60830: PUSH
60831: LD_INT 0
60833: ST_TO_ADDR
// tempY = 0 ;
60834: LD_ADDR_VAR 0 5
60838: PUSH
60839: LD_INT 0
60841: ST_TO_ADDR
// for i = 1 to list do
60842: LD_ADDR_VAR 0 3
60846: PUSH
60847: DOUBLE
60848: LD_INT 1
60850: DEC
60851: ST_TO_ADDR
60852: LD_VAR 0 1
60856: PUSH
60857: FOR_TO
60858: IFFALSE 60916
// begin tempX = tempX + getX ( list [ i ] ) ;
60860: LD_ADDR_VAR 0 4
60864: PUSH
60865: LD_VAR 0 4
60869: PUSH
60870: LD_VAR 0 1
60874: PUSH
60875: LD_VAR 0 3
60879: ARRAY
60880: PPUSH
60881: CALL_OW 250
60885: PLUS
60886: ST_TO_ADDR
// tempY = tempY + getY ( list [ i ] ) ;
60887: LD_ADDR_VAR 0 5
60891: PUSH
60892: LD_VAR 0 5
60896: PUSH
60897: LD_VAR 0 1
60901: PUSH
60902: LD_VAR 0 3
60906: ARRAY
60907: PPUSH
60908: CALL_OW 251
60912: PLUS
60913: ST_TO_ADDR
// end ;
60914: GO 60857
60916: POP
60917: POP
// tempX = tempX / list ;
60918: LD_ADDR_VAR 0 4
60922: PUSH
60923: LD_VAR 0 4
60927: PUSH
60928: LD_VAR 0 1
60932: DIVREAL
60933: ST_TO_ADDR
// tempY = tempY / list ;
60934: LD_ADDR_VAR 0 5
60938: PUSH
60939: LD_VAR 0 5
60943: PUSH
60944: LD_VAR 0 1
60948: DIVREAL
60949: ST_TO_ADDR
// result = [ tempX , tempY ] ;
60950: LD_ADDR_VAR 0 2
60954: PUSH
60955: LD_VAR 0 4
60959: PUSH
60960: LD_VAR 0 5
60964: PUSH
60965: EMPTY
60966: LIST
60967: LIST
60968: ST_TO_ADDR
// end ;
60969: LD_VAR 0 2
60973: RET
// export function Seek_n_destroy ( scout_group_number , targethex ) ; var i , j , path , area , time , paths , areas , temp ; begin
60974: LD_INT 0
60976: PPUSH
60977: PPUSH
60978: PPUSH
60979: PPUSH
60980: PPUSH
60981: PPUSH
60982: PPUSH
60983: PPUSH
60984: PPUSH
// randomize ;
60985: CALL_OW 10
// if targethex > 0 then
60989: LD_VAR 0 2
60993: PUSH
60994: LD_INT 0
60996: GREATER
60997: IFFALSE 61340
// begin temp = [ Seekarea1 , Seekarea2 , Seekarea3 , Seekarea4 , Seekarea5 , Seekarea6 , Seekarea7 , Seekarea8 , Seekarea9 , Seekarea10 ] ;
60999: LD_ADDR_VAR 0 11
61003: PUSH
61004: LD_INT 6
61006: PUSH
61007: LD_INT 7
61009: PUSH
61010: LD_INT 8
61012: PUSH
61013: LD_INT 9
61015: PUSH
61016: LD_INT 10
61018: PUSH
61019: LD_INT 11
61021: PUSH
61022: LD_INT 12
61024: PUSH
61025: LD_INT 13
61027: PUSH
61028: LD_INT 14
61030: PUSH
61031: LD_INT 24
61033: PUSH
61034: EMPTY
61035: LIST
61036: LIST
61037: LIST
61038: LIST
61039: LIST
61040: LIST
61041: LIST
61042: LIST
61043: LIST
61044: LIST
61045: ST_TO_ADDR
// paths = [ seek_hex_set1 , seek_hex_set2 , seek_hex_set3 , seek_hex_set4 , seek_hex_set5 , seek_hex_set6 , seek_hex_set7 , seek_hex_set8 , seek_hex_set9 , seek_hex_set10 ] ;
61046: LD_ADDR_VAR 0 9
61050: PUSH
61051: LD_EXP 37
61055: PUSH
61056: LD_EXP 38
61060: PUSH
61061: LD_EXP 39
61065: PUSH
61066: LD_EXP 40
61070: PUSH
61071: LD_EXP 41
61075: PUSH
61076: LD_EXP 42
61080: PUSH
61081: LD_EXP 43
61085: PUSH
61086: LD_EXP 44
61090: PUSH
61091: LD_EXP 45
61095: PUSH
61096: LD_EXP 46
61100: PUSH
61101: EMPTY
61102: LIST
61103: LIST
61104: LIST
61105: LIST
61106: LIST
61107: LIST
61108: LIST
61109: LIST
61110: LIST
61111: LIST
61112: ST_TO_ADDR
// areas = [ enter4 , enter3 , enter1 , enter1 , enter2 , enter2 , enter2 , enter2 , enter1 , enter4 ] ;
61113: LD_ADDR_VAR 0 10
61117: PUSH
61118: LD_INT 5
61120: PUSH
61121: LD_INT 4
61123: PUSH
61124: LD_INT 2
61126: PUSH
61127: LD_INT 2
61129: PUSH
61130: LD_INT 3
61132: PUSH
61133: LD_INT 3
61135: PUSH
61136: LD_INT 3
61138: PUSH
61139: LD_INT 3
61141: PUSH
61142: LD_INT 2
61144: PUSH
61145: LD_INT 5
61147: PUSH
61148: EMPTY
61149: LIST
61150: LIST
61151: LIST
61152: LIST
61153: LIST
61154: LIST
61155: LIST
61156: LIST
61157: LIST
61158: LIST
61159: ST_TO_ADDR
// for j = 1 to temp do
61160: LD_ADDR_VAR 0 5
61164: PUSH
61165: DOUBLE
61166: LD_INT 1
61168: DEC
61169: ST_TO_ADDR
61170: LD_VAR 0 11
61174: PUSH
61175: FOR_TO
61176: IFFALSE 61247
// if InArea ( targethex [ 1 ] , targethex [ 2 ] , temp [ j ] ) then
61178: LD_VAR 0 2
61182: PUSH
61183: LD_INT 1
61185: ARRAY
61186: PPUSH
61187: LD_VAR 0 2
61191: PUSH
61192: LD_INT 2
61194: ARRAY
61195: PPUSH
61196: LD_VAR 0 11
61200: PUSH
61201: LD_VAR 0 5
61205: ARRAY
61206: PPUSH
61207: CALL_OW 309
61211: IFFALSE 61245
// begin path = paths [ j ] ;
61213: LD_ADDR_VAR 0 6
61217: PUSH
61218: LD_VAR 0 9
61222: PUSH
61223: LD_VAR 0 5
61227: ARRAY
61228: ST_TO_ADDR
// area = areas [ j ] ;
61229: LD_ADDR_VAR 0 7
61233: PUSH
61234: LD_VAR 0 10
61238: PUSH
61239: LD_VAR 0 5
61243: ARRAY
61244: ST_TO_ADDR
// end ;
61245: GO 61175
61247: POP
61248: POP
// time = tick ;
61249: LD_ADDR_VAR 0 8
61253: PUSH
61254: LD_OWVAR 1
61258: ST_TO_ADDR
// time = time + rand ( 0 0$30 , 1 1$0 ) ;
61259: LD_ADDR_VAR 0 8
61263: PUSH
61264: LD_VAR 0 8
61268: PUSH
61269: LD_INT 1050
61271: PPUSH
61272: LD_INT 2100
61274: PPUSH
61275: CALL_OW 12
61279: PLUS
61280: ST_TO_ADDR
// incomming_seek_group = incomming_seek_group ^ [ [ area , path , time ] ] ;
61281: LD_ADDR_EXP 30
61285: PUSH
61286: LD_EXP 30
61290: PUSH
61291: LD_VAR 0 7
61295: PUSH
61296: LD_VAR 0 6
61300: PUSH
61301: LD_VAR 0 8
61305: PUSH
61306: EMPTY
61307: LIST
61308: LIST
61309: LIST
61310: PUSH
61311: EMPTY
61312: LIST
61313: ADD
61314: ST_TO_ADDR
// Target_List = tag ( Target_List , scout_group_number , 0 ) ;
61315: LD_ADDR_EXP 14
61319: PUSH
61320: LD_EXP 14
61324: PPUSH
61325: LD_VAR 0 1
61329: PPUSH
61330: LD_INT 0
61332: PPUSH
61333: CALL 59897 0 3
61337: ST_TO_ADDR
// end else
61338: GO 61342
// exit ;
61340: GO 61342
// end ;
61342: LD_VAR 0 3
61346: RET
// export function SortByValueAsc ( list ) ; var i , j , n , temp_list , temp_list2 , temp_val , temp_val2 ; begin
61347: LD_INT 0
61349: PPUSH
61350: PPUSH
61351: PPUSH
61352: PPUSH
61353: PPUSH
61354: PPUSH
61355: PPUSH
61356: PPUSH
// n = 0 ;
61357: LD_ADDR_VAR 0 5
61361: PUSH
61362: LD_INT 0
61364: ST_TO_ADDR
// for i in list do
61365: LD_ADDR_VAR 0 3
61369: PUSH
61370: LD_VAR 0 1
61374: PUSH
61375: FOR_IN
61376: IFFALSE 61394
// n = n + 1 ;
61378: LD_ADDR_VAR 0 5
61382: PUSH
61383: LD_VAR 0 5
61387: PUSH
61388: LD_INT 1
61390: PLUS
61391: ST_TO_ADDR
61392: GO 61375
61394: POP
61395: POP
// temp_list = [ ] ;
61396: LD_ADDR_VAR 0 6
61400: PUSH
61401: EMPTY
61402: ST_TO_ADDR
// temp_val = list [ 1 ] ;
61403: LD_ADDR_VAR 0 8
61407: PUSH
61408: LD_VAR 0 1
61412: PUSH
61413: LD_INT 1
61415: ARRAY
61416: ST_TO_ADDR
// temp_val2 = 0 ;
61417: LD_ADDR_VAR 0 9
61421: PUSH
61422: LD_INT 0
61424: ST_TO_ADDR
// repeat for i in list do
61425: LD_ADDR_VAR 0 3
61429: PUSH
61430: LD_VAR 0 1
61434: PUSH
61435: FOR_IN
61436: IFFALSE 61474
// if i < temp_val and i > temp_val2 then
61438: LD_VAR 0 3
61442: PUSH
61443: LD_VAR 0 8
61447: LESS
61448: PUSH
61449: LD_VAR 0 3
61453: PUSH
61454: LD_VAR 0 9
61458: GREATER
61459: AND
61460: IFFALSE 61472
// temp_val = i ;
61462: LD_ADDR_VAR 0 8
61466: PUSH
61467: LD_VAR 0 3
61471: ST_TO_ADDR
61472: GO 61435
61474: POP
61475: POP
// temp_list = temp_list ^ temp_val ;
61476: LD_ADDR_VAR 0 6
61480: PUSH
61481: LD_VAR 0 6
61485: PUSH
61486: LD_VAR 0 8
61490: ADD
61491: ST_TO_ADDR
// temp_val2 = temp_val ;
61492: LD_ADDR_VAR 0 9
61496: PUSH
61497: LD_VAR 0 8
61501: ST_TO_ADDR
// for i in list do
61502: LD_ADDR_VAR 0 3
61506: PUSH
61507: LD_VAR 0 1
61511: PUSH
61512: FOR_IN
61513: IFFALSE 61539
// if i > temp_val2 then
61515: LD_VAR 0 3
61519: PUSH
61520: LD_VAR 0 9
61524: GREATER
61525: IFFALSE 61537
// temp_val = i ;
61527: LD_ADDR_VAR 0 8
61531: PUSH
61532: LD_VAR 0 3
61536: ST_TO_ADDR
61537: GO 61512
61539: POP
61540: POP
// until temp_list = n ;
61541: LD_VAR 0 6
61545: PUSH
61546: LD_VAR 0 5
61550: EQUAL
61551: IFFALSE 61425
// result = temp_list ;
61553: LD_ADDR_VAR 0 2
61557: PUSH
61558: LD_VAR 0 6
61562: ST_TO_ADDR
// end ;
61563: LD_VAR 0 2
61567: RET
// export function RandValidHexXYR ( X , Y , r ) ; var i , temp_hex , target_hex , n , list ; begin
61568: LD_INT 0
61570: PPUSH
61571: PPUSH
61572: PPUSH
61573: PPUSH
61574: PPUSH
61575: PPUSH
// target_hex = [ X , Y ] ;
61576: LD_ADDR_VAR 0 7
61580: PUSH
61581: LD_VAR 0 1
61585: PUSH
61586: LD_VAR 0 2
61590: PUSH
61591: EMPTY
61592: LIST
61593: LIST
61594: ST_TO_ADDR
// list = [ ] ;
61595: LD_ADDR_VAR 0 9
61599: PUSH
61600: EMPTY
61601: ST_TO_ADDR
// n = 0 ;
61602: LD_ADDR_VAR 0 8
61606: PUSH
61607: LD_INT 0
61609: ST_TO_ADDR
// while r > n do
61610: LD_VAR 0 3
61614: PUSH
61615: LD_VAR 0 8
61619: GREATER
61620: IFFALSE 62429
// begin n = n + 1 ;
61622: LD_ADDR_VAR 0 8
61626: PUSH
61627: LD_VAR 0 8
61631: PUSH
61632: LD_INT 1
61634: PLUS
61635: ST_TO_ADDR
// temp_hex = [ target_hex [ 1 ] - n , target_hex [ 2 ] - n ] ;
61636: LD_ADDR_VAR 0 6
61640: PUSH
61641: LD_VAR 0 7
61645: PUSH
61646: LD_INT 1
61648: ARRAY
61649: PUSH
61650: LD_VAR 0 8
61654: MINUS
61655: PUSH
61656: LD_VAR 0 7
61660: PUSH
61661: LD_INT 2
61663: ARRAY
61664: PUSH
61665: LD_VAR 0 8
61669: MINUS
61670: PUSH
61671: EMPTY
61672: LIST
61673: LIST
61674: ST_TO_ADDR
// for i = 1 to n do
61675: LD_ADDR_VAR 0 5
61679: PUSH
61680: DOUBLE
61681: LD_INT 1
61683: DEC
61684: ST_TO_ADDR
61685: LD_VAR 0 8
61689: PUSH
61690: FOR_TO
61691: IFFALSE 61797
// begin temp_hex = [ temp_hex [ 1 ] + 1 , temp_hex [ 2 ] ] ;
61693: LD_ADDR_VAR 0 6
61697: PUSH
61698: LD_VAR 0 6
61702: PUSH
61703: LD_INT 1
61705: ARRAY
61706: PUSH
61707: LD_INT 1
61709: PLUS
61710: PUSH
61711: LD_VAR 0 6
61715: PUSH
61716: LD_INT 2
61718: ARRAY
61719: PUSH
61720: EMPTY
61721: LIST
61722: LIST
61723: ST_TO_ADDR
// if ValidHex ( temp_hex [ 1 ] , temp_hex [ 2 ] ) and HexInfo ( temp_hex [ 1 ] , temp_hex [ 2 ] ) = 0 then
61724: LD_VAR 0 6
61728: PUSH
61729: LD_INT 1
61731: ARRAY
61732: PPUSH
61733: LD_VAR 0 6
61737: PUSH
61738: LD_INT 2
61740: ARRAY
61741: PPUSH
61742: CALL_OW 488
61746: PUSH
61747: LD_VAR 0 6
61751: PUSH
61752: LD_INT 1
61754: ARRAY
61755: PPUSH
61756: LD_VAR 0 6
61760: PUSH
61761: LD_INT 2
61763: ARRAY
61764: PPUSH
61765: CALL_OW 428
61769: PUSH
61770: LD_INT 0
61772: EQUAL
61773: AND
61774: IFFALSE 61795
// list = list ^ [ temp_hex ] ;
61776: LD_ADDR_VAR 0 9
61780: PUSH
61781: LD_VAR 0 9
61785: PUSH
61786: LD_VAR 0 6
61790: PUSH
61791: EMPTY
61792: LIST
61793: ADD
61794: ST_TO_ADDR
// end ;
61795: GO 61690
61797: POP
61798: POP
// for i = 1 to n do
61799: LD_ADDR_VAR 0 5
61803: PUSH
61804: DOUBLE
61805: LD_INT 1
61807: DEC
61808: ST_TO_ADDR
61809: LD_VAR 0 8
61813: PUSH
61814: FOR_TO
61815: IFFALSE 61925
// begin temp_hex = [ temp_hex [ 1 ] + 1 , temp_hex [ 2 ] + 1 ] ;
61817: LD_ADDR_VAR 0 6
61821: PUSH
61822: LD_VAR 0 6
61826: PUSH
61827: LD_INT 1
61829: ARRAY
61830: PUSH
61831: LD_INT 1
61833: PLUS
61834: PUSH
61835: LD_VAR 0 6
61839: PUSH
61840: LD_INT 2
61842: ARRAY
61843: PUSH
61844: LD_INT 1
61846: PLUS
61847: PUSH
61848: EMPTY
61849: LIST
61850: LIST
61851: ST_TO_ADDR
// if ValidHex ( temp_hex [ 1 ] , temp_hex [ 2 ] ) and HexInfo ( temp_hex [ 1 ] , temp_hex [ 2 ] ) = 0 then
61852: LD_VAR 0 6
61856: PUSH
61857: LD_INT 1
61859: ARRAY
61860: PPUSH
61861: LD_VAR 0 6
61865: PUSH
61866: LD_INT 2
61868: ARRAY
61869: PPUSH
61870: CALL_OW 488
61874: PUSH
61875: LD_VAR 0 6
61879: PUSH
61880: LD_INT 1
61882: ARRAY
61883: PPUSH
61884: LD_VAR 0 6
61888: PUSH
61889: LD_INT 2
61891: ARRAY
61892: PPUSH
61893: CALL_OW 428
61897: PUSH
61898: LD_INT 0
61900: EQUAL
61901: AND
61902: IFFALSE 61923
// list = list ^ [ temp_hex ] ;
61904: LD_ADDR_VAR 0 9
61908: PUSH
61909: LD_VAR 0 9
61913: PUSH
61914: LD_VAR 0 6
61918: PUSH
61919: EMPTY
61920: LIST
61921: ADD
61922: ST_TO_ADDR
// end ;
61923: GO 61814
61925: POP
61926: POP
// for i = 1 to n do
61927: LD_ADDR_VAR 0 5
61931: PUSH
61932: DOUBLE
61933: LD_INT 1
61935: DEC
61936: ST_TO_ADDR
61937: LD_VAR 0 8
61941: PUSH
61942: FOR_TO
61943: IFFALSE 62049
// begin temp_hex = [ temp_hex [ 1 ] , temp_hex [ 2 ] + 1 ] ;
61945: LD_ADDR_VAR 0 6
61949: PUSH
61950: LD_VAR 0 6
61954: PUSH
61955: LD_INT 1
61957: ARRAY
61958: PUSH
61959: LD_VAR 0 6
61963: PUSH
61964: LD_INT 2
61966: ARRAY
61967: PUSH
61968: LD_INT 1
61970: PLUS
61971: PUSH
61972: EMPTY
61973: LIST
61974: LIST
61975: ST_TO_ADDR
// if ValidHex ( temp_hex [ 1 ] , temp_hex [ 2 ] ) and HexInfo ( temp_hex [ 1 ] , temp_hex [ 2 ] ) = 0 then
61976: LD_VAR 0 6
61980: PUSH
61981: LD_INT 1
61983: ARRAY
61984: PPUSH
61985: LD_VAR 0 6
61989: PUSH
61990: LD_INT 2
61992: ARRAY
61993: PPUSH
61994: CALL_OW 488
61998: PUSH
61999: LD_VAR 0 6
62003: PUSH
62004: LD_INT 1
62006: ARRAY
62007: PPUSH
62008: LD_VAR 0 6
62012: PUSH
62013: LD_INT 2
62015: ARRAY
62016: PPUSH
62017: CALL_OW 428
62021: PUSH
62022: LD_INT 0
62024: EQUAL
62025: AND
62026: IFFALSE 62047
// list = list ^ [ temp_hex ] ;
62028: LD_ADDR_VAR 0 9
62032: PUSH
62033: LD_VAR 0 9
62037: PUSH
62038: LD_VAR 0 6
62042: PUSH
62043: EMPTY
62044: LIST
62045: ADD
62046: ST_TO_ADDR
// end ;
62047: GO 61942
62049: POP
62050: POP
// for i = 1 to n do
62051: LD_ADDR_VAR 0 5
62055: PUSH
62056: DOUBLE
62057: LD_INT 1
62059: DEC
62060: ST_TO_ADDR
62061: LD_VAR 0 8
62065: PUSH
62066: FOR_TO
62067: IFFALSE 62173
// begin temp_hex = [ temp_hex [ 1 ] - 1 , temp_hex [ 2 ] ] ;
62069: LD_ADDR_VAR 0 6
62073: PUSH
62074: LD_VAR 0 6
62078: PUSH
62079: LD_INT 1
62081: ARRAY
62082: PUSH
62083: LD_INT 1
62085: MINUS
62086: PUSH
62087: LD_VAR 0 6
62091: PUSH
62092: LD_INT 2
62094: ARRAY
62095: PUSH
62096: EMPTY
62097: LIST
62098: LIST
62099: ST_TO_ADDR
// if ValidHex ( temp_hex [ 1 ] , temp_hex [ 2 ] ) and HexInfo ( temp_hex [ 1 ] , temp_hex [ 2 ] ) = 0 then
62100: LD_VAR 0 6
62104: PUSH
62105: LD_INT 1
62107: ARRAY
62108: PPUSH
62109: LD_VAR 0 6
62113: PUSH
62114: LD_INT 2
62116: ARRAY
62117: PPUSH
62118: CALL_OW 488
62122: PUSH
62123: LD_VAR 0 6
62127: PUSH
62128: LD_INT 1
62130: ARRAY
62131: PPUSH
62132: LD_VAR 0 6
62136: PUSH
62137: LD_INT 2
62139: ARRAY
62140: PPUSH
62141: CALL_OW 428
62145: PUSH
62146: LD_INT 0
62148: EQUAL
62149: AND
62150: IFFALSE 62171
// list = list ^ [ temp_hex ] ;
62152: LD_ADDR_VAR 0 9
62156: PUSH
62157: LD_VAR 0 9
62161: PUSH
62162: LD_VAR 0 6
62166: PUSH
62167: EMPTY
62168: LIST
62169: ADD
62170: ST_TO_ADDR
// end ;
62171: GO 62066
62173: POP
62174: POP
// for i = 1 to n do
62175: LD_ADDR_VAR 0 5
62179: PUSH
62180: DOUBLE
62181: LD_INT 1
62183: DEC
62184: ST_TO_ADDR
62185: LD_VAR 0 8
62189: PUSH
62190: FOR_TO
62191: IFFALSE 62301
// begin temp_hex = [ temp_hex [ 1 ] - 1 , temp_hex [ 2 ] - 1 ] ;
62193: LD_ADDR_VAR 0 6
62197: PUSH
62198: LD_VAR 0 6
62202: PUSH
62203: LD_INT 1
62205: ARRAY
62206: PUSH
62207: LD_INT 1
62209: MINUS
62210: PUSH
62211: LD_VAR 0 6
62215: PUSH
62216: LD_INT 2
62218: ARRAY
62219: PUSH
62220: LD_INT 1
62222: MINUS
62223: PUSH
62224: EMPTY
62225: LIST
62226: LIST
62227: ST_TO_ADDR
// if ValidHex ( temp_hex [ 1 ] , temp_hex [ 2 ] ) and HexInfo ( temp_hex [ 1 ] , temp_hex [ 2 ] ) = 0 then
62228: LD_VAR 0 6
62232: PUSH
62233: LD_INT 1
62235: ARRAY
62236: PPUSH
62237: LD_VAR 0 6
62241: PUSH
62242: LD_INT 2
62244: ARRAY
62245: PPUSH
62246: CALL_OW 488
62250: PUSH
62251: LD_VAR 0 6
62255: PUSH
62256: LD_INT 1
62258: ARRAY
62259: PPUSH
62260: LD_VAR 0 6
62264: PUSH
62265: LD_INT 2
62267: ARRAY
62268: PPUSH
62269: CALL_OW 428
62273: PUSH
62274: LD_INT 0
62276: EQUAL
62277: AND
62278: IFFALSE 62299
// list = list ^ [ temp_hex ] ;
62280: LD_ADDR_VAR 0 9
62284: PUSH
62285: LD_VAR 0 9
62289: PUSH
62290: LD_VAR 0 6
62294: PUSH
62295: EMPTY
62296: LIST
62297: ADD
62298: ST_TO_ADDR
// end ;
62299: GO 62190
62301: POP
62302: POP
// for i = 1 to n do
62303: LD_ADDR_VAR 0 5
62307: PUSH
62308: DOUBLE
62309: LD_INT 1
62311: DEC
62312: ST_TO_ADDR
62313: LD_VAR 0 8
62317: PUSH
62318: FOR_TO
62319: IFFALSE 62425
// begin temp_hex = [ temp_hex [ 1 ] , temp_hex [ 2 ] - 1 ] ;
62321: LD_ADDR_VAR 0 6
62325: PUSH
62326: LD_VAR 0 6
62330: PUSH
62331: LD_INT 1
62333: ARRAY
62334: PUSH
62335: LD_VAR 0 6
62339: PUSH
62340: LD_INT 2
62342: ARRAY
62343: PUSH
62344: LD_INT 1
62346: MINUS
62347: PUSH
62348: EMPTY
62349: LIST
62350: LIST
62351: ST_TO_ADDR
// if ValidHex ( temp_hex [ 1 ] , temp_hex [ 2 ] ) and HexInfo ( temp_hex [ 1 ] , temp_hex [ 2 ] ) = 0 then
62352: LD_VAR 0 6
62356: PUSH
62357: LD_INT 1
62359: ARRAY
62360: PPUSH
62361: LD_VAR 0 6
62365: PUSH
62366: LD_INT 2
62368: ARRAY
62369: PPUSH
62370: CALL_OW 488
62374: PUSH
62375: LD_VAR 0 6
62379: PUSH
62380: LD_INT 1
62382: ARRAY
62383: PPUSH
62384: LD_VAR 0 6
62388: PUSH
62389: LD_INT 2
62391: ARRAY
62392: PPUSH
62393: CALL_OW 428
62397: PUSH
62398: LD_INT 0
62400: EQUAL
62401: AND
62402: IFFALSE 62423
// list = list ^ [ temp_hex ] ;
62404: LD_ADDR_VAR 0 9
62408: PUSH
62409: LD_VAR 0 9
62413: PUSH
62414: LD_VAR 0 6
62418: PUSH
62419: EMPTY
62420: LIST
62421: ADD
62422: ST_TO_ADDR
// end ;
62423: GO 62318
62425: POP
62426: POP
// end ;
62427: GO 61610
// if list > 0 then
62429: LD_VAR 0 9
62433: PUSH
62434: LD_INT 0
62436: GREATER
62437: IFFALSE 62473
// begin n = rand ( 1 , list ) ;
62439: LD_ADDR_VAR 0 8
62443: PUSH
62444: LD_INT 1
62446: PPUSH
62447: LD_VAR 0 9
62451: PPUSH
62452: CALL_OW 12
62456: ST_TO_ADDR
// result = list [ n ] ;
62457: LD_ADDR_VAR 0 4
62461: PUSH
62462: LD_VAR 0 9
62466: PUSH
62467: LD_VAR 0 8
62471: ARRAY
62472: ST_TO_ADDR
// end ; end ; end_of_file
62473: LD_VAR 0 4
62477: RET
// export function MakeAList ( path ) ; var i , list ; begin
62478: LD_INT 0
62480: PPUSH
62481: PPUSH
62482: PPUSH
// list = areatolist ( path , 0 ) ;
62483: LD_ADDR_VAR 0 4
62487: PUSH
62488: LD_VAR 0 1
62492: PPUSH
62493: LD_INT 0
62495: PPUSH
62496: CALL_OW 517
62500: ST_TO_ADDR
// path = [ ] ;
62501: LD_ADDR_VAR 0 1
62505: PUSH
62506: EMPTY
62507: ST_TO_ADDR
// for i = 1 to list [ 1 ] do
62508: LD_ADDR_VAR 0 3
62512: PUSH
62513: DOUBLE
62514: LD_INT 1
62516: DEC
62517: ST_TO_ADDR
62518: LD_VAR 0 4
62522: PUSH
62523: LD_INT 1
62525: ARRAY
62526: PUSH
62527: FOR_TO
62528: IFFALSE 62580
// begin path = [ [ list [ 1 ] [ i ] , list [ 2 ] [ i ] ] ] ^ path ;
62530: LD_ADDR_VAR 0 1
62534: PUSH
62535: LD_VAR 0 4
62539: PUSH
62540: LD_INT 1
62542: ARRAY
62543: PUSH
62544: LD_VAR 0 3
62548: ARRAY
62549: PUSH
62550: LD_VAR 0 4
62554: PUSH
62555: LD_INT 2
62557: ARRAY
62558: PUSH
62559: LD_VAR 0 3
62563: ARRAY
62564: PUSH
62565: EMPTY
62566: LIST
62567: LIST
62568: PUSH
62569: EMPTY
62570: LIST
62571: PUSH
62572: LD_VAR 0 1
62576: ADD
62577: ST_TO_ADDR
// end ;
62578: GO 62527
62580: POP
62581: POP
// result = path ;
62582: LD_ADDR_VAR 0 2
62586: PUSH
62587: LD_VAR 0 1
62591: ST_TO_ADDR
// end ;
62592: LD_VAR 0 2
62596: RET
// every 0 0$1 marked 1 do var i , j , strings ;
62597: GO 62599
62599: DISABLE
62600: LD_INT 0
62602: PPUSH
62603: PPUSH
62604: PPUSH
// begin if testing = true then
62605: LD_EXP 1
62609: PUSH
62610: LD_INT 1
62612: EQUAL
62613: IFFALSE 62988
// begin if exclamation > 0 then
62615: LD_EXP 186
62619: PUSH
62620: LD_INT 0
62622: GREATER
62623: IFFALSE 62789
// begin case exclamation of 1 :
62625: LD_EXP 186
62629: PUSH
62630: LD_INT 1
62632: DOUBLE
62633: EQUAL
62634: IFTRUE 62638
62636: GO 62655
62638: POP
// strings = strings ^ No area for group heavy! ; 2 :
62639: LD_ADDR_VAR 0 3
62643: PUSH
62644: LD_VAR 0 3
62648: PUSH
62649: LD_STRING No area for group heavy!
62651: ADD
62652: ST_TO_ADDR
62653: GO 62781
62655: LD_INT 2
62657: DOUBLE
62658: EQUAL
62659: IFTRUE 62663
62661: GO 62680
62663: POP
// strings = strings ^ No area for group scout! ; 3 :
62664: LD_ADDR_VAR 0 3
62668: PUSH
62669: LD_VAR 0 3
62673: PUSH
62674: LD_STRING No area for group scout!
62676: ADD
62677: ST_TO_ADDR
62678: GO 62781
62680: LD_INT 3
62682: DOUBLE
62683: EQUAL
62684: IFTRUE 62688
62686: GO 62705
62688: POP
// strings = strings ^ No area for group seek normal! ; 4 :
62689: LD_ADDR_VAR 0 3
62693: PUSH
62694: LD_VAR 0 3
62698: PUSH
62699: LD_STRING No area for group seek normal!
62701: ADD
62702: ST_TO_ADDR
62703: GO 62781
62705: LD_INT 4
62707: DOUBLE
62708: EQUAL
62709: IFTRUE 62713
62711: GO 62730
62713: POP
// strings = strings ^ No area for group hunt! ; 5 :
62714: LD_ADDR_VAR 0 3
62718: PUSH
62719: LD_VAR 0 3
62723: PUSH
62724: LD_STRING No area for group hunt!
62726: ADD
62727: ST_TO_ADDR
62728: GO 62781
62730: LD_INT 5
62732: DOUBLE
62733: EQUAL
62734: IFTRUE 62738
62736: GO 62755
62738: POP
// strings = strings ^ No area for group escapees! ; 6 :
62739: LD_ADDR_VAR 0 3
62743: PUSH
62744: LD_VAR 0 3
62748: PUSH
62749: LD_STRING No area for group escapees!
62751: ADD
62752: ST_TO_ADDR
62753: GO 62781
62755: LD_INT 6
62757: DOUBLE
62758: EQUAL
62759: IFTRUE 62763
62761: GO 62780
62763: POP
// strings = strings ^ No area for group seek triggered! ; end ;
62764: LD_ADDR_VAR 0 3
62768: PUSH
62769: LD_VAR 0 3
62773: PUSH
62774: LD_STRING No area for group seek triggered!
62776: ADD
62777: ST_TO_ADDR
62778: GO 62781
62780: POP
// exclamation = 0 ;
62781: LD_ADDR_EXP 186
62785: PUSH
62786: LD_INT 0
62788: ST_TO_ADDR
// end ; i = [ [ Ar groups count: , st_argroupscount ] , [ Total escapees dead: , st_arunitsdead ] , [ Escapees dead , escapees_dead ] , [ cameras left: , cameracount ] ] ;
62789: LD_ADDR_VAR 0 1
62793: PUSH
62794: LD_STRING Ar groups count:
62796: PUSH
62797: LD_EXP 182
62801: PUSH
62802: EMPTY
62803: LIST
62804: LIST
62805: PUSH
62806: LD_STRING Total escapees dead:
62808: PUSH
62809: LD_EXP 183
62813: PUSH
62814: EMPTY
62815: LIST
62816: LIST
62817: PUSH
62818: LD_STRING Escapees dead
62820: PUSH
62821: LD_EXP 125
62825: PUSH
62826: EMPTY
62827: LIST
62828: LIST
62829: PUSH
62830: LD_STRING cameras left:
62832: PUSH
62833: LD_EXP 187
62837: PUSH
62838: EMPTY
62839: LIST
62840: LIST
62841: PUSH
62842: EMPTY
62843: LIST
62844: LIST
62845: LIST
62846: LIST
62847: ST_TO_ADDR
// if st_measurementtime > 0 then
62848: LD_EXP 184
62852: PUSH
62853: LD_INT 0
62855: GREATER
62856: IFFALSE 62884
// i = i ^ [ [ #Ar13-ArtTime , st_measurementtime ] ] ;
62858: LD_ADDR_VAR 0 1
62862: PUSH
62863: LD_VAR 0 1
62867: PUSH
62868: LD_STRING #Ar13-ArtTime
62870: PUSH
62871: LD_EXP 184
62875: PUSH
62876: EMPTY
62877: LIST
62878: LIST
62879: PUSH
62880: EMPTY
62881: LIST
62882: ADD
62883: ST_TO_ADDR
// if strings > 0 then
62884: LD_VAR 0 3
62888: PUSH
62889: LD_INT 0
62891: GREATER
62892: IFFALSE 62910
// i = i ^ strings ;
62894: LD_ADDR_VAR 0 1
62898: PUSH
62899: LD_VAR 0 1
62903: PUSH
62904: LD_VAR 0 3
62908: ADD
62909: ST_TO_ADDR
// i = i ^ [ prisoners , prisoners , prisoners_status , prisoners_status , prisoners_escaping , prisoners_escaping , prisoner_lives , prisoner_lives ] ;
62910: LD_ADDR_VAR 0 1
62914: PUSH
62915: LD_VAR 0 1
62919: PUSH
62920: LD_STRING prisoners
62922: PUSH
62923: LD_EXP 171
62927: PUSH
62928: LD_STRING prisoners_status
62930: PUSH
62931: LD_EXP 173
62935: PUSH
62936: LD_STRING prisoners_escaping
62938: PUSH
62939: LD_EXP 178
62943: PUSH
62944: LD_STRING prisoner_lives
62946: PUSH
62947: LD_EXP 179
62951: PUSH
62952: EMPTY
62953: LIST
62954: LIST
62955: LIST
62956: LIST
62957: LIST
62958: LIST
62959: LIST
62960: LIST
62961: ADD
62962: ST_TO_ADDR
// display_strings = [ #Am15-1 , tick ] ^ i ;
62963: LD_ADDR_OWVAR 47
62967: PUSH
62968: LD_STRING #Am15-1
62970: PUSH
62971: LD_OWVAR 1
62975: PUSH
62976: EMPTY
62977: LIST
62978: LIST
62979: PUSH
62980: LD_VAR 0 1
62984: ADD
62985: ST_TO_ADDR
// end else
62986: GO 63065
// if Measurement_timecount > 0 then
62988: LD_EXP 166
62992: PUSH
62993: LD_INT 0
62995: GREATER
62996: IFFALSE 63048
// begin display_strings = [ #Ar13-CCount , cameracount , #Ar13-ArtTime , [ 3 3$0 , 4 4$0 , 5 5$0 ] [ difficulty ] - Measurement_timecount ] ;
62998: LD_ADDR_OWVAR 47
63002: PUSH
63003: LD_STRING #Ar13-CCount
63005: PUSH
63006: LD_EXP 187
63010: PUSH
63011: LD_STRING #Ar13-ArtTime
63013: PUSH
63014: LD_INT 6300
63016: PUSH
63017: LD_INT 8400
63019: PUSH
63020: LD_INT 10500
63022: PUSH
63023: EMPTY
63024: LIST
63025: LIST
63026: LIST
63027: PUSH
63028: LD_OWVAR 67
63032: ARRAY
63033: PUSH
63034: LD_EXP 166
63038: MINUS
63039: PUSH
63040: EMPTY
63041: LIST
63042: LIST
63043: LIST
63044: LIST
63045: ST_TO_ADDR
// end else
63046: GO 63065
// display_strings = [ #Ar13-CCount , cameracount ] ;
63048: LD_ADDR_OWVAR 47
63052: PUSH
63053: LD_STRING #Ar13-CCount
63055: PUSH
63056: LD_EXP 187
63060: PUSH
63061: EMPTY
63062: LIST
63063: LIST
63064: ST_TO_ADDR
// enable ;
63065: ENABLE
// end ;
63066: PPOPN 3
63068: END
// every 0 0$1 marked 1 do var temp , i ;
63069: GO 63071
63071: DISABLE
63072: LD_INT 0
63074: PPUSH
63075: PPUSH
// begin Randomize ;
63076: CALL_OW 10
// temp = filterallunits ( [ [ f_side , 2 ] , [ f_weapon , ar_cargo_bay ] ] ) ;
63080: LD_ADDR_VAR 0 1
63084: PUSH
63085: LD_INT 22
63087: PUSH
63088: LD_INT 2
63090: PUSH
63091: EMPTY
63092: LIST
63093: LIST
63094: PUSH
63095: LD_INT 34
63097: PUSH
63098: LD_INT 32
63100: PUSH
63101: EMPTY
63102: LIST
63103: LIST
63104: PUSH
63105: EMPTY
63106: LIST
63107: LIST
63108: PPUSH
63109: CALL_OW 69
63113: ST_TO_ADDR
// for i in temp do
63114: LD_ADDR_VAR 0 2
63118: PUSH
63119: LD_VAR 0 1
63123: PUSH
63124: FOR_IN
63125: IFFALSE 63153
// if getcargo ( i , mat_artifact ) then
63127: LD_VAR 0 2
63131: PPUSH
63132: LD_INT 4
63134: PPUSH
63135: CALL_OW 289
63139: IFFALSE 63151
// artifact_cargo = i ;
63141: LD_ADDR_EXP 157
63145: PUSH
63146: LD_VAR 0 2
63150: ST_TO_ADDR
63151: GO 63124
63153: POP
63154: POP
// if isdead ( mastodon ) then
63155: LD_EXP 207
63159: PPUSH
63160: CALL_OW 301
63164: IFFALSE 63208
// begin mastodon_list = delete ( mastodon_list , 1 ) ;
63166: LD_ADDR_EXP 208
63170: PUSH
63171: LD_EXP 208
63175: PPUSH
63176: LD_INT 1
63178: PPUSH
63179: CALL_OW 3
63183: ST_TO_ADDR
// mastodon = mastodon_list [ 1 ] ;
63184: LD_ADDR_EXP 207
63188: PUSH
63189: LD_EXP 208
63193: PUSH
63194: LD_INT 1
63196: ARRAY
63197: ST_TO_ADDR
// mastodon_tick = tick ;
63198: LD_ADDR_EXP 209
63202: PUSH
63203: LD_OWVAR 1
63207: ST_TO_ADDR
// end ; if not intentional_ff_count = ff_count2 then
63208: LD_EXP 118
63212: PUSH
63213: LD_EXP 119
63217: EQUAL
63218: NOT
63219: IFFALSE 63243
// begin say ( heike , ff_heike2 ) ;
63221: LD_EXP 87
63225: PPUSH
63226: LD_STRING ff_heike2
63228: PPUSH
63229: CALL_OW 88
// ff_count2 = intentional_ff_count ;
63233: LD_ADDR_EXP 119
63237: PUSH
63238: LD_EXP 118
63242: ST_TO_ADDR
// end ; if measurement_ani = 0 then
63243: LD_EXP 168
63247: PUSH
63248: LD_INT 0
63250: EQUAL
63251: IFFALSE 63347
// for i in filterallunits ( [ [ f_side , 2 ] , [ f_class , class_scientistic ] ] ) do
63253: LD_ADDR_VAR 0 2
63257: PUSH
63258: LD_INT 22
63260: PUSH
63261: LD_INT 2
63263: PUSH
63264: EMPTY
63265: LIST
63266: LIST
63267: PUSH
63268: LD_INT 25
63270: PUSH
63271: LD_INT 4
63273: PUSH
63274: EMPTY
63275: LIST
63276: LIST
63277: PUSH
63278: EMPTY
63279: LIST
63280: LIST
63281: PPUSH
63282: CALL_OW 69
63286: PUSH
63287: FOR_IN
63288: IFFALSE 63345
// if hastask ( i ) then
63290: LD_VAR 0 2
63294: PPUSH
63295: CALL_OW 314
63299: IFFALSE 63343
// if gettasklist ( i ) [ 1 ] [ 1 ] = G and measurement_ani = 0 then
63301: LD_VAR 0 2
63305: PPUSH
63306: CALL_OW 437
63310: PUSH
63311: LD_INT 1
63313: ARRAY
63314: PUSH
63315: LD_INT 1
63317: ARRAY
63318: PUSH
63319: LD_STRING G
63321: EQUAL
63322: PUSH
63323: LD_EXP 168
63327: PUSH
63328: LD_INT 0
63330: EQUAL
63331: AND
63332: IFFALSE 63343
// comstop ( i ) ;
63334: LD_VAR 0 2
63338: PPUSH
63339: CALL_OW 141
63343: GO 63287
63345: POP
63346: POP
// if clear_spawn_location [ 2 ] > 0 then
63347: LD_EXP 133
63351: PUSH
63352: LD_INT 2
63354: ARRAY
63355: PUSH
63356: LD_INT 0
63358: GREATER
63359: IFFALSE 63435
// if tick - 0 0$30 > clear_spawn_location [ 2 ] then
63361: LD_OWVAR 1
63365: PUSH
63366: LD_INT 1050
63368: MINUS
63369: PUSH
63370: LD_EXP 133
63374: PUSH
63375: LD_INT 2
63377: ARRAY
63378: GREATER
63379: IFFALSE 63435
// if clear_spawn_location [ 2 ] = 16 16$0 then
63381: LD_EXP 133
63385: PUSH
63386: LD_INT 2
63388: ARRAY
63389: PUSH
63390: LD_INT 33600
63392: EQUAL
63393: IFFALSE 63420
// clear_spawn_location = [ rand ( 1 , 3 ) , 18 18$0 ] else
63395: LD_ADDR_EXP 133
63399: PUSH
63400: LD_INT 1
63402: PPUSH
63403: LD_INT 3
63405: PPUSH
63406: CALL_OW 12
63410: PUSH
63411: LD_INT 37800
63413: PUSH
63414: EMPTY
63415: LIST
63416: LIST
63417: ST_TO_ADDR
63418: GO 63435
// clear_spawn_location = [ 0 , 0 ] ;
63420: LD_ADDR_EXP 133
63424: PUSH
63425: LD_INT 0
63427: PUSH
63428: LD_INT 0
63430: PUSH
63431: EMPTY
63432: LIST
63433: LIST
63434: ST_TO_ADDR
// if tick > [ 3 3$0 , 3 3$0 , 2 2$0 ] [ difficulty ] and gamestage < 1 then
63435: LD_OWVAR 1
63439: PUSH
63440: LD_INT 6300
63442: PUSH
63443: LD_INT 6300
63445: PUSH
63446: LD_INT 4200
63448: PUSH
63449: EMPTY
63450: LIST
63451: LIST
63452: LIST
63453: PUSH
63454: LD_OWVAR 67
63458: ARRAY
63459: GREATER
63460: PUSH
63461: LD_EXP 2
63465: PUSH
63466: LD_INT 1
63468: LESS
63469: AND
63470: IFFALSE 63730
// begin gamestage = 1 ;
63472: LD_ADDR_EXP 2
63476: PUSH
63477: LD_INT 1
63479: ST_TO_ADDR
// Ru_prep_red = tag ( Ru_prep_red , 1 , PrepareAreaAndPath ( 4 , 0 ) ) ;
63480: LD_ADDR_EXP 32
63484: PUSH
63485: LD_EXP 32
63489: PPUSH
63490: LD_INT 1
63492: PPUSH
63493: LD_INT 4
63495: PPUSH
63496: LD_INT 0
63498: PPUSH
63499: CALL 19167 0 2
63503: PPUSH
63504: CALL 59897 0 3
63508: ST_TO_ADDR
// Ru_prep_red = tag ( Ru_prep_red , 2 , PrepareAreaAndPath ( 4 , 0 ) ) ;
63509: LD_ADDR_EXP 32
63513: PUSH
63514: LD_EXP 32
63518: PPUSH
63519: LD_INT 2
63521: PPUSH
63522: LD_INT 4
63524: PPUSH
63525: LD_INT 0
63527: PPUSH
63528: CALL 19167 0 2
63532: PPUSH
63533: CALL 59897 0 3
63537: ST_TO_ADDR
// settech ( tech_weap1 , 3 , state_researched ) ;
63538: LD_INT 51
63540: PPUSH
63541: LD_INT 3
63543: PPUSH
63544: LD_INT 2
63546: PPUSH
63547: CALL_OW 322
// settech ( tech_weap2 , 3 , state_enabled ) ;
63551: LD_INT 52
63553: PPUSH
63554: LD_INT 3
63556: PPUSH
63557: LD_INT 1
63559: PPUSH
63560: CALL_OW 322
// settech ( tech_weap3 , 3 , state_enabled ) ;
63564: LD_INT 53
63566: PPUSH
63567: LD_INT 3
63569: PPUSH
63570: LD_INT 1
63572: PPUSH
63573: CALL_OW 322
// settech ( tech_comp1 , 3 , state_researched ) ;
63577: LD_INT 57
63579: PPUSH
63580: LD_INT 3
63582: PPUSH
63583: LD_INT 2
63585: PPUSH
63586: CALL_OW 322
// settech ( tech_comp2 , 3 , state_enabled ) ;
63590: LD_INT 58
63592: PPUSH
63593: LD_INT 3
63595: PPUSH
63596: LD_INT 1
63598: PPUSH
63599: CALL_OW 322
// settech ( tech_comp3 , 3 , state_enabled ) ;
63603: LD_INT 59
63605: PPUSH
63606: LD_INT 3
63608: PPUSH
63609: LD_INT 1
63611: PPUSH
63612: CALL_OW 322
// settech ( tech_tech3 , 3 , state_enabled ) ;
63616: LD_INT 50
63618: PPUSH
63619: LD_INT 3
63621: PPUSH
63622: LD_INT 1
63624: PPUSH
63625: CALL_OW 322
// settech ( tech_sib2 , 3 , state_enabled ) ;
63629: LD_INT 55
63631: PPUSH
63632: LD_INT 3
63634: PPUSH
63635: LD_INT 1
63637: PPUSH
63638: CALL_OW 322
// settech ( tech_sib3 , 3 , state_enabled ) ;
63642: LD_INT 56
63644: PPUSH
63645: LD_INT 3
63647: PPUSH
63648: LD_INT 1
63650: PPUSH
63651: CALL_OW 322
// settech ( tech_ST1 , 3 , state_researched ) ;
63655: LD_INT 63
63657: PPUSH
63658: LD_INT 3
63660: PPUSH
63661: LD_INT 2
63663: PPUSH
63664: CALL_OW 322
// settech ( tech_ST2 , 3 , state_enabled ) ;
63668: LD_INT 64
63670: PPUSH
63671: LD_INT 3
63673: PPUSH
63674: LD_INT 1
63676: PPUSH
63677: CALL_OW 322
// settech ( tech_ST3 , 3 , state_enabled ) ;
63681: LD_INT 65
63683: PPUSH
63684: LD_INT 3
63686: PPUSH
63687: LD_INT 1
63689: PPUSH
63690: CALL_OW 322
// if difficulty = 1 then
63694: LD_OWVAR 67
63698: PUSH
63699: LD_INT 1
63701: EQUAL
63702: IFFALSE 63730
// begin settech ( tech_weap1 , 3 , state_enabled ) ;
63704: LD_INT 51
63706: PPUSH
63707: LD_INT 3
63709: PPUSH
63710: LD_INT 1
63712: PPUSH
63713: CALL_OW 322
// settech ( tech_comp1 , 3 , state_enabled ) ;
63717: LD_INT 57
63719: PPUSH
63720: LD_INT 3
63722: PPUSH
63723: LD_INT 1
63725: PPUSH
63726: CALL_OW 322
// end ; end ; if tick > 15 15$30 and gamestage < 2 then
63730: LD_OWVAR 1
63734: PUSH
63735: LD_INT 32550
63737: GREATER
63738: PUSH
63739: LD_EXP 2
63743: PUSH
63744: LD_INT 2
63746: LESS
63747: AND
63748: IFFALSE 64008
// begin gamestage = 2 ;
63750: LD_ADDR_EXP 2
63754: PUSH
63755: LD_INT 2
63757: ST_TO_ADDR
// ru_spawning_time = tag ( ru_spawning_time , 3 , 0 ) ;
63758: LD_ADDR_EXP 27
63762: PUSH
63763: LD_EXP 27
63767: PPUSH
63768: LD_INT 3
63770: PPUSH
63771: LD_INT 0
63773: PPUSH
63774: CALL 59897 0 3
63778: ST_TO_ADDR
// if difficulty > 1 then
63779: LD_OWVAR 67
63783: PUSH
63784: LD_INT 1
63786: GREATER
63787: IFFALSE 63810
// ru_spawning_time = tag ( ru_spawning_time , 4 , 0 ) ;
63789: LD_ADDR_EXP 27
63793: PUSH
63794: LD_EXP 27
63798: PPUSH
63799: LD_INT 4
63801: PPUSH
63802: LD_INT 0
63804: PPUSH
63805: CALL 59897 0 3
63809: ST_TO_ADDR
// if difficulty = 1 then
63810: LD_OWVAR 67
63814: PUSH
63815: LD_INT 1
63817: EQUAL
63818: IFFALSE 63841
// ru_spawning_time = tag ( ru_spawning_time , 5 , 0 ) ;
63820: LD_ADDR_EXP 27
63824: PUSH
63825: LD_EXP 27
63829: PPUSH
63830: LD_INT 5
63832: PPUSH
63833: LD_INT 0
63835: PPUSH
63836: CALL 59897 0 3
63840: ST_TO_ADDR
// if difficulty > 1 then
63841: LD_OWVAR 67
63845: PUSH
63846: LD_INT 1
63848: GREATER
63849: IFFALSE 63864
// settech ( tech_weap2 , 3 , state_researched ) ;
63851: LD_INT 52
63853: PPUSH
63854: LD_INT 3
63856: PPUSH
63857: LD_INT 2
63859: PPUSH
63860: CALL_OW 322
// if difficulty = 3 then
63864: LD_OWVAR 67
63868: PUSH
63869: LD_INT 3
63871: EQUAL
63872: IFFALSE 63887
// settech ( tech_weap3 , 3 , state_researched ) ;
63874: LD_INT 53
63876: PPUSH
63877: LD_INT 3
63879: PPUSH
63880: LD_INT 2
63882: PPUSH
63883: CALL_OW 322
// if difficulty > 1 then
63887: LD_OWVAR 67
63891: PUSH
63892: LD_INT 1
63894: GREATER
63895: IFFALSE 63910
// settech ( tech_comp2 , 3 , state_researched ) ;
63897: LD_INT 58
63899: PPUSH
63900: LD_INT 3
63902: PPUSH
63903: LD_INT 2
63905: PPUSH
63906: CALL_OW 322
// if difficulty < 3 then
63910: LD_OWVAR 67
63914: PUSH
63915: LD_INT 3
63917: LESS
63918: IFFALSE 64008
// begin settech ( tech_weap3 , 8 , state_enabled ) ;
63920: LD_INT 53
63922: PPUSH
63923: LD_INT 8
63925: PPUSH
63926: LD_INT 1
63928: PPUSH
63929: CALL_OW 322
// if difficulty = 1 then
63933: LD_OWVAR 67
63937: PUSH
63938: LD_INT 1
63940: EQUAL
63941: IFFALSE 64008
// begin settech ( tech_weap1 , 8 , state_enabled ) ;
63943: LD_INT 51
63945: PPUSH
63946: LD_INT 8
63948: PPUSH
63949: LD_INT 1
63951: PPUSH
63952: CALL_OW 322
// settech ( tech_weap2 , 8 , state_enabled ) ;
63956: LD_INT 52
63958: PPUSH
63959: LD_INT 8
63961: PPUSH
63962: LD_INT 1
63964: PPUSH
63965: CALL_OW 322
// settech ( tech_bio1 , 8 , state_enabled ) ;
63969: LD_INT 66
63971: PPUSH
63972: LD_INT 8
63974: PPUSH
63975: LD_INT 1
63977: PPUSH
63978: CALL_OW 322
// settech ( tech_bio2 , 8 , state_enabled ) ;
63982: LD_INT 67
63984: PPUSH
63985: LD_INT 8
63987: PPUSH
63988: LD_INT 1
63990: PPUSH
63991: CALL_OW 322
// settech ( tech_bio3 , 8 , state_enabled ) ;
63995: LD_INT 68
63997: PPUSH
63998: LD_INT 8
64000: PPUSH
64001: LD_INT 1
64003: PPUSH
64004: CALL_OW 322
// end ; end ; end ; if tick > [ 36 36$30 , 37 37$30 , 38 38$30 ] [ difficulty ] and gamestage < 3 then
64008: LD_OWVAR 1
64012: PUSH
64013: LD_INT 76650
64015: PUSH
64016: LD_INT 78750
64018: PUSH
64019: LD_INT 80850
64021: PUSH
64022: EMPTY
64023: LIST
64024: LIST
64025: LIST
64026: PUSH
64027: LD_OWVAR 67
64031: ARRAY
64032: GREATER
64033: PUSH
64034: LD_EXP 2
64038: PUSH
64039: LD_INT 3
64041: LESS
64042: AND
64043: IFFALSE 64399
// begin gamestage = 3 ;
64045: LD_ADDR_EXP 2
64049: PUSH
64050: LD_INT 3
64052: ST_TO_ADDR
// No_seek_groups = 0 ;
64053: LD_ADDR_EXP 36
64057: PUSH
64058: LD_INT 0
64060: ST_TO_ADDR
// if difficulty < 3 then
64061: LD_OWVAR 67
64065: PUSH
64066: LD_INT 3
64068: LESS
64069: IFFALSE 64092
// ru_spawning_time = tag ( ru_spawning_time , 5 , 999 999$0 ) ;
64071: LD_ADDR_EXP 27
64075: PUSH
64076: LD_EXP 27
64080: PPUSH
64081: LD_INT 5
64083: PPUSH
64084: LD_INT 2097900
64086: PPUSH
64087: CALL 59897 0 3
64091: ST_TO_ADDR
// ru_spawning_time = tag ( ru_spawning_time , 6 , 0 ) ;
64092: LD_ADDR_EXP 27
64096: PUSH
64097: LD_EXP 27
64101: PPUSH
64102: LD_INT 6
64104: PPUSH
64105: LD_INT 0
64107: PPUSH
64108: CALL 59897 0 3
64112: ST_TO_ADDR
// ru_spawning_time = tag ( ru_spawning_time , 7 , 0 ) ;
64113: LD_ADDR_EXP 27
64117: PUSH
64118: LD_EXP 27
64122: PPUSH
64123: LD_INT 7
64125: PPUSH
64126: LD_INT 0
64128: PPUSH
64129: CALL 59897 0 3
64133: ST_TO_ADDR
// if difficulty = 1 then
64134: LD_OWVAR 67
64138: PUSH
64139: LD_INT 1
64141: EQUAL
64142: IFFALSE 64183
// begin settech ( tech_comp1 , 3 , state_enabled ) ;
64144: LD_INT 57
64146: PPUSH
64147: LD_INT 3
64149: PPUSH
64150: LD_INT 1
64152: PPUSH
64153: CALL_OW 322
// settech ( tech_comp2 , 3 , state_enabled ) ;
64157: LD_INT 58
64159: PPUSH
64160: LD_INT 3
64162: PPUSH
64163: LD_INT 1
64165: PPUSH
64166: CALL_OW 322
// settech ( tech_comp3 , 3 , state_enabled ) ;
64170: LD_INT 59
64172: PPUSH
64173: LD_INT 3
64175: PPUSH
64176: LD_INT 1
64178: PPUSH
64179: CALL_OW 322
// end ; settech ( tech_ST2 , 3 , state_researched ) ;
64183: LD_INT 64
64185: PPUSH
64186: LD_INT 3
64188: PPUSH
64189: LD_INT 2
64191: PPUSH
64192: CALL_OW 322
// settech ( tech_tech3 , 6 , state_enabled ) ;
64196: LD_INT 50
64198: PPUSH
64199: LD_INT 6
64201: PPUSH
64202: LD_INT 1
64204: PPUSH
64205: CALL_OW 322
// settech ( tech_sib2 , 6 , state_enabled ) ;
64209: LD_INT 55
64211: PPUSH
64212: LD_INT 6
64214: PPUSH
64215: LD_INT 1
64217: PPUSH
64218: CALL_OW 322
// settech ( tech_sib3 , 6 , state_enabled ) ;
64222: LD_INT 56
64224: PPUSH
64225: LD_INT 6
64227: PPUSH
64228: LD_INT 1
64230: PPUSH
64231: CALL_OW 322
// if difficulty < 3 then
64235: LD_OWVAR 67
64239: PUSH
64240: LD_INT 3
64242: LESS
64243: IFFALSE 64260
// settech ( tech_ST3 , 6 , state_enabled ) else
64245: LD_INT 65
64247: PPUSH
64248: LD_INT 6
64250: PPUSH
64251: LD_INT 1
64253: PPUSH
64254: CALL_OW 322
64258: GO 64273
// settech ( tech_ST3 , 6 , state_researched ) ;
64260: LD_INT 65
64262: PPUSH
64263: LD_INT 6
64265: PPUSH
64266: LD_INT 2
64268: PPUSH
64269: CALL_OW 322
// if difficulty = 1 then
64273: LD_OWVAR 67
64277: PUSH
64278: LD_INT 1
64280: EQUAL
64281: IFFALSE 64309
// begin settech ( tech_weap3 , 6 , state_enabled ) ;
64283: LD_INT 53
64285: PPUSH
64286: LD_INT 6
64288: PPUSH
64289: LD_INT 1
64291: PPUSH
64292: CALL_OW 322
// settech ( tech_comp3 , 6 , state_enabled ) ;
64296: LD_INT 59
64298: PPUSH
64299: LD_INT 6
64301: PPUSH
64302: LD_INT 1
64304: PPUSH
64305: CALL_OW 322
// end ; if difficulty = 1 then
64309: LD_OWVAR 67
64313: PUSH
64314: LD_INT 1
64316: EQUAL
64317: IFFALSE 64373
// begin settech ( tech_weap1 , 8 , state_researched ) ;
64319: LD_INT 51
64321: PPUSH
64322: LD_INT 8
64324: PPUSH
64325: LD_INT 2
64327: PPUSH
64328: CALL_OW 322
// settech ( tech_weap2 , 8 , state_researched ) ;
64332: LD_INT 52
64334: PPUSH
64335: LD_INT 8
64337: PPUSH
64338: LD_INT 2
64340: PPUSH
64341: CALL_OW 322
// settech ( tech_bio1 , 8 , state_researched ) ;
64345: LD_INT 66
64347: PPUSH
64348: LD_INT 8
64350: PPUSH
64351: LD_INT 2
64353: PPUSH
64354: CALL_OW 322
// settech ( tech_bio2 , 8 , state_researched ) ;
64358: LD_INT 67
64360: PPUSH
64361: LD_INT 8
64363: PPUSH
64364: LD_INT 2
64366: PPUSH
64367: CALL_OW 322
// end else
64371: GO 64399
// begin settech ( tech_weap3 , 8 , state_researched ) ;
64373: LD_INT 53
64375: PPUSH
64376: LD_INT 8
64378: PPUSH
64379: LD_INT 2
64381: PPUSH
64382: CALL_OW 322
// settech ( tech_bio3 , 8 , state_researched ) ;
64386: LD_INT 68
64388: PPUSH
64389: LD_INT 8
64391: PPUSH
64392: LD_INT 2
64394: PPUSH
64395: CALL_OW 322
// end ; end ; enable ;
64399: ENABLE
// end ;
64400: PPOPN 2
64402: END
// every 0 0$1 do var randomsetof1000 , previous_number , previous_number2 , final_list , count , i ;
64403: GO 64405
64405: DISABLE
64406: LD_INT 0
64408: PPUSH
64409: PPUSH
64410: PPUSH
64411: PPUSH
64412: PPUSH
64413: PPUSH
// begin Randomize ;
64414: CALL_OW 10
// randomsetof1000 = [ ] ;
64418: LD_ADDR_VAR 0 1
64422: PUSH
64423: EMPTY
64424: ST_TO_ADDR
// for i = 1 to 20 do
64425: LD_ADDR_VAR 0 6
64429: PUSH
64430: DOUBLE
64431: LD_INT 1
64433: DEC
64434: ST_TO_ADDR
64435: LD_INT 20
64437: PUSH
64438: FOR_TO
64439: IFFALSE 65063
// begin randomsetof1000 = randomsetof1000 ^ [ rand ( 1 , 4 ) , rand ( 1 , 4 ) , rand ( 1 , 4 ) , rand ( 1 , 4 ) , rand ( 1 , 4 ) , rand ( 1 , 4 ) , rand ( 1 , 4 ) , rand ( 1 , 4 ) , rand ( 1 , 4 ) , rand ( 1 , 4 ) , rand ( 1 , 4 ) , rand ( 1 , 4 ) , rand ( 1 , 4 ) , rand ( 1 , 4 ) , rand ( 1 , 4 ) , rand ( 1 , 4 ) , rand ( 1 , 4 ) , rand ( 1 , 4 ) , rand ( 1 , 4 ) , rand ( 1 , 4 ) , rand ( 1 , 4 ) , rand ( 1 , 4 ) , rand ( 1 , 4 ) , rand ( 1 , 4 ) , rand ( 1 , 4 ) , rand ( 1 , 4 ) , rand ( 1 , 4 ) , rand ( 1 , 4 ) , rand ( 1 , 4 ) , rand ( 1 , 4 ) , rand ( 1 , 4 ) , rand ( 1 , 4 ) , rand ( 1 , 4 ) , rand ( 1 , 4 ) , rand ( 1 , 4 ) , rand ( 1 , 4 ) , rand ( 1 , 4 ) , rand ( 1 , 4 ) , rand ( 1 , 4 ) , rand ( 1 , 4 ) , rand ( 1 , 4 ) , rand ( 1 , 4 ) , rand ( 1 , 4 ) , rand ( 1 , 4 ) , rand ( 1 , 4 ) , rand ( 1 , 4 ) , rand ( 1 , 4 ) , rand ( 1 , 4 ) , rand ( 1 , 4 ) , rand ( 1 , 4 ) ] ;
64441: LD_ADDR_VAR 0 1
64445: PUSH
64446: LD_VAR 0 1
64450: PUSH
64451: LD_INT 1
64453: PPUSH
64454: LD_INT 4
64456: PPUSH
64457: CALL_OW 12
64461: PUSH
64462: LD_INT 1
64464: PPUSH
64465: LD_INT 4
64467: PPUSH
64468: CALL_OW 12
64472: PUSH
64473: LD_INT 1
64475: PPUSH
64476: LD_INT 4
64478: PPUSH
64479: CALL_OW 12
64483: PUSH
64484: LD_INT 1
64486: PPUSH
64487: LD_INT 4
64489: PPUSH
64490: CALL_OW 12
64494: PUSH
64495: LD_INT 1
64497: PPUSH
64498: LD_INT 4
64500: PPUSH
64501: CALL_OW 12
64505: PUSH
64506: LD_INT 1
64508: PPUSH
64509: LD_INT 4
64511: PPUSH
64512: CALL_OW 12
64516: PUSH
64517: LD_INT 1
64519: PPUSH
64520: LD_INT 4
64522: PPUSH
64523: CALL_OW 12
64527: PUSH
64528: LD_INT 1
64530: PPUSH
64531: LD_INT 4
64533: PPUSH
64534: CALL_OW 12
64538: PUSH
64539: LD_INT 1
64541: PPUSH
64542: LD_INT 4
64544: PPUSH
64545: CALL_OW 12
64549: PUSH
64550: LD_INT 1
64552: PPUSH
64553: LD_INT 4
64555: PPUSH
64556: CALL_OW 12
64560: PUSH
64561: LD_INT 1
64563: PPUSH
64564: LD_INT 4
64566: PPUSH
64567: CALL_OW 12
64571: PUSH
64572: LD_INT 1
64574: PPUSH
64575: LD_INT 4
64577: PPUSH
64578: CALL_OW 12
64582: PUSH
64583: LD_INT 1
64585: PPUSH
64586: LD_INT 4
64588: PPUSH
64589: CALL_OW 12
64593: PUSH
64594: LD_INT 1
64596: PPUSH
64597: LD_INT 4
64599: PPUSH
64600: CALL_OW 12
64604: PUSH
64605: LD_INT 1
64607: PPUSH
64608: LD_INT 4
64610: PPUSH
64611: CALL_OW 12
64615: PUSH
64616: LD_INT 1
64618: PPUSH
64619: LD_INT 4
64621: PPUSH
64622: CALL_OW 12
64626: PUSH
64627: LD_INT 1
64629: PPUSH
64630: LD_INT 4
64632: PPUSH
64633: CALL_OW 12
64637: PUSH
64638: LD_INT 1
64640: PPUSH
64641: LD_INT 4
64643: PPUSH
64644: CALL_OW 12
64648: PUSH
64649: LD_INT 1
64651: PPUSH
64652: LD_INT 4
64654: PPUSH
64655: CALL_OW 12
64659: PUSH
64660: LD_INT 1
64662: PPUSH
64663: LD_INT 4
64665: PPUSH
64666: CALL_OW 12
64670: PUSH
64671: LD_INT 1
64673: PPUSH
64674: LD_INT 4
64676: PPUSH
64677: CALL_OW 12
64681: PUSH
64682: LD_INT 1
64684: PPUSH
64685: LD_INT 4
64687: PPUSH
64688: CALL_OW 12
64692: PUSH
64693: LD_INT 1
64695: PPUSH
64696: LD_INT 4
64698: PPUSH
64699: CALL_OW 12
64703: PUSH
64704: LD_INT 1
64706: PPUSH
64707: LD_INT 4
64709: PPUSH
64710: CALL_OW 12
64714: PUSH
64715: LD_INT 1
64717: PPUSH
64718: LD_INT 4
64720: PPUSH
64721: CALL_OW 12
64725: PUSH
64726: LD_INT 1
64728: PPUSH
64729: LD_INT 4
64731: PPUSH
64732: CALL_OW 12
64736: PUSH
64737: LD_INT 1
64739: PPUSH
64740: LD_INT 4
64742: PPUSH
64743: CALL_OW 12
64747: PUSH
64748: LD_INT 1
64750: PPUSH
64751: LD_INT 4
64753: PPUSH
64754: CALL_OW 12
64758: PUSH
64759: LD_INT 1
64761: PPUSH
64762: LD_INT 4
64764: PPUSH
64765: CALL_OW 12
64769: PUSH
64770: LD_INT 1
64772: PPUSH
64773: LD_INT 4
64775: PPUSH
64776: CALL_OW 12
64780: PUSH
64781: LD_INT 1
64783: PPUSH
64784: LD_INT 4
64786: PPUSH
64787: CALL_OW 12
64791: PUSH
64792: LD_INT 1
64794: PPUSH
64795: LD_INT 4
64797: PPUSH
64798: CALL_OW 12
64802: PUSH
64803: LD_INT 1
64805: PPUSH
64806: LD_INT 4
64808: PPUSH
64809: CALL_OW 12
64813: PUSH
64814: LD_INT 1
64816: PPUSH
64817: LD_INT 4
64819: PPUSH
64820: CALL_OW 12
64824: PUSH
64825: LD_INT 1
64827: PPUSH
64828: LD_INT 4
64830: PPUSH
64831: CALL_OW 12
64835: PUSH
64836: LD_INT 1
64838: PPUSH
64839: LD_INT 4
64841: PPUSH
64842: CALL_OW 12
64846: PUSH
64847: LD_INT 1
64849: PPUSH
64850: LD_INT 4
64852: PPUSH
64853: CALL_OW 12
64857: PUSH
64858: LD_INT 1
64860: PPUSH
64861: LD_INT 4
64863: PPUSH
64864: CALL_OW 12
64868: PUSH
64869: LD_INT 1
64871: PPUSH
64872: LD_INT 4
64874: PPUSH
64875: CALL_OW 12
64879: PUSH
64880: LD_INT 1
64882: PPUSH
64883: LD_INT 4
64885: PPUSH
64886: CALL_OW 12
64890: PUSH
64891: LD_INT 1
64893: PPUSH
64894: LD_INT 4
64896: PPUSH
64897: CALL_OW 12
64901: PUSH
64902: LD_INT 1
64904: PPUSH
64905: LD_INT 4
64907: PPUSH
64908: CALL_OW 12
64912: PUSH
64913: LD_INT 1
64915: PPUSH
64916: LD_INT 4
64918: PPUSH
64919: CALL_OW 12
64923: PUSH
64924: LD_INT 1
64926: PPUSH
64927: LD_INT 4
64929: PPUSH
64930: CALL_OW 12
64934: PUSH
64935: LD_INT 1
64937: PPUSH
64938: LD_INT 4
64940: PPUSH
64941: CALL_OW 12
64945: PUSH
64946: LD_INT 1
64948: PPUSH
64949: LD_INT 4
64951: PPUSH
64952: CALL_OW 12
64956: PUSH
64957: LD_INT 1
64959: PPUSH
64960: LD_INT 4
64962: PPUSH
64963: CALL_OW 12
64967: PUSH
64968: LD_INT 1
64970: PPUSH
64971: LD_INT 4
64973: PPUSH
64974: CALL_OW 12
64978: PUSH
64979: LD_INT 1
64981: PPUSH
64982: LD_INT 4
64984: PPUSH
64985: CALL_OW 12
64989: PUSH
64990: LD_INT 1
64992: PPUSH
64993: LD_INT 4
64995: PPUSH
64996: CALL_OW 12
65000: PUSH
65001: EMPTY
65002: LIST
65003: LIST
65004: LIST
65005: LIST
65006: LIST
65007: LIST
65008: LIST
65009: LIST
65010: LIST
65011: LIST
65012: LIST
65013: LIST
65014: LIST
65015: LIST
65016: LIST
65017: LIST
65018: LIST
65019: LIST
65020: LIST
65021: LIST
65022: LIST
65023: LIST
65024: LIST
65025: LIST
65026: LIST
65027: LIST
65028: LIST
65029: LIST
65030: LIST
65031: LIST
65032: LIST
65033: LIST
65034: LIST
65035: LIST
65036: LIST
65037: LIST
65038: LIST
65039: LIST
65040: LIST
65041: LIST
65042: LIST
65043: LIST
65044: LIST
65045: LIST
65046: LIST
65047: LIST
65048: LIST
65049: LIST
65050: LIST
65051: LIST
65052: ADD
65053: ST_TO_ADDR
// wait ( 0 0$1 ) ;
65054: LD_INT 35
65056: PPUSH
65057: CALL_OW 67
// end ;
65061: GO 64438
65063: POP
65064: POP
// previous_number = randomsetof1000 [ 1 ] ;
65065: LD_ADDR_VAR 0 2
65069: PUSH
65070: LD_VAR 0 1
65074: PUSH
65075: LD_INT 1
65077: ARRAY
65078: ST_TO_ADDR
// previous_number2 = 0 ;
65079: LD_ADDR_VAR 0 3
65083: PUSH
65084: LD_INT 0
65086: ST_TO_ADDR
// final_list = randomsetof1000 [ 1 ] ;
65087: LD_ADDR_VAR 0 4
65091: PUSH
65092: LD_VAR 0 1
65096: PUSH
65097: LD_INT 1
65099: ARRAY
65100: ST_TO_ADDR
// for i = 1 to randomsetof1000 do
65101: LD_ADDR_VAR 0 6
65105: PUSH
65106: DOUBLE
65107: LD_INT 1
65109: DEC
65110: ST_TO_ADDR
65111: LD_VAR 0 1
65115: PUSH
65116: FOR_TO
65117: IFFALSE 65616
// begin if i > 1 then
65119: LD_VAR 0 6
65123: PUSH
65124: LD_INT 1
65126: GREATER
65127: IFFALSE 65297
// if not randomsetof1000 [ i ] = previous_number2 then
65129: LD_VAR 0 1
65133: PUSH
65134: LD_VAR 0 6
65138: ARRAY
65139: PUSH
65140: LD_VAR 0 3
65144: EQUAL
65145: NOT
65146: IFFALSE 65297
// begin count = count + 1 ;
65148: LD_ADDR_VAR 0 5
65152: PUSH
65153: LD_VAR 0 5
65157: PUSH
65158: LD_INT 1
65160: PLUS
65161: ST_TO_ADDR
// if not randomsetof1000 [ i ] = previous_number then
65162: LD_VAR 0 1
65166: PUSH
65167: LD_VAR 0 6
65171: ARRAY
65172: PUSH
65173: LD_VAR 0 2
65177: EQUAL
65178: NOT
65179: IFFALSE 65231
// begin final_list = final_list ^ randomsetof1000 [ i ] ;
65181: LD_ADDR_VAR 0 4
65185: PUSH
65186: LD_VAR 0 4
65190: PUSH
65191: LD_VAR 0 1
65195: PUSH
65196: LD_VAR 0 6
65200: ARRAY
65201: ADD
65202: ST_TO_ADDR
// previous_number2 = previous_number ;
65203: LD_ADDR_VAR 0 3
65207: PUSH
65208: LD_VAR 0 2
65212: ST_TO_ADDR
// previous_number = randomsetof1000 [ i ] ;
65213: LD_ADDR_VAR 0 2
65217: PUSH
65218: LD_VAR 0 1
65222: PUSH
65223: LD_VAR 0 6
65227: ARRAY
65228: ST_TO_ADDR
// end else
65229: GO 65297
// if count > 8 then
65231: LD_VAR 0 5
65235: PUSH
65236: LD_INT 8
65238: GREATER
65239: IFFALSE 65297
// begin final_list = final_list ^ randomsetof1000 [ i ] ;
65241: LD_ADDR_VAR 0 4
65245: PUSH
65246: LD_VAR 0 4
65250: PUSH
65251: LD_VAR 0 1
65255: PUSH
65256: LD_VAR 0 6
65260: ARRAY
65261: ADD
65262: ST_TO_ADDR
// previous_number2 = previous_number ;
65263: LD_ADDR_VAR 0 3
65267: PUSH
65268: LD_VAR 0 2
65272: ST_TO_ADDR
// previous_number = randomsetof1000 [ i ] ;
65273: LD_ADDR_VAR 0 2
65277: PUSH
65278: LD_VAR 0 1
65282: PUSH
65283: LD_VAR 0 6
65287: ARRAY
65288: ST_TO_ADDR
// count = 0 ;
65289: LD_ADDR_VAR 0 5
65293: PUSH
65294: LD_INT 0
65296: ST_TO_ADDR
// end ; end ; if i = 25 or i = 50 or i = 75 or i = 100 or i = 125 or i = 150 or i = 175 or i = 200 or i = 225 or i = 250 or i = 275 or i = 300 or i = 325 or i = 350 or i = 375 or i = 400 or i = 425 or i = 450 or i = 475 or i = 500 or i = 525 or i = 550 or i = 575 or i = 600 or i = 625 or i = 650 or i = 675 or i = 700 or i = 725 or i = 750 or i = 775 then
65297: LD_VAR 0 6
65301: PUSH
65302: LD_INT 25
65304: EQUAL
65305: PUSH
65306: LD_VAR 0 6
65310: PUSH
65311: LD_INT 50
65313: EQUAL
65314: OR
65315: PUSH
65316: LD_VAR 0 6
65320: PUSH
65321: LD_INT 75
65323: EQUAL
65324: OR
65325: PUSH
65326: LD_VAR 0 6
65330: PUSH
65331: LD_INT 100
65333: EQUAL
65334: OR
65335: PUSH
65336: LD_VAR 0 6
65340: PUSH
65341: LD_INT 125
65343: EQUAL
65344: OR
65345: PUSH
65346: LD_VAR 0 6
65350: PUSH
65351: LD_INT 150
65353: EQUAL
65354: OR
65355: PUSH
65356: LD_VAR 0 6
65360: PUSH
65361: LD_INT 175
65363: EQUAL
65364: OR
65365: PUSH
65366: LD_VAR 0 6
65370: PUSH
65371: LD_INT 200
65373: EQUAL
65374: OR
65375: PUSH
65376: LD_VAR 0 6
65380: PUSH
65381: LD_INT 225
65383: EQUAL
65384: OR
65385: PUSH
65386: LD_VAR 0 6
65390: PUSH
65391: LD_INT 250
65393: EQUAL
65394: OR
65395: PUSH
65396: LD_VAR 0 6
65400: PUSH
65401: LD_INT 275
65403: EQUAL
65404: OR
65405: PUSH
65406: LD_VAR 0 6
65410: PUSH
65411: LD_INT 300
65413: EQUAL
65414: OR
65415: PUSH
65416: LD_VAR 0 6
65420: PUSH
65421: LD_INT 325
65423: EQUAL
65424: OR
65425: PUSH
65426: LD_VAR 0 6
65430: PUSH
65431: LD_INT 350
65433: EQUAL
65434: OR
65435: PUSH
65436: LD_VAR 0 6
65440: PUSH
65441: LD_INT 375
65443: EQUAL
65444: OR
65445: PUSH
65446: LD_VAR 0 6
65450: PUSH
65451: LD_INT 400
65453: EQUAL
65454: OR
65455: PUSH
65456: LD_VAR 0 6
65460: PUSH
65461: LD_INT 425
65463: EQUAL
65464: OR
65465: PUSH
65466: LD_VAR 0 6
65470: PUSH
65471: LD_INT 450
65473: EQUAL
65474: OR
65475: PUSH
65476: LD_VAR 0 6
65480: PUSH
65481: LD_INT 475
65483: EQUAL
65484: OR
65485: PUSH
65486: LD_VAR 0 6
65490: PUSH
65491: LD_INT 500
65493: EQUAL
65494: OR
65495: PUSH
65496: LD_VAR 0 6
65500: PUSH
65501: LD_INT 525
65503: EQUAL
65504: OR
65505: PUSH
65506: LD_VAR 0 6
65510: PUSH
65511: LD_INT 550
65513: EQUAL
65514: OR
65515: PUSH
65516: LD_VAR 0 6
65520: PUSH
65521: LD_INT 575
65523: EQUAL
65524: OR
65525: PUSH
65526: LD_VAR 0 6
65530: PUSH
65531: LD_INT 600
65533: EQUAL
65534: OR
65535: PUSH
65536: LD_VAR 0 6
65540: PUSH
65541: LD_INT 625
65543: EQUAL
65544: OR
65545: PUSH
65546: LD_VAR 0 6
65550: PUSH
65551: LD_INT 650
65553: EQUAL
65554: OR
65555: PUSH
65556: LD_VAR 0 6
65560: PUSH
65561: LD_INT 675
65563: EQUAL
65564: OR
65565: PUSH
65566: LD_VAR 0 6
65570: PUSH
65571: LD_INT 700
65573: EQUAL
65574: OR
65575: PUSH
65576: LD_VAR 0 6
65580: PUSH
65581: LD_INT 725
65583: EQUAL
65584: OR
65585: PUSH
65586: LD_VAR 0 6
65590: PUSH
65591: LD_INT 750
65593: EQUAL
65594: OR
65595: PUSH
65596: LD_VAR 0 6
65600: PUSH
65601: LD_INT 775
65603: EQUAL
65604: OR
65605: IFFALSE 65614
// wait ( 0 0$1 ) ;
65607: LD_INT 35
65609: PPUSH
65610: CALL_OW 67
// end ;
65614: GO 65116
65616: POP
65617: POP
// Randomized_1_4_list = final_list ;
65618: LD_ADDR_EXP 154
65622: PUSH
65623: LD_VAR 0 4
65627: ST_TO_ADDR
// end ;
65628: PPOPN 6
65630: END
// every 0 0$0.5 marked 1 do var i , j , temp , temp1 , temp2 , un , name , un_list , name_list ;
65631: GO 65633
65633: DISABLE
65634: LD_INT 0
65636: PPUSH
65637: PPUSH
65638: PPUSH
65639: PPUSH
65640: PPUSH
65641: PPUSH
65642: PPUSH
65643: PPUSH
65644: PPUSH
// begin temp = filterallunits ( [ [ f_side , 2 ] , [ f_weapon , ar_cargo_bay ] , [ f_empty ] ] ) ;
65645: LD_ADDR_VAR 0 3
65649: PUSH
65650: LD_INT 22
65652: PUSH
65653: LD_INT 2
65655: PUSH
65656: EMPTY
65657: LIST
65658: LIST
65659: PUSH
65660: LD_INT 34
65662: PUSH
65663: LD_INT 32
65665: PUSH
65666: EMPTY
65667: LIST
65668: LIST
65669: PUSH
65670: LD_INT 58
65672: PUSH
65673: EMPTY
65674: LIST
65675: PUSH
65676: EMPTY
65677: LIST
65678: LIST
65679: LIST
65680: PPUSH
65681: CALL_OW 69
65685: ST_TO_ADDR
// if temp < EmptyCargos and EmptyCargos = filterallunits ( [ [ f_side , 2 ] , [ f_weapon , ar_cargo_bay ] , [ f_control , control_manual ] ] ) then
65686: LD_VAR 0 3
65690: PUSH
65691: LD_EXP 197
65695: LESS
65696: PUSH
65697: LD_EXP 197
65701: PUSH
65702: LD_INT 22
65704: PUSH
65705: LD_INT 2
65707: PUSH
65708: EMPTY
65709: LIST
65710: LIST
65711: PUSH
65712: LD_INT 34
65714: PUSH
65715: LD_INT 32
65717: PUSH
65718: EMPTY
65719: LIST
65720: LIST
65721: PUSH
65722: LD_INT 33
65724: PUSH
65725: LD_INT 1
65727: PUSH
65728: EMPTY
65729: LIST
65730: LIST
65731: PUSH
65732: EMPTY
65733: LIST
65734: LIST
65735: LIST
65736: PPUSH
65737: CALL_OW 69
65741: EQUAL
65742: AND
65743: IFFALSE 65884
// begin for i in EmptyCargos do
65745: LD_ADDR_VAR 0 1
65749: PUSH
65750: LD_EXP 197
65754: PUSH
65755: FOR_IN
65756: IFFALSE 65870
// if IsDrivenBy ( i ) > 0 then
65758: LD_VAR 0 1
65762: PPUSH
65763: CALL_OW 311
65767: PUSH
65768: LD_INT 0
65770: GREATER
65771: IFFALSE 65868
// begin temp1 = 0 ;
65773: LD_ADDR_VAR 0 4
65777: PUSH
65778: LD_INT 0
65780: ST_TO_ADDR
// if ClassChangedList > 0 then
65781: LD_EXP 196
65785: PUSH
65786: LD_INT 0
65788: GREATER
65789: IFFALSE 65837
// for j in ClassChangedList do
65791: LD_ADDR_VAR 0 2
65795: PUSH
65796: LD_EXP 196
65800: PUSH
65801: FOR_IN
65802: IFFALSE 65835
// if j [ 1 ] = IsDrivenBy ( i ) then
65804: LD_VAR 0 2
65808: PUSH
65809: LD_INT 1
65811: ARRAY
65812: PUSH
65813: LD_VAR 0 1
65817: PPUSH
65818: CALL_OW 311
65822: EQUAL
65823: IFFALSE 65833
// temp1 = 1 ;
65825: LD_ADDR_VAR 0 4
65829: PUSH
65830: LD_INT 1
65832: ST_TO_ADDR
65833: GO 65801
65835: POP
65836: POP
// if temp1 = 0 then
65837: LD_VAR 0 4
65841: PUSH
65842: LD_INT 0
65844: EQUAL
65845: IFFALSE 65868
// cargo_UnitList = cargo_UnitList ^ IsDrivenBy ( i ) ;
65847: LD_ADDR_EXP 195
65851: PUSH
65852: LD_EXP 195
65856: PUSH
65857: LD_VAR 0 1
65861: PPUSH
65862: CALL_OW 311
65866: ADD
65867: ST_TO_ADDR
// end ;
65868: GO 65755
65870: POP
65871: POP
// EmptyCargos = temp ;
65872: LD_ADDR_EXP 197
65876: PUSH
65877: LD_VAR 0 3
65881: ST_TO_ADDR
// end else
65882: GO 65894
// EmptyCargos = temp ;
65884: LD_ADDR_EXP 197
65888: PUSH
65889: LD_VAR 0 3
65893: ST_TO_ADDR
// temp1 = 0 ;
65894: LD_ADDR_VAR 0 4
65898: PUSH
65899: LD_INT 0
65901: ST_TO_ADDR
// if ClassChangedList > 0 then
65902: LD_EXP 196
65906: PUSH
65907: LD_INT 0
65909: GREATER
65910: IFFALSE 65972
// for i = 1 to ClassChangedList do
65912: LD_ADDR_VAR 0 1
65916: PUSH
65917: DOUBLE
65918: LD_INT 1
65920: DEC
65921: ST_TO_ADDR
65922: LD_EXP 196
65926: PUSH
65927: FOR_TO
65928: IFFALSE 65970
// if tick > ClassChangedList [ i ] [ 2 ] + 0 0$5 then
65930: LD_OWVAR 1
65934: PUSH
65935: LD_EXP 196
65939: PUSH
65940: LD_VAR 0 1
65944: ARRAY
65945: PUSH
65946: LD_INT 2
65948: ARRAY
65949: PUSH
65950: LD_INT 175
65952: PLUS
65953: GREATER
65954: IFFALSE 65968
// begin temp1 = i ;
65956: LD_ADDR_VAR 0 4
65960: PUSH
65961: LD_VAR 0 1
65965: ST_TO_ADDR
// break ;
65966: GO 65970
// end ;
65968: GO 65927
65970: POP
65971: POP
// if temp1 > 0 then
65972: LD_VAR 0 4
65976: PUSH
65977: LD_INT 0
65979: GREATER
65980: IFFALSE 66002
// ClassChangedList = delete ( ClassChangedList , temp1 ) ;
65982: LD_ADDR_EXP 196
65986: PUSH
65987: LD_EXP 196
65991: PPUSH
65992: LD_VAR 0 4
65996: PPUSH
65997: CALL_OW 3
66001: ST_TO_ADDR
// temp1 = filterallunits ( [ [ f_side , 2 ] , [ f_weapon , ar_cargo_bay ] ] ) ;
66002: LD_ADDR_VAR 0 4
66006: PUSH
66007: LD_INT 22
66009: PUSH
66010: LD_INT 2
66012: PUSH
66013: EMPTY
66014: LIST
66015: LIST
66016: PUSH
66017: LD_INT 34
66019: PUSH
66020: LD_INT 32
66022: PUSH
66023: EMPTY
66024: LIST
66025: LIST
66026: PUSH
66027: EMPTY
66028: LIST
66029: LIST
66030: PPUSH
66031: CALL_OW 69
66035: ST_TO_ADDR
// for i in temp1 do
66036: LD_ADDR_VAR 0 1
66040: PUSH
66041: LD_VAR 0 4
66045: PUSH
66046: FOR_IN
66047: IFFALSE 66297
// begin temp2 = filterallunits ( [ [ f_dist , i , 5 ] , [ f_side , 2 ] , [ f_type , unit_human ] , [ f_not , [ class_desert_warior ] ] , [ f_not , [ class_tiger ] ] ] ) ;
66049: LD_ADDR_VAR 0 5
66053: PUSH
66054: LD_INT 91
66056: PUSH
66057: LD_VAR 0 1
66061: PUSH
66062: LD_INT 5
66064: PUSH
66065: EMPTY
66066: LIST
66067: LIST
66068: LIST
66069: PUSH
66070: LD_INT 22
66072: PUSH
66073: LD_INT 2
66075: PUSH
66076: EMPTY
66077: LIST
66078: LIST
66079: PUSH
66080: LD_INT 21
66082: PUSH
66083: LD_INT 1
66085: PUSH
66086: EMPTY
66087: LIST
66088: LIST
66089: PUSH
66090: LD_INT 3
66092: PUSH
66093: LD_INT 11
66095: PUSH
66096: EMPTY
66097: LIST
66098: PUSH
66099: EMPTY
66100: LIST
66101: LIST
66102: PUSH
66103: LD_INT 3
66105: PUSH
66106: LD_INT 14
66108: PUSH
66109: EMPTY
66110: LIST
66111: PUSH
66112: EMPTY
66113: LIST
66114: LIST
66115: PUSH
66116: EMPTY
66117: LIST
66118: LIST
66119: LIST
66120: LIST
66121: LIST
66122: PPUSH
66123: CALL_OW 69
66127: ST_TO_ADDR
// for j in ClassChangedList do
66128: LD_ADDR_VAR 0 2
66132: PUSH
66133: LD_EXP 196
66137: PUSH
66138: FOR_IN
66139: IFFALSE 66179
// if j [ 1 ] in temp2 then
66141: LD_VAR 0 2
66145: PUSH
66146: LD_INT 1
66148: ARRAY
66149: PUSH
66150: LD_VAR 0 5
66154: IN
66155: IFFALSE 66177
// temp2 = temp2 diff j [ 1 ] ;
66157: LD_ADDR_VAR 0 5
66161: PUSH
66162: LD_VAR 0 5
66166: PUSH
66167: LD_VAR 0 2
66171: PUSH
66172: LD_INT 1
66174: ARRAY
66175: DIFF
66176: ST_TO_ADDR
66177: GO 66138
66179: POP
66180: POP
// if temp2 > 0 then
66181: LD_VAR 0 5
66185: PUSH
66186: LD_INT 0
66188: GREATER
66189: IFFALSE 66295
// for j in temp2 do
66191: LD_ADDR_VAR 0 2
66195: PUSH
66196: LD_VAR 0 5
66200: PUSH
66201: FOR_IN
66202: IFFALSE 66293
// if hastask ( j ) then
66204: LD_VAR 0 2
66208: PPUSH
66209: CALL_OW 314
66213: IFFALSE 66291
// if gettasklist ( j ) [ 1 ] [ 2 ] = getX ( i ) and gettasklist ( j ) [ 1 ] [ 3 ] = getY ( i ) then
66215: LD_VAR 0 2
66219: PPUSH
66220: CALL_OW 437
66224: PUSH
66225: LD_INT 1
66227: ARRAY
66228: PUSH
66229: LD_INT 2
66231: ARRAY
66232: PUSH
66233: LD_VAR 0 1
66237: PPUSH
66238: CALL_OW 250
66242: EQUAL
66243: PUSH
66244: LD_VAR 0 2
66248: PPUSH
66249: CALL_OW 437
66253: PUSH
66254: LD_INT 1
66256: ARRAY
66257: PUSH
66258: LD_INT 3
66260: ARRAY
66261: PUSH
66262: LD_VAR 0 1
66266: PPUSH
66267: CALL_OW 251
66271: EQUAL
66272: AND
66273: IFFALSE 66291
// cargo_UnitList = cargo_UnitList ^ j ;
66275: LD_ADDR_EXP 195
66279: PUSH
66280: LD_EXP 195
66284: PUSH
66285: LD_VAR 0 2
66289: ADD
66290: ST_TO_ADDR
66291: GO 66201
66293: POP
66294: POP
// end ;
66295: GO 66046
66297: POP
66298: POP
// if cargo_UnitList > 0 then
66299: LD_EXP 195
66303: PUSH
66304: LD_INT 0
66306: GREATER
66307: IFFALSE 67010
// for i in cargo_UnitList do
66309: LD_ADDR_VAR 0 1
66313: PUSH
66314: LD_EXP 195
66318: PUSH
66319: FOR_IN
66320: IFFALSE 67008
// begin case getclass ( i ) of class_soldier :
66322: LD_VAR 0 1
66326: PPUSH
66327: CALL_OW 257
66331: PUSH
66332: LD_INT 1
66334: DOUBLE
66335: EQUAL
66336: IFTRUE 66340
66338: GO 66374
66340: POP
// temp1 = [ 2 , 3 , 4 , 5 , 6 , 7 ] ; class_engineer :
66341: LD_ADDR_VAR 0 4
66345: PUSH
66346: LD_INT 2
66348: PUSH
66349: LD_INT 3
66351: PUSH
66352: LD_INT 4
66354: PUSH
66355: LD_INT 5
66357: PUSH
66358: LD_INT 6
66360: PUSH
66361: LD_INT 7
66363: PUSH
66364: EMPTY
66365: LIST
66366: LIST
66367: LIST
66368: LIST
66369: LIST
66370: LIST
66371: ST_TO_ADDR
66372: GO 66667
66374: LD_INT 2
66376: DOUBLE
66377: EQUAL
66378: IFTRUE 66382
66380: GO 66416
66382: POP
// temp1 = [ 1 , 3 , 4 , 5 , 6 , 7 ] ; class_mechanic :
66383: LD_ADDR_VAR 0 4
66387: PUSH
66388: LD_INT 1
66390: PUSH
66391: LD_INT 3
66393: PUSH
66394: LD_INT 4
66396: PUSH
66397: LD_INT 5
66399: PUSH
66400: LD_INT 6
66402: PUSH
66403: LD_INT 7
66405: PUSH
66406: EMPTY
66407: LIST
66408: LIST
66409: LIST
66410: LIST
66411: LIST
66412: LIST
66413: ST_TO_ADDR
66414: GO 66667
66416: LD_INT 3
66418: DOUBLE
66419: EQUAL
66420: IFTRUE 66424
66422: GO 66458
66424: POP
// temp1 = [ 1 , 2 , 4 , 5 , 6 , 7 ] ; class_scientistic :
66425: LD_ADDR_VAR 0 4
66429: PUSH
66430: LD_INT 1
66432: PUSH
66433: LD_INT 2
66435: PUSH
66436: LD_INT 4
66438: PUSH
66439: LD_INT 5
66441: PUSH
66442: LD_INT 6
66444: PUSH
66445: LD_INT 7
66447: PUSH
66448: EMPTY
66449: LIST
66450: LIST
66451: LIST
66452: LIST
66453: LIST
66454: LIST
66455: ST_TO_ADDR
66456: GO 66667
66458: LD_INT 4
66460: DOUBLE
66461: EQUAL
66462: IFTRUE 66466
66464: GO 66500
66466: POP
// temp1 = [ 1 , 2 , 3 , 5 , 6 , 7 ] ; class_mortar :
66467: LD_ADDR_VAR 0 4
66471: PUSH
66472: LD_INT 1
66474: PUSH
66475: LD_INT 2
66477: PUSH
66478: LD_INT 3
66480: PUSH
66481: LD_INT 5
66483: PUSH
66484: LD_INT 6
66486: PUSH
66487: LD_INT 7
66489: PUSH
66490: EMPTY
66491: LIST
66492: LIST
66493: LIST
66494: LIST
66495: LIST
66496: LIST
66497: ST_TO_ADDR
66498: GO 66667
66500: LD_INT 8
66502: DOUBLE
66503: EQUAL
66504: IFTRUE 66508
66506: GO 66542
66508: POP
// temp1 = [ 1 , 2 , 3 , 4 , 6 , 7 ] ; class_sniper :
66509: LD_ADDR_VAR 0 4
66513: PUSH
66514: LD_INT 1
66516: PUSH
66517: LD_INT 2
66519: PUSH
66520: LD_INT 3
66522: PUSH
66523: LD_INT 4
66525: PUSH
66526: LD_INT 6
66528: PUSH
66529: LD_INT 7
66531: PUSH
66532: EMPTY
66533: LIST
66534: LIST
66535: LIST
66536: LIST
66537: LIST
66538: LIST
66539: ST_TO_ADDR
66540: GO 66667
66542: LD_INT 5
66544: DOUBLE
66545: EQUAL
66546: IFTRUE 66550
66548: GO 66584
66550: POP
// temp1 = [ 1 , 2 , 3 , 4 , 5 , 7 ] ; class_apeman :
66551: LD_ADDR_VAR 0 4
66555: PUSH
66556: LD_INT 1
66558: PUSH
66559: LD_INT 2
66561: PUSH
66562: LD_INT 3
66564: PUSH
66565: LD_INT 4
66567: PUSH
66568: LD_INT 5
66570: PUSH
66571: LD_INT 7
66573: PUSH
66574: EMPTY
66575: LIST
66576: LIST
66577: LIST
66578: LIST
66579: LIST
66580: LIST
66581: ST_TO_ADDR
66582: GO 66667
66584: LD_INT 12
66586: DOUBLE
66587: EQUAL
66588: IFTRUE 66592
66590: GO 66614
66592: POP
// temp1 = [ 1 , 2 , 3 ] ; class_apeman_soldier :
66593: LD_ADDR_VAR 0 4
66597: PUSH
66598: LD_INT 1
66600: PUSH
66601: LD_INT 2
66603: PUSH
66604: LD_INT 3
66606: PUSH
66607: EMPTY
66608: LIST
66609: LIST
66610: LIST
66611: ST_TO_ADDR
66612: GO 66667
66614: LD_INT 15
66616: DOUBLE
66617: EQUAL
66618: IFTRUE 66622
66620: GO 66640
66622: POP
// temp1 = [ 1 , 3 ] ; class_apeman_kamikaze :
66623: LD_ADDR_VAR 0 4
66627: PUSH
66628: LD_INT 1
66630: PUSH
66631: LD_INT 3
66633: PUSH
66634: EMPTY
66635: LIST
66636: LIST
66637: ST_TO_ADDR
66638: GO 66667
66640: LD_INT 17
66642: DOUBLE
66643: EQUAL
66644: IFTRUE 66648
66646: GO 66666
66648: POP
// temp1 = [ 2 , 3 ] ; end ;
66649: LD_ADDR_VAR 0 4
66653: PUSH
66654: LD_INT 2
66656: PUSH
66657: LD_INT 3
66659: PUSH
66660: EMPTY
66661: LIST
66662: LIST
66663: ST_TO_ADDR
66664: GO 66667
66666: POP
// if filterallunits ( [ f_class , class_sniper ] ) > 0 then
66667: LD_INT 25
66669: PUSH
66670: LD_INT 5
66672: PUSH
66673: EMPTY
66674: LIST
66675: LIST
66676: PPUSH
66677: CALL_OW 69
66681: PUSH
66682: LD_INT 0
66684: GREATER
66685: IFFALSE 66701
// temp1 = temp1 diff 6 ;
66687: LD_ADDR_VAR 0 4
66691: PUSH
66692: LD_VAR 0 4
66696: PUSH
66697: LD_INT 6
66699: DIFF
66700: ST_TO_ADDR
// if getnation ( i ) = nation_arabian then
66701: LD_VAR 0 1
66705: PPUSH
66706: CALL_OW 248
66710: PUSH
66711: LD_INT 2
66713: EQUAL
66714: IFFALSE 66870
// begin case SelectiveQuery ( q_change_class , temp1 ) of 1 :
66716: LD_STRING q_change_class
66718: PPUSH
66719: LD_VAR 0 4
66723: PPUSH
66724: CALL_OW 98
66728: PUSH
66729: LD_INT 1
66731: DOUBLE
66732: EQUAL
66733: IFTRUE 66737
66735: GO 66752
66737: POP
// setclass ( i , class_soldier ) ; 2 :
66738: LD_VAR 0 1
66742: PPUSH
66743: LD_INT 1
66745: PPUSH
66746: CALL_OW 336
66750: GO 66868
66752: LD_INT 2
66754: DOUBLE
66755: EQUAL
66756: IFTRUE 66760
66758: GO 66775
66760: POP
// setclass ( i , class_engineer ) ; 3 :
66761: LD_VAR 0 1
66765: PPUSH
66766: LD_INT 2
66768: PPUSH
66769: CALL_OW 336
66773: GO 66868
66775: LD_INT 3
66777: DOUBLE
66778: EQUAL
66779: IFTRUE 66783
66781: GO 66798
66783: POP
// setclass ( i , class_mechanic ) ; 4 :
66784: LD_VAR 0 1
66788: PPUSH
66789: LD_INT 3
66791: PPUSH
66792: CALL_OW 336
66796: GO 66868
66798: LD_INT 4
66800: DOUBLE
66801: EQUAL
66802: IFTRUE 66806
66804: GO 66821
66806: POP
// setclass ( i , class_scientistic ) ; 5 :
66807: LD_VAR 0 1
66811: PPUSH
66812: LD_INT 4
66814: PPUSH
66815: CALL_OW 336
66819: GO 66868
66821: LD_INT 5
66823: DOUBLE
66824: EQUAL
66825: IFTRUE 66829
66827: GO 66844
66829: POP
// setclass ( i , class_mortar ) ; 6 :
66830: LD_VAR 0 1
66834: PPUSH
66835: LD_INT 8
66837: PPUSH
66838: CALL_OW 336
66842: GO 66868
66844: LD_INT 6
66846: DOUBLE
66847: EQUAL
66848: IFTRUE 66852
66850: GO 66867
66852: POP
// setclass ( i , class_sniper ) ; end ;
66853: LD_VAR 0 1
66857: PPUSH
66858: LD_INT 5
66860: PPUSH
66861: CALL_OW 336
66865: GO 66868
66867: POP
// end else
66868: GO 66930
// case SelectiveQuery ( q_change_class_ape , temp1 ) of 1 :
66870: LD_STRING q_change_class_ape
66872: PPUSH
66873: LD_VAR 0 4
66877: PPUSH
66878: CALL_OW 98
66882: PUSH
66883: LD_INT 1
66885: DOUBLE
66886: EQUAL
66887: IFTRUE 66891
66889: GO 66906
66891: POP
// setclass ( i , class_apeman_kamikaze ) ; 2 :
66892: LD_VAR 0 1
66896: PPUSH
66897: LD_INT 17
66899: PPUSH
66900: CALL_OW 336
66904: GO 66930
66906: LD_INT 2
66908: DOUBLE
66909: EQUAL
66910: IFTRUE 66914
66912: GO 66929
66914: POP
// setclass ( i , class_apeman_soldier ) ; end ;
66915: LD_VAR 0 1
66919: PPUSH
66920: LD_INT 15
66922: PPUSH
66923: CALL_OW 336
66927: GO 66930
66929: POP
// if GetTaskList ( i ) = 1 then
66930: LD_VAR 0 1
66934: PPUSH
66935: CALL_OW 437
66939: PUSH
66940: LD_INT 1
66942: EQUAL
66943: IFFALSE 66978
// if not GetTaskList ( i ) [ 1 ] [ 1 ] = E then
66945: LD_VAR 0 1
66949: PPUSH
66950: CALL_OW 437
66954: PUSH
66955: LD_INT 1
66957: ARRAY
66958: PUSH
66959: LD_INT 1
66961: ARRAY
66962: PUSH
66963: LD_STRING E
66965: EQUAL
66966: NOT
66967: IFFALSE 66978
// comstop ( i ) ;
66969: LD_VAR 0 1
66973: PPUSH
66974: CALL_OW 141
// ClassChangedList = ClassChangedList ^ [ [ i , tick ] ] ;
66978: LD_ADDR_EXP 196
66982: PUSH
66983: LD_EXP 196
66987: PUSH
66988: LD_VAR 0 1
66992: PUSH
66993: LD_OWVAR 1
66997: PUSH
66998: EMPTY
66999: LIST
67000: LIST
67001: PUSH
67002: EMPTY
67003: LIST
67004: ADD
67005: ST_TO_ADDR
// end ;
67006: GO 66319
67008: POP
67009: POP
// cargo_UnitList = [ ] ;
67010: LD_ADDR_EXP 195
67014: PUSH
67015: EMPTY
67016: ST_TO_ADDR
// enable ;
67017: ENABLE
// end ;
67018: PPOPN 9
67020: END
// every 0 0$0.1 trigger filterallunits ( [ [ f_side , 2 ] , [ f_class , class_engineer ] ] ) > 0 do var i , j , k , temp , env , count ;
67021: LD_INT 22
67023: PUSH
67024: LD_INT 2
67026: PUSH
67027: EMPTY
67028: LIST
67029: LIST
67030: PUSH
67031: LD_INT 25
67033: PUSH
67034: LD_INT 2
67036: PUSH
67037: EMPTY
67038: LIST
67039: LIST
67040: PUSH
67041: EMPTY
67042: LIST
67043: LIST
67044: PPUSH
67045: CALL_OW 69
67049: PUSH
67050: LD_INT 0
67052: GREATER
67053: IFFALSE 68224
67055: GO 67057
67057: DISABLE
67058: LD_INT 0
67060: PPUSH
67061: PPUSH
67062: PPUSH
67063: PPUSH
67064: PPUSH
67065: PPUSH
// begin for i in filterallunits ( [ [ f_side , 2 ] , [ f_class , class_engineer ] ] ) do
67066: LD_ADDR_VAR 0 1
67070: PUSH
67071: LD_INT 22
67073: PUSH
67074: LD_INT 2
67076: PUSH
67077: EMPTY
67078: LIST
67079: LIST
67080: PUSH
67081: LD_INT 25
67083: PUSH
67084: LD_INT 2
67086: PUSH
67087: EMPTY
67088: LIST
67089: LIST
67090: PUSH
67091: EMPTY
67092: LIST
67093: LIST
67094: PPUSH
67095: CALL_OW 69
67099: PUSH
67100: FOR_IN
67101: IFFALSE 67966
// begin if hastask ( i ) > 0 then
67103: LD_VAR 0 1
67107: PPUSH
67108: CALL_OW 314
67112: PUSH
67113: LD_INT 0
67115: GREATER
67116: IFFALSE 67517
// if Gettasklist ( i ) [ 1 ] [ 1 ] = g and getdistunitxy ( i , Gettasklist ( i ) [ 1 ] [ 2 ] , Gettasklist ( i ) [ 1 ] [ 3 ] ) < 2 then
67118: LD_VAR 0 1
67122: PPUSH
67123: CALL_OW 437
67127: PUSH
67128: LD_INT 1
67130: ARRAY
67131: PUSH
67132: LD_INT 1
67134: ARRAY
67135: PUSH
67136: LD_STRING g
67138: EQUAL
67139: PUSH
67140: LD_VAR 0 1
67144: PPUSH
67145: LD_VAR 0 1
67149: PPUSH
67150: CALL_OW 437
67154: PUSH
67155: LD_INT 1
67157: ARRAY
67158: PUSH
67159: LD_INT 2
67161: ARRAY
67162: PPUSH
67163: LD_VAR 0 1
67167: PPUSH
67168: CALL_OW 437
67172: PUSH
67173: LD_INT 1
67175: ARRAY
67176: PUSH
67177: LD_INT 3
67179: ARRAY
67180: PPUSH
67181: CALL_OW 297
67185: PUSH
67186: LD_INT 2
67188: LESS
67189: AND
67190: IFFALSE 67517
// begin temp = 0 ;
67192: LD_ADDR_VAR 0 4
67196: PUSH
67197: LD_INT 0
67199: ST_TO_ADDR
// if camerasplaced > 0 then
67200: LD_EXP 188
67204: PUSH
67205: LD_INT 0
67207: GREATER
67208: IFFALSE 67293
// for j in camerasplaced do
67210: LD_ADDR_VAR 0 2
67214: PUSH
67215: LD_EXP 188
67219: PUSH
67220: FOR_IN
67221: IFFALSE 67291
// if j [ 1 ] = Gettasklist ( i ) [ 1 ] [ 2 ] and j [ 2 ] = Gettasklist ( i ) [ 1 ] [ 3 ] then
67223: LD_VAR 0 2
67227: PUSH
67228: LD_INT 1
67230: ARRAY
67231: PUSH
67232: LD_VAR 0 1
67236: PPUSH
67237: CALL_OW 437
67241: PUSH
67242: LD_INT 1
67244: ARRAY
67245: PUSH
67246: LD_INT 2
67248: ARRAY
67249: EQUAL
67250: PUSH
67251: LD_VAR 0 2
67255: PUSH
67256: LD_INT 2
67258: ARRAY
67259: PUSH
67260: LD_VAR 0 1
67264: PPUSH
67265: CALL_OW 437
67269: PUSH
67270: LD_INT 1
67272: ARRAY
67273: PUSH
67274: LD_INT 3
67276: ARRAY
67277: EQUAL
67278: AND
67279: IFFALSE 67289
// temp = 1 ;
67281: LD_ADDR_VAR 0 4
67285: PUSH
67286: LD_INT 1
67288: ST_TO_ADDR
67289: GO 67220
67291: POP
67292: POP
// if temp = 0 then
67293: LD_VAR 0 4
67297: PUSH
67298: LD_INT 0
67300: EQUAL
67301: IFFALSE 67517
// begin hiddencamera ( Gettasklist ( i ) [ 1 ] [ 2 ] , Gettasklist ( i ) [ 1 ] [ 3 ] , 2 ) ;
67303: LD_VAR 0 1
67307: PPUSH
67308: CALL_OW 437
67312: PUSH
67313: LD_INT 1
67315: ARRAY
67316: PUSH
67317: LD_INT 2
67319: ARRAY
67320: PPUSH
67321: LD_VAR 0 1
67325: PPUSH
67326: CALL_OW 437
67330: PUSH
67331: LD_INT 1
67333: ARRAY
67334: PUSH
67335: LD_INT 3
67337: ARRAY
67338: PPUSH
67339: LD_INT 2
67341: PPUSH
67342: CALL_OW 244
// cameracount = cameracount - 1 ;
67346: LD_ADDR_EXP 187
67350: PUSH
67351: LD_EXP 187
67355: PUSH
67356: LD_INT 1
67358: MINUS
67359: ST_TO_ADDR
// camerasplaced = camerasplaced ^ [ [ Gettasklist ( i ) [ 1 ] [ 2 ] , Gettasklist ( i ) [ 1 ] [ 3 ] ] ] ;
67360: LD_ADDR_EXP 188
67364: PUSH
67365: LD_EXP 188
67369: PUSH
67370: LD_VAR 0 1
67374: PPUSH
67375: CALL_OW 437
67379: PUSH
67380: LD_INT 1
67382: ARRAY
67383: PUSH
67384: LD_INT 2
67386: ARRAY
67387: PUSH
67388: LD_VAR 0 1
67392: PPUSH
67393: CALL_OW 437
67397: PUSH
67398: LD_INT 1
67400: ARRAY
67401: PUSH
67402: LD_INT 3
67404: ARRAY
67405: PUSH
67406: EMPTY
67407: LIST
67408: LIST
67409: PUSH
67410: EMPTY
67411: LIST
67412: ADD
67413: ST_TO_ADDR
// MoveAreaXY ( CameraMarkList [ 1 ] , Gettasklist ( i ) [ 1 ] [ 2 ] , Gettasklist ( i ) [ 1 ] [ 3 ] ) ;
67414: LD_EXP 189
67418: PUSH
67419: LD_INT 1
67421: ARRAY
67422: PPUSH
67423: LD_VAR 0 1
67427: PPUSH
67428: CALL_OW 437
67432: PUSH
67433: LD_INT 1
67435: ARRAY
67436: PUSH
67437: LD_INT 2
67439: ARRAY
67440: PPUSH
67441: LD_VAR 0 1
67445: PPUSH
67446: CALL_OW 437
67450: PUSH
67451: LD_INT 1
67453: ARRAY
67454: PUSH
67455: LD_INT 3
67457: ARRAY
67458: PPUSH
67459: CALL_OW 425
// SetAreaMapShow ( CameraMarkList [ 1 ] , 3 ) ;
67463: LD_EXP 189
67467: PUSH
67468: LD_INT 1
67470: ARRAY
67471: PPUSH
67472: LD_INT 3
67474: PPUSH
67475: CALL_OW 424
// CameraMarkListUsed = CameraMarkListUsed ^ CameraMarkList [ 1 ] ;
67479: LD_ADDR_EXP 190
67483: PUSH
67484: LD_EXP 190
67488: PUSH
67489: LD_EXP 189
67493: PUSH
67494: LD_INT 1
67496: ARRAY
67497: ADD
67498: ST_TO_ADDR
// CameraMarkList = delete ( CameraMarkList , 1 ) ;
67499: LD_ADDR_EXP 189
67503: PUSH
67504: LD_EXP 189
67508: PPUSH
67509: LD_INT 1
67511: PPUSH
67512: CALL_OW 3
67516: ST_TO_ADDR
// end ; end ; if hastask ( i ) > 0 then
67517: LD_VAR 0 1
67521: PPUSH
67522: CALL_OW 314
67526: PUSH
67527: LD_INT 0
67529: GREATER
67530: IFFALSE 67964
// if Gettasklist ( i ) [ 1 ] [ 1 ] = M and getdistunitxy ( i , Gettasklist ( i ) [ 1 ] [ 2 ] , Gettasklist ( i ) [ 1 ] [ 3 ] ) < 2 then
67532: LD_VAR 0 1
67536: PPUSH
67537: CALL_OW 437
67541: PUSH
67542: LD_INT 1
67544: ARRAY
67545: PUSH
67546: LD_INT 1
67548: ARRAY
67549: PUSH
67550: LD_STRING M
67552: EQUAL
67553: PUSH
67554: LD_VAR 0 1
67558: PPUSH
67559: LD_VAR 0 1
67563: PPUSH
67564: CALL_OW 437
67568: PUSH
67569: LD_INT 1
67571: ARRAY
67572: PUSH
67573: LD_INT 2
67575: ARRAY
67576: PPUSH
67577: LD_VAR 0 1
67581: PPUSH
67582: CALL_OW 437
67586: PUSH
67587: LD_INT 1
67589: ARRAY
67590: PUSH
67591: LD_INT 3
67593: ARRAY
67594: PPUSH
67595: CALL_OW 297
67599: PUSH
67600: LD_INT 2
67602: LESS
67603: AND
67604: IFFALSE 67964
// if camerasplaced > 0 then
67606: LD_EXP 188
67610: PUSH
67611: LD_INT 0
67613: GREATER
67614: IFFALSE 67964
// for j = 1 to camerasplaced do
67616: LD_ADDR_VAR 0 2
67620: PUSH
67621: DOUBLE
67622: LD_INT 1
67624: DEC
67625: ST_TO_ADDR
67626: LD_EXP 188
67630: PUSH
67631: FOR_TO
67632: IFFALSE 67962
// if Gettasklist ( i ) [ 1 ] [ 2 ] = camerasplaced [ j ] [ 1 ] and Gettasklist ( i ) [ 1 ] [ 3 ] = camerasplaced [ j ] [ 2 ] then
67634: LD_VAR 0 1
67638: PPUSH
67639: CALL_OW 437
67643: PUSH
67644: LD_INT 1
67646: ARRAY
67647: PUSH
67648: LD_INT 2
67650: ARRAY
67651: PUSH
67652: LD_EXP 188
67656: PUSH
67657: LD_VAR 0 2
67661: ARRAY
67662: PUSH
67663: LD_INT 1
67665: ARRAY
67666: EQUAL
67667: PUSH
67668: LD_VAR 0 1
67672: PPUSH
67673: CALL_OW 437
67677: PUSH
67678: LD_INT 1
67680: ARRAY
67681: PUSH
67682: LD_INT 3
67684: ARRAY
67685: PUSH
67686: LD_EXP 188
67690: PUSH
67691: LD_VAR 0 2
67695: ARRAY
67696: PUSH
67697: LD_INT 2
67699: ARRAY
67700: EQUAL
67701: AND
67702: IFFALSE 67960
// begin case Query ( q_remove_camera ) of 1 :
67704: LD_STRING q_remove_camera
67706: PPUSH
67707: CALL_OW 97
67711: PUSH
67712: LD_INT 1
67714: DOUBLE
67715: EQUAL
67716: IFTRUE 67720
67718: GO 67939
67720: POP
// begin removeseeing ( Gettasklist ( i ) [ 1 ] [ 2 ] , Gettasklist ( i ) [ 1 ] [ 3 ] , 2 ) ;
67721: LD_VAR 0 1
67725: PPUSH
67726: CALL_OW 437
67730: PUSH
67731: LD_INT 1
67733: ARRAY
67734: PUSH
67735: LD_INT 2
67737: ARRAY
67738: PPUSH
67739: LD_VAR 0 1
67743: PPUSH
67744: CALL_OW 437
67748: PUSH
67749: LD_INT 1
67751: ARRAY
67752: PUSH
67753: LD_INT 3
67755: ARRAY
67756: PPUSH
67757: LD_INT 2
67759: PPUSH
67760: CALL_OW 331
// camerasplaced = delete ( camerasplaced , j ) ;
67764: LD_ADDR_EXP 188
67768: PUSH
67769: LD_EXP 188
67773: PPUSH
67774: LD_VAR 0 2
67778: PPUSH
67779: CALL_OW 3
67783: ST_TO_ADDR
// cameracount = cameracount + 1 ;
67784: LD_ADDR_EXP 187
67788: PUSH
67789: LD_EXP 187
67793: PUSH
67794: LD_INT 1
67796: PLUS
67797: ST_TO_ADDR
// for k = 1 to CameraMarklistused do
67798: LD_ADDR_VAR 0 3
67802: PUSH
67803: DOUBLE
67804: LD_INT 1
67806: DEC
67807: ST_TO_ADDR
67808: LD_EXP 190
67812: PUSH
67813: FOR_TO
67814: IFFALSE 67933
// if InArea ( Gettasklist ( i ) [ 1 ] [ 2 ] , Gettasklist ( i ) [ 1 ] [ 3 ] , CameraMarklistused [ k ] ) then
67816: LD_VAR 0 1
67820: PPUSH
67821: CALL_OW 437
67825: PUSH
67826: LD_INT 1
67828: ARRAY
67829: PUSH
67830: LD_INT 2
67832: ARRAY
67833: PPUSH
67834: LD_VAR 0 1
67838: PPUSH
67839: CALL_OW 437
67843: PUSH
67844: LD_INT 1
67846: ARRAY
67847: PUSH
67848: LD_INT 3
67850: ARRAY
67851: PPUSH
67852: LD_EXP 190
67856: PUSH
67857: LD_VAR 0 3
67861: ARRAY
67862: PPUSH
67863: CALL_OW 309
67867: IFFALSE 67931
// begin SetAreaMapShow ( CameraMarklistused [ k ] , 0 ) ;
67869: LD_EXP 190
67873: PUSH
67874: LD_VAR 0 3
67878: ARRAY
67879: PPUSH
67880: LD_INT 0
67882: PPUSH
67883: CALL_OW 424
// CameraMarkList = CameraMarkList ^ CameraMarklistused [ k ] ;
67887: LD_ADDR_EXP 189
67891: PUSH
67892: LD_EXP 189
67896: PUSH
67897: LD_EXP 190
67901: PUSH
67902: LD_VAR 0 3
67906: ARRAY
67907: ADD
67908: ST_TO_ADDR
// CameraMarklistused = delete ( CameraMarklistused , k ) ;
67909: LD_ADDR_EXP 190
67913: PUSH
67914: LD_EXP 190
67918: PPUSH
67919: LD_VAR 0 3
67923: PPUSH
67924: CALL_OW 3
67928: ST_TO_ADDR
// break ;
67929: GO 67933
// end ;
67931: GO 67813
67933: POP
67934: POP
// break ;
67935: GO 67962
// end ; 2 :
67937: GO 67960
67939: LD_INT 2
67941: DOUBLE
67942: EQUAL
67943: IFTRUE 67947
67945: GO 67959
67947: POP
// begin comstop ( i ) ;
67948: LD_VAR 0 1
67952: PPUSH
67953: CALL_OW 141
// end ; end ;
67957: GO 67960
67959: POP
// end ;
67960: GO 67631
67962: POP
67963: POP
// end ;
67964: GO 67100
67966: POP
67967: POP
// env = [ ] ;
67968: LD_ADDR_VAR 0 5
67972: PUSH
67973: EMPTY
67974: ST_TO_ADDR
// temp = [ Seekarea1 , Seekarea2 , Seekarea3 , Seekarea4 , Seekarea5 , Seekarea6 , Seekarea7 , Seekarea8 , Seekarea9 , Seekarea10 ] ;
67975: LD_ADDR_VAR 0 4
67979: PUSH
67980: LD_INT 6
67982: PUSH
67983: LD_INT 7
67985: PUSH
67986: LD_INT 8
67988: PUSH
67989: LD_INT 9
67991: PUSH
67992: LD_INT 10
67994: PUSH
67995: LD_INT 11
67997: PUSH
67998: LD_INT 12
68000: PUSH
68001: LD_INT 13
68003: PUSH
68004: LD_INT 14
68006: PUSH
68007: LD_INT 24
68009: PUSH
68010: EMPTY
68011: LIST
68012: LIST
68013: LIST
68014: LIST
68015: LIST
68016: LIST
68017: LIST
68018: LIST
68019: LIST
68020: LIST
68021: ST_TO_ADDR
// for i in temp do
68022: LD_ADDR_VAR 0 1
68026: PUSH
68027: LD_VAR 0 4
68031: PUSH
68032: FOR_IN
68033: IFFALSE 68058
// env = env ^ listenvironmentarea ( i ) ;
68035: LD_ADDR_VAR 0 5
68039: PUSH
68040: LD_VAR 0 5
68044: PUSH
68045: LD_VAR 0 1
68049: PPUSH
68050: CALL_OW 353
68054: ADD
68055: ST_TO_ADDR
68056: GO 68032
68058: POP
68059: POP
// for i in env do
68060: LD_ADDR_VAR 0 1
68064: PUSH
68065: LD_VAR 0 5
68069: PUSH
68070: FOR_IN
68071: IFFALSE 68183
// begin temp = 0 ;
68073: LD_ADDR_VAR 0 4
68077: PUSH
68078: LD_INT 0
68080: ST_TO_ADDR
// for j in camerasplaced do
68081: LD_ADDR_VAR 0 2
68085: PUSH
68086: LD_EXP 188
68090: PUSH
68091: FOR_IN
68092: IFFALSE 68144
// if i [ 1 ] = j [ 1 ] and i [ 2 ] = j [ 2 ] then
68094: LD_VAR 0 1
68098: PUSH
68099: LD_INT 1
68101: ARRAY
68102: PUSH
68103: LD_VAR 0 2
68107: PUSH
68108: LD_INT 1
68110: ARRAY
68111: EQUAL
68112: PUSH
68113: LD_VAR 0 1
68117: PUSH
68118: LD_INT 2
68120: ARRAY
68121: PUSH
68122: LD_VAR 0 2
68126: PUSH
68127: LD_INT 2
68129: ARRAY
68130: EQUAL
68131: AND
68132: IFFALSE 68142
// temp = 1 ;
68134: LD_ADDR_VAR 0 4
68138: PUSH
68139: LD_INT 1
68141: ST_TO_ADDR
68142: GO 68091
68144: POP
68145: POP
// if temp = 0 then
68146: LD_VAR 0 4
68150: PUSH
68151: LD_INT 0
68153: EQUAL
68154: IFFALSE 68181
// removeseeing ( i [ 1 ] , i [ 2 ] , 2 ) ;
68156: LD_VAR 0 1
68160: PUSH
68161: LD_INT 1
68163: ARRAY
68164: PPUSH
68165: LD_VAR 0 1
68169: PUSH
68170: LD_INT 2
68172: ARRAY
68173: PPUSH
68174: LD_INT 2
68176: PPUSH
68177: CALL_OW 331
// end ;
68181: GO 68070
68183: POP
68184: POP
// if cameracount = 0 then
68185: LD_EXP 187
68189: PUSH
68190: LD_INT 0
68192: EQUAL
68193: IFFALSE 68210
// settech ( tech_hidcam , 2 , state_disabled ) else
68195: LD_INT 17
68197: PPUSH
68198: LD_INT 2
68200: PPUSH
68201: LD_INT 0
68203: PPUSH
68204: CALL_OW 322
68208: GO 68223
// settech ( tech_hidcam , 2 , state_researched ) ;
68210: LD_INT 17
68212: PPUSH
68213: LD_INT 2
68215: PPUSH
68216: LD_INT 2
68218: PPUSH
68219: CALL_OW 322
// enable ;
68223: ENABLE
// end ;
68224: PPOPN 6
68226: END
// every 0 0$0.1 trigger getside ( Omar ) = 5 do
68227: LD_EXP 99
68231: PPUSH
68232: CALL_OW 255
68236: PUSH
68237: LD_INT 5
68239: EQUAL
68240: IFFALSE 68422
68242: GO 68244
68244: DISABLE
// begin placeunitxy ( omar , 155 , 9 , 0 ) ;
68245: LD_EXP 99
68249: PPUSH
68250: LD_INT 155
68252: PPUSH
68253: LD_INT 9
68255: PPUSH
68256: LD_INT 0
68258: PPUSH
68259: CALL_OW 48
// comtamexy ( omar , 155 , 8 ) ;
68263: LD_EXP 99
68267: PPUSH
68268: LD_INT 155
68270: PPUSH
68271: LD_INT 8
68273: PPUSH
68274: CALL_OW 131
// wait ( 0 0$1 ) ;
68278: LD_INT 35
68280: PPUSH
68281: CALL_OW 67
// repeat comtamexy ( omar , 155 , 8 ) ;
68285: LD_EXP 99
68289: PPUSH
68290: LD_INT 155
68292: PPUSH
68293: LD_INT 8
68295: PPUSH
68296: CALL_OW 131
// commovexy ( kitty , 157 , 3 ) ;
68300: LD_EXP 205
68304: PPUSH
68305: LD_INT 157
68307: PPUSH
68308: LD_INT 3
68310: PPUSH
68311: CALL_OW 111
// commovexy ( cat , 159 , 5 ) ;
68315: LD_EXP 206
68319: PPUSH
68320: LD_INT 159
68322: PPUSH
68323: LD_INT 5
68325: PPUSH
68326: CALL_OW 111
// wait ( 0 0$1 ) ;
68330: LD_INT 35
68332: PPUSH
68333: CALL_OW 67
// until istamedby ( kitty ) and istamedby ( cat ) ;
68337: LD_EXP 205
68341: PPUSH
68342: CALL_OW 317
68346: PUSH
68347: LD_EXP 206
68351: PPUSH
68352: CALL_OW 317
68356: AND
68357: IFFALSE 68285
// removeunit ( omar ) ;
68359: LD_EXP 99
68363: PPUSH
68364: CALL_OW 64
// removeunit ( kitty ) ;
68368: LD_EXP 205
68372: PPUSH
68373: CALL_OW 64
// removeunit ( cat ) ;
68377: LD_EXP 206
68381: PPUSH
68382: CALL_OW 64
// setside ( omar , 2 ) ;
68386: LD_EXP 99
68390: PPUSH
68391: LD_INT 2
68393: PPUSH
68394: CALL_OW 235
// if difficulty = 1 then
68398: LD_OWVAR 67
68402: PUSH
68403: LD_INT 1
68405: EQUAL
68406: IFFALSE 68418
// ChangeSideFog ( 5 , 2 ) ;
68408: LD_INT 5
68410: PPUSH
68411: LD_INT 2
68413: PPUSH
68414: CALL_OW 343
// ResetFog ;
68418: CALL_OW 335
// end ;
68422: END
// every 0 0$0.1 trigger artifact_ready = 1 do var i , j , starttime , timeup , finished , scientists , closest_sci , temp ;
68423: LD_EXP 158
68427: PUSH
68428: LD_INT 1
68430: EQUAL
68431: IFFALSE 70100
68433: GO 68435
68435: DISABLE
68436: LD_INT 0
68438: PPUSH
68439: PPUSH
68440: PPUSH
68441: PPUSH
68442: PPUSH
68443: PPUSH
68444: PPUSH
68445: PPUSH
// begin temp = filterallunits ( [ [ f_side , 2 ] , [ f_class , class_scientistic ] , [ f_distxy , artifact_hex [ 1 ] , artifact_hex [ 2 ] , 5 ] , [ f_not , [ f_driving ] ] ] ) ;
68446: LD_ADDR_VAR 0 8
68450: PUSH
68451: LD_INT 22
68453: PUSH
68454: LD_INT 2
68456: PUSH
68457: EMPTY
68458: LIST
68459: LIST
68460: PUSH
68461: LD_INT 25
68463: PUSH
68464: LD_INT 4
68466: PUSH
68467: EMPTY
68468: LIST
68469: LIST
68470: PUSH
68471: LD_INT 92
68473: PUSH
68474: LD_EXP 159
68478: PUSH
68479: LD_INT 1
68481: ARRAY
68482: PUSH
68483: LD_EXP 159
68487: PUSH
68488: LD_INT 2
68490: ARRAY
68491: PUSH
68492: LD_INT 5
68494: PUSH
68495: EMPTY
68496: LIST
68497: LIST
68498: LIST
68499: LIST
68500: PUSH
68501: LD_INT 3
68503: PUSH
68504: LD_INT 55
68506: PUSH
68507: EMPTY
68508: LIST
68509: PUSH
68510: EMPTY
68511: LIST
68512: LIST
68513: PUSH
68514: EMPTY
68515: LIST
68516: LIST
68517: LIST
68518: LIST
68519: PPUSH
68520: CALL_OW 69
68524: ST_TO_ADDR
// if temp > 0 then
68525: LD_VAR 0 8
68529: PUSH
68530: LD_INT 0
68532: GREATER
68533: IFFALSE 70099
// begin scientists = unitfilter ( temp , [ f_minskill , skill_scientistic , 7 ] ) ;
68535: LD_ADDR_VAR 0 6
68539: PUSH
68540: LD_VAR 0 8
68544: PPUSH
68545: LD_INT 28
68547: PUSH
68548: LD_INT 4
68550: PUSH
68551: LD_INT 7
68553: PUSH
68554: EMPTY
68555: LIST
68556: LIST
68557: LIST
68558: PPUSH
68559: CALL_OW 72
68563: ST_TO_ADDR
// if Chrissy in temp then
68564: LD_EXP 103
68568: PUSH
68569: LD_VAR 0 8
68573: IN
68574: IFFALSE 68592
// scientists = scientists union Chrissy ;
68576: LD_ADDR_VAR 0 6
68580: PUSH
68581: LD_VAR 0 6
68585: PUSH
68586: LD_EXP 103
68590: UNION
68591: ST_TO_ADDR
// if Sonya in temp then
68592: LD_EXP 90
68596: PUSH
68597: LD_VAR 0 8
68601: IN
68602: IFFALSE 68620
// scientists = scientists union Sonya ;
68604: LD_ADDR_VAR 0 6
68608: PUSH
68609: LD_VAR 0 6
68613: PUSH
68614: LD_EXP 90
68618: UNION
68619: ST_TO_ADDR
// if Aviradze in temp then
68620: LD_EXP 93
68624: PUSH
68625: LD_VAR 0 8
68629: IN
68630: IFFALSE 68648
// scientists = scientists union Aviradze ;
68632: LD_ADDR_VAR 0 6
68636: PUSH
68637: LD_VAR 0 6
68641: PUSH
68642: LD_EXP 93
68646: UNION
68647: ST_TO_ADDR
// if Khattam in temp then
68648: LD_EXP 96
68652: PUSH
68653: LD_VAR 0 8
68657: IN
68658: IFFALSE 68676
// scientists = scientists union Khattam ;
68660: LD_ADDR_VAR 0 6
68664: PUSH
68665: LD_VAR 0 6
68669: PUSH
68670: LD_EXP 96
68674: UNION
68675: ST_TO_ADDR
// closest_sci = NearestUnitToXY ( scientists , artifact_hex [ 1 ] , artifact_hex [ 2 ] ) ;
68676: LD_ADDR_VAR 0 7
68680: PUSH
68681: LD_VAR 0 6
68685: PPUSH
68686: LD_EXP 159
68690: PUSH
68691: LD_INT 1
68693: ARRAY
68694: PPUSH
68695: LD_EXP 159
68699: PUSH
68700: LD_INT 2
68702: ARRAY
68703: PPUSH
68704: CALL_OW 73
68708: ST_TO_ADDR
// if closest_sci = 0 then
68709: LD_VAR 0 7
68713: PUSH
68714: LD_INT 0
68716: EQUAL
68717: IFFALSE 68741
// if scientist in temp then
68719: LD_EXP 109
68723: PUSH
68724: LD_VAR 0 8
68728: IN
68729: IFFALSE 68741
// closest_sci = scientist ;
68731: LD_ADDR_VAR 0 7
68735: PUSH
68736: LD_EXP 109
68740: ST_TO_ADDR
// if closest_sci = 0 then
68741: LD_VAR 0 7
68745: PUSH
68746: LD_INT 0
68748: EQUAL
68749: IFFALSE 69201
// begin closest_sci = NearestUnitToXY ( temp , artifact_hex [ 1 ] , artifact_hex [ 2 ] ) ;
68751: LD_ADDR_VAR 0 7
68755: PUSH
68756: LD_VAR 0 8
68760: PPUSH
68761: LD_EXP 159
68765: PUSH
68766: LD_INT 1
68768: ARRAY
68769: PPUSH
68770: LD_EXP 159
68774: PUSH
68775: LD_INT 2
68777: ARRAY
68778: PPUSH
68779: CALL_OW 73
68783: ST_TO_ADDR
// i = false ;
68784: LD_ADDR_VAR 0 1
68788: PUSH
68789: LD_INT 0
68791: ST_TO_ADDR
// if art_checktime < closest_sci then
68792: LD_EXP 164
68796: PUSH
68797: LD_VAR 0 7
68801: LESS
68802: IFFALSE 68814
// i = true else
68804: LD_ADDR_VAR 0 1
68808: PUSH
68809: LD_INT 1
68811: ST_TO_ADDR
68812: GO 68840
// if tick > art_checktime [ closest_sci ] then
68814: LD_OWVAR 1
68818: PUSH
68819: LD_EXP 164
68823: PUSH
68824: LD_VAR 0 7
68828: ARRAY
68829: GREATER
68830: IFFALSE 68840
// i = true ;
68832: LD_ADDR_VAR 0 1
68836: PUSH
68837: LD_INT 1
68839: ST_TO_ADDR
// if i then
68840: LD_VAR 0 1
68844: IFFALSE 69199
// begin if closest_sci in [ Heike , Olaf , Oswald , Ralph , Sonya , Aviradze , Kowalski , Evelyn , Swansson , Dwayne , Khattam ] then
68846: LD_VAR 0 7
68850: PUSH
68851: LD_EXP 87
68855: PUSH
68856: LD_EXP 89
68860: PUSH
68861: LD_EXP 88
68865: PUSH
68866: LD_EXP 91
68870: PUSH
68871: LD_EXP 90
68875: PUSH
68876: LD_EXP 93
68880: PUSH
68881: LD_EXP 92
68885: PUSH
68886: LD_EXP 97
68890: PUSH
68891: LD_EXP 94
68895: PUSH
68896: LD_EXP 95
68900: PUSH
68901: LD_EXP 96
68905: PUSH
68906: EMPTY
68907: LIST
68908: LIST
68909: LIST
68910: LIST
68911: LIST
68912: LIST
68913: LIST
68914: LIST
68915: LIST
68916: LIST
68917: LIST
68918: IN
68919: IFFALSE 69129
// begin case closest_sci of Heike :
68921: LD_VAR 0 7
68925: PUSH
68926: LD_EXP 87
68930: DOUBLE
68931: EQUAL
68932: IFTRUE 68936
68934: GO 68951
68936: POP
// say ( Heike , art_not_sci_He ) ; Olaf :
68937: LD_EXP 87
68941: PPUSH
68942: LD_STRING art_not_sci_He
68944: PPUSH
68945: CALL_OW 88
68949: GO 69127
68951: LD_EXP 89
68955: DOUBLE
68956: EQUAL
68957: IFTRUE 68961
68959: GO 68976
68961: POP
// say ( Olaf , art_not_sci_Olaf ) ; Oswald :
68962: LD_EXP 89
68966: PPUSH
68967: LD_STRING art_not_sci_Olaf
68969: PPUSH
68970: CALL_OW 88
68974: GO 69127
68976: LD_EXP 88
68980: DOUBLE
68981: EQUAL
68982: IFTRUE 68986
68984: GO 69001
68986: POP
// say ( Oswald , art_not_sci_Os ) ; Ralph :
68987: LD_EXP 88
68991: PPUSH
68992: LD_STRING art_not_sci_Os
68994: PPUSH
68995: CALL_OW 88
68999: GO 69127
69001: LD_EXP 91
69005: DOUBLE
69006: EQUAL
69007: IFTRUE 69011
69009: GO 69026
69011: POP
// say ( Ralph , art_not_sci_Ra ) ; Kowalski :
69012: LD_EXP 91
69016: PPUSH
69017: LD_STRING art_not_sci_Ra
69019: PPUSH
69020: CALL_OW 88
69024: GO 69127
69026: LD_EXP 92
69030: DOUBLE
69031: EQUAL
69032: IFTRUE 69036
69034: GO 69051
69036: POP
// say ( Kowalski , art_not_sci_Ko ) ; Evelyn :
69037: LD_EXP 92
69041: PPUSH
69042: LD_STRING art_not_sci_Ko
69044: PPUSH
69045: CALL_OW 88
69049: GO 69127
69051: LD_EXP 97
69055: DOUBLE
69056: EQUAL
69057: IFTRUE 69061
69059: GO 69076
69061: POP
// say ( Evelyn , art_not_sci_Ev ) ; Swansson :
69062: LD_EXP 97
69066: PPUSH
69067: LD_STRING art_not_sci_Ev
69069: PPUSH
69070: CALL_OW 88
69074: GO 69127
69076: LD_EXP 94
69080: DOUBLE
69081: EQUAL
69082: IFTRUE 69086
69084: GO 69101
69086: POP
// say ( Swansson , art_not_sci_Sw ) ; Dwayne :
69087: LD_EXP 94
69091: PPUSH
69092: LD_STRING art_not_sci_Sw
69094: PPUSH
69095: CALL_OW 88
69099: GO 69127
69101: LD_EXP 95
69105: DOUBLE
69106: EQUAL
69107: IFTRUE 69111
69109: GO 69126
69111: POP
// say ( Dwayne , art_not_sci_Dw ) ; end ;
69112: LD_EXP 95
69116: PPUSH
69117: LD_STRING art_not_sci_Dw
69119: PPUSH
69120: CALL_OW 88
69124: GO 69127
69126: POP
// end else
69127: GO 69170
// begin if getsex ( closest_sci ) = sex_male then
69129: LD_VAR 0 7
69133: PPUSH
69134: CALL_OW 258
69138: PUSH
69139: LD_INT 1
69141: EQUAL
69142: IFFALSE 69158
// say ( closest_sci , art_not_sci_SomeM ) else
69144: LD_VAR 0 7
69148: PPUSH
69149: LD_STRING art_not_sci_SomeM
69151: PPUSH
69152: CALL_OW 88
69156: GO 69170
// say ( closest_sci , art_not_sci_SomeF ) ;
69158: LD_VAR 0 7
69162: PPUSH
69163: LD_STRING art_not_sci_SomeF
69165: PPUSH
69166: CALL_OW 88
// end ; art_checktime = Replace ( art_checktime , closest_sci , tick + 0 0$15 ) ;
69170: LD_ADDR_EXP 164
69174: PUSH
69175: LD_EXP 164
69179: PPUSH
69180: LD_VAR 0 7
69184: PPUSH
69185: LD_OWVAR 1
69189: PUSH
69190: LD_INT 525
69192: PLUS
69193: PPUSH
69194: CALL_OW 1
69198: ST_TO_ADDR
// end ; end else
69199: GO 70099
// begin if Measurement_ani = 0 then
69201: LD_EXP 168
69205: PUSH
69206: LD_INT 0
69208: EQUAL
69209: IFFALSE 69237
// begin if difficulty = 3 then
69211: LD_OWVAR 67
69215: PUSH
69216: LD_INT 3
69218: EQUAL
69219: IFFALSE 69229
// Measurement_timecount = 0 ;
69221: LD_ADDR_EXP 166
69225: PUSH
69226: LD_INT 0
69228: ST_TO_ADDR
// Measurement_start = 0 ;
69229: LD_ADDR_EXP 165
69233: PUSH
69234: LD_INT 0
69236: ST_TO_ADDR
// end ; if GetDistUnitXY ( closest_sci , artifact_hex [ 1 ] , artifact_hex [ 2 ] ) < 8 and hastask ( closest_sci ) = 0 and Measurement_ani = 0 then
69237: LD_VAR 0 7
69241: PPUSH
69242: LD_EXP 159
69246: PUSH
69247: LD_INT 1
69249: ARRAY
69250: PPUSH
69251: LD_EXP 159
69255: PUSH
69256: LD_INT 2
69258: ARRAY
69259: PPUSH
69260: CALL_OW 297
69264: PUSH
69265: LD_INT 8
69267: LESS
69268: PUSH
69269: LD_VAR 0 7
69273: PPUSH
69274: CALL_OW 314
69278: PUSH
69279: LD_INT 0
69281: EQUAL
69282: AND
69283: PUSH
69284: LD_EXP 168
69288: PUSH
69289: LD_INT 0
69291: EQUAL
69292: AND
69293: IFFALSE 69322
// comagressivemove ( closest_sci , artifact_hex [ 1 ] , artifact_hex [ 2 ] ) ;
69295: LD_VAR 0 7
69299: PPUSH
69300: LD_EXP 159
69304: PUSH
69305: LD_INT 1
69307: ARRAY
69308: PPUSH
69309: LD_EXP 159
69313: PUSH
69314: LD_INT 2
69316: ARRAY
69317: PPUSH
69318: CALL_OW 114
// if GetDistUnitXY ( closest_sci , artifact_hex [ 1 ] , artifact_hex [ 2 ] ) <= 2 and Measurement_ani = 0 then
69322: LD_VAR 0 7
69326: PPUSH
69327: LD_EXP 159
69331: PUSH
69332: LD_INT 1
69334: ARRAY
69335: PPUSH
69336: LD_EXP 159
69340: PUSH
69341: LD_INT 2
69343: ARRAY
69344: PPUSH
69345: CALL_OW 297
69349: PUSH
69350: LD_INT 2
69352: LESSEQUAL
69353: PUSH
69354: LD_EXP 168
69358: PUSH
69359: LD_INT 0
69361: EQUAL
69362: AND
69363: IFFALSE 69732
// begin createdepositxy ( artifact_hex [ 1 ] , artifact_hex [ 2 ] , mat_siberit ) ;
69365: LD_EXP 159
69369: PUSH
69370: LD_INT 1
69372: ARRAY
69373: PPUSH
69374: LD_EXP 159
69378: PUSH
69379: LD_INT 2
69381: ARRAY
69382: PPUSH
69383: LD_INT 3
69385: PPUSH
69386: CALL_OW 62
// if InArea ( Artifact_hex [ 1 ] , Artifact_hex [ 2 ] , artifact_left ) and not Measurement_loc = 1 then
69390: LD_EXP 159
69394: PUSH
69395: LD_INT 1
69397: ARRAY
69398: PPUSH
69399: LD_EXP 159
69403: PUSH
69404: LD_INT 2
69406: ARRAY
69407: PPUSH
69408: LD_INT 26
69410: PPUSH
69411: CALL_OW 309
69415: PUSH
69416: LD_EXP 167
69420: PUSH
69421: LD_INT 1
69423: EQUAL
69424: NOT
69425: AND
69426: IFFALSE 69436
// Measurement_timecount = 0 ;
69428: LD_ADDR_EXP 166
69432: PUSH
69433: LD_INT 0
69435: ST_TO_ADDR
// if InArea ( Artifact_hex [ 1 ] , Artifact_hex [ 2 ] , artifact_centre ) and not Measurement_loc = 2 then
69436: LD_EXP 159
69440: PUSH
69441: LD_INT 1
69443: ARRAY
69444: PPUSH
69445: LD_EXP 159
69449: PUSH
69450: LD_INT 2
69452: ARRAY
69453: PPUSH
69454: LD_INT 28
69456: PPUSH
69457: CALL_OW 309
69461: PUSH
69462: LD_EXP 167
69466: PUSH
69467: LD_INT 2
69469: EQUAL
69470: NOT
69471: AND
69472: IFFALSE 69482
// Measurement_timecount = 0 ;
69474: LD_ADDR_EXP 166
69478: PUSH
69479: LD_INT 0
69481: ST_TO_ADDR
// if InArea ( Artifact_hex [ 1 ] , Artifact_hex [ 2 ] , artifact_right ) and not Measurement_loc = 3 then
69482: LD_EXP 159
69486: PUSH
69487: LD_INT 1
69489: ARRAY
69490: PPUSH
69491: LD_EXP 159
69495: PUSH
69496: LD_INT 2
69498: ARRAY
69499: PPUSH
69500: LD_INT 27
69502: PPUSH
69503: CALL_OW 309
69507: PUSH
69508: LD_EXP 167
69512: PUSH
69513: LD_INT 3
69515: EQUAL
69516: NOT
69517: AND
69518: IFFALSE 69528
// Measurement_timecount = 0 ;
69520: LD_ADDR_EXP 166
69524: PUSH
69525: LD_INT 0
69527: ST_TO_ADDR
// if Artifact_hex [ 2 ] > 167 and not Measurement_loc = 4 then
69528: LD_EXP 159
69532: PUSH
69533: LD_INT 2
69535: ARRAY
69536: PUSH
69537: LD_INT 167
69539: GREATER
69540: PUSH
69541: LD_EXP 167
69545: PUSH
69546: LD_INT 4
69548: EQUAL
69549: NOT
69550: AND
69551: IFFALSE 69561
// Measurement_timecount = 0 ;
69553: LD_ADDR_EXP 166
69557: PUSH
69558: LD_INT 0
69560: ST_TO_ADDR
// if Measurement_start = 0 then
69561: LD_EXP 165
69565: PUSH
69566: LD_INT 0
69568: EQUAL
69569: IFFALSE 69587
// Measurement_start = tick - Measurement_timecount ;
69571: LD_ADDR_EXP 165
69575: PUSH
69576: LD_OWVAR 1
69580: PUSH
69581: LD_EXP 166
69585: MINUS
69586: ST_TO_ADDR
// Measurement_sci = closest_sci ;
69587: LD_ADDR_EXP 169
69591: PUSH
69592: LD_VAR 0 7
69596: ST_TO_ADDR
// Measurement_ani = 1 ;
69597: LD_ADDR_EXP 168
69601: PUSH
69602: LD_INT 1
69604: ST_TO_ADDR
// if InArea ( Artifact_hex [ 1 ] , Artifact_hex [ 2 ] , artifact_left ) then
69605: LD_EXP 159
69609: PUSH
69610: LD_INT 1
69612: ARRAY
69613: PPUSH
69614: LD_EXP 159
69618: PUSH
69619: LD_INT 2
69621: ARRAY
69622: PPUSH
69623: LD_INT 26
69625: PPUSH
69626: CALL_OW 309
69630: IFFALSE 69640
// Measurement_loc = 1 ;
69632: LD_ADDR_EXP 167
69636: PUSH
69637: LD_INT 1
69639: ST_TO_ADDR
// if InArea ( Artifact_hex [ 1 ] , Artifact_hex [ 2 ] , artifact_centre ) then
69640: LD_EXP 159
69644: PUSH
69645: LD_INT 1
69647: ARRAY
69648: PPUSH
69649: LD_EXP 159
69653: PUSH
69654: LD_INT 2
69656: ARRAY
69657: PPUSH
69658: LD_INT 28
69660: PPUSH
69661: CALL_OW 309
69665: IFFALSE 69675
// Measurement_loc = 2 ;
69667: LD_ADDR_EXP 167
69671: PUSH
69672: LD_INT 2
69674: ST_TO_ADDR
// if InArea ( Artifact_hex [ 1 ] , Artifact_hex [ 2 ] , artifact_right ) then
69675: LD_EXP 159
69679: PUSH
69680: LD_INT 1
69682: ARRAY
69683: PPUSH
69684: LD_EXP 159
69688: PUSH
69689: LD_INT 2
69691: ARRAY
69692: PPUSH
69693: LD_INT 27
69695: PPUSH
69696: CALL_OW 309
69700: IFFALSE 69710
// Measurement_loc = 3 ;
69702: LD_ADDR_EXP 167
69706: PUSH
69707: LD_INT 3
69709: ST_TO_ADDR
// if Artifact_hex [ 2 ] > 167 then
69710: LD_EXP 159
69714: PUSH
69715: LD_INT 2
69717: ARRAY
69718: PUSH
69719: LD_INT 167
69721: GREATER
69722: IFFALSE 69732
// Measurement_loc = 4 ;
69724: LD_ADDR_EXP 167
69728: PUSH
69729: LD_INT 4
69731: ST_TO_ADDR
// end ; if Measurement_ani = 1 then
69732: LD_EXP 168
69736: PUSH
69737: LD_INT 1
69739: EQUAL
69740: IFFALSE 69758
// Measurement_timecount = tick - Measurement_start ;
69742: LD_ADDR_EXP 166
69746: PUSH
69747: LD_OWVAR 1
69751: PUSH
69752: LD_EXP 165
69756: MINUS
69757: ST_TO_ADDR
// if Measurement_timecount > [ 3 3$0 , 4 4$0 , 5 5$0 ] [ difficulty ] and Measurement_ani = 1 then
69758: LD_EXP 166
69762: PUSH
69763: LD_INT 6300
69765: PUSH
69766: LD_INT 8400
69768: PUSH
69769: LD_INT 10500
69771: PUSH
69772: EMPTY
69773: LIST
69774: LIST
69775: LIST
69776: PUSH
69777: LD_OWVAR 67
69781: ARRAY
69782: GREATER
69783: PUSH
69784: LD_EXP 168
69788: PUSH
69789: LD_INT 1
69791: EQUAL
69792: AND
69793: IFFALSE 70099
// begin Measurement_start = 0 ;
69795: LD_ADDR_EXP 165
69799: PUSH
69800: LD_INT 0
69802: ST_TO_ADDR
// Measurement_timecount = 0 ;
69803: LD_ADDR_EXP 166
69807: PUSH
69808: LD_INT 0
69810: ST_TO_ADDR
// Measurement_ani = 0 ;
69811: LD_ADDR_EXP 168
69815: PUSH
69816: LD_INT 0
69818: ST_TO_ADDR
// Measurement_loc = 0 ;
69819: LD_ADDR_EXP 167
69823: PUSH
69824: LD_INT 0
69826: ST_TO_ADDR
// Measurement_sci = 0 ;
69827: LD_ADDR_EXP 169
69831: PUSH
69832: LD_INT 0
69834: ST_TO_ADDR
// Measurement_delay = 0 ;
69835: LD_ADDR_EXP 170
69839: PUSH
69840: LD_INT 0
69842: ST_TO_ADDR
// artifact_ready = 0 ;
69843: LD_ADDR_EXP 158
69847: PUSH
69848: LD_INT 0
69850: ST_TO_ADDR
// if InArea ( Artifact_hex [ 1 ] , Artifact_hex [ 2 ] , artifact_left ) then
69851: LD_EXP 159
69855: PUSH
69856: LD_INT 1
69858: ARRAY
69859: PPUSH
69860: LD_EXP 159
69864: PUSH
69865: LD_INT 2
69867: ARRAY
69868: PPUSH
69869: LD_INT 26
69871: PPUSH
69872: CALL_OW 309
69876: IFFALSE 69896
// begin SetAreaMapShow ( artifact_left , 0 ) ;
69878: LD_INT 26
69880: PPUSH
69881: LD_INT 0
69883: PPUSH
69884: CALL_OW 424
// art_leftdone = 1 ;
69888: LD_ADDR_EXP 160
69892: PUSH
69893: LD_INT 1
69895: ST_TO_ADDR
// end ; if InArea ( Artifact_hex [ 1 ] , Artifact_hex [ 2 ] , artifact_right ) then
69896: LD_EXP 159
69900: PUSH
69901: LD_INT 1
69903: ARRAY
69904: PPUSH
69905: LD_EXP 159
69909: PUSH
69910: LD_INT 2
69912: ARRAY
69913: PPUSH
69914: LD_INT 27
69916: PPUSH
69917: CALL_OW 309
69921: IFFALSE 69941
// begin SetAreaMapShow ( artifact_right , 0 ) ;
69923: LD_INT 27
69925: PPUSH
69926: LD_INT 0
69928: PPUSH
69929: CALL_OW 424
// art_rightdone = 1 ;
69933: LD_ADDR_EXP 161
69937: PUSH
69938: LD_INT 1
69940: ST_TO_ADDR
// end ; if InArea ( Artifact_hex [ 1 ] , Artifact_hex [ 2 ] , artifact_centre ) then
69941: LD_EXP 159
69945: PUSH
69946: LD_INT 1
69948: ARRAY
69949: PPUSH
69950: LD_EXP 159
69954: PUSH
69955: LD_INT 2
69957: ARRAY
69958: PPUSH
69959: LD_INT 28
69961: PPUSH
69962: CALL_OW 309
69966: IFFALSE 69986
// begin SetAreaMapShow ( artifact_centre , 0 ) ;
69968: LD_INT 28
69970: PPUSH
69971: LD_INT 0
69973: PPUSH
69974: CALL_OW 424
// art_centredone = 1 ;
69978: LD_ADDR_EXP 162
69982: PUSH
69983: LD_INT 1
69985: ST_TO_ADDR
// end ; if Artifact_hex [ 2 ] > 167 then
69986: LD_EXP 159
69990: PUSH
69991: LD_INT 2
69993: ARRAY
69994: PUSH
69995: LD_INT 167
69997: GREATER
69998: IFFALSE 70018
// begin SetAreaMapShow ( artifact_south_line , 0 ) ;
70000: LD_INT 43
70002: PPUSH
70003: LD_INT 0
70005: PPUSH
70006: CALL_OW 424
// art_southdone = 1 ;
70010: LD_ADDR_EXP 163
70014: PUSH
70015: LD_INT 1
70017: ST_TO_ADDR
// end ; if art_leftdone = 1 and art_rightdone = 1 and art_centredone = 1 and art_southdone = 1 then
70018: LD_EXP 160
70022: PUSH
70023: LD_INT 1
70025: EQUAL
70026: PUSH
70027: LD_EXP 161
70031: PUSH
70032: LD_INT 1
70034: EQUAL
70035: AND
70036: PUSH
70037: LD_EXP 162
70041: PUSH
70042: LD_INT 1
70044: EQUAL
70045: AND
70046: PUSH
70047: LD_EXP 163
70051: PUSH
70052: LD_INT 1
70054: EQUAL
70055: AND
70056: IFFALSE 70087
// begin say ( Chrissy , art2_Ch6 ) ;
70058: LD_EXP 103
70062: PPUSH
70063: LD_STRING art2_Ch6
70065: PPUSH
70066: CALL_OW 88
// ChangeMissionObjectives ( measurement3 ) ;
70070: LD_STRING measurement3
70072: PPUSH
70073: CALL_OW 337
// artifacton = 3 ;
70077: LD_ADDR_EXP 156
70081: PUSH
70082: LD_INT 3
70084: ST_TO_ADDR
// end else
70085: GO 70099
// say ( Chrissy , art2_Ch5 ) end ;
70087: LD_EXP 103
70091: PPUSH
70092: LD_STRING art2_Ch5
70094: PPUSH
70095: CALL_OW 88
// end ; end ; enable ;
70099: ENABLE
// end ;
70100: PPOPN 8
70102: END
// every 0 0$0.1 trigger Measurement_ani = 1 do var hex ;
70103: LD_EXP 168
70107: PUSH
70108: LD_INT 1
70110: EQUAL
70111: IFFALSE 70483
70113: GO 70115
70115: DISABLE
70116: LD_INT 0
70118: PPUSH
// begin if artifact_hex = 0 then
70119: LD_EXP 159
70123: PUSH
70124: LD_INT 0
70126: EQUAL
70127: IFFALSE 70139
// Measurement_ani = 0 else
70129: LD_ADDR_EXP 168
70133: PUSH
70134: LD_INT 0
70136: ST_TO_ADDR
70137: GO 70191
// if IsDead ( Measurement_sci ) or GetDistUnitXY ( Measurement_sci , artifact_hex [ 1 ] , artifact_hex [ 2 ] ) > 3 then
70139: LD_EXP 169
70143: PPUSH
70144: CALL_OW 301
70148: PUSH
70149: LD_EXP 169
70153: PPUSH
70154: LD_EXP 159
70158: PUSH
70159: LD_INT 1
70161: ARRAY
70162: PPUSH
70163: LD_EXP 159
70167: PUSH
70168: LD_INT 2
70170: ARRAY
70171: PPUSH
70172: CALL_OW 297
70176: PUSH
70177: LD_INT 3
70179: GREATER
70180: OR
70181: IFFALSE 70191
// Measurement_ani = 0 ;
70183: LD_ADDR_EXP 168
70187: PUSH
70188: LD_INT 0
70190: ST_TO_ADDR
// if hastask ( Measurement_sci ) then
70191: LD_EXP 169
70195: PPUSH
70196: CALL_OW 314
70200: IFFALSE 70284
// if artifact_hex > 0 then
70202: LD_EXP 159
70206: PUSH
70207: LD_INT 0
70209: GREATER
70210: IFFALSE 70284
// if getdistxy ( artifact_hex [ 1 ] , artifact_hex [ 2 ] , gettasklist ( Measurement_sci ) [ 1 ] [ 2 ] , gettasklist ( Measurement_sci ) [ 1 ] [ 3 ] ) > 1 then
70212: LD_EXP 159
70216: PUSH
70217: LD_INT 1
70219: ARRAY
70220: PPUSH
70221: LD_EXP 159
70225: PUSH
70226: LD_INT 2
70228: ARRAY
70229: PPUSH
70230: LD_EXP 169
70234: PPUSH
70235: CALL_OW 437
70239: PUSH
70240: LD_INT 1
70242: ARRAY
70243: PUSH
70244: LD_INT 2
70246: ARRAY
70247: PPUSH
70248: LD_EXP 169
70252: PPUSH
70253: CALL_OW 437
70257: PUSH
70258: LD_INT 1
70260: ARRAY
70261: PUSH
70262: LD_INT 3
70264: ARRAY
70265: PPUSH
70266: CALL_OW 298
70270: PUSH
70271: LD_INT 1
70273: GREATER
70274: IFFALSE 70284
// Measurement_ani = 0 ;
70276: LD_ADDR_EXP 168
70280: PUSH
70281: LD_INT 0
70283: ST_TO_ADDR
// if Measurement_ani = 0 then
70284: LD_EXP 168
70288: PUSH
70289: LD_INT 0
70291: EQUAL
70292: IFFALSE 70297
// begin enable ;
70294: ENABLE
// exit ;
70295: GO 70483
// end ; if tick > Measurement_delay then
70297: LD_OWVAR 1
70301: PUSH
70302: LD_EXP 170
70306: GREATER
70307: IFFALSE 70482
// begin Measurement_delay = tick + rand ( 100 , 250 ) ;
70309: LD_ADDR_EXP 170
70313: PUSH
70314: LD_OWVAR 1
70318: PUSH
70319: LD_INT 100
70321: PPUSH
70322: LD_INT 250
70324: PPUSH
70325: CALL_OW 12
70329: PLUS
70330: ST_TO_ADDR
// hex = RandValidHexXYR ( artifact_hex [ 1 ] , artifact_hex [ 2 ] , 1 ) ;
70331: LD_ADDR_VAR 0 1
70335: PUSH
70336: LD_EXP 159
70340: PUSH
70341: LD_INT 1
70343: ARRAY
70344: PPUSH
70345: LD_EXP 159
70349: PUSH
70350: LD_INT 2
70352: ARRAY
70353: PPUSH
70354: LD_INT 1
70356: PPUSH
70357: CALL 61568 0 3
70361: ST_TO_ADDR
// if hex > 0 then
70362: LD_VAR 0 1
70366: PUSH
70367: LD_INT 0
70369: GREATER
70370: IFFALSE 70428
// begin commovexy ( Measurement_sci , hex [ 1 ] , hex [ 2 ] ) ;
70372: LD_EXP 169
70376: PPUSH
70377: LD_VAR 0 1
70381: PUSH
70382: LD_INT 1
70384: ARRAY
70385: PPUSH
70386: LD_VAR 0 1
70390: PUSH
70391: LD_INT 2
70393: ARRAY
70394: PPUSH
70395: CALL_OW 111
// addcomcontaminate ( Measurement_sci , artifact_hex [ 1 ] , artifact_hex [ 2 ] ) ;
70399: LD_EXP 169
70403: PPUSH
70404: LD_EXP 159
70408: PUSH
70409: LD_INT 1
70411: ARRAY
70412: PPUSH
70413: LD_EXP 159
70417: PUSH
70418: LD_INT 2
70420: ARRAY
70421: PPUSH
70422: CALL_OW 218
// end else
70426: GO 70482
// begin commovexy ( Measurement_sci , artifact_hex [ 1 ] , artifact_hex [ 2 ] ) ;
70428: LD_EXP 169
70432: PPUSH
70433: LD_EXP 159
70437: PUSH
70438: LD_INT 1
70440: ARRAY
70441: PPUSH
70442: LD_EXP 159
70446: PUSH
70447: LD_INT 2
70449: ARRAY
70450: PPUSH
70451: CALL_OW 111
// addcomcontaminate ( Measurement_sci , artifact_hex [ 1 ] , artifact_hex [ 2 ] ) ;
70455: LD_EXP 169
70459: PPUSH
70460: LD_EXP 159
70464: PUSH
70465: LD_INT 1
70467: ARRAY
70468: PPUSH
70469: LD_EXP 159
70473: PUSH
70474: LD_INT 2
70476: ARRAY
70477: PPUSH
70478: CALL_OW 218
// end ; end ; enable ;
70482: ENABLE
// end ;
70483: PPOPN 1
70485: END
// on UnitDestroyed ( un ) do begin if un in prisoners then
70486: LD_VAR 0 1
70490: PUSH
70491: LD_EXP 171
70495: IN
70496: IFFALSE 70514
// prisoners = prisoners diff un ;
70498: LD_ADDR_EXP 171
70502: PUSH
70503: LD_EXP 171
70507: PUSH
70508: LD_VAR 0 1
70512: DIFF
70513: ST_TO_ADDR
// end ;
70514: PPOPN 1
70516: END
// every 0 0$1 trigger prisoners > 0 marked 1 do var temp , cargo , hex , i , j , count , go_for_cargo ;
70517: LD_EXP 171
70521: PUSH
70522: LD_INT 0
70524: GREATER
70525: IFFALSE 73423
70527: GO 70529
70529: DISABLE
70530: LD_INT 0
70532: PPUSH
70533: PPUSH
70534: PPUSH
70535: PPUSH
70536: PPUSH
70537: PPUSH
70538: PPUSH
// begin if isplaced ( prisoners [ 1 ] ) then
70539: LD_EXP 171
70543: PUSH
70544: LD_INT 1
70546: ARRAY
70547: PPUSH
70548: CALL_OW 305
70552: IFFALSE 70591
// prisoner_lastposition = [ getx ( prisoners [ 1 ] ) , gety ( prisoners [ 1 ] ) ] ;
70554: LD_ADDR_EXP 180
70558: PUSH
70559: LD_EXP 171
70563: PUSH
70564: LD_INT 1
70566: ARRAY
70567: PPUSH
70568: CALL_OW 250
70572: PUSH
70573: LD_EXP 171
70577: PUSH
70578: LD_INT 1
70580: ARRAY
70581: PPUSH
70582: CALL_OW 251
70586: PUSH
70587: EMPTY
70588: LIST
70589: LIST
70590: ST_TO_ADDR
// for i in filterallunits ( [ f_side , 2 ] ) do
70591: LD_ADDR_VAR 0 4
70595: PUSH
70596: LD_INT 22
70598: PUSH
70599: LD_INT 2
70601: PUSH
70602: EMPTY
70603: LIST
70604: LIST
70605: PPUSH
70606: CALL_OW 69
70610: PUSH
70611: FOR_IN
70612: IFFALSE 70637
// if isselected ( i ) then
70614: LD_VAR 0 4
70618: PPUSH
70619: CALL_OW 306
70623: IFFALSE 70635
// LastSelectedPlayerUnit = i ;
70625: LD_ADDR_EXP 194
70629: PUSH
70630: LD_VAR 0 4
70634: ST_TO_ADDR
70635: GO 70611
70637: POP
70638: POP
// if isselected ( prisoners ) and NearestDistFromGroupToUnit ( prisoners , LastSelectedPlayerUnit ) < 11 then
70639: LD_EXP 171
70643: PPUSH
70644: CALL_OW 306
70648: PUSH
70649: LD_EXP 171
70653: PPUSH
70654: LD_EXP 194
70658: PPUSH
70659: CALL 60366 0 2
70663: PUSH
70664: LD_INT 11
70666: LESS
70667: AND
70668: IFFALSE 70680
// prisoner_cargo = LastSelectedPlayerUnit ;
70670: LD_ADDR_EXP 176
70674: PUSH
70675: LD_EXP 194
70679: ST_TO_ADDR
// if isdead ( prisoner_cargo ) then
70680: LD_EXP 176
70684: PPUSH
70685: CALL_OW 301
70689: IFFALSE 70742
// prisoner_cargo = nearestunittounit ( filterallunits ( [ [ f_side , 2 ] , [ f_not , [ f_empty ] ] ] ) , prisoners [ 1 ] ) ;
70691: LD_ADDR_EXP 176
70695: PUSH
70696: LD_INT 22
70698: PUSH
70699: LD_INT 2
70701: PUSH
70702: EMPTY
70703: LIST
70704: LIST
70705: PUSH
70706: LD_INT 3
70708: PUSH
70709: LD_INT 58
70711: PUSH
70712: EMPTY
70713: LIST
70714: PUSH
70715: EMPTY
70716: LIST
70717: LIST
70718: PUSH
70719: EMPTY
70720: LIST
70721: LIST
70722: PPUSH
70723: CALL_OW 69
70727: PPUSH
70728: LD_EXP 171
70732: PUSH
70733: LD_INT 1
70735: ARRAY
70736: PPUSH
70737: CALL_OW 74
70741: ST_TO_ADDR
// if prisoners_status = 0 then
70742: LD_EXP 173
70746: PUSH
70747: LD_INT 0
70749: EQUAL
70750: IFFALSE 72287
// begin for i in prisoners do
70752: LD_ADDR_VAR 0 4
70756: PUSH
70757: LD_EXP 171
70761: PUSH
70762: FOR_IN
70763: IFFALSE 70920
// begin prisoners_armed = 0 ;
70765: LD_ADDR_EXP 174
70769: PUSH
70770: LD_INT 0
70772: ST_TO_ADDR
// if not getclass ( i ) = class_engineer and not isdying ( i ) then
70773: LD_VAR 0 4
70777: PPUSH
70778: CALL_OW 257
70782: PUSH
70783: LD_INT 2
70785: EQUAL
70786: NOT
70787: PUSH
70788: LD_VAR 0 4
70792: PPUSH
70793: CALL_OW 303
70797: NOT
70798: AND
70799: IFFALSE 70813
// setclass ( i , class_engineer ) ;
70801: LD_VAR 0 4
70805: PPUSH
70806: LD_INT 2
70808: PPUSH
70809: CALL_OW 336
// if carry ( i ) then
70813: LD_VAR 0 4
70817: PPUSH
70818: CALL_OW 281
70822: IFFALSE 70870
// settasklist ( i , [ [ 5 , 0 , 0 , prisoner_cargo , 0 , 0 , 0 ] ] ) else
70824: LD_VAR 0 4
70828: PPUSH
70829: LD_INT 5
70831: PUSH
70832: LD_INT 0
70834: PUSH
70835: LD_INT 0
70837: PUSH
70838: LD_EXP 176
70842: PUSH
70843: LD_INT 0
70845: PUSH
70846: LD_INT 0
70848: PUSH
70849: LD_INT 0
70851: PUSH
70852: EMPTY
70853: LIST
70854: LIST
70855: LIST
70856: LIST
70857: LIST
70858: LIST
70859: LIST
70860: PUSH
70861: EMPTY
70862: LIST
70863: PPUSH
70864: CALL_OW 446
70868: GO 70918
// if getdistunits ( i , prisoner_cargo ) > 5 then
70870: LD_VAR 0 4
70874: PPUSH
70875: LD_EXP 176
70879: PPUSH
70880: CALL_OW 296
70884: PUSH
70885: LD_INT 5
70887: GREATER
70888: IFFALSE 70909
// moveclosetounit ( i , prisoner_cargo , 3 ) else
70890: LD_VAR 0 4
70894: PPUSH
70895: LD_EXP 176
70899: PPUSH
70900: LD_INT 3
70902: PPUSH
70903: CALL 56088 0 3
70907: GO 70918
// comhold ( i ) ;
70909: LD_VAR 0 4
70913: PPUSH
70914: CALL_OW 140
// end ;
70918: GO 70762
70920: POP
70921: POP
// if filterallunits ( [ [ f_dist , prisoners [ 1 ] , 10 ] , [ f_side , 2 ] , [ f_or , [ f_weapon , ar_multimissile_ballista ] , [ f_weapon , ar_light_gun ] , [ f_weapon , ar_double_machine_gun ] , [ f_weapon , ar_gatling_gun ] , [ f_weapon , ar_flame_thrower ] , [ f_weapon , ar_gun ] , [ f_weapon , ar_rocket_launcher ] , [ f_weapon , ar_selfpropelled_bomb ] , [ f_class , class_soldier ] , [ f_class , class_mortar ] , [ f_class , class_sniper ] , [ f_class , class_desert_warior ] , [ f_class , class_apeman_kamikaze ] , [ f_class , class_apeman_soldier ] ] ] ) > 0 then
70922: LD_INT 91
70924: PUSH
70925: LD_EXP 171
70929: PUSH
70930: LD_INT 1
70932: ARRAY
70933: PUSH
70934: LD_INT 10
70936: PUSH
70937: EMPTY
70938: LIST
70939: LIST
70940: LIST
70941: PUSH
70942: LD_INT 22
70944: PUSH
70945: LD_INT 2
70947: PUSH
70948: EMPTY
70949: LIST
70950: LIST
70951: PUSH
70952: LD_INT 2
70954: PUSH
70955: LD_INT 34
70957: PUSH
70958: LD_INT 22
70960: PUSH
70961: EMPTY
70962: LIST
70963: LIST
70964: PUSH
70965: LD_INT 34
70967: PUSH
70968: LD_INT 23
70970: PUSH
70971: EMPTY
70972: LIST
70973: LIST
70974: PUSH
70975: LD_INT 34
70977: PUSH
70978: LD_INT 24
70980: PUSH
70981: EMPTY
70982: LIST
70983: LIST
70984: PUSH
70985: LD_INT 34
70987: PUSH
70988: LD_INT 25
70990: PUSH
70991: EMPTY
70992: LIST
70993: LIST
70994: PUSH
70995: LD_INT 34
70997: PUSH
70998: LD_INT 26
71000: PUSH
71001: EMPTY
71002: LIST
71003: LIST
71004: PUSH
71005: LD_INT 34
71007: PUSH
71008: LD_INT 27
71010: PUSH
71011: EMPTY
71012: LIST
71013: LIST
71014: PUSH
71015: LD_INT 34
71017: PUSH
71018: LD_INT 28
71020: PUSH
71021: EMPTY
71022: LIST
71023: LIST
71024: PUSH
71025: LD_INT 34
71027: PUSH
71028: LD_INT 29
71030: PUSH
71031: EMPTY
71032: LIST
71033: LIST
71034: PUSH
71035: LD_INT 25
71037: PUSH
71038: LD_INT 1
71040: PUSH
71041: EMPTY
71042: LIST
71043: LIST
71044: PUSH
71045: LD_INT 25
71047: PUSH
71048: LD_INT 8
71050: PUSH
71051: EMPTY
71052: LIST
71053: LIST
71054: PUSH
71055: LD_INT 25
71057: PUSH
71058: LD_INT 5
71060: PUSH
71061: EMPTY
71062: LIST
71063: LIST
71064: PUSH
71065: LD_INT 25
71067: PUSH
71068: LD_INT 11
71070: PUSH
71071: EMPTY
71072: LIST
71073: LIST
71074: PUSH
71075: LD_INT 25
71077: PUSH
71078: LD_INT 17
71080: PUSH
71081: EMPTY
71082: LIST
71083: LIST
71084: PUSH
71085: LD_INT 25
71087: PUSH
71088: LD_INT 15
71090: PUSH
71091: EMPTY
71092: LIST
71093: LIST
71094: PUSH
71095: EMPTY
71096: LIST
71097: LIST
71098: LIST
71099: LIST
71100: LIST
71101: LIST
71102: LIST
71103: LIST
71104: LIST
71105: LIST
71106: LIST
71107: LIST
71108: LIST
71109: LIST
71110: LIST
71111: PUSH
71112: EMPTY
71113: LIST
71114: LIST
71115: LIST
71116: PPUSH
71117: CALL_OW 69
71121: PUSH
71122: LD_INT 0
71124: GREATER
71125: IFFALSE 71137
// prisoners_delay = tick ;
71127: LD_ADDR_EXP 175
71131: PUSH
71132: LD_OWVAR 1
71136: ST_TO_ADDR
// if tick > prisoners_delay + 3 3$0 then
71137: LD_OWVAR 1
71141: PUSH
71142: LD_EXP 175
71146: PUSH
71147: LD_INT 6300
71149: PLUS
71150: GREATER
71151: IFFALSE 71227
// begin prisoners_status = 1 ;
71153: LD_ADDR_EXP 173
71157: PUSH
71158: LD_INT 1
71160: ST_TO_ADDR
// prisoners_escaping = prisoners_escaping ^ prisoners ;
71161: LD_ADDR_EXP 178
71165: PUSH
71166: LD_EXP 178
71170: PUSH
71171: LD_EXP 171
71175: ADD
71176: ST_TO_ADDR
// setside ( prisoners_escaping , 8 ) ;
71177: LD_EXP 178
71181: PPUSH
71182: LD_INT 8
71184: PPUSH
71185: CALL_OW 235
// for i in prisoners do
71189: LD_ADDR_VAR 0 4
71193: PUSH
71194: LD_EXP 171
71198: PUSH
71199: FOR_IN
71200: IFFALSE 71225
// prisoner_lives = prisoner_lives ^ getlives ( i ) ;
71202: LD_ADDR_EXP 179
71206: PUSH
71207: LD_EXP 179
71211: PUSH
71212: LD_VAR 0 4
71216: PPUSH
71217: CALL_OW 256
71221: ADD
71222: ST_TO_ADDR
71223: GO 71199
71225: POP
71226: POP
// end ; if filterallunits ( [ [ f_dist , prisoners [ 1 ] , 15 ] , [ f_side , 2 ] , [ f_or , [ f_weapon , ar_multimissile_ballista ] , [ f_weapon , ar_light_gun ] , [ f_weapon , ar_double_machine_gun ] , [ f_weapon , ar_gatling_gun ] , [ f_weapon , ar_flame_thrower ] , [ f_weapon , ar_gun ] , [ f_weapon , ar_rocket_launcher ] , [ f_weapon , ar_selfpropelled_bomb ] , [ f_class , class_soldier ] , [ f_class , class_mortar ] , [ f_class , class_sniper ] , [ f_class , class_desert_warior ] , [ f_class , class_apeman_kamikaze ] , [ f_class , class_apeman_soldier ] ] ] ) = 0 and legion_attack = 1 then
71227: LD_INT 91
71229: PUSH
71230: LD_EXP 171
71234: PUSH
71235: LD_INT 1
71237: ARRAY
71238: PUSH
71239: LD_INT 15
71241: PUSH
71242: EMPTY
71243: LIST
71244: LIST
71245: LIST
71246: PUSH
71247: LD_INT 22
71249: PUSH
71250: LD_INT 2
71252: PUSH
71253: EMPTY
71254: LIST
71255: LIST
71256: PUSH
71257: LD_INT 2
71259: PUSH
71260: LD_INT 34
71262: PUSH
71263: LD_INT 22
71265: PUSH
71266: EMPTY
71267: LIST
71268: LIST
71269: PUSH
71270: LD_INT 34
71272: PUSH
71273: LD_INT 23
71275: PUSH
71276: EMPTY
71277: LIST
71278: LIST
71279: PUSH
71280: LD_INT 34
71282: PUSH
71283: LD_INT 24
71285: PUSH
71286: EMPTY
71287: LIST
71288: LIST
71289: PUSH
71290: LD_INT 34
71292: PUSH
71293: LD_INT 25
71295: PUSH
71296: EMPTY
71297: LIST
71298: LIST
71299: PUSH
71300: LD_INT 34
71302: PUSH
71303: LD_INT 26
71305: PUSH
71306: EMPTY
71307: LIST
71308: LIST
71309: PUSH
71310: LD_INT 34
71312: PUSH
71313: LD_INT 27
71315: PUSH
71316: EMPTY
71317: LIST
71318: LIST
71319: PUSH
71320: LD_INT 34
71322: PUSH
71323: LD_INT 28
71325: PUSH
71326: EMPTY
71327: LIST
71328: LIST
71329: PUSH
71330: LD_INT 34
71332: PUSH
71333: LD_INT 29
71335: PUSH
71336: EMPTY
71337: LIST
71338: LIST
71339: PUSH
71340: LD_INT 25
71342: PUSH
71343: LD_INT 1
71345: PUSH
71346: EMPTY
71347: LIST
71348: LIST
71349: PUSH
71350: LD_INT 25
71352: PUSH
71353: LD_INT 8
71355: PUSH
71356: EMPTY
71357: LIST
71358: LIST
71359: PUSH
71360: LD_INT 25
71362: PUSH
71363: LD_INT 5
71365: PUSH
71366: EMPTY
71367: LIST
71368: LIST
71369: PUSH
71370: LD_INT 25
71372: PUSH
71373: LD_INT 11
71375: PUSH
71376: EMPTY
71377: LIST
71378: LIST
71379: PUSH
71380: LD_INT 25
71382: PUSH
71383: LD_INT 17
71385: PUSH
71386: EMPTY
71387: LIST
71388: LIST
71389: PUSH
71390: LD_INT 25
71392: PUSH
71393: LD_INT 15
71395: PUSH
71396: EMPTY
71397: LIST
71398: LIST
71399: PUSH
71400: EMPTY
71401: LIST
71402: LIST
71403: LIST
71404: LIST
71405: LIST
71406: LIST
71407: LIST
71408: LIST
71409: LIST
71410: LIST
71411: LIST
71412: LIST
71413: LIST
71414: LIST
71415: LIST
71416: PUSH
71417: EMPTY
71418: LIST
71419: LIST
71420: LIST
71421: PPUSH
71422: CALL_OW 69
71426: PUSH
71427: LD_INT 0
71429: EQUAL
71430: PUSH
71431: LD_EXP 153
71435: PUSH
71436: LD_INT 1
71438: EQUAL
71439: AND
71440: IFFALSE 71539
// begin prisoners_status = 1 ;
71442: LD_ADDR_EXP 173
71446: PUSH
71447: LD_INT 1
71449: ST_TO_ADDR
// prisoners_escaping = prisoners_escaping ^ prisoners ;
71450: LD_ADDR_EXP 178
71454: PUSH
71455: LD_EXP 178
71459: PUSH
71460: LD_EXP 171
71464: ADD
71465: ST_TO_ADDR
// setside ( prisoners_escaping , 8 ) ;
71466: LD_EXP 178
71470: PPUSH
71471: LD_INT 8
71473: PPUSH
71474: CALL_OW 235
// prisoners_armed = 1 ;
71478: LD_ADDR_EXP 174
71482: PUSH
71483: LD_INT 1
71485: ST_TO_ADDR
// Legion_attack = 2 ;
71486: LD_ADDR_EXP 153
71490: PUSH
71491: LD_INT 2
71493: ST_TO_ADDR
// prisoner_lives = [ ] ;
71494: LD_ADDR_EXP 179
71498: PUSH
71499: EMPTY
71500: ST_TO_ADDR
// for i in prisoners do
71501: LD_ADDR_VAR 0 4
71505: PUSH
71506: LD_EXP 171
71510: PUSH
71511: FOR_IN
71512: IFFALSE 71537
// prisoner_lives = prisoner_lives ^ getlives ( i ) ;
71514: LD_ADDR_EXP 179
71518: PUSH
71519: LD_EXP 179
71523: PUSH
71524: LD_VAR 0 4
71528: PPUSH
71529: CALL_OW 256
71533: ADD
71534: ST_TO_ADDR
71535: GO 71511
71537: POP
71538: POP
// end ; if legion_attack = 3 then
71539: LD_EXP 153
71543: PUSH
71544: LD_INT 3
71546: EQUAL
71547: IFFALSE 71752
// begin prisoner_lives = [ ] ;
71549: LD_ADDR_EXP 179
71553: PUSH
71554: EMPTY
71555: ST_TO_ADDR
// for i in prisoners do
71556: LD_ADDR_VAR 0 4
71560: PUSH
71561: LD_EXP 171
71565: PUSH
71566: FOR_IN
71567: IFFALSE 71750
// if getside ( unitshoot ( i ) ) = 8 and legion_attack < 4 then
71569: LD_VAR 0 4
71573: PPUSH
71574: CALL_OW 504
71578: PPUSH
71579: CALL_OW 255
71583: PUSH
71584: LD_INT 8
71586: EQUAL
71587: PUSH
71588: LD_EXP 153
71592: PUSH
71593: LD_INT 4
71595: LESS
71596: AND
71597: IFFALSE 71748
// begin prisoners_status = 1 ;
71599: LD_ADDR_EXP 173
71603: PUSH
71604: LD_INT 1
71606: ST_TO_ADDR
// prisoners_escaping = prisoners_escaping ^ prisoners ;
71607: LD_ADDR_EXP 178
71611: PUSH
71612: LD_EXP 178
71616: PUSH
71617: LD_EXP 171
71621: ADD
71622: ST_TO_ADDR
// setside ( prisoners_escaping , 8 ) ;
71623: LD_EXP 178
71627: PPUSH
71628: LD_INT 8
71630: PPUSH
71631: CALL_OW 235
// prisoners_armed = 1 ;
71635: LD_ADDR_EXP 174
71639: PUSH
71640: LD_INT 1
71642: ST_TO_ADDR
// legion_attack = 4 ;
71643: LD_ADDR_EXP 153
71647: PUSH
71648: LD_INT 4
71650: ST_TO_ADDR
// prisoner_escapehexes = [ [ 101 , 193 ] , [ 174 , 195 ] , [ 223 , 197 ] , [ 253 , 192 ] ] ;
71651: LD_ADDR_EXP 177
71655: PUSH
71656: LD_INT 101
71658: PUSH
71659: LD_INT 193
71661: PUSH
71662: EMPTY
71663: LIST
71664: LIST
71665: PUSH
71666: LD_INT 174
71668: PUSH
71669: LD_INT 195
71671: PUSH
71672: EMPTY
71673: LIST
71674: LIST
71675: PUSH
71676: LD_INT 223
71678: PUSH
71679: LD_INT 197
71681: PUSH
71682: EMPTY
71683: LIST
71684: LIST
71685: PUSH
71686: LD_INT 253
71688: PUSH
71689: LD_INT 192
71691: PUSH
71692: EMPTY
71693: LIST
71694: LIST
71695: PUSH
71696: EMPTY
71697: LIST
71698: LIST
71699: LIST
71700: LIST
71701: ST_TO_ADDR
// prisonersattacked = 1 ;
71702: LD_ADDR_EXP 181
71706: PUSH
71707: LD_INT 1
71709: ST_TO_ADDR
// for j in prisoners do
71710: LD_ADDR_VAR 0 5
71714: PUSH
71715: LD_EXP 171
71719: PUSH
71720: FOR_IN
71721: IFFALSE 71746
// prisoner_lives = prisoner_lives ^ getlives ( j ) ;
71723: LD_ADDR_EXP 179
71727: PUSH
71728: LD_EXP 179
71732: PUSH
71733: LD_VAR 0 5
71737: PPUSH
71738: CALL_OW 256
71742: ADD
71743: ST_TO_ADDR
71744: GO 71720
71746: POP
71747: POP
// end ;
71748: GO 71566
71750: POP
71751: POP
// end ; if legion_attack = 4 and filterallunits ( [ [ f_side , 8 ] , [ f_ok ] ] ) = 0 then
71752: LD_EXP 153
71756: PUSH
71757: LD_INT 4
71759: EQUAL
71760: PUSH
71761: LD_INT 22
71763: PUSH
71764: LD_INT 8
71766: PUSH
71767: EMPTY
71768: LIST
71769: LIST
71770: PUSH
71771: LD_INT 50
71773: PUSH
71774: EMPTY
71775: LIST
71776: PUSH
71777: EMPTY
71778: LIST
71779: LIST
71780: PPUSH
71781: CALL_OW 69
71785: PUSH
71786: LD_INT 0
71788: EQUAL
71789: AND
71790: IFFALSE 72239
// prisoner_escapehexes = [ [ 2 , 1 ] , [ 6 , 1 ] , [ 10 , 1 ] , [ 14 , 1 ] , [ 18 , 1 ] , [ 22 , 1 ] , [ 26 , 1 ] , [ 30 , 1 ] , [ 34 , 1 ] , [ 38 , 1 ] , [ 42 , 1 ] , [ 46 , 1 ] , [ 50 , 1 ] , [ 54 , 1 ] , [ 58 , 1 ] , [ 62 , 1 ] , [ 66 , 1 ] , [ 70 , 1 ] , [ 74 , 1 ] , [ 78 , 1 ] , [ 82 , 1 ] , [ 86 , 1 ] , [ 90 , 1 ] , [ 94 , 1 ] , [ 98 , 1 ] , [ 102 , 1 ] , [ 106 , 1 ] , [ 110 , 1 ] , [ 114 , 1 ] , [ 118 , 1 ] , [ 122 , 1 ] , [ 126 , 1 ] , [ 130 , 1 ] , [ 134 , 1 ] , [ 138 , 1 ] , [ 142 , 1 ] , [ 146 , 1 ] , [ 150 , 1 ] , [ 154 , 1 ] , [ 158 , 1 ] ] ;
71792: LD_ADDR_EXP 177
71796: PUSH
71797: LD_INT 2
71799: PUSH
71800: LD_INT 1
71802: PUSH
71803: EMPTY
71804: LIST
71805: LIST
71806: PUSH
71807: LD_INT 6
71809: PUSH
71810: LD_INT 1
71812: PUSH
71813: EMPTY
71814: LIST
71815: LIST
71816: PUSH
71817: LD_INT 10
71819: PUSH
71820: LD_INT 1
71822: PUSH
71823: EMPTY
71824: LIST
71825: LIST
71826: PUSH
71827: LD_INT 14
71829: PUSH
71830: LD_INT 1
71832: PUSH
71833: EMPTY
71834: LIST
71835: LIST
71836: PUSH
71837: LD_INT 18
71839: PUSH
71840: LD_INT 1
71842: PUSH
71843: EMPTY
71844: LIST
71845: LIST
71846: PUSH
71847: LD_INT 22
71849: PUSH
71850: LD_INT 1
71852: PUSH
71853: EMPTY
71854: LIST
71855: LIST
71856: PUSH
71857: LD_INT 26
71859: PUSH
71860: LD_INT 1
71862: PUSH
71863: EMPTY
71864: LIST
71865: LIST
71866: PUSH
71867: LD_INT 30
71869: PUSH
71870: LD_INT 1
71872: PUSH
71873: EMPTY
71874: LIST
71875: LIST
71876: PUSH
71877: LD_INT 34
71879: PUSH
71880: LD_INT 1
71882: PUSH
71883: EMPTY
71884: LIST
71885: LIST
71886: PUSH
71887: LD_INT 38
71889: PUSH
71890: LD_INT 1
71892: PUSH
71893: EMPTY
71894: LIST
71895: LIST
71896: PUSH
71897: LD_INT 42
71899: PUSH
71900: LD_INT 1
71902: PUSH
71903: EMPTY
71904: LIST
71905: LIST
71906: PUSH
71907: LD_INT 46
71909: PUSH
71910: LD_INT 1
71912: PUSH
71913: EMPTY
71914: LIST
71915: LIST
71916: PUSH
71917: LD_INT 50
71919: PUSH
71920: LD_INT 1
71922: PUSH
71923: EMPTY
71924: LIST
71925: LIST
71926: PUSH
71927: LD_INT 54
71929: PUSH
71930: LD_INT 1
71932: PUSH
71933: EMPTY
71934: LIST
71935: LIST
71936: PUSH
71937: LD_INT 58
71939: PUSH
71940: LD_INT 1
71942: PUSH
71943: EMPTY
71944: LIST
71945: LIST
71946: PUSH
71947: LD_INT 62
71949: PUSH
71950: LD_INT 1
71952: PUSH
71953: EMPTY
71954: LIST
71955: LIST
71956: PUSH
71957: LD_INT 66
71959: PUSH
71960: LD_INT 1
71962: PUSH
71963: EMPTY
71964: LIST
71965: LIST
71966: PUSH
71967: LD_INT 70
71969: PUSH
71970: LD_INT 1
71972: PUSH
71973: EMPTY
71974: LIST
71975: LIST
71976: PUSH
71977: LD_INT 74
71979: PUSH
71980: LD_INT 1
71982: PUSH
71983: EMPTY
71984: LIST
71985: LIST
71986: PUSH
71987: LD_INT 78
71989: PUSH
71990: LD_INT 1
71992: PUSH
71993: EMPTY
71994: LIST
71995: LIST
71996: PUSH
71997: LD_INT 82
71999: PUSH
72000: LD_INT 1
72002: PUSH
72003: EMPTY
72004: LIST
72005: LIST
72006: PUSH
72007: LD_INT 86
72009: PUSH
72010: LD_INT 1
72012: PUSH
72013: EMPTY
72014: LIST
72015: LIST
72016: PUSH
72017: LD_INT 90
72019: PUSH
72020: LD_INT 1
72022: PUSH
72023: EMPTY
72024: LIST
72025: LIST
72026: PUSH
72027: LD_INT 94
72029: PUSH
72030: LD_INT 1
72032: PUSH
72033: EMPTY
72034: LIST
72035: LIST
72036: PUSH
72037: LD_INT 98
72039: PUSH
72040: LD_INT 1
72042: PUSH
72043: EMPTY
72044: LIST
72045: LIST
72046: PUSH
72047: LD_INT 102
72049: PUSH
72050: LD_INT 1
72052: PUSH
72053: EMPTY
72054: LIST
72055: LIST
72056: PUSH
72057: LD_INT 106
72059: PUSH
72060: LD_INT 1
72062: PUSH
72063: EMPTY
72064: LIST
72065: LIST
72066: PUSH
72067: LD_INT 110
72069: PUSH
72070: LD_INT 1
72072: PUSH
72073: EMPTY
72074: LIST
72075: LIST
72076: PUSH
72077: LD_INT 114
72079: PUSH
72080: LD_INT 1
72082: PUSH
72083: EMPTY
72084: LIST
72085: LIST
72086: PUSH
72087: LD_INT 118
72089: PUSH
72090: LD_INT 1
72092: PUSH
72093: EMPTY
72094: LIST
72095: LIST
72096: PUSH
72097: LD_INT 122
72099: PUSH
72100: LD_INT 1
72102: PUSH
72103: EMPTY
72104: LIST
72105: LIST
72106: PUSH
72107: LD_INT 126
72109: PUSH
72110: LD_INT 1
72112: PUSH
72113: EMPTY
72114: LIST
72115: LIST
72116: PUSH
72117: LD_INT 130
72119: PUSH
72120: LD_INT 1
72122: PUSH
72123: EMPTY
72124: LIST
72125: LIST
72126: PUSH
72127: LD_INT 134
72129: PUSH
72130: LD_INT 1
72132: PUSH
72133: EMPTY
72134: LIST
72135: LIST
72136: PUSH
72137: LD_INT 138
72139: PUSH
72140: LD_INT 1
72142: PUSH
72143: EMPTY
72144: LIST
72145: LIST
72146: PUSH
72147: LD_INT 142
72149: PUSH
72150: LD_INT 1
72152: PUSH
72153: EMPTY
72154: LIST
72155: LIST
72156: PUSH
72157: LD_INT 146
72159: PUSH
72160: LD_INT 1
72162: PUSH
72163: EMPTY
72164: LIST
72165: LIST
72166: PUSH
72167: LD_INT 150
72169: PUSH
72170: LD_INT 1
72172: PUSH
72173: EMPTY
72174: LIST
72175: LIST
72176: PUSH
72177: LD_INT 154
72179: PUSH
72180: LD_INT 1
72182: PUSH
72183: EMPTY
72184: LIST
72185: LIST
72186: PUSH
72187: LD_INT 158
72189: PUSH
72190: LD_INT 1
72192: PUSH
72193: EMPTY
72194: LIST
72195: LIST
72196: PUSH
72197: EMPTY
72198: LIST
72199: LIST
72200: LIST
72201: LIST
72202: LIST
72203: LIST
72204: LIST
72205: LIST
72206: LIST
72207: LIST
72208: LIST
72209: LIST
72210: LIST
72211: LIST
72212: LIST
72213: LIST
72214: LIST
72215: LIST
72216: LIST
72217: LIST
72218: LIST
72219: LIST
72220: LIST
72221: LIST
72222: LIST
72223: LIST
72224: LIST
72225: LIST
72226: LIST
72227: LIST
72228: LIST
72229: LIST
72230: LIST
72231: LIST
72232: LIST
72233: LIST
72234: LIST
72235: LIST
72236: LIST
72237: LIST
72238: ST_TO_ADDR
// if legion_attack = 1 and filterallunits ( [ [ f_side , 8 ] , [ f_ok ] ] ) = 0 then
72239: LD_EXP 153
72243: PUSH
72244: LD_INT 1
72246: EQUAL
72247: PUSH
72248: LD_INT 22
72250: PUSH
72251: LD_INT 8
72253: PUSH
72254: EMPTY
72255: LIST
72256: LIST
72257: PUSH
72258: LD_INT 50
72260: PUSH
72261: EMPTY
72262: LIST
72263: PUSH
72264: EMPTY
72265: LIST
72266: LIST
72267: PPUSH
72268: CALL_OW 69
72272: PUSH
72273: LD_INT 0
72275: EQUAL
72276: AND
72277: IFFALSE 72287
// legion_attack = 2 ;
72279: LD_ADDR_EXP 153
72283: PUSH
72284: LD_INT 2
72286: ST_TO_ADDR
// end ; if prisoners_status = 1 then
72287: LD_EXP 173
72291: PUSH
72292: LD_INT 1
72294: EQUAL
72295: IFFALSE 73422
// begin if prisoners_armed = 0 then
72297: LD_EXP 174
72301: PUSH
72302: LD_INT 0
72304: EQUAL
72305: IFFALSE 72790
// begin temp = filterallunits ( [ [ f_weapon , ar_cargo_bay ] , [ f_or , [ f_control , control_remote ] , [ f_and , [ f_control , control_manual ] , [ f_empty ] ] ] ] ) ;
72307: LD_ADDR_VAR 0 1
72311: PUSH
72312: LD_INT 34
72314: PUSH
72315: LD_INT 32
72317: PUSH
72318: EMPTY
72319: LIST
72320: LIST
72321: PUSH
72322: LD_INT 2
72324: PUSH
72325: LD_INT 33
72327: PUSH
72328: LD_INT 2
72330: PUSH
72331: EMPTY
72332: LIST
72333: LIST
72334: PUSH
72335: LD_INT 1
72337: PUSH
72338: LD_INT 33
72340: PUSH
72341: LD_INT 1
72343: PUSH
72344: EMPTY
72345: LIST
72346: LIST
72347: PUSH
72348: LD_INT 58
72350: PUSH
72351: EMPTY
72352: LIST
72353: PUSH
72354: EMPTY
72355: LIST
72356: LIST
72357: LIST
72358: PUSH
72359: EMPTY
72360: LIST
72361: LIST
72362: LIST
72363: PUSH
72364: EMPTY
72365: LIST
72366: LIST
72367: PPUSH
72368: CALL_OW 69
72372: ST_TO_ADDR
// cargo = nearestunittounit ( temp , prisoners [ 1 ] ) ;
72373: LD_ADDR_VAR 0 2
72377: PUSH
72378: LD_VAR 0 1
72382: PPUSH
72383: LD_EXP 171
72387: PUSH
72388: LD_INT 1
72390: ARRAY
72391: PPUSH
72392: CALL_OW 74
72396: ST_TO_ADDR
// if getdistunits ( cargo , prisoners_escaping [ 1 ] ) < 10 then
72397: LD_VAR 0 2
72401: PPUSH
72402: LD_EXP 178
72406: PUSH
72407: LD_INT 1
72409: ARRAY
72410: PPUSH
72411: CALL_OW 296
72415: PUSH
72416: LD_INT 10
72418: LESS
72419: IFFALSE 72790
// if filterallunits ( [ [ f_dist , cargo , 10 ] , [ f_side , 2 ] , [ f_or , [ f_weapon , ar_multimissile_ballista ] , [ f_weapon , ar_light_gun ] , [ f_weapon , ar_double_machine_gun ] , [ f_weapon , ar_gatling_gun ] , [ f_weapon , ar_flame_thrower ] , [ f_weapon , ar_gun ] , [ f_weapon , ar_rocket_launcher ] , [ f_weapon , ar_selfpropelled_bomb ] , [ f_class , class_soldier ] , [ f_class , class_mortar ] , [ f_class , class_sniper ] , [ f_class , class_desert_warior ] , [ f_class , class_apeman_kamikaze ] , [ f_class , class_apeman_soldier ] ] ] ) = 0 then
72421: LD_INT 91
72423: PUSH
72424: LD_VAR 0 2
72428: PUSH
72429: LD_INT 10
72431: PUSH
72432: EMPTY
72433: LIST
72434: LIST
72435: LIST
72436: PUSH
72437: LD_INT 22
72439: PUSH
72440: LD_INT 2
72442: PUSH
72443: EMPTY
72444: LIST
72445: LIST
72446: PUSH
72447: LD_INT 2
72449: PUSH
72450: LD_INT 34
72452: PUSH
72453: LD_INT 22
72455: PUSH
72456: EMPTY
72457: LIST
72458: LIST
72459: PUSH
72460: LD_INT 34
72462: PUSH
72463: LD_INT 23
72465: PUSH
72466: EMPTY
72467: LIST
72468: LIST
72469: PUSH
72470: LD_INT 34
72472: PUSH
72473: LD_INT 24
72475: PUSH
72476: EMPTY
72477: LIST
72478: LIST
72479: PUSH
72480: LD_INT 34
72482: PUSH
72483: LD_INT 25
72485: PUSH
72486: EMPTY
72487: LIST
72488: LIST
72489: PUSH
72490: LD_INT 34
72492: PUSH
72493: LD_INT 26
72495: PUSH
72496: EMPTY
72497: LIST
72498: LIST
72499: PUSH
72500: LD_INT 34
72502: PUSH
72503: LD_INT 27
72505: PUSH
72506: EMPTY
72507: LIST
72508: LIST
72509: PUSH
72510: LD_INT 34
72512: PUSH
72513: LD_INT 28
72515: PUSH
72516: EMPTY
72517: LIST
72518: LIST
72519: PUSH
72520: LD_INT 34
72522: PUSH
72523: LD_INT 29
72525: PUSH
72526: EMPTY
72527: LIST
72528: LIST
72529: PUSH
72530: LD_INT 25
72532: PUSH
72533: LD_INT 1
72535: PUSH
72536: EMPTY
72537: LIST
72538: LIST
72539: PUSH
72540: LD_INT 25
72542: PUSH
72543: LD_INT 8
72545: PUSH
72546: EMPTY
72547: LIST
72548: LIST
72549: PUSH
72550: LD_INT 25
72552: PUSH
72553: LD_INT 5
72555: PUSH
72556: EMPTY
72557: LIST
72558: LIST
72559: PUSH
72560: LD_INT 25
72562: PUSH
72563: LD_INT 11
72565: PUSH
72566: EMPTY
72567: LIST
72568: LIST
72569: PUSH
72570: LD_INT 25
72572: PUSH
72573: LD_INT 17
72575: PUSH
72576: EMPTY
72577: LIST
72578: LIST
72579: PUSH
72580: LD_INT 25
72582: PUSH
72583: LD_INT 15
72585: PUSH
72586: EMPTY
72587: LIST
72588: LIST
72589: PUSH
72590: EMPTY
72591: LIST
72592: LIST
72593: LIST
72594: LIST
72595: LIST
72596: LIST
72597: LIST
72598: LIST
72599: LIST
72600: LIST
72601: LIST
72602: LIST
72603: LIST
72604: LIST
72605: LIST
72606: PUSH
72607: EMPTY
72608: LIST
72609: LIST
72610: LIST
72611: PPUSH
72612: CALL_OW 69
72616: PUSH
72617: LD_INT 0
72619: EQUAL
72620: IFFALSE 72790
// if IsControledBy ( cargo ) = 0 then
72622: LD_VAR 0 2
72626: PPUSH
72627: CALL_OW 312
72631: PUSH
72632: LD_INT 0
72634: EQUAL
72635: IFFALSE 72790
// begin go_for_cargo = 1 ;
72637: LD_ADDR_VAR 0 7
72641: PUSH
72642: LD_INT 1
72644: ST_TO_ADDR
// count = 0 ;
72645: LD_ADDR_VAR 0 6
72649: PUSH
72650: LD_INT 0
72652: ST_TO_ADDR
// for i in prisoners_escaping do
72653: LD_ADDR_VAR 0 4
72657: PUSH
72658: LD_EXP 178
72662: PUSH
72663: FOR_IN
72664: IFFALSE 72770
// begin if getclass ( i ) = class_engineer then
72666: LD_VAR 0 4
72670: PPUSH
72671: CALL_OW 257
72675: PUSH
72676: LD_INT 2
72678: EQUAL
72679: IFFALSE 72768
// begin commovexy ( i , getx ( cargo ) , gety ( cargo ) ) ;
72681: LD_VAR 0 4
72685: PPUSH
72686: LD_VAR 0 2
72690: PPUSH
72691: CALL_OW 250
72695: PPUSH
72696: LD_VAR 0 2
72700: PPUSH
72701: CALL_OW 251
72705: PPUSH
72706: CALL_OW 111
// count = 1 ;
72710: LD_ADDR_VAR 0 6
72714: PUSH
72715: LD_INT 1
72717: ST_TO_ADDR
// if getdistunits ( i , cargo ) < 3 then
72718: LD_VAR 0 4
72722: PPUSH
72723: LD_VAR 0 2
72727: PPUSH
72728: CALL_OW 296
72732: PUSH
72733: LD_INT 3
72735: LESS
72736: IFFALSE 72768
// begin comstop ( i ) ;
72738: LD_VAR 0 4
72742: PPUSH
72743: CALL_OW 141
// setclass ( i , class_soldier ) ;
72747: LD_VAR 0 4
72751: PPUSH
72752: LD_INT 1
72754: PPUSH
72755: CALL_OW 336
// comexitvehicle ( i ) ;
72759: LD_VAR 0 4
72763: PPUSH
72764: CALL_OW 121
// end ; end ; end ;
72768: GO 72663
72770: POP
72771: POP
// if count = 0 then
72772: LD_VAR 0 6
72776: PUSH
72777: LD_INT 0
72779: EQUAL
72780: IFFALSE 72790
// prisoners_armed = 1 ;
72782: LD_ADDR_EXP 174
72786: PUSH
72787: LD_INT 1
72789: ST_TO_ADDR
// end ; end ; if go_for_cargo = 0 then
72790: LD_VAR 0 7
72794: PUSH
72795: LD_INT 0
72797: EQUAL
72798: IFFALSE 73021
// begin temp = getdistunitxy ( prisoners_escaping [ 1 ] , prisoner_escapehexes [ 1 ] [ 1 ] , prisoner_escapehexes [ 1 ] [ 2 ] ) ;
72800: LD_ADDR_VAR 0 1
72804: PUSH
72805: LD_EXP 178
72809: PUSH
72810: LD_INT 1
72812: ARRAY
72813: PPUSH
72814: LD_EXP 177
72818: PUSH
72819: LD_INT 1
72821: ARRAY
72822: PUSH
72823: LD_INT 1
72825: ARRAY
72826: PPUSH
72827: LD_EXP 177
72831: PUSH
72832: LD_INT 1
72834: ARRAY
72835: PUSH
72836: LD_INT 2
72838: ARRAY
72839: PPUSH
72840: CALL_OW 297
72844: ST_TO_ADDR
// hex = prisoner_escapehexes [ 1 ] ;
72845: LD_ADDR_VAR 0 3
72849: PUSH
72850: LD_EXP 177
72854: PUSH
72855: LD_INT 1
72857: ARRAY
72858: ST_TO_ADDR
// for i in prisoner_escapehexes do
72859: LD_ADDR_VAR 0 4
72863: PUSH
72864: LD_EXP 177
72868: PUSH
72869: FOR_IN
72870: IFFALSE 72960
// if getdistunitxy ( prisoners_escaping [ 1 ] , i [ 1 ] , i [ 2 ] ) < temp then
72872: LD_EXP 178
72876: PUSH
72877: LD_INT 1
72879: ARRAY
72880: PPUSH
72881: LD_VAR 0 4
72885: PUSH
72886: LD_INT 1
72888: ARRAY
72889: PPUSH
72890: LD_VAR 0 4
72894: PUSH
72895: LD_INT 2
72897: ARRAY
72898: PPUSH
72899: CALL_OW 297
72903: PUSH
72904: LD_VAR 0 1
72908: LESS
72909: IFFALSE 72958
// begin temp = getdistunitxy ( prisoners_escaping [ 1 ] , i [ 1 ] , i [ 2 ] ) ;
72911: LD_ADDR_VAR 0 1
72915: PUSH
72916: LD_EXP 178
72920: PUSH
72921: LD_INT 1
72923: ARRAY
72924: PPUSH
72925: LD_VAR 0 4
72929: PUSH
72930: LD_INT 1
72932: ARRAY
72933: PPUSH
72934: LD_VAR 0 4
72938: PUSH
72939: LD_INT 2
72941: ARRAY
72942: PPUSH
72943: CALL_OW 297
72947: ST_TO_ADDR
// hex = i ;
72948: LD_ADDR_VAR 0 3
72952: PUSH
72953: LD_VAR 0 4
72957: ST_TO_ADDR
// end ;
72958: GO 72869
72960: POP
72961: POP
// for i in prisoners_escaping do
72962: LD_ADDR_VAR 0 4
72966: PUSH
72967: LD_EXP 178
72971: PUSH
72972: FOR_IN
72973: IFFALSE 73019
// if getside ( i ) = 8 then
72975: LD_VAR 0 4
72979: PPUSH
72980: CALL_OW 255
72984: PUSH
72985: LD_INT 8
72987: EQUAL
72988: IFFALSE 73017
// commovexy ( i , hex [ 1 ] , hex [ 2 ] ) ;
72990: LD_VAR 0 4
72994: PPUSH
72995: LD_VAR 0 3
72999: PUSH
73000: LD_INT 1
73002: ARRAY
73003: PPUSH
73004: LD_VAR 0 3
73008: PUSH
73009: LD_INT 2
73011: ARRAY
73012: PPUSH
73013: CALL_OW 111
73017: GO 72972
73019: POP
73020: POP
// end ; for i = 1 to prisoners_escaping do
73021: LD_ADDR_VAR 0 4
73025: PUSH
73026: DOUBLE
73027: LD_INT 1
73029: DEC
73030: ST_TO_ADDR
73031: LD_EXP 178
73035: PUSH
73036: FOR_TO
73037: IFFALSE 73206
// begin if prisoners_armed = 0 and getlives ( prisoners_escaping [ i ] ) + 200 < prisoner_lives [ i ] then
73039: LD_EXP 174
73043: PUSH
73044: LD_INT 0
73046: EQUAL
73047: PUSH
73048: LD_EXP 178
73052: PUSH
73053: LD_VAR 0 4
73057: ARRAY
73058: PPUSH
73059: CALL_OW 256
73063: PUSH
73064: LD_INT 200
73066: PLUS
73067: PUSH
73068: LD_EXP 179
73072: PUSH
73073: LD_VAR 0 4
73077: ARRAY
73078: LESS
73079: AND
73080: IFFALSE 73145
// begin commovexy ( prisoners_escaping [ i ] , getx ( prisoner_cargo ) , gety ( prisoner_cargo ) ) ;
73082: LD_EXP 178
73086: PUSH
73087: LD_VAR 0 4
73091: ARRAY
73092: PPUSH
73093: LD_EXP 176
73097: PPUSH
73098: CALL_OW 250
73102: PPUSH
73103: LD_EXP 176
73107: PPUSH
73108: CALL_OW 251
73112: PPUSH
73113: CALL_OW 111
// setside ( prisoners_escaping [ i ] , 7 ) ;
73117: LD_EXP 178
73121: PUSH
73122: LD_VAR 0 4
73126: ARRAY
73127: PPUSH
73128: LD_INT 7
73130: PPUSH
73131: CALL_OW 235
// prisoners_delay = tick ;
73135: LD_ADDR_EXP 175
73139: PUSH
73140: LD_OWVAR 1
73144: ST_TO_ADDR
// end ; if prisoners_armed = 1 and getlives ( prisoners_escaping [ i ] ) < 250 then
73145: LD_EXP 174
73149: PUSH
73150: LD_INT 1
73152: EQUAL
73153: PUSH
73154: LD_EXP 178
73158: PUSH
73159: LD_VAR 0 4
73163: ARRAY
73164: PPUSH
73165: CALL_OW 256
73169: PUSH
73170: LD_INT 250
73172: LESS
73173: AND
73174: IFFALSE 73204
// begin setside ( prisoners_escaping [ i ] , 7 ) ;
73176: LD_EXP 178
73180: PUSH
73181: LD_VAR 0 4
73185: ARRAY
73186: PPUSH
73187: LD_INT 7
73189: PPUSH
73190: CALL_OW 235
// prisoners_delay = tick ;
73194: LD_ADDR_EXP 175
73198: PUSH
73199: LD_OWVAR 1
73203: ST_TO_ADDR
// end ; end ;
73204: GO 73036
73206: POP
73207: POP
// count = 0 ;
73208: LD_ADDR_VAR 0 6
73212: PUSH
73213: LD_INT 0
73215: ST_TO_ADDR
// for i in prisoners_escaping do
73216: LD_ADDR_VAR 0 4
73220: PUSH
73221: LD_EXP 178
73225: PUSH
73226: FOR_IN
73227: IFFALSE 73388
// begin if hex > 0 then
73229: LD_VAR 0 3
73233: PUSH
73234: LD_INT 0
73236: GREATER
73237: IFFALSE 73281
// if getdistunitxy ( i , hex [ 1 ] , hex [ 2 ] ) < 4 then
73239: LD_VAR 0 4
73243: PPUSH
73244: LD_VAR 0 3
73248: PUSH
73249: LD_INT 1
73251: ARRAY
73252: PPUSH
73253: LD_VAR 0 3
73257: PUSH
73258: LD_INT 2
73260: ARRAY
73261: PPUSH
73262: CALL_OW 297
73266: PUSH
73267: LD_INT 4
73269: LESS
73270: IFFALSE 73281
// removeunit ( i ) ;
73272: LD_VAR 0 4
73276: PPUSH
73277: CALL_OW 64
// if getside ( i ) = 7 and getlives ( i ) > 250 then
73281: LD_VAR 0 4
73285: PPUSH
73286: CALL_OW 255
73290: PUSH
73291: LD_INT 7
73293: EQUAL
73294: PUSH
73295: LD_VAR 0 4
73299: PPUSH
73300: CALL_OW 256
73304: PUSH
73305: LD_INT 250
73307: GREATER
73308: AND
73309: IFFALSE 73352
// begin commovexy ( i , getx ( prisoner_cargo ) , gety ( prisoner_cargo ) ) ;
73311: LD_VAR 0 4
73315: PPUSH
73316: LD_EXP 176
73320: PPUSH
73321: CALL_OW 250
73325: PPUSH
73326: LD_EXP 176
73330: PPUSH
73331: CALL_OW 251
73335: PPUSH
73336: CALL_OW 111
// setclass ( i , class_engineer ) ;
73340: LD_VAR 0 4
73344: PPUSH
73345: LD_INT 2
73347: PPUSH
73348: CALL_OW 336
// end ; if isplaced ( i ) and getside ( i ) = 8 then
73352: LD_VAR 0 4
73356: PPUSH
73357: CALL_OW 305
73361: PUSH
73362: LD_VAR 0 4
73366: PPUSH
73367: CALL_OW 255
73371: PUSH
73372: LD_INT 8
73374: EQUAL
73375: AND
73376: IFFALSE 73386
// count = 1 ;
73378: LD_ADDR_VAR 0 6
73382: PUSH
73383: LD_INT 1
73385: ST_TO_ADDR
// end ;
73386: GO 73226
73388: POP
73389: POP
// if count = 0 then
73390: LD_VAR 0 6
73394: PUSH
73395: LD_INT 0
73397: EQUAL
73398: IFFALSE 73422
// begin prisoners_status = 0 ;
73400: LD_ADDR_EXP 173
73404: PUSH
73405: LD_INT 0
73407: ST_TO_ADDR
// prisoner_lives = [ ] ;
73408: LD_ADDR_EXP 179
73412: PUSH
73413: EMPTY
73414: ST_TO_ADDR
// prisoners_escaping = [ ] ;
73415: LD_ADDR_EXP 178
73419: PUSH
73420: EMPTY
73421: ST_TO_ADDR
// end ; end ; enable ;
73422: ENABLE
// end ;
73423: PPOPN 7
73425: END
// every 0 0$1 trigger filterallunits ( [ [ f_inarea , exit1 ] , [ f_or , [ f_side , 3 ] , [ f_side , 5 ] ] ] ) do var i , j , k , temp ;
73426: LD_INT 95
73428: PUSH
73429: LD_INT 1
73431: PUSH
73432: EMPTY
73433: LIST
73434: LIST
73435: PUSH
73436: LD_INT 2
73438: PUSH
73439: LD_INT 22
73441: PUSH
73442: LD_INT 3
73444: PUSH
73445: EMPTY
73446: LIST
73447: LIST
73448: PUSH
73449: LD_INT 22
73451: PUSH
73452: LD_INT 5
73454: PUSH
73455: EMPTY
73456: LIST
73457: LIST
73458: PUSH
73459: EMPTY
73460: LIST
73461: LIST
73462: LIST
73463: PUSH
73464: EMPTY
73465: LIST
73466: LIST
73467: PPUSH
73468: CALL_OW 69
73472: IFFALSE 73746
73474: GO 73476
73476: DISABLE
73477: LD_INT 0
73479: PPUSH
73480: PPUSH
73481: PPUSH
73482: PPUSH
// begin for i in filterallunits ( [ [ f_inarea , exit1 ] , [ f_side , 5 ] ] ) do
73483: LD_ADDR_VAR 0 1
73487: PUSH
73488: LD_INT 95
73490: PUSH
73491: LD_INT 1
73493: PUSH
73494: EMPTY
73495: LIST
73496: LIST
73497: PUSH
73498: LD_INT 22
73500: PUSH
73501: LD_INT 5
73503: PUSH
73504: EMPTY
73505: LIST
73506: LIST
73507: PUSH
73508: EMPTY
73509: LIST
73510: LIST
73511: PPUSH
73512: CALL_OW 69
73516: PUSH
73517: FOR_IN
73518: IFFALSE 73603
// begin temp = 0 ;
73520: LD_ADDR_VAR 0 4
73524: PUSH
73525: LD_INT 0
73527: ST_TO_ADDR
// for j in escaping_arabians do
73528: LD_ADDR_VAR 0 2
73532: PUSH
73533: LD_EXP 116
73537: PUSH
73538: FOR_IN
73539: IFFALSE 73580
// for k in j do
73541: LD_ADDR_VAR 0 3
73545: PUSH
73546: LD_VAR 0 2
73550: PUSH
73551: FOR_IN
73552: IFFALSE 73576
// if i = k then
73554: LD_VAR 0 1
73558: PUSH
73559: LD_VAR 0 3
73563: EQUAL
73564: IFFALSE 73574
// temp = 1 ;
73566: LD_ADDR_VAR 0 4
73570: PUSH
73571: LD_INT 1
73573: ST_TO_ADDR
73574: GO 73551
73576: POP
73577: POP
73578: GO 73538
73580: POP
73581: POP
// if temp = 0 then
73582: LD_VAR 0 4
73586: PUSH
73587: LD_INT 0
73589: EQUAL
73590: IFFALSE 73601
// removeunit ( i ) ;
73592: LD_VAR 0 1
73596: PPUSH
73597: CALL_OW 64
// end ;
73601: GO 73517
73603: POP
73604: POP
// for i in filterallunits ( [ [ f_inarea , exit1 ] , [ f_or , [ f_side , 3 ] , [ f_side , 6 ] ] ] ) do
73605: LD_ADDR_VAR 0 1
73609: PUSH
73610: LD_INT 95
73612: PUSH
73613: LD_INT 1
73615: PUSH
73616: EMPTY
73617: LIST
73618: LIST
73619: PUSH
73620: LD_INT 2
73622: PUSH
73623: LD_INT 22
73625: PUSH
73626: LD_INT 3
73628: PUSH
73629: EMPTY
73630: LIST
73631: LIST
73632: PUSH
73633: LD_INT 22
73635: PUSH
73636: LD_INT 6
73638: PUSH
73639: EMPTY
73640: LIST
73641: LIST
73642: PUSH
73643: EMPTY
73644: LIST
73645: LIST
73646: LIST
73647: PUSH
73648: EMPTY
73649: LIST
73650: LIST
73651: PPUSH
73652: CALL_OW 69
73656: PUSH
73657: FOR_IN
73658: IFFALSE 73743
// begin temp = 0 ;
73660: LD_ADDR_VAR 0 4
73664: PUSH
73665: LD_INT 0
73667: ST_TO_ADDR
// for j in russians do
73668: LD_ADDR_VAR 0 2
73672: PUSH
73673: LD_EXP 10
73677: PUSH
73678: FOR_IN
73679: IFFALSE 73720
// for k in j do
73681: LD_ADDR_VAR 0 3
73685: PUSH
73686: LD_VAR 0 2
73690: PUSH
73691: FOR_IN
73692: IFFALSE 73716
// if i = k then
73694: LD_VAR 0 1
73698: PUSH
73699: LD_VAR 0 3
73703: EQUAL
73704: IFFALSE 73714
// temp = 1 ;
73706: LD_ADDR_VAR 0 4
73710: PUSH
73711: LD_INT 1
73713: ST_TO_ADDR
73714: GO 73691
73716: POP
73717: POP
73718: GO 73678
73720: POP
73721: POP
// if temp = 0 then
73722: LD_VAR 0 4
73726: PUSH
73727: LD_INT 0
73729: EQUAL
73730: IFFALSE 73741
// removeunit ( i ) ;
73732: LD_VAR 0 1
73736: PPUSH
73737: CALL_OW 64
// end ;
73741: GO 73657
73743: POP
73744: POP
// enable ;
73745: ENABLE
// end ;
73746: PPOPN 4
73748: END
// every 0 0$1 marked 1 do var i , j , temp , temp_list , roll , areas ;
73749: GO 73751
73751: DISABLE
73752: LD_INT 0
73754: PPUSH
73755: PPUSH
73756: PPUSH
73757: PPUSH
73758: PPUSH
73759: PPUSH
// begin temp_list = filterallunits ( [ f_or , [ f_class , class_apeman ] , [ f_class , class_apeman_soldier ] , [ f_class , class_apeman_kamikaze ] ] ) diff Gonzo ;
73760: LD_ADDR_VAR 0 4
73764: PUSH
73765: LD_INT 2
73767: PUSH
73768: LD_INT 25
73770: PUSH
73771: LD_INT 12
73773: PUSH
73774: EMPTY
73775: LIST
73776: LIST
73777: PUSH
73778: LD_INT 25
73780: PUSH
73781: LD_INT 15
73783: PUSH
73784: EMPTY
73785: LIST
73786: LIST
73787: PUSH
73788: LD_INT 25
73790: PUSH
73791: LD_INT 17
73793: PUSH
73794: EMPTY
73795: LIST
73796: LIST
73797: PUSH
73798: EMPTY
73799: LIST
73800: LIST
73801: LIST
73802: LIST
73803: PPUSH
73804: CALL_OW 69
73808: PUSH
73809: LD_EXP 102
73813: DIFF
73814: ST_TO_ADDR
// if temp_list < 5 and not Apes = 0 then
73815: LD_VAR 0 4
73819: PUSH
73820: LD_INT 5
73822: LESS
73823: PUSH
73824: LD_EXP 204
73828: PUSH
73829: LD_INT 0
73831: EQUAL
73832: NOT
73833: AND
73834: IFFALSE 74142
// repeat Randomize ;
73836: CALL_OW 10
// wait ( [ 4 4$0 , 5 5$0 , 6 6$0 ] [ difficulty ] ) ;
73840: LD_INT 8400
73842: PUSH
73843: LD_INT 10500
73845: PUSH
73846: LD_INT 12600
73848: PUSH
73849: EMPTY
73850: LIST
73851: LIST
73852: LIST
73853: PUSH
73854: LD_OWVAR 67
73858: ARRAY
73859: PPUSH
73860: CALL_OW 67
// roll = rand ( 1 , Apes ) ;
73864: LD_ADDR_VAR 0 5
73868: PUSH
73869: LD_INT 1
73871: PPUSH
73872: LD_EXP 204
73876: PPUSH
73877: CALL_OW 12
73881: ST_TO_ADDR
// temp = [ ape_spawn_map1 , ape_spawn_map2 , ape_spawn_map3 , ape_spawn_map4 , ape_spawn_map5 , ape_spawn_map6 ] ;
73882: LD_ADDR_VAR 0 3
73886: PUSH
73887: LD_INT 44
73889: PUSH
73890: LD_INT 45
73892: PUSH
73893: LD_INT 46
73895: PUSH
73896: LD_INT 47
73898: PUSH
73899: LD_INT 48
73901: PUSH
73902: LD_INT 49
73904: PUSH
73905: EMPTY
73906: LIST
73907: LIST
73908: LIST
73909: LIST
73910: LIST
73911: LIST
73912: ST_TO_ADDR
// areas = [ ] ;
73913: LD_ADDR_VAR 0 6
73917: PUSH
73918: EMPTY
73919: ST_TO_ADDR
// for i in temp do
73920: LD_ADDR_VAR 0 1
73924: PUSH
73925: LD_VAR 0 3
73929: PUSH
73930: FOR_IN
73931: IFFALSE 73969
// if SeeArea ( 2 , i ) = 0 then
73933: LD_INT 2
73935: PPUSH
73936: LD_VAR 0 1
73940: PPUSH
73941: CALL_OW 294
73945: PUSH
73946: LD_INT 0
73948: EQUAL
73949: IFFALSE 73967
// areas = areas ^ i ;
73951: LD_ADDR_VAR 0 6
73955: PUSH
73956: LD_VAR 0 6
73960: PUSH
73961: LD_VAR 0 1
73965: ADD
73966: ST_TO_ADDR
73967: GO 73930
73969: POP
73970: POP
// if areas = 0 or rand ( 1 , 3 ) = 1 then
73971: LD_VAR 0 6
73975: PUSH
73976: LD_INT 0
73978: EQUAL
73979: PUSH
73980: LD_INT 1
73982: PPUSH
73983: LD_INT 3
73985: PPUSH
73986: CALL_OW 12
73990: PUSH
73991: LD_INT 1
73993: EQUAL
73994: OR
73995: IFFALSE 74020
// placeunitarea ( Apes [ roll ] , ape_spawn_border , 0 ) else
73997: LD_EXP 204
74001: PUSH
74002: LD_VAR 0 5
74006: ARRAY
74007: PPUSH
74008: LD_INT 32
74010: PPUSH
74011: LD_INT 0
74013: PPUSH
74014: CALL_OW 49
74018: GO 74057
// placeunitarea ( Apes [ roll ] , areas [ rand ( 1 , areas ) ] , 0 ) ;
74020: LD_EXP 204
74024: PUSH
74025: LD_VAR 0 5
74029: ARRAY
74030: PPUSH
74031: LD_VAR 0 6
74035: PUSH
74036: LD_INT 1
74038: PPUSH
74039: LD_VAR 0 6
74043: PPUSH
74044: CALL_OW 12
74048: ARRAY
74049: PPUSH
74050: LD_INT 0
74052: PPUSH
74053: CALL_OW 49
// Apes = delete ( Apes , roll ) ;
74057: LD_ADDR_EXP 204
74061: PUSH
74062: LD_EXP 204
74066: PPUSH
74067: LD_VAR 0 5
74071: PPUSH
74072: CALL_OW 3
74076: ST_TO_ADDR
// temp_list = filterallunits ( [ f_or , [ f_class , class_apeman ] , [ f_class , class_apeman_soldier ] , [ f_class , class_apeman_kamikaze ] ] ) diff Gonzo ;
74077: LD_ADDR_VAR 0 4
74081: PUSH
74082: LD_INT 2
74084: PUSH
74085: LD_INT 25
74087: PUSH
74088: LD_INT 12
74090: PUSH
74091: EMPTY
74092: LIST
74093: LIST
74094: PUSH
74095: LD_INT 25
74097: PUSH
74098: LD_INT 15
74100: PUSH
74101: EMPTY
74102: LIST
74103: LIST
74104: PUSH
74105: LD_INT 25
74107: PUSH
74108: LD_INT 17
74110: PUSH
74111: EMPTY
74112: LIST
74113: LIST
74114: PUSH
74115: EMPTY
74116: LIST
74117: LIST
74118: LIST
74119: LIST
74120: PPUSH
74121: CALL_OW 69
74125: PUSH
74126: LD_EXP 102
74130: DIFF
74131: ST_TO_ADDR
// until temp_list > 4 ;
74132: LD_VAR 0 4
74136: PUSH
74137: LD_INT 4
74139: GREATER
74140: IFFALSE 73836
// enable ;
74142: ENABLE
// end ;
74143: PPOPN 6
74145: END
// every 0 0$1 trigger filterallunits ( [ f_class , class_tiger ] ) < 2 and gamestage = 3 do var i , j , temp , tiger , areas ;
74146: LD_INT 25
74148: PUSH
74149: LD_INT 14
74151: PUSH
74152: EMPTY
74153: LIST
74154: LIST
74155: PPUSH
74156: CALL_OW 69
74160: PUSH
74161: LD_INT 2
74163: LESS
74164: PUSH
74165: LD_EXP 2
74169: PUSH
74170: LD_INT 3
74172: EQUAL
74173: AND
74174: IFFALSE 74539
74176: GO 74178
74178: DISABLE
74179: LD_INT 0
74181: PPUSH
74182: PPUSH
74183: PPUSH
74184: PPUSH
74185: PPUSH
// begin if filterallunits ( [ f_class , class_tiger ] ) < 2 then
74186: LD_INT 25
74188: PUSH
74189: LD_INT 14
74191: PUSH
74192: EMPTY
74193: LIST
74194: LIST
74195: PPUSH
74196: CALL_OW 69
74200: PUSH
74201: LD_INT 2
74203: LESS
74204: IFFALSE 74538
// begin Randomize ;
74206: CALL_OW 10
// wait ( [ 4 4$0 , 5 5$0 , 6 6$0 ] [ difficulty ] ) ;
74210: LD_INT 8400
74212: PUSH
74213: LD_INT 10500
74215: PUSH
74216: LD_INT 12600
74218: PUSH
74219: EMPTY
74220: LIST
74221: LIST
74222: LIST
74223: PUSH
74224: LD_OWVAR 67
74228: ARRAY
74229: PPUSH
74230: CALL_OW 67
// repeat uc_nation = nation_nature ;
74234: LD_ADDR_OWVAR 21
74238: PUSH
74239: LD_INT 0
74241: ST_TO_ADDR
// uc_side = 0 ;
74242: LD_ADDR_OWVAR 20
74246: PUSH
74247: LD_INT 0
74249: ST_TO_ADDR
// hc_class = class_tiger ;
74250: LD_ADDR_OWVAR 28
74254: PUSH
74255: LD_INT 14
74257: ST_TO_ADDR
// hc_attr = [ 16 , 11 ] ;
74258: LD_ADDR_OWVAR 29
74262: PUSH
74263: LD_INT 16
74265: PUSH
74266: LD_INT 11
74268: PUSH
74269: EMPTY
74270: LIST
74271: LIST
74272: ST_TO_ADDR
// hc_skills = [ 5 , 5 , 5 , 5 ] ;
74273: LD_ADDR_OWVAR 31
74277: PUSH
74278: LD_INT 5
74280: PUSH
74281: LD_INT 5
74283: PUSH
74284: LD_INT 5
74286: PUSH
74287: LD_INT 5
74289: PUSH
74290: EMPTY
74291: LIST
74292: LIST
74293: LIST
74294: LIST
74295: ST_TO_ADDR
// hc_gallery = nature_foreg ;
74296: LD_ADDR_OWVAR 33
74300: PUSH
74301: LD_STRING nature_foreg
74303: ST_TO_ADDR
// hc_face_number = 3 ;
74304: LD_ADDR_OWVAR 34
74308: PUSH
74309: LD_INT 3
74311: ST_TO_ADDR
// tiger = CreateHuman ;
74312: LD_ADDR_VAR 0 4
74316: PUSH
74317: CALL_OW 44
74321: ST_TO_ADDR
// temp = [ ape_spawn_map1 , ape_spawn_map2 , ape_spawn_map3 , ape_spawn_map4 , ape_spawn_map5 , ape_spawn_map6 ] ;
74322: LD_ADDR_VAR 0 3
74326: PUSH
74327: LD_INT 44
74329: PUSH
74330: LD_INT 45
74332: PUSH
74333: LD_INT 46
74335: PUSH
74336: LD_INT 47
74338: PUSH
74339: LD_INT 48
74341: PUSH
74342: LD_INT 49
74344: PUSH
74345: EMPTY
74346: LIST
74347: LIST
74348: LIST
74349: LIST
74350: LIST
74351: LIST
74352: ST_TO_ADDR
// areas = [ ] ;
74353: LD_ADDR_VAR 0 5
74357: PUSH
74358: EMPTY
74359: ST_TO_ADDR
// for i in temp do
74360: LD_ADDR_VAR 0 1
74364: PUSH
74365: LD_VAR 0 3
74369: PUSH
74370: FOR_IN
74371: IFFALSE 74409
// if SeeArea ( 2 , i ) = 0 then
74373: LD_INT 2
74375: PPUSH
74376: LD_VAR 0 1
74380: PPUSH
74381: CALL_OW 294
74385: PUSH
74386: LD_INT 0
74388: EQUAL
74389: IFFALSE 74407
// areas = areas ^ i ;
74391: LD_ADDR_VAR 0 5
74395: PUSH
74396: LD_VAR 0 5
74400: PUSH
74401: LD_VAR 0 1
74405: ADD
74406: ST_TO_ADDR
74407: GO 74370
74409: POP
74410: POP
// if areas = 0 or rand ( 1 , 3 ) = 1 then
74411: LD_VAR 0 5
74415: PUSH
74416: LD_INT 0
74418: EQUAL
74419: PUSH
74420: LD_INT 1
74422: PPUSH
74423: LD_INT 3
74425: PPUSH
74426: CALL_OW 12
74430: PUSH
74431: LD_INT 1
74433: EQUAL
74434: OR
74435: IFFALSE 74454
// placeunitarea ( tiger , ape_spawn_border , 0 ) else
74437: LD_VAR 0 4
74441: PPUSH
74442: LD_INT 32
74444: PPUSH
74445: LD_INT 0
74447: PPUSH
74448: CALL_OW 49
74452: GO 74518
// if areas = 1 then
74454: LD_VAR 0 5
74458: PUSH
74459: LD_INT 1
74461: EQUAL
74462: IFFALSE 74487
// placeunitarea ( tiger , areas [ 1 ] , 0 ) else
74464: LD_VAR 0 4
74468: PPUSH
74469: LD_VAR 0 5
74473: PUSH
74474: LD_INT 1
74476: ARRAY
74477: PPUSH
74478: LD_INT 0
74480: PPUSH
74481: CALL_OW 49
74485: GO 74518
// placeunitarea ( tiger , areas [ rand ( 1 , areas ) ] , 0 ) ;
74487: LD_VAR 0 4
74491: PPUSH
74492: LD_VAR 0 5
74496: PUSH
74497: LD_INT 1
74499: PPUSH
74500: LD_VAR 0 5
74504: PPUSH
74505: CALL_OW 12
74509: ARRAY
74510: PPUSH
74511: LD_INT 0
74513: PPUSH
74514: CALL_OW 49
// until filterallunits ( [ f_class , class_tiger ] ) > 1 ;
74518: LD_INT 25
74520: PUSH
74521: LD_INT 14
74523: PUSH
74524: EMPTY
74525: LIST
74526: LIST
74527: PPUSH
74528: CALL_OW 69
74532: PUSH
74533: LD_INT 1
74535: GREATER
74536: IFFALSE 74234
// end ; enable ;
74538: ENABLE
// end ;
74539: PPOPN 5
74541: END
// every 0 0$1 trigger tick > mastodon_tick + 5 5$0 do var i , temp ;
74542: LD_OWVAR 1
74546: PUSH
74547: LD_EXP 209
74551: PUSH
74552: LD_INT 10500
74554: PLUS
74555: GREATER
74556: IFFALSE 74601
74558: GO 74560
74560: DISABLE
74561: LD_INT 0
74563: PPUSH
74564: PPUSH
// begin mastodon_tick = 999 999$0 ;
74565: LD_ADDR_EXP 209
74569: PUSH
74570: LD_INT 2097900
74572: ST_TO_ADDR
// setside ( mastodon , 0 ) ;
74573: LD_EXP 207
74577: PPUSH
74578: LD_INT 0
74580: PPUSH
74581: CALL_OW 235
// placeunitarea ( mastodon , ape_spawn_border , 0 ) ;
74585: LD_EXP 207
74589: PPUSH
74590: LD_INT 32
74592: PPUSH
74593: LD_INT 0
74595: PPUSH
74596: CALL_OW 49
// enable ;
74600: ENABLE
// end ;
74601: PPOPN 2
74603: END
// every 0 0$1 do var i , j , temp_list , temp_list2 , temp_un , temp_hex , X , Y ;
74604: GO 74606
74606: DISABLE
74607: LD_INT 0
74609: PPUSH
74610: PPUSH
74611: PPUSH
74612: PPUSH
74613: PPUSH
74614: PPUSH
74615: PPUSH
74616: PPUSH
// begin for i in [ Eh1 , Eh2 ] do
74617: LD_ADDR_VAR 0 1
74621: PUSH
74622: LD_INT 7
74624: PUSH
74625: LD_INT 8
74627: PUSH
74628: EMPTY
74629: LIST
74630: LIST
74631: PUSH
74632: FOR_IN
74633: IFFALSE 75044
// if filterallunits ( [ [ f_not , [ f_side , 0 ] ] , [ f_dist , i , 10 ] ] ) > 0 then
74635: LD_INT 3
74637: PUSH
74638: LD_INT 22
74640: PUSH
74641: LD_INT 0
74643: PUSH
74644: EMPTY
74645: LIST
74646: LIST
74647: PUSH
74648: EMPTY
74649: LIST
74650: LIST
74651: PUSH
74652: LD_INT 91
74654: PUSH
74655: LD_VAR 0 1
74659: PUSH
74660: LD_INT 10
74662: PUSH
74663: EMPTY
74664: LIST
74665: LIST
74666: LIST
74667: PUSH
74668: EMPTY
74669: LIST
74670: LIST
74671: PPUSH
74672: CALL_OW 69
74676: PUSH
74677: LD_INT 0
74679: GREATER
74680: IFFALSE 75042
// begin temp_list = [ [ GetX ( i ) , GetY ( i ) + 3 ] , [ GetX ( i ) - 3 , GetY ( i ) ] , [ GetX ( i ) - 3 , GetY ( i ) - 3 ] , [ GetX ( i ) , GetY ( i ) - 3 ] , [ GetX ( i ) + 3 , GetY ( i ) ] , [ GetX ( i ) + 3 , GetY ( i ) + 3 ] ] ;
74682: LD_ADDR_VAR 0 3
74686: PUSH
74687: LD_VAR 0 1
74691: PPUSH
74692: CALL_OW 250
74696: PUSH
74697: LD_VAR 0 1
74701: PPUSH
74702: CALL_OW 251
74706: PUSH
74707: LD_INT 3
74709: PLUS
74710: PUSH
74711: EMPTY
74712: LIST
74713: LIST
74714: PUSH
74715: LD_VAR 0 1
74719: PPUSH
74720: CALL_OW 250
74724: PUSH
74725: LD_INT 3
74727: MINUS
74728: PUSH
74729: LD_VAR 0 1
74733: PPUSH
74734: CALL_OW 251
74738: PUSH
74739: EMPTY
74740: LIST
74741: LIST
74742: PUSH
74743: LD_VAR 0 1
74747: PPUSH
74748: CALL_OW 250
74752: PUSH
74753: LD_INT 3
74755: MINUS
74756: PUSH
74757: LD_VAR 0 1
74761: PPUSH
74762: CALL_OW 251
74766: PUSH
74767: LD_INT 3
74769: MINUS
74770: PUSH
74771: EMPTY
74772: LIST
74773: LIST
74774: PUSH
74775: LD_VAR 0 1
74779: PPUSH
74780: CALL_OW 250
74784: PUSH
74785: LD_VAR 0 1
74789: PPUSH
74790: CALL_OW 251
74794: PUSH
74795: LD_INT 3
74797: MINUS
74798: PUSH
74799: EMPTY
74800: LIST
74801: LIST
74802: PUSH
74803: LD_VAR 0 1
74807: PPUSH
74808: CALL_OW 250
74812: PUSH
74813: LD_INT 3
74815: PLUS
74816: PUSH
74817: LD_VAR 0 1
74821: PPUSH
74822: CALL_OW 251
74826: PUSH
74827: EMPTY
74828: LIST
74829: LIST
74830: PUSH
74831: LD_VAR 0 1
74835: PPUSH
74836: CALL_OW 250
74840: PUSH
74841: LD_INT 3
74843: PLUS
74844: PUSH
74845: LD_VAR 0 1
74849: PPUSH
74850: CALL_OW 251
74854: PUSH
74855: LD_INT 3
74857: PLUS
74858: PUSH
74859: EMPTY
74860: LIST
74861: LIST
74862: PUSH
74863: EMPTY
74864: LIST
74865: LIST
74866: LIST
74867: LIST
74868: LIST
74869: LIST
74870: ST_TO_ADDR
// temp_list2 = [ ] ;
74871: LD_ADDR_VAR 0 4
74875: PUSH
74876: EMPTY
74877: ST_TO_ADDR
// for j in temp_list do
74878: LD_ADDR_VAR 0 2
74882: PUSH
74883: LD_VAR 0 3
74887: PUSH
74888: FOR_IN
74889: IFFALSE 74936
// if ValidHex ( j [ 1 ] , j [ 2 ] ) then
74891: LD_VAR 0 2
74895: PUSH
74896: LD_INT 1
74898: ARRAY
74899: PPUSH
74900: LD_VAR 0 2
74904: PUSH
74905: LD_INT 2
74907: ARRAY
74908: PPUSH
74909: CALL_OW 488
74913: IFFALSE 74934
// temp_list2 = temp_list2 ^ [ j ] ;
74915: LD_ADDR_VAR 0 4
74919: PUSH
74920: LD_VAR 0 4
74924: PUSH
74925: LD_VAR 0 2
74929: PUSH
74930: EMPTY
74931: LIST
74932: ADD
74933: ST_TO_ADDR
74934: GO 74888
74936: POP
74937: POP
// temp_un = NearestUnitToUnit ( filterallunits ( [ [ f_not , [ f_side , 0 ] ] , [ f_dist , i , 10 ] ] ) , i ) ;
74938: LD_ADDR_VAR 0 5
74942: PUSH
74943: LD_INT 3
74945: PUSH
74946: LD_INT 22
74948: PUSH
74949: LD_INT 0
74951: PUSH
74952: EMPTY
74953: LIST
74954: LIST
74955: PUSH
74956: EMPTY
74957: LIST
74958: LIST
74959: PUSH
74960: LD_INT 91
74962: PUSH
74963: LD_VAR 0 1
74967: PUSH
74968: LD_INT 10
74970: PUSH
74971: EMPTY
74972: LIST
74973: LIST
74974: LIST
74975: PUSH
74976: EMPTY
74977: LIST
74978: LIST
74979: PPUSH
74980: CALL_OW 69
74984: PPUSH
74985: LD_VAR 0 1
74989: PPUSH
74990: CALL_OW 74
74994: ST_TO_ADDR
// temp_hex = FarthestHex ( temp_list2 , temp_un ) ;
74995: LD_ADDR_VAR 0 6
74999: PUSH
75000: LD_VAR 0 4
75004: PPUSH
75005: LD_VAR 0 5
75009: PPUSH
75010: CALL 60619 0 2
75014: ST_TO_ADDR
// ComMoveXY ( i , temp_hex [ 1 ] , temp_hex [ 2 ] ) ;
75015: LD_VAR 0 1
75019: PPUSH
75020: LD_VAR 0 6
75024: PUSH
75025: LD_INT 1
75027: ARRAY
75028: PPUSH
75029: LD_VAR 0 6
75033: PUSH
75034: LD_INT 2
75036: ARRAY
75037: PPUSH
75038: CALL_OW 111
// end ;
75042: GO 74632
75044: POP
75045: POP
// enable ;
75046: ENABLE
// end ; end_of_file
75047: PPOPN 8
75049: END
// every 0 0$1 do var temp , temp_list , temp_list2 , placed_characters , other , temp_val , temp_val2 , temp_hex , i , un_list , line_list , time , id_end ;
75050: GO 75052
75052: DISABLE
75053: LD_INT 0
75055: PPUSH
75056: PPUSH
75057: PPUSH
75058: PPUSH
75059: PPUSH
75060: PPUSH
75061: PPUSH
75062: PPUSH
75063: PPUSH
75064: PPUSH
75065: PPUSH
75066: PPUSH
75067: PPUSH
// begin Randomize ;
75068: CALL_OW 10
// SayRadio ( Abdul , In_Ab2 ) ;
75072: LD_EXP 98
75076: PPUSH
75077: LD_STRING In_Ab2
75079: PPUSH
75080: CALL_OW 94
// Say ( Heike , In_He2 ) ;
75084: LD_EXP 87
75088: PPUSH
75089: LD_STRING In_He2
75091: PPUSH
75092: CALL_OW 88
// SayRadio ( Abdul , In_Ab3 ) ;
75096: LD_EXP 98
75100: PPUSH
75101: LD_STRING In_Ab3
75103: PPUSH
75104: CALL_OW 94
// SayRadio ( Abdul , In_Ab4 ) ;
75108: LD_EXP 98
75112: PPUSH
75113: LD_STRING In_Ab4
75115: PPUSH
75116: CALL_OW 94
// SayRadio ( Abdul , In_Ab5 ) ;
75120: LD_EXP 98
75124: PPUSH
75125: LD_STRING In_Ab5
75127: PPUSH
75128: CALL_OW 94
// Say ( Heike , In_He3 ) ;
75132: LD_EXP 87
75136: PPUSH
75137: LD_STRING In_He3
75139: PPUSH
75140: CALL_OW 88
// SayRadio ( Abdul , In_Ab6 ) ;
75144: LD_EXP 98
75148: PPUSH
75149: LD_STRING In_Ab6
75151: PPUSH
75152: CALL_OW 94
// SayRadio ( Abdul , In_Ab7 ) ;
75156: LD_EXP 98
75160: PPUSH
75161: LD_STRING In_Ab7
75163: PPUSH
75164: CALL_OW 94
// SayRadio ( Abdul , In_Ab8 ) ;
75168: LD_EXP 98
75172: PPUSH
75173: LD_STRING In_Ab8
75175: PPUSH
75176: CALL_OW 94
// Say ( Heike , In_He4 ) ;
75180: LD_EXP 87
75184: PPUSH
75185: LD_STRING In_He4
75187: PPUSH
75188: CALL_OW 88
// Dwait ( 0 0$2 ) ;
75192: LD_INT 70
75194: PPUSH
75195: CALL_OW 68
// SayRadio ( Abdul , In_Ab9 ) ;
75199: LD_EXP 98
75203: PPUSH
75204: LD_STRING In_Ab9
75206: PPUSH
75207: CALL_OW 94
// time = tick ;
75211: LD_ADDR_VAR 0 12
75215: PUSH
75216: LD_OWVAR 1
75220: ST_TO_ADDR
// repeat wait ( 0 0$0.5 ) ;
75221: LD_INT 18
75223: PPUSH
75224: CALL_OW 67
// until unitfilter ( player_forces , [ [ f_side , 2 ] , [ f_not , [ f_placed ] ] ] ) = 0 or tick > time + 1 1$30 ;
75228: LD_EXP 104
75232: PPUSH
75233: LD_INT 22
75235: PUSH
75236: LD_INT 2
75238: PUSH
75239: EMPTY
75240: LIST
75241: LIST
75242: PUSH
75243: LD_INT 3
75245: PUSH
75246: LD_INT 52
75248: PUSH
75249: EMPTY
75250: LIST
75251: PUSH
75252: EMPTY
75253: LIST
75254: LIST
75255: PUSH
75256: EMPTY
75257: LIST
75258: LIST
75259: PPUSH
75260: CALL_OW 72
75264: PUSH
75265: LD_INT 0
75267: EQUAL
75268: PUSH
75269: LD_OWVAR 1
75273: PUSH
75274: LD_VAR 0 12
75278: PUSH
75279: LD_INT 3150
75281: PLUS
75282: GREATER
75283: OR
75284: IFFALSE 75221
// temp = 0 ;
75286: LD_ADDR_VAR 0 1
75290: PUSH
75291: LD_INT 0
75293: ST_TO_ADDR
// for i in filterallunits ( [ [ f_side , 2 ] , [ f_placed ] ] ) diff [ Oswald , Olaf , Sonya , Ralph , Kowalski , Aviradze , Swansson , Dwayne , Khattam , Evelyn , Chrissy , Gonzo , Heike ] do
75294: LD_ADDR_VAR 0 9
75298: PUSH
75299: LD_INT 22
75301: PUSH
75302: LD_INT 2
75304: PUSH
75305: EMPTY
75306: LIST
75307: LIST
75308: PUSH
75309: LD_INT 52
75311: PUSH
75312: EMPTY
75313: LIST
75314: PUSH
75315: EMPTY
75316: LIST
75317: LIST
75318: PPUSH
75319: CALL_OW 69
75323: PUSH
75324: LD_EXP 88
75328: PUSH
75329: LD_EXP 89
75333: PUSH
75334: LD_EXP 90
75338: PUSH
75339: LD_EXP 91
75343: PUSH
75344: LD_EXP 92
75348: PUSH
75349: LD_EXP 93
75353: PUSH
75354: LD_EXP 94
75358: PUSH
75359: LD_EXP 95
75363: PUSH
75364: LD_EXP 96
75368: PUSH
75369: LD_EXP 97
75373: PUSH
75374: LD_EXP 103
75378: PUSH
75379: LD_EXP 102
75383: PUSH
75384: LD_EXP 87
75388: PUSH
75389: EMPTY
75390: LIST
75391: LIST
75392: LIST
75393: LIST
75394: LIST
75395: LIST
75396: LIST
75397: LIST
75398: LIST
75399: LIST
75400: LIST
75401: LIST
75402: LIST
75403: DIFF
75404: PUSH
75405: FOR_IN
75406: IFFALSE 75458
// if getskill ( i , skill_combat ) > temp then
75408: LD_VAR 0 9
75412: PPUSH
75413: LD_INT 1
75415: PPUSH
75416: CALL_OW 259
75420: PUSH
75421: LD_VAR 0 1
75425: GREATER
75426: IFFALSE 75456
// begin Soldier = i ;
75428: LD_ADDR_EXP 110
75432: PUSH
75433: LD_VAR 0 9
75437: ST_TO_ADDR
// temp = getskill ( i , skill_combat ) ;
75438: LD_ADDR_VAR 0 1
75442: PUSH
75443: LD_VAR 0 9
75447: PPUSH
75448: LD_INT 1
75450: PPUSH
75451: CALL_OW 259
75455: ST_TO_ADDR
// end ;
75456: GO 75405
75458: POP
75459: POP
// temp = 0 ;
75460: LD_ADDR_VAR 0 1
75464: PUSH
75465: LD_INT 0
75467: ST_TO_ADDR
// for i in filterallunits ( [ [ f_side , 2 ] , [ f_placed ] ] ) diff [ Oswald , Olaf , Sonya , Ralph , Kowalski , Aviradze , Swansson , Dwayne , Khattam , Evelyn , Chrissy , Gonzo , Heike ] do
75468: LD_ADDR_VAR 0 9
75472: PUSH
75473: LD_INT 22
75475: PUSH
75476: LD_INT 2
75478: PUSH
75479: EMPTY
75480: LIST
75481: LIST
75482: PUSH
75483: LD_INT 52
75485: PUSH
75486: EMPTY
75487: LIST
75488: PUSH
75489: EMPTY
75490: LIST
75491: LIST
75492: PPUSH
75493: CALL_OW 69
75497: PUSH
75498: LD_EXP 88
75502: PUSH
75503: LD_EXP 89
75507: PUSH
75508: LD_EXP 90
75512: PUSH
75513: LD_EXP 91
75517: PUSH
75518: LD_EXP 92
75522: PUSH
75523: LD_EXP 93
75527: PUSH
75528: LD_EXP 94
75532: PUSH
75533: LD_EXP 95
75537: PUSH
75538: LD_EXP 96
75542: PUSH
75543: LD_EXP 97
75547: PUSH
75548: LD_EXP 103
75552: PUSH
75553: LD_EXP 102
75557: PUSH
75558: LD_EXP 87
75562: PUSH
75563: EMPTY
75564: LIST
75565: LIST
75566: LIST
75567: LIST
75568: LIST
75569: LIST
75570: LIST
75571: LIST
75572: LIST
75573: LIST
75574: LIST
75575: LIST
75576: LIST
75577: DIFF
75578: PUSH
75579: FOR_IN
75580: IFFALSE 75632
// if getskill ( i , skill_scientistic ) > temp then
75582: LD_VAR 0 9
75586: PPUSH
75587: LD_INT 4
75589: PPUSH
75590: CALL_OW 259
75594: PUSH
75595: LD_VAR 0 1
75599: GREATER
75600: IFFALSE 75630
// begin Scientist = i ;
75602: LD_ADDR_EXP 109
75606: PUSH
75607: LD_VAR 0 9
75611: ST_TO_ADDR
// temp = getskill ( i , skill_scientistic ) ;
75612: LD_ADDR_VAR 0 1
75616: PUSH
75617: LD_VAR 0 9
75621: PPUSH
75622: LD_INT 4
75624: PPUSH
75625: CALL_OW 259
75629: ST_TO_ADDR
// end ;
75630: GO 75579
75632: POP
75633: POP
// if Scientist = 0 then
75634: LD_EXP 109
75638: PUSH
75639: LD_INT 0
75641: EQUAL
75642: IFFALSE 75735
// for i in filterallunits ( [ [ f_side , 2 ] , [ f_placed ] ] ) diff Gonzo do
75644: LD_ADDR_VAR 0 9
75648: PUSH
75649: LD_INT 22
75651: PUSH
75652: LD_INT 2
75654: PUSH
75655: EMPTY
75656: LIST
75657: LIST
75658: PUSH
75659: LD_INT 52
75661: PUSH
75662: EMPTY
75663: LIST
75664: PUSH
75665: EMPTY
75666: LIST
75667: LIST
75668: PPUSH
75669: CALL_OW 69
75673: PUSH
75674: LD_EXP 102
75678: DIFF
75679: PUSH
75680: FOR_IN
75681: IFFALSE 75733
// if getskill ( i , skill_scientistic ) > temp then
75683: LD_VAR 0 9
75687: PPUSH
75688: LD_INT 4
75690: PPUSH
75691: CALL_OW 259
75695: PUSH
75696: LD_VAR 0 1
75700: GREATER
75701: IFFALSE 75731
// begin Scientist = i ;
75703: LD_ADDR_EXP 109
75707: PUSH
75708: LD_VAR 0 9
75712: ST_TO_ADDR
// temp = getskill ( i , skill_scientistic ) ;
75713: LD_ADDR_VAR 0 1
75717: PUSH
75718: LD_VAR 0 9
75722: PPUSH
75723: LD_INT 4
75725: PPUSH
75726: CALL_OW 259
75730: ST_TO_ADDR
// end ;
75731: GO 75680
75733: POP
75734: POP
// temp = 0 ;
75735: LD_ADDR_VAR 0 1
75739: PUSH
75740: LD_INT 0
75742: ST_TO_ADDR
// for i in filterallunits ( [ [ f_side , 2 ] , [ f_placed ] ] ) diff [ Oswald , Olaf , Sonya , Ralph , Kowalski , Aviradze , Swansson , Dwayne , Khattam , Evelyn , Chrissy , Gonzo , Heike ] do
75743: LD_ADDR_VAR 0 9
75747: PUSH
75748: LD_INT 22
75750: PUSH
75751: LD_INT 2
75753: PUSH
75754: EMPTY
75755: LIST
75756: LIST
75757: PUSH
75758: LD_INT 52
75760: PUSH
75761: EMPTY
75762: LIST
75763: PUSH
75764: EMPTY
75765: LIST
75766: LIST
75767: PPUSH
75768: CALL_OW 69
75772: PUSH
75773: LD_EXP 88
75777: PUSH
75778: LD_EXP 89
75782: PUSH
75783: LD_EXP 90
75787: PUSH
75788: LD_EXP 91
75792: PUSH
75793: LD_EXP 92
75797: PUSH
75798: LD_EXP 93
75802: PUSH
75803: LD_EXP 94
75807: PUSH
75808: LD_EXP 95
75812: PUSH
75813: LD_EXP 96
75817: PUSH
75818: LD_EXP 97
75822: PUSH
75823: LD_EXP 103
75827: PUSH
75828: LD_EXP 102
75832: PUSH
75833: LD_EXP 87
75837: PUSH
75838: EMPTY
75839: LIST
75840: LIST
75841: LIST
75842: LIST
75843: LIST
75844: LIST
75845: LIST
75846: LIST
75847: LIST
75848: LIST
75849: LIST
75850: LIST
75851: LIST
75852: DIFF
75853: PUSH
75854: FOR_IN
75855: IFFALSE 75907
// if getskill ( i , skill_mechanical ) > temp then
75857: LD_VAR 0 9
75861: PPUSH
75862: LD_INT 3
75864: PPUSH
75865: CALL_OW 259
75869: PUSH
75870: LD_VAR 0 1
75874: GREATER
75875: IFFALSE 75905
// begin Mechanic = i ;
75877: LD_ADDR_EXP 111
75881: PUSH
75882: LD_VAR 0 9
75886: ST_TO_ADDR
// temp = getskill ( i , skill_mechanical ) ;
75887: LD_ADDR_VAR 0 1
75891: PUSH
75892: LD_VAR 0 9
75896: PPUSH
75897: LD_INT 3
75899: PPUSH
75900: CALL_OW 259
75904: ST_TO_ADDR
// end ;
75905: GO 75854
75907: POP
75908: POP
// dwait ( 0 0$1 ) ;
75909: LD_INT 35
75911: PPUSH
75912: CALL_OW 68
// case rand ( 1 , 3 ) of 1 :
75916: LD_INT 1
75918: PPUSH
75919: LD_INT 3
75921: PPUSH
75922: CALL_OW 12
75926: PUSH
75927: LD_INT 1
75929: DOUBLE
75930: EQUAL
75931: IFTRUE 75935
75933: GO 75948
75935: POP
// other = Soldier ; 2 :
75936: LD_ADDR_VAR 0 5
75940: PUSH
75941: LD_EXP 110
75945: ST_TO_ADDR
75946: GO 75991
75948: LD_INT 2
75950: DOUBLE
75951: EQUAL
75952: IFTRUE 75956
75954: GO 75969
75956: POP
// other = Scientist ; 3 :
75957: LD_ADDR_VAR 0 5
75961: PUSH
75962: LD_EXP 109
75966: ST_TO_ADDR
75967: GO 75991
75969: LD_INT 3
75971: DOUBLE
75972: EQUAL
75973: IFTRUE 75977
75975: GO 75990
75977: POP
// other = Mechanic ; end ;
75978: LD_ADDR_VAR 0 5
75982: PUSH
75983: LD_EXP 111
75987: ST_TO_ADDR
75988: GO 75991
75990: POP
// un_list = [ Oswald , Olaf , Sonya , Ralph , Kowalski , Aviradze , Swansson , Dwayne , Khattam , Evelyn , Chrissy , Other ] ;
75991: LD_ADDR_VAR 0 10
75995: PUSH
75996: LD_EXP 88
76000: PUSH
76001: LD_EXP 89
76005: PUSH
76006: LD_EXP 90
76010: PUSH
76011: LD_EXP 91
76015: PUSH
76016: LD_EXP 92
76020: PUSH
76021: LD_EXP 93
76025: PUSH
76026: LD_EXP 94
76030: PUSH
76031: LD_EXP 95
76035: PUSH
76036: LD_EXP 96
76040: PUSH
76041: LD_EXP 97
76045: PUSH
76046: LD_EXP 103
76050: PUSH
76051: LD_VAR 0 5
76055: PUSH
76056: EMPTY
76057: LIST
76058: LIST
76059: LIST
76060: LIST
76061: LIST
76062: LIST
76063: LIST
76064: LIST
76065: LIST
76066: LIST
76067: LIST
76068: LIST
76069: ST_TO_ADDR
// line_list = [ Os , Olaf , So , Ra , Ko , Av , Sw , Dw , Kh , Ev , Ch , Some ] ;
76070: LD_ADDR_VAR 0 11
76074: PUSH
76075: LD_STRING Os
76077: PUSH
76078: LD_STRING Olaf
76080: PUSH
76081: LD_STRING So
76083: PUSH
76084: LD_STRING Ra
76086: PUSH
76087: LD_STRING Ko
76089: PUSH
76090: LD_STRING Av
76092: PUSH
76093: LD_STRING Sw
76095: PUSH
76096: LD_STRING Dw
76098: PUSH
76099: LD_STRING Kh
76101: PUSH
76102: LD_STRING Ev
76104: PUSH
76105: LD_STRING Ch
76107: PUSH
76108: LD_STRING Some
76110: PUSH
76111: EMPTY
76112: LIST
76113: LIST
76114: LIST
76115: LIST
76116: LIST
76117: LIST
76118: LIST
76119: LIST
76120: LIST
76121: LIST
76122: LIST
76123: LIST
76124: ST_TO_ADDR
// temp = 0 ;
76125: LD_ADDR_VAR 0 1
76129: PUSH
76130: LD_INT 0
76132: ST_TO_ADDR
// for i = 1 to 10 do
76133: LD_ADDR_VAR 0 9
76137: PUSH
76138: DOUBLE
76139: LD_INT 1
76141: DEC
76142: ST_TO_ADDR
76143: LD_INT 10
76145: PUSH
76146: FOR_TO
76147: IFFALSE 76381
// begin temp_val = rand ( 1 , un_list ) ;
76149: LD_ADDR_VAR 0 6
76153: PUSH
76154: LD_INT 1
76156: PPUSH
76157: LD_VAR 0 10
76161: PPUSH
76162: CALL_OW 12
76166: ST_TO_ADDR
// if isplaced ( un_list [ temp_val ] ) then
76167: LD_VAR 0 10
76171: PUSH
76172: LD_VAR 0 6
76176: ARRAY
76177: PPUSH
76178: CALL_OW 305
76182: IFFALSE 76327
// begin temp = temp + 1 ;
76184: LD_ADDR_VAR 0 1
76188: PUSH
76189: LD_VAR 0 1
76193: PUSH
76194: LD_INT 1
76196: PLUS
76197: ST_TO_ADDR
// id_end = 1 ;
76198: LD_ADDR_VAR 0 13
76202: PUSH
76203: LD_STRING 1
76205: ST_TO_ADDR
// if un_list [ temp_val ] = other then
76206: LD_VAR 0 10
76210: PUSH
76211: LD_VAR 0 6
76215: ARRAY
76216: PUSH
76217: LD_VAR 0 5
76221: EQUAL
76222: IFFALSE 76263
// if getsex ( un_list [ temp_val ] ) = sex_male then
76224: LD_VAR 0 10
76228: PUSH
76229: LD_VAR 0 6
76233: ARRAY
76234: PPUSH
76235: CALL_OW 258
76239: PUSH
76240: LD_INT 1
76242: EQUAL
76243: IFFALSE 76255
// id_end = M1 else
76245: LD_ADDR_VAR 0 13
76249: PUSH
76250: LD_STRING M1
76252: ST_TO_ADDR
76253: GO 76263
// id_end = F1 ;
76255: LD_ADDR_VAR 0 13
76259: PUSH
76260: LD_STRING F1
76262: ST_TO_ADDR
// async ;
76263: ASYNC
// Say ( un_list [ temp_val ] , In_ & line_list [ temp_val ] & id_end ) ;
76264: LD_VAR 0 10
76268: PUSH
76269: LD_VAR 0 6
76273: ARRAY
76274: PPUSH
76275: LD_STRING In_
76277: PUSH
76278: LD_VAR 0 11
76282: PUSH
76283: LD_VAR 0 6
76287: ARRAY
76288: STR
76289: PUSH
76290: LD_VAR 0 13
76294: STR
76295: PPUSH
76296: CALL_OW 88
// sync ;
76300: SYNC
// wait ( rand ( 0 0$0.8 , 0 0$1.8 ) * ( 0.3 * game_speed ) ) ;
76301: LD_INT 28
76303: PPUSH
76304: LD_INT 63
76306: PPUSH
76307: CALL_OW 12
76311: PUSH
76312: LD_REAL  3.00000000000000E-0001
76315: PUSH
76316: LD_OWVAR 65
76320: MUL
76321: MUL
76322: PPUSH
76323: CALL_OW 67
// end ; un_list = delete ( un_list , temp_val ) ;
76327: LD_ADDR_VAR 0 10
76331: PUSH
76332: LD_VAR 0 10
76336: PPUSH
76337: LD_VAR 0 6
76341: PPUSH
76342: CALL_OW 3
76346: ST_TO_ADDR
// line_list = delete ( line_list , temp_val ) ;
76347: LD_ADDR_VAR 0 11
76351: PUSH
76352: LD_VAR 0 11
76356: PPUSH
76357: LD_VAR 0 6
76361: PPUSH
76362: CALL_OW 3
76366: ST_TO_ADDR
// if temp = 3 then
76367: LD_VAR 0 1
76371: PUSH
76372: LD_INT 3
76374: EQUAL
76375: IFFALSE 76379
// break ;
76377: GO 76381
// end ;
76379: GO 76146
76381: POP
76382: POP
// un_list = [ Oswald , Olaf , Sonya , Ralph , Kowalski , Aviradze , Swansson , Dwayne , Khattam , Evelyn , Chrissy , other ] ;
76383: LD_ADDR_VAR 0 10
76387: PUSH
76388: LD_EXP 88
76392: PUSH
76393: LD_EXP 89
76397: PUSH
76398: LD_EXP 90
76402: PUSH
76403: LD_EXP 91
76407: PUSH
76408: LD_EXP 92
76412: PUSH
76413: LD_EXP 93
76417: PUSH
76418: LD_EXP 94
76422: PUSH
76423: LD_EXP 95
76427: PUSH
76428: LD_EXP 96
76432: PUSH
76433: LD_EXP 97
76437: PUSH
76438: LD_EXP 103
76442: PUSH
76443: LD_VAR 0 5
76447: PUSH
76448: EMPTY
76449: LIST
76450: LIST
76451: LIST
76452: LIST
76453: LIST
76454: LIST
76455: LIST
76456: LIST
76457: LIST
76458: LIST
76459: LIST
76460: LIST
76461: ST_TO_ADDR
// line_list = [ Os , Olaf , So , Ra , Ko , Av , Sw , Dw , Kh , Ev , Ch , Some ] ;
76462: LD_ADDR_VAR 0 11
76466: PUSH
76467: LD_STRING Os
76469: PUSH
76470: LD_STRING Olaf
76472: PUSH
76473: LD_STRING So
76475: PUSH
76476: LD_STRING Ra
76478: PUSH
76479: LD_STRING Ko
76481: PUSH
76482: LD_STRING Av
76484: PUSH
76485: LD_STRING Sw
76487: PUSH
76488: LD_STRING Dw
76490: PUSH
76491: LD_STRING Kh
76493: PUSH
76494: LD_STRING Ev
76496: PUSH
76497: LD_STRING Ch
76499: PUSH
76500: LD_STRING Some
76502: PUSH
76503: EMPTY
76504: LIST
76505: LIST
76506: LIST
76507: LIST
76508: LIST
76509: LIST
76510: LIST
76511: LIST
76512: LIST
76513: LIST
76514: LIST
76515: LIST
76516: ST_TO_ADDR
// temp = 0 ;
76517: LD_ADDR_VAR 0 1
76521: PUSH
76522: LD_INT 0
76524: ST_TO_ADDR
// for i = 1 to 10 do
76525: LD_ADDR_VAR 0 9
76529: PUSH
76530: DOUBLE
76531: LD_INT 1
76533: DEC
76534: ST_TO_ADDR
76535: LD_INT 10
76537: PUSH
76538: FOR_TO
76539: IFFALSE 76773
// begin temp_val = rand ( 1 , un_list ) ;
76541: LD_ADDR_VAR 0 6
76545: PUSH
76546: LD_INT 1
76548: PPUSH
76549: LD_VAR 0 10
76553: PPUSH
76554: CALL_OW 12
76558: ST_TO_ADDR
// if isplaced ( un_list [ temp_val ] ) then
76559: LD_VAR 0 10
76563: PUSH
76564: LD_VAR 0 6
76568: ARRAY
76569: PPUSH
76570: CALL_OW 305
76574: IFFALSE 76719
// begin temp = temp + 1 ;
76576: LD_ADDR_VAR 0 1
76580: PUSH
76581: LD_VAR 0 1
76585: PUSH
76586: LD_INT 1
76588: PLUS
76589: ST_TO_ADDR
// id_end = 2 ;
76590: LD_ADDR_VAR 0 13
76594: PUSH
76595: LD_STRING 2
76597: ST_TO_ADDR
// if un_list [ temp_val ] = other then
76598: LD_VAR 0 10
76602: PUSH
76603: LD_VAR 0 6
76607: ARRAY
76608: PUSH
76609: LD_VAR 0 5
76613: EQUAL
76614: IFFALSE 76655
// if getsex ( un_list [ temp_val ] ) = sex_male then
76616: LD_VAR 0 10
76620: PUSH
76621: LD_VAR 0 6
76625: ARRAY
76626: PPUSH
76627: CALL_OW 258
76631: PUSH
76632: LD_INT 1
76634: EQUAL
76635: IFFALSE 76647
// id_end = M2 else
76637: LD_ADDR_VAR 0 13
76641: PUSH
76642: LD_STRING M2
76644: ST_TO_ADDR
76645: GO 76655
// id_end = F2 ;
76647: LD_ADDR_VAR 0 13
76651: PUSH
76652: LD_STRING F2
76654: ST_TO_ADDR
// async ;
76655: ASYNC
// Say ( un_list [ temp_val ] , In_ & line_list [ temp_val ] & id_end ) ;
76656: LD_VAR 0 10
76660: PUSH
76661: LD_VAR 0 6
76665: ARRAY
76666: PPUSH
76667: LD_STRING In_
76669: PUSH
76670: LD_VAR 0 11
76674: PUSH
76675: LD_VAR 0 6
76679: ARRAY
76680: STR
76681: PUSH
76682: LD_VAR 0 13
76686: STR
76687: PPUSH
76688: CALL_OW 88
// sync ;
76692: SYNC
// wait ( rand ( 0 0$1 , 0 0$2 ) * ( 0.3 * game_speed ) ) ;
76693: LD_INT 35
76695: PPUSH
76696: LD_INT 70
76698: PPUSH
76699: CALL_OW 12
76703: PUSH
76704: LD_REAL  3.00000000000000E-0001
76707: PUSH
76708: LD_OWVAR 65
76712: MUL
76713: MUL
76714: PPUSH
76715: CALL_OW 67
// end ; un_list = delete ( un_list , temp_val ) ;
76719: LD_ADDR_VAR 0 10
76723: PUSH
76724: LD_VAR 0 10
76728: PPUSH
76729: LD_VAR 0 6
76733: PPUSH
76734: CALL_OW 3
76738: ST_TO_ADDR
// line_list = delete ( line_list , temp_val ) ;
76739: LD_ADDR_VAR 0 11
76743: PUSH
76744: LD_VAR 0 11
76748: PPUSH
76749: LD_VAR 0 6
76753: PPUSH
76754: CALL_OW 3
76758: ST_TO_ADDR
// if temp = 2 then
76759: LD_VAR 0 1
76763: PUSH
76764: LD_INT 2
76766: EQUAL
76767: IFFALSE 76771
// break ;
76769: GO 76773
// end ;
76771: GO 76538
76773: POP
76774: POP
// say ( Heike , br_He1 ) ;
76775: LD_EXP 87
76779: PPUSH
76780: LD_STRING br_He1
76782: PPUSH
76783: CALL_OW 88
// if isplaced ( Oswald ) > 0 then
76787: LD_EXP 88
76791: PPUSH
76792: CALL_OW 305
76796: PUSH
76797: LD_INT 0
76799: GREATER
76800: IFFALSE 76843
// begin if isplaced ( Ralph ) > 0 then
76802: LD_EXP 91
76806: PPUSH
76807: CALL_OW 305
76811: PUSH
76812: LD_INT 0
76814: GREATER
76815: IFFALSE 76829
// say ( Ralph , br_Ra1 ) ;
76817: LD_EXP 91
76821: PPUSH
76822: LD_STRING br_Ra1
76824: PPUSH
76825: CALL_OW 88
// say ( Oswald , br_Os1 ) ;
76829: LD_EXP 88
76833: PPUSH
76834: LD_STRING br_Os1
76836: PPUSH
76837: CALL_OW 88
// end else
76841: GO 77094
// begin temp_list = UnitFilter ( [ Kowalski , Swansson , Ralph , Soldier ] , [ f_placed ] ) ;
76843: LD_ADDR_VAR 0 2
76847: PUSH
76848: LD_EXP 92
76852: PUSH
76853: LD_EXP 94
76857: PUSH
76858: LD_EXP 91
76862: PUSH
76863: LD_EXP 110
76867: PUSH
76868: EMPTY
76869: LIST
76870: LIST
76871: LIST
76872: LIST
76873: PPUSH
76874: LD_INT 52
76876: PUSH
76877: EMPTY
76878: LIST
76879: PPUSH
76880: CALL_OW 72
76884: ST_TO_ADDR
// if temp_list > 0 then
76885: LD_VAR 0 2
76889: PUSH
76890: LD_INT 0
76892: GREATER
76893: IFFALSE 77094
// begin i = Rand ( 1 , temp_list + 0 ) ;
76895: LD_ADDR_VAR 0 9
76899: PUSH
76900: LD_INT 1
76902: PPUSH
76903: LD_VAR 0 2
76907: PUSH
76908: LD_INT 0
76910: PLUS
76911: PPUSH
76912: CALL_OW 12
76916: ST_TO_ADDR
// case temp_list [ i ] of Kowalski :
76917: LD_VAR 0 2
76921: PUSH
76922: LD_VAR 0 9
76926: ARRAY
76927: PUSH
76928: LD_EXP 92
76932: DOUBLE
76933: EQUAL
76934: IFTRUE 76938
76936: GO 76959
76938: POP
// say ( temp_list [ i ] , br_Ko1 ) ; Swansson :
76939: LD_VAR 0 2
76943: PUSH
76944: LD_VAR 0 9
76948: ARRAY
76949: PPUSH
76950: LD_STRING br_Ko1
76952: PPUSH
76953: CALL_OW 88
76957: GO 77094
76959: LD_EXP 94
76963: DOUBLE
76964: EQUAL
76965: IFTRUE 76969
76967: GO 76990
76969: POP
// say ( temp_list [ i ] , br_Sw1 ) ; Ralph :
76970: LD_VAR 0 2
76974: PUSH
76975: LD_VAR 0 9
76979: ARRAY
76980: PPUSH
76981: LD_STRING br_Sw1
76983: PPUSH
76984: CALL_OW 88
76988: GO 77094
76990: LD_EXP 91
76994: DOUBLE
76995: EQUAL
76996: IFTRUE 77000
76998: GO 77021
77000: POP
// say ( temp_list [ i ] , br_Ra2 ) ; Soldier :
77001: LD_VAR 0 2
77005: PUSH
77006: LD_VAR 0 9
77010: ARRAY
77011: PPUSH
77012: LD_STRING br_Ra2
77014: PPUSH
77015: CALL_OW 88
77019: GO 77094
77021: LD_EXP 110
77025: DOUBLE
77026: EQUAL
77027: IFTRUE 77031
77029: GO 77093
77031: POP
// begin if GetSex ( temp_list [ i ] ) = sex_male then
77032: LD_VAR 0 2
77036: PUSH
77037: LD_VAR 0 9
77041: ARRAY
77042: PPUSH
77043: CALL_OW 258
77047: PUSH
77048: LD_INT 1
77050: EQUAL
77051: IFFALSE 77073
// say ( temp_list [ i ] , br_SomeSolM1 ) else
77053: LD_VAR 0 2
77057: PUSH
77058: LD_VAR 0 9
77062: ARRAY
77063: PPUSH
77064: LD_STRING br_SomeSolM1
77066: PPUSH
77067: CALL_OW 88
77071: GO 77091
// say ( temp_list [ i ] , br_SomeSolF1 ) ;
77073: LD_VAR 0 2
77077: PUSH
77078: LD_VAR 0 9
77082: ARRAY
77083: PPUSH
77084: LD_STRING br_SomeSolF1
77086: PPUSH
77087: CALL_OW 88
// end ; end ;
77091: GO 77094
77093: POP
// end ; end ; say ( Heike , br_He5 ) ;
77094: LD_EXP 87
77098: PPUSH
77099: LD_STRING br_He5
77101: PPUSH
77102: CALL_OW 88
// temp_list = UnitFilter ( [ Swansson , Oswald , Soldier ] , [ f_placed ] ) ;
77106: LD_ADDR_VAR 0 2
77110: PUSH
77111: LD_EXP 94
77115: PUSH
77116: LD_EXP 88
77120: PUSH
77121: LD_EXP 110
77125: PUSH
77126: EMPTY
77127: LIST
77128: LIST
77129: LIST
77130: PPUSH
77131: LD_INT 52
77133: PUSH
77134: EMPTY
77135: LIST
77136: PPUSH
77137: CALL_OW 72
77141: ST_TO_ADDR
// if temp_list > 0 then
77142: LD_VAR 0 2
77146: PUSH
77147: LD_INT 0
77149: GREATER
77150: IFFALSE 77320
// begin i = Rand ( 1 , temp_list + 0 ) ;
77152: LD_ADDR_VAR 0 9
77156: PUSH
77157: LD_INT 1
77159: PPUSH
77160: LD_VAR 0 2
77164: PUSH
77165: LD_INT 0
77167: PLUS
77168: PPUSH
77169: CALL_OW 12
77173: ST_TO_ADDR
// case temp_list [ i ] of Swansson :
77174: LD_VAR 0 2
77178: PUSH
77179: LD_VAR 0 9
77183: ARRAY
77184: PUSH
77185: LD_EXP 94
77189: DOUBLE
77190: EQUAL
77191: IFTRUE 77195
77193: GO 77216
77195: POP
// say ( temp_list [ i ] , br_Sw2 ) ; Oswald :
77196: LD_VAR 0 2
77200: PUSH
77201: LD_VAR 0 9
77205: ARRAY
77206: PPUSH
77207: LD_STRING br_Sw2
77209: PPUSH
77210: CALL_OW 88
77214: GO 77320
77216: LD_EXP 88
77220: DOUBLE
77221: EQUAL
77222: IFTRUE 77226
77224: GO 77247
77226: POP
// say ( temp_list [ i ] , br_Os3 ) ; Soldier :
77227: LD_VAR 0 2
77231: PUSH
77232: LD_VAR 0 9
77236: ARRAY
77237: PPUSH
77238: LD_STRING br_Os3
77240: PPUSH
77241: CALL_OW 88
77245: GO 77320
77247: LD_EXP 110
77251: DOUBLE
77252: EQUAL
77253: IFTRUE 77257
77255: GO 77319
77257: POP
// begin if GetSex ( temp_list [ i ] ) = sex_male then
77258: LD_VAR 0 2
77262: PUSH
77263: LD_VAR 0 9
77267: ARRAY
77268: PPUSH
77269: CALL_OW 258
77273: PUSH
77274: LD_INT 1
77276: EQUAL
77277: IFFALSE 77299
// say ( temp_list [ i ] , br_SomeSolM2 ) else
77279: LD_VAR 0 2
77283: PUSH
77284: LD_VAR 0 9
77288: ARRAY
77289: PPUSH
77290: LD_STRING br_SomeSolM2
77292: PPUSH
77293: CALL_OW 88
77297: GO 77317
// say ( temp_list [ i ] , br_SomeSolF2 ) ;
77299: LD_VAR 0 2
77303: PUSH
77304: LD_VAR 0 9
77308: ARRAY
77309: PPUSH
77310: LD_STRING br_SomeSolF2
77312: PPUSH
77313: CALL_OW 88
// end ; end ;
77317: GO 77320
77319: POP
// end ; temp_list = UnitFilter ( [ Aviradze , Sonya , Khattam , Chrissy , scientist ] , [ f_placed ] ) ;
77320: LD_ADDR_VAR 0 2
77324: PUSH
77325: LD_EXP 93
77329: PUSH
77330: LD_EXP 90
77334: PUSH
77335: LD_EXP 96
77339: PUSH
77340: LD_EXP 103
77344: PUSH
77345: LD_EXP 109
77349: PUSH
77350: EMPTY
77351: LIST
77352: LIST
77353: LIST
77354: LIST
77355: LIST
77356: PPUSH
77357: LD_INT 52
77359: PUSH
77360: EMPTY
77361: LIST
77362: PPUSH
77363: CALL_OW 72
77367: ST_TO_ADDR
// if temp_list > 0 then
77368: LD_VAR 0 2
77372: PUSH
77373: LD_INT 0
77375: GREATER
77376: IFFALSE 77608
// begin i = Rand ( 1 , temp_list + 0 ) ;
77378: LD_ADDR_VAR 0 9
77382: PUSH
77383: LD_INT 1
77385: PPUSH
77386: LD_VAR 0 2
77390: PUSH
77391: LD_INT 0
77393: PLUS
77394: PPUSH
77395: CALL_OW 12
77399: ST_TO_ADDR
// case temp_list [ i ] of Aviradze :
77400: LD_VAR 0 2
77404: PUSH
77405: LD_VAR 0 9
77409: ARRAY
77410: PUSH
77411: LD_EXP 93
77415: DOUBLE
77416: EQUAL
77417: IFTRUE 77421
77419: GO 77442
77421: POP
// say ( temp_list [ i ] , br_Av1 ) ; Sonya :
77422: LD_VAR 0 2
77426: PUSH
77427: LD_VAR 0 9
77431: ARRAY
77432: PPUSH
77433: LD_STRING br_Av1
77435: PPUSH
77436: CALL_OW 88
77440: GO 77608
77442: LD_EXP 90
77446: DOUBLE
77447: EQUAL
77448: IFTRUE 77452
77450: GO 77473
77452: POP
// say ( temp_list [ i ] , br_So1 ) ; Khattam :
77453: LD_VAR 0 2
77457: PUSH
77458: LD_VAR 0 9
77462: ARRAY
77463: PPUSH
77464: LD_STRING br_So1
77466: PPUSH
77467: CALL_OW 88
77471: GO 77608
77473: LD_EXP 96
77477: DOUBLE
77478: EQUAL
77479: IFTRUE 77483
77481: GO 77504
77483: POP
// say ( temp_list [ i ] , br_Kh1 ) ; Chrissy :
77484: LD_VAR 0 2
77488: PUSH
77489: LD_VAR 0 9
77493: ARRAY
77494: PPUSH
77495: LD_STRING br_Kh1
77497: PPUSH
77498: CALL_OW 88
77502: GO 77608
77504: LD_EXP 103
77508: DOUBLE
77509: EQUAL
77510: IFTRUE 77514
77512: GO 77535
77514: POP
// say ( temp_list [ i ] , br_Ch1 ) ; scientist :
77515: LD_VAR 0 2
77519: PUSH
77520: LD_VAR 0 9
77524: ARRAY
77525: PPUSH
77526: LD_STRING br_Ch1
77528: PPUSH
77529: CALL_OW 88
77533: GO 77608
77535: LD_EXP 109
77539: DOUBLE
77540: EQUAL
77541: IFTRUE 77545
77543: GO 77607
77545: POP
// begin if GetSex ( temp_list [ i ] ) = sex_male then
77546: LD_VAR 0 2
77550: PUSH
77551: LD_VAR 0 9
77555: ARRAY
77556: PPUSH
77557: CALL_OW 258
77561: PUSH
77562: LD_INT 1
77564: EQUAL
77565: IFFALSE 77587
// say ( temp_list [ i ] , br_SomeSciM1 ) else
77567: LD_VAR 0 2
77571: PUSH
77572: LD_VAR 0 9
77576: ARRAY
77577: PPUSH
77578: LD_STRING br_SomeSciM1
77580: PPUSH
77581: CALL_OW 88
77585: GO 77605
// say ( temp_list [ i ] , br_SomeSciF1 ) ;
77587: LD_VAR 0 2
77591: PUSH
77592: LD_VAR 0 9
77596: ARRAY
77597: PPUSH
77598: LD_STRING br_SomeSciF1
77600: PPUSH
77601: CALL_OW 88
// end ; end ;
77605: GO 77608
77607: POP
// end ; say ( Heike , br_He7 ) ;
77608: LD_EXP 87
77612: PPUSH
77613: LD_STRING br_He7
77615: PPUSH
77616: CALL_OW 88
// temp_list = UnitFilter ( [ Evelyn , Sonya , Chrissy , scientist ] , [ f_placed ] ) ;
77620: LD_ADDR_VAR 0 2
77624: PUSH
77625: LD_EXP 97
77629: PUSH
77630: LD_EXP 90
77634: PUSH
77635: LD_EXP 103
77639: PUSH
77640: LD_EXP 109
77644: PUSH
77645: EMPTY
77646: LIST
77647: LIST
77648: LIST
77649: LIST
77650: PPUSH
77651: LD_INT 52
77653: PUSH
77654: EMPTY
77655: LIST
77656: PPUSH
77657: CALL_OW 72
77661: ST_TO_ADDR
// if temp_list > 0 then
77662: LD_VAR 0 2
77666: PUSH
77667: LD_INT 0
77669: GREATER
77670: IFFALSE 77871
// begin i = Rand ( 1 , temp_list + 0 ) ;
77672: LD_ADDR_VAR 0 9
77676: PUSH
77677: LD_INT 1
77679: PPUSH
77680: LD_VAR 0 2
77684: PUSH
77685: LD_INT 0
77687: PLUS
77688: PPUSH
77689: CALL_OW 12
77693: ST_TO_ADDR
// case temp_list [ i ] of Evelyn :
77694: LD_VAR 0 2
77698: PUSH
77699: LD_VAR 0 9
77703: ARRAY
77704: PUSH
77705: LD_EXP 97
77709: DOUBLE
77710: EQUAL
77711: IFTRUE 77715
77713: GO 77736
77715: POP
// say ( temp_list [ i ] , br_Ev1 ) ; Sonya :
77716: LD_VAR 0 2
77720: PUSH
77721: LD_VAR 0 9
77725: ARRAY
77726: PPUSH
77727: LD_STRING br_Ev1
77729: PPUSH
77730: CALL_OW 88
77734: GO 77871
77736: LD_EXP 90
77740: DOUBLE
77741: EQUAL
77742: IFTRUE 77746
77744: GO 77767
77746: POP
// say ( temp_list [ i ] , br_So2 ) ; Chrissy :
77747: LD_VAR 0 2
77751: PUSH
77752: LD_VAR 0 9
77756: ARRAY
77757: PPUSH
77758: LD_STRING br_So2
77760: PPUSH
77761: CALL_OW 88
77765: GO 77871
77767: LD_EXP 103
77771: DOUBLE
77772: EQUAL
77773: IFTRUE 77777
77775: GO 77798
77777: POP
// say ( temp_list [ i ] , br_Ch2 ) ; scientist :
77778: LD_VAR 0 2
77782: PUSH
77783: LD_VAR 0 9
77787: ARRAY
77788: PPUSH
77789: LD_STRING br_Ch2
77791: PPUSH
77792: CALL_OW 88
77796: GO 77871
77798: LD_EXP 109
77802: DOUBLE
77803: EQUAL
77804: IFTRUE 77808
77806: GO 77870
77808: POP
// begin if GetSex ( temp_list [ i ] ) = sex_male then
77809: LD_VAR 0 2
77813: PUSH
77814: LD_VAR 0 9
77818: ARRAY
77819: PPUSH
77820: CALL_OW 258
77824: PUSH
77825: LD_INT 1
77827: EQUAL
77828: IFFALSE 77850
// say ( temp_list [ i ] , br_SomeSciM2 ) else
77830: LD_VAR 0 2
77834: PUSH
77835: LD_VAR 0 9
77839: ARRAY
77840: PPUSH
77841: LD_STRING br_SomeSciM2
77843: PPUSH
77844: CALL_OW 88
77848: GO 77868
// say ( temp_list [ i ] , br_SomeSciF2 ) ;
77850: LD_VAR 0 2
77854: PUSH
77855: LD_VAR 0 9
77859: ARRAY
77860: PPUSH
77861: LD_STRING br_SomeSciF2
77863: PPUSH
77864: CALL_OW 88
// end ; end ;
77868: GO 77871
77870: POP
// end ; say ( Heike , br_He8 ) ;
77871: LD_EXP 87
77875: PPUSH
77876: LD_STRING br_He8
77878: PPUSH
77879: CALL_OW 88
// temp = temp_list [ i ] ;
77883: LD_ADDR_VAR 0 1
77887: PUSH
77888: LD_VAR 0 2
77892: PUSH
77893: LD_VAR 0 9
77897: ARRAY
77898: ST_TO_ADDR
// temp_val = [ [ GetX ( artifact_cargo ) , GetY ( artifact_cargo ) + 2 ] , [ GetX ( artifact_cargo ) - 2 , GetY ( artifact_cargo ) ] , [ GetX ( artifact_cargo ) - 2 , GetY ( artifact_cargo ) - 2 ] , [ GetX ( artifact_cargo ) , GetY ( artifact_cargo ) - 2 ] , [ GetX ( artifact_cargo ) + 2 , GetY ( artifact_cargo ) ] , [ GetX ( artifact_cargo ) + 2 , GetY ( artifact_cargo ) + 2 ] ] ;
77899: LD_ADDR_VAR 0 6
77903: PUSH
77904: LD_EXP 157
77908: PPUSH
77909: CALL_OW 250
77913: PUSH
77914: LD_EXP 157
77918: PPUSH
77919: CALL_OW 251
77923: PUSH
77924: LD_INT 2
77926: PLUS
77927: PUSH
77928: EMPTY
77929: LIST
77930: LIST
77931: PUSH
77932: LD_EXP 157
77936: PPUSH
77937: CALL_OW 250
77941: PUSH
77942: LD_INT 2
77944: MINUS
77945: PUSH
77946: LD_EXP 157
77950: PPUSH
77951: CALL_OW 251
77955: PUSH
77956: EMPTY
77957: LIST
77958: LIST
77959: PUSH
77960: LD_EXP 157
77964: PPUSH
77965: CALL_OW 250
77969: PUSH
77970: LD_INT 2
77972: MINUS
77973: PUSH
77974: LD_EXP 157
77978: PPUSH
77979: CALL_OW 251
77983: PUSH
77984: LD_INT 2
77986: MINUS
77987: PUSH
77988: EMPTY
77989: LIST
77990: LIST
77991: PUSH
77992: LD_EXP 157
77996: PPUSH
77997: CALL_OW 250
78001: PUSH
78002: LD_EXP 157
78006: PPUSH
78007: CALL_OW 251
78011: PUSH
78012: LD_INT 2
78014: MINUS
78015: PUSH
78016: EMPTY
78017: LIST
78018: LIST
78019: PUSH
78020: LD_EXP 157
78024: PPUSH
78025: CALL_OW 250
78029: PUSH
78030: LD_INT 2
78032: PLUS
78033: PUSH
78034: LD_EXP 157
78038: PPUSH
78039: CALL_OW 251
78043: PUSH
78044: EMPTY
78045: LIST
78046: LIST
78047: PUSH
78048: LD_EXP 157
78052: PPUSH
78053: CALL_OW 250
78057: PUSH
78058: LD_INT 2
78060: PLUS
78061: PUSH
78062: LD_EXP 157
78066: PPUSH
78067: CALL_OW 251
78071: PUSH
78072: LD_INT 2
78074: PLUS
78075: PUSH
78076: EMPTY
78077: LIST
78078: LIST
78079: PUSH
78080: EMPTY
78081: LIST
78082: LIST
78083: LIST
78084: LIST
78085: LIST
78086: LIST
78087: ST_TO_ADDR
// temp_hex = temp_val [ Getdir ( artifact_cargo ) + 1 ] ;
78088: LD_ADDR_VAR 0 8
78092: PUSH
78093: LD_VAR 0 6
78097: PUSH
78098: LD_EXP 157
78102: PPUSH
78103: CALL_OW 254
78107: PUSH
78108: LD_INT 1
78110: PLUS
78111: ARRAY
78112: ST_TO_ADDR
// setclass ( temp , class_mechanic ) ;
78113: LD_VAR 0 1
78117: PPUSH
78118: LD_INT 3
78120: PPUSH
78121: CALL_OW 336
// Wait ( 0 0$0.5 ) ;
78125: LD_INT 18
78127: PPUSH
78128: CALL_OW 67
// comhold ( artifact_cargo ) ;
78132: LD_EXP 157
78136: PPUSH
78137: CALL_OW 140
// if not GetWeapon ( IsInUnit ( temp ) ) = ar_cargo_bay then
78141: LD_VAR 0 1
78145: PPUSH
78146: CALL_OW 310
78150: PPUSH
78151: CALL_OW 264
78155: PUSH
78156: LD_INT 32
78158: EQUAL
78159: NOT
78160: IFFALSE 78179
// moveclosetounit ( temp , artifact_cargo , 4 ) ;
78162: LD_VAR 0 1
78166: PPUSH
78167: LD_EXP 157
78171: PPUSH
78172: LD_INT 4
78174: PPUSH
78175: CALL 56088 0 3
// Wait ( 0 0$1 ) ;
78179: LD_INT 35
78181: PPUSH
78182: CALL_OW 67
// comexitvehicle ( temp ) ;
78186: LD_VAR 0 1
78190: PPUSH
78191: CALL_OW 121
// Wait ( 0 0$1 ) ;
78195: LD_INT 35
78197: PPUSH
78198: CALL_OW 67
// comagressivemove ( temp , temp_hex [ 1 ] , temp_hex [ 2 ] ) ;
78202: LD_VAR 0 1
78206: PPUSH
78207: LD_VAR 0 8
78211: PUSH
78212: LD_INT 1
78214: ARRAY
78215: PPUSH
78216: LD_VAR 0 8
78220: PUSH
78221: LD_INT 2
78223: ARRAY
78224: PPUSH
78225: CALL_OW 114
// case temp of Evelyn :
78229: LD_VAR 0 1
78233: PUSH
78234: LD_EXP 97
78238: DOUBLE
78239: EQUAL
78240: IFTRUE 78244
78242: GO 78259
78244: POP
// Say ( temp , br_Ev2 ) ; Sonya :
78245: LD_VAR 0 1
78249: PPUSH
78250: LD_STRING br_Ev2
78252: PPUSH
78253: CALL_OW 88
78257: GO 78364
78259: LD_EXP 90
78263: DOUBLE
78264: EQUAL
78265: IFTRUE 78269
78267: GO 78284
78269: POP
// say ( temp , br_So3 ) ; Chrissy :
78270: LD_VAR 0 1
78274: PPUSH
78275: LD_STRING br_So3
78277: PPUSH
78278: CALL_OW 88
78282: GO 78364
78284: LD_EXP 103
78288: DOUBLE
78289: EQUAL
78290: IFTRUE 78294
78292: GO 78309
78294: POP
// say ( temp , br_Ch3 ) ; scientist :
78295: LD_VAR 0 1
78299: PPUSH
78300: LD_STRING br_Ch3
78302: PPUSH
78303: CALL_OW 88
78307: GO 78364
78309: LD_EXP 109
78313: DOUBLE
78314: EQUAL
78315: IFTRUE 78319
78317: GO 78363
78319: POP
// begin if GetSex ( temp ) = sex_male then
78320: LD_VAR 0 1
78324: PPUSH
78325: CALL_OW 258
78329: PUSH
78330: LD_INT 1
78332: EQUAL
78333: IFFALSE 78349
// say ( temp , br_SomeSciM3 ) else
78335: LD_VAR 0 1
78339: PPUSH
78340: LD_STRING br_SomeSciM3
78342: PPUSH
78343: CALL_OW 88
78347: GO 78361
// say ( temp , br_SomeSciF3 ) ;
78349: LD_VAR 0 1
78353: PPUSH
78354: LD_STRING br_SomeSciF3
78356: PPUSH
78357: CALL_OW 88
// end ; end ;
78361: GO 78364
78363: POP
// time = tick ;
78364: LD_ADDR_VAR 0 12
78368: PUSH
78369: LD_OWVAR 1
78373: ST_TO_ADDR
// repeat comagressivemove ( temp , temp_hex [ 1 ] , temp_hex [ 2 ] ) ;
78374: LD_VAR 0 1
78378: PPUSH
78379: LD_VAR 0 8
78383: PUSH
78384: LD_INT 1
78386: ARRAY
78387: PPUSH
78388: LD_VAR 0 8
78392: PUSH
78393: LD_INT 2
78395: ARRAY
78396: PPUSH
78397: CALL_OW 114
// wait ( 0 0$1 ) ;
78401: LD_INT 35
78403: PPUSH
78404: CALL_OW 67
// until GetX ( temp ) = temp_hex [ 1 ] and GetY ( temp ) = temp_hex [ 2 ] or tick > time + 0 0$15 ;
78408: LD_VAR 0 1
78412: PPUSH
78413: CALL_OW 250
78417: PUSH
78418: LD_VAR 0 8
78422: PUSH
78423: LD_INT 1
78425: ARRAY
78426: EQUAL
78427: PUSH
78428: LD_VAR 0 1
78432: PPUSH
78433: CALL_OW 251
78437: PUSH
78438: LD_VAR 0 8
78442: PUSH
78443: LD_INT 2
78445: ARRAY
78446: EQUAL
78447: AND
78448: PUSH
78449: LD_OWVAR 1
78453: PUSH
78454: LD_VAR 0 12
78458: PUSH
78459: LD_INT 525
78461: PLUS
78462: GREATER
78463: OR
78464: IFFALSE 78374
// setlives ( artifact_cargo , 800 ) ;
78466: LD_EXP 157
78470: PPUSH
78471: LD_INT 800
78473: PPUSH
78474: CALL_OW 234
// DWait ( 0 0$3 ) ;
78478: LD_INT 105
78480: PPUSH
78481: CALL_OW 68
// i = [ 10 , 8 , 6 ] [ difficulty ] ;
78485: LD_ADDR_VAR 0 9
78489: PUSH
78490: LD_INT 10
78492: PUSH
78493: LD_INT 8
78495: PUSH
78496: LD_INT 6
78498: PUSH
78499: EMPTY
78500: LIST
78501: LIST
78502: LIST
78503: PUSH
78504: LD_OWVAR 67
78508: ARRAY
78509: ST_TO_ADDR
// case temp of Evelyn :
78510: LD_VAR 0 1
78514: PUSH
78515: LD_EXP 97
78519: DOUBLE
78520: EQUAL
78521: IFTRUE 78525
78523: GO 78546
78525: POP
// Say ( temp , br_Ev & i ) ; Sonya :
78526: LD_VAR 0 1
78530: PPUSH
78531: LD_STRING br_Ev
78533: PUSH
78534: LD_VAR 0 9
78538: STR
78539: PPUSH
78540: CALL_OW 88
78544: GO 78675
78546: LD_EXP 90
78550: DOUBLE
78551: EQUAL
78552: IFTRUE 78556
78554: GO 78577
78556: POP
// say ( temp , br_So & i ) ; Chrissy :
78557: LD_VAR 0 1
78561: PPUSH
78562: LD_STRING br_So
78564: PUSH
78565: LD_VAR 0 9
78569: STR
78570: PPUSH
78571: CALL_OW 88
78575: GO 78675
78577: LD_EXP 103
78581: DOUBLE
78582: EQUAL
78583: IFTRUE 78587
78585: GO 78608
78587: POP
// say ( temp , br_Ch & i ) ; scientist :
78588: LD_VAR 0 1
78592: PPUSH
78593: LD_STRING br_Ch
78595: PUSH
78596: LD_VAR 0 9
78600: STR
78601: PPUSH
78602: CALL_OW 88
78606: GO 78675
78608: LD_EXP 109
78612: DOUBLE
78613: EQUAL
78614: IFTRUE 78618
78616: GO 78674
78618: POP
// begin if GetSex ( temp ) = sex_male then
78619: LD_VAR 0 1
78623: PPUSH
78624: CALL_OW 258
78628: PUSH
78629: LD_INT 1
78631: EQUAL
78632: IFFALSE 78654
// say ( temp , br_SomeSciM & i ) else
78634: LD_VAR 0 1
78638: PPUSH
78639: LD_STRING br_SomeSciM
78641: PUSH
78642: LD_VAR 0 9
78646: STR
78647: PPUSH
78648: CALL_OW 88
78652: GO 78672
// say ( temp , br_SomeSciF & i ) ;
78654: LD_VAR 0 1
78658: PPUSH
78659: LD_STRING br_SomeSciF
78661: PUSH
78662: LD_VAR 0 9
78666: STR
78667: PPUSH
78668: CALL_OW 88
// end ; end ;
78672: GO 78675
78674: POP
// setlives ( artifact_cargo , 1000 ) ;
78675: LD_EXP 157
78679: PPUSH
78680: LD_INT 1000
78682: PPUSH
78683: CALL_OW 234
// say ( Heike , br_He9 ) ;
78687: LD_EXP 87
78691: PPUSH
78692: LD_STRING br_He9
78694: PPUSH
78695: CALL_OW 88
// say ( Heike , br_He10 ) ;
78699: LD_EXP 87
78703: PPUSH
78704: LD_STRING br_He10
78706: PPUSH
78707: CALL_OW 88
// Ingameoff ;
78711: CALL_OW 9
// wait ( 0 0$0.2 ) ;
78715: LD_INT 7
78717: PPUSH
78718: CALL_OW 67
// ChangeMissionObjectives ( maingoals ) ;
78722: LD_STRING maingoals
78724: PPUSH
78725: CALL_OW 337
// wait ( 0 0$0.2 ) ;
78729: LD_INT 7
78731: PPUSH
78732: CALL_OW 67
// Query ( brieffing_message1 ) ;
78736: LD_STRING brieffing_message1
78738: PPUSH
78739: CALL_OW 97
// wait ( 0 0$0.2 ) ;
78743: LD_INT 7
78745: PPUSH
78746: CALL_OW 67
// Query ( brieffing_message2 ) ;
78750: LD_STRING brieffing_message2
78752: PPUSH
78753: CALL_OW 97
// wait ( 0 0$0.2 ) ;
78757: LD_INT 7
78759: PPUSH
78760: CALL_OW 67
// Query ( brieffing_message3 ) ;
78764: LD_STRING brieffing_message3
78766: PPUSH
78767: CALL_OW 97
// wait ( 0 0$0.2 ) ;
78771: LD_INT 7
78773: PPUSH
78774: CALL_OW 67
// Query ( brieffing_message4 ) ;
78778: LD_STRING brieffing_message4
78780: PPUSH
78781: CALL_OW 97
// wait ( 0 0$0.2 ) ;
78785: LD_INT 7
78787: PPUSH
78788: CALL_OW 67
// characterselection (  , 0 , 20 , [ sel_hired , sel_changeable , sel_change_class ] ^ filterallunits ( [ [ f_side , 2 ] , [ f_type , unit_human ] ] ) diff Gonzo , [ class_soldier , class_engineer , class_mechanic , class_scientistic , [ class_sniper , 0 , 1 ] , class_mortar ] ) ;
78792: LD_STRING 
78794: PPUSH
78795: LD_INT 0
78797: PPUSH
78798: LD_INT 20
78800: PPUSH
78801: LD_INT -1
78803: PUSH
78804: LD_INT -3
78806: PUSH
78807: LD_INT -5
78809: PUSH
78810: EMPTY
78811: LIST
78812: LIST
78813: LIST
78814: PUSH
78815: LD_INT 22
78817: PUSH
78818: LD_INT 2
78820: PUSH
78821: EMPTY
78822: LIST
78823: LIST
78824: PUSH
78825: LD_INT 21
78827: PUSH
78828: LD_INT 1
78830: PUSH
78831: EMPTY
78832: LIST
78833: LIST
78834: PUSH
78835: EMPTY
78836: LIST
78837: LIST
78838: PPUSH
78839: CALL_OW 69
78843: ADD
78844: PUSH
78845: LD_EXP 102
78849: DIFF
78850: PPUSH
78851: LD_INT 1
78853: PUSH
78854: LD_INT 2
78856: PUSH
78857: LD_INT 3
78859: PUSH
78860: LD_INT 4
78862: PUSH
78863: LD_INT 5
78865: PUSH
78866: LD_INT 0
78868: PUSH
78869: LD_INT 1
78871: PUSH
78872: EMPTY
78873: LIST
78874: LIST
78875: LIST
78876: PUSH
78877: LD_INT 8
78879: PUSH
78880: EMPTY
78881: LIST
78882: LIST
78883: LIST
78884: LIST
78885: LIST
78886: LIST
78887: PPUSH
78888: CALL_OW 42
// saveforquickrestart ;
78892: CALL_OW 22
// enable ( 1 ) ;
78896: LD_INT 1
78898: ENABLE_MARKED
// end ;
78899: PPOPN 13
78901: END
// every 0 0$1 trigger tick > 11 11$0 and IsLive ( Chrissy ) marked 1 do var i , temp ;
78902: LD_OWVAR 1
78906: PUSH
78907: LD_INT 23100
78909: GREATER
78910: PUSH
78911: LD_EXP 103
78915: PPUSH
78916: CALL_OW 300
78920: AND
78921: IFFALSE 79171
78923: GO 78925
78925: DISABLE
78926: LD_INT 0
78928: PPUSH
78929: PPUSH
// begin dialogueon ;
78930: CALL_OW 6
// say ( Chrissy , art_Ch1 ) ;
78934: LD_EXP 103
78938: PPUSH
78939: LD_STRING art_Ch1
78941: PPUSH
78942: CALL_OW 88
// say ( heike , art_He1 ) ;
78946: LD_EXP 87
78950: PPUSH
78951: LD_STRING art_He1
78953: PPUSH
78954: CALL_OW 88
// say ( Chrissy , art_Ch2 ) ;
78958: LD_EXP 103
78962: PPUSH
78963: LD_STRING art_Ch2
78965: PPUSH
78966: CALL_OW 88
// say ( heike , art_He2 ) ;
78970: LD_EXP 87
78974: PPUSH
78975: LD_STRING art_He2
78977: PPUSH
78978: CALL_OW 88
// say ( Chrissy , art_Ch3 ) ;
78982: LD_EXP 103
78986: PPUSH
78987: LD_STRING art_Ch3
78989: PPUSH
78990: CALL_OW 88
// say ( heike , art_He3 ) ;
78994: LD_EXP 87
78998: PPUSH
78999: LD_STRING art_He3
79001: PPUSH
79002: CALL_OW 88
// say ( Chrissy , art_Ch4 ) ;
79006: LD_EXP 103
79010: PPUSH
79011: LD_STRING art_Ch4
79013: PPUSH
79014: CALL_OW 88
// say ( heike , art_He4 ) ;
79018: LD_EXP 87
79022: PPUSH
79023: LD_STRING art_He4
79025: PPUSH
79026: CALL_OW 88
// say ( Chrissy , art_Ch5 ) ;
79030: LD_EXP 103
79034: PPUSH
79035: LD_STRING art_Ch5
79037: PPUSH
79038: CALL_OW 88
// say ( heike , art_He5 ) ;
79042: LD_EXP 87
79046: PPUSH
79047: LD_STRING art_He5
79049: PPUSH
79050: CALL_OW 88
// say ( Chrissy , art_Ch6 ) ;
79054: LD_EXP 103
79058: PPUSH
79059: LD_STRING art_Ch6
79061: PPUSH
79062: CALL_OW 88
// say ( heike , art_He6 ) ;
79066: LD_EXP 87
79070: PPUSH
79071: LD_STRING art_He6
79073: PPUSH
79074: CALL_OW 88
// say ( Chrissy , art_Ch7 ) ;
79078: LD_EXP 103
79082: PPUSH
79083: LD_STRING art_Ch7
79085: PPUSH
79086: CALL_OW 88
// say ( heike , art_He7 ) ;
79090: LD_EXP 87
79094: PPUSH
79095: LD_STRING art_He7
79097: PPUSH
79098: CALL_OW 88
// dialogueoff ;
79102: CALL_OW 7
// wait ( 0 0$0.2 ) ;
79106: LD_INT 7
79108: PPUSH
79109: CALL_OW 67
// ChangeMissionObjectives ( measurement1 ) ;
79113: LD_STRING measurement1
79115: PPUSH
79116: CALL_OW 337
// artifactOn = 1 ;
79120: LD_ADDR_EXP 156
79124: PUSH
79125: LD_INT 1
79127: ST_TO_ADDR
// SetAreaMapShow ( artifact_left , 1 ) ;
79128: LD_INT 26
79130: PPUSH
79131: LD_INT 1
79133: PPUSH
79134: CALL_OW 424
// SetAreaMapShow ( artifact_right , 1 ) ;
79138: LD_INT 27
79140: PPUSH
79141: LD_INT 1
79143: PPUSH
79144: CALL_OW 424
// SetAreaMapShow ( artifact_centre , 1 ) ;
79148: LD_INT 28
79150: PPUSH
79151: LD_INT 1
79153: PPUSH
79154: CALL_OW 424
// SetAreaMapShow ( artifact_south_line , 1 ) ;
79158: LD_INT 43
79160: PPUSH
79161: LD_INT 1
79163: PPUSH
79164: CALL_OW 424
// enable ( 2 ) ;
79168: LD_INT 2
79170: ENABLE_MARKED
// end ;
79171: PPOPN 2
79173: END
// on artifactunloaded ( artifact_cargo , Artifact ) do var cargo_pos , i , j , list , X , Y , temp , scientists , start , sci ;
79174: LD_INT 0
79176: PPUSH
79177: PPUSH
79178: PPUSH
79179: PPUSH
79180: PPUSH
79181: PPUSH
79182: PPUSH
79183: PPUSH
79184: PPUSH
79185: PPUSH
// begin if artifacton > 0 then
79186: LD_EXP 156
79190: PUSH
79191: LD_INT 0
79193: GREATER
79194: IFFALSE 79807
// begin cargo_pos = [ getx ( artifact_cargo ) , gety ( artifact_cargo ) ] ;
79196: LD_ADDR_VAR 0 3
79200: PUSH
79201: LD_VAR 0 1
79205: PPUSH
79206: CALL_OW 250
79210: PUSH
79211: LD_VAR 0 1
79215: PPUSH
79216: CALL_OW 251
79220: PUSH
79221: EMPTY
79222: LIST
79223: LIST
79224: ST_TO_ADDR
// list = [ ] ;
79225: LD_ADDR_VAR 0 6
79229: PUSH
79230: EMPTY
79231: ST_TO_ADDR
// Y = cargo_pos [ 2 ] + 4 ;
79232: LD_ADDR_VAR 0 8
79236: PUSH
79237: LD_VAR 0 3
79241: PUSH
79242: LD_INT 2
79244: ARRAY
79245: PUSH
79246: LD_INT 4
79248: PLUS
79249: ST_TO_ADDR
// for i = 1 to 7 do
79250: LD_ADDR_VAR 0 4
79254: PUSH
79255: DOUBLE
79256: LD_INT 1
79258: DEC
79259: ST_TO_ADDR
79260: LD_INT 7
79262: PUSH
79263: FOR_TO
79264: IFFALSE 79372
// begin Y = Y - 1 ;
79266: LD_ADDR_VAR 0 8
79270: PUSH
79271: LD_VAR 0 8
79275: PUSH
79276: LD_INT 1
79278: MINUS
79279: ST_TO_ADDR
// X = cargo_pos [ 1 ] + 4 ;
79280: LD_ADDR_VAR 0 7
79284: PUSH
79285: LD_VAR 0 3
79289: PUSH
79290: LD_INT 1
79292: ARRAY
79293: PUSH
79294: LD_INT 4
79296: PLUS
79297: ST_TO_ADDR
// for j = 1 to 7 do
79298: LD_ADDR_VAR 0 5
79302: PUSH
79303: DOUBLE
79304: LD_INT 1
79306: DEC
79307: ST_TO_ADDR
79308: LD_INT 7
79310: PUSH
79311: FOR_TO
79312: IFFALSE 79368
// begin X = X - 1 ;
79314: LD_ADDR_VAR 0 7
79318: PUSH
79319: LD_VAR 0 7
79323: PUSH
79324: LD_INT 1
79326: MINUS
79327: ST_TO_ADDR
// temp = [ x , y ] ;
79328: LD_ADDR_VAR 0 9
79332: PUSH
79333: LD_VAR 0 7
79337: PUSH
79338: LD_VAR 0 8
79342: PUSH
79343: EMPTY
79344: LIST
79345: LIST
79346: ST_TO_ADDR
// list = list ^ [ temp ] ;
79347: LD_ADDR_VAR 0 6
79351: PUSH
79352: LD_VAR 0 6
79356: PUSH
79357: LD_VAR 0 9
79361: PUSH
79362: EMPTY
79363: LIST
79364: ADD
79365: ST_TO_ADDR
// end ;
79366: GO 79311
79368: POP
79369: POP
// end ;
79370: GO 79263
79372: POP
79373: POP
// for i in list do
79374: LD_ADDR_VAR 0 4
79378: PUSH
79379: LD_VAR 0 6
79383: PUSH
79384: FOR_IN
79385: IFFALSE 79444
// if GetResourceTypeXY ( i [ 1 ] , i [ 2 ] ) = mat_artifact then
79387: LD_VAR 0 4
79391: PUSH
79392: LD_INT 1
79394: ARRAY
79395: PPUSH
79396: LD_VAR 0 4
79400: PUSH
79401: LD_INT 2
79403: ARRAY
79404: PPUSH
79405: CALL_OW 283
79409: PUSH
79410: LD_INT 4
79412: EQUAL
79413: IFFALSE 79442
// temp = [ i [ 1 ] , i [ 2 ] ] ;
79415: LD_ADDR_VAR 0 9
79419: PUSH
79420: LD_VAR 0 4
79424: PUSH
79425: LD_INT 1
79427: ARRAY
79428: PUSH
79429: LD_VAR 0 4
79433: PUSH
79434: LD_INT 2
79436: ARRAY
79437: PUSH
79438: EMPTY
79439: LIST
79440: LIST
79441: ST_TO_ADDR
79442: GO 79384
79444: POP
79445: POP
// if artifacton = 1 then
79446: LD_EXP 156
79450: PUSH
79451: LD_INT 1
79453: EQUAL
79454: IFFALSE 79807
// begin start = 0 ;
79456: LD_ADDR_VAR 0 11
79460: PUSH
79461: LD_INT 0
79463: ST_TO_ADDR
// if InArea ( temp [ 1 ] , temp [ 2 ] , Artifact_left ) and art_leftdone = 0 then
79464: LD_VAR 0 9
79468: PUSH
79469: LD_INT 1
79471: ARRAY
79472: PPUSH
79473: LD_VAR 0 9
79477: PUSH
79478: LD_INT 2
79480: ARRAY
79481: PPUSH
79482: LD_INT 26
79484: PPUSH
79485: CALL_OW 309
79489: PUSH
79490: LD_EXP 160
79494: PUSH
79495: LD_INT 0
79497: EQUAL
79498: AND
79499: IFFALSE 79509
// start = 1 ;
79501: LD_ADDR_VAR 0 11
79505: PUSH
79506: LD_INT 1
79508: ST_TO_ADDR
// if InArea ( temp [ 1 ] , temp [ 2 ] , Artifact_right ) and art_rightdone = 0 then
79509: LD_VAR 0 9
79513: PUSH
79514: LD_INT 1
79516: ARRAY
79517: PPUSH
79518: LD_VAR 0 9
79522: PUSH
79523: LD_INT 2
79525: ARRAY
79526: PPUSH
79527: LD_INT 27
79529: PPUSH
79530: CALL_OW 309
79534: PUSH
79535: LD_EXP 161
79539: PUSH
79540: LD_INT 0
79542: EQUAL
79543: AND
79544: IFFALSE 79554
// start = 1 ;
79546: LD_ADDR_VAR 0 11
79550: PUSH
79551: LD_INT 1
79553: ST_TO_ADDR
// if InArea ( temp [ 1 ] , temp [ 2 ] , Artifact_centre ) and art_centredone = 0 then
79554: LD_VAR 0 9
79558: PUSH
79559: LD_INT 1
79561: ARRAY
79562: PPUSH
79563: LD_VAR 0 9
79567: PUSH
79568: LD_INT 2
79570: ARRAY
79571: PPUSH
79572: LD_INT 28
79574: PPUSH
79575: CALL_OW 309
79579: PUSH
79580: LD_EXP 162
79584: PUSH
79585: LD_INT 0
79587: EQUAL
79588: AND
79589: IFFALSE 79599
// start = 1 ;
79591: LD_ADDR_VAR 0 11
79595: PUSH
79596: LD_INT 1
79598: ST_TO_ADDR
// if temp [ 2 ] > 167 and art_southdone = 0 then
79599: LD_VAR 0 9
79603: PUSH
79604: LD_INT 2
79606: ARRAY
79607: PUSH
79608: LD_INT 167
79610: GREATER
79611: PUSH
79612: LD_EXP 163
79616: PUSH
79617: LD_INT 0
79619: EQUAL
79620: AND
79621: IFFALSE 79631
// start = 1 ;
79623: LD_ADDR_VAR 0 11
79627: PUSH
79628: LD_INT 1
79630: ST_TO_ADDR
// if start = 1 then
79631: LD_VAR 0 11
79635: PUSH
79636: LD_INT 1
79638: EQUAL
79639: IFFALSE 79767
// begin artifact_ready = 1 ;
79641: LD_ADDR_EXP 158
79645: PUSH
79646: LD_INT 1
79648: ST_TO_ADDR
// artifact_hex = temp ;
79649: LD_ADDR_EXP 159
79653: PUSH
79654: LD_VAR 0 9
79658: ST_TO_ADDR
// if Filterallunits ( [ [ f_side , 2 ] , [ f_class , class_scientistic ] , [ f_minskill , skill_scientistic , 7 ] , [ f_distxy , temp [ 1 ] , temp [ 2 ] , 10 ] ] ) = 0 then
79659: LD_INT 22
79661: PUSH
79662: LD_INT 2
79664: PUSH
79665: EMPTY
79666: LIST
79667: LIST
79668: PUSH
79669: LD_INT 25
79671: PUSH
79672: LD_INT 4
79674: PUSH
79675: EMPTY
79676: LIST
79677: LIST
79678: PUSH
79679: LD_INT 28
79681: PUSH
79682: LD_INT 4
79684: PUSH
79685: LD_INT 7
79687: PUSH
79688: EMPTY
79689: LIST
79690: LIST
79691: LIST
79692: PUSH
79693: LD_INT 92
79695: PUSH
79696: LD_VAR 0 9
79700: PUSH
79701: LD_INT 1
79703: ARRAY
79704: PUSH
79705: LD_VAR 0 9
79709: PUSH
79710: LD_INT 2
79712: ARRAY
79713: PUSH
79714: LD_INT 10
79716: PUSH
79717: EMPTY
79718: LIST
79719: LIST
79720: LIST
79721: LIST
79722: PUSH
79723: EMPTY
79724: LIST
79725: LIST
79726: LIST
79727: LIST
79728: PPUSH
79729: CALL_OW 69
79733: PUSH
79734: LD_INT 0
79736: EQUAL
79737: IFFALSE 79753
// say ( Chrissy , art2_Ch3 ) else
79739: LD_EXP 103
79743: PPUSH
79744: LD_STRING art2_Ch3
79746: PPUSH
79747: CALL_OW 88
79751: GO 79765
// say ( Chrissy , art2_Ch4 ) ;
79753: LD_EXP 103
79757: PPUSH
79758: LD_STRING art2_Ch4
79760: PPUSH
79761: CALL_OW 88
// end else
79765: GO 79807
// begin if temp [ 2 ] < 79 then
79767: LD_VAR 0 9
79771: PUSH
79772: LD_INT 2
79774: ARRAY
79775: PUSH
79776: LD_INT 79
79778: LESS
79779: IFFALSE 79795
// say ( Chrissy , art2_Ch1 ) else
79781: LD_EXP 103
79785: PPUSH
79786: LD_STRING art2_Ch1
79788: PPUSH
79789: CALL_OW 88
79793: GO 79807
// say ( Chrissy , art2_Ch2 ) ;
79795: LD_EXP 103
79799: PPUSH
79800: LD_STRING art2_Ch2
79802: PPUSH
79803: CALL_OW 88
// end ; end ; end ; end ;
79807: PPOPN 12
79809: END
// on Artifactloaded ( artifact_cargo , Artifact ) do begin artifact_ready = 0 ;
79810: LD_ADDR_EXP 158
79814: PUSH
79815: LD_INT 0
79817: ST_TO_ADDR
// artifact_hex = 0 ;
79818: LD_ADDR_EXP 159
79822: PUSH
79823: LD_INT 0
79825: ST_TO_ADDR
// Measurement_ani = 0 ;
79826: LD_ADDR_EXP 168
79830: PUSH
79831: LD_INT 0
79833: ST_TO_ADDR
// end ;
79834: PPOPN 2
79836: END
// every 0 0$1 marked 1 do
79837: GO 79839
79839: DISABLE
// begin wait ( rand ( 0 0$30 , 1 1$0 ) ) ;
79840: LD_INT 1050
79842: PPUSH
79843: LD_INT 2100
79845: PPUSH
79846: CALL_OW 12
79850: PPUSH
79851: CALL_OW 67
// dialogueon ;
79855: CALL_OW 6
// sayradio ( scout , sc1_sc1 ) ;
79859: LD_EXP 100
79863: PPUSH
79864: LD_STRING sc1_sc1
79866: PPUSH
79867: CALL_OW 94
// say ( heike , sc1_he1 ) ;
79871: LD_EXP 87
79875: PPUSH
79876: LD_STRING sc1_he1
79878: PPUSH
79879: CALL_OW 88
// sayradio ( scout , sc1_sc2 ) ;
79883: LD_EXP 100
79887: PPUSH
79888: LD_STRING sc1_sc2
79890: PPUSH
79891: CALL_OW 94
// say ( heike , sc1_he2 ) ;
79895: LD_EXP 87
79899: PPUSH
79900: LD_STRING sc1_he2
79902: PPUSH
79903: CALL_OW 88
// sayradio ( scout , sc1_sc3 ) ;
79907: LD_EXP 100
79911: PPUSH
79912: LD_STRING sc1_sc3
79914: PPUSH
79915: CALL_OW 94
// say ( heike , sc1_he3 ) ;
79919: LD_EXP 87
79923: PPUSH
79924: LD_STRING sc1_he3
79926: PPUSH
79927: CALL_OW 88
// sayradio ( scout , sc1_sc4 ) ;
79931: LD_EXP 100
79935: PPUSH
79936: LD_STRING sc1_sc4
79938: PPUSH
79939: CALL_OW 94
// sayradio ( scout , sc1_sc5 ) ;
79943: LD_EXP 100
79947: PPUSH
79948: LD_STRING sc1_sc5
79950: PPUSH
79951: CALL_OW 94
// say ( heike , sc1_he4 ) ;
79955: LD_EXP 87
79959: PPUSH
79960: LD_STRING sc1_he4
79962: PPUSH
79963: CALL_OW 88
// sayradio ( scout , sc1_sc6 ) ;
79967: LD_EXP 100
79971: PPUSH
79972: LD_STRING sc1_sc6
79974: PPUSH
79975: CALL_OW 94
// dialogueoff ;
79979: CALL_OW 7
// wait ( 0 0$0.2 ) ;
79983: LD_INT 7
79985: PPUSH
79986: CALL_OW 67
// ChangeMissionObjectives ( maingoals2 ) ;
79990: LD_STRING maingoals2
79992: PPUSH
79993: CALL_OW 337
// end ;
79997: END
// every 0 0$1 trigger tick > 13 13$0 do
79998: LD_OWVAR 1
80002: PUSH
80003: LD_INT 27300
80005: GREATER
80006: IFFALSE 80039
80008: GO 80010
80010: DISABLE
// begin scout_gone = 1 ;
80011: LD_ADDR_EXP 35
80015: PUSH
80016: LD_INT 1
80018: ST_TO_ADDR
// sayradio ( scout , sc2_sc1 ) ;
80019: LD_EXP 100
80023: PPUSH
80024: LD_STRING sc2_sc1
80026: PPUSH
80027: CALL_OW 94
// scout_gone = 0 ;
80031: LD_ADDR_EXP 35
80035: PUSH
80036: LD_INT 0
80038: ST_TO_ADDR
// end ;
80039: END
// every 0 0$1 trigger tick > 15 15$30 do
80040: LD_OWVAR 1
80044: PUSH
80045: LD_INT 32550
80047: GREATER
80048: IFFALSE 80111
80050: GO 80052
80052: DISABLE
// begin repeat wait ( 0 0$1 ) ;
80053: LD_INT 35
80055: PPUSH
80056: CALL_OW 67
// until not 1 in ru_grouptypes ;
80060: LD_INT 1
80062: PUSH
80063: LD_EXP 22
80067: IN
80068: NOT
80069: IFFALSE 80053
// scout_gone = 1 ;
80071: LD_ADDR_EXP 35
80075: PUSH
80076: LD_INT 1
80078: ST_TO_ADDR
// sayradio ( scout , sc2_sc2 ) ;
80079: LD_EXP 100
80083: PPUSH
80084: LD_STRING sc2_sc2
80086: PPUSH
80087: CALL_OW 94
// sayradio ( scout , sc2_sc3 ) ;
80091: LD_EXP 100
80095: PPUSH
80096: LD_STRING sc2_sc3
80098: PPUSH
80099: CALL_OW 94
// scout_gone = 0 ;
80103: LD_ADDR_EXP 35
80107: PUSH
80108: LD_INT 0
80110: ST_TO_ADDR
// end ;
80111: END
// every 0 0$1 trigger tick > [ 30 30$0 , 31 31$0 , 32 32$0 ] [ difficulty ] do
80112: LD_OWVAR 1
80116: PUSH
80117: LD_INT 63000
80119: PUSH
80120: LD_INT 65100
80122: PUSH
80123: LD_INT 67200
80125: PUSH
80126: EMPTY
80127: LIST
80128: LIST
80129: LIST
80130: PUSH
80131: LD_OWVAR 67
80135: ARRAY
80136: GREATER
80137: IFFALSE 80178
80139: GO 80141
80141: DISABLE
// begin scout_gone = 1 ;
80142: LD_ADDR_EXP 35
80146: PUSH
80147: LD_INT 1
80149: ST_TO_ADDR
// sayradio ( scout , sc2_sc4 ) ;
80150: LD_EXP 100
80154: PPUSH
80155: LD_STRING sc2_sc4
80157: PPUSH
80158: CALL_OW 94
// No_seek_groups = 1 ;
80162: LD_ADDR_EXP 36
80166: PUSH
80167: LD_INT 1
80169: ST_TO_ADDR
// scout_gone = 0 ;
80170: LD_ADDR_EXP 35
80174: PUSH
80175: LD_INT 0
80177: ST_TO_ADDR
// end ;
80178: END
// every 0 0$1 trigger tick > [ 35 35$0 , 36 36$0 , 37 37$0 ] [ difficulty ] do
80179: LD_OWVAR 1
80183: PUSH
80184: LD_INT 73500
80186: PUSH
80187: LD_INT 75600
80189: PUSH
80190: LD_INT 77700
80192: PUSH
80193: EMPTY
80194: LIST
80195: LIST
80196: LIST
80197: PUSH
80198: LD_OWVAR 67
80202: ARRAY
80203: GREATER
80204: IFFALSE 80277
80206: GO 80208
80208: DISABLE
// begin scout_gone = 1 ;
80209: LD_ADDR_EXP 35
80213: PUSH
80214: LD_INT 1
80216: ST_TO_ADDR
// sayradio ( scout , sc3_sc1 ) ;
80217: LD_EXP 100
80221: PPUSH
80222: LD_STRING sc3_sc1
80224: PPUSH
80225: CALL_OW 94
// sayradio ( scout , sc3_sc2 ) ;
80229: LD_EXP 100
80233: PPUSH
80234: LD_STRING sc3_sc2
80236: PPUSH
80237: CALL_OW 94
// Say ( Heike , sc3_He1 ) ;
80241: LD_EXP 87
80245: PPUSH
80246: LD_STRING sc3_He1
80248: PPUSH
80249: CALL_OW 88
// sayradio ( scout , sc3_sc3 ) ;
80253: LD_EXP 100
80257: PPUSH
80258: LD_STRING sc3_sc3
80260: PPUSH
80261: CALL_OW 94
// Say ( Heike , sc3_He2 ) ;
80265: LD_EXP 87
80269: PPUSH
80270: LD_STRING sc3_He2
80272: PPUSH
80273: CALL_OW 88
// end ;
80277: END
// every 0 0$1 trigger tick > [ 36 36$0 , 37 37$0 , 38 38$0 ] [ difficulty ] do
80278: LD_OWVAR 1
80282: PUSH
80283: LD_INT 75600
80285: PUSH
80286: LD_INT 77700
80288: PUSH
80289: LD_INT 79800
80291: PUSH
80292: EMPTY
80293: LIST
80294: LIST
80295: LIST
80296: PUSH
80297: LD_OWVAR 67
80301: ARRAY
80302: GREATER
80303: IFFALSE 80443
80305: GO 80307
80307: DISABLE
// begin Say ( Heike , sc3_He3 ) ;
80308: LD_EXP 87
80312: PPUSH
80313: LD_STRING sc3_He3
80315: PPUSH
80316: CALL_OW 88
// wait ( 0 0$15 ) ;
80320: LD_INT 525
80322: PPUSH
80323: CALL_OW 67
// sayradio ( scout , sc3_sc4 ) ;
80327: LD_EXP 100
80331: PPUSH
80332: LD_STRING sc3_sc4
80334: PPUSH
80335: CALL_OW 94
// Say ( Heike , sc3_He4 ) ;
80339: LD_EXP 87
80343: PPUSH
80344: LD_STRING sc3_He4
80346: PPUSH
80347: CALL_OW 88
// sayradio ( scout , sc3_sc5 ) ;
80351: LD_EXP 100
80355: PPUSH
80356: LD_STRING sc3_sc5
80358: PPUSH
80359: CALL_OW 94
// sayradio ( scout , sc3_sc6 ) ;
80363: LD_EXP 100
80367: PPUSH
80368: LD_STRING sc3_sc6
80370: PPUSH
80371: CALL_OW 94
// Say ( Heike , sc3_He5 ) ;
80375: LD_EXP 87
80379: PPUSH
80380: LD_STRING sc3_He5
80382: PPUSH
80383: CALL_OW 88
// sayradio ( scout , sc3_sc7 ) ;
80387: LD_EXP 100
80391: PPUSH
80392: LD_STRING sc3_sc7
80394: PPUSH
80395: CALL_OW 94
// Say ( Heike , sc3_He6 ) ;
80399: LD_EXP 87
80403: PPUSH
80404: LD_STRING sc3_He6
80406: PPUSH
80407: CALL_OW 88
// sayradio ( scout , sc3_sc8 ) ;
80411: LD_EXP 100
80415: PPUSH
80416: LD_STRING sc3_sc8
80418: PPUSH
80419: CALL_OW 94
// Say ( Heike , sc3_He7 ) ;
80423: LD_EXP 87
80427: PPUSH
80428: LD_STRING sc3_He7
80430: PPUSH
80431: CALL_OW 88
// scout_gone = 0 ;
80435: LD_ADDR_EXP 35
80439: PUSH
80440: LD_INT 0
80442: ST_TO_ADDR
// end ;
80443: END
// every 0 0$1 trigger tick > 10 10$30 do
80444: LD_OWVAR 1
80448: PUSH
80449: LD_INT 22050
80451: GREATER
80452: IFFALSE 80469
80454: GO 80456
80456: DISABLE
// sayradio ( scout , sc4_sc1 ) ;
80457: LD_EXP 100
80461: PPUSH
80462: LD_STRING sc4_sc1
80464: PPUSH
80465: CALL_OW 94
80469: END
// every 0 0$1 trigger tick > 20 20$30 do
80470: LD_OWVAR 1
80474: PUSH
80475: LD_INT 43050
80477: GREATER
80478: IFFALSE 80495
80480: GO 80482
80482: DISABLE
// sayradio ( scout , sc4_sc2 ) ;
80483: LD_EXP 100
80487: PPUSH
80488: LD_STRING sc4_sc2
80490: PPUSH
80491: CALL_OW 94
80495: END
// every 0 0$1 trigger tick > [ 27 27$30 , 28 28$30 , 29 29$30 ] [ difficulty ] do
80496: LD_OWVAR 1
80500: PUSH
80501: LD_INT 57750
80503: PUSH
80504: LD_INT 59850
80506: PUSH
80507: LD_INT 61950
80509: PUSH
80510: EMPTY
80511: LIST
80512: LIST
80513: LIST
80514: PUSH
80515: LD_OWVAR 67
80519: ARRAY
80520: GREATER
80521: IFFALSE 80538
80523: GO 80525
80525: DISABLE
// sayradio ( scout , sc4_sc3 ) ;
80526: LD_EXP 100
80530: PPUSH
80531: LD_STRING sc4_sc3
80533: PPUSH
80534: CALL_OW 94
80538: END
// every 0 0$1 trigger tick > [ 41 41$30 , 42 42$30 , 43 43$30 ] [ difficulty ] do
80539: LD_OWVAR 1
80543: PUSH
80544: LD_INT 87150
80546: PUSH
80547: LD_INT 89250
80549: PUSH
80550: LD_INT 91350
80552: PUSH
80553: EMPTY
80554: LIST
80555: LIST
80556: LIST
80557: PUSH
80558: LD_OWVAR 67
80562: ARRAY
80563: GREATER
80564: IFFALSE 80581
80566: GO 80568
80568: DISABLE
// sayradio ( scout , sc4_sc4 ) ;
80569: LD_EXP 100
80573: PPUSH
80574: LD_STRING sc4_sc4
80576: PPUSH
80577: CALL_OW 94
80581: END
// every 0 0$1 trigger tick > [ 52 52$30 , 53 53$30 , 54 54$30 ] [ difficulty ] do
80582: LD_OWVAR 1
80586: PUSH
80587: LD_INT 110250
80589: PUSH
80590: LD_INT 112350
80592: PUSH
80593: LD_INT 114450
80595: PUSH
80596: EMPTY
80597: LIST
80598: LIST
80599: LIST
80600: PUSH
80601: LD_OWVAR 67
80605: ARRAY
80606: GREATER
80607: IFFALSE 80624
80609: GO 80611
80611: DISABLE
// sayradio ( scout , sc4_sc5 ) ;
80612: LD_EXP 100
80616: PPUSH
80617: LD_STRING sc4_sc5
80619: PPUSH
80620: CALL_OW 94
80624: END
// every 0 0$1 trigger tick > clear_spawn_location [ 2 ] do var area , i , temp , temp_list , time , said ;
80625: LD_OWVAR 1
80629: PUSH
80630: LD_EXP 133
80634: PUSH
80635: LD_INT 2
80637: ARRAY
80638: GREATER
80639: IFFALSE 81871
80641: GO 80643
80643: DISABLE
80644: LD_INT 0
80646: PPUSH
80647: PPUSH
80648: PPUSH
80649: PPUSH
80650: PPUSH
80651: PPUSH
// begin Randomize ;
80652: CALL_OW 10
// case area of enter1 :
80656: LD_VAR 0 1
80660: PUSH
80661: LD_INT 2
80663: DOUBLE
80664: EQUAL
80665: IFTRUE 80669
80667: GO 80680
80669: POP
// area = 1 ; enter2 :
80670: LD_ADDR_VAR 0 1
80674: PUSH
80675: LD_INT 1
80677: ST_TO_ADDR
80678: GO 80719
80680: LD_INT 3
80682: DOUBLE
80683: EQUAL
80684: IFTRUE 80688
80686: GO 80699
80688: POP
// area = 2 ; enter3 :
80689: LD_ADDR_VAR 0 1
80693: PUSH
80694: LD_INT 2
80696: ST_TO_ADDR
80697: GO 80719
80699: LD_INT 4
80701: DOUBLE
80702: EQUAL
80703: IFTRUE 80707
80705: GO 80718
80707: POP
// area = 3 ; end ;
80708: LD_ADDR_VAR 0 1
80712: PUSH
80713: LD_INT 3
80715: ST_TO_ADDR
80716: GO 80719
80718: POP
// repeat wait ( 0 0$1 ) ;
80719: LD_INT 35
80721: PPUSH
80722: CALL_OW 67
// until filterallunits ( [ [ f_or , [ f_side , 3 ] , [ f_side , 6 ] ] , [ f_distxy , [ 173 , 102 , 215 ] [ area ] , 193 , 20 ] ] ) = 0 or tick > clear_spawn_location [ 2 ] + 0 0$20 ;
80726: LD_INT 2
80728: PUSH
80729: LD_INT 22
80731: PUSH
80732: LD_INT 3
80734: PUSH
80735: EMPTY
80736: LIST
80737: LIST
80738: PUSH
80739: LD_INT 22
80741: PUSH
80742: LD_INT 6
80744: PUSH
80745: EMPTY
80746: LIST
80747: LIST
80748: PUSH
80749: EMPTY
80750: LIST
80751: LIST
80752: LIST
80753: PUSH
80754: LD_INT 92
80756: PUSH
80757: LD_INT 173
80759: PUSH
80760: LD_INT 102
80762: PUSH
80763: LD_INT 215
80765: PUSH
80766: EMPTY
80767: LIST
80768: LIST
80769: LIST
80770: PUSH
80771: LD_VAR 0 1
80775: ARRAY
80776: PUSH
80777: LD_INT 193
80779: PUSH
80780: LD_INT 20
80782: PUSH
80783: EMPTY
80784: LIST
80785: LIST
80786: LIST
80787: LIST
80788: PUSH
80789: EMPTY
80790: LIST
80791: LIST
80792: PPUSH
80793: CALL_OW 69
80797: PUSH
80798: LD_INT 0
80800: EQUAL
80801: PUSH
80802: LD_OWVAR 1
80806: PUSH
80807: LD_EXP 133
80811: PUSH
80812: LD_INT 2
80814: ARRAY
80815: PUSH
80816: LD_INT 700
80818: PLUS
80819: GREATER
80820: OR
80821: IFFALSE 80719
// uc_side = 2 ;
80823: LD_ADDR_OWVAR 20
80827: PUSH
80828: LD_INT 2
80830: ST_TO_ADDR
// uc_nation = nation_russian ;
80831: LD_ADDR_OWVAR 21
80835: PUSH
80836: LD_INT 3
80838: ST_TO_ADDR
// temp_list = [ ] ;
80839: LD_ADDR_VAR 0 4
80843: PUSH
80844: EMPTY
80845: ST_TO_ADDR
// for i = 1 to [ 3 , 2 , 2 ] [ difficulty ] do
80846: LD_ADDR_VAR 0 2
80850: PUSH
80851: DOUBLE
80852: LD_INT 1
80854: DEC
80855: ST_TO_ADDR
80856: LD_INT 3
80858: PUSH
80859: LD_INT 2
80861: PUSH
80862: LD_INT 2
80864: PUSH
80865: EMPTY
80866: LIST
80867: LIST
80868: LIST
80869: PUSH
80870: LD_OWVAR 67
80874: ARRAY
80875: PUSH
80876: FOR_TO
80877: IFFALSE 81096
// begin if difficulty = 1 then
80879: LD_OWVAR 67
80883: PUSH
80884: LD_INT 1
80886: EQUAL
80887: IFFALSE 80918
// vc_weapon = [ ru_gun , ru_rocket_launcher ] [ rand ( 1 , 2 ) ] else
80889: LD_ADDR_OWVAR 40
80893: PUSH
80894: LD_INT 44
80896: PUSH
80897: LD_INT 45
80899: PUSH
80900: EMPTY
80901: LIST
80902: LIST
80903: PUSH
80904: LD_INT 1
80906: PPUSH
80907: LD_INT 2
80909: PPUSH
80910: CALL_OW 12
80914: ARRAY
80915: ST_TO_ADDR
80916: GO 80949
// vc_weapon = [ ru_gun , ru_rocket_launcher , ru_gatling_gun ] [ rand ( 1 , 3 ) ] ;
80918: LD_ADDR_OWVAR 40
80922: PUSH
80923: LD_INT 44
80925: PUSH
80926: LD_INT 45
80928: PUSH
80929: LD_INT 43
80931: PUSH
80932: EMPTY
80933: LIST
80934: LIST
80935: LIST
80936: PUSH
80937: LD_INT 1
80939: PPUSH
80940: LD_INT 3
80942: PPUSH
80943: CALL_OW 12
80947: ARRAY
80948: ST_TO_ADDR
// if difficulty = 2 then
80949: LD_OWVAR 67
80953: PUSH
80954: LD_INT 2
80956: EQUAL
80957: IFFALSE 80988
// vc_engine = [ engine_siberite , engine_combustion ] [ rand ( 1 , 2 ) ] else
80959: LD_ADDR_OWVAR 39
80963: PUSH
80964: LD_INT 3
80966: PUSH
80967: LD_INT 1
80969: PUSH
80970: EMPTY
80971: LIST
80972: LIST
80973: PUSH
80974: LD_INT 1
80976: PPUSH
80977: LD_INT 2
80979: PPUSH
80980: CALL_OW 12
80984: ARRAY
80985: ST_TO_ADDR
80986: GO 81013
// vc_engine = [ engine_siberite , 0 , engine_combustion ] [ difficulty ] ;
80988: LD_ADDR_OWVAR 39
80992: PUSH
80993: LD_INT 3
80995: PUSH
80996: LD_INT 0
80998: PUSH
80999: LD_INT 1
81001: PUSH
81002: EMPTY
81003: LIST
81004: LIST
81005: LIST
81006: PUSH
81007: LD_OWVAR 67
81011: ARRAY
81012: ST_TO_ADDR
// vc_chassis = [ ru_medium_tracked , ru_medium_wheeled ] [ rand ( 1 , 2 ) ] ;
81013: LD_ADDR_OWVAR 37
81017: PUSH
81018: LD_INT 22
81020: PUSH
81021: LD_INT 21
81023: PUSH
81024: EMPTY
81025: LIST
81026: LIST
81027: PUSH
81028: LD_INT 1
81030: PPUSH
81031: LD_INT 2
81033: PPUSH
81034: CALL_OW 12
81038: ARRAY
81039: ST_TO_ADDR
// vc_control = control_manual ;
81040: LD_ADDR_OWVAR 38
81044: PUSH
81045: LD_INT 1
81047: ST_TO_ADDR
// temp = CreateVehicle ;
81048: LD_ADDR_VAR 0 3
81052: PUSH
81053: CALL_OW 45
81057: ST_TO_ADDR
// SetFuel ( temp , rand ( 60 , 80 ) ) ;
81058: LD_VAR 0 3
81062: PPUSH
81063: LD_INT 60
81065: PPUSH
81066: LD_INT 80
81068: PPUSH
81069: CALL_OW 12
81073: PPUSH
81074: CALL_OW 240
// temp_list = temp_list ^ temp ;
81078: LD_ADDR_VAR 0 4
81082: PUSH
81083: LD_VAR 0 4
81087: PUSH
81088: LD_VAR 0 3
81092: ADD
81093: ST_TO_ADDR
// end ;
81094: GO 80876
81096: POP
81097: POP
// if difficulty < 3 then
81098: LD_OWVAR 67
81102: PUSH
81103: LD_INT 3
81105: LESS
81106: IFFALSE 81198
// begin vc_weapon = ru_heavy_gun ;
81108: LD_ADDR_OWVAR 40
81112: PUSH
81113: LD_INT 46
81115: ST_TO_ADDR
// vc_chassis = ru_heavy_tracked ;
81116: LD_ADDR_OWVAR 37
81120: PUSH
81121: LD_INT 24
81123: ST_TO_ADDR
// vc_engine = engine_combustion ;
81124: LD_ADDR_OWVAR 39
81128: PUSH
81129: LD_INT 1
81131: ST_TO_ADDR
// temp = CreateVehicle ;
81132: LD_ADDR_VAR 0 3
81136: PUSH
81137: CALL_OW 45
81141: ST_TO_ADDR
// SetFuel ( temp , rand ( 40 , 60 ) ) ;
81142: LD_VAR 0 3
81146: PPUSH
81147: LD_INT 40
81149: PPUSH
81150: LD_INT 60
81152: PPUSH
81153: CALL_OW 12
81157: PPUSH
81158: CALL_OW 240
// SetLives ( temp , rand ( 750 , 900 ) ) ;
81162: LD_VAR 0 3
81166: PPUSH
81167: LD_INT 750
81169: PPUSH
81170: LD_INT 900
81172: PPUSH
81173: CALL_OW 12
81177: PPUSH
81178: CALL_OW 234
// temp_list = temp_list ^ temp ;
81182: LD_ADDR_VAR 0 4
81186: PUSH
81187: LD_VAR 0 4
81191: PUSH
81192: LD_VAR 0 3
81196: ADD
81197: ST_TO_ADDR
// end ; uc_side = 5 ;
81198: LD_ADDR_OWVAR 20
81202: PUSH
81203: LD_INT 5
81205: ST_TO_ADDR
// uc_nation = nation_arabian ;
81206: LD_ADDR_OWVAR 21
81210: PUSH
81211: LD_INT 2
81213: ST_TO_ADDR
// for i in temp_list do
81214: LD_ADDR_VAR 0 2
81218: PUSH
81219: LD_VAR 0 4
81223: PUSH
81224: FOR_IN
81225: IFFALSE 81386
// begin placeunitarea ( i , clear_spawn_location [ 1 ] , false ) ;
81227: LD_VAR 0 2
81231: PPUSH
81232: LD_EXP 133
81236: PUSH
81237: LD_INT 1
81239: ARRAY
81240: PPUSH
81241: LD_INT 0
81243: PPUSH
81244: CALL_OW 49
// case rand ( 1 , 4 ) of 1 :
81248: LD_INT 1
81250: PPUSH
81251: LD_INT 4
81253: PPUSH
81254: CALL_OW 12
81258: PUSH
81259: LD_INT 1
81261: DOUBLE
81262: EQUAL
81263: IFTRUE 81267
81265: GO 81280
81267: POP
// PrepareClassSkills ( class_soldier , 8 ) ; 2 :
81268: LD_INT 1
81270: PPUSH
81271: LD_INT 8
81273: PPUSH
81274: CALL_OW 374
81278: GO 81344
81280: LD_INT 2
81282: DOUBLE
81283: EQUAL
81284: IFTRUE 81288
81286: GO 81301
81288: POP
// PrepareClassSkills ( class_engineer , 8 ) ; 3 :
81289: LD_INT 2
81291: PPUSH
81292: LD_INT 8
81294: PPUSH
81295: CALL_OW 374
81299: GO 81344
81301: LD_INT 3
81303: DOUBLE
81304: EQUAL
81305: IFTRUE 81309
81307: GO 81322
81309: POP
// PrepareClassSkills ( class_mechanic , 8 ) ; 4 :
81310: LD_INT 3
81312: PPUSH
81313: LD_INT 8
81315: PPUSH
81316: CALL_OW 374
81320: GO 81344
81322: LD_INT 4
81324: DOUBLE
81325: EQUAL
81326: IFTRUE 81330
81328: GO 81343
81330: POP
// PrepareClassSkills ( class_scientistic , 8 ) ; end ;
81331: LD_INT 4
81333: PPUSH
81334: LD_INT 8
81336: PPUSH
81337: CALL_OW 374
81341: GO 81344
81343: POP
// temp = CreateHuman ;
81344: LD_ADDR_VAR 0 3
81348: PUSH
81349: CALL_OW 44
81353: ST_TO_ADDR
// PlaceHumanInUnit ( temp , i ) ;
81354: LD_VAR 0 3
81358: PPUSH
81359: LD_VAR 0 2
81363: PPUSH
81364: CALL_OW 52
// esc_drivers = esc_drivers ^ temp ;
81368: LD_ADDR_EXP 134
81372: PUSH
81373: LD_EXP 134
81377: PUSH
81378: LD_VAR 0 3
81382: ADD
81383: ST_TO_ADDR
// end ;
81384: GO 81224
81386: POP
81387: POP
// DialogueOn ;
81388: CALL_OW 6
// CenterOnUnits ( temp_list [ 1 ] ) ;
81392: LD_VAR 0 4
81396: PUSH
81397: LD_INT 1
81399: ARRAY
81400: PPUSH
81401: CALL_OW 85
// if GetSex ( esc_drivers [ 1 ] ) = sex_male then
81405: LD_EXP 134
81409: PUSH
81410: LD_INT 1
81412: ARRAY
81413: PPUSH
81414: CALL_OW 258
81418: PUSH
81419: LD_INT 1
81421: EQUAL
81422: IFFALSE 81442
// Say ( esc_drivers [ 1 ] , snake_aid1_M ) else
81424: LD_EXP 134
81428: PUSH
81429: LD_INT 1
81431: ARRAY
81432: PPUSH
81433: LD_STRING snake_aid1_M
81435: PPUSH
81436: CALL_OW 88
81440: GO 81458
// Say ( esc_drivers [ 1 ] , snake_aid1_F ) ;
81442: LD_EXP 134
81446: PUSH
81447: LD_INT 1
81449: ARRAY
81450: PPUSH
81451: LD_STRING snake_aid1_F
81453: PPUSH
81454: CALL_OW 88
// DialogueOff ;
81458: CALL_OW 7
// time = tick + 3 3$0 ;
81462: LD_ADDR_VAR 0 5
81466: PUSH
81467: LD_OWVAR 1
81471: PUSH
81472: LD_INT 6300
81474: PLUS
81475: ST_TO_ADDR
// repeat wait ( 0 0$1 ) ;
81476: LD_INT 35
81478: PPUSH
81479: CALL_OW 67
// if tick > time - 1 1$30 and said = 0 then
81483: LD_OWVAR 1
81487: PUSH
81488: LD_VAR 0 5
81492: PUSH
81493: LD_INT 3150
81495: MINUS
81496: GREATER
81497: PUSH
81498: LD_VAR 0 6
81502: PUSH
81503: LD_INT 0
81505: EQUAL
81506: AND
81507: IFFALSE 81570
// begin if GetSex ( esc_drivers [ 1 ] ) = sex_male then
81509: LD_EXP 134
81513: PUSH
81514: LD_INT 1
81516: ARRAY
81517: PPUSH
81518: CALL_OW 258
81522: PUSH
81523: LD_INT 1
81525: EQUAL
81526: IFFALSE 81546
// Say ( esc_drivers [ 1 ] , snake_aid2_M ) else
81528: LD_EXP 134
81532: PUSH
81533: LD_INT 1
81535: ARRAY
81536: PPUSH
81537: LD_STRING snake_aid2_M
81539: PPUSH
81540: CALL_OW 88
81544: GO 81562
// Say ( esc_drivers [ 1 ] , snake_aid2_F ) ;
81546: LD_EXP 134
81550: PUSH
81551: LD_INT 1
81553: ARRAY
81554: PPUSH
81555: LD_STRING snake_aid2_F
81557: PPUSH
81558: CALL_OW 88
// said = 1 ;
81562: LD_ADDR_VAR 0 6
81566: PUSH
81567: LD_INT 1
81569: ST_TO_ADDR
// end ; until unitfilter ( esc_drivers , [ f_driving ] ) = 0 or tick > time ;
81570: LD_EXP 134
81574: PPUSH
81575: LD_INT 55
81577: PUSH
81578: EMPTY
81579: LIST
81580: PPUSH
81581: CALL_OW 72
81585: PUSH
81586: LD_INT 0
81588: EQUAL
81589: PUSH
81590: LD_OWVAR 1
81594: PUSH
81595: LD_VAR 0 5
81599: GREATER
81600: OR
81601: IFFALSE 81476
// comexitvehicle ( esc_drivers ) ;
81603: LD_EXP 134
81607: PPUSH
81608: CALL_OW 121
// ar_paths = ar_paths ^ 0 ;
81612: LD_ADDR_EXP 135
81616: PUSH
81617: LD_EXP 135
81621: PUSH
81622: LD_INT 0
81624: ADD
81625: ST_TO_ADDR
// ar_grouptypes = ar_grouptypes ^ [ 5 ] ;
81626: LD_ADDR_EXP 136
81630: PUSH
81631: LD_EXP 136
81635: PUSH
81636: LD_INT 5
81638: PUSH
81639: EMPTY
81640: LIST
81641: ADD
81642: ST_TO_ADDR
// ar_groupstatus = ar_groupstatus ^ [ 0 ] ;
81643: LD_ADDR_EXP 137
81647: PUSH
81648: LD_EXP 137
81652: PUSH
81653: LD_INT 0
81655: PUSH
81656: EMPTY
81657: LIST
81658: ADD
81659: ST_TO_ADDR
// ar_grouphexcount = ar_grouphexcount ^ [ 0 ] ;
81660: LD_ADDR_EXP 138
81664: PUSH
81665: LD_EXP 138
81669: PUSH
81670: LD_INT 0
81672: PUSH
81673: EMPTY
81674: LIST
81675: ADD
81676: ST_TO_ADDR
// ar_groupfollowing = ar_groupfollowing ^ [ 0 ] ;
81677: LD_ADDR_EXP 139
81681: PUSH
81682: LD_EXP 139
81686: PUSH
81687: LD_INT 0
81689: PUSH
81690: EMPTY
81691: LIST
81692: ADD
81693: ST_TO_ADDR
// ar_targetlist = ar_targetlist ^ [ [ 0 , 0 ] ] ;
81694: LD_ADDR_EXP 140
81698: PUSH
81699: LD_EXP 140
81703: PUSH
81704: LD_INT 0
81706: PUSH
81707: LD_INT 0
81709: PUSH
81710: EMPTY
81711: LIST
81712: LIST
81713: PUSH
81714: EMPTY
81715: LIST
81716: ADD
81717: ST_TO_ADDR
// ar_dlg = ar_dlg ^ [ 0 ] ;
81718: LD_ADDR_EXP 143
81722: PUSH
81723: LD_EXP 143
81727: PUSH
81728: LD_INT 0
81730: PUSH
81731: EMPTY
81732: LIST
81733: ADD
81734: ST_TO_ADDR
// temp_list = [ ] ;
81735: LD_ADDR_VAR 0 4
81739: PUSH
81740: EMPTY
81741: ST_TO_ADDR
// for i in esc_drivers do
81742: LD_ADDR_VAR 0 2
81746: PUSH
81747: LD_EXP 134
81751: PUSH
81752: FOR_IN
81753: IFFALSE 81778
// temp_list = temp_list ^ GetLives ( i ) ;
81755: LD_ADDR_VAR 0 4
81759: PUSH
81760: LD_VAR 0 4
81764: PUSH
81765: LD_VAR 0 2
81769: PPUSH
81770: CALL_OW 256
81774: ADD
81775: ST_TO_ADDR
81776: GO 81752
81778: POP
81779: POP
// ar_liveslist = ar_liveslist ^ [ temp_list ] ;
81780: LD_ADDR_EXP 142
81784: PUSH
81785: LD_EXP 142
81789: PUSH
81790: LD_VAR 0 4
81794: PUSH
81795: EMPTY
81796: LIST
81797: ADD
81798: ST_TO_ADDR
// escaping_arabians = escaping_arabians ^ [ esc_drivers ] ;
81799: LD_ADDR_EXP 116
81803: PUSH
81804: LD_EXP 116
81808: PUSH
81809: LD_EXP 134
81813: PUSH
81814: EMPTY
81815: LIST
81816: ADD
81817: ST_TO_ADDR
// if GetSex ( esc_drivers [ 1 ] ) = sex_male then
81818: LD_EXP 134
81822: PUSH
81823: LD_INT 1
81825: ARRAY
81826: PPUSH
81827: CALL_OW 258
81831: PUSH
81832: LD_INT 1
81834: EQUAL
81835: IFFALSE 81855
// Say ( esc_drivers [ 1 ] , snake_aid3_M ) else
81837: LD_EXP 134
81841: PUSH
81842: LD_INT 1
81844: ARRAY
81845: PPUSH
81846: LD_STRING snake_aid3_M
81848: PPUSH
81849: CALL_OW 88
81853: GO 81871
// Say ( esc_drivers [ 1 ] , snake_aid3_F ) ;
81855: LD_EXP 134
81859: PUSH
81860: LD_INT 1
81862: ARRAY
81863: PPUSH
81864: LD_STRING snake_aid3_F
81866: PPUSH
81867: CALL_OW 88
// end ;
81871: PPOPN 6
81873: END
// export function EscDialogue ( esc ) ; var v , g ; begin
81874: LD_INT 0
81876: PPUSH
81877: PPUSH
81878: PPUSH
// Randomize ;
81879: CALL_OW 10
// case rand ( 1 , 3 ) of 1 :
81883: LD_INT 1
81885: PPUSH
81886: LD_INT 3
81888: PPUSH
81889: CALL_OW 12
81893: PUSH
81894: LD_INT 1
81896: DOUBLE
81897: EQUAL
81898: IFTRUE 81902
81900: GO 81913
81902: POP
// v = esc_join1_ ; 2 :
81903: LD_ADDR_VAR 0 3
81907: PUSH
81908: LD_STRING esc_join1_
81910: ST_TO_ADDR
81911: GO 81952
81913: LD_INT 2
81915: DOUBLE
81916: EQUAL
81917: IFTRUE 81921
81919: GO 81932
81921: POP
// v = esc_join2_ ; 3 :
81922: LD_ADDR_VAR 0 3
81926: PUSH
81927: LD_STRING esc_join2_
81929: ST_TO_ADDR
81930: GO 81952
81932: LD_INT 3
81934: DOUBLE
81935: EQUAL
81936: IFTRUE 81940
81938: GO 81951
81940: POP
// v = esc_join3_ ; end ;
81941: LD_ADDR_VAR 0 3
81945: PUSH
81946: LD_STRING esc_join3_
81948: ST_TO_ADDR
81949: GO 81952
81951: POP
// case GetSex ( esc ) of sex_male :
81952: LD_VAR 0 1
81956: PPUSH
81957: CALL_OW 258
81961: PUSH
81962: LD_INT 1
81964: DOUBLE
81965: EQUAL
81966: IFTRUE 81970
81968: GO 81981
81970: POP
// g = M ; sex_female :
81971: LD_ADDR_VAR 0 4
81975: PUSH
81976: LD_STRING M
81978: ST_TO_ADDR
81979: GO 82001
81981: LD_INT 2
81983: DOUBLE
81984: EQUAL
81985: IFTRUE 81989
81987: GO 82000
81989: POP
// g = F ; end ;
81990: LD_ADDR_VAR 0 4
81994: PUSH
81995: LD_STRING F
81997: ST_TO_ADDR
81998: GO 82001
82000: POP
// DialogueOn ;
82001: CALL_OW 6
// CenterOnUnits ( esc ) ;
82005: LD_VAR 0 1
82009: PPUSH
82010: CALL_OW 85
// Say ( esc , v & g & 1 ) ;
82014: LD_VAR 0 1
82018: PPUSH
82019: LD_VAR 0 3
82023: PUSH
82024: LD_VAR 0 4
82028: STR
82029: PUSH
82030: LD_STRING 1
82032: STR
82033: PPUSH
82034: CALL_OW 88
// if esc_dlg = 0 then
82038: LD_EXP 130
82042: PUSH
82043: LD_INT 0
82045: EQUAL
82046: IFFALSE 82092
// begin Say ( Heike , esc_join_He1 ) ;
82048: LD_EXP 87
82052: PPUSH
82053: LD_STRING esc_join_He1
82055: PPUSH
82056: CALL_OW 88
// Say ( esc , v & g & 2 ) ;
82060: LD_VAR 0 1
82064: PPUSH
82065: LD_VAR 0 3
82069: PUSH
82070: LD_VAR 0 4
82074: STR
82075: PUSH
82076: LD_STRING 2
82078: STR
82079: PPUSH
82080: CALL_OW 88
// esc_dlg = 1 ;
82084: LD_ADDR_EXP 130
82088: PUSH
82089: LD_INT 1
82091: ST_TO_ADDR
// end ; Say ( Heike , esc_join_He2 ) ;
82092: LD_EXP 87
82096: PPUSH
82097: LD_STRING esc_join_He2
82099: PPUSH
82100: CALL_OW 88
// if GetSex ( esc ) = sex_male then
82104: LD_VAR 0 1
82108: PPUSH
82109: CALL_OW 258
82113: PUSH
82114: LD_INT 1
82116: EQUAL
82117: IFFALSE 82133
// Say ( esc , esc_join_M ) else
82119: LD_VAR 0 1
82123: PPUSH
82124: LD_STRING esc_join_M
82126: PPUSH
82127: CALL_OW 88
82131: GO 82145
// Say ( esc , esc_join_F ) ;
82133: LD_VAR 0 1
82137: PPUSH
82138: LD_STRING esc_join_F
82140: PPUSH
82141: CALL_OW 88
// DialogueOff ;
82145: CALL_OW 7
// SetSide ( esc , 2 ) ;
82149: LD_VAR 0 1
82153: PPUSH
82154: LD_INT 2
82156: PPUSH
82157: CALL_OW 235
// if getlives ( esc ) < 250 then
82161: LD_VAR 0 1
82165: PPUSH
82166: CALL_OW 256
82170: PUSH
82171: LD_INT 250
82173: LESS
82174: IFFALSE 82188
// setlives ( esc , 251 ) ;
82176: LD_VAR 0 1
82180: PPUSH
82181: LD_INT 251
82183: PPUSH
82184: CALL_OW 234
// end ;
82188: LD_VAR 0 2
82192: RET
// every 0 0$1 trigger tick > 22 22$0 do var i , temp , character , un_list , line_list , veh ;
82193: LD_OWVAR 1
82197: PUSH
82198: LD_INT 46200
82200: GREATER
82201: IFFALSE 82653
82203: GO 82205
82205: DISABLE
82206: LD_INT 0
82208: PPUSH
82209: PPUSH
82210: PPUSH
82211: PPUSH
82212: PPUSH
82213: PPUSH
// begin Randomize ;
82214: CALL_OW 10
// un_list = [ Oswald , Olaf , Sonya , Ralph , Kowalski , Aviradze , Swansson , Dwayne , Khattam , Evelyn , Chrissy ] ;
82218: LD_ADDR_VAR 0 4
82222: PUSH
82223: LD_EXP 88
82227: PUSH
82228: LD_EXP 89
82232: PUSH
82233: LD_EXP 90
82237: PUSH
82238: LD_EXP 91
82242: PUSH
82243: LD_EXP 92
82247: PUSH
82248: LD_EXP 93
82252: PUSH
82253: LD_EXP 94
82257: PUSH
82258: LD_EXP 95
82262: PUSH
82263: LD_EXP 96
82267: PUSH
82268: LD_EXP 97
82272: PUSH
82273: LD_EXP 103
82277: PUSH
82278: EMPTY
82279: LIST
82280: LIST
82281: LIST
82282: LIST
82283: LIST
82284: LIST
82285: LIST
82286: LIST
82287: LIST
82288: LIST
82289: LIST
82290: ST_TO_ADDR
// line_list = [ Os , Olaf , So , Ra , Ko , Av , Sw , Dw , Kh , Ev , Ch ] ;
82291: LD_ADDR_VAR 0 5
82295: PUSH
82296: LD_STRING Os
82298: PUSH
82299: LD_STRING Olaf
82301: PUSH
82302: LD_STRING So
82304: PUSH
82305: LD_STRING Ra
82307: PUSH
82308: LD_STRING Ko
82310: PUSH
82311: LD_STRING Av
82313: PUSH
82314: LD_STRING Sw
82316: PUSH
82317: LD_STRING Dw
82319: PUSH
82320: LD_STRING Kh
82322: PUSH
82323: LD_STRING Ev
82325: PUSH
82326: LD_STRING Ch
82328: PUSH
82329: EMPTY
82330: LIST
82331: LIST
82332: LIST
82333: LIST
82334: LIST
82335: LIST
82336: LIST
82337: LIST
82338: LIST
82339: LIST
82340: LIST
82341: ST_TO_ADDR
// for i = 1 to un_list do
82342: LD_ADDR_VAR 0 1
82346: PUSH
82347: DOUBLE
82348: LD_INT 1
82350: DEC
82351: ST_TO_ADDR
82352: LD_VAR 0 4
82356: PUSH
82357: FOR_TO
82358: IFFALSE 82396
// if un_list [ i ] = joining_main then
82360: LD_VAR 0 4
82364: PUSH
82365: LD_VAR 0 1
82369: ARRAY
82370: PUSH
82371: LD_EXP 131
82375: EQUAL
82376: IFFALSE 82394
// character = line_list [ i ] ;
82378: LD_ADDR_VAR 0 3
82382: PUSH
82383: LD_VAR 0 5
82387: PUSH
82388: LD_VAR 0 1
82392: ARRAY
82393: ST_TO_ADDR
82394: GO 82357
82396: POP
82397: POP
// uc_side = 2 ;
82398: LD_ADDR_OWVAR 20
82402: PUSH
82403: LD_INT 2
82405: ST_TO_ADDR
// uc_nation = nation_arabian ;
82406: LD_ADDR_OWVAR 21
82410: PUSH
82411: LD_INT 2
82413: ST_TO_ADDR
// vc_weapon = [ ar_gun , ar_rocket_launcher ] [ rand ( 1 , 2 ) ] ;
82414: LD_ADDR_OWVAR 40
82418: PUSH
82419: LD_INT 27
82421: PUSH
82422: LD_INT 28
82424: PUSH
82425: EMPTY
82426: LIST
82427: LIST
82428: PUSH
82429: LD_INT 1
82431: PPUSH
82432: LD_INT 2
82434: PPUSH
82435: CALL_OW 12
82439: ARRAY
82440: ST_TO_ADDR
// vc_chassis = ar_half_tracked ;
82441: LD_ADDR_OWVAR 37
82445: PUSH
82446: LD_INT 14
82448: ST_TO_ADDR
// vc_engine = engine_siberite ;
82449: LD_ADDR_OWVAR 39
82453: PUSH
82454: LD_INT 3
82456: ST_TO_ADDR
// vc_control = control_manual ;
82457: LD_ADDR_OWVAR 38
82461: PUSH
82462: LD_INT 1
82464: ST_TO_ADDR
// veh = CreateVehicle ;
82465: LD_ADDR_VAR 0 6
82469: PUSH
82470: CALL_OW 45
82474: ST_TO_ADDR
// SetLives ( veh , rand ( 300 , 450 ) ) ;
82475: LD_VAR 0 6
82479: PPUSH
82480: LD_INT 300
82482: PPUSH
82483: LD_INT 450
82485: PPUSH
82486: CALL_OW 12
82490: PPUSH
82491: CALL_OW 234
// PlaceUnitArea ( veh , esc_main , false ) ;
82495: LD_VAR 0 6
82499: PPUSH
82500: LD_INT 50
82502: PPUSH
82503: LD_INT 0
82505: PPUSH
82506: CALL_OW 49
// PlaceHumanInUnit ( joining_main , veh ) ;
82510: LD_EXP 131
82514: PPUSH
82515: LD_VAR 0 6
82519: PPUSH
82520: CALL_OW 52
// DialogueOn ;
82524: CALL_OW 6
// CenterOnUnits ( veh ) ;
82528: LD_VAR 0 6
82532: PPUSH
82533: CALL_OW 85
// Say ( joining_main , esc_main_ & character & 1 ) ;
82537: LD_EXP 131
82541: PPUSH
82542: LD_STRING esc_main_
82544: PUSH
82545: LD_VAR 0 3
82549: STR
82550: PUSH
82551: LD_STRING 1
82553: STR
82554: PPUSH
82555: CALL_OW 88
// Say ( Heike , esc_main_He1 ) ;
82559: LD_EXP 87
82563: PPUSH
82564: LD_STRING esc_main_He1
82566: PPUSH
82567: CALL_OW 88
// Say ( joining_main , esc_main_ & character & 2 ) ;
82571: LD_EXP 131
82575: PPUSH
82576: LD_STRING esc_main_
82578: PUSH
82579: LD_VAR 0 3
82583: STR
82584: PUSH
82585: LD_STRING 2
82587: STR
82588: PPUSH
82589: CALL_OW 88
// Say ( joining_main , esc_main_ & character & 3 ) ;
82593: LD_EXP 131
82597: PPUSH
82598: LD_STRING esc_main_
82600: PUSH
82601: LD_VAR 0 3
82605: STR
82606: PUSH
82607: LD_STRING 3
82609: STR
82610: PPUSH
82611: CALL_OW 88
// Say ( Heike , esc_main_He2 ) ;
82615: LD_EXP 87
82619: PPUSH
82620: LD_STRING esc_main_He2
82622: PPUSH
82623: CALL_OW 88
// Say ( joining_main , esc_main_ & character & 4 ) ;
82627: LD_EXP 131
82631: PPUSH
82632: LD_STRING esc_main_
82634: PUSH
82635: LD_VAR 0 3
82639: STR
82640: PUSH
82641: LD_STRING 4
82643: STR
82644: PPUSH
82645: CALL_OW 88
// DialogueOff ;
82649: CALL_OW 7
// end ;
82653: PPOPN 6
82655: END
// every 0 0$1 trigger number_of_Ar5_groups_to_go < 1 and escaping_arabians = 0 do var temp ;
82656: LD_EXP 123
82660: PUSH
82661: LD_INT 1
82663: LESS
82664: PUSH
82665: LD_EXP 116
82669: PUSH
82670: LD_INT 0
82672: EQUAL
82673: AND
82674: IFFALSE 82904
82676: GO 82678
82678: DISABLE
82679: LD_INT 0
82681: PPUSH
// begin DialogueOn ;
82682: CALL_OW 6
// sayradio ( scout , res_sc1 ) ;
82686: LD_EXP 100
82690: PPUSH
82691: LD_STRING res_sc1
82693: PPUSH
82694: CALL_OW 94
// if escapees_dead = 0 then
82698: LD_EXP 125
82702: PUSH
82703: LD_INT 0
82705: EQUAL
82706: IFFALSE 82730
// begin say ( Heike , res_He1 ) ;
82708: LD_EXP 87
82712: PPUSH
82713: LD_STRING res_He1
82715: PPUSH
82716: CALL_OW 88
// RescueStatus = 2 ;
82720: LD_ADDR_EXP 149
82724: PUSH
82725: LD_INT 2
82727: ST_TO_ADDR
// end else
82728: GO 82850
// if escapees_dead < [ 11 , 7 , 3 ] [ difficulty ] then
82730: LD_EXP 125
82734: PUSH
82735: LD_INT 11
82737: PUSH
82738: LD_INT 7
82740: PUSH
82741: LD_INT 3
82743: PUSH
82744: EMPTY
82745: LIST
82746: LIST
82747: LIST
82748: PUSH
82749: LD_OWVAR 67
82753: ARRAY
82754: LESS
82755: IFFALSE 82779
// begin say ( Heike , res_He1 ) ;
82757: LD_EXP 87
82761: PPUSH
82762: LD_STRING res_He1
82764: PPUSH
82765: CALL_OW 88
// RescueStatus = 1 ;
82769: LD_ADDR_EXP 149
82773: PUSH
82774: LD_INT 1
82776: ST_TO_ADDR
// end else
82777: GO 82850
// if escapees_dead < [ 21 , 14 , 5 ] [ difficulty ] then
82779: LD_EXP 125
82783: PUSH
82784: LD_INT 21
82786: PUSH
82787: LD_INT 14
82789: PUSH
82790: LD_INT 5
82792: PUSH
82793: EMPTY
82794: LIST
82795: LIST
82796: LIST
82797: PUSH
82798: LD_OWVAR 67
82802: ARRAY
82803: LESS
82804: IFFALSE 82829
// begin say ( Heike , res_He2 ) ;
82806: LD_EXP 87
82810: PPUSH
82811: LD_STRING res_He2
82813: PPUSH
82814: CALL_OW 88
// RescueStatus = - 1 ;
82818: LD_ADDR_EXP 149
82822: PUSH
82823: LD_INT 1
82825: NEG
82826: ST_TO_ADDR
// end else
82827: GO 82850
// begin say ( Heike , res_He2 ) ;
82829: LD_EXP 87
82833: PPUSH
82834: LD_STRING res_He2
82836: PPUSH
82837: CALL_OW 88
// RescueStatus = - 2 ;
82841: LD_ADDR_EXP 149
82845: PUSH
82846: LD_INT 2
82848: NEG
82849: ST_TO_ADDR
// end ; sayradio ( Abdul , res_Ab1 ) ;
82850: LD_EXP 98
82854: PPUSH
82855: LD_STRING res_Ab1
82857: PPUSH
82858: CALL_OW 94
// say ( Heike , res_He3 ) ;
82862: LD_EXP 87
82866: PPUSH
82867: LD_STRING res_He3
82869: PPUSH
82870: CALL_OW 88
// sayradio ( scout , res_sc2 ) ;
82874: LD_EXP 100
82878: PPUSH
82879: LD_STRING res_sc2
82881: PPUSH
82882: CALL_OW 94
// DialogueOff ;
82886: CALL_OW 7
// wait ( 0 0$0.2 ) ;
82890: LD_INT 7
82892: PPUSH
82893: CALL_OW 67
// ChangeMissionObjectives ( maingoals3 ) ;
82897: LD_STRING maingoals3
82899: PPUSH
82900: CALL_OW 337
// end ;
82904: PPOPN 1
82906: END
// every 0 0$1 trigger isplaced ( omar ) and getside ( omar ) = 2 marked 1 do
82907: LD_EXP 99
82911: PPUSH
82912: CALL_OW 305
82916: PUSH
82917: LD_EXP 99
82921: PPUSH
82922: CALL_OW 255
82926: PUSH
82927: LD_INT 2
82929: EQUAL
82930: AND
82931: IFFALSE 83048
82933: GO 82935
82935: DISABLE
// begin centeronunits ( mastodon ) ;
82936: LD_EXP 207
82940: PPUSH
82941: CALL_OW 85
// music_nat = 4 ;
82945: LD_ADDR_OWVAR 71
82949: PUSH
82950: LD_INT 4
82952: ST_TO_ADDR
// say ( omar , om_om1 ) ;
82953: LD_EXP 99
82957: PPUSH
82958: LD_STRING om_om1
82960: PPUSH
82961: CALL_OW 88
// say ( heike , om_he1 ) ;
82965: LD_EXP 87
82969: PPUSH
82970: LD_STRING om_he1
82972: PPUSH
82973: CALL_OW 88
// say ( omar , om_om2 ) ;
82977: LD_EXP 99
82981: PPUSH
82982: LD_STRING om_om2
82984: PPUSH
82985: CALL_OW 88
// say ( heike , om_he2 ) ;
82989: LD_EXP 87
82993: PPUSH
82994: LD_STRING om_he2
82996: PPUSH
82997: CALL_OW 88
// if IsLive ( Aviradze ) then
83001: LD_EXP 93
83005: PPUSH
83006: CALL_OW 300
83010: IFFALSE 83024
// say ( Aviradze , Om_Av1 ) ;
83012: LD_EXP 93
83016: PPUSH
83017: LD_STRING Om_Av1
83019: PPUSH
83020: CALL_OW 88
// say ( heike , om_he3 ) ;
83024: LD_EXP 87
83028: PPUSH
83029: LD_STRING om_he3
83031: PPUSH
83032: CALL_OW 88
// say ( omar , om_om3 ) ;
83036: LD_EXP 99
83040: PPUSH
83041: LD_STRING om_om3
83043: PPUSH
83044: CALL_OW 88
// end ;
83048: END
// every 0 0$1 trigger Legion > 0 do var temp , temp_list , temp_list2 , placed_characters , i , temp_val , un_list , line_list ;
83049: LD_EXP 150
83053: PUSH
83054: LD_INT 0
83056: GREATER
83057: IFFALSE 83723
83059: GO 83061
83061: DISABLE
83062: LD_INT 0
83064: PPUSH
83065: PPUSH
83066: PPUSH
83067: PPUSH
83068: PPUSH
83069: PPUSH
83070: PPUSH
83071: PPUSH
// begin repeat wait ( 0 0$1 ) ;
83072: LD_INT 35
83074: PPUSH
83075: CALL_OW 67
// if difficulty = 1 then
83079: LD_OWVAR 67
83083: PUSH
83084: LD_INT 1
83086: EQUAL
83087: IFFALSE 83134
// begin for i in Legion do
83089: LD_ADDR_VAR 0 5
83093: PUSH
83094: LD_EXP 150
83098: PUSH
83099: FOR_IN
83100: IFFALSE 83130
// if see ( 2 , i ) then
83102: LD_INT 2
83104: PPUSH
83105: LD_VAR 0 5
83109: PPUSH
83110: CALL_OW 292
83114: IFFALSE 83128
// begin temp = i ;
83116: LD_ADDR_VAR 0 1
83120: PUSH
83121: LD_VAR 0 5
83125: ST_TO_ADDR
// break ;
83126: GO 83130
// end ;
83128: GO 83099
83130: POP
83131: POP
// end else
83132: GO 83193
// for i in filterallunits ( [ f_side , 2 ] ) do
83134: LD_ADDR_VAR 0 5
83138: PUSH
83139: LD_INT 22
83141: PUSH
83142: LD_INT 2
83144: PUSH
83145: EMPTY
83146: LIST
83147: LIST
83148: PPUSH
83149: CALL_OW 69
83153: PUSH
83154: FOR_IN
83155: IFFALSE 83191
// if getside ( unitshoot ( i ) ) = 8 then
83157: LD_VAR 0 5
83161: PPUSH
83162: CALL_OW 504
83166: PPUSH
83167: CALL_OW 255
83171: PUSH
83172: LD_INT 8
83174: EQUAL
83175: IFFALSE 83189
// begin temp = i ;
83177: LD_ADDR_VAR 0 1
83181: PUSH
83182: LD_VAR 0 5
83186: ST_TO_ADDR
// break ;
83187: GO 83191
// end ;
83189: GO 83154
83191: POP
83192: POP
// until temp > 0 ;
83193: LD_VAR 0 1
83197: PUSH
83198: LD_INT 0
83200: GREATER
83201: IFFALSE 83072
// dialogueon ;
83203: CALL_OW 6
// centeronunits ( i ) ;
83207: LD_VAR 0 5
83211: PPUSH
83212: CALL_OW 85
// say ( Heike , Le1_He1 ) ;
83216: LD_EXP 87
83220: PPUSH
83221: LD_STRING Le1_He1
83223: PPUSH
83224: CALL_OW 88
// dialogueoff ;
83228: CALL_OW 7
// Wait ( 0 0$3 ) ;
83232: LD_INT 105
83234: PPUSH
83235: CALL_OW 67
// un_list = [ Oswald , Olaf , Sonya , Ralph , Kowalski , Aviradze , Swansson , Dwayne , Khattam , Evelyn , Chrissy , Soldier ] ;
83239: LD_ADDR_VAR 0 7
83243: PUSH
83244: LD_EXP 88
83248: PUSH
83249: LD_EXP 89
83253: PUSH
83254: LD_EXP 90
83258: PUSH
83259: LD_EXP 91
83263: PUSH
83264: LD_EXP 92
83268: PUSH
83269: LD_EXP 93
83273: PUSH
83274: LD_EXP 94
83278: PUSH
83279: LD_EXP 95
83283: PUSH
83284: LD_EXP 96
83288: PUSH
83289: LD_EXP 97
83293: PUSH
83294: LD_EXP 103
83298: PUSH
83299: LD_EXP 110
83303: PUSH
83304: EMPTY
83305: LIST
83306: LIST
83307: LIST
83308: LIST
83309: LIST
83310: LIST
83311: LIST
83312: LIST
83313: LIST
83314: LIST
83315: LIST
83316: LIST
83317: ST_TO_ADDR
// if getsex ( soldier ) = sex_male then
83318: LD_EXP 110
83322: PPUSH
83323: CALL_OW 258
83327: PUSH
83328: LD_INT 1
83330: EQUAL
83331: IFFALSE 83390
// line_list = [ Os , Olaf , So , Ra , Ko , Av , Sw , Dw , Kh , Ev , Ch , SomeM ] else
83333: LD_ADDR_VAR 0 8
83337: PUSH
83338: LD_STRING Os
83340: PUSH
83341: LD_STRING Olaf
83343: PUSH
83344: LD_STRING So
83346: PUSH
83347: LD_STRING Ra
83349: PUSH
83350: LD_STRING Ko
83352: PUSH
83353: LD_STRING Av
83355: PUSH
83356: LD_STRING Sw
83358: PUSH
83359: LD_STRING Dw
83361: PUSH
83362: LD_STRING Kh
83364: PUSH
83365: LD_STRING Ev
83367: PUSH
83368: LD_STRING Ch
83370: PUSH
83371: LD_STRING SomeM
83373: PUSH
83374: EMPTY
83375: LIST
83376: LIST
83377: LIST
83378: LIST
83379: LIST
83380: LIST
83381: LIST
83382: LIST
83383: LIST
83384: LIST
83385: LIST
83386: LIST
83387: ST_TO_ADDR
83388: GO 83445
// line_list = [ Os , Olaf , So , Ra , Ko , Av , Sw , Dw , Kh , Ev , Ch , SomeF ] ;
83390: LD_ADDR_VAR 0 8
83394: PUSH
83395: LD_STRING Os
83397: PUSH
83398: LD_STRING Olaf
83400: PUSH
83401: LD_STRING So
83403: PUSH
83404: LD_STRING Ra
83406: PUSH
83407: LD_STRING Ko
83409: PUSH
83410: LD_STRING Av
83412: PUSH
83413: LD_STRING Sw
83415: PUSH
83416: LD_STRING Dw
83418: PUSH
83419: LD_STRING Kh
83421: PUSH
83422: LD_STRING Ev
83424: PUSH
83425: LD_STRING Ch
83427: PUSH
83428: LD_STRING SomeF
83430: PUSH
83431: EMPTY
83432: LIST
83433: LIST
83434: LIST
83435: LIST
83436: LIST
83437: LIST
83438: LIST
83439: LIST
83440: LIST
83441: LIST
83442: LIST
83443: LIST
83444: ST_TO_ADDR
// temp = 0 ;
83445: LD_ADDR_VAR 0 1
83449: PUSH
83450: LD_INT 0
83452: ST_TO_ADDR
// repeat temp_val = rand ( 1 , un_list ) ;
83453: LD_ADDR_VAR 0 6
83457: PUSH
83458: LD_INT 1
83460: PPUSH
83461: LD_VAR 0 7
83465: PPUSH
83466: CALL_OW 12
83470: ST_TO_ADDR
// if isplaced ( un_list [ temp_val ] ) then
83471: LD_VAR 0 7
83475: PUSH
83476: LD_VAR 0 6
83480: ARRAY
83481: PPUSH
83482: CALL_OW 305
83486: IFFALSE 83542
// if Say ( un_list [ temp_val ] , Le1_ & line_list [ temp_val ] & 1 ) > 0 then
83488: LD_VAR 0 7
83492: PUSH
83493: LD_VAR 0 6
83497: ARRAY
83498: PPUSH
83499: LD_STRING Le1_
83501: PUSH
83502: LD_VAR 0 8
83506: PUSH
83507: LD_VAR 0 6
83511: ARRAY
83512: STR
83513: PUSH
83514: LD_STRING 1
83516: STR
83517: PPUSH
83518: CALL_OW 88
83522: PUSH
83523: LD_INT 0
83525: GREATER
83526: IFFALSE 83542
// temp = temp + 1 ;
83528: LD_ADDR_VAR 0 1
83532: PUSH
83533: LD_VAR 0 1
83537: PUSH
83538: LD_INT 1
83540: PLUS
83541: ST_TO_ADDR
// un_list = delete ( un_list , temp_val ) ;
83542: LD_ADDR_VAR 0 7
83546: PUSH
83547: LD_VAR 0 7
83551: PPUSH
83552: LD_VAR 0 6
83556: PPUSH
83557: CALL_OW 3
83561: ST_TO_ADDR
// line_list = delete ( line_list , temp_val ) ;
83562: LD_ADDR_VAR 0 8
83566: PUSH
83567: LD_VAR 0 8
83571: PPUSH
83572: LD_VAR 0 6
83576: PPUSH
83577: CALL_OW 3
83581: ST_TO_ADDR
// until temp = 2 or un_list = 0 ;
83582: LD_VAR 0 1
83586: PUSH
83587: LD_INT 2
83589: EQUAL
83590: PUSH
83591: LD_VAR 0 7
83595: PUSH
83596: LD_INT 0
83598: EQUAL
83599: OR
83600: IFFALSE 83453
// repeat wait ( 0 0$1 ) ;
83602: LD_INT 35
83604: PPUSH
83605: CALL_OW 67
// until Legion = 0 ;
83609: LD_EXP 150
83613: PUSH
83614: LD_INT 0
83616: EQUAL
83617: IFFALSE 83602
// dialogueon ;
83619: CALL_OW 6
// say ( Heike , Le1_He2 ) ;
83623: LD_EXP 87
83627: PPUSH
83628: LD_STRING Le1_He2
83630: PPUSH
83631: CALL_OW 88
// sayradio ( Gensher , Le1_Ge1 ) ;
83635: LD_EXP 101
83639: PPUSH
83640: LD_STRING Le1_Ge1
83642: PPUSH
83643: CALL_OW 94
// say ( Heike , Le1_He3 ) ;
83647: LD_EXP 87
83651: PPUSH
83652: LD_STRING Le1_He3
83654: PPUSH
83655: CALL_OW 88
// sayradio ( Gensher , Le1_Ge2 ) ;
83659: LD_EXP 101
83663: PPUSH
83664: LD_STRING Le1_Ge2
83666: PPUSH
83667: CALL_OW 94
// say ( Heike , Le1_He4 ) ;
83671: LD_EXP 87
83675: PPUSH
83676: LD_STRING Le1_He4
83678: PPUSH
83679: CALL_OW 88
// sayradio ( Gensher , Le1_Ge3 ) ;
83683: LD_EXP 101
83687: PPUSH
83688: LD_STRING Le1_Ge3
83690: PPUSH
83691: CALL_OW 94
// say ( Heike , Le1_He5 ) ;
83695: LD_EXP 87
83699: PPUSH
83700: LD_STRING Le1_He5
83702: PPUSH
83703: CALL_OW 88
// say ( Heike , Le1_He6 ) ;
83707: LD_EXP 87
83711: PPUSH
83712: LD_STRING Le1_He6
83714: PPUSH
83715: CALL_OW 88
// dialogueoff ;
83719: CALL_OW 7
// end ;
83723: PPOPN 8
83725: END
// every 0 0$1 trigger prisonersattacked = 1 do var temp , temp_list , temp_list2 , temp_val , un_list , line_list , i ;
83726: LD_EXP 181
83730: PUSH
83731: LD_INT 1
83733: EQUAL
83734: IFFALSE 84147
83736: GO 83738
83738: DISABLE
83739: LD_INT 0
83741: PPUSH
83742: PPUSH
83743: PPUSH
83744: PPUSH
83745: PPUSH
83746: PPUSH
83747: PPUSH
// begin dialogueon ;
83748: CALL_OW 6
// centernowonunits ( prisoners ) ;
83752: LD_EXP 171
83756: PPUSH
83757: CALL_OW 87
// say ( heike , Le2_He1 ) ;
83761: LD_EXP 87
83765: PPUSH
83766: LD_STRING Le2_He1
83768: PPUSH
83769: CALL_OW 88
// dialogueoff ;
83773: CALL_OW 7
// Wait ( 0 0$3 ) ;
83777: LD_INT 105
83779: PPUSH
83780: CALL_OW 67
// un_list = [ Oswald , Olaf , Sonya , Ralph , Kowalski , Aviradze , Swansson , Dwayne , Khattam , Evelyn , Chrissy , Soldier ] ;
83784: LD_ADDR_VAR 0 5
83788: PUSH
83789: LD_EXP 88
83793: PUSH
83794: LD_EXP 89
83798: PUSH
83799: LD_EXP 90
83803: PUSH
83804: LD_EXP 91
83808: PUSH
83809: LD_EXP 92
83813: PUSH
83814: LD_EXP 93
83818: PUSH
83819: LD_EXP 94
83823: PUSH
83824: LD_EXP 95
83828: PUSH
83829: LD_EXP 96
83833: PUSH
83834: LD_EXP 97
83838: PUSH
83839: LD_EXP 103
83843: PUSH
83844: LD_EXP 110
83848: PUSH
83849: EMPTY
83850: LIST
83851: LIST
83852: LIST
83853: LIST
83854: LIST
83855: LIST
83856: LIST
83857: LIST
83858: LIST
83859: LIST
83860: LIST
83861: LIST
83862: ST_TO_ADDR
// if getsex ( soldier ) = sex_male then
83863: LD_EXP 110
83867: PPUSH
83868: CALL_OW 258
83872: PUSH
83873: LD_INT 1
83875: EQUAL
83876: IFFALSE 83935
// line_list = [ Os , Olaf , So , Ra , Ko , Av , Sw , Dw , Kh , Ev , Ch , SomeM ] else
83878: LD_ADDR_VAR 0 6
83882: PUSH
83883: LD_STRING Os
83885: PUSH
83886: LD_STRING Olaf
83888: PUSH
83889: LD_STRING So
83891: PUSH
83892: LD_STRING Ra
83894: PUSH
83895: LD_STRING Ko
83897: PUSH
83898: LD_STRING Av
83900: PUSH
83901: LD_STRING Sw
83903: PUSH
83904: LD_STRING Dw
83906: PUSH
83907: LD_STRING Kh
83909: PUSH
83910: LD_STRING Ev
83912: PUSH
83913: LD_STRING Ch
83915: PUSH
83916: LD_STRING SomeM
83918: PUSH
83919: EMPTY
83920: LIST
83921: LIST
83922: LIST
83923: LIST
83924: LIST
83925: LIST
83926: LIST
83927: LIST
83928: LIST
83929: LIST
83930: LIST
83931: LIST
83932: ST_TO_ADDR
83933: GO 83990
// line_list = [ Os , Olaf , So , Ra , Ko , Av , Sw , Dw , Kh , Ev , Ch , SomeF ] ;
83935: LD_ADDR_VAR 0 6
83939: PUSH
83940: LD_STRING Os
83942: PUSH
83943: LD_STRING Olaf
83945: PUSH
83946: LD_STRING So
83948: PUSH
83949: LD_STRING Ra
83951: PUSH
83952: LD_STRING Ko
83954: PUSH
83955: LD_STRING Av
83957: PUSH
83958: LD_STRING Sw
83960: PUSH
83961: LD_STRING Dw
83963: PUSH
83964: LD_STRING Kh
83966: PUSH
83967: LD_STRING Ev
83969: PUSH
83970: LD_STRING Ch
83972: PUSH
83973: LD_STRING SomeF
83975: PUSH
83976: EMPTY
83977: LIST
83978: LIST
83979: LIST
83980: LIST
83981: LIST
83982: LIST
83983: LIST
83984: LIST
83985: LIST
83986: LIST
83987: LIST
83988: LIST
83989: ST_TO_ADDR
// temp = 0 ;
83990: LD_ADDR_VAR 0 1
83994: PUSH
83995: LD_INT 0
83997: ST_TO_ADDR
// repeat temp_val = rand ( 1 , un_list ) ;
83998: LD_ADDR_VAR 0 4
84002: PUSH
84003: LD_INT 1
84005: PPUSH
84006: LD_VAR 0 5
84010: PPUSH
84011: CALL_OW 12
84015: ST_TO_ADDR
// if isplaced ( un_list [ temp_val ] ) then
84016: LD_VAR 0 5
84020: PUSH
84021: LD_VAR 0 4
84025: ARRAY
84026: PPUSH
84027: CALL_OW 305
84031: IFFALSE 84087
// if Say ( un_list [ temp_val ] , Le2_ & line_list [ temp_val ] & 1 ) > 0 then
84033: LD_VAR 0 5
84037: PUSH
84038: LD_VAR 0 4
84042: ARRAY
84043: PPUSH
84044: LD_STRING Le2_
84046: PUSH
84047: LD_VAR 0 6
84051: PUSH
84052: LD_VAR 0 4
84056: ARRAY
84057: STR
84058: PUSH
84059: LD_STRING 1
84061: STR
84062: PPUSH
84063: CALL_OW 88
84067: PUSH
84068: LD_INT 0
84070: GREATER
84071: IFFALSE 84087
// temp = temp + 1 ;
84073: LD_ADDR_VAR 0 1
84077: PUSH
84078: LD_VAR 0 1
84082: PUSH
84083: LD_INT 1
84085: PLUS
84086: ST_TO_ADDR
// un_list = delete ( un_list , temp_val ) ;
84087: LD_ADDR_VAR 0 5
84091: PUSH
84092: LD_VAR 0 5
84096: PPUSH
84097: LD_VAR 0 4
84101: PPUSH
84102: CALL_OW 3
84106: ST_TO_ADDR
// line_list = delete ( line_list , temp_val ) ;
84107: LD_ADDR_VAR 0 6
84111: PUSH
84112: LD_VAR 0 6
84116: PPUSH
84117: LD_VAR 0 4
84121: PPUSH
84122: CALL_OW 3
84126: ST_TO_ADDR
// until temp = 2 or un_list = 0 ;
84127: LD_VAR 0 1
84131: PUSH
84132: LD_INT 2
84134: EQUAL
84135: PUSH
84136: LD_VAR 0 5
84140: PUSH
84141: LD_INT 0
84143: EQUAL
84144: OR
84145: IFFALSE 83998
// end ;
84147: PPOPN 7
84149: END
// every 0 0$1 trigger escapees_dead > [ 24 , 14 , 5 ] [ difficulty ] do var temp_sol ;
84150: LD_EXP 125
84154: PUSH
84155: LD_INT 24
84157: PUSH
84158: LD_INT 14
84160: PUSH
84161: LD_INT 5
84163: PUSH
84164: EMPTY
84165: LIST
84166: LIST
84167: LIST
84168: PUSH
84169: LD_OWVAR 67
84173: ARRAY
84174: GREATER
84175: IFFALSE 84254
84177: GO 84179
84179: DISABLE
84180: LD_INT 0
84182: PPUSH
// begin InitHc ;
84183: CALL_OW 19
// uc_side = 5 ;
84187: LD_ADDR_OWVAR 20
84191: PUSH
84192: LD_INT 5
84194: ST_TO_ADDR
// uc_nation = nation_arabian ;
84195: LD_ADDR_OWVAR 21
84199: PUSH
84200: LD_INT 2
84202: ST_TO_ADDR
// hc_sex = sex_female ;
84203: LD_ADDR_OWVAR 27
84207: PUSH
84208: LD_INT 2
84210: ST_TO_ADDR
// temp_sol = createhuman ;
84211: LD_ADDR_VAR 0 1
84215: PUSH
84216: CALL_OW 44
84220: ST_TO_ADDR
// SayRadioNoName ( temp_sol , loss_SomeF1 ) ;
84221: LD_VAR 0 1
84225: PPUSH
84226: LD_STRING loss_SomeF1
84228: PPUSH
84229: CALL_OW 95
// Say ( Heike , loss_H1 ) ;
84233: LD_EXP 87
84237: PPUSH
84238: LD_STRING loss_H1
84240: PPUSH
84241: CALL_OW 88
// destroyunit ( temp_sol ) ;
84245: LD_VAR 0 1
84249: PPUSH
84250: CALL_OW 65
// end ;
84254: PPOPN 1
84256: END
// every 0 0$0.02 trigger escaping_arabians > 0 do var i , j , temp_list1 , temp_list2 ;
84257: LD_EXP 116
84261: PUSH
84262: LD_INT 0
84264: GREATER
84265: IFFALSE 84742
84267: GO 84269
84269: DISABLE
84270: LD_INT 0
84272: PPUSH
84273: PPUSH
84274: PPUSH
84275: PPUSH
// begin temp_list1 = [ ] ;
84276: LD_ADDR_VAR 0 3
84280: PUSH
84281: EMPTY
84282: ST_TO_ADDR
// temp_list2 = [ ] ;
84283: LD_ADDR_VAR 0 4
84287: PUSH
84288: EMPTY
84289: ST_TO_ADDR
// for i = 1 to escaping_arabians do
84290: LD_ADDR_VAR 0 1
84294: PUSH
84295: DOUBLE
84296: LD_INT 1
84298: DEC
84299: ST_TO_ADDR
84300: LD_EXP 116
84304: PUSH
84305: FOR_TO
84306: IFFALSE 84390
// begin for j = 1 to escaping_arabians [ i ] do
84308: LD_ADDR_VAR 0 2
84312: PUSH
84313: DOUBLE
84314: LD_INT 1
84316: DEC
84317: ST_TO_ADDR
84318: LD_EXP 116
84322: PUSH
84323: LD_VAR 0 1
84327: ARRAY
84328: PUSH
84329: FOR_TO
84330: IFFALSE 84367
// temp_list2 = temp_list2 ^ getlives ( escaping_arabians [ i ] [ j ] ) ;
84332: LD_ADDR_VAR 0 4
84336: PUSH
84337: LD_VAR 0 4
84341: PUSH
84342: LD_EXP 116
84346: PUSH
84347: LD_VAR 0 1
84351: ARRAY
84352: PUSH
84353: LD_VAR 0 2
84357: ARRAY
84358: PPUSH
84359: CALL_OW 256
84363: ADD
84364: ST_TO_ADDR
84365: GO 84329
84367: POP
84368: POP
// temp_list1 = temp_list1 ^ [ temp_list2 ] ;
84369: LD_ADDR_VAR 0 3
84373: PUSH
84374: LD_VAR 0 3
84378: PUSH
84379: LD_VAR 0 4
84383: PUSH
84384: EMPTY
84385: LIST
84386: ADD
84387: ST_TO_ADDR
// end ;
84388: GO 84305
84390: POP
84391: POP
// ar_liveslist = temp_list1 ;
84392: LD_ADDR_EXP 142
84396: PUSH
84397: LD_VAR 0 3
84401: ST_TO_ADDR
// wait ( 0 0$0.1 ) ;
84402: LD_INT 4
84404: PPUSH
84405: CALL_OW 67
// for i = 1 to escaping_arabians do
84409: LD_ADDR_VAR 0 1
84413: PUSH
84414: DOUBLE
84415: LD_INT 1
84417: DEC
84418: ST_TO_ADDR
84419: LD_EXP 116
84423: PUSH
84424: FOR_TO
84425: IFFALSE 84739
// for j = 1 to escaping_arabians [ i ] do
84427: LD_ADDR_VAR 0 2
84431: PUSH
84432: DOUBLE
84433: LD_INT 1
84435: DEC
84436: ST_TO_ADDR
84437: LD_EXP 116
84441: PUSH
84442: LD_VAR 0 1
84446: ARRAY
84447: PUSH
84448: FOR_TO
84449: IFFALSE 84735
// if getside ( unitshoot ( escaping_arabians [ i ] [ j ] ) ) = 2 and getlives ( escaping_arabians [ i ] [ j ] ) < ar_liveslist [ i ] [ j ] then
84451: LD_EXP 116
84455: PUSH
84456: LD_VAR 0 1
84460: ARRAY
84461: PUSH
84462: LD_VAR 0 2
84466: ARRAY
84467: PPUSH
84468: CALL_OW 504
84472: PPUSH
84473: CALL_OW 255
84477: PUSH
84478: LD_INT 2
84480: EQUAL
84481: PUSH
84482: LD_EXP 116
84486: PUSH
84487: LD_VAR 0 1
84491: ARRAY
84492: PUSH
84493: LD_VAR 0 2
84497: ARRAY
84498: PPUSH
84499: CALL_OW 256
84503: PUSH
84504: LD_EXP 142
84508: PUSH
84509: LD_VAR 0 1
84513: ARRAY
84514: PUSH
84515: LD_VAR 0 2
84519: ARRAY
84520: LESS
84521: AND
84522: IFFALSE 84733
// begin if friendlyfire = 3 then
84524: LD_EXP 117
84528: PUSH
84529: LD_INT 3
84531: EQUAL
84532: IFFALSE 84542
// friendlyfire = 0 ;
84534: LD_ADDR_EXP 117
84538: PUSH
84539: LD_INT 0
84541: ST_TO_ADDR
// if friendlyfire = 1 or friendlyfire = 2 then
84542: LD_EXP 117
84546: PUSH
84547: LD_INT 1
84549: EQUAL
84550: PUSH
84551: LD_EXP 117
84555: PUSH
84556: LD_INT 2
84558: EQUAL
84559: OR
84560: IFFALSE 84620
// begin centeronunits ( j ) ;
84562: LD_VAR 0 2
84566: PPUSH
84567: CALL_OW 85
// forcesay ( heike , ff_heike ) ;
84571: LD_EXP 87
84575: PPUSH
84576: LD_STRING ff_heike
84578: PPUSH
84579: CALL_OW 91
// wait ( 0 0$5 ) ;
84583: LD_INT 175
84585: PPUSH
84586: CALL_OW 67
// if friendlyfire = 1 then
84590: LD_EXP 117
84594: PUSH
84595: LD_INT 1
84597: EQUAL
84598: IFFALSE 84610
// friendlyfire = 2 else
84600: LD_ADDR_EXP 117
84604: PUSH
84605: LD_INT 2
84607: ST_TO_ADDR
84608: GO 84618
// friendlyfire = 3 ;
84610: LD_ADDR_EXP 117
84614: PUSH
84615: LD_INT 3
84617: ST_TO_ADDR
// break ;
84618: GO 84735
// end ; if friendlyfire = 0 then
84620: LD_EXP 117
84624: PUSH
84625: LD_INT 0
84627: EQUAL
84628: IFFALSE 84733
// begin centeronunits ( j ) ;
84630: LD_VAR 0 2
84634: PPUSH
84635: CALL_OW 85
// if GetSex ( escaping_arabians [ i ] [ j ] ) = sex_male then
84639: LD_EXP 116
84643: PUSH
84644: LD_VAR 0 1
84648: ARRAY
84649: PUSH
84650: LD_VAR 0 2
84654: ARRAY
84655: PPUSH
84656: CALL_OW 258
84660: PUSH
84661: LD_INT 1
84663: EQUAL
84664: IFFALSE 84692
// forcesay ( escaping_arabians [ i ] [ j ] , ff_all_solM1 ) else
84666: LD_EXP 116
84670: PUSH
84671: LD_VAR 0 1
84675: ARRAY
84676: PUSH
84677: LD_VAR 0 2
84681: ARRAY
84682: PPUSH
84683: LD_STRING ff_all_solM1
84685: PPUSH
84686: CALL_OW 91
84690: GO 84716
// forcesay ( escaping_arabians [ i ] [ j ] , ff_all_solF1 ) ;
84692: LD_EXP 116
84696: PUSH
84697: LD_VAR 0 1
84701: ARRAY
84702: PUSH
84703: LD_VAR 0 2
84707: ARRAY
84708: PPUSH
84709: LD_STRING ff_all_solF1
84711: PPUSH
84712: CALL_OW 91
// wait ( 0 0$5 ) ;
84716: LD_INT 175
84718: PPUSH
84719: CALL_OW 67
// friendlyfire = 1 ;
84723: LD_ADDR_EXP 117
84727: PUSH
84728: LD_INT 1
84730: ST_TO_ADDR
// break ;
84731: GO 84735
// end ; end ;
84733: GO 84448
84735: POP
84736: POP
84737: GO 84424
84739: POP
84740: POP
// enable ;
84741: ENABLE
// end ;
84742: PPOPN 4
84744: END
// every 0 0$1 trigger escaping_arabians > 0 do var i , j ;
84745: LD_EXP 116
84749: PUSH
84750: LD_INT 0
84752: GREATER
84753: IFFALSE 84908
84755: GO 84757
84757: DISABLE
84758: LD_INT 0
84760: PPUSH
84761: PPUSH
// begin if friendlyfire = 5 or intentional_ff_count > 5 then
84762: LD_EXP 117
84766: PUSH
84767: LD_INT 5
84769: EQUAL
84770: PUSH
84771: LD_EXP 118
84775: PUSH
84776: LD_INT 5
84778: GREATER
84779: OR
84780: IFFALSE 84789
// youlost ( friendlyfire ) ;
84782: LD_STRING friendlyfire
84784: PPUSH
84785: CALL_OW 104
// for i in filterallunits ( [ f_side , 2 ] ) do
84789: LD_ADDR_VAR 0 1
84793: PUSH
84794: LD_INT 22
84796: PUSH
84797: LD_INT 2
84799: PUSH
84800: EMPTY
84801: LIST
84802: LIST
84803: PPUSH
84804: CALL_OW 69
84808: PUSH
84809: FOR_IN
84810: IFFALSE 84905
// if hastask ( i ) > 0 then
84812: LD_VAR 0 1
84816: PPUSH
84817: CALL_OW 314
84821: PUSH
84822: LD_INT 0
84824: GREATER
84825: IFFALSE 84903
// if gettasklist ( i ) [ 1 ] [ 1 ] = A and getside ( gettasklist ( i ) [ 1 ] [ 4 ] ) = 5 then
84827: LD_VAR 0 1
84831: PPUSH
84832: CALL_OW 437
84836: PUSH
84837: LD_INT 1
84839: ARRAY
84840: PUSH
84841: LD_INT 1
84843: ARRAY
84844: PUSH
84845: LD_STRING A
84847: EQUAL
84848: PUSH
84849: LD_VAR 0 1
84853: PPUSH
84854: CALL_OW 437
84858: PUSH
84859: LD_INT 1
84861: ARRAY
84862: PUSH
84863: LD_INT 4
84865: ARRAY
84866: PPUSH
84867: CALL_OW 255
84871: PUSH
84872: LD_INT 5
84874: EQUAL
84875: AND
84876: IFFALSE 84903
// begin settasklist ( i , [ ] ) ;
84878: LD_VAR 0 1
84882: PPUSH
84883: EMPTY
84884: PPUSH
84885: CALL_OW 446
// intentional_ff_count = intentional_ff_count + 1 ;
84889: LD_ADDR_EXP 118
84893: PUSH
84894: LD_EXP 118
84898: PUSH
84899: LD_INT 1
84901: PLUS
84902: ST_TO_ADDR
// end ;
84903: GO 84809
84905: POP
84906: POP
// enable ;
84907: ENABLE
// end ;
84908: PPOPN 2
84910: END
// every 0 0$1 trigger isplaced ( kitty ) and isplaced ( cat ) and getside ( omar ) = 2 marked 1 do var temp , temp_list , cats , i ;
84911: LD_EXP 205
84915: PPUSH
84916: CALL_OW 305
84920: PUSH
84921: LD_EXP 206
84925: PPUSH
84926: CALL_OW 305
84930: AND
84931: PUSH
84932: LD_EXP 99
84936: PPUSH
84937: CALL_OW 255
84941: PUSH
84942: LD_INT 2
84944: EQUAL
84945: AND
84946: IFFALSE 85517
84948: GO 84950
84950: DISABLE
84951: LD_INT 0
84953: PPUSH
84954: PPUSH
84955: PPUSH
84956: PPUSH
// begin cats = [ kitty , cat ] ;
84957: LD_ADDR_VAR 0 3
84961: PUSH
84962: LD_EXP 205
84966: PUSH
84967: LD_EXP 206
84971: PUSH
84972: EMPTY
84973: LIST
84974: LIST
84975: ST_TO_ADDR
// repeat wait ( 0 0$1 ) ;
84976: LD_INT 35
84978: PPUSH
84979: CALL_OW 67
// cats = UnitFilter ( cats , [ f_alive ] ) ;
84983: LD_ADDR_VAR 0 3
84987: PUSH
84988: LD_VAR 0 3
84992: PPUSH
84993: LD_INT 51
84995: PUSH
84996: EMPTY
84997: LIST
84998: PPUSH
84999: CALL_OW 72
85003: ST_TO_ADDR
// if cats = 0 then
85004: LD_VAR 0 3
85008: PUSH
85009: LD_INT 0
85011: EQUAL
85012: IFFALSE 85016
// exit ;
85014: GO 85517
// temp_list = UnitFilter ( [ Heike , Oswald , Olaf , Sonya , Ralph , Kowalski , Aviradze , Swansson , Dwayne , Khattam , Evelyn , Chrissy ] , [ [ f_ok ] , [ f_not , [ f_driving ] ] ] ) ;
85016: LD_ADDR_VAR 0 2
85020: PUSH
85021: LD_EXP 87
85025: PUSH
85026: LD_EXP 88
85030: PUSH
85031: LD_EXP 89
85035: PUSH
85036: LD_EXP 90
85040: PUSH
85041: LD_EXP 91
85045: PUSH
85046: LD_EXP 92
85050: PUSH
85051: LD_EXP 93
85055: PUSH
85056: LD_EXP 94
85060: PUSH
85061: LD_EXP 95
85065: PUSH
85066: LD_EXP 96
85070: PUSH
85071: LD_EXP 97
85075: PUSH
85076: LD_EXP 103
85080: PUSH
85081: EMPTY
85082: LIST
85083: LIST
85084: LIST
85085: LIST
85086: LIST
85087: LIST
85088: LIST
85089: LIST
85090: LIST
85091: LIST
85092: LIST
85093: LIST
85094: PPUSH
85095: LD_INT 50
85097: PUSH
85098: EMPTY
85099: LIST
85100: PUSH
85101: LD_INT 3
85103: PUSH
85104: LD_INT 55
85106: PUSH
85107: EMPTY
85108: LIST
85109: PUSH
85110: EMPTY
85111: LIST
85112: LIST
85113: PUSH
85114: EMPTY
85115: LIST
85116: LIST
85117: PPUSH
85118: CALL_OW 72
85122: ST_TO_ADDR
// if temp_list = 0 then
85123: LD_VAR 0 2
85127: PUSH
85128: LD_INT 0
85130: EQUAL
85131: IFFALSE 85135
// continue ;
85133: GO 84976
// for i in UnitFilter ( cats , [ f_ok ] ) do
85135: LD_ADDR_VAR 0 4
85139: PUSH
85140: LD_VAR 0 3
85144: PPUSH
85145: LD_INT 50
85147: PUSH
85148: EMPTY
85149: LIST
85150: PPUSH
85151: CALL_OW 72
85155: PUSH
85156: FOR_IN
85157: IFFALSE 85511
// begin temp = NearestUnitToUnit ( temp_list , i ) ;
85159: LD_ADDR_VAR 0 1
85163: PUSH
85164: LD_VAR 0 2
85168: PPUSH
85169: LD_VAR 0 4
85173: PPUSH
85174: CALL_OW 74
85178: ST_TO_ADDR
// if GetDistUnits ( temp , i ) <= 3 then
85179: LD_VAR 0 1
85183: PPUSH
85184: LD_VAR 0 4
85188: PPUSH
85189: CALL_OW 296
85193: PUSH
85194: LD_INT 3
85196: LESSEQUAL
85197: IFFALSE 85509
// begin case temp of Heike :
85199: LD_VAR 0 1
85203: PUSH
85204: LD_EXP 87
85208: DOUBLE
85209: EQUAL
85210: IFTRUE 85214
85212: GO 85229
85214: POP
// Say ( temp , cat_He1 ) ; Oswald :
85215: LD_VAR 0 1
85219: PPUSH
85220: LD_STRING cat_He1
85222: PPUSH
85223: CALL_OW 88
85227: GO 85505
85229: LD_EXP 88
85233: DOUBLE
85234: EQUAL
85235: IFTRUE 85239
85237: GO 85254
85239: POP
// Say ( temp , cat_Os1 ) ; Olaf :
85240: LD_VAR 0 1
85244: PPUSH
85245: LD_STRING cat_Os1
85247: PPUSH
85248: CALL_OW 88
85252: GO 85505
85254: LD_EXP 89
85258: DOUBLE
85259: EQUAL
85260: IFTRUE 85264
85262: GO 85279
85264: POP
// Say ( temp , cat_Olaf1 ) ; Sonya :
85265: LD_VAR 0 1
85269: PPUSH
85270: LD_STRING cat_Olaf1
85272: PPUSH
85273: CALL_OW 88
85277: GO 85505
85279: LD_EXP 90
85283: DOUBLE
85284: EQUAL
85285: IFTRUE 85289
85287: GO 85304
85289: POP
// Say ( temp , cat_So1 ) ; Ralph :
85290: LD_VAR 0 1
85294: PPUSH
85295: LD_STRING cat_So1
85297: PPUSH
85298: CALL_OW 88
85302: GO 85505
85304: LD_EXP 91
85308: DOUBLE
85309: EQUAL
85310: IFTRUE 85314
85312: GO 85329
85314: POP
// Say ( temp , cat_Ra1 ) ; Kowalski :
85315: LD_VAR 0 1
85319: PPUSH
85320: LD_STRING cat_Ra1
85322: PPUSH
85323: CALL_OW 88
85327: GO 85505
85329: LD_EXP 92
85333: DOUBLE
85334: EQUAL
85335: IFTRUE 85339
85337: GO 85354
85339: POP
// Say ( temp , cat_Ko1 ) ; Aviradze :
85340: LD_VAR 0 1
85344: PPUSH
85345: LD_STRING cat_Ko1
85347: PPUSH
85348: CALL_OW 88
85352: GO 85505
85354: LD_EXP 93
85358: DOUBLE
85359: EQUAL
85360: IFTRUE 85364
85362: GO 85379
85364: POP
// Say ( temp , cat_Av1 ) ; Swansson :
85365: LD_VAR 0 1
85369: PPUSH
85370: LD_STRING cat_Av1
85372: PPUSH
85373: CALL_OW 88
85377: GO 85505
85379: LD_EXP 94
85383: DOUBLE
85384: EQUAL
85385: IFTRUE 85389
85387: GO 85404
85389: POP
// Say ( temp , cat_Sw1 ) ; Dwayne :
85390: LD_VAR 0 1
85394: PPUSH
85395: LD_STRING cat_Sw1
85397: PPUSH
85398: CALL_OW 88
85402: GO 85505
85404: LD_EXP 95
85408: DOUBLE
85409: EQUAL
85410: IFTRUE 85414
85412: GO 85429
85414: POP
// Say ( temp , cat_Dw1 ) ; Khattam :
85415: LD_VAR 0 1
85419: PPUSH
85420: LD_STRING cat_Dw1
85422: PPUSH
85423: CALL_OW 88
85427: GO 85505
85429: LD_EXP 96
85433: DOUBLE
85434: EQUAL
85435: IFTRUE 85439
85437: GO 85454
85439: POP
// Say ( temp , cat_Kh1 ) ; Evelyn :
85440: LD_VAR 0 1
85444: PPUSH
85445: LD_STRING cat_Kh1
85447: PPUSH
85448: CALL_OW 88
85452: GO 85505
85454: LD_EXP 97
85458: DOUBLE
85459: EQUAL
85460: IFTRUE 85464
85462: GO 85479
85464: POP
// Say ( temp , cat_Ev1 ) ; Chrissy :
85465: LD_VAR 0 1
85469: PPUSH
85470: LD_STRING cat_Ev1
85472: PPUSH
85473: CALL_OW 88
85477: GO 85505
85479: LD_EXP 103
85483: DOUBLE
85484: EQUAL
85485: IFTRUE 85489
85487: GO 85504
85489: POP
// Say ( temp , cat_Ch1 ) ; end ;
85490: LD_VAR 0 1
85494: PPUSH
85495: LD_STRING cat_Ch1
85497: PPUSH
85498: CALL_OW 88
85502: GO 85505
85504: POP
// exit ;
85505: POP
85506: POP
85507: GO 85517
// end ; end ;
85509: GO 85156
85511: POP
85512: POP
// until false ;
85513: LD_INT 0
85515: IFFALSE 84976
// end ;
85517: PPOPN 4
85519: END
// every 0 0$1 trigger ru_heavy_times = 0 do var i , temp , guy ;
85520: LD_EXP 28
85524: PUSH
85525: LD_INT 0
85527: EQUAL
85528: IFFALSE 86091
85530: GO 85532
85532: DISABLE
85533: LD_INT 0
85535: PPUSH
85536: PPUSH
85537: PPUSH
// begin temp = 0 ;
85538: LD_ADDR_VAR 0 2
85542: PUSH
85543: LD_INT 0
85545: ST_TO_ADDR
// for i in ru_grouptypes do
85546: LD_ADDR_VAR 0 1
85550: PUSH
85551: LD_EXP 22
85555: PUSH
85556: FOR_IN
85557: IFFALSE 85579
// if i = 1 then
85559: LD_VAR 0 1
85563: PUSH
85564: LD_INT 1
85566: EQUAL
85567: IFFALSE 85577
// temp = 1 ;
85569: LD_ADDR_VAR 0 2
85573: PUSH
85574: LD_INT 1
85576: ST_TO_ADDR
85577: GO 85556
85579: POP
85580: POP
// if temp = 0 then
85581: LD_VAR 0 2
85585: PUSH
85586: LD_INT 0
85588: EQUAL
85589: IFFALSE 86090
// begin Randomize ;
85591: CALL_OW 10
// inithc ;
85595: CALL_OW 19
// uc_nation = nation_arabian ;
85599: LD_ADDR_OWVAR 21
85603: PUSH
85604: LD_INT 2
85606: ST_TO_ADDR
// uc_side = 2 ;
85607: LD_ADDR_OWVAR 20
85611: PUSH
85612: LD_INT 2
85614: ST_TO_ADDR
// hc_class = class_soldier ;
85615: LD_ADDR_OWVAR 28
85619: PUSH
85620: LD_INT 1
85622: ST_TO_ADDR
// hc_sex = 1 ;
85623: LD_ADDR_OWVAR 27
85627: PUSH
85628: LD_INT 1
85630: ST_TO_ADDR
// hc_name = Arthur Turner ;
85631: LD_ADDR_OWVAR 26
85635: PUSH
85636: LD_STRING Arthur Turner
85638: ST_TO_ADDR
// guy = createhuman ;
85639: LD_ADDR_VAR 0 3
85643: PUSH
85644: CALL_OW 44
85648: ST_TO_ADDR
// IngameOn ;
85649: CALL_OW 8
// temp = filterunitsinarea ( SeekArea9 , [ f_side , 2 ] ) ;
85653: LD_ADDR_VAR 0 2
85657: PUSH
85658: LD_INT 14
85660: PPUSH
85661: LD_INT 22
85663: PUSH
85664: LD_INT 2
85666: PUSH
85667: EMPTY
85668: LIST
85669: LIST
85670: PPUSH
85671: CALL_OW 70
85675: ST_TO_ADDR
// commovexy ( temp , 140 , 120 ) ;
85676: LD_VAR 0 2
85680: PPUSH
85681: LD_INT 140
85683: PPUSH
85684: LD_INT 120
85686: PPUSH
85687: CALL_OW 111
// temp = filterunitsinarea ( SeekArea8 , [ f_side , 2 ] ) ;
85691: LD_ADDR_VAR 0 2
85695: PUSH
85696: LD_INT 13
85698: PPUSH
85699: LD_INT 22
85701: PUSH
85702: LD_INT 2
85704: PUSH
85705: EMPTY
85706: LIST
85707: LIST
85708: PPUSH
85709: CALL_OW 70
85713: ST_TO_ADDR
// commovexy ( temp , 76 , 125 ) ;
85714: LD_VAR 0 2
85718: PPUSH
85719: LD_INT 76
85721: PPUSH
85722: LD_INT 125
85724: PPUSH
85725: CALL_OW 111
// temp = filterunitsinarea ( SeekArea2 , [ f_side , 2 ] ) ;
85729: LD_ADDR_VAR 0 2
85733: PUSH
85734: LD_INT 7
85736: PPUSH
85737: LD_INT 22
85739: PUSH
85740: LD_INT 2
85742: PUSH
85743: EMPTY
85744: LIST
85745: LIST
85746: PPUSH
85747: CALL_OW 70
85751: ST_TO_ADDR
// commovexy ( temp , 228 , 155 ) ;
85752: LD_VAR 0 2
85756: PPUSH
85757: LD_INT 228
85759: PPUSH
85760: LD_INT 155
85762: PPUSH
85763: CALL_OW 111
// DisableAttacking = 1 ;
85767: LD_ADDR_EXP 31
85771: PUSH
85772: LD_INT 1
85774: ST_TO_ADDR
// Setattitude ( 2 , 6 , att_friend , true ) ;
85775: LD_INT 2
85777: PPUSH
85778: LD_INT 6
85780: PPUSH
85781: LD_INT 1
85783: PPUSH
85784: LD_INT 1
85786: PPUSH
85787: CALL_OW 80
// sayradio ( guy , end_guy1 ) ;
85791: LD_VAR 0 3
85795: PPUSH
85796: LD_STRING end_guy1
85798: PPUSH
85799: CALL_OW 94
// sayradio ( Gensher , end_ge1 ) ;
85803: LD_EXP 101
85807: PPUSH
85808: LD_STRING end_ge1
85810: PPUSH
85811: CALL_OW 94
// sayradio ( guy , end_guy2 ) ;
85815: LD_VAR 0 3
85819: PPUSH
85820: LD_STRING end_guy2
85822: PPUSH
85823: CALL_OW 94
// sayradio ( Gensher , end_ge2 ) ;
85827: LD_EXP 101
85831: PPUSH
85832: LD_STRING end_ge2
85834: PPUSH
85835: CALL_OW 94
// sayradio ( guy , end_guy3 ) ;
85839: LD_VAR 0 3
85843: PPUSH
85844: LD_STRING end_guy3
85846: PPUSH
85847: CALL_OW 94
// sayradio ( Gensher , end_ge3 ) ;
85851: LD_EXP 101
85855: PPUSH
85856: LD_STRING end_ge3
85858: PPUSH
85859: CALL_OW 94
// sayradio ( Gensher , end_ge4 ) ;
85863: LD_EXP 101
85867: PPUSH
85868: LD_STRING end_ge4
85870: PPUSH
85871: CALL_OW 94
// forcesay ( Omar , end_om1 ) ;
85875: LD_EXP 99
85879: PPUSH
85880: LD_STRING end_om1
85882: PPUSH
85883: CALL_OW 91
// sayradio ( Gensher , end_ge5 ) ;
85887: LD_EXP 101
85891: PPUSH
85892: LD_STRING end_ge5
85894: PPUSH
85895: CALL_OW 94
// sayradio ( Gensher , end_ge6 ) ;
85899: LD_EXP 101
85903: PPUSH
85904: LD_STRING end_ge6
85906: PPUSH
85907: CALL_OW 94
// sayradio ( guy , end_guy4 ) ;
85911: LD_VAR 0 3
85915: PPUSH
85916: LD_STRING end_guy4
85918: PPUSH
85919: CALL_OW 94
// forcesay ( Omar , end_om2 ) ;
85923: LD_EXP 99
85927: PPUSH
85928: LD_STRING end_om2
85930: PPUSH
85931: CALL_OW 91
// ru_limit = 5 ;
85935: LD_ADDR_EXP 29
85939: PUSH
85940: LD_INT 5
85942: ST_TO_ADDR
// ru_heavy_times = [ tick , tick + 0 0$20 , tick + 0 0$40 ] ;
85943: LD_ADDR_EXP 28
85947: PUSH
85948: LD_OWVAR 1
85952: PUSH
85953: LD_OWVAR 1
85957: PUSH
85958: LD_INT 700
85960: PLUS
85961: PUSH
85962: LD_OWVAR 1
85966: PUSH
85967: LD_INT 1400
85969: PLUS
85970: PUSH
85971: EMPTY
85972: LIST
85973: LIST
85974: LIST
85975: ST_TO_ADDR
// setattitude ( 2 , 6 , att_friend , true ) ;
85976: LD_INT 2
85978: PPUSH
85979: LD_INT 6
85981: PPUSH
85982: LD_INT 1
85984: PPUSH
85985: LD_INT 1
85987: PPUSH
85988: CALL_OW 80
// ExclusiveOff ;
85992: CALL_OW 5
// placeseeing ( 165 , 177 , 2 , 25 ) ;
85996: LD_INT 165
85998: PPUSH
85999: LD_INT 177
86001: PPUSH
86002: LD_INT 2
86004: PPUSH
86005: LD_INT 25
86007: PPUSH
86008: CALL_OW 330
// centernowonxy ( 165 , 177 ) ;
86012: LD_INT 165
86014: PPUSH
86015: LD_INT 177
86017: PPUSH
86018: CALL_OW 86
// wait ( 0 0$8 ) ;
86022: LD_INT 280
86024: PPUSH
86025: CALL_OW 67
// forcesay ( Heike , End_He1 ) ;
86029: LD_EXP 87
86033: PPUSH
86034: LD_STRING End_He1
86036: PPUSH
86037: CALL_OW 91
// wait ( 0 0$2 ) ;
86041: LD_INT 70
86043: PPUSH
86044: CALL_OW 67
// forcesay ( Heike , End_He2 ) ;
86048: LD_EXP 87
86052: PPUSH
86053: LD_STRING End_He2
86055: PPUSH
86056: CALL_OW 91
// wait ( 0 0$2 ) ;
86060: LD_INT 70
86062: PPUSH
86063: CALL_OW 67
// forcesay ( Heike , End_He3 ) ;
86067: LD_EXP 87
86071: PPUSH
86072: LD_STRING End_He3
86074: PPUSH
86075: CALL_OW 91
// wait ( 0 0$0.2 ) ;
86079: LD_INT 7
86081: PPUSH
86082: CALL_OW 67
// EndMission ;
86086: CALL 86381 0 0
// end ; enable ;
86090: ENABLE
// end ; end_of_file
86091: PPOPN 3
86093: END
// every 0 0$1 trigger prisoners = 0 marked 1 do var i , all_dead ;
86094: LD_EXP 171
86098: PUSH
86099: LD_INT 0
86101: EQUAL
86102: IFFALSE 86237
86104: GO 86106
86106: DISABLE
86107: LD_INT 0
86109: PPUSH
86110: PPUSH
// begin centernowonxy ( prisoner_lastposition [ 1 ] , prisoner_lastposition [ 2 ] ) ;
86111: LD_EXP 180
86115: PUSH
86116: LD_INT 1
86118: ARRAY
86119: PPUSH
86120: LD_EXP 180
86124: PUSH
86125: LD_INT 2
86127: ARRAY
86128: PPUSH
86129: CALL_OW 86
// placeseeing ( prisoner_lastposition [ 1 ] , prisoner_lastposition [ 2 ] , 2 , 10 ) ;
86133: LD_EXP 180
86137: PUSH
86138: LD_INT 1
86140: ARRAY
86141: PPUSH
86142: LD_EXP 180
86146: PUSH
86147: LD_INT 2
86149: ARRAY
86150: PPUSH
86151: LD_INT 2
86153: PPUSH
86154: LD_INT 10
86156: PPUSH
86157: CALL_OW 330
// wait ( 0 0$1 ) ;
86161: LD_INT 35
86163: PPUSH
86164: CALL_OW 67
// all_dead = true ;
86168: LD_ADDR_VAR 0 2
86172: PUSH
86173: LD_INT 1
86175: ST_TO_ADDR
// for i in prisoners_initial do
86176: LD_ADDR_VAR 0 1
86180: PUSH
86181: LD_EXP 172
86185: PUSH
86186: FOR_IN
86187: IFFALSE 86213
// if not IsDead ( i ) then
86189: LD_VAR 0 1
86193: PPUSH
86194: CALL_OW 301
86198: NOT
86199: IFFALSE 86211
// begin all_dead = false ;
86201: LD_ADDR_VAR 0 2
86205: PUSH
86206: LD_INT 0
86208: ST_TO_ADDR
// break ;
86209: GO 86213
// end ;
86211: GO 86186
86213: POP
86214: POP
// if all_dead then
86215: LD_VAR 0 2
86219: IFFALSE 86230
// YouLost ( prisoners_dead ) else
86221: LD_STRING prisoners_dead
86223: PPUSH
86224: CALL_OW 104
86228: GO 86237
// YouLost ( prisoners_gone ) ;
86230: LD_STRING prisoners_gone
86232: PPUSH
86233: CALL_OW 104
// end ;
86237: PPOPN 2
86239: END
// every 0 0$1 trigger RussiansPassed > [ 20 , 15 , 10 ] [ difficulty ] do
86240: LD_EXP 11
86244: PUSH
86245: LD_INT 20
86247: PUSH
86248: LD_INT 15
86250: PUSH
86251: LD_INT 10
86253: PUSH
86254: EMPTY
86255: LIST
86256: LIST
86257: LIST
86258: PUSH
86259: LD_OWVAR 67
86263: ARRAY
86264: GREATER
86265: IFFALSE 86277
86267: GO 86269
86269: DISABLE
// YouLost ( light_units_passed ) ;
86270: LD_STRING light_units_passed
86272: PPUSH
86273: CALL_OW 104
86277: END
// every 0 0$1 trigger RussiansPassed > 99 do
86278: LD_EXP 11
86282: PUSH
86283: LD_INT 99
86285: GREATER
86286: IFFALSE 86298
86288: GO 86290
86290: DISABLE
// YouLost ( heavies_passed ) ;
86291: LD_STRING heavies_passed
86293: PPUSH
86294: CALL_OW 104
86298: END
// every 0 0$1 trigger escapees_dead > [ 30 , 20 , 10 ] [ difficulty ] do
86299: LD_EXP 125
86303: PUSH
86304: LD_INT 30
86306: PUSH
86307: LD_INT 20
86309: PUSH
86310: LD_INT 10
86312: PUSH
86313: EMPTY
86314: LIST
86315: LIST
86316: LIST
86317: PUSH
86318: LD_OWVAR 67
86322: ARRAY
86323: GREATER
86324: IFFALSE 86336
86326: GO 86328
86328: DISABLE
// YouLost ( escapees_dead ) ;
86329: LD_STRING escapees_dead
86331: PPUSH
86332: CALL_OW 104
86336: END
// every 0 0$1 trigger isdead ( heike ) do
86337: LD_EXP 87
86341: PPUSH
86342: CALL_OW 301
86346: IFFALSE 86358
86348: GO 86350
86350: DISABLE
// YouLost ( Heike_dead ) ;
86351: LD_STRING Heike_dead
86353: PPUSH
86354: CALL_OW 104
86358: END
// every 0 0$1 trigger isdead ( omar ) do
86359: LD_EXP 99
86363: PPUSH
86364: CALL_OW 301
86368: IFFALSE 86380
86370: GO 86372
86372: DISABLE
// YouLost ( Omar_dead ) ;
86373: LD_STRING Omar_dead
86375: PPUSH
86376: CALL_OW 104
86380: END
// export function EndMission ; var i , temp , player_units , un_list , name_list , apes ; begin
86381: LD_INT 0
86383: PPUSH
86384: PPUSH
86385: PPUSH
86386: PPUSH
86387: PPUSH
86388: PPUSH
86389: PPUSH
// if art_leftdone = 1 and art_rightdone = 1 and art_centredone = 1 and art_southdone = 1 then
86390: LD_EXP 160
86394: PUSH
86395: LD_INT 1
86397: EQUAL
86398: PUSH
86399: LD_EXP 161
86403: PUSH
86404: LD_INT 1
86406: EQUAL
86407: AND
86408: PUSH
86409: LD_EXP 162
86413: PUSH
86414: LD_INT 1
86416: EQUAL
86417: AND
86418: PUSH
86419: LD_EXP 163
86423: PUSH
86424: LD_INT 1
86426: EQUAL
86427: AND
86428: IFFALSE 86452
// begin Addmedal ( measurement , 1 ) ;
86430: LD_STRING measurement
86432: PPUSH
86433: LD_INT 1
86435: PPUSH
86436: CALL_OW 101
// SaveVariable ( 1 , Artifact_measurement_done_13 ) ;
86440: LD_INT 1
86442: PPUSH
86443: LD_STRING Artifact_measurement_done_13
86445: PPUSH
86446: CALL_OW 39
// end else
86450: GO 86572
// if art_leftdone = 1 or art_rightdone = 1 or art_centredone = 1 or art_southdone = 1 then
86452: LD_EXP 160
86456: PUSH
86457: LD_INT 1
86459: EQUAL
86460: PUSH
86461: LD_EXP 161
86465: PUSH
86466: LD_INT 1
86468: EQUAL
86469: OR
86470: PUSH
86471: LD_EXP 162
86475: PUSH
86476: LD_INT 1
86478: EQUAL
86479: OR
86480: PUSH
86481: LD_EXP 163
86485: PUSH
86486: LD_INT 1
86488: EQUAL
86489: OR
86490: IFFALSE 86516
// begin Addmedal ( measurement , - 1 ) ;
86492: LD_STRING measurement
86494: PPUSH
86495: LD_INT 1
86497: NEG
86498: PPUSH
86499: CALL_OW 101
// SaveVariable ( - 1 , Artifact_measurement_done_13 ) ;
86503: LD_INT 1
86505: NEG
86506: PPUSH
86507: LD_STRING Artifact_measurement_done_13
86509: PPUSH
86510: CALL_OW 39
// end else
86514: GO 86572
// if artifacton > 0 then
86516: LD_EXP 156
86520: PUSH
86521: LD_INT 0
86523: GREATER
86524: IFFALSE 86550
// begin Addmedal ( measurement , - 2 ) ;
86526: LD_STRING measurement
86528: PPUSH
86529: LD_INT 2
86531: NEG
86532: PPUSH
86533: CALL_OW 101
// SaveVariable ( - 2 , Artifact_measurement_done_13 ) ;
86537: LD_INT 2
86539: NEG
86540: PPUSH
86541: LD_STRING Artifact_measurement_done_13
86543: PPUSH
86544: CALL_OW 39
// end else
86548: GO 86572
// begin Addmedal ( measurement , - 3 ) ;
86550: LD_STRING measurement
86552: PPUSH
86553: LD_INT 3
86555: NEG
86556: PPUSH
86557: CALL_OW 101
// SaveVariable ( - 3 , Artifact_measurement_done_13 ) ;
86561: LD_INT 3
86563: NEG
86564: PPUSH
86565: LD_STRING Artifact_measurement_done_13
86567: PPUSH
86568: CALL_OW 39
// end ; if RussiansPassed = 0 then
86572: LD_EXP 11
86576: PUSH
86577: LD_INT 0
86579: EQUAL
86580: IFFALSE 86604
// begin Addmedal ( Russians_Passed , 1 ) ;
86582: LD_STRING Russians_Passed
86584: PPUSH
86585: LD_INT 1
86587: PPUSH
86588: CALL_OW 101
// SaveVariable ( 2 , Russians_Passed_13 ) ;
86592: LD_INT 2
86594: PPUSH
86595: LD_STRING Russians_Passed_13
86597: PPUSH
86598: CALL_OW 39
// end else
86602: GO 86726
// if RussiansPassed < [ 10 , 7 , 4 ] [ difficulty ] then
86604: LD_EXP 11
86608: PUSH
86609: LD_INT 10
86611: PUSH
86612: LD_INT 7
86614: PUSH
86615: LD_INT 4
86617: PUSH
86618: EMPTY
86619: LIST
86620: LIST
86621: LIST
86622: PUSH
86623: LD_OWVAR 67
86627: ARRAY
86628: LESS
86629: IFFALSE 86653
// begin Addmedal ( Russians_Passed , 2 ) ;
86631: LD_STRING Russians_Passed
86633: PPUSH
86634: LD_INT 2
86636: PPUSH
86637: CALL_OW 101
// SaveVariable ( 1 , Russians_Passed_13 ) ;
86641: LD_INT 1
86643: PPUSH
86644: LD_STRING Russians_Passed_13
86646: PPUSH
86647: CALL_OW 39
// end else
86651: GO 86726
// if RussiansPassed < [ 16 , 13 , 7 ] [ difficulty ] then
86653: LD_EXP 11
86657: PUSH
86658: LD_INT 16
86660: PUSH
86661: LD_INT 13
86663: PUSH
86664: LD_INT 7
86666: PUSH
86667: EMPTY
86668: LIST
86669: LIST
86670: LIST
86671: PUSH
86672: LD_OWVAR 67
86676: ARRAY
86677: LESS
86678: IFFALSE 86704
// begin Addmedal ( Russians_Passed , - 1 ) ;
86680: LD_STRING Russians_Passed
86682: PPUSH
86683: LD_INT 1
86685: NEG
86686: PPUSH
86687: CALL_OW 101
// SaveVariable ( - 1 , Russians_Passed_13 ) ;
86691: LD_INT 1
86693: NEG
86694: PPUSH
86695: LD_STRING Russians_Passed_13
86697: PPUSH
86698: CALL_OW 39
// end else
86702: GO 86726
// begin Addmedal ( Russians_Passed , - 2 ) ;
86704: LD_STRING Russians_Passed
86706: PPUSH
86707: LD_INT 2
86709: NEG
86710: PPUSH
86711: CALL_OW 101
// SaveVariable ( - 2 , Russians_Passed_13 ) ;
86715: LD_INT 2
86717: NEG
86718: PPUSH
86719: LD_STRING Russians_Passed_13
86721: PPUSH
86722: CALL_OW 39
// end ; if RescueStatus = 2 then
86726: LD_EXP 149
86730: PUSH
86731: LD_INT 2
86733: EQUAL
86734: IFFALSE 86748
// Addmedal ( escapees_saved , 1 ) else
86736: LD_STRING escapees_saved
86738: PPUSH
86739: LD_INT 1
86741: PPUSH
86742: CALL_OW 101
86746: GO 86805
// if RescueStatus = 1 then
86748: LD_EXP 149
86752: PUSH
86753: LD_INT 1
86755: EQUAL
86756: IFFALSE 86770
// Addmedal ( escapees_saved , 2 ) else
86758: LD_STRING escapees_saved
86760: PPUSH
86761: LD_INT 2
86763: PPUSH
86764: CALL_OW 101
86768: GO 86805
// if RescueStatus = - 1 then
86770: LD_EXP 149
86774: PUSH
86775: LD_INT 1
86777: NEG
86778: EQUAL
86779: IFFALSE 86794
// Addmedal ( escapees_saved , - 1 ) else
86781: LD_STRING escapees_saved
86783: PPUSH
86784: LD_INT 1
86786: NEG
86787: PPUSH
86788: CALL_OW 101
86792: GO 86805
// Addmedal ( escapees_saved , - 2 ) ;
86794: LD_STRING escapees_saved
86796: PPUSH
86797: LD_INT 2
86799: NEG
86800: PPUSH
86801: CALL_OW 101
// SaveVariable ( RescueStatus , RescueStatus_13 ) ;
86805: LD_EXP 149
86809: PPUSH
86810: LD_STRING RescueStatus_13
86812: PPUSH
86813: CALL_OW 39
// GiveMedals ( medals ) ;
86817: LD_STRING medals
86819: PPUSH
86820: CALL_OW 102
// apes = filterallunits ( [ [ f_side , 2 ] , [ f_type , unit_human ] , [ f_or , [ f_class , class_apeman ] , [ f_class , class_apeman_soldier ] , [ f_class , class_apeman_kamikaze ] ] ] ) ;
86824: LD_ADDR_VAR 0 7
86828: PUSH
86829: LD_INT 22
86831: PUSH
86832: LD_INT 2
86834: PUSH
86835: EMPTY
86836: LIST
86837: LIST
86838: PUSH
86839: LD_INT 21
86841: PUSH
86842: LD_INT 1
86844: PUSH
86845: EMPTY
86846: LIST
86847: LIST
86848: PUSH
86849: LD_INT 2
86851: PUSH
86852: LD_INT 25
86854: PUSH
86855: LD_INT 12
86857: PUSH
86858: EMPTY
86859: LIST
86860: LIST
86861: PUSH
86862: LD_INT 25
86864: PUSH
86865: LD_INT 15
86867: PUSH
86868: EMPTY
86869: LIST
86870: LIST
86871: PUSH
86872: LD_INT 25
86874: PUSH
86875: LD_INT 17
86877: PUSH
86878: EMPTY
86879: LIST
86880: LIST
86881: PUSH
86882: EMPTY
86883: LIST
86884: LIST
86885: LIST
86886: LIST
86887: PUSH
86888: EMPTY
86889: LIST
86890: LIST
86891: LIST
86892: PPUSH
86893: CALL_OW 69
86897: ST_TO_ADDR
// player_units = filterallunits ( [ [ f_side , 2 ] , [ f_type , unit_human ] ] ) ;
86898: LD_ADDR_VAR 0 4
86902: PUSH
86903: LD_INT 22
86905: PUSH
86906: LD_INT 2
86908: PUSH
86909: EMPTY
86910: LIST
86911: LIST
86912: PUSH
86913: LD_INT 21
86915: PUSH
86916: LD_INT 1
86918: PUSH
86919: EMPTY
86920: LIST
86921: LIST
86922: PUSH
86923: EMPTY
86924: LIST
86925: LIST
86926: PPUSH
86927: CALL_OW 69
86931: ST_TO_ADDR
// player_units = player_units diff apes ;
86932: LD_ADDR_VAR 0 4
86936: PUSH
86937: LD_VAR 0 4
86941: PUSH
86942: LD_VAR 0 7
86946: DIFF
86947: ST_TO_ADDR
// if islive ( Gonzo ) then
86948: LD_EXP 102
86952: PPUSH
86953: CALL_OW 300
86957: IFFALSE 86975
// player_units = player_units ^ gonzo ;
86959: LD_ADDR_VAR 0 4
86963: PUSH
86964: LD_VAR 0 4
86968: PUSH
86969: LD_EXP 102
86973: ADD
86974: ST_TO_ADDR
// RewardPeople ( player_units ) ;
86975: LD_VAR 0 4
86979: PPUSH
86980: CALL_OW 43
// SaveCharacters ( Heike , Heike_13 ) ;
86984: LD_EXP 87
86988: PPUSH
86989: LD_STRING Heike_13
86991: PPUSH
86992: CALL_OW 38
// SaveCharacters ( Omar , Omar_13 ) ;
86996: LD_EXP 99
87000: PPUSH
87001: LD_STRING Omar_13
87003: PPUSH
87004: CALL_OW 38
// SaveCharacters ( Scout , Snake_13 ) ;
87008: LD_EXP 100
87012: PPUSH
87013: LD_STRING Snake_13
87015: PPUSH
87016: CALL_OW 38
// SaveCharacters ( prisoners , Prisoners_13 ) ;
87020: LD_EXP 171
87024: PPUSH
87025: LD_STRING Prisoners_13
87027: PPUSH
87028: CALL_OW 38
// un_list = [ Oswald , Olaf , Sonya , Ralph , Kowalski , Aviradze , Swansson , Dwayne , Khattam , Evelyn , Gonzo , Chrissy ] ;
87032: LD_ADDR_VAR 0 5
87036: PUSH
87037: LD_EXP 88
87041: PUSH
87042: LD_EXP 89
87046: PUSH
87047: LD_EXP 90
87051: PUSH
87052: LD_EXP 91
87056: PUSH
87057: LD_EXP 92
87061: PUSH
87062: LD_EXP 93
87066: PUSH
87067: LD_EXP 94
87071: PUSH
87072: LD_EXP 95
87076: PUSH
87077: LD_EXP 96
87081: PUSH
87082: LD_EXP 97
87086: PUSH
87087: LD_EXP 102
87091: PUSH
87092: LD_EXP 103
87096: PUSH
87097: EMPTY
87098: LIST
87099: LIST
87100: LIST
87101: LIST
87102: LIST
87103: LIST
87104: LIST
87105: LIST
87106: LIST
87107: LIST
87108: LIST
87109: LIST
87110: ST_TO_ADDR
// name_list = [ Oswald , Olaf , Sonya , Ralph , Kowalski , Aviradze , Swansson , Dwayne , Khattam , Evelyn , Gonzo , Makise ] ;
87111: LD_ADDR_VAR 0 6
87115: PUSH
87116: LD_STRING Oswald
87118: PUSH
87119: LD_STRING Olaf
87121: PUSH
87122: LD_STRING Sonya
87124: PUSH
87125: LD_STRING Ralph
87127: PUSH
87128: LD_STRING Kowalski
87130: PUSH
87131: LD_STRING Aviradze
87133: PUSH
87134: LD_STRING Swansson
87136: PUSH
87137: LD_STRING Dwayne
87139: PUSH
87140: LD_STRING Khattam
87142: PUSH
87143: LD_STRING Evelyn
87145: PUSH
87146: LD_STRING Gonzo
87148: PUSH
87149: LD_STRING Makise
87151: PUSH
87152: EMPTY
87153: LIST
87154: LIST
87155: LIST
87156: LIST
87157: LIST
87158: LIST
87159: LIST
87160: LIST
87161: LIST
87162: LIST
87163: LIST
87164: LIST
87165: ST_TO_ADDR
// for i = 1 to un_list do
87166: LD_ADDR_VAR 0 2
87170: PUSH
87171: DOUBLE
87172: LD_INT 1
87174: DEC
87175: ST_TO_ADDR
87176: LD_VAR 0 5
87180: PUSH
87181: FOR_TO
87182: IFFALSE 87234
// if un_list [ i ] in player_units then
87184: LD_VAR 0 5
87188: PUSH
87189: LD_VAR 0 2
87193: ARRAY
87194: PUSH
87195: LD_VAR 0 4
87199: IN
87200: IFFALSE 87232
// SaveCharacters ( un_list [ i ] , name_list [ i ] & _13 ) ;
87202: LD_VAR 0 5
87206: PUSH
87207: LD_VAR 0 2
87211: ARRAY
87212: PPUSH
87213: LD_VAR 0 6
87217: PUSH
87218: LD_VAR 0 2
87222: ARRAY
87223: PUSH
87224: LD_STRING _13
87226: STR
87227: PPUSH
87228: CALL_OW 38
87232: GO 87181
87234: POP
87235: POP
// SaveCharacters ( player_units diff ( Heike ^ Omar ^ un_list ) , Others_13 ) ;
87236: LD_VAR 0 4
87240: PUSH
87241: LD_EXP 87
87245: PUSH
87246: LD_EXP 99
87250: ADD
87251: PUSH
87252: LD_VAR 0 5
87256: ADD
87257: DIFF
87258: PPUSH
87259: LD_STRING Others_13
87261: PPUSH
87262: CALL_OW 38
// temp = [ ] ;
87266: LD_ADDR_VAR 0 3
87270: PUSH
87271: EMPTY
87272: ST_TO_ADDR
// for i in filterallunits ( [ [ f_side , 2 ] , [ f_type , unit_vehicle ] , [ f_not , [ f_weapon , ru_heavy_gun ] ] ] ) do
87273: LD_ADDR_VAR 0 2
87277: PUSH
87278: LD_INT 22
87280: PUSH
87281: LD_INT 2
87283: PUSH
87284: EMPTY
87285: LIST
87286: LIST
87287: PUSH
87288: LD_INT 21
87290: PUSH
87291: LD_INT 2
87293: PUSH
87294: EMPTY
87295: LIST
87296: LIST
87297: PUSH
87298: LD_INT 3
87300: PUSH
87301: LD_INT 34
87303: PUSH
87304: LD_INT 46
87306: PUSH
87307: EMPTY
87308: LIST
87309: LIST
87310: PUSH
87311: EMPTY
87312: LIST
87313: LIST
87314: PUSH
87315: EMPTY
87316: LIST
87317: LIST
87318: LIST
87319: PPUSH
87320: CALL_OW 69
87324: PUSH
87325: FOR_IN
87326: IFFALSE 87401
// temp = temp ^ [ [ GetChassis ( i ) , GetControl ( i ) , GetEngine ( i ) , GetWeapon ( i ) , GetNation ( i ) ] ] ;
87328: LD_ADDR_VAR 0 3
87332: PUSH
87333: LD_VAR 0 3
87337: PUSH
87338: LD_VAR 0 2
87342: PPUSH
87343: CALL_OW 265
87347: PUSH
87348: LD_VAR 0 2
87352: PPUSH
87353: CALL_OW 263
87357: PUSH
87358: LD_VAR 0 2
87362: PPUSH
87363: CALL_OW 262
87367: PUSH
87368: LD_VAR 0 2
87372: PPUSH
87373: CALL_OW 264
87377: PUSH
87378: LD_VAR 0 2
87382: PPUSH
87383: CALL_OW 248
87387: PUSH
87388: EMPTY
87389: LIST
87390: LIST
87391: LIST
87392: LIST
87393: LIST
87394: PUSH
87395: EMPTY
87396: LIST
87397: ADD
87398: ST_TO_ADDR
87399: GO 87325
87401: POP
87402: POP
// SaveVariable ( temp , Vehicles_left_13 ) ;
87403: LD_VAR 0 3
87407: PPUSH
87408: LD_STRING Vehicles_left_13
87410: PPUSH
87411: CALL_OW 39
// YouWin ;
87415: CALL_OW 103
// end ;
87419: LD_VAR 0 1
87423: RET
