// export terminator , dyplomata ; starting begin satan_side := 3 ;
   0: LD_ADDR_EXP 15
   4: PUSH
   5: LD_INT 3
   7: ST_TO_ADDR
// major_side := 1 ;
   8: LD_ADDR_EXP 14
  12: PUSH
  13: LD_INT 1
  15: ST_TO_ADDR
// depot_side := 4 ;
  16: LD_ADDR_EXP 16
  20: PUSH
  21: LD_INT 4
  23: ST_TO_ADDR
// disable ( 001 ) ;
  24: LD_INT 1
  26: DISABLE_MARKED
// disable ( 003 ) ;
  27: LD_INT 3
  29: DISABLE_MARKED
// disable ( 004 ) ;
  30: LD_INT 4
  32: DISABLE_MARKED
// disable ( 005 ) ;
  33: LD_INT 5
  35: DISABLE_MARKED
// disable ( 006 ) ;
  36: LD_INT 6
  38: DISABLE_MARKED
// disable ( 007 ) ;
  39: LD_INT 7
  41: DISABLE_MARKED
// disable ( 008 ) ;
  42: LD_INT 8
  44: DISABLE_MARKED
// disable ( 010 ) ;
  45: LD_INT 10
  47: DISABLE_MARKED
// disable ( 011 ) ;
  48: LD_INT 11
  50: DISABLE_MARKED
// disable ( 012 ) ;
  51: LD_INT 12
  53: DISABLE_MARKED
// disable ( 100 ) ;
  54: LD_INT 100
  56: DISABLE_MARKED
// ComTurnUnit ( ape , ivan ) ;
  57: LD_INT 3
  59: PPUSH
  60: LD_INT 1
  62: PPUSH
  63: CALL_OW 119
// InGameOn ;
  67: CALL_OW 8
// CenterOnUnits ( ivan ) ;
  71: LD_INT 1
  73: PPUSH
  74: CALL_OW 85
// DialogueOn ;
  78: CALL_OW 6
// Say ( michail , M1-3 ) ;
  82: LD_INT 2
  84: PPUSH
  85: LD_STRING M1-3
  87: PPUSH
  88: CALL_OW 88
// Say ( ivan , I1-3 ) ;
  92: LD_INT 1
  94: PPUSH
  95: LD_STRING I1-3
  97: PPUSH
  98: CALL_OW 88
// Say ( ape , A1-1 ) ;
 102: LD_INT 3
 104: PPUSH
 105: LD_STRING A1-1
 107: PPUSH
 108: CALL_OW 88
// Say ( michail , M1-4 ) ;
 112: LD_INT 2
 114: PPUSH
 115: LD_STRING M1-4
 117: PPUSH
 118: CALL_OW 88
// Say ( ape , A1-2 ) ;
 122: LD_INT 3
 124: PPUSH
 125: LD_STRING A1-2
 127: PPUSH
 128: CALL_OW 88
// Say ( ivan , I1-4 ) ;
 132: LD_INT 1
 134: PPUSH
 135: LD_STRING I1-4
 137: PPUSH
 138: CALL_OW 88
// Say ( ape , A1-3 ) ;
 142: LD_INT 3
 144: PPUSH
 145: LD_STRING A1-3
 147: PPUSH
 148: CALL_OW 88
// Say ( ape , A1-4 ) ;
 152: LD_INT 3
 154: PPUSH
 155: LD_STRING A1-4
 157: PPUSH
 158: CALL_OW 88
// Say ( michail , M1-5 ) ;
 162: LD_INT 2
 164: PPUSH
 165: LD_STRING M1-5
 167: PPUSH
 168: CALL_OW 88
// Say ( ape , A1-5 ) ;
 172: LD_INT 3
 174: PPUSH
 175: LD_STRING A1-5
 177: PPUSH
 178: CALL_OW 88
// DialogueOff ;
 182: CALL_OW 7
// ChangeMissionObjectives ( CEL0 ) ;
 186: LD_STRING CEL0
 188: PPUSH
 189: CALL_OW 337
// ComTurnXY ( ape , 1 , 1 ) ;
 193: LD_INT 3
 195: PPUSH
 196: LD_INT 1
 198: PPUSH
 199: LD_INT 1
 201: PPUSH
 202: CALL_OW 118
// ComTurnXY ( ape , 99 , 1 ) ;
 206: LD_INT 3
 208: PPUSH
 209: LD_INT 99
 211: PPUSH
 212: LD_INT 1
 214: PPUSH
 215: CALL_OW 118
// ComTurnXY ( ape , 168 , 139 ) ;
 219: LD_INT 3
 221: PPUSH
 222: LD_INT 168
 224: PPUSH
 225: LD_INT 139
 227: PPUSH
 228: CALL_OW 118
// ComTurnXY ( ape , 70 , 139 ) ;
 232: LD_INT 3
 234: PPUSH
 235: LD_INT 70
 237: PPUSH
 238: LD_INT 139
 240: PPUSH
 241: CALL_OW 118
// DestroyUnit ( ape ) ;
 245: LD_INT 3
 247: PPUSH
 248: CALL_OW 65
// InGameOff ;
 252: CALL_OW 9
// SaveForQuickRestart ;
 256: CALL_OW 22
// end ;
 260: END
// every 0 0$1 trigger IsInArea ( ivan , bejs ) or IsInArea ( michail , bejs ) do
 261: LD_INT 1
 263: PPUSH
 264: LD_INT 11
 266: PPUSH
 267: CALL_OW 308
 271: PUSH
 272: LD_INT 2
 274: PPUSH
 275: LD_INT 11
 277: PPUSH
 278: CALL_OW 308
 282: OR
 283: IFFALSE 469
 285: GO 287
 287: DISABLE
// begin InGameOn ;
 288: CALL_OW 8
// DialogueOn ;
 292: CALL_OW 6
// SayRadio ( eng1 , E1-1 ) ;
 296: LD_EXP 3
 300: PPUSH
 301: LD_STRING E1-1
 303: PPUSH
 304: CALL_OW 94
// Say ( michail , M1-7 ) ;
 308: LD_INT 2
 310: PPUSH
 311: LD_STRING M1-7
 313: PPUSH
 314: CALL_OW 88
// SayRadio ( major , M2-1 ) ;
 318: LD_EXP 13
 322: PPUSH
 323: LD_STRING M2-1
 325: PPUSH
 326: CALL_OW 94
// DialogueOff ;
 330: CALL_OW 7
// CenterOnUnits ( eng1 ) ;
 334: LD_EXP 3
 338: PPUSH
 339: CALL_OW 85
// DialogueOn ;
 343: CALL_OW 6
// Say ( eng1 , E1-3 ) ;
 347: LD_EXP 3
 351: PPUSH
 352: LD_STRING E1-3
 354: PPUSH
 355: CALL_OW 88
// Say ( eng1 , E1-4 ) ;
 359: LD_EXP 3
 363: PPUSH
 364: LD_STRING E1-4
 366: PPUSH
 367: CALL_OW 88
// Say ( michail , M1-8 ) ;
 371: LD_INT 2
 373: PPUSH
 374: LD_STRING M1-8
 376: PPUSH
 377: CALL_OW 88
// SayRadio ( eng1 , E1-5 ) ;
 381: LD_EXP 3
 385: PPUSH
 386: LD_STRING E1-5
 388: PPUSH
 389: CALL_OW 94
// SayRadio ( major , M2-2 ) ;
 393: LD_EXP 13
 397: PPUSH
 398: LD_STRING M2-2
 400: PPUSH
 401: CALL_OW 94
// Say ( eng1 , E1-6 ) ;
 405: LD_EXP 3
 409: PPUSH
 410: LD_STRING E1-6
 412: PPUSH
 413: CALL_OW 88
// Say ( michail , M1-9 ) ;
 417: LD_INT 2
 419: PPUSH
 420: LD_STRING M1-9
 422: PPUSH
 423: CALL_OW 88
// Say ( ivan , I1-6 ) ;
 427: LD_INT 1
 429: PPUSH
 430: LD_STRING I1-6
 432: PPUSH
 433: CALL_OW 88
// Say ( michail , M1-10 ) ;
 437: LD_INT 2
 439: PPUSH
 440: LD_STRING M1-10
 442: PPUSH
 443: CALL_OW 88
// ChangeMissionObjectives ( CEL3 ) ;
 447: LD_STRING CEL3
 449: PPUSH
 450: CALL_OW 337
