// starting begin exp ;
   0: CALL 412 0 0
// CenteronUnits ( J1 ) ;
   4: LD_EXP 2
   8: PPUSH
   9: CALL_OW 85
// RemoveUnit ( D ) ;
  13: LD_EXP 6
  17: PPUSH
  18: CALL_OW 64
// RemoveUnit ( AM ) ;
  22: LD_EXP 4
  26: PPUSH
  27: CALL_OW 64
// RemoveUnit ( M ) ;
  31: LD_EXP 3
  35: PPUSH
  36: CALL_OW 64
// RemoveUnit ( A1 ) ;
  40: LD_EXP 1
  44: PPUSH
  45: CALL_OW 64
// RemoveUnit ( K ) ;
  49: LD_EXP 7
  53: PPUSH
  54: CALL_OW 64
// SaveForQuickRestart ;
  58: CALL_OW 22
// resetfog ;
  62: CALL_OW 335
// Ingameon ;
  66: CALL_OW 8
// Dialogueon ;
  70: CALL_OW 6
// Say ( IZ , In ) ;
  74: LD_INT 199
  76: PPUSH
  77: LD_STRING In
  79: PPUSH
  80: CALL_OW 88
// SayRadio ( AB , Abdul Dabbar ) ;
  84: LD_INT 89
  86: PPUSH
  87: LD_STRING Abdul Dabbar
  89: PPUSH
  90: CALL_OW 94
// SayRadio ( IU , Imad Udin ) ;
  94: LD_INT 202
  96: PPUSH
  97: LD_STRING Imad Udin
  99: PPUSH
 100: CALL_OW 94
// SayRadio ( AB , Abdul D ) ;
 104: LD_INT 89
 106: PPUSH
 107: LD_STRING Abdul D
 109: PPUSH
 110: CALL_OW 94
// wait ( 0 0$2 ) ;
 114: LD_INT 70
 116: PPUSH
 117: CALL_OW 67
// Say ( KI , Kimiko ) ;
 121: LD_EXP 5
 125: PPUSH
 126: LD_STRING Kimiko
 128: PPUSH
 129: CALL_OW 88
// Say ( J1 , J9 ) ;
 133: LD_EXP 2
 137: PPUSH
 138: LD_STRING J9
 140: PPUSH
 141: CALL_OW 88
// Dialogueoff ;
 145: CALL_OW 7
// Ingameoff ;
 149: CALL_OW 9
// ChangeMissionObjectives ( CEL1 ) ;
 153: LD_STRING CEL1
 155: PPUSH
 156: CALL_OW 337
// ChangeMissionObjectives ( CEL3 ) ;
 160: LD_STRING CEL3
 162: PPUSH
 163: CALL_OW 337
// end ; end_of_file
 167: END
// every 0 0$01 trigger IsInArea ( IZ , Area31 ) do
 168: LD_INT 199
 170: PPUSH
 171: LD_INT 1
 173: PPUSH
 174: CALL_OW 308
 178: IFFALSE 274
 180: GO 182
 182: DISABLE
// begin ChangeMissionObjectives ( CEL1W ) ;
 183: LD_STRING CEL1W
 185: PPUSH
 186: CALL_OW 337
// SayRadio ( AB , AD1 ) ;
 190: LD_INT 89
 192: PPUSH
 193: LD_STRING AD1
 195: PPUSH
 196: CALL_OW 94
// SayRadio ( IU , IU ) ;
 200: LD_INT 202
 202: PPUSH
 203: LD_STRING IU
 205: PPUSH
 206: CALL_OW 94
// comagressivemove ( [ AB ] , 76 , 102 ) ;
 210: LD_INT 89
 212: PUSH
 213: EMPTY
 214: LIST
 215: PPUSH
 216: LD_INT 76
 218: PPUSH
 219: LD_INT 102
 221: PPUSH
 222: CALL_OW 114
// comagressivemove ( [ sab ] , 76 , 102 ) ;
 226: LD_INT 281
 228: PUSH
 229: EMPTY
 230: LIST
 231: PPUSH
 232: LD_INT 76
 234: PPUSH
 235: LD_INT 102
 237: PPUSH
 238: CALL_OW 114
// comagressivemove ( [ sab3 ] , 76 , 102 ) ;
 242: LD_INT 283
 244: PUSH
 245: EMPTY
 246: LIST
 247: PPUSH
 248: LD_INT 76
 250: PPUSH
 251: LD_INT 102
 253: PPUSH
 254: CALL_OW 114
// comagressivemove ( [ sab1 ] , 76 , 102 ) ;
 258: LD_INT 282
 260: PUSH
 261: EMPTY
 262: LIST
 263: PPUSH
 264: LD_INT 76
 266: PPUSH
 267: LD_INT 102
 269: PPUSH
 270: CALL_OW 114
// end ;
 274: END
// every 0 0$01 trigger IsInArea ( AB , Area40 ) do
 275: LD_INT 89
 277: PPUSH
 278: LD_INT 10
 280: PPUSH
 281: CALL_OW 308
 285: IFFALSE 381
 287: GO 289
 289: DISABLE
// begin Ingameon ;
 290: CALL_OW 8
