// starting begin resetfog ;
   0: CALL_OW 335
// randomize ;
   4: CALL_OW 10
// randomizeall ;
   8: CALL_OW 11
// SetBName ( NSwit , Nowywit ) ;
  12: LD_INT 61
  14: PPUSH
  15: LD_STRING Nowywit
  17: PPUSH
  18: CALL_OW 500
// disable ( 01 ) ;
  22: LD_INT 1
  24: DISABLE_MARKED
// disable ( 02 ) ;
  25: LD_INT 2
  27: DISABLE_MARKED
// disable ( 03 ) ;
  28: LD_INT 3
  30: DISABLE_MARKED
// Ingameon ;
  31: CALL_OW 8
// centeronunits ( Ken ) ;
  35: LD_INT 80
  37: PPUSH
  38: CALL_OW 85
// say ( Ken , K ) ;
  42: LD_INT 80
  44: PPUSH
  45: LD_STRING K
  47: PPUSH
  48: CALL_OW 88
// wait ( 0 0$05 ) ;
  52: LD_INT 175
  54: PPUSH
  55: CALL_OW 67
// say ( Ken , K1 ) ;
  59: LD_INT 80
  61: PPUSH
  62: LD_STRING K1
  64: PPUSH
  65: CALL_OW 88
// say ( Ken , K2 ) ;
  69: LD_INT 80
  71: PPUSH
  72: LD_STRING K2
  74: PPUSH
  75: CALL_OW 88
// commovexy ( D , 136 , 36 ) ;
  79: LD_INT 116
  81: PPUSH
  82: LD_INT 136
  84: PPUSH
  85: LD_INT 36
  87: PPUSH
  88: CALL_OW 111
// wait ( 0 0$05 ) ;
  92: LD_INT 175
  94: PPUSH
  95: CALL_OW 67
// say ( D , D ) ;
  99: LD_INT 116
 101: PPUSH
 102: LD_STRING D
 104: PPUSH
 105: CALL_OW 88
// say ( Ken , K3 ) ;
 109: LD_INT 80
 111: PPUSH
 112: LD_STRING K3
 114: PPUSH
 115: CALL_OW 88
// say ( D , D1 ) ;
 119: LD_INT 116
 121: PPUSH
 122: LD_STRING D1
 124: PPUSH
 125: CALL_OW 88
// wait ( 0 0$01 ) ;
 129: LD_INT 35
 131: PPUSH
 132: CALL_OW 67
// say ( D , D17 ) ;
 136: LD_INT 116
 138: PPUSH
 139: LD_STRING D17
 141: PPUSH
 142: CALL_OW 88
// say ( Ken , K14 ) ;
 146: LD_INT 80
 148: PPUSH
 149: LD_STRING K14
 151: PPUSH
 152: CALL_OW 88
// say ( D , D18 ) ;
 156: LD_INT 116
 158: PPUSH
 159: LD_STRING D18
 161: PPUSH
 162: CALL_OW 88
// say ( Ken , K15 ) ;
 166: LD_INT 80
 168: PPUSH
 169: LD_STRING K15
 171: PPUSH
 172: CALL_OW 88
// say ( Ken , K16 ) ;
 176: LD_INT 80
 178: PPUSH
 179: LD_STRING K16
 181: PPUSH
 182: CALL_OW 88
// SaveForQuickRestart ;
 186: CALL_OW 22
// Ingameoff ;
 190: CALL_OW 9
// ChangeMissionObjectives ( CEL1 ) ;
 194: LD_STRING CEL1
 196: PPUSH
 197: CALL_OW 337
// end ; end_of_file
 201: END
// every 2 2$00 do
 202: GO 204
 204: DISABLE
// begin CreateCratesAnywhere ( Rand ( 2 , 5 ) , true ) ;
 205: LD_INT 2
 207: PPUSH
 208: LD_INT 5
 210: PPUSH
 211: CALL_OW 12
 215: PPUSH
 216: LD_INT 1
 218: PPUSH
 219: CALL_OW 57
// enable ;
 223: ENABLE
// end ; end_of_file
 224: END
// var p1 , p2 ; every 0 0$01 do
 225: GO 227
 227: DISABLE
// begin comenterunit ( cz , b ) ;
 228: LD_INT 108
 230: PPUSH
 231: LD_INT 63
 233: PPUSH
 234: CALL_OW 120
// comenterunit ( cz1 , b1 ) ;
 238: LD_INT 94
 240: PPUSH
 241: LD_INT 66
 243: PPUSH
 244: CALL_OW 120
// comenterunit ( [ cz2 , cz3 ] , z ) ;
 248: LD_INT 95
 250: PUSH
 251: LD_INT 96
 253: PUSH
 254: EMPTY
 255: LIST
 256: LIST
 257: PPUSH
 258: LD_INT 74
 260: PPUSH
 261: CALL_OW 120
// comenterunit ( [ cz4 , cz5 ] , z1 ) ;
 265: LD_INT 98
 267: PUSH
 268: LD_INT 99
 270: PUSH
 271: EMPTY
 272: LIST
 273: LIST
 274: PPUSH
 275: LD_INT 107
 277: PPUSH
 278: CALL_OW 120
// p1 = addcombuild ( in1 , b_oil_mine , 140 , 28 , 2 ) ;
 282: LD_ADDR_LOC 1
 286: PUSH
 287: LD_INT 88
 289: PPUSH
 290: LD_INT 29
 292: PPUSH
 293: LD_INT 140
 295: PPUSH
 296: LD_INT 28
 298: PPUSH
 299: LD_INT 2
 301: PPUSH
 302: CALL_OW 205
 306: ST_TO_ADDR
// p2 = addcombuild ( in2 , b_oil_mine , 120 , 24 , 2 ) ;
 307: LD_ADDR_LOC 2
 311: PUSH
 312: LD_INT 89
 314: PPUSH
 315: LD_INT 29
 317: PPUSH
 318: LD_INT 120
 320: PPUSH
 321: LD_INT 24
 323: PPUSH
 324: LD_INT 2
 326: PPUSH
 327: CALL_OW 205
 331: ST_TO_ADDR