// ChangeMissionObjectives ( CEL0W ) ;
 454: LD_STRING CEL0W
 456: PPUSH
 457: CALL_OW 337
// DialogueOff ;
 461: CALL_OW 7
// InGameOff ;
 465: CALL_OW 9
// end ;
 469: END
// every 0 0$1 trigger IsInArea ( ivan , linia ) or IsInArea ( michail , linia ) do
 470: LD_INT 1
 472: PPUSH
 473: LD_INT 14
 475: PPUSH
 476: CALL_OW 308
 480: PUSH
 481: LD_INT 2
 483: PPUSH
 484: LD_INT 14
 486: PPUSH
 487: CALL_OW 308
 491: OR
 492: IFFALSE 500
 494: GO 496
 496: DISABLE
// begin disable ( 002 ) ;
 497: LD_INT 2
 499: DISABLE_MARKED
// end ;
 500: END
// every 0 0$1 trigger IsInArea ( eng1 , stara ) do
 501: LD_EXP 3
 505: PPUSH
 506: LD_INT 13
 508: PPUSH
 509: CALL_OW 308
 513: IFFALSE 650
 515: GO 517
 517: DISABLE
// begin InGameOn ;
 518: CALL_OW 8
// Say ( eng1 , E1-8 ) ;
 522: LD_EXP 3
 526: PPUSH
 527: LD_STRING E1-8
 529: PPUSH
 530: CALL_OW 88
// Say ( michail , M1-12 ) ;
 534: LD_INT 2
 536: PPUSH
 537: LD_STRING M1-12
 539: PPUSH
 540: CALL_OW 88
// InGameOff ;
 544: CALL_OW 9
// SetSide ( depot1 , 8 ) ;
 548: LD_INT 29
 550: PPUSH
 551: LD_INT 8
 553: PPUSH
 554: CALL_OW 235
// SetSide ( eng1 , 8 ) ;
 558: LD_EXP 3
 562: PPUSH
 563: LD_INT 8
 565: PPUSH
 566: CALL_OW 235
// SetSide ( mech2 , 8 ) ;
 570: LD_EXP 11
 574: PPUSH
 575: LD_INT 8
 577: PPUSH
 578: CALL_OW 235
// SetSide ( mech3 , 8 ) ;
 582: LD_EXP 12
 586: PPUSH
 587: LD_INT 8
 589: PPUSH
 590: CALL_OW 235
// SetSide ( nau2 , 8 ) ;
 594: LD_EXP 8
 598: PPUSH
 599: LD_INT 8
 601: PPUSH
 602: CALL_OW 235
// SetSide ( nau3 , 8 ) ;
 606: LD_EXP 9
 610: PPUSH
 611: LD_INT 8
 613: PPUSH
 614: CALL_OW 235
// depot_side := 8 ;
 618: LD_ADDR_EXP 16
 622: PUSH
 623: LD_INT 8
 625: ST_TO_ADDR
// enable ( 003 ) ;
 626: LD_INT 3
 628: ENABLE_MARKED
// enable ( 004 ) ;
 629: LD_INT 4
 631: ENABLE_MARKED
// enable ( 006 ) ;
 632: LD_INT 6
 634: ENABLE_MARKED
// enable ( 007 ) ;
 635: LD_INT 7
 637: ENABLE_MARKED
// enable ( 008 ) ;
 638: LD_INT 8
 640: ENABLE_MARKED
// enable ( 010 ) ;
 641: LD_INT 10
 643: ENABLE_MARKED
// enable ( 011 ) ;
 644: LD_INT 11
 646: ENABLE_MARKED
// enable ( 012 ) ;
 647: LD_INT 12
 649: ENABLE_MARKED
// end ;
 650: END
// every 0 0$1 trigger IsInArea ( ivan , blizej ) or IsInArea ( michail , blizej ) do
 651: LD_INT 1
 653: PPUSH
 654: LD_INT 6
 656: PPUSH
 657: CALL_OW 308
 661: PUSH
 662: LD_INT 2
 664: PPUSH
 665: LD_INT 6
 667: PPUSH
 668: CALL_OW 308
 672: OR
 673: IFFALSE 698
 675: GO 677
 677: DISABLE
// begin DialogueOn ;
 678: CALL_OW 6
// Say ( major , M2-3 ) ;
 682: LD_EXP 13
 686: PPUSH
 687: LD_STRING M2-3
 689: PPUSH
 690: CALL_OW 88
// DialogueOff ;
 694: CALL_OW 7
// end ;
 698: END
// every 0 0$1 trigger IsInArea ( ivan , spotkanie ) or IsInArea ( michail , spotkanie ) do
 699: LD_INT 1
 701: PPUSH
 702: LD_INT 5
 704: PPUSH
 705: CALL_OW 308
 709: PUSH
 710: LD_INT 2
 712: PPUSH
 713: LD_INT 5
 715: PPUSH
 716: CALL_OW 308
 720: OR
 721: IFFALSE 936
 723: GO 725
 725: DISABLE
// begin InGameOn ;
 726: CALL_OW 8
// ComTurnUnit ( major , michail ) ;
 730: LD_EXP 13
 734: PPUSH
 735: LD_INT 2
 737: PPUSH
 738: CALL_OW 119
// ComTurnUnit ( michail , major ) ;
 742: LD_INT 2
 744: PPUSH
 745: LD_EXP 13
 749: PPUSH
 750: CALL_OW 119
// ComTurnUnit ( ivan , major ) ;
 754: LD_INT 1
 756: PPUSH
 757: LD_EXP 13
 761: PPUSH
 762: CALL_OW 119
// DialogueOn ;
 766: CALL_OW 6
// Say ( major , M2-4 ) ;
 770: LD_EXP 13
 774: PPUSH
 775: LD_STRING M2-4
 777: PPUSH
 778: CALL_OW 88
// Say ( ivan , I1-7 ) ;
 782: LD_INT 1
 784: PPUSH
 785: LD_STRING I1-7
 787: PPUSH
 788: CALL_OW 88
// Say ( major , M2-5 ) ;
 792: LD_EXP 13
 796: PPUSH
 797: LD_STRING M2-5
 799: PPUSH
 800: CALL_OW 88
// Say ( michail , M1-11 ) ;
 804: LD_INT 2
 806: PPUSH
 807: LD_STRING M1-11
 809: PPUSH
 810: CALL_OW 88
// Say ( major , M2-6 ) ;
 814: LD_EXP 13
 818: PPUSH
 819: LD_STRING M2-6
 821: PPUSH
 822: CALL_OW 88
// DialogueOff ;
 826: CALL_OW 7
// ChangeMissionObjectives ( CEL3W ) ;
 830: LD_STRING CEL3W
 832: PPUSH
 833: CALL_OW 337
// ChangeMissionObjectives ( CEL2 ) ;
 837: LD_STRING CEL2
 839: PPUSH
 840: CALL_OW 337
// ComAgressiveMove ( eng1 , 74 , 129 ) ;
 844: LD_EXP 3
 848: PPUSH
 849: LD_INT 74
 851: PPUSH
 852: LD_INT 129
 854: PPUSH
 855: CALL_OW 114
// ComAgressiveMove ( mech2 , 74 , 129 ) ;
 859: LD_EXP 11
 863: PPUSH
 864: LD_INT 74
 866: PPUSH
 867: LD_INT 129
 869: PPUSH
 870: CALL_OW 114
// ComAgressiveMove ( mech3 , 74 , 129 ) ;
 874: LD_EXP 12
 878: PPUSH
 879: LD_INT 74
 881: PPUSH
 882: LD_INT 129
 884: PPUSH
 885: CALL_OW 114
// ComAgressiveMove ( nau2 , 74 , 129 ) ;
 889: LD_EXP 8
 893: PPUSH
 894: LD_INT 74
 896: PPUSH
 897: LD_INT 129
 899: PPUSH
 900: CALL_OW 114
// ComAgressiveMove ( nau3 , 74 , 129 ) ;
 904: LD_EXP 9
 908: PPUSH
 909: LD_INT 74
 911: PPUSH
 912: LD_INT 129
 914: PPUSH
 915: CALL_OW 114
// SeeArea ( sklad , 8 ) ;
 919: LD_INT 20
 921: PPUSH
 922: LD_INT 8
 924: PPUSH
 925: CALL_OW 294