// CenteronUnits ( AB ) ;
 294: LD_INT 89
 296: PPUSH
 297: CALL_OW 85
// Say ( AB , AD2 ) ;
 301: LD_INT 89
 303: PPUSH
 304: LD_STRING AD2
 306: PPUSH
 307: CALL_OW 88
// Say ( A1 , Alex12 ) ;
 311: LD_EXP 1
 315: PPUSH
 316: LD_STRING Alex12
 318: PPUSH
 319: CALL_OW 88
// Say ( AB , AD3 ) ;
 323: LD_INT 89
 325: PPUSH
 326: LD_STRING AD3
 328: PPUSH
 329: CALL_OW 88
// ChangeMissionObjectives ( CEL2 ) ;
 333: LD_STRING CEL2
 335: PPUSH
 336: CALL_OW 337
// Ingameoff ;
 340: CALL_OW 9
// CenteronUnits ( J1 ) ;
 344: LD_EXP 2
 348: PPUSH
 349: CALL_OW 85
// comagressivemove ( [ AB ] , 46 , 3 ) ;
 353: LD_INT 89
 355: PUSH
 356: EMPTY
 357: LIST
 358: PPUSH
 359: LD_INT 46
 361: PPUSH
 362: LD_INT 3
 364: PPUSH
 365: CALL_OW 114
// Say ( A1 , Alex13 ) ;
 369: LD_EXP 1
 373: PPUSH
 374: LD_STRING Alex13
 376: PPUSH
 377: CALL_OW 88
// end ;
 381: END
// every 0 0$01 trigger IsInArea ( AB , Area41 ) do
 382: LD_INT 89
 384: PPUSH
 385: LD_INT 11
 387: PPUSH
 388: CALL_OW 308
 392: IFFALSE 411
 394: GO 396
 396: DISABLE
// begin wait ( 0 0$1 ) ;
 397: LD_INT 35
 399: PPUSH
 400: CALL_OW 67
// YouLost ( Omar_Uciekl ) ;
 404: LD_STRING Omar_Uciekl
 406: PPUSH
 407: CALL_OW 104
// end ; end_of_file
 411: END
// export A1 , J1 , M , AM , KI , D , K ; export function exp ; begin
 412: LD_INT 0
 414: PPUSH
// uc_side = 5 ;
 415: LD_ADDR_OWVAR 20
 419: PUSH
 420: LD_INT 5
 422: ST_TO_ADDR
// uc_nation = 2 ;
 423: LD_ADDR_OWVAR 21
 427: PUSH
 428: LD_INT 2
 430: ST_TO_ADDR
// A1 := CreateCharacter ( A1 ) ;
 431: LD_ADDR_EXP 1
 435: PUSH
 436: LD_STRING A1
 438: PPUSH
 439: CALL_OW 34
 443: ST_TO_ADDR
// J1 := CreateCharacter ( J1 ) ;
 444: LD_ADDR_EXP 2
 448: PUSH
 449: LD_STRING J1
 451: PPUSH
 452: CALL_OW 34
 456: ST_TO_ADDR
// M := CreateCharacter ( M ) ;
 457: LD_ADDR_EXP 3
 461: PUSH
 462: LD_STRING M
 464: PPUSH
 465: CALL_OW 34
 469: ST_TO_ADDR
// AM := CreateCharacter ( AM ) ;
 470: LD_ADDR_EXP 4
 474: PUSH
 475: LD_STRING AM
 477: PPUSH
 478: CALL_OW 34
 482: ST_TO_ADDR
// KI := CreateCharacter ( KI ) ;
 483: LD_ADDR_EXP 5
 487: PUSH
 488: LD_STRING KI
 490: PPUSH
 491: CALL_OW 34
 495: ST_TO_ADDR
// K := CreateCharacter ( K ) ;
 496: LD_ADDR_EXP 7
 500: PUSH
 501: LD_STRING K
 503: PPUSH
 504: CALL_OW 34
 508: ST_TO_ADDR
// D := CreateCharacter ( D ) ;
 509: LD_ADDR_EXP 6
 513: PUSH
 514: LD_STRING D
 516: PPUSH
 517: CALL_OW 34
 521: ST_TO_ADDR
// PlaceUnitArea ( A1 , Area34 , false ) ;
 522: LD_EXP 1
 526: PPUSH
 527: LD_INT 4
 529: PPUSH
 530: LD_INT 0
 532: PPUSH
 533: CALL_OW 49
// PlaceUnitArea ( J1 , Area33 , false ) ;
 537: LD_EXP 2
 541: PPUSH
 542: LD_INT 3
 544: PPUSH
 545: LD_INT 0
 547: PPUSH
 548: CALL_OW 49
// PlaceUnitArea ( M , Area35 , false ) ;
 552: LD_EXP 3
 556: PPUSH
 557: LD_INT 5
 559: PPUSH
 560: LD_INT 0
 562: PPUSH
 563: CALL_OW 49
// PlaceUnitArea ( AM , Area36 , false ) ;
 567: LD_EXP 4
 571: PPUSH
 572: LD_INT 6
 574: PPUSH
 575: LD_INT 0
 577: PPUSH
 578: CALL_OW 49