// commovexy ( D , 151 , 32 ) ;
 332: LD_INT 116
 334: PPUSH
 335: LD_INT 151
 337: PPUSH
 338: LD_INT 32
 340: PPUSH
 341: CALL_OW 111
// commovexy ( lek2 , 119 , 23 ) ;
 345: LD_INT 138
 347: PPUSH
 348: LD_INT 119
 350: PPUSH
 351: LD_INT 23
 353: PPUSH
 354: CALL_OW 111
// comenterunit ( [ lek , lek1 ] , arlab ) ;
 358: LD_INT 133
 360: PUSH
 361: LD_INT 139
 363: PUSH
 364: EMPTY
 365: LIST
 366: LIST
 367: PPUSH
 368: LD_INT 312
 370: PPUSH
 371: CALL_OW 120
// Wait ( 0 0$20 ) ;
 375: LD_INT 700
 377: PPUSH
 378: CALL_OW 67
// comenterunit ( lek2 , arlab1 ) ;
 382: LD_INT 138
 384: PPUSH
 385: LD_INT 316
 387: PPUSH
 388: CALL_OW 120
// end ; end_of_file
 392: END
// every 0 0$01 do
 393: GO 395
 395: DISABLE
// begin comenterunit ( [ azo , azo1 , azo2 , azo3 , azo4 ] , abunk ) ;
 396: LD_INT 197
 398: PUSH
 399: LD_INT 204
 401: PUSH
 402: LD_INT 205
 404: PUSH
 405: LD_INT 203
 407: PUSH
 408: LD_INT 202
 410: PUSH
 411: EMPTY
 412: LIST
 413: LIST
 414: LIST
 415: LIST
 416: LIST
 417: PPUSH
 418: LD_INT 201
 420: PPUSH
 421: CALL_OW 120
// comenterunit ( azo5 , ab5 ) ;
 425: LD_INT 190
 427: PPUSH
 428: LD_INT 153
 430: PPUSH
 431: CALL_OW 120
// comenterunit ( azo6 , ab4 ) ;
 435: LD_INT 189
 437: PPUSH
 438: LD_INT 152
 440: PPUSH
 441: CALL_OW 120
// comenterunit ( azo7 , ab3 ) ;
 445: LD_INT 188
 447: PPUSH
 448: LD_INT 151
 450: PPUSH
 451: CALL_OW 120
// comenterunit ( azo8 , ab2 ) ;
 455: LD_INT 187
 457: PPUSH
 458: LD_INT 154
 460: PPUSH
 461: CALL_OW 120
// comenterunit ( azo9 , ab1 ) ;
 465: LD_INT 191
 467: PPUSH
 468: LD_INT 155
 470: PPUSH
 471: CALL_OW 120
// comenterunit ( azo10 , ab ) ;
 475: LD_INT 186
 477: PPUSH
 478: LD_INT 156
 480: PPUSH
 481: CALL_OW 120
// comenterunit ( [ ale , ale1 ] , alab ) ;
 485: LD_INT 193
 487: PUSH
 488: LD_INT 194
 490: PUSH
 491: EMPTY
 492: LIST
 493: LIST
 494: PPUSH
 495: LD_INT 181
 497: PPUSH
 498: CALL_OW 120
// comenterunit ( [ ale2 , ale3 ] , alab1 ) ;
 502: LD_INT 195
 504: PUSH
 505: LD_INT 196
 507: PUSH
 508: EMPTY
 509: LIST
 510: LIST
 511: PPUSH
 512: LD_INT 182
 514: PPUSH
 515: CALL_OW 120
// end ; end_of_file
 519: END
// export sol1 , sol2 , sol ; every 0 0$01 do
 520: GO 522
 522: DISABLE
// begin disable ( 01 ) ;
 523: LD_INT 1
 525: DISABLE_MARKED
// disable ( 02 ) ;
 526: LD_INT 2
 528: DISABLE_MARKED
// disable ( 03 ) ;
 529: LD_INT 3
 531: DISABLE_MARKED
// end ;
 532: END
// every 0 0$01 trigger isinarea ( D , A58 ) do
 533: LD_INT 116
 535: PPUSH
 536: LD_INT 2
 538: PPUSH
 539: CALL_OW 308
 543: IFFALSE 628
 545: GO 547
 547: DISABLE
// begin say ( D , D2 ) ;
 548: LD_INT 116
 550: PPUSH
 551: LD_STRING D2
 553: PPUSH
 554: CALL_OW 88
// say ( Ken , K4 ) ;
 558: LD_INT 80
 560: PPUSH
 561: LD_STRING K4
 563: PPUSH
 564: CALL_OW 88
// say ( D , D3 ) ;
 568: LD_INT 116
 570: PPUSH
 571: LD_STRING D3
 573: PPUSH
 574: CALL_OW 88
// say ( Ken , K5 ) ;
 578: LD_INT 80
 580: PPUSH
 581: LD_STRING K5
 583: PPUSH
 584: CALL_OW 88
// say ( Ken , K6 ) ;
 588: LD_INT 80
 590: PPUSH
 591: LD_STRING K6
 593: PPUSH
 594: CALL_OW 88
// say ( D , D4 ) ;
 598: LD_INT 116
 600: PPUSH
 601: LD_STRING D4
 603: PPUSH
 604: CALL_OW 88
// ChangeMissionObjectives ( M1a ) ;
 608: LD_STRING M1a
 610: PPUSH
 611: CALL_OW 337
// SetAreaMapShow ( A59 , 1 ) ;
 615: LD_INT 3
 617: PPUSH
 618: LD_INT 1
 620: PPUSH
 621: CALL_OW 424
// enable ( 03 ) ;
 625: LD_INT 3
 627: ENABLE_MARKED
// end ;
 628: END
// every 0 0$01 trigger isinarea ( sol , A61 ) do
 629: LD_EXP 3
 633: PPUSH
 634: LD_INT 5
 636: PPUSH
 637: CALL_OW 308
 641: IFFALSE 776
 643: GO 645
 645: DISABLE
// begin ingameon ;
 646: CALL_OW 8