// enable ( 001 ) ;
 929: LD_INT 1
 931: ENABLE_MARKED
// InGameOff ;
 932: CALL_OW 9
// end ;
 936: END
// every 0 0$1 trigger IsInArea ( ivan , szatane ) or IsInArea ( michail , szatane ) do
 937: LD_INT 1
 939: PPUSH
 940: LD_INT 1
 942: PPUSH
 943: CALL_OW 308
 947: PUSH
 948: LD_INT 2
 950: PPUSH
 951: LD_INT 1
 953: PPUSH
 954: CALL_OW 308
 958: OR
 959: IFFALSE 1034
 961: GO 963
 963: DISABLE
// begin InGameOn ;
 964: CALL_OW 8
// DialogueOn ;
 968: CALL_OW 6
// Say ( szatan , S1-1 ) ;
 972: LD_INT 4
 974: PPUSH
 975: LD_STRING S1-1
 977: PPUSH
 978: CALL_OW 88
// Say ( ivan , I1-5 ) ;
 982: LD_INT 1
 984: PPUSH
 985: LD_STRING I1-5
 987: PPUSH
 988: CALL_OW 88
// Say ( szatan , S1-2 ) ;
 992: LD_INT 4
 994: PPUSH
 995: LD_STRING S1-2
 997: PPUSH
 998: CALL_OW 88