// PlaceUnitArea ( KI , Area32 , false ) ;
 582: LD_EXP 5
 586: PPUSH
 587: LD_INT 2
 589: PPUSH
 590: LD_INT 0
 592: PPUSH
 593: CALL_OW 49
// PlaceUnitArea ( D , Area37 , false ) ;
 597: LD_EXP 6
 601: PPUSH
 602: LD_INT 7
 604: PPUSH
 605: LD_INT 0
 607: PPUSH
 608: CALL_OW 49
// PlaceUnitArea ( K , Area38 , false ) ;
 612: LD_EXP 7
 616: PPUSH
 617: LD_INT 8
 619: PPUSH
 620: LD_INT 0
 622: PPUSH
 623: CALL_OW 49
// end ; end_of_file
 627: LD_VAR 0 1
 631: RET
// every 0 0$0.1 trigger IsDead ( J1 ) do
 632: LD_EXP 2
 636: PPUSH
 637: CALL_OW 301
 641: IFFALSE 660
 643: GO 645
 645: DISABLE
// begin wait ( 0 0$1 ) ;
 646: LD_INT 35
 648: PPUSH
 649: CALL_OW 67
// YouLost ( John_nie_zyje ) ;
 653: LD_STRING John_nie_zyje
 655: PPUSH
 656: CALL_OW 104
// end ;
 660: END
// every 0 0$0.1 trigger IsDead ( KI ) do
 661: LD_EXP 5
 665: PPUSH
 666: CALL_OW 301
 670: IFFALSE 689
 672: GO 674
 674: DISABLE
// begin wait ( 0 0$1 ) ;
 675: LD_INT 35
 677: PPUSH
 678: CALL_OW 67
// YouLost ( Kimiko_nie_zyje ) ;
 682: LD_STRING Kimiko_nie_zyje
 684: PPUSH
 685: CALL_OW 104
// end ;
 689: END
// every 0 0$0.1 trigger IsDead ( IZ ) do
 690: LD_INT 199
 692: PPUSH
 693: CALL_OW 301
 697: IFFALSE 716
 699: GO 701
 701: DISABLE
// begin wait ( 0 0$1 ) ;
 702: LD_INT 35
 704: PPUSH
 705: CALL_OW 67
// YouLost ( Podwladny_nie_zyje ) ;
 709: LD_STRING Podwladny_nie_zyje
 711: PPUSH
 712: CALL_OW 104
// end ;
 716: END
// every 0 0$0.1 trigger IsDead ( TC ) do
 717: LD_INT 241
 719: PPUSH
 720: CALL_OW 301
 724: IFFALSE 743
 726: GO 728
 728: DISABLE
// begin wait ( 0 0$1 ) ;
 729: LD_INT 35
 731: PPUSH
 732: CALL_OW 67
// YouLost ( Podwladny_nie_zyje ) ;
 736: LD_STRING Podwladny_nie_zyje
 738: PPUSH
 739: CALL_OW 104
// end ;
 743: END
// every 0 0$0.1 trigger IsDead ( SL ) do
 744: LD_INT 239
 746: PPUSH
 747: CALL_OW 301
 751: IFFALSE 770
 753: GO 755
 755: DISABLE
// begin wait ( 0 0$1 ) ;
 756: LD_INT 35
 758: PPUSH
 759: CALL_OW 67
// YouLost ( Podwladny_nie_zyje ) ;
 763: LD_STRING Podwladny_nie_zyje
 765: PPUSH
 766: CALL_OW 104
// end ;
 770: END
// every 0 0$0.1 trigger IsDead ( LB ) do
 771: LD_INT 238
 773: PPUSH
 774: CALL_OW 301
 778: IFFALSE 797
 780: GO 782
 782: DISABLE
// begin wait ( 0 0$1 ) ;
 783: LD_INT 35
 785: PPUSH
 786: CALL_OW 67
// YouLost ( Podwladny_nie_zyje ) ;
 790: LD_STRING Podwladny_nie_zyje
 792: PPUSH
 793: CALL_OW 104
// end ;
 797: END
// every 0 0$0.1 trigger IsDead ( KI ) do
 798: LD_EXP 5
 802: PPUSH
 803: CALL_OW 301
 807: IFFALSE 826
 809: GO 811
 811: DISABLE
// begin wait ( 0 0$1 ) ;
 812: LD_INT 35
 814: PPUSH
 815: CALL_OW 67
// YouLost ( Podwladny_nie_zyje ) ;
 819: LD_STRING Podwladny_nie_zyje
 821: PPUSH
 822: CALL_OW 104
// end ;
 826: END
// every 0 0$0.1 trigger IsDead ( NA ) do
 827: LD_INT 240
 829: PPUSH
 830: CALL_OW 301
 834: IFFALSE 853
 836: GO 838
 838: DISABLE
// begin wait ( 0 0$1 ) ;
 839: LD_INT 35
 841: PPUSH
 842: CALL_OW 67
// YouLost ( Podwladny_nie_zyje ) ;
 846: LD_STRING Podwladny_nie_zyje
 848: PPUSH
 849: CALL_OW 104
// end ;
 853: END
// every 0 0$0.1 trigger IsDead ( NJ ) do
 854: LD_INT 237
 856: PPUSH
 857: CALL_OW 301
 861: IFFALSE 880
 863: GO 865
 865: DISABLE