// center = 1 ;
 650: LD_ADDR_EXP 4
 654: PUSH
 655: LD_INT 1
 657: ST_TO_ADDR
// say ( sol , s1 ) ;
 658: LD_EXP 3
 662: PPUSH
 663: LD_STRING s1
 665: PPUSH
 666: CALL_OW 88
// say ( D , D5 ) ;
 670: LD_INT 116
 672: PPUSH
 673: LD_STRING D5
 675: PPUSH
 676: CALL_OW 88
// say ( sol , s2 ) ;
 680: LD_EXP 3
 684: PPUSH
 685: LD_STRING s2
 687: PPUSH
 688: CALL_OW 88
// say ( D , D6 ) ;
 692: LD_INT 116
 694: PPUSH
 695: LD_STRING D6
 697: PPUSH
 698: CALL_OW 88
// say ( D , D7 ) ;
 702: LD_INT 116
 704: PPUSH
 705: LD_STRING D7
 707: PPUSH
 708: CALL_OW 88
// say ( Ken , K8 ) ;
 712: LD_INT 80
 714: PPUSH
 715: LD_STRING K8
 717: PPUSH
 718: CALL_OW 88
// say ( Ken , K9 ) ;
 722: LD_INT 80
 724: PPUSH
 725: LD_STRING K9
 727: PPUSH
 728: CALL_OW 88
// say ( sol , s3 ) ;
 732: LD_EXP 3
 736: PPUSH
 737: LD_STRING s3
 739: PPUSH
 740: CALL_OW 88
// say ( Ken , K7 ) ;
 744: LD_INT 80
 746: PPUSH
 747: LD_STRING K7
 749: PPUSH
 750: CALL_OW 88
// say ( D , D8 ) ;
 754: LD_INT 116
 756: PPUSH
 757: LD_STRING D8
 759: PPUSH
 760: CALL_OW 88
// setside ( sol , 4 ) ;
 764: LD_EXP 3
 768: PPUSH
 769: LD_INT 4
 771: PPUSH
 772: CALL_OW 235
// end ;
 776: END
// every 0 0$01 do
 777: GO 779
 779: DISABLE
// begin uc_side = 5 ;
 780: LD_ADDR_OWVAR 20
 784: PUSH
 785: LD_INT 5
 787: ST_TO_ADDR
// uc_nation = 2 ;
 788: LD_ADDR_OWVAR 21
 792: PUSH
 793: LD_INT 2
 795: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
 796: LD_ADDR_OWVAR 27
 800: PUSH
 801: LD_INT 1
 803: PPUSH
 804: LD_INT 2
 806: PPUSH
 807: CALL_OW 12
 811: ST_TO_ADDR
// hc_name =  ;
 812: LD_ADDR_OWVAR 26
 816: PUSH
 817: LD_STRING 
 819: ST_TO_ADDR
// hc_basic_skills = [ 1 , 2 , 0 , 4 ] ;
 820: LD_ADDR_OWVAR 30
 824: PUSH
 825: LD_INT 1
 827: PUSH
 828: LD_INT 2
 830: PUSH
 831: LD_INT 0
 833: PUSH
 834: LD_INT 4
 836: PUSH
 837: EMPTY
 838: LIST
 839: LIST
 840: LIST
 841: LIST
 842: ST_TO_ADDR
// hc_skills = [ 2 , 2 , 2 , 2 ] ;
 843: LD_ADDR_OWVAR 31
 847: PUSH
 848: LD_INT 2
 850: PUSH
 851: LD_INT 2
 853: PUSH
 854: LD_INT 2
 856: PUSH
 857: LD_INT 2
 859: PUSH
 860: EMPTY
 861: LIST
 862: LIST
 863: LIST
 864: LIST
 865: ST_TO_ADDR
// hc_importance = 10 ;
 866: LD_ADDR_OWVAR 32
 870: PUSH
 871: LD_INT 10
 873: ST_TO_ADDR
// hc_class = 4 ;
 874: LD_ADDR_OWVAR 28
 878: PUSH
 879: LD_INT 4
 881: ST_TO_ADDR
// sol = createhuman ;
 882: LD_ADDR_EXP 3
 886: PUSH
 887: CALL_OW 44
 891: ST_TO_ADDR
// placeunitarea ( sol , A60 , false ) ;
 892: LD_EXP 3
 896: PPUSH
 897: LD_INT 4
 899: PPUSH
 900: LD_INT 0
 902: PPUSH
 903: CALL_OW 49
// end ;
 907: END
// every 0 0$01 marked 03 do
 908: GO 910
 910: DISABLE
// begin if isinarea ( D , A59 ) then
 911: LD_INT 116
 913: PPUSH
 914: LD_INT 3
 916: PPUSH
 917: CALL_OW 308
 921: IFFALSE 938
// commovexy ( sol , 56 , 26 ) ;
 923: LD_EXP 3
 927: PPUSH
 928: LD_INT 56
 930: PPUSH
 931: LD_INT 26
 933: PPUSH
 934: CALL_OW 111
// enable ;
 938: ENABLE
// end ;
 939: END
// every 0 0$01 do
 940: GO 942
 942: DISABLE
// begin uc_side = 5 ;
 943: LD_ADDR_OWVAR 20
 947: PUSH
 948: LD_INT 5
 950: ST_TO_ADDR
// uc_nation = 2 ;
 951: LD_ADDR_OWVAR 21
 955: PUSH
 956: LD_INT 2
 958: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
 959: LD_ADDR_OWVAR 27
 963: PUSH
 964: LD_INT 1
 966: PPUSH
 967: LD_INT 2
 969: PPUSH
 970: CALL_OW 12
 974: ST_TO_ADDR
// hc_name =  ;
 975: LD_ADDR_OWVAR 26
 979: PUSH
 980: LD_STRING 
 982: ST_TO_ADDR
// hc_basic_skills = [ 1 , 2 , 0 , 4 ] ;
 983: LD_ADDR_OWVAR 30
 987: PUSH
 988: LD_INT 1
 990: PUSH
 991: LD_INT 2
 993: PUSH
 994: LD_INT 0
 996: PUSH
 997: LD_INT 4
 999: PUSH