// Say ( michail , M1-6 ) ;
1002: LD_INT 2
1004: PPUSH
1005: LD_STRING M1-6
1007: PPUSH
1008: CALL_OW 88
// DialogueOff ;
1012: CALL_OW 7
// ChangeMissionObjectives ( CEL1W ) ;
1016: LD_STRING CEL1W
1018: PPUSH
1019: CALL_OW 337
// ChangeMissionObjectives ( CEL2 ) ;
1023: LD_STRING CEL2
1025: PPUSH
1026: CALL_OW 337
// InGameOff ;
1030: CALL_OW 9
// end ;
1034: END
// every 0 0$1 trigger IsInArea ( ivan , szatane ) or IsInArea ( michail , szatane ) do
1035: LD_INT 1
1037: PPUSH
1038: LD_INT 1
1040: PPUSH
1041: CALL_OW 308
1045: PUSH
1046: LD_INT 2
1048: PPUSH
1049: LD_INT 1
1051: PPUSH
1052: CALL_OW 308
1056: OR
1057: IFFALSE 1094
1059: GO 1061
1061: DISABLE
// begin Wait ( 0 0$15 + 0 0$1 ) ;
1062: LD_INT 525
1064: PUSH
1065: LD_INT 35
1067: PLUS
1068: PPUSH
1069: CALL_OW 67
// ComAttackUnit ( szatan , michail ) ;
1073: LD_INT 4
1075: PPUSH
1076: LD_INT 2
1078: PPUSH
1079: CALL_OW 115
// ComAttackUnit ( szatan , ivan ) ;
1083: LD_INT 4
1085: PPUSH
1086: LD_INT 1
1088: PPUSH
1089: CALL_OW 115
// enable ;
1093: ENABLE
// end ;
1094: END
// every 0 0$1 trigger IsInArea ( ivan , szatane ) or IsInArea ( michail , szatane ) do
1095: LD_INT 1
1097: PPUSH
1098: LD_INT 1
1100: PPUSH
1101: CALL_OW 308
1105: PUSH
1106: LD_INT 2
1108: PPUSH
1109: LD_INT 1
1111: PPUSH
1112: CALL_OW 308
1116: OR
1117: IFFALSE 1206
1119: GO 1121
1121: DISABLE
// begin Wait ( 0 0$18 + 0 0$3 ) ;
1122: LD_INT 630
1124: PUSH
1125: LD_INT 105
1127: PLUS
1128: PPUSH
1129: CALL_OW 67
// ComTurnXY ( szatan , 1 , 1 , ) ;
1133: LD_INT 4
1135: PPUSH
1136: LD_INT 1
1138: PPUSH
1139: LD_INT 1
1141: PPUSH
1142: CALL_OW 118
// ComTurnXY ( szatan , 99 , 1 , ) ;
1146: LD_INT 4
1148: PPUSH
1149: LD_INT 99
1151: PPUSH
1152: LD_INT 1
1154: PPUSH
1155: CALL_OW 118
// ComTurnXY ( szatan , 168 , 139 , ) ;
1159: LD_INT 4
1161: PPUSH
1162: LD_INT 168
1164: PPUSH
1165: LD_INT 139
1167: PPUSH
1168: CALL_OW 118
// ComTurnXY ( szatan , 69 , 139 , ) ;
1172: LD_INT 4
1174: PPUSH
1175: LD_INT 69
1177: PPUSH
1178: LD_INT 139
1180: PPUSH
1181: CALL_OW 118
// ComAttackUnit ( szatan , michail ) ;
1185: LD_INT 4
1187: PPUSH
1188: LD_INT 2
1190: PPUSH
1191: CALL_OW 115
// ComAttackUnit ( szatan , ivan ) ;
1195: LD_INT 4
1197: PPUSH
1198: LD_INT 1
1200: PPUSH
1201: CALL_OW 115
// enable ;
1205: ENABLE
// end ;
1206: END
// every 0 0$1 trigger IsInArea ( ivan , front2 ) or IsInArea ( michail , front2 ) or IsInArea ( ru , front2 ) or IsInArea ( ba , front2 ) or IsInArea ( eng , front2 ) or IsInArea ( eng1 , front2 ) or IsInArea ( mech2 , front2 ) or IsInArea ( mech3 , front2 ) or IsInArea ( terminator , front2 ) or IsInArea ( dyplomata , front2 ) do
1207: LD_INT 1
1209: PPUSH
1210: LD_INT 17
1212: PPUSH
1213: CALL_OW 308
1217: PUSH
1218: LD_INT 2
1220: PPUSH
1221: LD_INT 17
1223: PPUSH
1224: CALL_OW 308
1228: OR
1229: PUSH
1230: LD_EXP 21
1234: PPUSH
1235: LD_INT 17
1237: PPUSH
1238: CALL_OW 308
1242: OR
1243: PUSH
1244: LD_EXP 22
1248: PPUSH
1249: LD_INT 17
1251: PPUSH
1252: CALL_OW 308
1256: OR
1257: PUSH
1258: LD_EXP 23
1262: PPUSH
1263: LD_INT 17
1265: PPUSH
1266: CALL_OW 308
1270: OR
1271: PUSH
1272: LD_EXP 3
1276: PPUSH
1277: LD_INT 17
1279: PPUSH
1280: CALL_OW 308
1284: OR
1285: PUSH
1286: LD_EXP 11
1290: PPUSH
1291: LD_INT 17
1293: PPUSH
1294: CALL_OW 308
1298: OR
1299: PUSH
1300: LD_EXP 12
1304: PPUSH
1305: LD_INT 17
1307: PPUSH
1308: CALL_OW 308
1312: OR
1313: PUSH
1314: LD_EXP 1
1318: PPUSH
1319: LD_INT 17
1321: PPUSH
1322: CALL_OW 308
1326: OR
1327: PUSH
1328: LD_EXP 2
1332: PPUSH
1333: LD_INT 17
1335: PPUSH
1336: CALL_OW 308
1340: OR
1341: IFFALSE 1360
1343: GO 1345
1345: DISABLE
// begin PlayMusic ( AmBojA.wav ) ;
1346: LD_STRING AmBojA.wav
1348: PPUSH
1349: CALL_OW 368
// PlayMusic ( AmBojB.wav ) ;
1353: LD_STRING AmBojB.wav
1355: PPUSH
1356: CALL_OW 368
// end ; end_of_file
1360: END
// every 0 0$1 trigger IsDead ( ivan ) do
1361: LD_INT 1
1363: PPUSH
1364: CALL_OW 301
1368: IFFALSE 1380
1370: GO 1372
1372: DISABLE
// begin YouLost ( ivandead ) ;
1373: LD_STRING ivandead
1375: PPUSH
1376: CALL_OW 104
// end ;
1380: END
// every 0 0$1 trigger IsDead ( michail ) do
1381: LD_INT 2
1383: PPUSH
1384: CALL_OW 301
1388: IFFALSE 1400
1390: GO 1392
1392: DISABLE
// begin ; YouLost ( michaildead ) ;
1393: LD_STRING michaildead
1395: PPUSH
1396: CALL_OW 104
// end ;
1400: END
// on Contact ( side1 , side2 ) do begin if side1 = 8 and side2 = 1 then
1401: LD_VAR 0 1
1405: PUSH
1406: LD_INT 8
1408: EQUAL
1409: PUSH
1410: LD_VAR 0 2
1414: PUSH
1415: LD_INT 1
1417: EQUAL
1418: AND
1419: IFFALSE 1428
// YouLost ( attack ) ;
1421: LD_STRING attack
1423: PPUSH
1424: CALL_OW 104
// end ; end_of_file
1428: PPOPN 2
1430: END
// export eng1 , eng2 , eng3 , eng4 , nau , nau2 , nau3 , mech , mech2 , mech3 , major ; var b , c ; every 0 0$1 do
1431: GO 1433
1433: DISABLE
// begin uc_side := 1 ;
1434: LD_ADDR_OWVAR 20
1438: PUSH
1439: LD_INT 1
1441: ST_TO_ADDR
// hc_class := 2 ;
1442: LD_ADDR_OWVAR 28
1446: PUSH
1447: LD_INT 2
1449: ST_TO_ADDR
// hc_sex := [ Rand ( sex_male , sex_female ) ] ;
1450: LD_ADDR_OWVAR 27
1454: PUSH
1455: LD_INT 1
1457: PPUSH
1458: LD_INT 2
1460: PPUSH
1461: CALL_OW 12
1465: PUSH
1466: EMPTY
1467: LIST
1468: ST_TO_ADDR
// hc_skills := [ Rand ( 4 , 6 ) , Rand ( 6 , 10 ) , Rand ( 5 , 7 ) , Rand ( 2 , 5 ) ] ;
1469: LD_ADDR_OWVAR 31
1473: PUSH
1474: LD_INT 4
1476: PPUSH
1477: LD_INT 6
1479: PPUSH
1480: CALL_OW 12
1484: PUSH
1485: LD_INT 6
1487: PPUSH
1488: LD_INT 10
1490: PPUSH
1491: CALL_OW 12
1495: PUSH
1496: LD_INT 5
1498: PPUSH
1499: LD_INT 7
1501: PPUSH
1502: CALL_OW 12
1506: PUSH
1507: LD_INT 2
1509: PPUSH
1510: LD_INT 5
1512: PPUSH
1513: CALL_OW 12
1517: PUSH
1518: EMPTY
1519: LIST
1520: LIST
1521: LIST
1522: LIST
1523: ST_TO_ADDR
// hc_name :=  ;
1524: LD_ADDR_OWVAR 26
1528: PUSH
1529: LD_STRING 
1531: ST_TO_ADDR
// eng1 := CreateHuman ;
1532: LD_ADDR_EXP 3
1536: PUSH
1537: CALL_OW 44
1541: ST_TO_ADDR
// eng2 := CreateHuman ;
1542: LD_ADDR_EXP 4
1546: PUSH
1547: CALL_OW 44
1551: ST_TO_ADDR
// eng3 := CreateHuman ;
1552: LD_ADDR_EXP 5
1556: PUSH
1557: CALL_OW 44
1561: ST_TO_ADDR
// eng4 := CreateHuman ;
1562: LD_ADDR_EXP 6
1566: PUSH
1567: CALL_OW 44
1571: ST_TO_ADDR
// end ;
1572: END
// every 0 0$1 do
1573: GO 1575
1575: DISABLE
// begin PlaceUnitArea ( eng1 , enge1 , false ) ;
1576: LD_EXP 3
1580: PPUSH
1581: LD_INT 2
1583: PPUSH
1584: LD_INT 0
1586: PPUSH
1587: CALL_OW 49
// PlaceUnitArea ( eng2 , enge2 , false ) ;
1591: LD_EXP 4
1595: PPUSH
1596: LD_INT 3
1598: PPUSH
1599: LD_INT 0
1601: PPUSH
1602: CALL_OW 49
// PlaceUnitArea ( eng3 , enge3 , false ) ;
1606: LD_EXP 5
1610: PPUSH
1611: LD_INT 10
1613: PPUSH
1614: LD_INT 0
1616: PPUSH
1617: CALL_OW 49
// PlaceUnitArea ( eng4 , enge3 , false ) ;
1621: LD_EXP 6
1625: PPUSH
1626: LD_INT 10
1628: PPUSH
1629: LD_INT 0
1631: PPUSH
1632: CALL_OW 49
// end ;
1636: END
// every 0 0$1 do
1637: GO 1639
1639: DISABLE
// for b = 1 to 6 do
1640: LD_ADDR_LOC 1
1644: PUSH
1645: DOUBLE
1646: LD_INT 1
1648: DEC
1649: ST_TO_ADDR
1650: LD_INT 6
1652: PUSH
1653: FOR_TO
1654: IFFALSE 1743
// begin hc_class := 3 ;
1656: LD_ADDR_OWVAR 28
1660: PUSH
1661: LD_INT 3
1663: ST_TO_ADDR
// hc_skills := [ Rand ( 4 , 6 ) , Rand ( 6 , 7 ) , Rand ( 8 , 10 ) , Rand ( 2 , 5 ) ] ;
1664: LD_ADDR_OWVAR 31
1668: PUSH
1669: LD_INT 4
1671: PPUSH
1672: LD_INT 6
1674: PPUSH
1675: CALL_OW 12
1679: PUSH
1680: LD_INT 6
1682: PPUSH
1683: LD_INT 7
1685: PPUSH
1686: CALL_OW 12
1690: PUSH
1691: LD_INT 8
1693: PPUSH
1694: LD_INT 10
1696: PPUSH
1697: CALL_OW 12
1701: PUSH
1702: LD_INT 2
1704: PPUSH
1705: LD_INT 5
1707: PPUSH
1708: CALL_OW 12
1712: PUSH
1713: EMPTY
1714: LIST
1715: LIST
1716: LIST
1717: LIST
1718: ST_TO_ADDR
// mech := CreateHuman ;
1719: LD_ADDR_EXP 10
1723: PUSH
1724: CALL_OW 44
1728: ST_TO_ADDR
// ComEnterUnit ( mech , fac ) ;
1729: LD_EXP 10
1733: PPUSH
1734: LD_INT 18
1736: PPUSH
1737: CALL_OW 120
// end ;
1741: GO 1653
1743: POP
1744: POP
1745: END
// every 0 0$1 do
1746: GO 1748
1748: DISABLE
// begin mech2 := CreateHuman ;
1749: LD_ADDR_EXP 11
1753: PUSH
1754: CALL_OW 44
1758: ST_TO_ADDR
// mech3 := CreateHuman ;
1759: LD_ADDR_EXP 12
1763: PUSH
1764: CALL_OW 44
1768: ST_TO_ADDR
// end ;
1769: END
// every 0 0$1 do
1770: GO 1772
1772: DISABLE
// begin PlaceUnitArea ( mech2 , meche , false ) ;
1773: LD_EXP 11
1777: PPUSH
1778: LD_INT 8
1780: PPUSH
1781: LD_INT 0
1783: PPUSH
1784: CALL_OW 49
// PlaceUnitArea ( mech3 , meche , false ) ;
1788: LD_EXP 12
1792: PPUSH
1793: LD_INT 8
1795: PPUSH
1796: LD_INT 0
1798: PPUSH
1799: CALL_OW 49
// end ;
1803: END
// every 0 0$1 do
1804: GO 1806
1806: DISABLE
// for c = 1 to 3 do
1807: LD_ADDR_LOC 2
1811: PUSH
1812: DOUBLE
1813: LD_INT 1
1815: DEC
1816: ST_TO_ADDR
1817: LD_INT 3
1819: PUSH
1820: FOR_TO
1821: IFFALSE 1910
// begin hc_class := 4 ;
1823: LD_ADDR_OWVAR 28
1827: PUSH
1828: LD_INT 4
1830: ST_TO_ADDR
// hc_skills := [ Rand ( 4 , 6 ) , Rand ( 6 , 7 ) , Rand ( 5 , 7 ) , Rand ( 5 , 10 ) ] ;
1831: LD_ADDR_OWVAR 31
1835: PUSH
1836: LD_INT 4
1838: PPUSH
1839: LD_INT 6
1841: PPUSH
1842: CALL_OW 12
1846: PUSH
1847: LD_INT 6
1849: PPUSH
1850: LD_INT 7
1852: PPUSH
1853: CALL_OW 12
1857: PUSH
1858: LD_INT 5
1860: PPUSH
1861: LD_INT 7
1863: PPUSH
1864: CALL_OW 12
1868: PUSH
1869: LD_INT 5
1871: PPUSH
1872: LD_INT 10
1874: PPUSH
1875: CALL_OW 12
1879: PUSH
1880: EMPTY
1881: LIST
1882: LIST
1883: LIST
1884: LIST
1885: ST_TO_ADDR
// nau := CreateHuman ;
1886: LD_ADDR_EXP 7
1890: PUSH
1891: CALL_OW 44
1895: ST_TO_ADDR
// ComEnterUnit ( nau , lab ) ;
1896: LD_EXP 7
1900: PPUSH
1901: LD_INT 24
1903: PPUSH
1904: CALL_OW 120
// end ;
1908: GO 1820
1910: POP
1911: POP
1912: END
// every 0 0$1 do
1913: GO 1915
1915: DISABLE
// begin nau2 := CreateHuman ;
1916: LD_ADDR_EXP 8
1920: PUSH
1921: CALL_OW 44
1925: ST_TO_ADDR
// nau3 := CreateHuman ;
1926: LD_ADDR_EXP 9
1930: PUSH
1931: CALL_OW 44
1935: ST_TO_ADDR
// end ;
1936: END
// every 0 0$1 do
1937: GO 1939
1939: DISABLE
// begin PlaceUnitArea ( nau2 , nauke , false ) ;
1940: LD_EXP 8
1944: PPUSH
1945: LD_INT 9
1947: PPUSH
1948: LD_INT 0
1950: PPUSH
1951: CALL_OW 49
// PlaceUnitArea ( nau3 , nauke , false ) ;
1955: LD_EXP 9
1959: PPUSH
1960: LD_INT 9
1962: PPUSH
1963: LD_INT 0
1965: PPUSH
1966: CALL_OW 49
// end ;
1970: END
// every 0 0$1 do
1971: GO 1973
1973: DISABLE
// begin hc_class := 1 ;
1974: LD_ADDR_OWVAR 28
1978: PUSH
1979: LD_INT 1
1981: ST_TO_ADDR
// hc_name := Major Kopyto ;
1982: LD_ADDR_OWVAR 26
1986: PUSH
1987: LD_STRING Major Kopyto
1989: ST_TO_ADDR
// hc_gallery := 2 ;
1990: LD_ADDR_OWVAR 33
1994: PUSH
1995: LD_STRING 2
1997: ST_TO_ADDR
// hc_face_number := 1 ;
1998: LD_ADDR_OWVAR 34
2002: PUSH
2003: LD_INT 1
2005: ST_TO_ADDR
// major = NewCharacter ( major ) ;
2006: LD_ADDR_EXP 13
2010: PUSH
2011: LD_STRING major
2013: PPUSH
2014: CALL_OW 25
2018: ST_TO_ADDR
// major := CreateHuman ;
2019: LD_ADDR_EXP 13
2023: PUSH
2024: CALL_OW 44
2028: ST_TO_ADDR
// PlaceUnitArea ( major , dowodca , false ) ;
2029: LD_EXP 13
2033: PPUSH
2034: LD_INT 4
2036: PPUSH
2037: LD_INT 0
2039: PPUSH
2040: CALL_OW 49
// end ; end_of_file
2044: END
// export major_side , satan_side , depot_side ; export veh1 , veh2 , sol1 , sol2 ; var d , g ; export function attack ; begin
2045: LD_INT 0
2047: PPUSH
// end ;
2048: LD_VAR 0 1
2052: RET
// every 4 4$30 marked 001 do
2053: GO 2055
2055: DISABLE
// begin SendSiberiteRocket ( 33 , 52 ) ;
2056: LD_INT 33
2058: PPUSH
2059: LD_INT 52
2061: PPUSH
2062: CALL_OW 429
// SendSiberiteRocket ( 33 , 52 ) ;
2066: LD_INT 33
2068: PPUSH
2069: LD_INT 52
2071: PPUSH
2072: CALL_OW 429
// SendSiberiteRocket ( 33 , 52 ) ;
2076: LD_INT 33
2078: PPUSH
2079: LD_INT 52
2081: PPUSH
2082: CALL_OW 429
// SendSiberiteRocket ( 33 , 52 ) ;
2086: LD_INT 33
2088: PPUSH
2089: LD_INT 52
2091: PPUSH
2092: CALL_OW 429
// SendSiberiteRocket ( 49 , 75 ) ;
2096: LD_INT 49
2098: PPUSH
2099: LD_INT 75
2101: PPUSH
2102: CALL_OW 429
// SendSiberiteRocket ( 49 , 75 ) ;
2106: LD_INT 49
2108: PPUSH
2109: LD_INT 75
2111: PPUSH
2112: CALL_OW 429
// SendSiberiteRocket ( 49 , 75 ) ;
2116: LD_INT 49
2118: PPUSH
2119: LD_INT 75
2121: PPUSH
2122: CALL_OW 429
// SendSiberiteRocket ( 49 , 75 ) ;
2126: LD_INT 49
2128: PPUSH
2129: LD_INT 75
2131: PPUSH
2132: CALL_OW 429
// end ;
2136: END
// every 6 6$30 marked 003 do
2137: GO 2139
2139: DISABLE
// for d = 1 to 5 do
2140: LD_ADDR_LOC 3
2144: PUSH
2145: DOUBLE
2146: LD_INT 1
2148: DEC
2149: ST_TO_ADDR
2150: LD_INT 5
2152: PUSH
2153: FOR_TO
2154: IFFALSE 2314
// begin uc_side := 3 ;
2156: LD_ADDR_OWVAR 20
2160: PUSH
2161: LD_INT 3
2163: ST_TO_ADDR
// hc_class := 9 ;
2164: LD_ADDR_OWVAR 28
2168: PUSH
2169: LD_INT 9
2171: ST_TO_ADDR
// hc_name := Wysannik Szatana ;
2172: LD_ADDR_OWVAR 26
2176: PUSH
2177: LD_STRING Wysannik Szatana
2179: ST_TO_ADDR
// hc_gallery := 2 ;
2180: LD_ADDR_OWVAR 33
2184: PUSH
2185: LD_STRING 2
2187: ST_TO_ADDR
// hc_face_number := 1 ;
2188: LD_ADDR_OWVAR 34
2192: PUSH
2193: LD_INT 1
2195: ST_TO_ADDR
// hc_skills := [ Rand ( 3 , 5 ) , Rand ( 1 , 3 ) , Rand ( 1 , 2 ) , Rand ( 1 , 3 ) ] ;
2196: LD_ADDR_OWVAR 31
2200: PUSH
2201: LD_INT 3
2203: PPUSH
2204: LD_INT 5
2206: PPUSH
2207: CALL_OW 12
2211: PUSH
2212: LD_INT 1
2214: PPUSH
2215: LD_INT 3
2217: PPUSH
2218: CALL_OW 12
2222: PUSH
2223: LD_INT 1
2225: PPUSH
2226: LD_INT 2
2228: PPUSH
2229: CALL_OW 12
2233: PUSH
2234: LD_INT 1
2236: PPUSH
2237: LD_INT 3
2239: PPUSH
2240: CALL_OW 12
2244: PUSH
2245: EMPTY
2246: LIST
2247: LIST
2248: LIST
2249: LIST
2250: ST_TO_ADDR
// hc_sex := Rand ( sex_male , sex_female ) ;
2251: LD_ADDR_OWVAR 27
2255: PUSH
2256: LD_INT 1
2258: PPUSH
2259: LD_INT 2
2261: PPUSH
2262: CALL_OW 12
2266: ST_TO_ADDR
// sol2 := CreateHuman ;
2267: LD_ADDR_EXP 20
2271: PUSH
2272: CALL_OW 44
2276: ST_TO_ADDR
// PlaceUnitArea ( sol2 , zrzut2 , false ) ;
2277: LD_EXP 20
2281: PPUSH
2282: LD_INT 19
2284: PPUSH
2285: LD_INT 0
2287: PPUSH
2288: CALL_OW 49
// ComAgressiveMove ( sol2 , 73 , 136 ) ;
2292: LD_EXP 20
2296: PPUSH
2297: LD_INT 73
2299: PPUSH
2300: LD_INT 136
2302: PPUSH
2303: CALL_OW 114
// attack ;
2307: CALL 2045 0 0
// enable ;
2311: ENABLE
// end ;
2312: GO 2153
2314: POP
2315: POP
2316: END
// every 0 0$1 trigger IsInArea ( sol2 , klony ) do
2317: LD_EXP 20
2321: PPUSH
2322: LD_INT 24
2324: PPUSH
2325: CALL_OW 308
2329: IFFALSE 2356
2331: GO 2333
2333: DISABLE
// begin Say ( mech3 , M3-2 ) ;
2334: LD_EXP 12
2338: PPUSH
2339: LD_STRING M3-2
2341: PPUSH
2342: CALL_OW 88
// Say ( michail , M1-19 ) ;
2346: LD_INT 2
2348: PPUSH
2349: LD_STRING M1-19
2351: PPUSH
2352: CALL_OW 88
// end ;
2356: END
// every 60 60$0 marked 100 do
2357: GO 2359
2359: DISABLE
// begin SendSiberiteRocket ( 73 , 135 ) ;
2360: LD_INT 73
2362: PPUSH
2363: LD_INT 135
2365: PPUSH
2366: CALL_OW 429
// enable ;
2370: ENABLE
// end ; end_of_file
2371: END
// every 3 3$00 do
2372: GO 2374
2374: DISABLE
// begin CreateCratesArea ( Rand ( 1 , 5 ) , skrzynie , true ) ;
2375: LD_INT 1
2377: PPUSH
2378: LD_INT 5
2380: PPUSH
2381: CALL_OW 12
2385: PPUSH
2386: LD_INT 15
2388: PPUSH
2389: LD_INT 1
2391: PPUSH
2392: CALL_OW 55
// enable ;
2396: ENABLE
// end ;
2397: END
// every 3 3$30 do
2398: GO 2400
2400: DISABLE
// begin CreateCratesArea ( Rand ( 1 , 5 ) , skrzynie2 , true ) ;
2401: LD_INT 1
2403: PPUSH
2404: LD_INT 5
2406: PPUSH
2407: CALL_OW 12
2411: PPUSH
2412: LD_INT 26
2414: PPUSH
2415: LD_INT 1
2417: PPUSH
2418: CALL_OW 55
// enable ;
2422: ENABLE
// end ; end_of_file
2423: END
// export ru , ba , eng ; every 2 2$00 marked 004 do
2424: GO 2426
2426: DISABLE
// begin uc_side := 8 ;
2427: LD_ADDR_OWVAR 20
2431: PUSH
2432: LD_INT 8
2434: ST_TO_ADDR
// uc_nation := nation_russian ;
2435: LD_ADDR_OWVAR 21
2439: PUSH
2440: LD_INT 3
2442: ST_TO_ADDR
// hc_class := 9 ;
2443: LD_ADDR_OWVAR 28
2447: PUSH
2448: LD_INT 9
2450: ST_TO_ADDR
// hc_skills := [ 5 , 0 , 0 , 0 ] ;
2451: LD_ADDR_OWVAR 31
2455: PUSH
2456: LD_INT 5
2458: PUSH
2459: LD_INT 0
2461: PUSH
2462: LD_INT 0
2464: PUSH
2465: LD_INT 0
2467: PUSH
2468: EMPTY
2469: LIST
2470: LIST
2471: LIST
2472: LIST
2473: ST_TO_ADDR
// hc_sex := sex_male ;
2474: LD_ADDR_OWVAR 27
2478: PUSH
2479: LD_INT 1
2481: ST_TO_ADDR
// hc_name :=  ;
2482: LD_ADDR_OWVAR 26
2486: PUSH
2487: LD_STRING 
2489: ST_TO_ADDR
// ba := CreateHuman ;
2490: LD_ADDR_EXP 22
2494: PUSH
2495: CALL_OW 44
2499: ST_TO_ADDR
// hc_class := 2 ;
2500: LD_ADDR_OWVAR 28
2504: PUSH
2505: LD_INT 2
2507: ST_TO_ADDR
// hc_skills := [ 0 , 4 , 0 , 0 ] ;
2508: LD_ADDR_OWVAR 31
2512: PUSH
2513: LD_INT 0
2515: PUSH
2516: LD_INT 4
2518: PUSH
2519: LD_INT 0
2521: PUSH
2522: LD_INT 0
2524: PUSH
2525: EMPTY
2526: LIST
2527: LIST
2528: LIST
2529: LIST
2530: ST_TO_ADDR
// eng := CreateHuman ;
2531: LD_ADDR_EXP 23
2535: PUSH
2536: CALL_OW 44
2540: ST_TO_ADDR
// hc_class := 4 ;
2541: LD_ADDR_OWVAR 28
2545: PUSH
2546: LD_INT 4
2548: ST_TO_ADDR
// hc_skills := [ 0 , 0 , 0 , 10 ] ;
2549: LD_ADDR_OWVAR 31
2553: PUSH
2554: LD_INT 0
2556: PUSH
2557: LD_INT 0
2559: PUSH
2560: LD_INT 0
2562: PUSH
2563: LD_INT 10
2565: PUSH
2566: EMPTY
2567: LIST
2568: LIST
2569: LIST
2570: LIST
2571: ST_TO_ADDR
// ru := CreateHuman ;
2572: LD_ADDR_EXP 21
2576: PUSH
2577: CALL_OW 44
2581: ST_TO_ADDR
// PlaceUnitArea ( ru , wsparcie , true ) ;
2582: LD_EXP 21
2586: PPUSH
2587: LD_INT 16
2589: PPUSH
2590: LD_INT 1
2592: PPUSH
2593: CALL_OW 49
// PlaceUnitArea ( eng , wsparcie , true ) ;
2597: LD_EXP 23
2601: PPUSH
2602: LD_INT 16
2604: PPUSH
2605: LD_INT 1
2607: PPUSH
2608: CALL_OW 49
// PlaceUnitArea ( ba , wsparcie , true ) ;
2612: LD_EXP 22
2616: PPUSH
2617: LD_INT 16
2619: PPUSH
2620: LD_INT 1
2622: PPUSH
2623: CALL_OW 49
// Wait ( 0 0$3 ) ;
2627: LD_INT 105
2629: PPUSH
2630: CALL_OW 67
// InGameOn ;
2634: CALL_OW 8
// DialogueOn ;
2638: CALL_OW 6
// Say ( ru , R1-1 ) ;
2642: LD_EXP 21
2646: PPUSH
2647: LD_STRING R1-1
2649: PPUSH
2650: CALL_OW 88
// Say ( ba , B1-1 ) ;
2654: LD_EXP 22
2658: PPUSH
2659: LD_STRING B1-1
2661: PPUSH
2662: CALL_OW 88
// Say ( michail , M1-13 ) ;
2666: LD_INT 2
2668: PPUSH
2669: LD_STRING M1-13
2671: PPUSH
2672: CALL_OW 88
// SayRadio ( michail , M1-14 ) ;
2676: LD_INT 2
2678: PPUSH
2679: LD_STRING M1-14
2681: PPUSH
2682: CALL_OW 94
// SayRadio ( ba , B1-2 ) ;
2686: LD_EXP 22
2690: PPUSH
2691: LD_STRING B1-2
2693: PPUSH
2694: CALL_OW 94
// SayRadio ( michail , M1-15 ) ;
2698: LD_INT 2
2700: PPUSH
2701: LD_STRING M1-15
2703: PPUSH
2704: CALL_OW 94
// SayRadio ( ba , B1-4 ) ;
2708: LD_EXP 22
2712: PPUSH
2713: LD_STRING B1-4
2715: PPUSH
2716: CALL_OW 94
// DialogueOff ;
2720: CALL_OW 7
// Wait ( 0 0$7 ) ;
2724: LD_INT 245
2726: PPUSH
2727: CALL_OW 67
// DialogueOn ;
2731: CALL_OW 6
// SayRadio ( szatan , S1-4 ) ;
2735: LD_INT 4
2737: PPUSH
2738: LD_STRING S1-4
2740: PPUSH
2741: CALL_OW 94
// Say ( michail , M1-17 ) ;
2745: LD_INT 2
2747: PPUSH
2748: LD_STRING M1-17
2750: PPUSH
2751: CALL_OW 88
// DialogueOff ;
2755: CALL_OW 7
// InGameOff ;
2759: CALL_OW 9
// end ;
2763: END
// every 0 0$1 trigger IsInArea ( ru , linia2 ) or IsInArea ( ba , linia2 ) or IsInArea ( eng , linia2 ) do
2764: LD_EXP 21
2768: PPUSH
2769: LD_INT 18
2771: PPUSH
2772: CALL_OW 308
2776: PUSH
2777: LD_EXP 22
2781: PPUSH
2782: LD_INT 18
2784: PPUSH
2785: CALL_OW 308
2789: OR
2790: PUSH
2791: LD_EXP 23
2795: PPUSH
2796: LD_INT 18
2798: PPUSH
2799: CALL_OW 308
2803: OR
2804: IFFALSE 2901
2806: GO 2808
2808: DISABLE
// begin Say ( ru , R1-3 ) ;
2809: LD_EXP 21
2813: PPUSH
2814: LD_STRING R1-3
2816: PPUSH
2817: CALL_OW 88
// Say ( ivan , I1-8 ) ;
2821: LD_INT 1
2823: PPUSH
2824: LD_STRING I1-8
2826: PPUSH
2827: CALL_OW 88
// Say ( eng1 , E1-9 ) ;
2831: LD_EXP 3
2835: PPUSH
2836: LD_STRING E1-9
2838: PPUSH
2839: CALL_OW 88
// Say ( mech3 , M3-1 ) ;
2843: LD_EXP 12
2847: PPUSH
2848: LD_STRING M3-1
2850: PPUSH
2851: CALL_OW 88
// Say ( ru , R1-2 ) ;
2855: LD_EXP 21
2859: PPUSH
2860: LD_STRING R1-2
2862: PPUSH
2863: CALL_OW 88
// Say ( ba , B1-5 ) ;
2867: LD_EXP 22
2871: PPUSH
2872: LD_STRING B1-5
2874: PPUSH
2875: CALL_OW 88
// Say ( eng , E2-1 ) ;
2879: LD_EXP 23
2883: PPUSH
2884: LD_STRING E2-1
2886: PPUSH
2887: CALL_OW 88
// Say ( michail , M1-18 ) ;
2891: LD_INT 2
2893: PPUSH
2894: LD_STRING M1-18
2896: PPUSH
2897: CALL_OW 88
// end ; end_of_file
2901: END
// every 7 7$00 marked 006 do
2902: GO 2904
2904: DISABLE
// begin uc_side := 8 ;
2905: LD_ADDR_OWVAR 20
2909: PUSH
2910: LD_INT 8
2912: ST_TO_ADDR
// hc_class := 9 ;
2913: LD_ADDR_OWVAR 28
2917: PUSH
2918: LD_INT 9
2920: ST_TO_ADDR
// hc_name := Terminator ;
2921: LD_ADDR_OWVAR 26
2925: PUSH
2926: LD_STRING Terminator
2928: ST_TO_ADDR
// hc_sex := sex_male ;
2929: LD_ADDR_OWVAR 27
2933: PUSH
2934: LD_INT 1
2936: ST_TO_ADDR
// hc_skills := [ 10 , 10 , 10 , 10 ] ;
2937: LD_ADDR_OWVAR 31
2941: PUSH
2942: LD_INT 10
2944: PUSH
2945: LD_INT 10
2947: PUSH
2948: LD_INT 10
2950: PUSH
2951: LD_INT 10
2953: PUSH
2954: EMPTY
2955: LIST
2956: LIST
2957: LIST
2958: LIST
2959: ST_TO_ADDR
// hc_gallery := 2 ;
2960: LD_ADDR_OWVAR 33
2964: PUSH
2965: LD_STRING 2
2967: ST_TO_ADDR
// hc_face_number := 2 ;
2968: LD_ADDR_OWVAR 34
2972: PUSH
2973: LD_INT 2
2975: ST_TO_ADDR
// terminator := CreateHuman ;
2976: LD_ADDR_EXP 1
2980: PUSH
2981: CALL_OW 44
2985: ST_TO_ADDR
// IngameOn ;
2986: CALL_OW 8
// DialogueOn ;
2990: CALL_OW 6
// Say ( ivan , I1-9 ) ;
2994: LD_INT 1
2996: PPUSH
2997: LD_STRING I1-9
2999: PPUSH
3000: CALL_OW 88
// DialogueOff ;
3004: CALL_OW 7
// Wait ( 0 0$2 ) ;
3008: LD_INT 70
3010: PPUSH
3011: CALL_OW 67
// PlaceUnitArea ( terminator , terminatore , true ) ;
3015: LD_EXP 1
3019: PPUSH
3020: LD_INT 22
3022: PPUSH
3023: LD_INT 1
3025: PPUSH
3026: CALL_OW 49
// Wait ( 0 0$5 ) ;
3030: LD_INT 175
3032: PPUSH
3033: CALL_OW 67
// DialogueOn ;
3037: CALL_OW 6
// Say ( terminator , T1-1 ) ;
3041: LD_EXP 1
3045: PPUSH
3046: LD_STRING T1-1
3048: PPUSH
3049: CALL_OW 88
// Say ( michail , M1-20 ) ;
3053: LD_INT 2
3055: PPUSH
3056: LD_STRING M1-20
3058: PPUSH
3059: CALL_OW 88
// enable ( 009 ) ;
3063: LD_INT 9
3065: ENABLE_MARKED
// DialogueOff ;
3066: CALL_OW 7
// InGameOff ;
3070: CALL_OW 9
// end ;
3074: END
// every 8 8$00 do
3075: GO 3077
3077: DISABLE
// begin uc_side := 4 ;
3078: LD_ADDR_OWVAR 20
3082: PUSH
3083: LD_INT 4
3085: ST_TO_ADDR
// hc_name := Dyplomata ;
3086: LD_ADDR_OWVAR 26
3090: PUSH
3091: LD_STRING Dyplomata
3093: ST_TO_ADDR
// hc_sex := sex_male ;
3094: LD_ADDR_OWVAR 27
3098: PUSH
3099: LD_INT 1
3101: ST_TO_ADDR
// hc_skills := [ 7 , 2 , 1 , 4 ] ;
3102: LD_ADDR_OWVAR 31
3106: PUSH
3107: LD_INT 7
3109: PUSH
3110: LD_INT 2
3112: PUSH
3113: LD_INT 1
3115: PUSH
3116: LD_INT 4
3118: PUSH
3119: EMPTY
3120: LIST
3121: LIST
3122: LIST
3123: LIST
3124: ST_TO_ADDR
// hc_gallery := 2 ;
3125: LD_ADDR_OWVAR 33
3129: PUSH
3130: LD_STRING 2
3132: ST_TO_ADDR
// hc_face_number := 3 ;
3133: LD_ADDR_OWVAR 34
3137: PUSH
3138: LD_INT 3
3140: ST_TO_ADDR
// hc_class := 5 ;
3141: LD_ADDR_OWVAR 28
3145: PUSH
3146: LD_INT 5
3148: ST_TO_ADDR
// dyplomata := CreateHuman ;
3149: LD_ADDR_EXP 2
3153: PUSH
3154: CALL_OW 44
3158: ST_TO_ADDR
// PlaceUnitArea ( dyplomata , dyplomate , false ) ;
3159: LD_EXP 2
3163: PPUSH
3164: LD_INT 27
3166: PPUSH
3167: LD_INT 0
3169: PPUSH
3170: CALL_OW 49
// AddComAgressiveMove ( dyplomata , 81 , 125 ) ;
3174: LD_EXP 2
3178: PPUSH
3179: LD_INT 81
3181: PPUSH
3182: LD_INT 125
3184: PPUSH
3185: CALL_OW 174
// InGameOn ;
3189: CALL_OW 8
// Say ( dyplomata , D1-1 ) ;
3193: LD_EXP 2
3197: PPUSH
3198: LD_STRING D1-1
3200: PPUSH
3201: CALL_OW 88
// Say ( michail , M1-20 ) ;
3205: LD_INT 2
3207: PPUSH
3208: LD_STRING M1-20
3210: PPUSH
3211: CALL_OW 88
// Say ( dyplomata , D1-2 ) ;
3215: LD_EXP 2
3219: PPUSH
3220: LD_STRING D1-2
3222: PPUSH
3223: CALL_OW 88
// Say ( dyplomata , D1-3 ) ;
3227: LD_EXP 2
3231: PPUSH
3232: LD_STRING D1-3
3234: PPUSH
3235: CALL_OW 88
// Say ( dyplomata , D1-4 ) ;
3239: LD_EXP 2
3243: PPUSH
3244: LD_STRING D1-4
3246: PPUSH
3247: CALL_OW 88
// Say ( michail , M1-21 ) ;
3251: LD_INT 2
3253: PPUSH
3254: LD_STRING M1-21
3256: PPUSH
3257: CALL_OW 88
// Say ( dyplomata , D1-5 ) ;
3261: LD_EXP 2
3265: PPUSH
3266: LD_STRING D1-5
3268: PPUSH
3269: CALL_OW 88
// Say ( michail , M1-22 ) ;
3273: LD_INT 2
3275: PPUSH
3276: LD_STRING M1-22
3278: PPUSH
3279: CALL_OW 88
// SetSide ( dyplomata , 8 ) ;
3283: LD_EXP 2
3287: PPUSH
3288: LD_INT 8
3290: PPUSH
3291: CALL_OW 235
// InGameOff ;
3295: CALL_OW 9
// end ;
3299: END
// every 0 0$1 trigger IsDying ( dyplomata ) or IsDead ( dyplomata ) do
3300: LD_EXP 2
3304: PPUSH
3305: CALL_OW 303
3309: PUSH
3310: LD_EXP 2
3314: PPUSH
3315: CALL_OW 301
3319: OR
3320: IFFALSE 3354
3322: GO 3324
3324: DISABLE
// begin CenterOnUnits ( dyplomata ) ;
3325: LD_EXP 2
3329: PPUSH
3330: CALL_OW 85
// DialogueOn ;
3334: CALL_OW 6
// Say ( dyplomata , D1-6 ) ;
3338: LD_EXP 2
3342: PPUSH
3343: LD_STRING D1-6
3345: PPUSH
3346: CALL_OW 88
// DialogueOff ;
3350: CALL_OW 7
// end ;
3354: END
// every 0 0$1 trigger IsInArea ( ivan , pieklo ) or IsInArea ( michail , pieklo ) or IsInArea ( ru , pieklo ) or IsInArea ( ba , pieklo ) or IsInArea ( eng , pieklo ) or IsInArea ( eng1 , pieklo ) or IsInArea ( mech2 , pieklo ) or IsInArea ( mech3 , pieklo ) or IsInArea ( terminator , pieklo ) or IsInArea ( dyplomata , pieklo ) do
3355: LD_INT 1
3357: PPUSH
3358: LD_INT 23
3360: PPUSH
3361: CALL_OW 308
3365: PUSH
3366: LD_INT 2
3368: PPUSH
3369: LD_INT 23
3371: PPUSH
3372: CALL_OW 308
3376: OR
3377: PUSH
3378: LD_EXP 21
3382: PPUSH
3383: LD_INT 23
3385: PPUSH
3386: CALL_OW 308
3390: OR
3391: PUSH
3392: LD_EXP 22
3396: PPUSH
3397: LD_INT 23
3399: PPUSH
3400: CALL_OW 308
3404: OR
3405: PUSH
3406: LD_EXP 23
3410: PPUSH
3411: LD_INT 23
3413: PPUSH
3414: CALL_OW 308
3418: OR
3419: PUSH
3420: LD_EXP 3
3424: PPUSH
3425: LD_INT 23
3427: PPUSH
3428: CALL_OW 308
3432: OR
3433: PUSH
3434: LD_EXP 11
3438: PPUSH
3439: LD_INT 23
3441: PPUSH
3442: CALL_OW 308
3446: OR
3447: PUSH
3448: LD_EXP 12
3452: PPUSH
3453: LD_INT 23
3455: PPUSH
3456: CALL_OW 308
3460: OR
3461: PUSH
3462: LD_EXP 1
3466: PPUSH
3467: LD_INT 23
3469: PPUSH
3470: CALL_OW 308
3474: OR
3475: PUSH
3476: LD_EXP 2
3480: PPUSH
3481: LD_INT 23
3483: PPUSH
3484: CALL_OW 308
3488: OR
3489: IFFALSE 3550
3491: GO 3493
3493: DISABLE
// begin Say ( ivan , I1-10 ) ;
3494: LD_INT 1
3496: PPUSH
3497: LD_STRING I1-10
3499: PPUSH
3500: CALL_OW 88
// Say ( michail , M1-23 ) ;
3504: LD_INT 2
3506: PPUSH
3507: LD_STRING M1-23
3509: PPUSH
3510: CALL_OW 88
// Say ( nau2 , N1-1 ) ;
3514: LD_EXP 8
3518: PPUSH
3519: LD_STRING N1-1
3521: PPUSH
3522: CALL_OW 88
// Say ( nau3 , N1-2 ) ;
3526: LD_EXP 9
3530: PPUSH
3531: LD_STRING N1-2
3533: PPUSH
3534: CALL_OW 88
// Say ( mech3 , M3-3 ) ;
3538: LD_EXP 12
3542: PPUSH
3543: LD_STRING M3-3
3545: PPUSH
3546: CALL_OW 88
// end ; end_of_file
3550: END
// every 0 0$5 trigger IsDead ( szatan ) do
3551: LD_INT 4
3553: PPUSH
3554: CALL_OW 301
3558: IFFALSE 3669
3560: GO 3562
3562: DISABLE
// begin Ingameon ;
3563: CALL_OW 8
// dialogueon ;
3567: CALL_OW 6
// Say ( michail , M1-33 ) ;
3571: LD_INT 2
3573: PPUSH
3574: LD_STRING M1-33
3576: PPUSH
3577: CALL_OW 88
// Say ( ivan , I1-10 ) ;
3581: LD_INT 1
3583: PPUSH
3584: LD_STRING I1-10
3586: PPUSH
3587: CALL_OW 88
// Say ( michail , M1-35 ) ;
3591: LD_INT 2
3593: PPUSH
3594: LD_STRING M1-35
3596: PPUSH
3597: CALL_OW 88
// Say ( ivan , I1-11 ) ;
3601: LD_INT 1
3603: PPUSH
3604: LD_STRING I1-11
3606: PPUSH
3607: CALL_OW 88
// Say ( michail , M1-36 ) ;
3611: LD_INT 2
3613: PPUSH
3614: LD_STRING M1-36
3616: PPUSH
3617: CALL_OW 88
// Say ( ivan , I1-12 ) ;
3621: LD_INT 1
3623: PPUSH
3624: LD_STRING I1-12
3626: PPUSH
3627: CALL_OW 88
// ingameoff ;
3631: CALL_OW 9
// dialogueoff ;
3635: CALL_OW 7
// SetAreaMapShow ( ende , true ) ;
3639: LD_INT 28
3641: PPUSH
3642: LD_INT 1
3644: PPUSH
3645: CALL_OW 424
// ChangeMissionObjectives ( CEL2W ) ;
3649: LD_STRING CEL2W
3651: PPUSH
3652: CALL_OW 337
// ChangeMissionObjectives ( CEL5 ) ;
3656: LD_STRING CEL5
3658: PPUSH
3659: CALL_OW 337
// disable ( 003 ) ;
3663: LD_INT 3
3665: DISABLE_MARKED
// disable ( 100 ) ;
3666: LD_INT 100
3668: DISABLE_MARKED
// end ;
3669: END
// every 0 0$4 trigger IsInArea ( michail , ende ) do
3670: LD_INT 2
3672: PPUSH
3673: LD_INT 28
3675: PPUSH
3676: CALL_OW 308
3680: IFFALSE 3733
3682: GO 3684
3684: DISABLE
// begin AddMedal ( medal1 , 1 ) ;
3685: LD_STRING medal1
3687: PPUSH
3688: LD_INT 1
3690: PPUSH
3691: CALL_OW 101
// AddMedal ( medal2 , 1 ) ;
3695: LD_STRING medal2
3697: PPUSH
3698: LD_INT 1
3700: PPUSH
3701: CALL_OW 101
// AddMedal ( medal3 , 1 ) ;
3705: LD_STRING medal3
3707: PPUSH
3708: LD_INT 1
3710: PPUSH
3711: CALL_OW 101
// GiveMedals ( MAIN ) ;
3715: LD_STRING MAIN
3717: PPUSH
3718: CALL_OW 102
// YouWin ;
3722: CALL_OW 103
// RewardPeople ( michail ) ;
3726: LD_INT 2
3728: PPUSH
3729: CALL_OW 43
// end ;
3733: END