// begin wait ( 0 0$1 ) ;
 866: LD_INT 35
 868: PPUSH
 869: CALL_OW 67
// YouLost ( Podwladny_nie_zyje ) ;
 873: LD_STRING Podwladny_nie_zyje
 875: PPUSH
 876: CALL_OW 104
// end ;
 880: END
// every 0 0$1 trigger IsDead ( baza ) do
 881: LD_INT 66
 883: PPUSH
 884: CALL_OW 301
 888: IFFALSE 1025
 890: GO 892
 892: DISABLE
// begin ChangeMissionObjectives ( CEL4W ) ;
 893: LD_STRING CEL4W
 895: PPUSH
 896: CALL_OW 337
// SaveCharacters ( A1 , A1 ) ;
 900: LD_EXP 1
 904: PPUSH
 905: LD_STRING A1
 907: PPUSH
 908: CALL_OW 38
// SaveCharacters ( J1 , J1 ) ;
 912: LD_EXP 2
 916: PPUSH
 917: LD_STRING J1
 919: PPUSH
 920: CALL_OW 38
// SaveCharacters ( AM , AM ) ;
 924: LD_EXP 4
 928: PPUSH
 929: LD_STRING AM
 931: PPUSH
 932: CALL_OW 38
// SaveCharacters ( D , D ) ;
 936: LD_EXP 6
 940: PPUSH
 941: LD_STRING D
 943: PPUSH
 944: CALL_OW 38
// SaveCharacters ( K , K ) ;
 948: LD_EXP 7
 952: PPUSH
 953: LD_STRING K
 955: PPUSH
 956: CALL_OW 38
// SaveCharacters ( M , M ) ;
 960: LD_EXP 3
 964: PPUSH
 965: LD_STRING M
 967: PPUSH
 968: CALL_OW 38
// SaveCharacters ( KI , KI ) ;
 972: LD_EXP 5
 976: PPUSH
 977: LD_STRING KI
 979: PPUSH
 980: CALL_OW 38
// AddMedal ( medal1 , 1 ) ;
 984: LD_STRING medal1
 986: PPUSH
 987: LD_INT 1
 989: PPUSH
 990: CALL_OW 101
// AddMedal ( medal2 , 1 ) ;
 994: LD_STRING medal2
 996: PPUSH
 997: LD_INT 1
 999: PPUSH