1000: EMPTY
1001: LIST
1002: LIST
1003: LIST
1004: LIST
1005: ST_TO_ADDR
// hc_skills = [ 2 , 2 , 2 , 2 ] ;
1006: LD_ADDR_OWVAR 31
1010: PUSH
1011: LD_INT 2
1013: PUSH
1014: LD_INT 2
1016: PUSH
1017: LD_INT 2
1019: PUSH
1020: LD_INT 2
1022: PUSH
1023: EMPTY
1024: LIST
1025: LIST
1026: LIST
1027: LIST
1028: ST_TO_ADDR
// hc_importance = 10 ;
1029: LD_ADDR_OWVAR 32
1033: PUSH
1034: LD_INT 10
1036: ST_TO_ADDR
// hc_class = 4 ;
1037: LD_ADDR_OWVAR 28
1041: PUSH
1042: LD_INT 4
1044: ST_TO_ADDR
// sol1 = createhuman ;
1045: LD_ADDR_EXP 1
1049: PUSH
1050: CALL_OW 44
1054: ST_TO_ADDR
// placeunitarea ( sol , A60 , false ) ;
1055: LD_EXP 3
1059: PPUSH
1060: LD_INT 4
1062: PPUSH
1063: LD_INT 0
1065: PPUSH
1066: CALL_OW 49
// end ;
1070: END
// every 0 0$01 trigger isinarea ( sol , A59 ) do var i , k ;
1071: LD_EXP 3
1075: PPUSH
1076: LD_INT 3
1078: PPUSH
1079: CALL_OW 308
1083: IFFALSE 1561
1085: GO 1087
1087: DISABLE
1088: LD_INT 0
1090: PPUSH
1091: PPUSH
// begin for i = 1 to 5 do
1092: LD_ADDR_VAR 0 1
1096: PUSH
1097: DOUBLE
1098: LD_INT 1
1100: DEC
1101: ST_TO_ADDR
1102: LD_INT 5
1104: PUSH
1105: FOR_TO
1106: IFFALSE 1333
// begin uc_side = 5 ;
1108: LD_ADDR_OWVAR 20
1112: PUSH
1113: LD_INT 5
1115: ST_TO_ADDR
// uc_nation = 2 ;
1116: LD_ADDR_OWVAR 21
1120: PUSH
1121: LD_INT 2
1123: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
1124: LD_ADDR_OWVAR 27
1128: PUSH
1129: LD_INT 1
1131: PPUSH
1132: LD_INT 2
1134: PPUSH
1135: CALL_OW 12
1139: ST_TO_ADDR
// hc_name =  ;
1140: LD_ADDR_OWVAR 26
1144: PUSH
1145: LD_STRING 
1147: ST_TO_ADDR
// hc_basic_skills = [ rand ( 2 , 4 ) , rand ( 2 , 3 ) , 0 , 0 ] ;
1148: LD_ADDR_OWVAR 30
1152: PUSH
1153: LD_INT 2
1155: PPUSH
1156: LD_INT 4
1158: PPUSH
1159: CALL_OW 12
1163: PUSH
1164: LD_INT 2
1166: PPUSH
1167: LD_INT 3
1169: PPUSH
1170: CALL_OW 12
1174: PUSH
1175: LD_INT 0
1177: PUSH
1178: LD_INT 0
1180: PUSH
1181: EMPTY
1182: LIST
1183: LIST
1184: LIST
1185: LIST
1186: ST_TO_ADDR
// hc_skills = [ rand ( 2 , 3 ) , rand ( 1 , 2 ) , rand ( 1 , 2 ) , rand ( 0 , 1 ) ] ;
1187: LD_ADDR_OWVAR 31
1191: PUSH
1192: LD_INT 2
1194: PPUSH
1195: LD_INT 3
1197: PPUSH
1198: CALL_OW 12
1202: PUSH
1203: LD_INT 1
1205: PPUSH
1206: LD_INT 2
1208: PPUSH
1209: CALL_OW 12
1213: PUSH
1214: LD_INT 1
1216: PPUSH
1217: LD_INT 2
1219: PPUSH
1220: CALL_OW 12
1224: PUSH
1225: LD_INT 0
1227: PPUSH
1228: LD_INT 1
1230: PPUSH
1231: CALL_OW 12
1235: PUSH
1236: EMPTY
1237: LIST
1238: LIST
1239: LIST
1240: LIST
1241: ST_TO_ADDR
// ; hc_importance = 10 ;
1242: LD_ADDR_OWVAR 32
1246: PUSH
1247: LD_INT 10
1249: ST_TO_ADDR
// hc_class = [ rand ( [ 1 ] , [ 9 ] ) ] ;
1250: LD_ADDR_OWVAR 28
1254: PUSH
1255: LD_INT 1
1257: PUSH
1258: EMPTY
1259: LIST
1260: PPUSH
1261: LD_INT 9
1263: PUSH
1264: EMPTY
1265: LIST
1266: PPUSH
1267: CALL_OW 12
1271: PUSH
1272: EMPTY
1273: LIST
1274: ST_TO_ADDR
// sol1 = createhuman ;
1275: LD_ADDR_EXP 1
1279: PUSH
1280: CALL_OW 44
1284: ST_TO_ADDR
// placeunitArea ( sol1 , A60 , false ) ;
1285: LD_EXP 1
1289: PPUSH
1290: LD_INT 4
1292: PPUSH
1293: LD_INT 0
1295: PPUSH
1296: CALL_OW 49
// commovetoarea ( sol1 , A59 ) ;
1300: LD_EXP 1
1304: PPUSH
1305: LD_INT 3
1307: PPUSH
1308: CALL_OW 113
// Wait ( 0 0$01 ) ;
1312: LD_INT 35
1314: PPUSH
1315: CALL_OW 67
// setside ( sol1 , 4 ) ;
1319: LD_EXP 1
1323: PPUSH
1324: LD_INT 4
1326: PPUSH
1327: CALL_OW 235
// end ;
1331: GO 1105
1333: POP
1334: POP
// begin for k = 1 to 3 do
1335: LD_ADDR_VAR 0 2
1339: PUSH
1340: DOUBLE
1341: LD_INT 1
1343: DEC
1344: ST_TO_ADDR
1345: LD_INT 3
1347: PUSH
1348: FOR_TO
1349: IFFALSE 1559
// begin uc_side = 5 ;
1351: LD_ADDR_OWVAR 20
1355: PUSH
1356: LD_INT 5
1358: ST_TO_ADDR
// uc_nation = 2 ;
1359: LD_ADDR_OWVAR 21
1363: PUSH
1364: LD_INT 2
1366: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
1367: LD_ADDR_OWVAR 27
1371: PUSH
1372: LD_INT 1
1374: PPUSH
1375: LD_INT 2
1377: PPUSH
1378: CALL_OW 12
1382: ST_TO_ADDR
// hc_name =  ;
1383: LD_ADDR_OWVAR 26
1387: PUSH
1388: LD_STRING 
1390: ST_TO_ADDR
// hc_basic_skills = [ rand ( 2 , 4 ) , rand ( 2 , 3 ) , 0 , 0 ] ;
1391: LD_ADDR_OWVAR 30
1395: PUSH
1396: LD_INT 2
1398: PPUSH
1399: LD_INT 4
1401: PPUSH
1402: CALL_OW 12
1406: PUSH
1407: LD_INT 2
1409: PPUSH
1410: LD_INT 3
1412: PPUSH
1413: CALL_OW 12
1417: PUSH
1418: LD_INT 0
1420: PUSH
1421: LD_INT 0
1423: PUSH
1424: EMPTY
1425: LIST
1426: LIST
1427: LIST
1428: LIST
1429: ST_TO_ADDR
// hc_skills = [ rand ( 2 , 3 ) , rand ( 1 , 2 ) , rand ( 1 , 2 ) , rand ( 0 , 1 ) ] ;
1430: LD_ADDR_OWVAR 31
1434: PUSH
1435: LD_INT 2
1437: PPUSH
1438: LD_INT 3
1440: PPUSH
1441: CALL_OW 12
1445: PUSH
1446: LD_INT 1
1448: PPUSH
1449: LD_INT 2
1451: PPUSH
1452: CALL_OW 12
1456: PUSH
1457: LD_INT 1
1459: PPUSH
1460: LD_INT 2
1462: PPUSH
1463: CALL_OW 12
1467: PUSH
1468: LD_INT 0
1470: PPUSH
1471: LD_INT 1
1473: PPUSH
1474: CALL_OW 12
1478: PUSH
1479: EMPTY
1480: LIST
1481: LIST
1482: LIST
1483: LIST
1484: ST_TO_ADDR
// ; hc_importance = 10 ;
1485: LD_ADDR_OWVAR 32
1489: PUSH
1490: LD_INT 10
1492: ST_TO_ADDR
// hc_class = 9 ;
1493: LD_ADDR_OWVAR 28
1497: PUSH
1498: LD_INT 9
1500: ST_TO_ADDR
// sol2 = createhuman ;
1501: LD_ADDR_EXP 2
1505: PUSH
1506: CALL_OW 44
1510: ST_TO_ADDR
// placeunitArea ( sol2 , A60 , false ) ;
1511: LD_EXP 2
1515: PPUSH
1516: LD_INT 4
1518: PPUSH
1519: LD_INT 0
1521: PPUSH
1522: CALL_OW 49
// commovetoarea ( sol2 , A59 ) ;
1526: LD_EXP 2
1530: PPUSH
1531: LD_INT 3
1533: PPUSH
1534: CALL_OW 113
// Wait ( 0 0$01 ) ;
1538: LD_INT 35
1540: PPUSH
1541: CALL_OW 67
// setside ( sol2 , 4 ) ;
1545: LD_EXP 2
1549: PPUSH
1550: LD_INT 4
1552: PPUSH
1553: CALL_OW 235
// end ;
1557: GO 1348
1559: POP
1560: POP
// end ; end ;
1561: PPOPN 2
1563: END
// every 0 0$01 trigger isinarea ( sol2 , A59 ) do
1564: LD_EXP 2
1568: PPUSH
1569: LD_INT 3
1571: PPUSH
1572: CALL_OW 308
1576: IFFALSE 1690
1578: GO 1580
1580: DISABLE
// begin say ( D , D9 ) ;
1581: LD_INT 116
1583: PPUSH
1584: LD_STRING D9
1586: PPUSH
1587: CALL_OW 88
// say ( sol , s4 ) ;
1591: LD_EXP 3
1595: PPUSH
1596: LD_STRING s4
1598: PPUSH
1599: CALL_OW 88
// say ( D , D10 ) ;
1603: LD_INT 116
1605: PPUSH
1606: LD_STRING D10
1608: PPUSH
1609: CALL_OW 88
// say ( sol , s5 ) ;
1613: LD_EXP 3
1617: PPUSH
1618: LD_STRING s5
1620: PPUSH
1621: CALL_OW 88
// say ( sol , s6 ) ;
1625: LD_EXP 3
1629: PPUSH
1630: LD_STRING s6
1632: PPUSH
1633: CALL_OW 88
// say ( D , D11 ) ;
1637: LD_INT 116
1639: PPUSH
1640: LD_STRING D11
1642: PPUSH
1643: CALL_OW 88
// center = 0 ;
1647: LD_ADDR_EXP 4
1651: PUSH
1652: LD_INT 0
1654: ST_TO_ADDR
// ingameoff ;
1655: CALL_OW 9
// SetAreaMapShow ( A59 , 0 ) ;
1659: LD_INT 3
1661: PPUSH
1662: LD_INT 0
1664: PPUSH
1665: CALL_OW 424
// ChangeMissionObjectives ( CEL1W ) ;
1669: LD_STRING CEL1W
1671: PPUSH
1672: CALL_OW 337
// ChangeMissionObjectives ( M2 ) ;
1676: LD_STRING M2
1678: PPUSH
1679: CALL_OW 337
// ChangeMissionObjectives ( M2a ) ;
1683: LD_STRING M2a
1685: PPUSH
1686: CALL_OW 337
// end ;
1690: END
// every 0 0$01.1 trigger isinarea ( D , Ambaza ) do
1691: LD_INT 116
1693: PPUSH
1694: LD_INT 6
1696: PPUSH
1697: CALL_OW 308
1701: IFFALSE 1757
1703: GO 1705
1705: DISABLE
// begin if FilterAllUnits ( [ [ f_side , 1 ] , [ f_ok ] , [ f_type , b_warehouse ] ] ) > 0 then
1706: LD_INT 22
1708: PUSH
1709: LD_INT 1
1711: PUSH
1712: EMPTY
1713: LIST
1714: LIST
1715: PUSH
1716: LD_INT 50
1718: PUSH
1719: EMPTY
1720: LIST
1721: PUSH
1722: LD_INT 21
1724: PUSH
1725: LD_INT 1
1727: PUSH
1728: EMPTY
1729: LIST
1730: LIST
1731: PUSH
1732: EMPTY
1733: LIST
1734: LIST
1735: LIST
1736: PPUSH
1737: CALL_OW 69
1741: PUSH
1742: LD_INT 0
1744: GREATER
1745: IFFALSE 1757
// say ( D , D14 ) ;
1747: LD_INT 116
1749: PPUSH
1750: LD_STRING D14
1752: PPUSH
1753: CALL_OW 88
// end ;
1757: END
// every 0 0$01 trigger isDead ( BAm ) do
1758: LD_INT 148
1760: PPUSH
1761: CALL_OW 301
1765: IFFALSE 1956
1767: GO 1769
1769: DISABLE
// begin say ( D , D12 ) ;
1770: LD_INT 116
1772: PPUSH
1773: LD_STRING D12
1775: PPUSH
1776: CALL_OW 88
// say ( Ken , K10 ) ;
1780: LD_INT 80
1782: PPUSH
1783: LD_STRING K10
1785: PPUSH
1786: CALL_OW 88
// say ( D , D13 ) ;
1790: LD_INT 116
1792: PPUSH
1793: LD_STRING D13
1795: PPUSH
1796: CALL_OW 88
// SetAreaMapShow ( A64 , 1 ) ;
1800: LD_INT 8
1802: PPUSH
1803: LD_INT 1
1805: PPUSH
1806: CALL_OW 424
// commovetoarea ( FilterAllUnits ( [ f_side , 1 ] ) , Amexit ) ;
1810: LD_INT 22
1812: PUSH
1813: LD_INT 1
1815: PUSH
1816: EMPTY
1817: LIST
1818: LIST
1819: PPUSH
1820: CALL_OW 69
1824: PPUSH
1825: LD_INT 7
1827: PPUSH
1828: CALL_OW 113
// Wait ( 0 0$30 ) ;
1832: LD_INT 1050
1834: PPUSH
1835: CALL_OW 67
// commovexy ( FilterAllUnits ( [ f_side , 1 ] ) , 10 , 4 ) ;
1839: LD_INT 22
1841: PUSH
1842: LD_INT 1
1844: PUSH
1845: EMPTY
1846: LIST
1847: LIST
1848: PPUSH
1849: CALL_OW 69
1853: PPUSH
1854: LD_INT 10
1856: PPUSH
1857: LD_INT 4
1859: PPUSH
1860: CALL_OW 111
// wait ( 0 0$30 ) ;
1864: LD_INT 1050
1866: PPUSH
1867: CALL_OW 67
// comagressivemove ( FilterAllUnits ( [ f_side , 1 ] ) , 129 , 33 ) ;
1871: LD_INT 22
1873: PUSH
1874: LD_INT 1
1876: PUSH
1877: EMPTY
1878: LIST
1879: LIST
1880: PPUSH
1881: CALL_OW 69
1885: PPUSH
1886: LD_INT 129
1888: PPUSH
1889: LD_INT 33
1891: PPUSH
1892: CALL_OW 114
// enable ( 01 ) ;
1896: LD_INT 1
1898: ENABLE_MARKED
// if FilterAllUnits ( [ [ f_side , 4 ] , [ f_type , unit_human ] ] ) >= 8 then
1899: LD_INT 22
1901: PUSH
1902: LD_INT 4
1904: PUSH
1905: EMPTY
1906: LIST
1907: LIST
1908: PUSH
1909: LD_INT 21
1911: PUSH
1912: LD_INT 1
1914: PUSH
1915: EMPTY
1916: LIST
1917: LIST
1918: PUSH
1919: EMPTY
1920: LIST
1921: LIST
1922: PPUSH
1923: CALL_OW 69
1927: PUSH
1928: LD_INT 8
1930: GREATEREQUAL
1931: IFFALSE 1945
// begin AddMedal ( M3 , 1 ) ;
1933: LD_STRING M3
1935: PPUSH
1936: LD_INT 1
1938: PPUSH
1939: CALL_OW 101
// end else
1943: GO 1956
// begin AddMedal ( M3 , - 1 ) ;
1945: LD_STRING M3
1947: PPUSH
1948: LD_INT 1
1950: NEG
1951: PPUSH
1952: CALL_OW 101
// end ; end ;
1956: END
// every 0 0$01.3 trigger isinarea ( D , A64 ) marked 01 do var i , filter ;
1957: LD_INT 116
1959: PPUSH
1960: LD_INT 8
1962: PPUSH
1963: CALL_OW 308
1967: IFFALSE 2183
1969: GO 1971
1971: DISABLE
1972: LD_INT 0
1974: PPUSH
1975: PPUSH
// begin filter := FilterUnitsInArea ( D , [ f_side , 4 ] ) ;
1976: LD_ADDR_VAR 0 2
1980: PUSH
1981: LD_INT 116
1983: PPUSH
1984: LD_INT 22
1986: PUSH
1987: LD_INT 4
1989: PUSH
1990: EMPTY
1991: LIST
1992: LIST
1993: PPUSH
1994: CALL_OW 70
1998: ST_TO_ADDR
// for i = 1 to filter do
1999: LD_ADDR_VAR 0 1
2003: PUSH
2004: DOUBLE
2005: LD_INT 1
2007: DEC
2008: ST_TO_ADDR
2009: LD_VAR 0 2
2013: PUSH
2014: FOR_TO
2015: IFFALSE 2037
// begin SetSide ( filter [ i ] , 5 ) ;
2017: LD_VAR 0 2
2021: PUSH
2022: LD_VAR 0 1
2026: ARRAY
2027: PPUSH
2028: LD_INT 5
2030: PPUSH
2031: CALL_OW 235
// end ;
2035: GO 2014
2037: POP
2038: POP
// SetAreaMapShow ( A64 , 0 ) ;
2039: LD_INT 8
2041: PPUSH
2042: LD_INT 0
2044: PPUSH
2045: CALL_OW 424
// ingameon ;
2049: CALL_OW 8
// centeronunits ( D ) ;
2053: LD_INT 116
2055: PPUSH
2056: CALL_OW 85
// say ( Ken , K11 ) ;
2060: LD_INT 80
2062: PPUSH
2063: LD_STRING K11
2065: PPUSH
2066: CALL_OW 88
// say ( D , D15 ) ;
2070: LD_INT 116
2072: PPUSH
2073: LD_STRING D15
2075: PPUSH
2076: CALL_OW 88
// say ( sol , s7 ) ;
2080: LD_EXP 3
2084: PPUSH
2085: LD_STRING s7
2087: PPUSH
2088: CALL_OW 88
// say ( Ken , K12 ) ;
2092: LD_INT 80
2094: PPUSH
2095: LD_STRING K12
2097: PPUSH
2098: CALL_OW 88
// say ( Ken , K13 ) ;
2102: LD_INT 80
2104: PPUSH
2105: LD_STRING K13
2107: PPUSH
2108: CALL_OW 88
// say ( D , D16 ) ;
2112: LD_INT 116
2114: PPUSH
2115: LD_STRING D16
2117: PPUSH
2118: CALL_OW 88
// Center = 1 ;
2122: LD_ADDR_EXP 4
2126: PUSH
2127: LD_INT 1
2129: ST_TO_ADDR
// comenterunit ( [ sol , sol2 ] , arlab ) ;
2130: LD_EXP 3
2134: PUSH
2135: LD_EXP 2
2139: PUSH
2140: EMPTY
2141: LIST
2142: LIST
2143: PPUSH
2144: LD_INT 312
2146: PPUSH
2147: CALL_OW 120
// comenterunit ( Ken , NSwit ) ;
2151: LD_INT 80
2153: PPUSH
2154: LD_INT 61
2156: PPUSH
2157: CALL_OW 120
// commovetoarea ( [ D , sol1 ] , Wyjscie ) ;
2161: LD_INT 116
2163: PUSH
2164: LD_EXP 1
2168: PUSH
2169: EMPTY
2170: LIST
2171: LIST
2172: PPUSH
2173: LD_INT 1
2175: PPUSH
2176: CALL_OW 113
// enable ( 02 ) ;
2180: LD_INT 2
2182: ENABLE_MARKED
// end ;
2183: PPOPN 2
2185: END
// every 0 0$01.5 trigger isinarea ( D , Wyjscie ) marked 02 do
2186: LD_INT 116
2188: PPUSH
2189: LD_INT 1
2191: PPUSH
2192: CALL_OW 308
2196: IFFALSE 2363
2198: GO 2200
2200: DISABLE
// begin if FilterAllUnits ( [ [ f_side , 1 ] , [ f_type , b_depot ] ] ) = 0 then
2201: LD_INT 22
2203: PUSH
2204: LD_INT 1
2206: PUSH
2207: EMPTY
2208: LIST
2209: LIST
2210: PUSH
2211: LD_INT 21
2213: PUSH
2214: LD_INT 0
2216: PUSH
2217: EMPTY
2218: LIST
2219: LIST
2220: PUSH
2221: EMPTY
2222: LIST
2223: LIST
2224: PPUSH
2225: CALL_OW 69
2229: PUSH
2230: LD_INT 0
2232: EQUAL
2233: IFFALSE 2247
// begin AddMedal ( M2 , 1 ) ;
2235: LD_STRING M2
2237: PPUSH
2238: LD_INT 1
2240: PPUSH
2241: CALL_OW 101
// end else
2245: GO 2258
// begin AddMedal ( M2 , - 1 ) ;
2247: LD_STRING M2
2249: PPUSH
2250: LD_INT 1
2252: NEG
2253: PPUSH
2254: CALL_OW 101
// end ; AddMedal ( M1 , 1 ) ;
2258: LD_STRING M1
2260: PPUSH
2261: LD_INT 1
2263: PPUSH
2264: CALL_OW 101
// RewardPeople ( D ) ;
2268: LD_INT 116
2270: PPUSH
2271: CALL_OW 43
// SaveCharacters ( FilterAllUnits ( [ [ f_side , 5 ] , [ f_type , 1 ] , [ f_alive ] ] ) , zestaw ) ;
2275: LD_INT 22
2277: PUSH
2278: LD_INT 5
2280: PUSH
2281: EMPTY
2282: LIST
2283: LIST
2284: PUSH
2285: LD_INT 21
2287: PUSH
2288: LD_INT 1
2290: PUSH
2291: EMPTY
2292: LIST
2293: LIST
2294: PUSH
2295: LD_INT 51
2297: PUSH
2298: EMPTY
2299: LIST
2300: PUSH
2301: EMPTY
2302: LIST
2303: LIST
2304: LIST
2305: PPUSH
2306: CALL_OW 69
2310: PPUSH
2311: LD_STRING zestaw
2313: PPUSH
2314: CALL_OW 38
// SaveCharacters ( [ Ken , D , sol1 ] , [ Ken , Demi Koch , sol1 ] ) ;
2318: LD_INT 80
2320: PUSH
2321: LD_INT 116
2323: PUSH
2324: LD_EXP 1
2328: PUSH
2329: EMPTY
2330: LIST
2331: LIST
2332: LIST
2333: PPUSH
2334: LD_STRING Ken
2336: PUSH
2337: LD_STRING Demi Koch
2339: PUSH
2340: LD_STRING sol1
2342: PUSH
2343: EMPTY
2344: LIST
2345: LIST
2346: LIST
2347: PPUSH
2348: CALL_OW 38
// GiveMedals ( Medale ) ;
2352: LD_STRING Medale
2354: PPUSH
2355: CALL_OW 102
// YouWin ;
2359: CALL_OW 103
// end ; end_of_file
2363: END
// every 0 0$01 trigger isDead ( D ) do
2364: LD_INT 116
2366: PPUSH
2367: CALL_OW 301
2371: IFFALSE 2383
2373: GO 2375
2375: DISABLE
// begin YouLost ( Kill ) ;
2376: LD_STRING Kill
2378: PPUSH
2379: CALL_OW 104
// end ; end_of_file
2383: END
// export Center ; every 0 0$1 trigger Center = 1 do
2384: LD_EXP 4
2388: PUSH
2389: LD_INT 1
2391: EQUAL
2392: IFFALSE 2405
2394: GO 2396
2396: DISABLE
// begin ; CenterNowOnUnits ( D ) ;
2397: LD_INT 116
2399: PPUSH
2400: CALL_OW 87
// enable ;
2404: ENABLE
// end ; end_of_file
2405: END
// every 0 0$01 do var un , EnginerList , buildings , depots , i ;
2406: GO 2408
2408: DISABLE
2409: LD_INT 0
2411: PPUSH
2412: PPUSH
2413: PPUSH
2414: PPUSH
2415: PPUSH
// begin enable ;
2416: ENABLE
// EnginerList := FilterAllUnits ( [ [ [ f_side , 1 ] , [ f_class , 2 ] , [ f_lives , 1000 ] ] ] ) ;
2417: LD_ADDR_VAR 0 2
2421: PUSH
2422: LD_INT 22
2424: PUSH
2425: LD_INT 1
2427: PUSH
2428: EMPTY
2429: LIST
2430: LIST
2431: PUSH
2432: LD_INT 25
2434: PUSH
2435: LD_INT 2
2437: PUSH
2438: EMPTY
2439: LIST
2440: LIST
2441: PUSH
2442: LD_INT 24
2444: PUSH
2445: LD_INT 1000
2447: PUSH
2448: EMPTY
2449: LIST
2450: LIST
2451: PUSH
2452: EMPTY
2453: LIST
2454: LIST
2455: LIST
2456: PUSH
2457: EMPTY
2458: LIST
2459: PPUSH
2460: CALL_OW 69
2464: ST_TO_ADDR
// buildings := FilterAllUnits ( [ [ [ f_side , 1 ] , [ f_type , unit_building ] , [ f_not , [ f_lives , 1000 ] ] ] ] ) ;
2465: LD_ADDR_VAR 0 3
2469: PUSH
2470: LD_INT 22
2472: PUSH
2473: LD_INT 1
2475: PUSH
2476: EMPTY
2477: LIST
2478: LIST
2479: PUSH
2480: LD_INT 21
2482: PUSH
2483: LD_INT 3
2485: PUSH
2486: EMPTY
2487: LIST
2488: LIST
2489: PUSH
2490: LD_INT 3
2492: PUSH
2493: LD_INT 24
2495: PUSH
2496: LD_INT 1000
2498: PUSH
2499: EMPTY
2500: LIST
2501: LIST
2502: PUSH
2503: EMPTY
2504: LIST
2505: LIST
2506: PUSH
2507: EMPTY
2508: LIST
2509: LIST
2510: LIST
2511: PUSH
2512: EMPTY
2513: LIST
2514: PPUSH
2515: CALL_OW 69
2519: ST_TO_ADDR
// if buildings > 0 then
2520: LD_VAR 0 3
2524: PUSH
2525: LD_INT 0
2527: GREATER
2528: IFFALSE 2610
// begin for i = 1 to EnginerList do
2530: LD_ADDR_VAR 0 5
2534: PUSH
2535: DOUBLE
2536: LD_INT 1
2538: DEC
2539: ST_TO_ADDR
2540: LD_VAR 0 2
2544: PUSH
2545: FOR_TO
2546: IFFALSE 2608
// begin if IsInUnit ( EnginerList [ i ] ) then
2548: LD_VAR 0 2
2552: PUSH
2553: LD_VAR 0 5
2557: ARRAY
2558: PPUSH
2559: CALL_OW 310
2563: IFFALSE 2582
// ComExitBuilding ( EnginerList [ i ] ) else
2565: LD_VAR 0 2
2569: PUSH
2570: LD_VAR 0 5
2574: ARRAY
2575: PPUSH
2576: CALL_OW 122
2580: GO 2606
// ComRepairBuilding ( EnginerList [ i ] , buildings [ 1 ] ) ;
2582: LD_VAR 0 2
2586: PUSH
2587: LD_VAR 0 5
2591: ARRAY
2592: PPUSH
2593: LD_VAR 0 3
2597: PUSH
2598: LD_INT 1
2600: ARRAY
2601: PPUSH
2602: CALL_OW 130
// end ;
2606: GO 2545
2608: POP
2609: POP
// end ; if buildings = 0 then
2610: LD_VAR 0 3
2614: PUSH
2615: LD_INT 0
2617: EQUAL
2618: IFFALSE 2678
// begin for i = 1 to EnginerList do
2620: LD_ADDR_VAR 0 5
2624: PUSH
2625: DOUBLE
2626: LD_INT 1
2628: DEC
2629: ST_TO_ADDR
2630: LD_VAR 0 2
2634: PUSH
2635: FOR_TO
2636: IFFALSE 2676
// begin if not HasTask ( EnginerList [ i ] ) and not IsInUnit ( EnginerList [ i ] ) then
2638: LD_VAR 0 2
2642: PUSH
2643: LD_VAR 0 5
2647: ARRAY
2648: PPUSH
2649: CALL_OW 314
2653: NOT
2654: PUSH
2655: LD_VAR 0 2
2659: PUSH
2660: LD_VAR 0 5
2664: ARRAY
2665: PPUSH
2666: CALL_OW 310
2670: NOT
2671: AND
2672: IFFALSE 2674
// end ;
2674: GO 2635
2676: POP
2677: POP
// end ; end ;
2678: PPOPN 5
2680: END