1000: CALL_OW 101
// AddMedal ( medal3 , 1 ) ;
1004: LD_STRING medal3
1006: PPUSH
1007: LD_INT 1
1009: PPUSH
1010: CALL_OW 101
// GiveMedals ( Main ) ;
1014: LD_STRING Main
1016: PPUSH
1017: CALL_OW 102
// YouWin ;
1021: CALL_OW 103
// end ;
1025: END
// every 0 0$0.1 trigger IsDead ( AB ) do
1026: LD_INT 89
1028: PPUSH
1029: CALL_OW 301
1033: IFFALSE 1211
1035: GO 1037
1037: DISABLE
// begin ChangeMissionObjectives ( CEL2W ) ;
1038: LD_STRING CEL2W
1040: PPUSH
1041: CALL_OW 337
// SayRadio ( IU , IU2 ) ;
1045: LD_INT 202
1047: PPUSH
1048: LD_STRING IU2
1050: PPUSH
1051: CALL_OW 94
// Say ( A1 , Alex14 ) ;
1055: LD_EXP 1
1059: PPUSH
1060: LD_STRING Alex14
1062: PPUSH
1063: CALL_OW 88
// wait ( 0 0$3 ) ;
1067: LD_INT 105
1069: PPUSH
1070: CALL_OW 67
// SayRadio ( IU , IU3 ) ;
1074: LD_INT 202
1076: PPUSH
1077: LD_STRING IU3
1079: PPUSH
1080: CALL_OW 94
// SayRadio ( s6 , soldate ) ;
1084: LD_INT 162
1086: PPUSH
1087: LD_STRING soldate
1089: PPUSH
1090: CALL_OW 94
// ChangeMissionObjectives ( CEL4 ) ;
1094: LD_STRING CEL4
1096: PPUSH
1097: CALL_OW 337
// ChangeMissionObjectives ( CEL5 ) ;
1101: LD_STRING CEL5
1103: PPUSH
1104: CALL_OW 337
// wait ( 0 0$2 ) ;
1108: LD_INT 70
1110: PPUSH
1111: CALL_OW 67
// Say ( A1 , Alex15 ) ;
1115: LD_EXP 1
1119: PPUSH
1120: LD_STRING Alex15
1122: PPUSH
1123: CALL_OW 88
// Say ( SL , sol1 ) ;
1127: LD_INT 239
1129: PPUSH
1130: LD_STRING sol1
1132: PPUSH
1133: CALL_OW 88
// Say ( A1 , Alex16 ) ;
1137: LD_EXP 1
1141: PPUSH
1142: LD_STRING Alex16
1144: PPUSH
1145: CALL_OW 88
// Say ( SL , sol2 ) ;
1149: LD_INT 239
1151: PPUSH
1152: LD_STRING sol2
1154: PPUSH
1155: CALL_OW 88
// wait ( 2 2$0 ) ;
1159: LD_INT 4200
1161: PPUSH
1162: CALL_OW 67
// arabsojusz ;
1166: CALL 1876 0 0
// Say ( SL , sol3 ) ;
1170: LD_INT 239
1172: PPUSH
1173: LD_STRING sol3
1175: PPUSH
1176: CALL_OW 88
// Say ( A1 , Alex17 ) ;
1180: LD_EXP 1
1184: PPUSH
1185: LD_STRING Alex17
1187: PPUSH
1188: CALL_OW 88
// wait ( 3 3$0 ) ;
1192: LD_INT 6300
1194: PPUSH
1195: CALL_OW 67
// arabwrog ;
1199: CALL 1513 0 0
// attacks_enabled = true ;
1203: LD_ADDR_EXP 8
1207: PUSH
1208: LD_INT 1
1210: ST_TO_ADDR
// end ;
1211: END
// export attacks_enabled ; end_of_file every 1 1$00 do
1212: GO 1214
1214: DISABLE
// begin enable ;
1215: ENABLE
// CreateCratesArea ( Rand ( 1 , 5 ) , Area39 , true ) end ; end_of_file
1216: LD_INT 1
1218: PPUSH
1219: LD_INT 5
1221: PPUSH
1222: CALL_OW 12
1226: PPUSH
1227: LD_INT 9
1229: PPUSH
1230: LD_INT 1
1232: PPUSH
1233: CALL_OW 55
1237: END
// every 0 0$01 do var un , EnginerList , buildings , depots , i ;
1238: GO 1240
1240: DISABLE
1241: LD_INT 0
1243: PPUSH
1244: PPUSH
1245: PPUSH
1246: PPUSH
1247: PPUSH
// begin enable ;
1248: ENABLE
// EnginerList := FilterAllUnits ( [ [ [ f_side , 8 ] , [ f_class , 2 ] , [ f_lives , 1000 ] ] ] ) ;
1249: LD_ADDR_VAR 0 2
1253: PUSH
1254: LD_INT 22
1256: PUSH
1257: LD_INT 8
1259: PUSH
1260: EMPTY
1261: LIST
1262: LIST
1263: PUSH
1264: LD_INT 25
1266: PUSH
1267: LD_INT 2
1269: PUSH
1270: EMPTY
1271: LIST
1272: LIST
1273: PUSH
1274: LD_INT 24
1276: PUSH
1277: LD_INT 1000
1279: PUSH
1280: EMPTY
1281: LIST
1282: LIST
1283: PUSH
1284: EMPTY
1285: LIST
1286: LIST
1287: LIST
1288: PUSH
1289: EMPTY
1290: LIST
1291: PPUSH
1292: CALL_OW 69
1296: ST_TO_ADDR
// buildings := FilterAllUnits ( [ [ [ f_side , 8 ] , [ f_type , unit_building ] , [ f_not , [ f_lives , 1000 ] ] ] ] ) ;
1297: LD_ADDR_VAR 0 3
1301: PUSH
1302: LD_INT 22
1304: PUSH
1305: LD_INT 8
1307: PUSH
1308: EMPTY
1309: LIST
1310: LIST
1311: PUSH
1312: LD_INT 21
1314: PUSH
1315: LD_INT 3
1317: PUSH
1318: EMPTY
1319: LIST
1320: LIST
1321: PUSH
1322: LD_INT 3
1324: PUSH
1325: LD_INT 24
1327: PUSH
1328: LD_INT 1000
1330: PUSH
1331: EMPTY
1332: LIST
1333: LIST
1334: PUSH
1335: EMPTY
1336: LIST
1337: LIST
1338: PUSH
1339: EMPTY
1340: LIST
1341: LIST
1342: LIST
1343: PUSH
1344: EMPTY
1345: LIST
1346: PPUSH
1347: CALL_OW 69
1351: ST_TO_ADDR
// if buildings > 0 then
1352: LD_VAR 0 3
1356: PUSH
1357: LD_INT 0
1359: GREATER
1360: IFFALSE 1442
// begin for i = 1 to EnginerList do
1362: LD_ADDR_VAR 0 5
1366: PUSH
1367: DOUBLE
1368: LD_INT 1
1370: DEC
1371: ST_TO_ADDR
1372: LD_VAR 0 2
1376: PUSH
1377: FOR_TO
1378: IFFALSE 1440
// begin if IsInUnit ( EnginerList [ i ] ) then
1380: LD_VAR 0 2
1384: PUSH
1385: LD_VAR 0 5
1389: ARRAY
1390: PPUSH
1391: CALL_OW 310
1395: IFFALSE 1414
// ComExitBuilding ( EnginerList [ i ] ) else
1397: LD_VAR 0 2
1401: PUSH
1402: LD_VAR 0 5
1406: ARRAY
1407: PPUSH
1408: CALL_OW 122
1412: GO 1438
// ComRepairBuilding ( EnginerList [ i ] , buildings [ 1 ] ) ;
1414: LD_VAR 0 2
1418: PUSH
1419: LD_VAR 0 5
1423: ARRAY
1424: PPUSH
1425: LD_VAR 0 3
1429: PUSH
1430: LD_INT 1
1432: ARRAY
1433: PPUSH
1434: CALL_OW 130
// end ;
1438: GO 1377
1440: POP
1441: POP
// end ; if buildings = 0 then
1442: LD_VAR 0 3
1446: PUSH
1447: LD_INT 0
1449: EQUAL
1450: IFFALSE 1510
// begin for i = 1 to EnginerList do
1452: LD_ADDR_VAR 0 5
1456: PUSH
1457: DOUBLE
1458: LD_INT 1
1460: DEC
1461: ST_TO_ADDR
1462: LD_VAR 0 2
1466: PUSH
1467: FOR_TO
1468: IFFALSE 1508
// begin if not HasTask ( EnginerList [ i ] ) and not IsInUnit ( EnginerList [ i ] ) then
1470: LD_VAR 0 2
1474: PUSH
1475: LD_VAR 0 5
1479: ARRAY
1480: PPUSH
1481: CALL_OW 314
1485: NOT
1486: PUSH
1487: LD_VAR 0 2
1491: PUSH
1492: LD_VAR 0 5
1496: ARRAY
1497: PPUSH
1498: CALL_OW 310
1502: NOT
1503: AND
1504: IFFALSE 1506
// end ;
1506: GO 1467
1508: POP
1509: POP
// end ; end ; end_of_file
1510: PPOPN 5
1512: END
// export soldat1 , soldat2 , soldat3 , soldat4 , mechanik3 , mechanik4 , hg1 , hg2 ; export function arabwrog ; begin
1513: LD_INT 0
1515: PPUSH
// uc_side = 8 ;
1516: LD_ADDR_OWVAR 20
1520: PUSH
1521: LD_INT 8
1523: ST_TO_ADDR
// uc_nation = nation_arabian ;
1524: LD_ADDR_OWVAR 21
1528: PUSH
1529: LD_INT 2
1531: ST_TO_ADDR
// hc_class = CLASS_SOLDIER ;
1532: LD_ADDR_OWVAR 28
1536: PUSH
1537: LD_INT 1
1539: ST_TO_ADDR
// PrepareSoldierSkills ( 4 ) ;
1540: LD_INT 4
1542: PPUSH
1543: CALL_OW 375
// soldat1 = CreateHuman ;
1547: LD_ADDR_EXP 9
1551: PUSH
1552: CALL_OW 44
1556: ST_TO_ADDR
// soldat2 = CreateHuman ;
1557: LD_ADDR_EXP 10
1561: PUSH
1562: CALL_OW 44
1566: ST_TO_ADDR
// soldat3 = CreateHuman ;
1567: LD_ADDR_EXP 11
1571: PUSH
1572: CALL_OW 44
1576: ST_TO_ADDR
// soldat4 = CreateHuman ;
1577: LD_ADDR_EXP 12
1581: PUSH
1582: CALL_OW 44
1586: ST_TO_ADDR
// PlaceUnitArea ( soldat1 , Area44 , false ) ;
1587: LD_EXP 9
1591: PPUSH
1592: LD_INT 13
1594: PPUSH
1595: LD_INT 0
1597: PPUSH
1598: CALL_OW 49
// PlaceUnitArea ( soldat2 , Area44 , false ) ;
1602: LD_EXP 10
1606: PPUSH
1607: LD_INT 13
1609: PPUSH
1610: LD_INT 0
1612: PPUSH
1613: CALL_OW 49
// PlaceUnitArea ( soldat3 , Area44 , false ) ;
1617: LD_EXP 11
1621: PPUSH
1622: LD_INT 13
1624: PPUSH
1625: LD_INT 0
1627: PPUSH
1628: CALL_OW 49
// PlaceUnitArea ( soldat4 , Area44 , false ) ;
1632: LD_EXP 12
1636: PPUSH
1637: LD_INT 13
1639: PPUSH
1640: LD_INT 0
1642: PPUSH
1643: CALL_OW 49
// uc_side = 8 ;
1647: LD_ADDR_OWVAR 20
1651: PUSH
1652: LD_INT 8
1654: ST_TO_ADDR
// uc_nation = nation_arabian ;
1655: LD_ADDR_OWVAR 21
1659: PUSH
1660: LD_INT 2
1662: ST_TO_ADDR
// hc_class = CLASS_MECHANIC ;
1663: LD_ADDR_OWVAR 28
1667: PUSH
1668: LD_INT 3
1670: ST_TO_ADDR
// PrepareMechanicSkills ( 4 ) ;
1671: LD_INT 4
1673: PPUSH
1674: CALL_OW 377
// mechanik3 = CreateHuman ;
1678: LD_ADDR_EXP 13
1682: PUSH
1683: CALL_OW 44
1687: ST_TO_ADDR
// mechanik4 = CreateHuman ;
1688: LD_ADDR_EXP 14
1692: PUSH
1693: CALL_OW 44
1697: ST_TO_ADDR
// vc_chassis = ar_half_tracked ;
1698: LD_ADDR_OWVAR 37
1702: PUSH
1703: LD_INT 14
1705: ST_TO_ADDR
// vc_engine = engine_combustion ;
1706: LD_ADDR_OWVAR 39
1710: PUSH
1711: LD_INT 1
1713: ST_TO_ADDR
// vc_control = control_manual ;
1714: LD_ADDR_OWVAR 38
1718: PUSH
1719: LD_INT 1
1721: ST_TO_ADDR
// vc_weapon = ar_light_gun ;
1722: LD_ADDR_OWVAR 40
1726: PUSH
1727: LD_INT 23
1729: ST_TO_ADDR
// hg1 = CreateVehicle ;
1730: LD_ADDR_EXP 15
1734: PUSH
1735: CALL_OW 45
1739: ST_TO_ADDR
// hg2 = CreateVehicle ;
1740: LD_ADDR_EXP 16
1744: PUSH
1745: CALL_OW 45
1749: ST_TO_ADDR
// PlaceHumanInUnit ( mechanik3 , hg1 ) ;
1750: LD_EXP 13
1754: PPUSH
1755: LD_EXP 15
1759: PPUSH
1760: CALL_OW 52
// PlaceHumanInUnit ( mechanik4 , hg2 ) ;
1764: LD_EXP 14
1768: PPUSH
1769: LD_EXP 16
1773: PPUSH
1774: CALL_OW 52
// PlaceUnitArea ( hg1 , Area44 , false ) ;
1778: LD_EXP 15
1782: PPUSH
1783: LD_INT 13
1785: PPUSH
1786: LD_INT 0
1788: PPUSH
1789: CALL_OW 49
// PlaceUnitArea ( hg2 , Area44 , false ) ;
1793: LD_EXP 16
1797: PPUSH
1798: LD_INT 13
1800: PPUSH
1801: LD_INT 0
1803: PPUSH
1804: CALL_OW 49
// comagressivemove ( [ soldat1 , soldat2 , soldat3 , soldat4 , hg1 , hg2 ] , 52 , 94 ) ;
1808: LD_EXP 9
1812: PUSH
1813: LD_EXP 10
1817: PUSH
1818: LD_EXP 11
1822: PUSH
1823: LD_EXP 12
1827: PUSH
1828: LD_EXP 15
1832: PUSH
1833: LD_EXP 16
1837: PUSH
1838: EMPTY
1839: LIST
1840: LIST
1841: LIST
1842: LIST
1843: LIST
1844: LIST
1845: PPUSH
1846: LD_INT 52
1848: PPUSH
1849: LD_INT 94
1851: PPUSH
1852: CALL_OW 114
// end ;
1856: LD_VAR 0 1
1860: RET
// every 3 3$00 trigger attacks_enabled do
1861: LD_EXP 8
1865: IFFALSE 1875
1867: GO 1869
1869: DISABLE
// begin enable ;
1870: ENABLE
// arabwrog ;
1871: CALL 1513 0 0
// end ; end_of_file
1875: END
// export soldat7 , soldat8 , soldat9 , soldat10 , soldat11 ; export mechanik1 , mechanik2 ; export function arabsojusz ; begin
1876: LD_INT 0
1878: PPUSH
// uc_side = 5 ;
1879: LD_ADDR_OWVAR 20
1883: PUSH
1884: LD_INT 5
1886: ST_TO_ADDR
// uc_nation = nation_arabian ;
1887: LD_ADDR_OWVAR 21
1891: PUSH
1892: LD_INT 2
1894: ST_TO_ADDR
// hc_class = CLASS_SOLDIER ;
1895: LD_ADDR_OWVAR 28
1899: PUSH
1900: LD_INT 1
1902: ST_TO_ADDR
// PrepareSoldierSkills ( 4 ) ;
1903: LD_INT 4
1905: PPUSH
1906: CALL_OW 375
// soldat7 = CreateHuman ;
1910: LD_ADDR_EXP 17
1914: PUSH
1915: CALL_OW 44
1919: ST_TO_ADDR
// soldat8 = CreateHuman ;
1920: LD_ADDR_EXP 18
1924: PUSH
1925: CALL_OW 44
1929: ST_TO_ADDR
// soldat9 = CreateHuman ;
1930: LD_ADDR_EXP 19
1934: PUSH
1935: CALL_OW 44
1939: ST_TO_ADDR
// soldat10 = CreateHuman ;
1940: LD_ADDR_EXP 20
1944: PUSH
1945: CALL_OW 44
1949: ST_TO_ADDR
// soldat11 = CreateHuman ;
1950: LD_ADDR_EXP 21
1954: PUSH
1955: CALL_OW 44
1959: ST_TO_ADDR
// hc_class = CLASS_MECHANIC ;
1960: LD_ADDR_OWVAR 28
1964: PUSH
1965: LD_INT 3
1967: ST_TO_ADDR
// PrepareMechanicSkills ( 4 ) ;
1968: LD_INT 4
1970: PPUSH
1971: CALL_OW 377
// mechanik1 = CreateHuman ;
1975: LD_ADDR_EXP 22
1979: PUSH
1980: CALL_OW 44
1984: ST_TO_ADDR
// mechanik2 = CreateHuman ;
1985: LD_ADDR_EXP 23
1989: PUSH
1990: CALL_OW 44
1994: ST_TO_ADDR
// PlaceUnitArea ( soldat7 , Area64 , false ) ;
1995: LD_EXP 17
1999: PPUSH
2000: LD_INT 12
2002: PPUSH
2003: LD_INT 0
2005: PPUSH
2006: CALL_OW 49
// PlaceUnitArea ( soldat8 , Area64 , false ) ;
2010: LD_EXP 18
2014: PPUSH
2015: LD_INT 12
2017: PPUSH
2018: LD_INT 0
2020: PPUSH
2021: CALL_OW 49
// PlaceUnitArea ( soldat9 , Area64 , false ) ;
2025: LD_EXP 19
2029: PPUSH
2030: LD_INT 12
2032: PPUSH
2033: LD_INT 0
2035: PPUSH
2036: CALL_OW 49
// PlaceUnitArea ( soldat10 , Area64 , false ) ;
2040: LD_EXP 20
2044: PPUSH
2045: LD_INT 12
2047: PPUSH
2048: LD_INT 0
2050: PPUSH
2051: CALL_OW 49
// PlaceUnitArea ( soldat11 , Area64 , false ) ;
2055: LD_EXP 21
2059: PPUSH
2060: LD_INT 12
2062: PPUSH
2063: LD_INT 0
2065: PPUSH
2066: CALL_OW 49
// PlaceUnitArea ( mechanik1 , Area64 , false ) ;
2070: LD_EXP 22
2074: PPUSH
2075: LD_INT 12
2077: PPUSH
2078: LD_INT 0
2080: PPUSH
2081: CALL_OW 49
// PlaceUnitArea ( mechanik2 , Area64 , false ) ;
2085: LD_EXP 23
2089: PPUSH
2090: LD_INT 12
2092: PPUSH
2093: LD_INT 0
2095: PPUSH
2096: CALL_OW 49
// end ; end_of_file
2100: LD_VAR 0 1
2104: RET
// every 0 0$01 do
2105: GO 2107
2107: DISABLE
// begin ComEnterUnit ( sab3a , b1 ) ;
2108: LD_INT 289
2110: PPUSH
2111: LD_INT 75
2113: PPUSH
2114: CALL_OW 120
// ComEnterUnit ( n1 , b9 ) ;
2118: LD_INT 169
2120: PPUSH
2121: LD_INT 151
2123: PPUSH
2124: CALL_OW 120
// ComEnterUnit ( s1 , b8 ) ;
2128: LD_INT 170
2130: PPUSH
2131: LD_INT 101
2133: PPUSH
2134: CALL_OW 120
// ComEnterUnit ( s2 , b7 ) ;
2138: LD_INT 168
2140: PPUSH
2141: LD_INT 118
2143: PPUSH
2144: CALL_OW 120
// ComEnterUnit ( s3 , b6 ) ;
2148: LD_INT 179
2150: PPUSH
2151: LD_INT 117
2153: PPUSH
2154: CALL_OW 120
// ComEnterUnit ( s4 , b5 ) ;
2158: LD_INT 163
2160: PPUSH
2161: LD_INT 109
2163: PPUSH
2164: CALL_OW 120
// ComEnterUnit ( s5 , b5 ) ;
2168: LD_INT 161
2170: PPUSH
2171: LD_INT 109
2173: PPUSH
2174: CALL_OW 120
// ComEnterUnit ( s6 , b5 ) ;
2178: LD_INT 162
2180: PPUSH
2181: LD_INT 109
2183: PPUSH
2184: CALL_OW 120
// ComEnterUnit ( s7 , b4 ) ;
2188: LD_INT 166
2190: PPUSH
2191: LD_INT 116
2193: PPUSH
2194: CALL_OW 120
// ComEnterUnit ( IU , b5 ) ;
2198: LD_INT 202
2200: PPUSH
2201: LD_INT 109
2203: PPUSH
2204: CALL_OW 120
// ComEnterUnit ( s8 , b3 ) ;
2208: LD_INT 165
2210: PPUSH
2211: LD_INT 221
2213: PPUSH
2214: CALL_OW 120
// ComEnterUnit ( s9 , b2 ) ;
2218: LD_INT 164
2220: PPUSH
2221: LD_INT 120
2223: PPUSH
2224: CALL_OW 120
// ComEnterUnit ( d1 , a11 ) ;
2228: LD_INT 273
2230: PPUSH
2231: LD_INT 263
2233: PPUSH
2234: CALL_OW 120
// ComEnterUnit ( d2 , a11 ) ;
2238: LD_INT 274
2240: PPUSH
2241: LD_INT 263
2243: PPUSH
2244: CALL_OW 120
// ComEnterUnit ( d3 , a2 ) ;
2248: LD_INT 258
2250: PPUSH
2251: LD_INT 250
2253: PPUSH
2254: CALL_OW 120
// ComEnterUnit ( d4 , a3 ) ;
2258: LD_INT 257
2260: PPUSH
2261: LD_INT 253
2263: PPUSH
2264: CALL_OW 120
// ComEnterUnit ( d5 , a4 ) ;
2268: LD_INT 259
2270: PPUSH
2271: LD_INT 254
2273: PPUSH
2274: CALL_OW 120
// ComEnterUnit ( d6 , a4 ) ;
2278: LD_INT 260
2280: PPUSH
2281: LD_INT 254
2283: PPUSH
2284: CALL_OW 120
// end ;
2288: END
