// export You , Amici , Rusi ; export UTOKY ; starting begin RandomizeAll ;
   0: CALL_OW 11
// debug_strings = [ ] ;
   4: LD_ADDR_OWVAR 48
   8: PUSH
   9: EMPTY
  10: ST_TO_ADDR
// You = 2 ;
  11: LD_ADDR_EXP 1
  15: PUSH
  16: LD_INT 2
  18: ST_TO_ADDR
// Amici = 1 ;
  19: LD_ADDR_EXP 2
  23: PUSH
  24: LD_INT 1
  26: ST_TO_ADDR
// Rusi = 3 ;
  27: LD_ADDR_EXP 3
  31: PUSH
  32: LD_INT 3
  34: ST_TO_ADDR
// UTOKY = 0 ;
  35: LD_ADDR_EXP 4
  39: PUSH
  40: LD_INT 0
  42: ST_TO_ADDR
// MUZE_D = false ;
  43: LD_ADDR_EXP 39
  47: PUSH
  48: LD_INT 0
  50: ST_TO_ADDR
// VZTAHY = [ 60 , 40 ] ;
  51: LD_ADDR_EXP 11
  55: PUSH
  56: LD_INT 60
  58: PUSH
  59: LD_INT 40
  61: PUSH
  62: EMPTY
  63: LIST
  64: LIST
  65: ST_TO_ADDR
// ruske_posily ;
  66: CALL 2063 0 0
// create_sberac_am ;
  70: CALL 3021 0 0
// create_sberac_ru ;
  74: CALL 2938 0 0
// InGameOn ;
  78: CALL_OW 8
// CenterNowOnXY ( 109 , 16 ) ;
  82: LD_INT 109
  84: PPUSH
  85: LD_INT 16
  87: PPUSH
  88: CALL_OW 86
// dialog1 ;
  92: CALL 3367 0 0
// end ;
  96: END
// export function vloz_na_pozici ( co , cislo , pozice ) ; var ii ; var pom ; begin
  97: LD_INT 0
  99: PPUSH
 100: PPUSH
 101: PPUSH
// pom = [ ] ;
 102: LD_ADDR_VAR 0 6
 106: PUSH
 107: EMPTY
 108: ST_TO_ADDR
// for ii := 1 to pozice do
 109: LD_ADDR_VAR 0 5
 113: PUSH
 114: DOUBLE
 115: LD_INT 1
 117: DEC
 118: ST_TO_ADDR
 119: LD_VAR 0 3
 123: PUSH
 124: FOR_TO
 125: IFFALSE 181
// if ii <> cislo then
 127: LD_VAR 0 5
 131: PUSH
 132: LD_VAR 0 2
 136: NONEQUAL
 137: IFFALSE 163
// pom = pom ^ pozice [ ii ] else
 139: LD_ADDR_VAR 0 6
 143: PUSH
 144: LD_VAR 0 6
 148: PUSH
 149: LD_VAR 0 3
 153: PUSH
 154: LD_VAR 0 5
 158: ARRAY
 159: ADD
 160: ST_TO_ADDR
 161: GO 179
// pom = pom ^ co ;
 163: LD_ADDR_VAR 0 6
 167: PUSH
 168: LD_VAR 0 6
 172: PUSH
 173: LD_VAR 0 1
 177: ADD
 178: ST_TO_ADDR
 179: GO 124
 181: POP
 182: POP
// result := pom ;
 183: LD_ADDR_VAR 0 4
 187: PUSH
 188: LD_VAR 0 6
 192: ST_TO_ADDR
// end ;
 193: LD_VAR 0 4
 197: RET
// export function zmen_stav ( strana , modifier , vypis ) ; var vzt , wasally ; begin
 198: LD_INT 0
 200: PPUSH
 201: PPUSH
 202: PPUSH
// wasally = [ Am_ally , Ru_ally ] ;
 203: LD_ADDR_VAR 0 6
 207: PUSH
 208: LD_EXP 18
 212: PUSH
 213: LD_EXP 28
 217: PUSH
 218: EMPTY
 219: LIST
 220: LIST
 221: ST_TO_ADDR
// vzt = VZTAHY ;
 222: LD_ADDR_VAR 0 5
 226: PUSH
 227: LD_EXP 11
 231: ST_TO_ADDR
// if strana = Amici then
 232: LD_VAR 0 1
 236: PUSH
 237: LD_EXP 2
 241: EQUAL
 242: IFFALSE 279
// vzt = vloz_na_pozici ( VZTAHY [ 1 ] + modifier , 1 , VZTAHY ) else
 244: LD_ADDR_VAR 0 5
 248: PUSH
 249: LD_EXP 11
 253: PUSH
 254: LD_INT 1
 256: ARRAY
 257: PUSH
 258: LD_VAR 0 2
 262: PLUS
 263: PPUSH
 264: LD_INT 1
 266: PPUSH
 267: LD_EXP 11
 271: PPUSH
 272: CALL 97 0 3
 276: ST_TO_ADDR
 277: GO 312
// vzt = vloz_na_pozici ( VZTAHY [ 2 ] + modifier , 2 , VZTAHY ) ;
 279: LD_ADDR_VAR 0 5
 283: PUSH
 284: LD_EXP 11
 288: PUSH
 289: LD_INT 2
 291: ARRAY
 292: PUSH
 293: LD_VAR 0 2
 297: PLUS
 298: PPUSH
 299: LD_INT 2
 301: PPUSH
 302: LD_EXP 11
 306: PPUSH
 307: CALL 97 0 3
 311: ST_TO_ADDR
// case vzt [ 1 ] of 0 .. 5 :
 312: LD_VAR 0 5
 316: PUSH
 317: LD_INT 1
 319: ARRAY
 320: PUSH
 321: LD_INT 0
 323: DOUBLE
 324: GREATEREQUAL
 325: IFFALSE 333
 327: LD_INT 5
 329: DOUBLE
 330: LESSEQUAL
 331: IFTRUE 335
 333: GO 374
 335: POP
// begin Am_war = true ;
 336: LD_ADDR_EXP 19
 340: PUSH
 341: LD_INT 1
 343: ST_TO_ADDR
// Am_ally = false ;
 344: LD_ADDR_EXP 18
 348: PUSH
 349: LD_INT 0
 351: ST_TO_ADDR
// SetAttitude ( Amici , You , att_enemy , false ) ;
 352: LD_EXP 2
 356: PPUSH
 357: LD_EXP 1
 361: PPUSH
 362: LD_INT 2
 364: PPUSH
 365: LD_INT 0
 367: PPUSH
 368: CALL_OW 80
// end ; 6 .. 35 :
 372: GO 706
 374: LD_INT 6
 376: DOUBLE
 377: GREATEREQUAL
 378: IFFALSE 386
 380: LD_INT 35
 382: DOUBLE
 383: LESSEQUAL
 384: IFTRUE 388
 386: GO 427
 388: POP
// begin Am_war = false ;
 389: LD_ADDR_EXP 19
 393: PUSH
 394: LD_INT 0
 396: ST_TO_ADDR
// Am_ally = false ;
 397: LD_ADDR_EXP 18
 401: PUSH
 402: LD_INT 0
 404: ST_TO_ADDR
// SetAttitude ( Amici , You , att_enemy , false ) ;
 405: LD_EXP 2
 409: PPUSH
 410: LD_EXP 1
 414: PPUSH
 415: LD_INT 2
 417: PPUSH
 418: LD_INT 0
 420: PPUSH
 421: CALL_OW 80
// end ; 36 .. 65 :
 425: GO 706
 427: LD_INT 36
 429: DOUBLE
 430: GREATEREQUAL
 431: IFFALSE 439
 433: LD_INT 65
 435: DOUBLE
 436: LESSEQUAL
 437: IFTRUE 441
 439: GO 480
 441: POP
// begin Am_war = false ;
 442: LD_ADDR_EXP 19
 446: PUSH
 447: LD_INT 0
 449: ST_TO_ADDR
// Am_ally = false ;
 450: LD_ADDR_EXP 18
 454: PUSH
 455: LD_INT 0
 457: ST_TO_ADDR
// SetAttitude ( Amici , You , att_neutral , false ) ;
 458: LD_EXP 2
 462: PPUSH
 463: LD_EXP 1
 467: PPUSH
 468: LD_INT 0
 470: PPUSH
 471: LD_INT 0
 473: PPUSH
 474: CALL_OW 80
// end ; 66 .. 95 :
 478: GO 706
 480: LD_INT 66
 482: DOUBLE
 483: GREATEREQUAL
 484: IFFALSE 492
 486: LD_INT 95
 488: DOUBLE
 489: LESSEQUAL
 490: IFTRUE 494
 492: GO 533
 494: POP
// begin Am_war = false ;
 495: LD_ADDR_EXP 19
 499: PUSH
 500: LD_INT 0
 502: ST_TO_ADDR
// Am_ally = false ;
 503: LD_ADDR_EXP 18
 507: PUSH
 508: LD_INT 0
 510: ST_TO_ADDR
// SetAttitude ( Amici , You , att_friend , false ) ;
 511: LD_EXP 2
 515: PPUSH
 516: LD_EXP 1
 520: PPUSH
 521: LD_INT 1
 523: PPUSH
 524: LD_INT 0
 526: PPUSH
 527: CALL_OW 80
// end ; 96 .. 100 :
 531: GO 706
 533: LD_INT 96
 535: DOUBLE
 536: GREATEREQUAL
 537: IFFALSE 545
 539: LD_INT 100
 541: DOUBLE
 542: LESSEQUAL
 543: IFTRUE 547
 545: GO 606
 547: POP
// begin if not Am_ally then
 548: LD_EXP 18
 552: NOT
 553: IFFALSE 576
// vzt = vloz_na_pozici ( 95 , 1 , vzt ) ;
 555: LD_ADDR_VAR 0 5
 559: PUSH
 560: LD_INT 95
 562: PPUSH
 563: LD_INT 1
 565: PPUSH
 566: LD_VAR 0 5
 570: PPUSH
 571: CALL 97 0 3
 575: ST_TO_ADDR
// Am_war = false ;
 576: LD_ADDR_EXP 19
 580: PUSH
 581: LD_INT 0
 583: ST_TO_ADDR
// SetAttitude ( Amici , You , att_friend , false ) ;
 584: LD_EXP 2
 588: PPUSH
 589: LD_EXP 1
 593: PPUSH
 594: LD_INT 1
 596: PPUSH
 597: LD_INT 0
 599: PPUSH
 600: CALL_OW 80
// end ; else
 604: GO 706
 606: POP
// begin if vzt [ 1 ] < 0 then
 607: LD_VAR 0 5
 611: PUSH
 612: LD_INT 1
 614: ARRAY
 615: PUSH
 616: LD_INT 0
 618: LESS
 619: IFFALSE 642
// vzt = vloz_na_pozici ( 0 , 1 , vzt ) ;
 621: LD_ADDR_VAR 0 5
 625: PUSH
 626: LD_INT 0
 628: PPUSH
 629: LD_INT 1
 631: PPUSH
 632: LD_VAR 0 5
 636: PPUSH
 637: CALL 97 0 3
 641: ST_TO_ADDR
// if vzt [ 1 ] > 100 then
 642: LD_VAR 0 5
 646: PUSH
 647: LD_INT 1
 649: ARRAY
 650: PUSH
 651: LD_INT 100
 653: GREATER
 654: IFFALSE 706
// if Am_ally then
 656: LD_EXP 18
 660: IFFALSE 685
// vzt = vloz_na_pozici ( 100 , 1 , vzt ) else
 662: LD_ADDR_VAR 0 5
 666: PUSH
 667: LD_INT 100
 669: PPUSH
 670: LD_INT 1
 672: PPUSH
 673: LD_VAR 0 5
 677: PPUSH
 678: CALL 97 0 3
 682: ST_TO_ADDR
 683: GO 706
// vzt = vloz_na_pozici ( 95 , 1 , vzt ) ;
 685: LD_ADDR_VAR 0 5
 689: PUSH
 690: LD_INT 95
 692: PPUSH
 693: LD_INT 1
 695: PPUSH
 696: LD_VAR 0 5
 700: PPUSH
 701: CALL 97 0 3
 705: ST_TO_ADDR
// end ; end ; case vzt [ 2 ] of 0 .. 5 :
 706: LD_VAR 0 5
 710: PUSH
 711: LD_INT 2
 713: ARRAY
 714: PUSH
 715: LD_INT 0
 717: DOUBLE
 718: GREATEREQUAL
 719: IFFALSE 727
 721: LD_INT 5
 723: DOUBLE
 724: LESSEQUAL
 725: IFTRUE 729
 727: GO 768
 729: POP
// begin Ru_war = true ;
 730: LD_ADDR_EXP 29
 734: PUSH
 735: LD_INT 1
 737: ST_TO_ADDR
// Ru_ally = false ;
 738: LD_ADDR_EXP 28
 742: PUSH
 743: LD_INT 0
 745: ST_TO_ADDR
// SetAttitude ( Rusi , You , att_enemy , false ) ;
 746: LD_EXP 3
 750: PPUSH
 751: LD_EXP 1
 755: PPUSH
 756: LD_INT 2
 758: PPUSH
 759: LD_INT 0
 761: PPUSH
 762: CALL_OW 80
// end ; 6 .. 35 :
 766: GO 1092
 768: LD_INT 6
 770: DOUBLE
 771: GREATEREQUAL
 772: IFFALSE 780
 774: LD_INT 35
 776: DOUBLE
 777: LESSEQUAL
 778: IFTRUE 782
 780: GO 821
 782: POP
// begin Ru_war = false ;
 783: LD_ADDR_EXP 29
 787: PUSH
 788: LD_INT 0
 790: ST_TO_ADDR
// Ru_ally = false ;
 791: LD_ADDR_EXP 28
 795: PUSH
 796: LD_INT 0
 798: ST_TO_ADDR
// SetAttitude ( Rusi , You , att_enemy , false ) ;
 799: LD_EXP 3
 803: PPUSH
 804: LD_EXP 1
 808: PPUSH
 809: LD_INT 2
 811: PPUSH
 812: LD_INT 0
 814: PPUSH
 815: CALL_OW 80
// end ; 36 .. 65 :
 819: GO 1092
 821: LD_INT 36
 823: DOUBLE
 824: GREATEREQUAL
 825: IFFALSE 833
 827: LD_INT 65
 829: DOUBLE
 830: LESSEQUAL
 831: IFTRUE 835
 833: GO 874
 835: POP
// begin Ru_war = false ;
 836: LD_ADDR_EXP 29
 840: PUSH
 841: LD_INT 0
 843: ST_TO_ADDR
// Ru_ally = false ;
 844: LD_ADDR_EXP 28
 848: PUSH
 849: LD_INT 0
 851: ST_TO_ADDR
// SetAttitude ( Rusi , You , att_neutral , false ) ;
 852: LD_EXP 3
 856: PPUSH
 857: LD_EXP 1
 861: PPUSH
 862: LD_INT 0
 864: PPUSH
 865: LD_INT 0
 867: PPUSH
 868: CALL_OW 80
// end ; 66 .. 95 :
 872: GO 1092
 874: LD_INT 66
 876: DOUBLE
 877: GREATEREQUAL
 878: IFFALSE 886
 880: LD_INT 95
 882: DOUBLE
 883: LESSEQUAL
 884: IFTRUE 888
 886: GO 919
 888: POP
// begin Ru_war = false ;
 889: LD_ADDR_EXP 29
 893: PUSH
 894: LD_INT 0
 896: ST_TO_ADDR
// SetAttitude ( Rusi , You , att_friend , false ) ;
 897: LD_EXP 3
 901: PPUSH
 902: LD_EXP 1
 906: PPUSH
 907: LD_INT 1
 909: PPUSH
 910: LD_INT 0
 912: PPUSH
 913: CALL_OW 80
// end ; 96 .. 100 :
 917: GO 1092
 919: LD_INT 96
 921: DOUBLE
 922: GREATEREQUAL
 923: IFFALSE 931
 925: LD_INT 100
 927: DOUBLE
 928: LESSEQUAL
 929: IFTRUE 933
 931: GO 992
 933: POP
// begin if not Ru_ally then
 934: LD_EXP 28
 938: NOT
 939: IFFALSE 962
// vzt = vloz_na_pozici ( 95 , 2 , vzt ) ;
 941: LD_ADDR_VAR 0 5
 945: PUSH
 946: LD_INT 95
 948: PPUSH
 949: LD_INT 2
 951: PPUSH
 952: LD_VAR 0 5
 956: PPUSH
 957: CALL 97 0 3
 961: ST_TO_ADDR
// Ru_war = false ;
 962: LD_ADDR_EXP 29
 966: PUSH
 967: LD_INT 0
 969: ST_TO_ADDR
// SetAttitude ( Rusi , You , att_friend , false ) ;
 970: LD_EXP 3
 974: PPUSH
 975: LD_EXP 1
 979: PPUSH
 980: LD_INT 1
 982: PPUSH
 983: LD_INT 0
 985: PPUSH
 986: CALL_OW 80
// end ; else
 990: GO 1092
 992: POP
// begin if vzt [ 2 ] < 0 then
 993: LD_VAR 0 5
 997: PUSH
 998: LD_INT 2
1000: ARRAY
1001: PUSH
1002: LD_INT 0
1004: LESS
1005: IFFALSE 1028
// vzt = vloz_na_pozici ( 0 , 2 , vzt ) ;
1007: LD_ADDR_VAR 0 5
1011: PUSH
1012: LD_INT 0
1014: PPUSH
1015: LD_INT 2
1017: PPUSH
1018: LD_VAR 0 5
1022: PPUSH
1023: CALL 97 0 3
1027: ST_TO_ADDR
// if vzt [ 2 ] > 100 then
1028: LD_VAR 0 5
1032: PUSH
1033: LD_INT 2
1035: ARRAY
1036: PUSH
1037: LD_INT 100
1039: GREATER
1040: IFFALSE 1092
// if Am_ally then
1042: LD_EXP 18
1046: IFFALSE 1071
// vzt = vloz_na_pozici ( 100 , 2 , vzt ) else
1048: LD_ADDR_VAR 0 5
1052: PUSH
1053: LD_INT 100
1055: PPUSH
1056: LD_INT 2
1058: PPUSH
1059: LD_VAR 0 5
1063: PPUSH
1064: CALL 97 0 3
1068: ST_TO_ADDR
1069: GO 1092
// vzt = vloz_na_pozici ( 95 , 2 , vzt ) ;
1071: LD_ADDR_VAR 0 5
1075: PUSH
1076: LD_INT 95
1078: PPUSH
1079: LD_INT 2
1081: PPUSH
1082: LD_VAR 0 5
1086: PPUSH
1087: CALL 97 0 3
1091: ST_TO_ADDR
// end ; end ; debug_strings = [ vzt , GetAttitude ( Amici , You ) , GetAttitude ( Rusi , You ) ] ;
1092: LD_ADDR_OWVAR 48
1096: PUSH
1097: LD_VAR 0 5
1101: PUSH
1102: LD_EXP 2
1106: PPUSH
1107: LD_EXP 1
1111: PPUSH
1112: CALL_OW 81
1116: PUSH
1117: LD_EXP 3
1121: PPUSH
1122: LD_EXP 1
1126: PPUSH
1127: CALL_OW 81
1131: PUSH
1132: EMPTY
1133: LIST
1134: LIST
1135: LIST
1136: ST_TO_ADDR
// if vypis and strana = Rusi then
1137: LD_VAR 0 3
1141: PUSH
1142: LD_VAR 0 1
1146: PUSH
1147: LD_EXP 3
1151: EQUAL
1152: AND
1153: IFFALSE 1186
// begin dialog_uprav_vztahy_rusi ( vzt [ 2 ] , VZTAHY [ 2 ] , wasally [ 2 ] ) ;
1155: LD_VAR 0 5
1159: PUSH
1160: LD_INT 2
1162: ARRAY
1163: PPUSH
1164: LD_EXP 11
1168: PUSH
1169: LD_INT 2
1171: ARRAY
1172: PPUSH
1173: LD_VAR 0 6
1177: PUSH
1178: LD_INT 2
1180: ARRAY
1181: PPUSH
1182: CALL 13035 0 3
// end ; if vypis and strana = Amici then
1186: LD_VAR 0 3
1190: PUSH
1191: LD_VAR 0 1
1195: PUSH
1196: LD_EXP 2
1200: EQUAL
1201: AND
1202: IFFALSE 1235
// begin dialog_uprav_vztahy_amici ( vzt [ 1 ] , VZTAHY [ 1 ] , wasally [ 1 ] ) ;
1204: LD_VAR 0 5
1208: PUSH
1209: LD_INT 1
1211: ARRAY
1212: PPUSH
1213: LD_EXP 11
1217: PUSH
1218: LD_INT 1
1220: ARRAY
1221: PPUSH
1222: LD_VAR 0 6
1226: PUSH
1227: LD_INT 1
1229: ARRAY
1230: PPUSH
1231: CALL 17239 0 3
// end ; VZTAHY = vzt ;
1235: LD_ADDR_EXP 11
1239: PUSH
1240: LD_VAR 0 5
1244: ST_TO_ADDR
// end ;
1245: LD_VAR 0 4
1249: RET
// on UnitDestroyed ( un ) do begin if un = Heike then
1250: LD_VAR 0 1
1254: PUSH
1255: LD_INT 35
1257: EQUAL
1258: IFFALSE 1267
// YouLost ( Heike ) ;
1260: LD_STRING Heike
1262: PPUSH
1263: CALL_OW 104
// if un = Sik then
1267: LD_VAR 0 1
1271: PUSH
1272: LD_INT 89
1274: EQUAL
1275: IFFALSE 1296
// begin SDEAD = true ;
1277: LD_ADDR_EXP 21
1281: PUSH
1282: LD_INT 1
1284: ST_TO_ADDR
// wait ( 0 0$3 ) ;
1285: LD_INT 105
1287: PPUSH
1288: CALL_OW 67
// sikorski_dead_dialog ;
1292: CALL 18945 0 0
// end ; enable ;
1296: ENABLE
// end ;
1297: PPOPN 1
1299: END
// every 0 0$1 trigger Am_pomoc > 0 do
1300: LD_EXP 22
1304: PUSH
1305: LD_INT 0
1307: GREATER
1308: IFFALSE 1320
1310: GO 1312
1312: DISABLE
// begin Msg ( AM_pomoc>0 !!!!!! ) ;
1313: LD_STRING AM_pomoc>0 !!!!!!
1315: PPUSH
1316: CALL_OW 100
// end ; end_of_file
1320: END
// export DOPROVOD_LIST ; export RUSKE_POSILY_LIST ; var ah , av ; function prepare_human ( sex , clas , level , name ) ; begin
1321: LD_INT 0
1323: PPUSH
// PrepareHuman ( sex , clas , level ) ;
1324: LD_VAR 0 1
1328: PPUSH
1329: LD_VAR 0 2
1333: PPUSH
1334: LD_VAR 0 3
1338: PPUSH
1339: CALL_OW 380
// hc_name := name ;
1343: LD_ADDR_OWVAR 26
1347: PUSH
1348: LD_VAR 0 4
1352: ST_TO_ADDR
// end ;
1353: LD_VAR 0 5
1357: RET
// export function create_slechtici ; begin
1358: LD_INT 0
1360: PPUSH
// InitUc ;
1361: CALL_OW 18
// InitHc ;
1365: CALL_OW 19
// InitVc ;
1369: CALL_OW 20
// uc_side := You ;
1373: LD_ADDR_OWVAR 20
1377: PUSH
1378: LD_EXP 1
1382: ST_TO_ADDR
// uc_nation := nation_arabian ;
1383: LD_ADDR_OWVAR 21
1387: PUSH
1388: LD_INT 2
1390: ST_TO_ADDR
// uc_direction := 3 ;
1391: LD_ADDR_OWVAR 24
1395: PUSH
1396: LD_INT 3
1398: ST_TO_ADDR
// prepare_human ( sex_male , class_soldier , 3 , Robert Farmer ) ;
1399: LD_INT 1
1401: PPUSH
1402: LD_INT 1
1404: PPUSH
1405: LD_INT 3
1407: PPUSH
1408: LD_STRING Robert Farmer
1410: PPUSH
1411: CALL 1321 0 4
// ah = CreateHuman ;
1415: LD_ADDR_LOC 1
1419: PUSH
1420: CALL_OW 44
1424: ST_TO_ADDR
// Farmer = ah ;
1425: LD_ADDR_EXP 7
1429: PUSH
1430: LD_LOC 1
1434: ST_TO_ADDR
// PlaceUnitXY ( ah , 103 , 5 , false ) ;
1435: LD_LOC 1
1439: PPUSH
1440: LD_INT 103
1442: PPUSH
1443: LD_INT 5
1445: PPUSH
1446: LD_INT 0
1448: PPUSH
1449: CALL_OW 48
// prepare_human ( sex_male , class_desert_warior , 3 , Abdul Sharrif ) ;
1453: LD_INT 1
1455: PPUSH
1456: LD_INT 11
1458: PPUSH
1459: LD_INT 3
1461: PPUSH
1462: LD_STRING Abdul Sharrif
1464: PPUSH
1465: CALL 1321 0 4
// ah = CreateHuman ;
1469: LD_ADDR_LOC 1
1473: PUSH
1474: CALL_OW 44
1478: ST_TO_ADDR
// Abdul = ah ;
1479: LD_ADDR_EXP 8
1483: PUSH
1484: LD_LOC 1
1488: ST_TO_ADDR
// PlaceUnitXY ( ah , 103 , 4 , false ) ;
1489: LD_LOC 1
1493: PPUSH
1494: LD_INT 103
1496: PPUSH
1497: LD_INT 4
1499: PPUSH
1500: LD_INT 0
1502: PPUSH
1503: CALL_OW 48
// prepare_human ( sex_male , class_desert_warior , 3 , Omar Ali ) ;
1507: LD_INT 1
1509: PPUSH
1510: LD_INT 11
1512: PPUSH
1513: LD_INT 3
1515: PPUSH
1516: LD_STRING Omar Ali
1518: PPUSH
1519: CALL 1321 0 4
// ah = CreateHuman ;
1523: LD_ADDR_LOC 1
1527: PUSH
1528: CALL_OW 44
1532: ST_TO_ADDR
// Omar = ah ;
1533: LD_ADDR_EXP 9
1537: PUSH
1538: LD_LOC 1
1542: ST_TO_ADDR
// PlaceUnitXY ( ah , 103 , 3 , false ) ;
1543: LD_LOC 1
1547: PPUSH
1548: LD_INT 103
1550: PPUSH
1551: LD_INT 3
1553: PPUSH
1554: LD_INT 0
1556: PPUSH
1557: CALL_OW 48
// prepare_human ( sex_male , class_desert_warior , 3 , Hasan ??? ) ;
1561: LD_INT 1
1563: PPUSH
1564: LD_INT 11
1566: PPUSH
1567: LD_INT 3
1569: PPUSH
1570: LD_STRING Hasan ???
1572: PPUSH
1573: CALL 1321 0 4
// ah = CreateHuman ;
1577: LD_ADDR_LOC 1
1581: PUSH
1582: CALL_OW 44
1586: ST_TO_ADDR
// Hasan = ah ;
1587: LD_ADDR_EXP 10
1591: PUSH
1592: LD_LOC 1
1596: ST_TO_ADDR
// PlaceUnitXY ( ah , 102 , 2 , false ) ;
1597: LD_LOC 1
1601: PPUSH
1602: LD_INT 102
1604: PPUSH
1605: LD_INT 2
1607: PPUSH
1608: LD_INT 0
1610: PPUSH
1611: CALL_OW 48
// prepare_human ( sex_male , class_soldier , 3 ,  ) ;
1615: LD_INT 1
1617: PPUSH
1618: LD_INT 1
1620: PPUSH
1621: LD_INT 3
1623: PPUSH
1624: LD_STRING 
1626: PPUSH
1627: CALL 1321 0 4
// ah = CreateHuman ;
1631: LD_ADDR_LOC 1
1635: PUSH
1636: CALL_OW 44
1640: ST_TO_ADDR
// DOPROVOD_LIST = ah ;
1641: LD_ADDR_EXP 5
1645: PUSH
1646: LD_LOC 1
1650: ST_TO_ADDR
// PlaceUnitXY ( ah , 100 , 2 , false ) ;
1651: LD_LOC 1
1655: PPUSH
1656: LD_INT 100
1658: PPUSH
1659: LD_INT 2
1661: PPUSH
1662: LD_INT 0
1664: PPUSH
1665: CALL_OW 48
// prepare_human ( sex_male , class_soldier , 3 ,  ) ;
1669: LD_INT 1
1671: PPUSH
1672: LD_INT 1
1674: PPUSH
1675: LD_INT 3
1677: PPUSH
1678: LD_STRING 
1680: PPUSH
1681: CALL 1321 0 4
// ah = CreateHuman ;
1685: LD_ADDR_LOC 1
1689: PUSH
1690: CALL_OW 44
1694: ST_TO_ADDR
// DOPROVOD_LIST = DOPROVOD_LIST ^ ah ;
1695: LD_ADDR_EXP 5
1699: PUSH
1700: LD_EXP 5
1704: PUSH
1705: LD_LOC 1
1709: ADD
1710: ST_TO_ADDR
// PlaceUnitXY ( ah , 105 , 3 , false ) ;
1711: LD_LOC 1
1715: PPUSH
1716: LD_INT 105
1718: PPUSH
1719: LD_INT 3
1721: PPUSH
1722: LD_INT 0
1724: PPUSH
1725: CALL_OW 48
// prepare_human ( sex_male , class_soldier , 3 ,  ) ;
1729: LD_INT 1
1731: PPUSH
1732: LD_INT 1
1734: PPUSH
1735: LD_INT 3
1737: PPUSH
1738: LD_STRING 
1740: PPUSH
1741: CALL 1321 0 4
// ah = CreateHuman ;
1745: LD_ADDR_LOC 1
1749: PUSH
1750: CALL_OW 44
1754: ST_TO_ADDR
// DOPROVOD_LIST = DOPROVOD_LIST ^ ah ;
1755: LD_ADDR_EXP 5
1759: PUSH
1760: LD_EXP 5
1764: PUSH
1765: LD_LOC 1
1769: ADD
1770: ST_TO_ADDR
// PlaceUnitXY ( ah , 100 , 1 , false ) ;
1771: LD_LOC 1
1775: PPUSH
1776: LD_INT 100
1778: PPUSH
1779: LD_INT 1
1781: PPUSH
1782: LD_INT 0
1784: PPUSH
1785: CALL_OW 48
// prepare_human ( sex_male , class_soldier , 3 ,  ) ;
1789: LD_INT 1
1791: PPUSH
1792: LD_INT 1
1794: PPUSH
1795: LD_INT 3
1797: PPUSH
1798: LD_STRING 
1800: PPUSH
1801: CALL 1321 0 4
// ah = CreateHuman ;
1805: LD_ADDR_LOC 1
1809: PUSH
1810: CALL_OW 44
1814: ST_TO_ADDR
// DOPROVOD_LIST = DOPROVOD_LIST ^ ah ;
1815: LD_ADDR_EXP 5
1819: PUSH
1820: LD_EXP 5
1824: PUSH
1825: LD_LOC 1
1829: ADD
1830: ST_TO_ADDR
// PlaceUnitXY ( ah , 105 , 1 , false ) ;
1831: LD_LOC 1
1835: PPUSH
1836: LD_INT 105
1838: PPUSH
1839: LD_INT 1
1841: PPUSH
1842: LD_INT 0
1844: PPUSH
1845: CALL_OW 48
// end ;
1849: LD_VAR 0 1
1853: RET
// export function create_am_mechanic ; begin
1854: LD_INT 0
1856: PPUSH
// uc_side := Amici ;
1857: LD_ADDR_OWVAR 20
1861: PUSH
1862: LD_EXP 2
1866: ST_TO_ADDR
// uc_nation := nation_american ;
1867: LD_ADDR_OWVAR 21
1871: PUSH
1872: LD_INT 1
1874: ST_TO_ADDR
// uc_direction := 3 ;
1875: LD_ADDR_OWVAR 24
1879: PUSH
1880: LD_INT 3
1882: ST_TO_ADDR
// prepare_human ( get_sex , class_mechanic , 3 ,  ) ;
1883: CALL 1941 0 0
1887: PPUSH
1888: LD_INT 3
1890: PPUSH
1891: LD_INT 3
1893: PPUSH
1894: LD_STRING 
1896: PPUSH
1897: CALL 1321 0 4
// ah = CreateHuman ;
1901: LD_ADDR_LOC 1
1905: PUSH
1906: CALL_OW 44
1910: ST_TO_ADDR
// PlaceUnitArea ( ah , Ch_mam , false ) ;
1911: LD_LOC 1
1915: PPUSH
1916: LD_INT 7
1918: PPUSH
1919: LD_INT 0
1921: PPUSH
1922: CALL_OW 49
// result = ah ;
1926: LD_ADDR_VAR 0 1
1930: PUSH
1931: LD_LOC 1
1935: ST_TO_ADDR
// end ;
1936: LD_VAR 0 1
1940: RET
// function get_sex ; begin
1941: LD_INT 0
1943: PPUSH
// if Prob ( 20 ) then
1944: LD_INT 20
1946: PPUSH
1947: CALL_OW 13
1951: IFFALSE 1963
// result = sex_female else
1953: LD_ADDR_VAR 0 1
1957: PUSH
1958: LD_INT 2
1960: ST_TO_ADDR
1961: GO 1971
// result = sex_male ;
1963: LD_ADDR_VAR 0 1
1967: PUSH
1968: LD_INT 1
1970: ST_TO_ADDR
// end ;
1971: LD_VAR 0 1
1975: RET
// export function create_ru_mechanic ; begin
1976: LD_INT 0
1978: PPUSH
// uc_side := Rusi ;
1979: LD_ADDR_OWVAR 20
1983: PUSH
1984: LD_EXP 3
1988: ST_TO_ADDR
// uc_nation := nation_russian ;
1989: LD_ADDR_OWVAR 21
1993: PUSH
1994: LD_INT 3
1996: ST_TO_ADDR
// uc_direction := 3 ;
1997: LD_ADDR_OWVAR 24
2001: PUSH
2002: LD_INT 3
2004: ST_TO_ADDR
// prepare_human ( get_sex , class_mechanic , 3 ,  ) ;
2005: CALL 1941 0 0
2009: PPUSH
2010: LD_INT 3
2012: PPUSH
2013: LD_INT 3
2015: PPUSH
2016: LD_STRING 
2018: PPUSH
2019: CALL 1321 0 4
// ah = CreateHuman ;
2023: LD_ADDR_LOC 1
2027: PUSH
2028: CALL_OW 44
2032: ST_TO_ADDR
// PlaceUnitArea ( ah , Ch_mru , false ) ;
2033: LD_LOC 1
2037: PPUSH
2038: LD_INT 8
2040: PPUSH
2041: LD_INT 0
2043: PPUSH
2044: CALL_OW 49
// result = ah ;
2048: LD_ADDR_VAR 0 1
2052: PUSH
2053: LD_LOC 1
2057: ST_TO_ADDR
// end ;
2058: LD_VAR 0 1
2062: RET
// export function ruske_posily ; var pom ; begin
2063: LD_INT 0
2065: PPUSH
2066: PPUSH
// uc_side := Rusi ;
2067: LD_ADDR_OWVAR 20
2071: PUSH
2072: LD_EXP 3
2076: ST_TO_ADDR
// uc_nation := nation_russian ;
2077: LD_ADDR_OWVAR 21
2081: PUSH
2082: LD_INT 3
2084: ST_TO_ADDR
// uc_direction := 5 ;
2085: LD_ADDR_OWVAR 24
2089: PUSH
2090: LD_INT 5
2092: ST_TO_ADDR
// prepare_human ( get_sex , class_mechanic , 3 ,  ) ;
2093: CALL 1941 0 0
2097: PPUSH
2098: LD_INT 3
2100: PPUSH
2101: LD_INT 3
2103: PPUSH
2104: LD_STRING 
2106: PPUSH
2107: CALL 1321 0 4
// ah = CreateHuman ;
2111: LD_ADDR_LOC 1
2115: PUSH
2116: CALL_OW 44
2120: ST_TO_ADDR
// vc_chassis := ru_medium_wheeled ;
2121: LD_ADDR_OWVAR 37
2125: PUSH
2126: LD_INT 21
2128: ST_TO_ADDR
// vc_control := control_manual ;
2129: LD_ADDR_OWVAR 38
2133: PUSH
2134: LD_INT 1
2136: ST_TO_ADDR
// vc_engine := engine_combustion ;
2137: LD_ADDR_OWVAR 39
2141: PUSH
2142: LD_INT 1
2144: ST_TO_ADDR
// vc_weapon := ru_heavy_machine_gun ;
2145: LD_ADDR_OWVAR 40
2149: PUSH
2150: LD_INT 42
2152: ST_TO_ADDR
// av = CreateVehicle ;
2153: LD_ADDR_LOC 2
2157: PUSH
2158: CALL_OW 45
2162: ST_TO_ADDR
// PlaceHumanInUnit ( ah , av ) ;
2163: LD_LOC 1
2167: PPUSH
2168: LD_LOC 2
2172: PPUSH
2173: CALL_OW 52
// pom = pom ^ av ;
2177: LD_ADDR_VAR 0 2
2181: PUSH
2182: LD_VAR 0 2
2186: PUSH
2187: LD_LOC 2
2191: ADD
2192: ST_TO_ADDR
// prepare_human ( get_sex , class_mechanic , 4 ,  ) ;
2193: CALL 1941 0 0
2197: PPUSH
2198: LD_INT 3
2200: PPUSH
2201: LD_INT 4
2203: PPUSH
2204: LD_STRING 
2206: PPUSH
2207: CALL 1321 0 4
// ah = CreateHuman ;
2211: LD_ADDR_LOC 1
2215: PUSH
2216: CALL_OW 44
2220: ST_TO_ADDR
// vc_chassis := ru_medium_wheeled ;
2221: LD_ADDR_OWVAR 37
2225: PUSH
2226: LD_INT 21
2228: ST_TO_ADDR
// vc_control := control_manual ;
2229: LD_ADDR_OWVAR 38
2233: PUSH
2234: LD_INT 1
2236: ST_TO_ADDR
// vc_engine := engine_combustion ;
2237: LD_ADDR_OWVAR 39
2241: PUSH
2242: LD_INT 1
2244: ST_TO_ADDR
// vc_weapon := ru_gatling_gun ;
2245: LD_ADDR_OWVAR 40
2249: PUSH
2250: LD_INT 43
2252: ST_TO_ADDR
// av = CreateVehicle ;
2253: LD_ADDR_LOC 2
2257: PUSH
2258: CALL_OW 45
2262: ST_TO_ADDR
// PlaceHumanInUnit ( ah , av ) ;
2263: LD_LOC 1
2267: PPUSH
2268: LD_LOC 2
2272: PPUSH
2273: CALL_OW 52
// pom = pom ^ av ;
2277: LD_ADDR_VAR 0 2
2281: PUSH
2282: LD_VAR 0 2
2286: PUSH
2287: LD_LOC 2
2291: ADD
2292: ST_TO_ADDR
// prepare_human ( get_sex , class_mechanic , 4 ,  ) ;
2293: CALL 1941 0 0
2297: PPUSH
2298: LD_INT 3
2300: PPUSH
2301: LD_INT 4
2303: PPUSH
2304: LD_STRING 
2306: PPUSH
2307: CALL 1321 0 4
// ah = CreateHuman ;
2311: LD_ADDR_LOC 1
2315: PUSH
2316: CALL_OW 44
2320: ST_TO_ADDR
// vc_chassis := ru_medium_tracked ;
2321: LD_ADDR_OWVAR 37
2325: PUSH
2326: LD_INT 22
2328: ST_TO_ADDR
// vc_control := control_manual ;
2329: LD_ADDR_OWVAR 38
2333: PUSH
2334: LD_INT 1
2336: ST_TO_ADDR
// vc_engine := engine_combustion ;
2337: LD_ADDR_OWVAR 39
2341: PUSH
2342: LD_INT 1
2344: ST_TO_ADDR
// vc_weapon := ru_gatling_gun ;
2345: LD_ADDR_OWVAR 40
2349: PUSH
2350: LD_INT 43
2352: ST_TO_ADDR
// av = CreateVehicle ;
2353: LD_ADDR_LOC 2
2357: PUSH
2358: CALL_OW 45
2362: ST_TO_ADDR
// PlaceHumanInUnit ( ah , av ) ;
2363: LD_LOC 1
2367: PPUSH
2368: LD_LOC 2
2372: PPUSH
2373: CALL_OW 52
// pom = pom ^ av ;
2377: LD_ADDR_VAR 0 2
2381: PUSH
2382: LD_VAR 0 2
2386: PUSH
2387: LD_LOC 2
2391: ADD
2392: ST_TO_ADDR
// prepare_human ( get_sex , class_mechanic , 3 ,  ) ;
2393: CALL 1941 0 0
2397: PPUSH
2398: LD_INT 3
2400: PPUSH
2401: LD_INT 3
2403: PPUSH
2404: LD_STRING 
2406: PPUSH
2407: CALL 1321 0 4
// ah = CreateHuman ;
2411: LD_ADDR_LOC 1
2415: PUSH
2416: CALL_OW 44
2420: ST_TO_ADDR
// vc_chassis := ru_medium_tracked ;
2421: LD_ADDR_OWVAR 37
2425: PUSH
2426: LD_INT 22
2428: ST_TO_ADDR
// vc_control := control_manual ;
2429: LD_ADDR_OWVAR 38
2433: PUSH
2434: LD_INT 1
2436: ST_TO_ADDR
// vc_engine := engine_combustion ;
2437: LD_ADDR_OWVAR 39
2441: PUSH
2442: LD_INT 1
2444: ST_TO_ADDR
// vc_weapon := ru_gatling_gun ;
2445: LD_ADDR_OWVAR 40
2449: PUSH
2450: LD_INT 43
2452: ST_TO_ADDR
// av = CreateVehicle ;
2453: LD_ADDR_LOC 2
2457: PUSH
2458: CALL_OW 45
2462: ST_TO_ADDR
// PlaceHumanInUnit ( ah , av ) ;
2463: LD_LOC 1
2467: PPUSH
2468: LD_LOC 2
2472: PPUSH
2473: CALL_OW 52
// pom = pom ^ av ;
2477: LD_ADDR_VAR 0 2
2481: PUSH
2482: LD_VAR 0 2
2486: PUSH
2487: LD_LOC 2
2491: ADD
2492: ST_TO_ADDR
// if difficulty > 1 then
2493: LD_OWVAR 67
2497: PUSH
2498: LD_INT 1
2500: GREATER
2501: IFFALSE 2603
// begin prepare_human ( get_sex , class_mechanic , 3 ,  ) ;
2503: CALL 1941 0 0
2507: PPUSH
2508: LD_INT 3
2510: PPUSH
2511: LD_INT 3
2513: PPUSH
2514: LD_STRING 
2516: PPUSH
2517: CALL 1321 0 4
// ah = CreateHuman ;
2521: LD_ADDR_LOC 1
2525: PUSH
2526: CALL_OW 44
2530: ST_TO_ADDR
// vc_chassis := ru_medium_tracked ;
2531: LD_ADDR_OWVAR 37
2535: PUSH
2536: LD_INT 22
2538: ST_TO_ADDR
// vc_control := control_manual ;
2539: LD_ADDR_OWVAR 38
2543: PUSH
2544: LD_INT 1
2546: ST_TO_ADDR
// vc_engine := engine_combustion ;
2547: LD_ADDR_OWVAR 39
2551: PUSH
2552: LD_INT 1
2554: ST_TO_ADDR
// vc_weapon := ru_gatling_gun ;
2555: LD_ADDR_OWVAR 40
2559: PUSH
2560: LD_INT 43
2562: ST_TO_ADDR
// av = CreateVehicle ;
2563: LD_ADDR_LOC 2
2567: PUSH
2568: CALL_OW 45
2572: ST_TO_ADDR
// PlaceHumanInUnit ( ah , av ) ;
2573: LD_LOC 1
2577: PPUSH
2578: LD_LOC 2
2582: PPUSH
2583: CALL_OW 52
// pom = pom ^ av ;
2587: LD_ADDR_VAR 0 2
2591: PUSH
2592: LD_VAR 0 2
2596: PUSH
2597: LD_LOC 2
2601: ADD
2602: ST_TO_ADDR
// end ; if difficulty > 1 then
2603: LD_OWVAR 67
2607: PUSH
2608: LD_INT 1
2610: GREATER
2611: IFFALSE 2713
// begin prepare_human ( get_sex , class_mechanic , 3 ,  ) ;
2613: CALL 1941 0 0
2617: PPUSH
2618: LD_INT 3
2620: PPUSH
2621: LD_INT 3
2623: PPUSH
2624: LD_STRING 
2626: PPUSH
2627: CALL 1321 0 4
// ah = CreateHuman ;
2631: LD_ADDR_LOC 1
2635: PUSH
2636: CALL_OW 44
2640: ST_TO_ADDR
// vc_chassis := ru_medium_tracked ;
2641: LD_ADDR_OWVAR 37
2645: PUSH
2646: LD_INT 22
2648: ST_TO_ADDR
// vc_control := control_manual ;
2649: LD_ADDR_OWVAR 38
2653: PUSH
2654: LD_INT 1
2656: ST_TO_ADDR
// vc_engine := engine_combustion ;
2657: LD_ADDR_OWVAR 39
2661: PUSH
2662: LD_INT 1
2664: ST_TO_ADDR
// vc_weapon := ru_gatling_gun ;
2665: LD_ADDR_OWVAR 40
2669: PUSH
2670: LD_INT 43
2672: ST_TO_ADDR
// av = CreateVehicle ;
2673: LD_ADDR_LOC 2
2677: PUSH
2678: CALL_OW 45
2682: ST_TO_ADDR
// PlaceHumanInUnit ( ah , av ) ;
2683: LD_LOC 1
2687: PPUSH
2688: LD_LOC 2
2692: PPUSH
2693: CALL_OW 52
// pom = pom ^ av ;
2697: LD_ADDR_VAR 0 2
2701: PUSH
2702: LD_VAR 0 2
2706: PUSH
2707: LD_LOC 2
2711: ADD
2712: ST_TO_ADDR
// end ; if difficulty > 1 then
2713: LD_OWVAR 67
2717: PUSH
2718: LD_INT 1
2720: GREATER
2721: IFFALSE 2923
// begin prepare_human ( get_sex , class_mechanic , 3 ,  ) ;
2723: CALL 1941 0 0
2727: PPUSH
2728: LD_INT 3
2730: PPUSH
2731: LD_INT 3
2733: PPUSH
2734: LD_STRING 
2736: PPUSH
2737: CALL 1321 0 4
// ah = CreateHuman ;
2741: LD_ADDR_LOC 1
2745: PUSH
2746: CALL_OW 44
2750: ST_TO_ADDR
// vc_chassis := ru_medium_wheeled ;
2751: LD_ADDR_OWVAR 37
2755: PUSH
2756: LD_INT 21
2758: ST_TO_ADDR
// vc_control := control_manual ;
2759: LD_ADDR_OWVAR 38
2763: PUSH
2764: LD_INT 1
2766: ST_TO_ADDR
// vc_engine := engine_combustion ;
2767: LD_ADDR_OWVAR 39
2771: PUSH
2772: LD_INT 1
2774: ST_TO_ADDR
// vc_weapon := ru_heavy_machine_gun ;
2775: LD_ADDR_OWVAR 40
2779: PUSH
2780: LD_INT 42
2782: ST_TO_ADDR
// av = CreateVehicle ;
2783: LD_ADDR_LOC 2
2787: PUSH
2788: CALL_OW 45
2792: ST_TO_ADDR
// PlaceHumanInUnit ( ah , av ) ;
2793: LD_LOC 1
2797: PPUSH
2798: LD_LOC 2
2802: PPUSH
2803: CALL_OW 52
// pom = pom ^ av ;
2807: LD_ADDR_VAR 0 2
2811: PUSH
2812: LD_VAR 0 2
2816: PUSH
2817: LD_LOC 2
2821: ADD
2822: ST_TO_ADDR
// prepare_human ( get_sex , class_mechanic , 3 ,  ) ;
2823: CALL 1941 0 0
2827: PPUSH
2828: LD_INT 3
2830: PPUSH
2831: LD_INT 3
2833: PPUSH
2834: LD_STRING 
2836: PPUSH
2837: CALL 1321 0 4
// ah = CreateHuman ;
2841: LD_ADDR_LOC 1
2845: PUSH
2846: CALL_OW 44
2850: ST_TO_ADDR
// vc_chassis := ru_medium_wheeled ;
2851: LD_ADDR_OWVAR 37
2855: PUSH
2856: LD_INT 21
2858: ST_TO_ADDR
// vc_control := control_manual ;
2859: LD_ADDR_OWVAR 38
2863: PUSH
2864: LD_INT 1
2866: ST_TO_ADDR
// vc_engine := engine_combustion ;
2867: LD_ADDR_OWVAR 39
2871: PUSH
2872: LD_INT 1
2874: ST_TO_ADDR
// vc_weapon := ru_heavy_machine_gun ;
2875: LD_ADDR_OWVAR 40
2879: PUSH
2880: LD_INT 42
2882: ST_TO_ADDR
// av = CreateVehicle ;
2883: LD_ADDR_LOC 2
2887: PUSH
2888: CALL_OW 45
2892: ST_TO_ADDR
// PlaceHumanInUnit ( ah , av ) ;
2893: LD_LOC 1
2897: PPUSH
2898: LD_LOC 2
2902: PPUSH
2903: CALL_OW 52
// pom = pom ^ av ;
2907: LD_ADDR_VAR 0 2
2911: PUSH
2912: LD_VAR 0 2
2916: PUSH
2917: LD_LOC 2
2921: ADD
2922: ST_TO_ADDR
// end ; RUSKE_POSILY_LIST := pom ;
2923: LD_ADDR_EXP 6
2927: PUSH
2928: LD_VAR 0 2
2932: ST_TO_ADDR
// end ;
2933: LD_VAR 0 1
2937: RET
// export function create_sberac_ru ; begin
2938: LD_INT 0
2940: PPUSH
// uc_side := Rusi ;
2941: LD_ADDR_OWVAR 20
2945: PUSH
2946: LD_EXP 3
2950: ST_TO_ADDR
// uc_nation := nation_russian ;
2951: LD_ADDR_OWVAR 21
2955: PUSH
2956: LD_INT 3
2958: ST_TO_ADDR
// uc_direction := 3 ;
2959: LD_ADDR_OWVAR 24
2963: PUSH
2964: LD_INT 3
2966: ST_TO_ADDR
// prepare_human ( get_sex , class_mechanic , 4 ,  ) ;
2967: CALL 1941 0 0
2971: PPUSH
2972: LD_INT 3
2974: PPUSH
2975: LD_INT 4
2977: PPUSH
2978: LD_STRING 
2980: PPUSH
2981: CALL 1321 0 4
// Ru_sber = CreateHuman ;
2985: LD_ADDR_EXP 34
2989: PUSH
2990: CALL_OW 44
2994: ST_TO_ADDR
// PlaceUnitXYR ( Ru_sber , 167 , 119 , 5 , false ) ;
2995: LD_EXP 34
2999: PPUSH
3000: LD_INT 167
3002: PPUSH
3003: LD_INT 119
3005: PPUSH
3006: LD_INT 5
3008: PPUSH
3009: LD_INT 0
3011: PPUSH
3012: CALL_OW 50
// end ;
3016: LD_VAR 0 1
3020: RET
// export function create_sberac_am ; begin
3021: LD_INT 0
3023: PPUSH
// uc_side := Amici ;
3024: LD_ADDR_OWVAR 20
3028: PUSH
3029: LD_EXP 2
3033: ST_TO_ADDR
// uc_nation := nation_american ;
3034: LD_ADDR_OWVAR 21
3038: PUSH
3039: LD_INT 1
3041: ST_TO_ADDR
// uc_direction := 3 ;
3042: LD_ADDR_OWVAR 24
3046: PUSH
3047: LD_INT 3
3049: ST_TO_ADDR
// prepare_human ( get_sex , class_mechanic , 4 ,  ) ;
3050: CALL 1941 0 0
3054: PPUSH
3055: LD_INT 3
3057: PPUSH
3058: LD_INT 4
3060: PPUSH
3061: LD_STRING 
3063: PPUSH
3064: CALL 1321 0 4
// Am_sber = CreateHuman ;
3068: LD_ADDR_EXP 26
3072: PUSH
3073: CALL_OW 44
3077: ST_TO_ADDR
// PlaceUnitXYR ( Am_sber , 11 , 3 , 5 , false ) ;
3078: LD_EXP 26
3082: PPUSH
3083: LD_INT 11
3085: PPUSH
3086: LD_INT 3
3088: PPUSH
3089: LD_INT 5
3091: PPUSH
3092: LD_INT 0
3094: PPUSH
3095: CALL_OW 50
// end ;
3099: LD_VAR 0 1
3103: RET
// export function placni_franka ; begin
3104: LD_INT 0
3106: PPUSH
// uc_side := Amici ;
3107: LD_ADDR_OWVAR 20
3111: PUSH
3112: LD_EXP 2
3116: ST_TO_ADDR
// uc_nation := nation_american ;
3117: LD_ADDR_OWVAR 21
3121: PUSH
3122: LD_INT 1
3124: ST_TO_ADDR
// uc_direction := 3 ;
3125: LD_ADDR_OWVAR 24
3129: PUSH
3130: LD_INT 3
3132: ST_TO_ADDR
// prepare_human ( sex_male , class_soldier , 4 , Frank Forsyth ) ;
3133: LD_INT 1
3135: PPUSH
3136: LD_INT 1
3138: PPUSH
3139: LD_INT 4
3141: PPUSH
3142: LD_STRING Frank Forsyth
3144: PPUSH
3145: CALL 1321 0 4
// Frank = CreateHuman ;
3149: LD_ADDR_EXP 16
3153: PUSH
3154: CALL_OW 44
3158: ST_TO_ADDR
// PlaceUnitXY ( Frank , 90 , 1 , false ) ;
3159: LD_EXP 16
3163: PPUSH
3164: LD_INT 90
3166: PPUSH
3167: LD_INT 1
3169: PPUSH
3170: LD_INT 0
3172: PPUSH
3173: CALL_OW 48
// end ; end_of_file
3177: LD_VAR 0 1
3181: RET
// export Farmer ; export Abdul ; export Omar ; export Hasan ; export VZTAHY ; export rusky_utok ; export spolecny_utok ; export arabi_pod_utokem ; export Arabi_enter ; every 0 0$0.5 do
3182: GO 3184
3184: DISABLE
// begin RemoveUnit ( ovojak1 ) ;
3185: LD_INT 132
3187: PPUSH
3188: CALL_OW 64
// rusky_utok = false ;
3192: LD_ADDR_EXP 12
3196: PUSH
3197: LD_INT 0
3199: ST_TO_ADDR
// spolecny_utok = false ;
3200: LD_ADDR_EXP 13
3204: PUSH
3205: LD_INT 0
3207: ST_TO_ADDR
// arabi_pod_utokem = false ;
3208: LD_ADDR_EXP 14
3212: PUSH
3213: LD_INT 0
3215: ST_TO_ADDR
// Arabi_enter = FilterUnitsInArea ( Ar_base , [ [ f_side , You ] , [ f_type , unit_human ] ] ) ;
3216: LD_ADDR_EXP 15
3220: PUSH
3221: LD_INT 14
3223: PPUSH
3224: LD_INT 22
3226: PUSH
3227: LD_EXP 1
3231: PUSH
3232: EMPTY
3233: LIST
3234: LIST
3235: PUSH
3236: LD_INT 21
3238: PUSH
3239: LD_INT 1
3241: PUSH
3242: EMPTY
3243: LIST
3244: LIST
3245: PUSH
3246: EMPTY
3247: LIST
3248: LIST
3249: PPUSH
3250: CALL_OW 70
3254: ST_TO_ADDR
// end ;
3255: END
// every 0 0$1 trigger See ( You , oauto1 ) or See ( You , oauto2 ) or See ( You , oauto3 ) do
3256: LD_EXP 1
3260: PPUSH
3261: LD_INT 127
3263: PPUSH
3264: CALL_OW 292
3268: PUSH
3269: LD_EXP 1
3273: PPUSH
3274: LD_INT 128
3276: PPUSH
3277: CALL_OW 292
3281: OR
3282: PUSH
3283: LD_EXP 1
3287: PPUSH
3288: LD_INT 129
3290: PPUSH
3291: CALL_OW 292
3295: OR
3296: IFFALSE 3354
3298: GO 3300
3300: DISABLE
// begin SetLives ( [ oauto1 , oauto3 ] , 30 ) ;
3301: LD_INT 127
3303: PUSH
3304: LD_INT 129
3306: PUSH
3307: EMPTY
3308: LIST
3309: LIST
3310: PPUSH
3311: LD_INT 30
3313: PPUSH
3314: CALL_OW 234
// SetLives ( oauto2 , 50 ) ;
3318: LD_INT 128
3320: PPUSH
3321: LD_INT 50
3323: PPUSH
3324: CALL_OW 234
// PlaceUnitXY ( ovojak1 , 69 , 63 , false ) ;
3328: LD_INT 132
3330: PPUSH
3331: LD_INT 69
3333: PPUSH
3334: LD_INT 63
3336: PPUSH
3337: LD_INT 0
3339: PPUSH
3340: CALL_OW 48
// SetLives ( ovojak1 , 20 ) ;
3344: LD_INT 132
3346: PPUSH
3347: LD_INT 20
3349: PPUSH
3350: CALL_OW 234
// end ; end_of_file
3354: END
// var prvni_konzervy ; every 0 0$0.1 do
3355: GO 3357
3357: DISABLE
// begin prvni_konzervy = false ;
3358: LD_ADDR_LOC 3
3362: PUSH
3363: LD_INT 0
3365: ST_TO_ADDR
// end ;
3366: END
// export function dialog1 ; var jedn , jedn1 ; var i , pom ; begin
3367: LD_INT 0
3369: PPUSH
3370: PPUSH
3371: PPUSH
3372: PPUSH
3373: PPUSH
// jedn = [ Hasan , Omar , Abdul , Farmer ] ^ DOPROVOD_LIST ;
3374: LD_ADDR_VAR 0 2
3378: PUSH
3379: LD_EXP 10
3383: PUSH
3384: LD_EXP 9
3388: PUSH
3389: LD_EXP 8
3393: PUSH
3394: LD_EXP 7
3398: PUSH
3399: EMPTY
3400: LIST
3401: LIST
3402: LIST
3403: LIST
3404: PUSH
3405: LD_EXP 5
3409: ADD
3410: ST_TO_ADDR
// InGameOff ;
3411: CALL_OW 9
// end ;
3415: LD_VAR 0 1
3419: RET
// function rozhovor_2 ; begin
3420: LD_INT 0
3422: PPUSH
// Say ( Omar , D2-Omar-1 ) ;
3423: LD_EXP 9
3427: PPUSH
3428: LD_STRING D2-Omar-1
3430: PPUSH
3431: CALL_OW 88
// Say ( Heike , D2-H-1 ) ;
3435: LD_INT 35
3437: PPUSH
3438: LD_STRING D2-H-1
3440: PPUSH
3441: CALL_OW 88
// Say ( Omar , D2-Omar-2 ) ;
3445: LD_EXP 9
3449: PPUSH
3450: LD_STRING D2-Omar-2
3452: PPUSH
3453: CALL_OW 88
// Say ( Heike , D2-H-2 ) ;
3457: LD_INT 35
3459: PPUSH
3460: LD_STRING D2-H-2
3462: PPUSH
3463: CALL_OW 88
// Say ( Omar , D2-Omar-3 ) ;
3467: LD_EXP 9
3471: PPUSH
3472: LD_STRING D2-Omar-3
3474: PPUSH
3475: CALL_OW 88
// Say ( Heike , D2-H-3 ) ;
3479: LD_INT 35
3481: PPUSH
3482: LD_STRING D2-H-3
3484: PPUSH
3485: CALL_OW 88
// ComMoveXY ( Omar , 91 , 6 ) ;
3489: LD_EXP 9
3493: PPUSH
3494: LD_INT 91
3496: PPUSH
3497: LD_INT 6
3499: PPUSH
3500: CALL_OW 111
// ComMoveXY ( Heike , 92 , 7 ) ;
3504: LD_INT 35
3506: PPUSH
3507: LD_INT 92
3509: PPUSH
3510: LD_INT 7
3512: PPUSH
3513: CALL_OW 111
// AddComTurnUnit ( Omar , Heike ) ;
3517: LD_EXP 9
3521: PPUSH
3522: LD_INT 35
3524: PPUSH
3525: CALL_OW 179
// AddComTurnUnit ( Heike , Omar ) ;
3529: LD_INT 35
3531: PPUSH
3532: LD_EXP 9
3536: PPUSH
3537: CALL_OW 179
// wait ( 0 0$2 ) ;
3541: LD_INT 70
3543: PPUSH
3544: CALL_OW 67
// Say ( Omar , D2-Omar-4 ) ;
3548: LD_EXP 9
3552: PPUSH
3553: LD_STRING D2-Omar-4
3555: PPUSH
3556: CALL_OW 88
// Say ( Heike , D2-H-4 ) ;
3560: LD_INT 35
3562: PPUSH
3563: LD_STRING D2-H-4
3565: PPUSH
3566: CALL_OW 88
// Say ( Omar , D2-Omar-5 ) ;
3570: LD_EXP 9
3574: PPUSH
3575: LD_STRING D2-Omar-5
3577: PPUSH
3578: CALL_OW 88
// Say ( Heike , D2-H-5 ) ;
3582: LD_INT 35
3584: PPUSH
3585: LD_STRING D2-H-5
3587: PPUSH
3588: CALL_OW 88
// Say ( Omar , D2-Omar-6 ) ;
3592: LD_EXP 9
3596: PPUSH
3597: LD_STRING D2-Omar-6
3599: PPUSH
3600: CALL_OW 88
// Say ( Heike , D2-H-6 ) ;
3604: LD_INT 35
3606: PPUSH
3607: LD_STRING D2-H-6
3609: PPUSH
3610: CALL_OW 88
// Say ( Omar , D2-Omar-7 ) ;
3614: LD_EXP 9
3618: PPUSH
3619: LD_STRING D2-Omar-7
3621: PPUSH
3622: CALL_OW 88
// Say ( Heike , D2-H-7 ) ;
3626: LD_INT 35
3628: PPUSH
3629: LD_STRING D2-H-7
3631: PPUSH
3632: CALL_OW 88
// Say ( Omar , D2-Omar-8 ) ;
3636: LD_EXP 9
3640: PPUSH
3641: LD_STRING D2-Omar-8
3643: PPUSH
3644: CALL_OW 88
// Say ( Heike , D2-H-8 ) ;
3648: LD_INT 35
3650: PPUSH
3651: LD_STRING D2-H-8
3653: PPUSH
3654: CALL_OW 88
// Say ( Omar , D2-Omar-9 ) ;
3658: LD_EXP 9
3662: PPUSH
3663: LD_STRING D2-Omar-9
3665: PPUSH
3666: CALL_OW 88
// Say ( Heike , D2-H-9 ) ;
3670: LD_INT 35
3672: PPUSH
3673: LD_STRING D2-H-9
3675: PPUSH
3676: CALL_OW 88
// ChangeMissionObjectives ( MDiplomacy ) ;
3680: LD_STRING MDiplomacy
3682: PPUSH
3683: CALL_OW 337
// ComMoveXY ( Omar , 102 , 1 ) ;
3687: LD_EXP 9
3691: PPUSH
3692: LD_INT 102
3694: PPUSH
3695: LD_INT 1
3697: PPUSH
3698: CALL_OW 111
// end ;
3702: LD_VAR 0 1
3706: RET
// every 1 1$0 do var i ;
3707: GO 3709
3709: DISABLE
3710: LD_INT 0
3712: PPUSH
// begin for i := 1 to 4 - difficulty do
3713: LD_ADDR_VAR 0 1
3717: PUSH
3718: DOUBLE
3719: LD_INT 1
3721: DEC
3722: ST_TO_ADDR
3723: LD_INT 4
3725: PUSH
3726: LD_OWVAR 67
3730: MINUS
3731: PUSH
3732: FOR_TO
3733: IFFALSE 3758
// CreateCratesArea ( Rand ( 3 , 5 ) , konzervy , true ) ;
3735: LD_INT 3
3737: PPUSH
3738: LD_INT 5
3740: PPUSH
3741: CALL_OW 12
3745: PPUSH
3746: LD_INT 11
3748: PPUSH
3749: LD_INT 1
3751: PPUSH
3752: CALL_OW 55
3756: GO 3732
3758: POP
3759: POP
// dialog_bedny ;
3760: CALL 17920 0 0
// prvni_konzervy := true ;
3764: LD_ADDR_LOC 3
3768: PUSH
3769: LD_INT 1
3771: ST_TO_ADDR
// end ;
3772: PPOPN 1
3774: END
// every 1 1$00 trigger prvni_konzervy do
3775: LD_LOC 3
3779: IFFALSE 3811
3781: GO 3783
3783: DISABLE
// begin CreateCratesArea ( Rand ( 4 - difficulty , 5 ) , konzervy , true ) ;
3784: LD_INT 4
3786: PUSH
3787: LD_OWVAR 67
3791: MINUS
3792: PPUSH
3793: LD_INT 5
3795: PPUSH
3796: CALL_OW 12
3800: PPUSH
3801: LD_INT 11
3803: PPUSH
3804: LD_INT 1
3806: PPUSH
3807: CALL_OW 55
// end ; end_of_file
3811: END
// export Frank ; export utok_am ; export Am_ally ; export Am_war ; export kodovana_frekvence ; export SDEAD ; export Am_pomoc ; export US_utok ; export AM_opr ; export cekani_na_dodavku_am ; var Am_locked ; export Am_sber ; var Pro_auto ; every 0 0$0.1 do
3812: GO 3814
3814: DISABLE
// begin utok_am = false ;
3815: LD_ADDR_EXP 17
3819: PUSH
3820: LD_INT 0
3822: ST_TO_ADDR
// Am_ally = false ;
3823: LD_ADDR_EXP 18
3827: PUSH
3828: LD_INT 0
3830: ST_TO_ADDR
// Am_war = false ;
3831: LD_ADDR_EXP 19
3835: PUSH
3836: LD_INT 0
3838: ST_TO_ADDR
// kodovana_frekvence = false ;
3839: LD_ADDR_EXP 20
3843: PUSH
3844: LD_INT 0
3846: ST_TO_ADDR
// SDEAD = false ;
3847: LD_ADDR_EXP 21
3851: PUSH
3852: LD_INT 0
3854: ST_TO_ADDR
// Am_pomoc = 0 ;
3855: LD_ADDR_EXP 22
3859: PUSH
3860: LD_INT 0
3862: ST_TO_ADDR
// US_utok = [ ] ;
3863: LD_ADDR_EXP 23
3867: PUSH
3868: EMPTY
3869: ST_TO_ADDR
// cekani_na_dodavku_am = 0 ;
3870: LD_ADDR_EXP 25
3874: PUSH
3875: LD_INT 0
3877: ST_TO_ADDR
// Am_locked = false ;
3878: LD_ADDR_LOC 4
3882: PUSH
3883: LD_INT 0
3885: ST_TO_ADDR
// Am_opr = [ Am_eng1 , Am_eng2 , Am_eng3 ] ;
3886: LD_ADDR_EXP 24
3890: PUSH
3891: LD_INT 110
3893: PUSH
3894: LD_INT 115
3896: PUSH
3897: LD_INT 116
3899: PUSH
3900: EMPTY
3901: LIST
3902: LIST
3903: LIST
3904: ST_TO_ADDR
// Pro_auto = [ ] ;
3905: LD_ADDR_LOC 5
3909: PUSH
3910: EMPTY
3911: ST_TO_ADDR
// end ;
3912: END
// every 0 0$1 do
3913: GO 3915
3915: DISABLE
// begin ComEnterUnit ( Am_u1 , Am_auto1 ) ;
3916: LD_INT 96
3918: PPUSH
3919: LD_INT 92
3921: PPUSH
3922: CALL_OW 120
// ComEnterUnit ( Am_u2 , Am_auto2 ) ;
3926: LD_INT 97
3928: PPUSH
3929: LD_INT 93
3931: PPUSH
3932: CALL_OW 120
// ComEnterUnit ( Am_u3 , Am_auto3 ) ;
3936: LD_INT 98
3938: PPUSH
3939: LD_INT 94
3941: PPUSH
3942: CALL_OW 120
// ComEnterUnit ( Am_vo1 , Am_tuob ) ;
3946: LD_INT 104
3948: PPUSH
3949: LD_INT 87
3951: PPUSH
3952: CALL_OW 120
// ComEnterUnit ( Am_vb1 , Am_bu1 ) ;
3956: LD_INT 105
3958: PPUSH
3959: LD_INT 85
3961: PPUSH
3962: CALL_OW 120
// ComEnterUnit ( Am_vb2 , Am_bu2 ) ;
3966: LD_INT 106
3968: PPUSH
3969: LD_INT 84
3971: PPUSH
3972: CALL_OW 120
// ComEnterUnit ( Am_vb3 , Am_bu3 ) ;
3976: LD_INT 107
3978: PPUSH
3979: LD_INT 83
3981: PPUSH
3982: CALL_OW 120
// ComEnterUnit ( Am_vb4 , Am_bu4 ) ;
3986: LD_INT 108
3988: PPUSH
3989: LD_INT 81
3991: PPUSH
3992: CALL_OW 120
// ComEnterUnit ( Am_vb5 , Am_bu5 ) ;
3996: LD_INT 109
3998: PPUSH
3999: LD_INT 82
4001: PPUSH
4002: CALL_OW 120
// ComEnterUnit ( [ Sik , Don ] , Am_arm ) ;
4006: LD_INT 89
4008: PUSH
4009: LD_INT 91
4011: PUSH
4012: EMPTY
4013: LIST
4014: LIST
4015: PPUSH
4016: LD_INT 88
4018: PPUSH
4019: CALL_OW 120
// ComEnterUnit ( Am_eng1 , Am_dep ) ;
4023: LD_INT 110
4025: PPUSH
4026: LD_INT 72
4028: PPUSH
4029: CALL_OW 120
// ComEnterUnit ( Am_eng2 , Am_dep ) ;
4033: LD_INT 115
4035: PPUSH
4036: LD_INT 72
4038: PPUSH
4039: CALL_OW 120
// ComEnterUnit ( Am_eng3 , Am_dep ) ;
4043: LD_INT 116
4045: PPUSH
4046: LD_INT 72
4048: PPUSH
4049: CALL_OW 120
// Am_opr = [ Am_eng1 , Am_eng2 , Am_eng3 ] ;
4053: LD_ADDR_EXP 24
4057: PUSH
4058: LD_INT 110
4060: PUSH
4061: LD_INT 115
4063: PUSH
4064: LD_INT 116
4066: PUSH
4067: EMPTY
4068: LIST
4069: LIST
4070: LIST
4071: ST_TO_ADDR
// ComEnterUnit ( Am_dok , Am_lab ) ;
4072: LD_INT 111
4074: PPUSH
4075: LD_INT 76
4077: PPUSH
4078: CALL_OW 120
// ComEnterUnit ( Am_m1 , Am_fac ) ;
4082: LD_INT 112
4084: PPUSH
4085: LD_INT 77
4087: PPUSH
4088: CALL_OW 120
// ComEnterUnit ( Am_m2 , Am_fac ) ;
4092: LD_INT 113
4094: PPUSH
4095: LD_INT 77
4097: PPUSH
4098: CALL_OW 120
// ComEnterUnit ( Am_m3 , Am_fac ) ;
4102: LD_INT 114
4104: PPUSH
4105: LD_INT 77
4107: PPUSH
4108: CALL_OW 120
// ComEnterUnit ( Am_sber , Am_dep ) ;
4112: LD_EXP 26
4116: PPUSH
4117: LD_INT 72
4119: PPUSH
4120: CALL_OW 120
// end ;
4124: END
// every 0 0$0.5 trigger utok_am do var pom ;
4125: LD_EXP 17
4129: IFFALSE 4202
4131: GO 4133
4133: DISABLE
4134: LD_INT 0
4136: PPUSH
// begin pom = FilterUnitsInArea ( Ru_ter , [ [ f_side , Amici ] , [ f_class , class_mechanic ] ] ) ;
4137: LD_ADDR_VAR 0 1
4141: PUSH
4142: LD_INT 5
4144: PPUSH
4145: LD_INT 22
4147: PUSH
4148: LD_EXP 2
4152: PUSH
4153: EMPTY
4154: LIST
4155: LIST
4156: PUSH
4157: LD_INT 25
4159: PUSH
4160: LD_INT 3
4162: PUSH
4163: EMPTY
4164: LIST
4165: LIST
4166: PUSH
4167: EMPTY
4168: LIST
4169: LIST
4170: PPUSH
4171: CALL_OW 70
4175: ST_TO_ADDR
// if pom > 0 then
4176: LD_VAR 0 1
4180: PUSH
4181: LD_INT 0
4183: GREATER
4184: IFFALSE 4201
// begin ComMoveXY ( pom , 20 , 24 ) ;
4186: LD_VAR 0 1
4190: PPUSH
4191: LD_INT 20
4193: PPUSH
4194: LD_INT 24
4196: PPUSH
4197: CALL_OW 111
// end ; enable ;
4201: ENABLE
// end ;
4202: PPOPN 1
4204: END
// every 0 0$1 trigger utok_am and Attack_No = 1 do
4205: LD_EXP 17
4209: PUSH
4210: LD_EXP 41
4214: PUSH
4215: LD_INT 1
4217: EQUAL
4218: AND
4219: IFFALSE 4342
4221: GO 4223
4223: DISABLE
// begin US_utok = [ Am_auto1 , Am_auto2 , Am_auto3 ] ;
4224: LD_ADDR_EXP 23
4228: PUSH
4229: LD_INT 92
4231: PUSH
4232: LD_INT 93
4234: PUSH
4235: LD_INT 94
4237: PUSH
4238: EMPTY
4239: LIST
4240: LIST
4241: LIST
4242: ST_TO_ADDR
// ComAgressiveMove ( [ Am_auto1 , Am_auto2 , Am_auto3 ] , 85 , 81 ) ;
4243: LD_INT 92
4245: PUSH
4246: LD_INT 93
4248: PUSH
4249: LD_INT 94
4251: PUSH
4252: EMPTY
4253: LIST
4254: LIST
4255: LIST
4256: PPUSH
4257: LD_INT 85
4259: PPUSH
4260: LD_INT 81
4262: PPUSH
4263: CALL_OW 114
// AddComAgressiveMove ( [ Am_auto1 , Am_auto2 , Am_auto3 ] , 118 , 100 ) ;
4267: LD_INT 92
4269: PUSH
4270: LD_INT 93
4272: PUSH
4273: LD_INT 94
4275: PUSH
4276: EMPTY
4277: LIST
4278: LIST
4279: LIST
4280: PPUSH
4281: LD_INT 118
4283: PPUSH
4284: LD_INT 100
4286: PPUSH
4287: CALL_OW 174
// AddComAgressiveMove ( [ Am_auto1 , Am_auto2 , Am_auto3 ] , 134 , 92 ) ;
4291: LD_INT 92
4293: PUSH
4294: LD_INT 93
4296: PUSH
4297: LD_INT 94
4299: PUSH
4300: EMPTY
4301: LIST
4302: LIST
4303: LIST
4304: PPUSH
4305: LD_INT 134
4307: PPUSH
4308: LD_INT 92
4310: PPUSH
4311: CALL_OW 174
// AddComAttackUnit ( US_utok , Ru_bu2 ) ;
4315: LD_EXP 23
4319: PPUSH
4320: LD_INT 57
4322: PPUSH
4323: CALL_OW 175
// UTOKY = 1 ;
4327: LD_ADDR_EXP 4
4331: PUSH
4332: LD_INT 1
4334: ST_TO_ADDR
// wait ( 0 0$15 ) ;
4335: LD_INT 525
4337: PPUSH
4338: CALL_OW 67
// end ;
4342: END
// every 0 0$1 trigger IsDead ( Am_oilob ) do
4343: LD_INT 86
4345: PPUSH
4346: CALL_OW 301
4350: IFFALSE 4362
4352: GO 4354
4354: DISABLE
// begin vyroba_am_vozitek ( 3 ) end ;
4355: LD_INT 3
4357: PPUSH
4358: CALL 6282 0 1
4362: END
// every 0 0$10 trigger ( ( not utok_am ) and ( not utok_ru ) ) do var pom , i , pom1 ; var ceb ;
4363: LD_EXP 17
4367: NOT
4368: PUSH
4369: LD_EXP 27
4373: NOT
4374: AND
4375: IFFALSE 4568
4377: GO 4379
4379: DISABLE
4380: LD_INT 0
4382: PPUSH
4383: PPUSH
4384: PPUSH
4385: PPUSH
// begin ceb = false ;
4386: LD_ADDR_VAR 0 4
4390: PUSH
4391: LD_INT 0
4393: ST_TO_ADDR
// pom = FilterUnitsInArea ( Am_base , [ [ f_side , Amici ] , [ f_class , class_mechanic ] ] ) ;
4394: LD_ADDR_VAR 0 1
4398: PUSH
4399: LD_INT 4
4401: PPUSH
4402: LD_INT 22
4404: PUSH
4405: LD_EXP 2
4409: PUSH
4410: EMPTY
4411: LIST
4412: LIST
4413: PUSH
4414: LD_INT 25
4416: PUSH
4417: LD_INT 3
4419: PUSH
4420: EMPTY
4421: LIST
4422: LIST
4423: PUSH
4424: EMPTY
4425: LIST
4426: LIST
4427: PPUSH
4428: CALL_OW 70
4432: ST_TO_ADDR
// if pom > 0 and IsOK ( Am_dok ) then
4433: LD_VAR 0 1
4437: PUSH
4438: LD_INT 0
4440: GREATER
4441: PUSH
4442: LD_INT 111
4444: PPUSH
4445: CALL_OW 302
4449: AND
4450: IFFALSE 4567
// begin for i in pom do
4452: LD_ADDR_VAR 0 2
4456: PUSH
4457: LD_VAR 0 1
4461: PUSH
4462: FOR_IN
4463: IFFALSE 4555
// if GetLives ( i ) < 1000 then
4465: LD_VAR 0 2
4469: PPUSH
4470: CALL_OW 256
4474: PUSH
4475: LD_INT 1000
4477: LESS
4478: IFFALSE 4516
// begin if not ceb then
4480: LD_VAR 0 4
4484: NOT
4485: IFFALSE 4494
// ComExitBuilding ( Am_dok ) ;
4487: LD_INT 111
4489: PPUSH
4490: CALL_OW 122
// AddComHeal ( Am_dok , i ) ;
4494: LD_INT 111
4496: PPUSH
4497: LD_VAR 0 2
4501: PPUSH
4502: CALL_OW 188
// ceb = true ;
4506: LD_ADDR_VAR 0 4
4510: PUSH
4511: LD_INT 1
4513: ST_TO_ADDR
// end else
4514: GO 4553
// if i <> Am_sber and not ( i in Pro_auto ) then
4516: LD_VAR 0 2
4520: PUSH
4521: LD_EXP 26
4525: NONEQUAL
4526: PUSH
4527: LD_VAR 0 2
4531: PUSH
4532: LD_LOC 5
4536: IN
4537: NOT
4538: AND
4539: IFFALSE 4553
// begin ComEnterUnit ( i , Am_fac ) ;
4541: LD_VAR 0 2
4545: PPUSH
4546: LD_INT 77
4548: PPUSH
4549: CALL_OW 120
// end ;
4553: GO 4462
4555: POP
4556: POP
// AddComEnterUnit ( Am_dok , Am_lab ) ;
4557: LD_INT 111
4559: PPUSH
4560: LD_INT 76
4562: PPUSH
4563: CALL_OW 180
// end ; enable ;
4567: ENABLE
// end ;
4568: PPOPN 4
4570: END
// every 0 0$5 trigger UTOKY = 0 do var pom , pom1 ; var veze ; var i ;
4571: LD_EXP 4
4575: PUSH
4576: LD_INT 0
4578: EQUAL
4579: IFFALSE 4937
4581: GO 4583
4583: DISABLE
4584: LD_INT 0
4586: PPUSH
4587: PPUSH
4588: PPUSH
4589: PPUSH
// begin pom = [ ] ;
4590: LD_ADDR_VAR 0 1
4594: PUSH
4595: EMPTY
4596: ST_TO_ADDR
// pom1 = [ ] ;
4597: LD_ADDR_VAR 0 2
4601: PUSH
4602: EMPTY
4603: ST_TO_ADDR
// veze = FilterAllUnits ( [ [ f_side , Amici ] , [ f_btype , b_bunker ] ] ) ;
4604: LD_ADDR_VAR 0 3
4608: PUSH
4609: LD_INT 22
4611: PUSH
4612: LD_EXP 2
4616: PUSH
4617: EMPTY
4618: LIST
4619: LIST
4620: PUSH
4621: LD_INT 30
4623: PUSH
4624: LD_INT 32
4626: PUSH
4627: EMPTY
4628: LIST
4629: LIST
4630: PUSH
4631: EMPTY
4632: LIST
4633: LIST
4634: PPUSH
4635: CALL_OW 69
4639: ST_TO_ADDR
// for i in veze do
4640: LD_ADDR_VAR 0 4
4644: PUSH
4645: LD_VAR 0 3
4649: PUSH
4650: FOR_IN
4651: IFFALSE 4686
// if GetLives ( i ) <> 1000 then
4653: LD_VAR 0 4
4657: PPUSH
4658: CALL_OW 256
4662: PUSH
4663: LD_INT 1000
4665: NONEQUAL
4666: IFFALSE 4684
// pom = pom ^ i ;
4668: LD_ADDR_VAR 0 1
4672: PUSH
4673: LD_VAR 0 1
4677: PUSH
4678: LD_VAR 0 4
4682: ADD
4683: ST_TO_ADDR
4684: GO 4650
4686: POP
4687: POP
// for i in Am_opr do
4688: LD_ADDR_VAR 0 4
4692: PUSH
4693: LD_EXP 24
4697: PUSH
4698: FOR_IN
4699: IFFALSE 4730
// if IsOK ( i ) then
4701: LD_VAR 0 4
4705: PPUSH
4706: CALL_OW 302
4710: IFFALSE 4728
// pom1 = pom1 ^ i ;
4712: LD_ADDR_VAR 0 2
4716: PUSH
4717: LD_VAR 0 2
4721: PUSH
4722: LD_VAR 0 4
4726: ADD
4727: ST_TO_ADDR
4728: GO 4698
4730: POP
4731: POP
// debug_strings = [ oprava vezi , pom , pom1 ] ;
4732: LD_ADDR_OWVAR 48
4736: PUSH
4737: LD_STRING oprava vezi
4739: PUSH
4740: LD_VAR 0 1
4744: PUSH
4745: LD_VAR 0 2
4749: PUSH
4750: EMPTY
4751: LIST
4752: LIST
4753: LIST
4754: ST_TO_ADDR
// if pom1 > 0 and pom > 0 then
4755: LD_VAR 0 2
4759: PUSH
4760: LD_INT 0
4762: GREATER
4763: PUSH
4764: LD_VAR 0 1
4768: PUSH
4769: LD_INT 0
4771: GREATER
4772: AND
4773: IFFALSE 4907
// begin if pom <= pom1 then
4775: LD_VAR 0 1
4779: PUSH
4780: LD_VAR 0 2
4784: LESSEQUAL
4785: IFFALSE 4847
// for i in pom do
4787: LD_ADDR_VAR 0 4
4791: PUSH
4792: LD_VAR 0 1
4796: PUSH
4797: FOR_IN
4798: IFFALSE 4843
// begin AddComExitBuilding ( pom1 [ i ] ) ;
4800: LD_VAR 0 2
4804: PUSH
4805: LD_VAR 0 4
4809: ARRAY
4810: PPUSH
4811: CALL_OW 182
// AddComRepairBuilding ( pom1 [ i ] , pom [ i ] ) ;
4815: LD_VAR 0 2
4819: PUSH
4820: LD_VAR 0 4
4824: ARRAY
4825: PPUSH
4826: LD_VAR 0 1
4830: PUSH
4831: LD_VAR 0 4
4835: ARRAY
4836: PPUSH
4837: CALL_OW 190
// end else
4841: GO 4797
4843: POP
4844: POP
4845: GO 4905
// for i in pom1 do
4847: LD_ADDR_VAR 0 4
4851: PUSH
4852: LD_VAR 0 2
4856: PUSH
4857: FOR_IN
4858: IFFALSE 4903
// begin AddComExitBuilding ( pom1 [ i ] ) ;
4860: LD_VAR 0 2
4864: PUSH
4865: LD_VAR 0 4
4869: ARRAY
4870: PPUSH
4871: CALL_OW 182
// AddComRepairBuilding ( pom1 [ i ] , pom [ i ] ) ;
4875: LD_VAR 0 2
4879: PUSH
4880: LD_VAR 0 4
4884: ARRAY
4885: PPUSH
4886: LD_VAR 0 1
4890: PUSH
4891: LD_VAR 0 4
4895: ARRAY
4896: PPUSH
4897: CALL_OW 190
// end ;
4901: GO 4857
4903: POP
4904: POP
// end else
4905: GO 4936
// for i in pom1 do
4907: LD_ADDR_VAR 0 4
4911: PUSH
4912: LD_VAR 0 2
4916: PUSH
4917: FOR_IN
4918: IFFALSE 4934
// ComEnterUnit ( i , Am_dep ) ;
4920: LD_VAR 0 4
4924: PPUSH
4925: LD_INT 72
4927: PPUSH
4928: CALL_OW 120
4932: GO 4917
4934: POP
4935: POP
// enable ;
4936: ENABLE
// end ;
4937: PPOPN 4
4939: END
// every 0 0$5 do var pom , pom1 ;
4940: GO 4942
4942: DISABLE
4943: LD_INT 0
4945: PPUSH
4946: PPUSH
// begin pom = FilterUnitsInArea ( Am_ter , [ [ f_side , Rusi ] , [ f_type , unit_vehicle ] , [ f_ok ] ] ) ;
4947: LD_ADDR_VAR 0 1
4951: PUSH
4952: LD_INT 6
4954: PPUSH
4955: LD_INT 22
4957: PUSH
4958: LD_EXP 3
4962: PUSH
4963: EMPTY
4964: LIST
4965: LIST
4966: PUSH
4967: LD_INT 21
4969: PUSH
4970: LD_INT 2
4972: PUSH
4973: EMPTY
4974: LIST
4975: LIST
4976: PUSH
4977: LD_INT 50
4979: PUSH
4980: EMPTY
4981: LIST
4982: PUSH
4983: EMPTY
4984: LIST
4985: LIST
4986: LIST
4987: PPUSH
4988: CALL_OW 70
4992: ST_TO_ADDR
// pom1 = FilterUnitsInArea ( AM_ter , [ [ f_side , Amici ] , [ f_type , unit_vehicle ] ] ) ;
4993: LD_ADDR_VAR 0 2
4997: PUSH
4998: LD_INT 6
5000: PPUSH
5001: LD_INT 22
5003: PUSH
5004: LD_EXP 2
5008: PUSH
5009: EMPTY
5010: LIST
5011: LIST
5012: PUSH
5013: LD_INT 21
5015: PUSH
5016: LD_INT 2
5018: PUSH
5019: EMPTY
5020: LIST
5021: LIST
5022: PUSH
5023: EMPTY
5024: LIST
5025: LIST
5026: PPUSH
5027: CALL_OW 70
5031: ST_TO_ADDR
// if pom > 0 then
5032: LD_VAR 0 1
5036: PUSH
5037: LD_INT 0
5039: GREATER
5040: IFFALSE 5060
// AddComAttackUnit ( pom1 , pom [ 1 ] ) ;
5042: LD_VAR 0 2
5046: PPUSH
5047: LD_VAR 0 1
5051: PUSH
5052: LD_INT 1
5054: ARRAY
5055: PPUSH
5056: CALL_OW 175
// enable ;
5060: ENABLE
// end ;
5061: PPOPN 2
5063: END
// every 0 0$5 trigger UTOKY = 0 do var pom , i ;
5064: LD_EXP 4
5068: PUSH
5069: LD_INT 0
5071: EQUAL
5072: IFFALSE 5164
5074: GO 5076
5076: DISABLE
5077: LD_INT 0
5079: PPUSH
5080: PPUSH
// begin pom = FilterUnitsInArea ( Am_base , [ [ f_side , Amici ] , [ f_type , unit_vehicle ] ] ) ;
5081: LD_ADDR_VAR 0 1
5085: PUSH
5086: LD_INT 4
5088: PPUSH
5089: LD_INT 22
5091: PUSH
5092: LD_EXP 2
5096: PUSH
5097: EMPTY
5098: LIST
5099: LIST
5100: PUSH
5101: LD_INT 21
5103: PUSH
5104: LD_INT 2
5106: PUSH
5107: EMPTY
5108: LIST
5109: LIST
5110: PUSH
5111: EMPTY
5112: LIST
5113: LIST
5114: PPUSH
5115: CALL_OW 70
5119: ST_TO_ADDR
// for i in pom do
5120: LD_ADDR_VAR 0 2
5124: PUSH
5125: LD_VAR 0 1
5129: PUSH
5130: FOR_IN
5131: IFFALSE 5161
// if IsIdle ( i ) then
5133: LD_VAR 0 2
5137: PPUSH
5138: CALL_OW 316
5142: IFFALSE 5159
// AddComMoveXY ( i , 14 , 8 ) ;
5144: LD_VAR 0 2
5148: PPUSH
5149: LD_INT 14
5151: PPUSH
5152: LD_INT 8
5154: PPUSH
5155: CALL_OW 171
5159: GO 5130
5161: POP
5162: POP
// enable ;
5163: ENABLE
// end ;
5164: PPOPN 2
5166: END
// every 0 0$10 trigger UTOKY = 0 do var pom , pom1 ; var i ;
5167: LD_EXP 4
5171: PUSH
5172: LD_INT 0
5174: EQUAL
5175: IFFALSE 5284
5177: GO 5179
5179: DISABLE
5180: LD_INT 0
5182: PPUSH
5183: PPUSH
5184: PPUSH
// begin pom1 = [ ] ;
5185: LD_ADDR_VAR 0 2
5189: PUSH
5190: EMPTY
5191: ST_TO_ADDR
// pom = FilterAllUnits ( [ [ f_side , Amici ] , [ f_type , unit_vehicle ] , [ f_engine , engine_combustion ] ] ) ;
5192: LD_ADDR_VAR 0 1
5196: PUSH
5197: LD_INT 22
5199: PUSH
5200: LD_EXP 2
5204: PUSH
5205: EMPTY
5206: LIST
5207: LIST
5208: PUSH
5209: LD_INT 21
5211: PUSH
5212: LD_INT 2
5214: PUSH
5215: EMPTY
5216: LIST
5217: LIST
5218: PUSH
5219: LD_INT 32
5221: PUSH
5222: LD_INT 1
5224: PUSH
5225: EMPTY
5226: LIST
5227: LIST
5228: PUSH
5229: EMPTY
5230: LIST
5231: LIST
5232: LIST
5233: PPUSH
5234: CALL_OW 69
5238: ST_TO_ADDR
// for i in pom do
5239: LD_ADDR_VAR 0 3
5243: PUSH
5244: LD_VAR 0 1
5248: PUSH
5249: FOR_IN
5250: IFFALSE 5281
// if GetFuel ( i ) < 80 then
5252: LD_VAR 0 3
5256: PPUSH
5257: CALL_OW 261
5261: PUSH
5262: LD_INT 80
5264: LESS
5265: IFFALSE 5279
// ComMoveUnit ( i , Am_dep ) ;
5267: LD_VAR 0 3
5271: PPUSH
5272: LD_INT 72
5274: PPUSH
5275: CALL_OW 112
5279: GO 5249
5281: POP
5282: POP
// enable ;
5283: ENABLE
// end ;
5284: PPOPN 3
5286: END
// every 0 0$10 trigger FilterUnitsInArea ( Am_ter , [ [ f_side , Amici ] , [ f_btype , b_oil_mine ] ] ) = 0 do
5287: LD_INT 6
5289: PPUSH
5290: LD_INT 22
5292: PUSH
5293: LD_EXP 2
5297: PUSH
5298: EMPTY
5299: LIST
5300: LIST
5301: PUSH
5302: LD_INT 30
5304: PUSH
5305: LD_INT 29
5307: PUSH
5308: EMPTY
5309: LIST
5310: LIST
5311: PUSH
5312: EMPTY
5313: LIST
5314: LIST
5315: PPUSH
5316: CALL_OW 70
5320: PUSH
5321: LD_INT 0
5323: EQUAL
5324: IFFALSE 5347
5326: GO 5328
5328: DISABLE
// begin SetResourceType ( GetBase ( Am_dep ) , mat_oil , 40 ) ;
5329: LD_INT 72
5331: PPUSH
5332: CALL_OW 274
5336: PPUSH
5337: LD_INT 2
5339: PPUSH
5340: LD_INT 40
5342: PPUSH
5343: CALL_OW 277
// end ;
5347: END
// every 0 0$2 do var pom , i ; var pom1 ; var pomcounter ;
5348: GO 5350
5350: DISABLE
5351: LD_INT 0
5353: PPUSH
5354: PPUSH
5355: PPUSH
5356: PPUSH
// begin pomcounter = 0 ;
5357: LD_ADDR_VAR 0 4
5361: PUSH
5362: LD_INT 0
5364: ST_TO_ADDR
// pom = FilterUnitsInArea ( Am_ter , [ [ f_side , Rusi ] , [ f_type , unit_vehicle ] ] ) ;
5365: LD_ADDR_VAR 0 1
5369: PUSH
5370: LD_INT 6
5372: PPUSH
5373: LD_INT 22
5375: PUSH
5376: LD_EXP 3
5380: PUSH
5381: EMPTY
5382: LIST
5383: LIST
5384: PUSH
5385: LD_INT 21
5387: PUSH
5388: LD_INT 2
5390: PUSH
5391: EMPTY
5392: LIST
5393: LIST
5394: PUSH
5395: EMPTY
5396: LIST
5397: LIST
5398: PPUSH
5399: CALL_OW 70
5403: ST_TO_ADDR
// for i in pom do
5404: LD_ADDR_VAR 0 2
5408: PUSH
5409: LD_VAR 0 1
5413: PUSH
5414: FOR_IN
5415: IFFALSE 5586
// if IsDrivenBy ( i ) = 0 then
5417: LD_VAR 0 2
5421: PPUSH
5422: CALL_OW 311
5426: PUSH
5427: LD_INT 0
5429: EQUAL
5430: IFFALSE 5584
// begin pom1 = UnitsInside ( Am_fac ) ;
5432: LD_ADDR_VAR 0 3
5436: PUSH
5437: LD_INT 77
5439: PPUSH
5440: CALL_OW 313
5444: ST_TO_ADDR
// pomcounter = pomcounter + 1 ;
5445: LD_ADDR_VAR 0 4
5449: PUSH
5450: LD_VAR 0 4
5454: PUSH
5455: LD_INT 1
5457: PLUS
5458: ST_TO_ADDR
// if pom1 > 0 then
5459: LD_VAR 0 3
5463: PUSH
5464: LD_INT 0
5466: GREATER
5467: IFFALSE 5584
// begin ComExitBuilding ( pom1 [ 1 ] ) ;
5469: LD_VAR 0 3
5473: PUSH
5474: LD_INT 1
5476: ARRAY
5477: PPUSH
5478: CALL_OW 122
// Pro_auto = Pro_auto ^ pom1 [ 1 ] ;
5482: LD_ADDR_LOC 5
5486: PUSH
5487: LD_LOC 5
5491: PUSH
5492: LD_VAR 0 3
5496: PUSH
5497: LD_INT 1
5499: ARRAY
5500: ADD
5501: ST_TO_ADDR
// debug_strings = [ PRO AUTO , Pro_auto , pom1 [ 1 ] ] ;
5502: LD_ADDR_OWVAR 48
5506: PUSH
5507: LD_STRING PRO AUTO
5509: PUSH
5510: LD_LOC 5
5514: PUSH
5515: LD_VAR 0 3
5519: PUSH
5520: LD_INT 1
5522: ARRAY
5523: PUSH
5524: EMPTY
5525: LIST
5526: LIST
5527: LIST
5528: ST_TO_ADDR
// AddComRepairVehicle ( pom1 [ 1 ] , i ) ;
5529: LD_VAR 0 3
5533: PUSH
5534: LD_INT 1
5536: ARRAY
5537: PPUSH
5538: LD_VAR 0 2
5542: PPUSH
5543: CALL_OW 189
// AddComEnterUnit ( pom1 [ 1 ] , i ) ;
5547: LD_VAR 0 3
5551: PUSH
5552: LD_INT 1
5554: ARRAY
5555: PPUSH
5556: LD_VAR 0 2
5560: PPUSH
5561: CALL_OW 180
// AddComMoveXY ( pom1 [ 1 ] , 15 , 8 ) ;
5565: LD_VAR 0 3
5569: PUSH
5570: LD_INT 1
5572: ARRAY
5573: PPUSH
5574: LD_INT 15
5576: PPUSH
5577: LD_INT 8
5579: PPUSH
5580: CALL_OW 171
// end ; end ;
5584: GO 5414
5586: POP
5587: POP
// enable ;
5588: ENABLE
// end ;
5589: PPOPN 4
5591: END
// every 0 0$10 trigger UnitsInside ( Am_fac ) < 3 do var mech ;
5592: LD_INT 77
5594: PPUSH
5595: CALL_OW 313
5599: PUSH
5600: LD_INT 3
5602: LESS
5603: IFFALSE 5652
5605: GO 5607
5607: DISABLE
5608: LD_INT 0
5610: PPUSH
// begin if SeeArea ( You , Ch_mam ) = 0 then
5611: LD_EXP 1
5615: PPUSH
5616: LD_INT 7
5618: PPUSH
5619: CALL_OW 294
5623: PUSH
5624: LD_INT 0
5626: EQUAL
5627: IFFALSE 5651
// begin mech = create_am_mechanic ;
5629: LD_ADDR_VAR 0 1
5633: PUSH
5634: CALL 1854 0 0
5638: ST_TO_ADDR
// ComEnterUnit ( mech , Am_fac ) ;
5639: LD_VAR 0 1
5643: PPUSH
5644: LD_INT 77
5646: PPUSH
5647: CALL_OW 120
// end ; enable ;
5651: ENABLE
// end ;
5652: PPOPN 1
5654: END
// every 0 0$30 do var pom , pom1 ; var i ;
5655: GO 5657
5657: DISABLE
5658: LD_INT 0
5660: PPUSH
5661: PPUSH
5662: PPUSH
// begin pom = FilterUnitsInArea ( Dary_Am , [ [ f_side , You ] , [ f_type , unit_vehicle ] ] ) ;
5663: LD_ADDR_VAR 0 1
5667: PUSH
5668: LD_INT 15
5670: PPUSH
5671: LD_INT 22
5673: PUSH
5674: LD_EXP 1
5678: PUSH
5679: EMPTY
5680: LIST
5681: LIST
5682: PUSH
5683: LD_INT 21
5685: PUSH
5686: LD_INT 2
5688: PUSH
5689: EMPTY
5690: LIST
5691: LIST
5692: PUSH
5693: EMPTY
5694: LIST
5695: LIST
5696: PPUSH
5697: CALL_OW 70
5701: ST_TO_ADDR
// if pom = 0 and Am_pomoc > 0 then
5702: LD_VAR 0 1
5706: PUSH
5707: LD_INT 0
5709: EQUAL
5710: PUSH
5711: LD_EXP 22
5715: PUSH
5716: LD_INT 0
5718: GREATER
5719: AND
5720: IFFALSE 5736
// cekani_na_dodavku_am = cekani_na_dodavku_am + 1 ;
5722: LD_ADDR_EXP 25
5726: PUSH
5727: LD_EXP 25
5731: PUSH
5732: LD_INT 1
5734: PLUS
5735: ST_TO_ADDR
// for i in pom do
5736: LD_ADDR_VAR 0 3
5740: PUSH
5741: LD_VAR 0 1
5745: PUSH
5746: FOR_IN
5747: IFFALSE 5874
// if IsDrivenBy ( i ) = 0 then
5749: LD_VAR 0 3
5753: PPUSH
5754: CALL_OW 311
5758: PUSH
5759: LD_INT 0
5761: EQUAL
5762: IFFALSE 5872
// begin while UnitsInside ( Am_fac ) = 0 do
5764: LD_INT 77
5766: PPUSH
5767: CALL_OW 313
5771: PUSH
5772: LD_INT 0
5774: EQUAL
5775: IFFALSE 5786
// wait ( 0 0$5 ) ;
5777: LD_INT 175
5779: PPUSH
5780: CALL_OW 67
5784: GO 5764
// pom1 = UnitsInside ( Am_fac ) ;
5786: LD_ADDR_VAR 0 2
5790: PUSH
5791: LD_INT 77
5793: PPUSH
5794: CALL_OW 313
5798: ST_TO_ADDR
// ComExitBuilding ( pom1 [ 1 ] ) ;
5799: LD_VAR 0 2
5803: PUSH
5804: LD_INT 1
5806: ARRAY
5807: PPUSH
5808: CALL_OW 122
// AddComEnterUnit ( pom1 [ 1 ] , i ) ;
5812: LD_VAR 0 2
5816: PUSH
5817: LD_INT 1
5819: ARRAY
5820: PPUSH
5821: LD_VAR 0 3
5825: PPUSH
5826: CALL_OW 180
// AddComMoveXY ( pom1 [ 1 ] , 15 , 10 ) ;
5830: LD_VAR 0 2
5834: PUSH
5835: LD_INT 1
5837: ARRAY
5838: PPUSH
5839: LD_INT 15
5841: PPUSH
5842: LD_INT 10
5844: PPUSH
5845: CALL_OW 171
// cekani_na_dodavku_am = 0 ;
5849: LD_ADDR_EXP 25
5853: PUSH
5854: LD_INT 0
5856: ST_TO_ADDR
// zmen_stav ( Amici , 20 , true ) ;
5857: LD_EXP 2
5861: PPUSH
5862: LD_INT 20
5864: PPUSH
5865: LD_INT 1
5867: PPUSH
5868: CALL 198 0 3
// end ;
5872: GO 5746
5874: POP
5875: POP
// enable ;
5876: ENABLE
// end ;
5877: PPOPN 3
5879: END
// every 0 0$45 do var pom ;
5880: GO 5882
5882: DISABLE
5883: LD_INT 0
5885: PPUSH
// begin while Am_locked do
5886: LD_LOC 4
5890: IFFALSE 5901
// wait ( 0 0$1 ) ;
5892: LD_INT 35
5894: PPUSH
5895: CALL_OW 67
5899: GO 5886
// Am_locked = true ;
5901: LD_ADDR_LOC 4
5905: PUSH
5906: LD_INT 1
5908: ST_TO_ADDR
// pom = GetResourceArea ( Dary_Am , mat_cans ) ;
5909: LD_ADDR_VAR 0 1
5913: PUSH
5914: LD_INT 15
5916: PPUSH
5917: LD_INT 1
5919: PPUSH
5920: CALL_OW 287
5924: ST_TO_ADDR
// if pom > 0 then
5925: LD_VAR 0 1
5929: PUSH
5930: LD_INT 0
5932: GREATER
5933: IFFALSE 6036
// begin ComExitBuilding ( Am_sber ) ;
5935: LD_EXP 26
5939: PPUSH
5940: CALL_OW 122
// AddComEnterUnit ( Am_sber , Am_asb ) ;
5944: LD_EXP 26
5948: PPUSH
5949: LD_INT 142
5951: PPUSH
5952: CALL_OW 180
// AddComCollect ( Am_sber , 48 , 48 ) ;
5956: LD_EXP 26
5960: PPUSH
5961: LD_INT 48
5963: PPUSH
5964: LD_INT 48
5966: PPUSH
5967: CALL_OW 177
// AddComMoveXY ( Am_sber , 14 , 14 ) ;
5971: LD_EXP 26
5975: PPUSH
5976: LD_INT 14
5978: PPUSH
5979: LD_INT 14
5981: PPUSH
5982: CALL_OW 171
// AddComWait ( Am_sber , 0 0$5 ) ;
5986: LD_EXP 26
5990: PPUSH
5991: LD_INT 175
5993: PPUSH
5994: CALL_OW 202
// AddComMoveXY ( Am_sber , 10 , 8 ) ;
5998: LD_EXP 26
6002: PPUSH
6003: LD_INT 10
6005: PPUSH
6006: LD_INT 8
6008: PPUSH
6009: CALL_OW 171
// AddComExitVehicle ( Am_sber ) ;
6013: LD_EXP 26
6017: PPUSH
6018: CALL_OW 181
// AddComEnterUnit ( Am_sber , Am_dep ) ;
6022: LD_EXP 26
6026: PPUSH
6027: LD_INT 72
6029: PPUSH
6030: CALL_OW 180
// end else
6034: GO 6060
// if Am_pomoc > 0 then
6036: LD_EXP 22
6040: PUSH
6041: LD_INT 0
6043: GREATER
6044: IFFALSE 6060
// cekani_na_dodavku_am = cekani_na_dodavku_am + 1 ;
6046: LD_ADDR_EXP 25
6050: PUSH
6051: LD_EXP 25
6055: PUSH
6056: LD_INT 1
6058: PLUS
6059: ST_TO_ADDR
// Am_locked = false ;
6060: LD_ADDR_LOC 4
6064: PUSH
6065: LD_INT 0
6067: ST_TO_ADDR
// end ;
6068: PPOPN 1
6070: END
// every 0 0$45 do var pom ;
6071: GO 6073
6073: DISABLE
6074: LD_INT 0
6076: PPUSH
// begin while Am_locked do
6077: LD_LOC 4
6081: IFFALSE 6092
// wait ( 0 0$1 ) ;
6083: LD_INT 35
6085: PPUSH
6086: CALL_OW 67
6090: GO 6077
// Am_locked = true ;
6092: LD_ADDR_LOC 4
6096: PUSH
6097: LD_INT 1
6099: ST_TO_ADDR
// pom = GetResourceArea ( Dary_Am , mat_oil ) ;
6100: LD_ADDR_VAR 0 1
6104: PUSH
6105: LD_INT 15
6107: PPUSH
6108: LD_INT 2
6110: PPUSH
6111: CALL_OW 287
6115: ST_TO_ADDR
// if pom > 0 then
6116: LD_VAR 0 1
6120: PUSH
6121: LD_INT 0
6123: GREATER
6124: IFFALSE 6227
// begin ComExitBuilding ( Am_sber ) ;
6126: LD_EXP 26
6130: PPUSH
6131: CALL_OW 122
// AddComEnterUnit ( Am_sber , Am_asb ) ;
6135: LD_EXP 26
6139: PPUSH
6140: LD_INT 142
6142: PPUSH
6143: CALL_OW 180
// AddComCollect ( Am_sber , 48 , 48 ) ;
6147: LD_EXP 26
6151: PPUSH
6152: LD_INT 48
6154: PPUSH
6155: LD_INT 48
6157: PPUSH
6158: CALL_OW 177
// AddComMoveXY ( Am_sber , 14 , 14 ) ;
6162: LD_EXP 26
6166: PPUSH
6167: LD_INT 14
6169: PPUSH
6170: LD_INT 14
6172: PPUSH
6173: CALL_OW 171
// AddComWait ( Am_sber , 0 0$5 ) ;
6177: LD_EXP 26
6181: PPUSH
6182: LD_INT 175
6184: PPUSH
6185: CALL_OW 202
// AddComMoveXY ( Am_sber , 10 , 8 ) ;
6189: LD_EXP 26
6193: PPUSH
6194: LD_INT 10
6196: PPUSH
6197: LD_INT 8
6199: PPUSH
6200: CALL_OW 171
// AddComExitVehicle ( Am_sber ) ;
6204: LD_EXP 26
6208: PPUSH
6209: CALL_OW 181
// AddComEnterUnit ( Am_sber , Am_dep ) ;
6213: LD_EXP 26
6217: PPUSH
6218: LD_INT 72
6220: PPUSH
6221: CALL_OW 180
// end else
6225: GO 6251
// if Am_pomoc > 0 then
6227: LD_EXP 22
6231: PUSH
6232: LD_INT 0
6234: GREATER
6235: IFFALSE 6251
// cekani_na_dodavku_am = cekani_na_dodavku_am + 1 ;
6237: LD_ADDR_EXP 25
6241: PUSH
6242: LD_EXP 25
6246: PUSH
6247: LD_INT 1
6249: PLUS
6250: ST_TO_ADDR
// Am_locked = false ;
6251: LD_ADDR_LOC 4
6255: PUSH
6256: LD_INT 0
6258: ST_TO_ADDR
// end ;
6259: PPOPN 1
6261: END
// every 0 0$10 trigger not IsOK ( Am_sber ) do
6262: LD_EXP 26
6266: PPUSH
6267: CALL_OW 302
6271: NOT
6272: IFFALSE 6281
6274: GO 6276
6276: DISABLE
// begin create_sberac_am ;
6277: CALL 3021 0 0
// end ;
6281: END
// function vyroba_am_vozitek ( pocet ) ; var i ; begin
6282: LD_INT 0
6284: PPUSH
6285: PPUSH
// for i := 1 to pocet do
6286: LD_ADDR_VAR 0 3
6290: PUSH
6291: DOUBLE
6292: LD_INT 1
6294: DEC
6295: ST_TO_ADDR
6296: LD_VAR 0 1
6300: PUSH
6301: FOR_TO
6302: IFFALSE 6329
// AddComConstruct ( Am_fac , get_chassis , engine_solar , control_manual , get_weapon ) ;
6304: LD_INT 77
6306: PPUSH
6307: CALL 6336 0 0
6311: PPUSH
6312: LD_INT 2
6314: PPUSH
6315: LD_INT 1
6317: PPUSH
6318: CALL 6416 0 0
6322: PPUSH
6323: CALL_OW 185
6327: GO 6301
6329: POP
6330: POP
// end ;
6331: LD_VAR 0 2
6335: RET
// function get_chassis ; var pom ; var a ; begin
6336: LD_INT 0
6338: PPUSH
6339: PPUSH
6340: PPUSH
// pom = Rand ( 1 , 2 ) ;
6341: LD_ADDR_VAR 0 2
6345: PUSH
6346: LD_INT 1
6348: PPUSH
6349: LD_INT 2
6351: PPUSH
6352: CALL_OW 12
6356: ST_TO_ADDR
// case pom of 1 :
6357: LD_VAR 0 2
6361: PUSH
6362: LD_INT 1
6364: DOUBLE
6365: EQUAL
6366: IFTRUE 6370
6368: GO 6381
6370: POP
// a = us_light_wheeled ; 2 :
6371: LD_ADDR_VAR 0 3
6375: PUSH
6376: LD_INT 1
6378: ST_TO_ADDR
6379: GO 6401
6381: LD_INT 2
6383: DOUBLE
6384: EQUAL
6385: IFTRUE 6389
6387: GO 6400
6389: POP
// a = us_medium_wheeled ; end ;
6390: LD_ADDR_VAR 0 3
6394: PUSH
6395: LD_INT 2
6397: ST_TO_ADDR
6398: GO 6401
6400: POP
// result = a ;
6401: LD_ADDR_VAR 0 1
6405: PUSH
6406: LD_VAR 0 3
6410: ST_TO_ADDR
// end ;
6411: LD_VAR 0 1
6415: RET
// function get_weapon ; var pom ; var a ; begin
6416: LD_INT 0
6418: PPUSH
6419: PPUSH
6420: PPUSH
// pom = Rand ( 1 , 3 ) ;
6421: LD_ADDR_VAR 0 2
6425: PUSH
6426: LD_INT 1
6428: PPUSH
6429: LD_INT 3
6431: PPUSH
6432: CALL_OW 12
6436: ST_TO_ADDR
// case pom of 1 :
6437: LD_VAR 0 2
6441: PUSH
6442: LD_INT 1
6444: DOUBLE
6445: EQUAL
6446: IFTRUE 6450
6448: GO 6461
6450: POP
// a = us_machine_gun ; 2 :
6451: LD_ADDR_VAR 0 3
6455: PUSH
6456: LD_INT 2
6458: ST_TO_ADDR
6459: GO 6500
6461: LD_INT 2
6463: DOUBLE
6464: EQUAL
6465: IFTRUE 6469
6467: GO 6480
6469: POP
// a = us_gatling_gun ; 3 :
6470: LD_ADDR_VAR 0 3
6474: PUSH
6475: LD_INT 4
6477: ST_TO_ADDR
6478: GO 6500
6480: LD_INT 3
6482: DOUBLE
6483: EQUAL
6484: IFTRUE 6488
6486: GO 6499
6488: POP
// a = us_light_gun ; end ;
6489: LD_ADDR_VAR 0 3
6493: PUSH
6494: LD_INT 3
6496: ST_TO_ADDR
6497: GO 6500
6499: POP
// result = a ;
6500: LD_ADDR_VAR 0 1
6504: PUSH
6505: LD_VAR 0 3
6509: ST_TO_ADDR
// end ;
6510: LD_VAR 0 1
6514: RET
// every 0 0$1 trigger utok_am and Attack_No = 2 do
6515: LD_EXP 17
6519: PUSH
6520: LD_EXP 41
6524: PUSH
6525: LD_INT 2
6527: EQUAL
6528: AND
6529: IFFALSE 6708
6531: GO 6533
6533: DISABLE
// begin ComExitBuilding ( Sik ) ;
6534: LD_INT 89
6536: PPUSH
6537: CALL_OW 122
// AddComEnterUnit ( Sik , Sikauto ) ;
6541: LD_INT 89
6543: PPUSH
6544: LD_INT 140
6546: PPUSH
6547: CALL_OW 180
// while IsDrivenBy ( Sikauto ) = 0 do
6551: LD_INT 140
6553: PPUSH
6554: CALL_OW 311
6558: PUSH
6559: LD_INT 0
6561: EQUAL
6562: IFFALSE 6573
// wait ( 0 0$1 ) ;
6564: LD_INT 35
6566: PPUSH
6567: CALL_OW 67
6571: GO 6551
// US_utok = FilterUnitsInArea ( Am_base , [ [ f_side , Amici ] , [ f_type , unit_vehicle ] ] ) ;
6573: LD_ADDR_EXP 23
6577: PUSH
6578: LD_INT 4
6580: PPUSH
6581: LD_INT 22
6583: PUSH
6584: LD_EXP 2
6588: PUSH
6589: EMPTY
6590: LIST
6591: LIST
6592: PUSH
6593: LD_INT 21
6595: PUSH
6596: LD_INT 2
6598: PUSH
6599: EMPTY
6600: LIST
6601: LIST
6602: PUSH
6603: EMPTY
6604: LIST
6605: LIST
6606: PPUSH
6607: CALL_OW 70
6611: ST_TO_ADDR
// US_utok = Us_utok diff [ Am_asb ] ;
6612: LD_ADDR_EXP 23
6616: PUSH
6617: LD_EXP 23
6621: PUSH
6622: LD_INT 142
6624: PUSH
6625: EMPTY
6626: LIST
6627: DIFF
6628: ST_TO_ADDR
// ComAgressiveMove ( US_utok , 85 , 81 ) ;
6629: LD_EXP 23
6633: PPUSH
6634: LD_INT 85
6636: PPUSH
6637: LD_INT 81
6639: PPUSH
6640: CALL_OW 114
// AddComAgressiveMove ( US_utok , 118 , 100 ) ;
6644: LD_EXP 23
6648: PPUSH
6649: LD_INT 118
6651: PPUSH
6652: LD_INT 100
6654: PPUSH
6655: CALL_OW 174
// AddComAgressiveMove ( US_utok , 134 , 92 ) ;
6659: LD_EXP 23
6663: PPUSH
6664: LD_INT 134
6666: PPUSH
6667: LD_INT 92
6669: PPUSH
6670: CALL_OW 174
// AddComAttackUnit ( US_utok , Ru_bu2 ) ;
6674: LD_EXP 23
6678: PPUSH
6679: LD_INT 57
6681: PPUSH
6682: CALL_OW 175
// UTOKY = 1 ;
6686: LD_ADDR_EXP 4
6690: PUSH
6691: LD_INT 1
6693: ST_TO_ADDR
// wait ( 0 0$15 ) ;
6694: LD_INT 525
6696: PPUSH
6697: CALL_OW 67
// vyroba_am_vozitek ( 3 ) ;
6701: LD_INT 3
6703: PPUSH
6704: CALL 6282 0 1
// end ; end_of_file
6708: END
// export utok_ru ; export Ru_ally ; export Ru_war ; export GDEAD ; export RU_vi ; export RU_utok ; export RU_pomoc ; export Ru_sber ; export Ru_opr ; export FTE ; export USPLNEN ; var Ru_locked ; export cekani_na_dodavku_ru ; every 0 0$0.1 do
6709: GO 6711
6711: DISABLE
// begin utok_ru = false ;
6712: LD_ADDR_EXP 27
6716: PUSH
6717: LD_INT 0
6719: ST_TO_ADDR
// Ru_ally = false ;
6720: LD_ADDR_EXP 28
6724: PUSH
6725: LD_INT 0
6727: ST_TO_ADDR
// Ru_war = false ;
6728: LD_ADDR_EXP 29
6732: PUSH
6733: LD_INT 0
6735: ST_TO_ADDR
// GDEAD = false ;
6736: LD_ADDR_EXP 30
6740: PUSH
6741: LD_INT 0
6743: ST_TO_ADDR
// RU_vi = 0 ;
6744: LD_ADDR_EXP 31
6748: PUSH
6749: LD_INT 0
6751: ST_TO_ADDR
// FTE = false ;
6752: LD_ADDR_EXP 36
6756: PUSH
6757: LD_INT 0
6759: ST_TO_ADDR
// RU_utok = [ ] ;
6760: LD_ADDR_EXP 32
6764: PUSH
6765: EMPTY
6766: ST_TO_ADDR
// USPLNEN = false ;
6767: LD_ADDR_EXP 37
6771: PUSH
6772: LD_INT 0
6774: ST_TO_ADDR
// RU_pomoc = 0 ;
6775: LD_ADDR_EXP 33
6779: PUSH
6780: LD_INT 0
6782: ST_TO_ADDR
// RU_locked = false ;
6783: LD_ADDR_LOC 6
6787: PUSH
6788: LD_INT 0
6790: ST_TO_ADDR
// cekani_na_dodavku_ru = 0 ;
6791: LD_ADDR_EXP 38
6795: PUSH
6796: LD_INT 0
6798: ST_TO_ADDR
// Ru_opr = [ Ru_eng1 , Ru_eng2 , Ru_eng2 ] ;
6799: LD_ADDR_EXP 35
6803: PUSH
6804: LD_INT 138
6806: PUSH
6807: LD_INT 139
6809: PUSH
6810: LD_INT 139
6812: PUSH
6813: EMPTY
6814: LIST
6815: LIST
6816: LIST
6817: ST_TO_ADDR
// end ;
6818: END
// every 0 0$1 do
6819: GO 6821
6821: DISABLE
// begin ComEnterUnit ( Gav , Ru_arm ) ;
6822: LD_INT 90
6824: PPUSH
6825: LD_INT 48
6827: PPUSH
6828: CALL_OW 120
// ComEnterUnit ( Ru_sci1 , Ru_lab ) ;
6832: LD_INT 117
6834: PPUSH
6835: LD_INT 50
6837: PPUSH
6838: CALL_OW 120
// ComEnterUnit ( Ru_scin , Ru_lab ) ;
6842: LD_INT 133
6844: PPUSH
6845: LD_INT 50
6847: PPUSH
6848: CALL_OW 120
// ComEnterUnit ( Ru_ri1 , Ru_fac ) ;
6852: LD_INT 136
6854: PPUSH
6855: LD_INT 49
6857: PPUSH
6858: CALL_OW 120
// ComEnterUnit ( Ru_ri2 , Ru_fac ) ;
6862: LD_INT 134
6864: PPUSH
6865: LD_INT 49
6867: PPUSH
6868: CALL_OW 120
// ComEnterUnit ( Ru_ri3 , Ru_fac ) ;
6872: LD_INT 135
6874: PPUSH
6875: LD_INT 49
6877: PPUSH
6878: CALL_OW 120
// ComEnterUnit ( Ru_eng1 , Ru_dep ) ;
6882: LD_INT 138
6884: PPUSH
6885: LD_INT 45
6887: PPUSH
6888: CALL_OW 120
// ComEnterUnit ( Ru_eng2 , Ru_dep ) ;
6892: LD_INT 139
6894: PPUSH
6895: LD_INT 45
6897: PPUSH
6898: CALL_OW 120
// ComEnterUnit ( Ru_obr1 , Ru_dep ) ;
6902: LD_INT 137
6904: PPUSH
6905: LD_INT 45
6907: PPUSH
6908: CALL_OW 120
// ComEnterUnit ( Ru_sber , Ru_dep ) ;
6912: LD_EXP 34
6916: PPUSH
6917: LD_INT 45
6919: PPUSH
6920: CALL_OW 120
// ComEnterUnit ( Ru_vb1 , Ru_bu1 ) ;
6924: LD_INT 100
6926: PPUSH
6927: LD_INT 56
6929: PPUSH
6930: CALL_OW 120
// ComEnterUnit ( Ru_vb2 , Ru_bu2 ) ;
6934: LD_INT 101
6936: PPUSH
6937: LD_INT 57
6939: PPUSH
6940: CALL_OW 120
// ComEnterUnit ( Ru_vb3 , Ru_bu3 ) ;
6944: LD_INT 102
6946: PPUSH
6947: LD_INT 58
6949: PPUSH
6950: CALL_OW 120
// ComEnterUnit ( Ru_vb4 , Ru_bu4 ) ;
6954: LD_INT 103
6956: PPUSH
6957: LD_INT 59
6959: PPUSH
6960: CALL_OW 120
// ComEnterUnit ( Ru_nvu1 , Ru_auto1 ) ;
6964: LD_INT 126
6966: PPUSH
6967: LD_INT 125
6969: PPUSH
6970: CALL_OW 120
// ComEnterUnit ( Ru_vu2 , Ru_auto2 ) ;
6974: LD_INT 123
6976: PPUSH
6977: LD_INT 119
6979: PPUSH
6980: CALL_OW 120
// ComEnterUnit ( Ru_vu3 , Ru_auto3 ) ;
6984: LD_INT 124
6986: PPUSH
6987: LD_INT 118
6989: PPUSH
6990: CALL_OW 120
// end ;
6994: END
// every 0 0$6 do
6995: GO 6997
6997: DISABLE
// begin if not kodovana_frekvence then
6998: LD_EXP 20
7002: NOT
7003: IFFALSE 7021
// Ru_vi = VZTAHY [ 1 ] else
7005: LD_ADDR_EXP 31
7009: PUSH
7010: LD_EXP 11
7014: PUSH
7015: LD_INT 1
7017: ARRAY
7018: ST_TO_ADDR
7019: GO 7044
// if Prob ( 5 ) then
7021: LD_INT 5
7023: PPUSH
7024: CALL_OW 13
7028: IFFALSE 7044
// Ru_vi = VZTAHY [ 1 ] ;
7030: LD_ADDR_EXP 31
7034: PUSH
7035: LD_EXP 11
7039: PUSH
7040: LD_INT 1
7042: ARRAY
7043: ST_TO_ADDR
// if Am_ally and ( kodovana_frekvence or Prob ( 5 ) ) then
7044: LD_EXP 18
7048: PUSH
7049: LD_EXP 20
7053: PUSH
7054: LD_INT 5
7056: PPUSH
7057: CALL_OW 13
7061: OR
7062: AND
7063: IFFALSE 7073
// Ru_vi = 96 ;
7065: LD_ADDR_EXP 31
7069: PUSH
7070: LD_INT 96
7072: ST_TO_ADDR
// enable ;
7073: ENABLE
// end ;
7074: END
// every 0 0$10 trigger Attack_No = 2 and utok_ru = true do
7075: LD_EXP 41
7079: PUSH
7080: LD_INT 2
7082: EQUAL
7083: PUSH
7084: LD_EXP 27
7088: PUSH
7089: LD_INT 1
7091: EQUAL
7092: AND
7093: IFFALSE 7281
7095: GO 7097
7097: DISABLE
// begin RU_utok = [ Ru_auto1 , Ru_auto2 , Ru_auto3 ] ;
7098: LD_ADDR_EXP 32
7102: PUSH
7103: LD_INT 125
7105: PUSH
7106: LD_INT 119
7108: PUSH
7109: LD_INT 118
7111: PUSH
7112: EMPTY
7113: LIST
7114: LIST
7115: LIST
7116: ST_TO_ADDR
// ComAgressiveMove ( RU_utok , 43 , 52 ) ;
7117: LD_EXP 32
7121: PPUSH
7122: LD_INT 43
7124: PPUSH
7125: LD_INT 52
7127: PPUSH
7128: CALL_OW 114
// AddComAttackUnit ( RU_utok , Am_tuob ) ;
7132: LD_EXP 32
7136: PPUSH
7137: LD_INT 87
7139: PPUSH
7140: CALL_OW 175
// AddComAttackUnit ( RU_utok , Am_oilob ) ;
7144: LD_EXP 32
7148: PPUSH
7149: LD_INT 86
7151: PPUSH
7152: CALL_OW 175
// UTOKY = 2 ;
7156: LD_ADDR_EXP 4
7160: PUSH
7161: LD_INT 2
7163: ST_TO_ADDR
// while IsOK ( Am_tuob ) do
7164: LD_INT 87
7166: PPUSH
7167: CALL_OW 302
7171: IFFALSE 7182
// wait ( 0 0$3 ) ;
7173: LD_INT 105
7175: PPUSH
7176: CALL_OW 67
7180: GO 7164
// debug_strings = [ is dead , IsDead ( Am_oilob ) ] ;
7182: LD_ADDR_OWVAR 48
7186: PUSH
7187: LD_STRING is dead
7189: PUSH
7190: LD_INT 86
7192: PPUSH
7193: CALL_OW 301
7197: PUSH
7198: EMPTY
7199: LIST
7200: LIST
7201: ST_TO_ADDR
// while not IsDead ( Am_oilob ) do
7202: LD_INT 86
7204: PPUSH
7205: CALL_OW 301
7209: NOT
7210: IFFALSE 7233
// begin ComAttackUnit ( Ru_utok , Am_oilob ) ;
7212: LD_EXP 32
7216: PPUSH
7217: LD_INT 86
7219: PPUSH
7220: CALL_OW 115
// wait ( 0 0$1 ) ;
7224: LD_INT 35
7226: PPUSH
7227: CALL_OW 67
// end ;
7231: GO 7202
// USPLNEN = true ;
7233: LD_ADDR_EXP 37
7237: PUSH
7238: LD_INT 1
7240: ST_TO_ADDR
// ComAgressiveMove ( FilterUnitsInArea ( Am_ter , [ [ f_side , Rusi ] ] ) , 20 , 25 ) ;
7241: LD_INT 6
7243: PPUSH
7244: LD_INT 22
7246: PUSH
7247: LD_EXP 3
7251: PUSH
7252: EMPTY
7253: LIST
7254: LIST
7255: PUSH
7256: EMPTY
7257: LIST
7258: PPUSH
7259: CALL_OW 70
7263: PPUSH
7264: LD_INT 20
7266: PPUSH
7267: LD_INT 25
7269: PPUSH
7270: CALL_OW 114
// vyroba_ru_vozitek ( 2 ) ;
7274: LD_INT 2
7276: PPUSH
7277: CALL 9143 0 1
// end ;
7281: END
// every 0 0$2 trigger USPLNEN do var i , pom ;
7282: LD_EXP 37
7286: IFFALSE 7366
7288: GO 7290
7290: DISABLE
7291: LD_INT 0
7293: PPUSH
7294: PPUSH
// begin pom = [ ] ;
7295: LD_ADDR_VAR 0 2
7299: PUSH
7300: EMPTY
7301: ST_TO_ADDR
// for i in RU_utok do
7302: LD_ADDR_VAR 0 1
7306: PUSH
7307: LD_EXP 32
7311: PUSH
7312: FOR_IN
7313: IFFALSE 7348
// if GetLives ( i ) <= 500 then
7315: LD_VAR 0 1
7319: PPUSH
7320: CALL_OW 256
7324: PUSH
7325: LD_INT 500
7327: LESSEQUAL
7328: IFFALSE 7346
// pom = pom ^ i ;
7330: LD_ADDR_VAR 0 2
7334: PUSH
7335: LD_VAR 0 2
7339: PUSH
7340: LD_VAR 0 1
7344: ADD
7345: ST_TO_ADDR
7346: GO 7312
7348: POP
7349: POP
// ComMoveXY ( pom , 152 , 105 ) ;
7350: LD_VAR 0 2
7354: PPUSH
7355: LD_INT 152
7357: PPUSH
7358: LD_INT 105
7360: PPUSH
7361: CALL_OW 111
// enable ;
7365: ENABLE
// end ;
7366: PPOPN 2
7368: END
// every 0 0$3 trigger UTOKY = 0 do var pom , pom1 ; var i ; var ridic ;
7369: LD_EXP 4
7373: PUSH
7374: LD_INT 0
7376: EQUAL
7377: IFFALSE 7584
7379: GO 7381
7381: DISABLE
7382: LD_INT 0
7384: PPUSH
7385: PPUSH
7386: PPUSH
7387: PPUSH
// begin pom1 = [ ] ;
7388: LD_ADDR_VAR 0 2
7392: PUSH
7393: EMPTY
7394: ST_TO_ADDR
// pom = FilterUnitsInArea ( Ru_ter , [ [ f_side , Rusi ] , [ f_type , unit_vehicle ] ] ) ;
7395: LD_ADDR_VAR 0 1
7399: PUSH
7400: LD_INT 5
7402: PPUSH
7403: LD_INT 22
7405: PUSH
7406: LD_EXP 3
7410: PUSH
7411: EMPTY
7412: LIST
7413: LIST
7414: PUSH
7415: LD_INT 21
7417: PUSH
7418: LD_INT 2
7420: PUSH
7421: EMPTY
7422: LIST
7423: LIST
7424: PUSH
7425: EMPTY
7426: LIST
7427: LIST
7428: PPUSH
7429: CALL_OW 70
7433: ST_TO_ADDR
// for i in pom do
7434: LD_ADDR_VAR 0 3
7438: PUSH
7439: LD_VAR 0 1
7443: PUSH
7444: FOR_IN
7445: IFFALSE 7480
// if GetLives ( i ) <> 1000 then
7447: LD_VAR 0 3
7451: PPUSH
7452: CALL_OW 256
7456: PUSH
7457: LD_INT 1000
7459: NONEQUAL
7460: IFFALSE 7478
// pom1 = pom1 ^ i ;
7462: LD_ADDR_VAR 0 2
7466: PUSH
7467: LD_VAR 0 2
7471: PUSH
7472: LD_VAR 0 3
7476: ADD
7477: ST_TO_ADDR
7478: GO 7444
7480: POP
7481: POP
// for i in pom1 do
7482: LD_ADDR_VAR 0 3
7486: PUSH
7487: LD_VAR 0 2
7491: PUSH
7492: FOR_IN
7493: IFFALSE 7581
// begin ridic = IsDrivenBy ( i ) ;
7495: LD_ADDR_VAR 0 4
7499: PUSH
7500: LD_VAR 0 3
7504: PPUSH
7505: CALL_OW 311
7509: ST_TO_ADDR
// ComStop ( i ) ;
7510: LD_VAR 0 3
7514: PPUSH
7515: CALL_OW 141
// ComStop ( ridic ) ;
7519: LD_VAR 0 4
7523: PPUSH
7524: CALL_OW 141
// wait ( 0 0$2 ) ;
7528: LD_INT 70
7530: PPUSH
7531: CALL_OW 67
// AddComExitVehicle ( i ) ;
7535: LD_VAR 0 3
7539: PPUSH
7540: CALL_OW 181
// wait ( 0 0$3 ) ;
7544: LD_INT 105
7546: PPUSH
7547: CALL_OW 67
// AddComRepairVehicle ( ridic , i ) ;
7551: LD_VAR 0 4
7555: PPUSH
7556: LD_VAR 0 3
7560: PPUSH
7561: CALL_OW 189
// AddComEnterUnit ( ridic , i ) ;
7565: LD_VAR 0 4
7569: PPUSH
7570: LD_VAR 0 3
7574: PPUSH
7575: CALL_OW 180
// end ;
7579: GO 7492
7581: POP
7582: POP
// enable ;
7583: ENABLE
// end ;
7584: PPOPN 4
7586: END
// function ntask ( l ) ; var i ; var a ; begin
7587: LD_INT 0
7589: PPUSH
7590: PPUSH
7591: PPUSH
// a = 0 ;
7592: LD_ADDR_VAR 0 4
7596: PUSH
7597: LD_INT 0
7599: ST_TO_ADDR
// for i in l do
7600: LD_ADDR_VAR 0 3
7604: PUSH
7605: LD_VAR 0 1
7609: PUSH
7610: FOR_IN
7611: IFFALSE 7640
// if HasTask ( i ) then
7613: LD_VAR 0 3
7617: PPUSH
7618: CALL_OW 314
7622: IFFALSE 7638
// a = a + 1 ;
7624: LD_ADDR_VAR 0 4
7628: PUSH
7629: LD_VAR 0 4
7633: PUSH
7634: LD_INT 1
7636: PLUS
7637: ST_TO_ADDR
7638: GO 7610
7640: POP
7641: POP
// end ;
7642: LD_VAR 0 2
7646: RET
// every 0 0$10 trigger UTOKY = 0 do var pom , pom1 ; var i ;
7647: LD_EXP 4
7651: PUSH
7652: LD_INT 0
7654: EQUAL
7655: IFFALSE 7753
7657: GO 7659
7659: DISABLE
7660: LD_INT 0
7662: PPUSH
7663: PPUSH
7664: PPUSH
// begin pom1 = [ ] ;
7665: LD_ADDR_VAR 0 2
7669: PUSH
7670: EMPTY
7671: ST_TO_ADDR
// pom = FilterAllUnits ( [ [ f_side , Rusi ] , [ f_type , unit_vehicle ] ] ) ;
7672: LD_ADDR_VAR 0 1
7676: PUSH
7677: LD_INT 22
7679: PUSH
7680: LD_EXP 3
7684: PUSH
7685: EMPTY
7686: LIST
7687: LIST
7688: PUSH
7689: LD_INT 21
7691: PUSH
7692: LD_INT 2
7694: PUSH
7695: EMPTY
7696: LIST
7697: LIST
7698: PUSH
7699: EMPTY
7700: LIST
7701: LIST
7702: PPUSH
7703: CALL_OW 69
7707: ST_TO_ADDR
// for i in pom do
7708: LD_ADDR_VAR 0 3
7712: PUSH
7713: LD_VAR 0 1
7717: PUSH
7718: FOR_IN
7719: IFFALSE 7750
// if GetFuel ( i ) < 80 then
7721: LD_VAR 0 3
7725: PPUSH
7726: CALL_OW 261
7730: PUSH
7731: LD_INT 80
7733: LESS
7734: IFFALSE 7748
// ComMoveUnit ( i , Ru_dep ) ;
7736: LD_VAR 0 3
7740: PPUSH
7741: LD_INT 45
7743: PPUSH
7744: CALL_OW 112
7748: GO 7718
7750: POP
7751: POP
// enable ;
7752: ENABLE
// end ;
7753: PPOPN 3
7755: END
// every 0 0$5 do var pom , pom1 ; var i ;
7756: GO 7758
7758: DISABLE
7759: LD_INT 0
7761: PPUSH
7762: PPUSH
7763: PPUSH
// begin pom = FilterUnitsInArea ( Ru_ter , [ [ f_side , Amici ] , [ f_type , unit_vehicle ] ] ) ;
7764: LD_ADDR_VAR 0 1
7768: PUSH
7769: LD_INT 5
7771: PPUSH
7772: LD_INT 22
7774: PUSH
7775: LD_EXP 2
7779: PUSH
7780: EMPTY
7781: LIST
7782: LIST
7783: PUSH
7784: LD_INT 21
7786: PUSH
7787: LD_INT 2
7789: PUSH
7790: EMPTY
7791: LIST
7792: LIST
7793: PUSH
7794: EMPTY
7795: LIST
7796: LIST
7797: PPUSH
7798: CALL_OW 70
7802: ST_TO_ADDR
// pom1 = FilterUnitsInArea ( Ru_ter , [ [ f_side , Rusi ] , [ f_type , unit_vehicle ] ] ) ;
7803: LD_ADDR_VAR 0 2
7807: PUSH
7808: LD_INT 5
7810: PPUSH
7811: LD_INT 22
7813: PUSH
7814: LD_EXP 3
7818: PUSH
7819: EMPTY
7820: LIST
7821: LIST
7822: PUSH
7823: LD_INT 21
7825: PUSH
7826: LD_INT 2
7828: PUSH
7829: EMPTY
7830: LIST
7831: LIST
7832: PUSH
7833: EMPTY
7834: LIST
7835: LIST
7836: PPUSH
7837: CALL_OW 70
7841: ST_TO_ADDR
// if pom > 0 then
7842: LD_VAR 0 1
7846: PUSH
7847: LD_INT 0
7849: GREATER
7850: IFFALSE 7898
// for i in pom1 do
7852: LD_ADDR_VAR 0 3
7856: PUSH
7857: LD_VAR 0 2
7861: PUSH
7862: FOR_IN
7863: IFFALSE 7896
// if IsDrivenBy ( i ) then
7865: LD_VAR 0 3
7869: PPUSH
7870: CALL_OW 311
7874: IFFALSE 7894
// AddComAttackUnit ( i , pom [ 1 ] ) ;
7876: LD_VAR 0 3
7880: PPUSH
7881: LD_VAR 0 1
7885: PUSH
7886: LD_INT 1
7888: ARRAY
7889: PPUSH
7890: CALL_OW 175
7894: GO 7862
7896: POP
7897: POP
// enable ;
7898: ENABLE
// end ;
7899: PPOPN 3
7901: END
// every 0 0$5 trigger UTOKY = 0 do var pom , i ;
7902: LD_EXP 4
7906: PUSH
7907: LD_INT 0
7909: EQUAL
7910: IFFALSE 8001
7912: GO 7914
7914: DISABLE
7915: LD_INT 0
7917: PPUSH
7918: PPUSH
// begin pom = FilterUnitsInArea ( Ru_base , [ [ f_side , Rusi ] , [ f_type , unit_vehicle ] ] ) ;
7919: LD_ADDR_VAR 0 1
7923: PUSH
7924: LD_INT 3
7926: PPUSH
7927: LD_INT 22
7929: PUSH
7930: LD_EXP 3
7934: PUSH
7935: EMPTY
7936: LIST
7937: LIST
7938: PUSH
7939: LD_INT 21
7941: PUSH
7942: LD_INT 2
7944: PUSH
7945: EMPTY
7946: LIST
7947: LIST
7948: PUSH
7949: EMPTY
7950: LIST
7951: LIST
7952: PPUSH
7953: CALL_OW 70
7957: ST_TO_ADDR
// for i in pom do
7958: LD_ADDR_VAR 0 2
7962: PUSH
7963: LD_VAR 0 1
7967: PUSH
7968: FOR_IN
7969: IFFALSE 7999
// if IsIdle ( i ) then
7971: LD_VAR 0 2
7975: PPUSH
7976: CALL_OW 316
7980: IFFALSE 7997
// AddComMoveXY ( i , 149 , 98 ) ;
7982: LD_VAR 0 2
7986: PPUSH
7987: LD_INT 149
7989: PPUSH
7990: LD_INT 98
7992: PPUSH
7993: CALL_OW 171
7997: GO 7968
7999: POP
8000: POP
// end ;
8001: PPOPN 2
8003: END
// every 0 0$10 trigger UnitsInside ( Ru_fac ) < 2 do var mech ;
8004: LD_INT 49
8006: PPUSH
8007: CALL_OW 313
8011: PUSH
8012: LD_INT 2
8014: LESS
8015: IFFALSE 8064
8017: GO 8019
8019: DISABLE
8020: LD_INT 0
8022: PPUSH
// begin if SeeArea ( You , Ch_mru ) = 0 then
8023: LD_EXP 1
8027: PPUSH
8028: LD_INT 8
8030: PPUSH
8031: CALL_OW 294
8035: PUSH
8036: LD_INT 0
8038: EQUAL
8039: IFFALSE 8063
// begin mech = create_ru_mechanic ;
8041: LD_ADDR_VAR 0 1
8045: PUSH
8046: CALL 1976 0 0
8050: ST_TO_ADDR
// ComEnterUnit ( mech , Ru_fac ) ;
8051: LD_VAR 0 1
8055: PPUSH
8056: LD_INT 49
8058: PPUSH
8059: CALL_OW 120
// end ; enable ;
8063: ENABLE
// end ;
8064: PPOPN 1
8066: END
// export function utok_na_araby ; var i , pom ; begin
8067: LD_INT 0
8069: PPUSH
8070: PPUSH
8071: PPUSH
// ComMoveXY ( RUSKE_POSILY_LIST , 142 , 68 ) ;
8072: LD_EXP 6
8076: PPUSH
8077: LD_INT 142
8079: PPUSH
8080: LD_INT 68
8082: PPUSH
8083: CALL_OW 111
// while FilterUnitsInArea ( sber1 , [ [ f_side , Rusi ] ] ) - 1 < RUSKE_POSILY_LIST + 0 do
8087: LD_INT 13
8089: PPUSH
8090: LD_INT 22
8092: PUSH
8093: LD_EXP 3
8097: PUSH
8098: EMPTY
8099: LIST
8100: LIST
8101: PUSH
8102: EMPTY
8103: LIST
8104: PPUSH
8105: CALL_OW 70
8109: PUSH
8110: LD_INT 1
8112: MINUS
8113: PUSH
8114: LD_EXP 6
8118: PUSH
8119: LD_INT 0
8121: PLUS
8122: LESS
8123: IFFALSE 8134
// wait ( 0 0$1 ) ;
8125: LD_INT 35
8127: PPUSH
8128: CALL_OW 67
8132: GO 8087
// AddComAgressiveMove ( RUSKE_POSILY_LIST , 109 , 17 ) ;
8134: LD_EXP 6
8138: PPUSH
8139: LD_INT 109
8141: PPUSH
8142: LD_INT 17
8144: PPUSH
8145: CALL_OW 174
// while utok_pokracuje do
8149: CALL 8258 0 0
8153: IFFALSE 8238
// begin pom = FilterUnitsInArea ( Ar_base , [ [ f_side , You ] ] ) ;
8155: LD_ADDR_VAR 0 3
8159: PUSH
8160: LD_INT 14
8162: PPUSH
8163: LD_INT 22
8165: PUSH
8166: LD_EXP 1
8170: PUSH
8171: EMPTY
8172: LIST
8173: LIST
8174: PUSH
8175: EMPTY
8176: LIST
8177: PPUSH
8178: CALL_OW 70
8182: ST_TO_ADDR
// for i in RUSKE_POSILY_LIST do
8183: LD_ADDR_VAR 0 2
8187: PUSH
8188: LD_EXP 6
8192: PUSH
8193: FOR_IN
8194: IFFALSE 8227
// if IsIdle ( i ) then
8196: LD_VAR 0 2
8200: PPUSH
8201: CALL_OW 316
8205: IFFALSE 8225
// ComAttackUnit ( i , pom [ 1 ] ) ;
8207: LD_VAR 0 2
8211: PPUSH
8212: LD_VAR 0 3
8216: PUSH
8217: LD_INT 1
8219: ARRAY
8220: PPUSH
8221: CALL_OW 115
8225: GO 8193
8227: POP
8228: POP
// wait ( 0 0$1 ) ;
8229: LD_INT 35
8231: PPUSH
8232: CALL_OW 67
// end ;
8236: GO 8149
// ComMoveXY ( RUSKE_POSILY_LIST , 151 , 105 ) ;
8238: LD_EXP 6
8242: PPUSH
8243: LD_INT 151
8245: PPUSH
8246: LD_INT 105
8248: PPUSH
8249: CALL_OW 111
// end ;
8253: LD_VAR 0 1
8257: RET
// function utok_pokracuje ; var pom ; begin
8258: LD_INT 0
8260: PPUSH
8261: PPUSH
// pom = FilterUnitsInArea ( Ru_ter , [ [ f_side , Amici ] ] ) ;
8262: LD_ADDR_VAR 0 2
8266: PUSH
8267: LD_INT 5
8269: PPUSH
8270: LD_INT 22
8272: PUSH
8273: LD_EXP 2
8277: PUSH
8278: EMPTY
8279: LIST
8280: LIST
8281: PUSH
8282: EMPTY
8283: LIST
8284: PPUSH
8285: CALL_OW 70
8289: ST_TO_ADDR
// if pom > 0 then
8290: LD_VAR 0 2
8294: PUSH
8295: LD_INT 0
8297: GREATER
8298: IFFALSE 8310
// result := false else
8300: LD_ADDR_VAR 0 1
8304: PUSH
8305: LD_INT 0
8307: ST_TO_ADDR
8308: GO 8356
// if FilterUnitsInArea ( Ar_base , [ [ f_side , You ] ] ) = 0 then
8310: LD_INT 14
8312: PPUSH
8313: LD_INT 22
8315: PUSH
8316: LD_EXP 1
8320: PUSH
8321: EMPTY
8322: LIST
8323: LIST
8324: PUSH
8325: EMPTY
8326: LIST
8327: PPUSH
8328: CALL_OW 70
8332: PUSH
8333: LD_INT 0
8335: EQUAL
8336: IFFALSE 8348
// result := false else
8338: LD_ADDR_VAR 0 1
8342: PUSH
8343: LD_INT 0
8345: ST_TO_ADDR
8346: GO 8356
// result := true ;
8348: LD_ADDR_VAR 0 1
8352: PUSH
8353: LD_INT 1
8355: ST_TO_ADDR
// end ;
8356: LD_VAR 0 1
8360: RET
// every 0 0$30 do var pom , pom1 ; var i ;
8361: GO 8363
8363: DISABLE
8364: LD_INT 0
8366: PPUSH
8367: PPUSH
8368: PPUSH
// begin pom = FilterUnitsInArea ( Dary_Ru , [ [ f_side , You ] , [ f_type , unit_vehicle ] ] ) ;
8369: LD_ADDR_VAR 0 1
8373: PUSH
8374: LD_INT 16
8376: PPUSH
8377: LD_INT 22
8379: PUSH
8380: LD_EXP 1
8384: PUSH
8385: EMPTY
8386: LIST
8387: LIST
8388: PUSH
8389: LD_INT 21
8391: PUSH
8392: LD_INT 2
8394: PUSH
8395: EMPTY
8396: LIST
8397: LIST
8398: PUSH
8399: EMPTY
8400: LIST
8401: LIST
8402: PPUSH
8403: CALL_OW 70
8407: ST_TO_ADDR
// if pom = 0 and Ru_pomoc > 0 then
8408: LD_VAR 0 1
8412: PUSH
8413: LD_INT 0
8415: EQUAL
8416: PUSH
8417: LD_EXP 33
8421: PUSH
8422: LD_INT 0
8424: GREATER
8425: AND
8426: IFFALSE 8442
// cekani_na_dodavku_ru = cekani_na_dodavku_ru + 1 ;
8428: LD_ADDR_EXP 38
8432: PUSH
8433: LD_EXP 38
8437: PUSH
8438: LD_INT 1
8440: PLUS
8441: ST_TO_ADDR
// for i in pom do
8442: LD_ADDR_VAR 0 3
8446: PUSH
8447: LD_VAR 0 1
8451: PUSH
8452: FOR_IN
8453: IFFALSE 8580
// if IsDrivenBy ( i ) = 0 then
8455: LD_VAR 0 3
8459: PPUSH
8460: CALL_OW 311
8464: PUSH
8465: LD_INT 0
8467: EQUAL
8468: IFFALSE 8578
// begin while UnitsInside ( Ru_fac ) = 0 do
8470: LD_INT 49
8472: PPUSH
8473: CALL_OW 313
8477: PUSH
8478: LD_INT 0
8480: EQUAL
8481: IFFALSE 8492
// wait ( 0 0$5 ) ;
8483: LD_INT 175
8485: PPUSH
8486: CALL_OW 67
8490: GO 8470
// pom1 = UnitsInside ( Ru_fac ) ;
8492: LD_ADDR_VAR 0 2
8496: PUSH
8497: LD_INT 49
8499: PPUSH
8500: CALL_OW 313
8504: ST_TO_ADDR
// ComExitBuilding ( pom1 [ 1 ] ) ;
8505: LD_VAR 0 2
8509: PUSH
8510: LD_INT 1
8512: ARRAY
8513: PPUSH
8514: CALL_OW 122
// AddComEnterUnit ( pom1 [ 1 ] , i ) ;
8518: LD_VAR 0 2
8522: PUSH
8523: LD_INT 1
8525: ARRAY
8526: PPUSH
8527: LD_VAR 0 3
8531: PPUSH
8532: CALL_OW 180
// AddComMoveXY ( pom1 [ 1 ] , 15 , 10 ) ;
8536: LD_VAR 0 2
8540: PUSH
8541: LD_INT 1
8543: ARRAY
8544: PPUSH
8545: LD_INT 15
8547: PPUSH
8548: LD_INT 10
8550: PPUSH
8551: CALL_OW 171
// cekani_na_dodavku_ru = 0 ;
8555: LD_ADDR_EXP 38
8559: PUSH
8560: LD_INT 0
8562: ST_TO_ADDR
// zmen_stav ( Rusi , 20 , true ) ;
8563: LD_EXP 3
8567: PPUSH
8568: LD_INT 20
8570: PPUSH
8571: LD_INT 1
8573: PPUSH
8574: CALL 198 0 3
// end ;
8578: GO 8452
8580: POP
8581: POP
// enable ;
8582: ENABLE
// end ;
8583: PPOPN 3
8585: END
// every 0 0$45 do var pom ;
8586: GO 8588
8588: DISABLE
8589: LD_INT 0
8591: PPUSH
// begin while Ru_locked do
8592: LD_LOC 6
8596: IFFALSE 8607
// wait ( 0 0$1 ) ;
8598: LD_INT 35
8600: PPUSH
8601: CALL_OW 67
8605: GO 8592
// Ru_locked = true ;
8607: LD_ADDR_LOC 6
8611: PUSH
8612: LD_INT 1
8614: ST_TO_ADDR
// pom = GetResourceArea ( Dary_Ru , mat_cans ) ;
8615: LD_ADDR_VAR 0 1
8619: PUSH
8620: LD_INT 16
8622: PPUSH
8623: LD_INT 1
8625: PPUSH
8626: CALL_OW 287
8630: ST_TO_ADDR
// if pom > 0 then
8631: LD_VAR 0 1
8635: PUSH
8636: LD_INT 0
8638: GREATER
8639: IFFALSE 8742
// begin ComExitBuilding ( Ru_sber ) ;
8641: LD_EXP 34
8645: PPUSH
8646: CALL_OW 122
// AddComEnterUnit ( Ru_sber , Ru_asb ) ;
8650: LD_EXP 34
8654: PPUSH
8655: LD_INT 143
8657: PPUSH
8658: CALL_OW 180
// AddComCollect ( Ru_sber , 48 , 48 ) ;
8662: LD_EXP 34
8666: PPUSH
8667: LD_INT 48
8669: PPUSH
8670: LD_INT 48
8672: PPUSH
8673: CALL_OW 177
// AddComMoveXY ( Ru_sber , 14 , 14 ) ;
8677: LD_EXP 34
8681: PPUSH
8682: LD_INT 14
8684: PPUSH
8685: LD_INT 14
8687: PPUSH
8688: CALL_OW 171
// AddComWait ( Ru_sber , 0 0$5 ) ;
8692: LD_EXP 34
8696: PPUSH
8697: LD_INT 175
8699: PPUSH
8700: CALL_OW 202
// AddComMoveXY ( Ru_sber , 10 , 8 ) ;
8704: LD_EXP 34
8708: PPUSH
8709: LD_INT 10
8711: PPUSH
8712: LD_INT 8
8714: PPUSH
8715: CALL_OW 171
// AddComExitVehicle ( Ru_sber ) ;
8719: LD_EXP 34
8723: PPUSH
8724: CALL_OW 181
// AddComEnterUnit ( Ru_sber , Ru_dep ) ;
8728: LD_EXP 34
8732: PPUSH
8733: LD_INT 45
8735: PPUSH
8736: CALL_OW 180
// end else
8740: GO 8766
// if Ru_pomoc > 0 then
8742: LD_EXP 33
8746: PUSH
8747: LD_INT 0
8749: GREATER
8750: IFFALSE 8766
// cekani_na_dodavku_ru = cekani_na_dodavku_ru + 1 ;
8752: LD_ADDR_EXP 38
8756: PUSH
8757: LD_EXP 38
8761: PUSH
8762: LD_INT 1
8764: PLUS
8765: ST_TO_ADDR
// Ru_locked = false ;
8766: LD_ADDR_LOC 6
8770: PUSH
8771: LD_INT 0
8773: ST_TO_ADDR
// end ;
8774: PPOPN 1
8776: END
// every 0 0$10 trigger not IsOK ( Ru_sber ) do
8777: LD_EXP 34
8781: PPUSH
8782: CALL_OW 302
8786: NOT
8787: IFFALSE 8796
8789: GO 8791
8791: DISABLE
// begin create_sberac_ru ;
8792: CALL 2938 0 0
// end ;
8796: END
// every 0 0$5 trigger UTOKY = 0 do var pom , pom1 ; var veze ; var i ;
8797: LD_EXP 4
8801: PUSH
8802: LD_INT 0
8804: EQUAL
8805: IFFALSE 9140
8807: GO 8809
8809: DISABLE
8810: LD_INT 0
8812: PPUSH
8813: PPUSH
8814: PPUSH
8815: PPUSH
// begin pom = [ ] ;
8816: LD_ADDR_VAR 0 1
8820: PUSH
8821: EMPTY
8822: ST_TO_ADDR
// pom1 = [ ] ;
8823: LD_ADDR_VAR 0 2
8827: PUSH
8828: EMPTY
8829: ST_TO_ADDR
// veze = FilterAllUnits ( [ [ f_side , Rusi ] , [ f_btype , b_bunker ] ] ) ;
8830: LD_ADDR_VAR 0 3
8834: PUSH
8835: LD_INT 22
8837: PUSH
8838: LD_EXP 3
8842: PUSH
8843: EMPTY
8844: LIST
8845: LIST
8846: PUSH
8847: LD_INT 30
8849: PUSH
8850: LD_INT 32
8852: PUSH
8853: EMPTY
8854: LIST
8855: LIST
8856: PUSH
8857: EMPTY
8858: LIST
8859: LIST
8860: PPUSH
8861: CALL_OW 69
8865: ST_TO_ADDR
// for i in veze do
8866: LD_ADDR_VAR 0 4
8870: PUSH
8871: LD_VAR 0 3
8875: PUSH
8876: FOR_IN
8877: IFFALSE 8912
// if GetLives ( i ) <> 1000 then
8879: LD_VAR 0 4
8883: PPUSH
8884: CALL_OW 256
8888: PUSH
8889: LD_INT 1000
8891: NONEQUAL
8892: IFFALSE 8910
// pom = pom ^ i ;
8894: LD_ADDR_VAR 0 1
8898: PUSH
8899: LD_VAR 0 1
8903: PUSH
8904: LD_VAR 0 4
8908: ADD
8909: ST_TO_ADDR
8910: GO 8876
8912: POP
8913: POP
// for i in Ru_opr do
8914: LD_ADDR_VAR 0 4
8918: PUSH
8919: LD_EXP 35
8923: PUSH
8924: FOR_IN
8925: IFFALSE 8956
// if IsOK ( i ) then
8927: LD_VAR 0 4
8931: PPUSH
8932: CALL_OW 302
8936: IFFALSE 8954
// pom1 = pom1 ^ i ;
8938: LD_ADDR_VAR 0 2
8942: PUSH
8943: LD_VAR 0 2
8947: PUSH
8948: LD_VAR 0 4
8952: ADD
8953: ST_TO_ADDR
8954: GO 8924
8956: POP
8957: POP
// if pom1 > 0 and pom > 0 then
8958: LD_VAR 0 2
8962: PUSH
8963: LD_INT 0
8965: GREATER
8966: PUSH
8967: LD_VAR 0 1
8971: PUSH
8972: LD_INT 0
8974: GREATER
8975: AND
8976: IFFALSE 9110
// begin if pom <= pom1 then
8978: LD_VAR 0 1
8982: PUSH
8983: LD_VAR 0 2
8987: LESSEQUAL
8988: IFFALSE 9050
// for i in pom do
8990: LD_ADDR_VAR 0 4
8994: PUSH
8995: LD_VAR 0 1
8999: PUSH
9000: FOR_IN
9001: IFFALSE 9046
// begin AddComExitBuilding ( pom1 [ i ] ) ;
9003: LD_VAR 0 2
9007: PUSH
9008: LD_VAR 0 4
9012: ARRAY
9013: PPUSH
9014: CALL_OW 182
// AddComRepairBuilding ( pom1 [ i ] , pom [ i ] ) ;
9018: LD_VAR 0 2
9022: PUSH
9023: LD_VAR 0 4
9027: ARRAY
9028: PPUSH
9029: LD_VAR 0 1
9033: PUSH
9034: LD_VAR 0 4
9038: ARRAY
9039: PPUSH
9040: CALL_OW 190
// end else
9044: GO 9000
9046: POP
9047: POP
9048: GO 9108
// for i in pom1 do
9050: LD_ADDR_VAR 0 4
9054: PUSH
9055: LD_VAR 0 2
9059: PUSH
9060: FOR_IN
9061: IFFALSE 9106
// begin AddComExitBuilding ( pom1 [ i ] ) ;
9063: LD_VAR 0 2
9067: PUSH
9068: LD_VAR 0 4
9072: ARRAY
9073: PPUSH
9074: CALL_OW 182
// AddComRepairBuilding ( pom1 [ i ] , pom [ i ] ) ;
9078: LD_VAR 0 2
9082: PUSH
9083: LD_VAR 0 4
9087: ARRAY
9088: PPUSH
9089: LD_VAR 0 1
9093: PUSH
9094: LD_VAR 0 4
9098: ARRAY
9099: PPUSH
9100: CALL_OW 190
// end ;
9104: GO 9060
9106: POP
9107: POP
// end else
9108: GO 9139
// for i in pom1 do
9110: LD_ADDR_VAR 0 4
9114: PUSH
9115: LD_VAR 0 2
9119: PUSH
9120: FOR_IN
9121: IFFALSE 9137
// ComEnterUnit ( i , Ru_dep ) ;
9123: LD_VAR 0 4
9127: PPUSH
9128: LD_INT 45
9130: PPUSH
9131: CALL_OW 120
9135: GO 9120
9137: POP
9138: POP
// enable ;
9139: ENABLE
// end ;
9140: PPOPN 4
9142: END
// function vyroba_ru_vozitek ( pocet ) ; var i ; begin
9143: LD_INT 0
9145: PPUSH
9146: PPUSH
// for i := 1 to pocet do
9147: LD_ADDR_VAR 0 3
9151: PUSH
9152: DOUBLE
9153: LD_INT 1
9155: DEC
9156: ST_TO_ADDR
9157: LD_VAR 0 1
9161: PUSH
9162: FOR_TO
9163: IFFALSE 9190
// AddComConstruct ( Ru_fac , get_chassis , engine_combustion , control_manual , get_weapon ) ;
9165: LD_INT 49
9167: PPUSH
9168: CALL 9197 0 0
9172: PPUSH
9173: LD_INT 1
9175: PPUSH
9176: LD_INT 1
9178: PPUSH
9179: CALL 9277 0 0
9183: PPUSH
9184: CALL_OW 185
9188: GO 9162
9190: POP
9191: POP
// end ;
9192: LD_VAR 0 2
9196: RET
// function get_chassis ; var pom ; var a ; begin
9197: LD_INT 0
9199: PPUSH
9200: PPUSH
9201: PPUSH
// pom = Rand ( 1 , 2 ) ;
9202: LD_ADDR_VAR 0 2
9206: PUSH
9207: LD_INT 1
9209: PPUSH
9210: LD_INT 2
9212: PPUSH
9213: CALL_OW 12
9217: ST_TO_ADDR
// case pom of 1 :
9218: LD_VAR 0 2
9222: PUSH
9223: LD_INT 1
9225: DOUBLE
9226: EQUAL
9227: IFTRUE 9231
9229: GO 9242
9231: POP
// a = ru_medium_wheeled ; 2 :
9232: LD_ADDR_VAR 0 3
9236: PUSH
9237: LD_INT 21
9239: ST_TO_ADDR
9240: GO 9262
9242: LD_INT 2
9244: DOUBLE
9245: EQUAL
9246: IFTRUE 9250
9248: GO 9261
9250: POP
// a = ru_medium_tracked ; end ;
9251: LD_ADDR_VAR 0 3
9255: PUSH
9256: LD_INT 22
9258: ST_TO_ADDR
9259: GO 9262
9261: POP
// result = a ;
9262: LD_ADDR_VAR 0 1
9266: PUSH
9267: LD_VAR 0 3
9271: ST_TO_ADDR
// end ;
9272: LD_VAR 0 1
9276: RET
// function get_weapon ; var pom ; var a ; begin
9277: LD_INT 0
9279: PPUSH
9280: PPUSH
9281: PPUSH
// pom = Rand ( 1 , 2 ) ;
9282: LD_ADDR_VAR 0 2
9286: PUSH
9287: LD_INT 1
9289: PPUSH
9290: LD_INT 2
9292: PPUSH
9293: CALL_OW 12
9297: ST_TO_ADDR
// case pom of 1 :
9298: LD_VAR 0 2
9302: PUSH
9303: LD_INT 1
9305: DOUBLE
9306: EQUAL
9307: IFTRUE 9311
9309: GO 9322
9311: POP
// a = ru_heavy_machine_gun ; 2 :
9312: LD_ADDR_VAR 0 3
9316: PUSH
9317: LD_INT 42
9319: ST_TO_ADDR
9320: GO 9342
9322: LD_INT 2
9324: DOUBLE
9325: EQUAL
9326: IFTRUE 9330
9328: GO 9341
9330: POP
// a = us_gatling_gun ; end ;
9331: LD_ADDR_VAR 0 3
9335: PUSH
9336: LD_INT 4
9338: ST_TO_ADDR
9339: GO 9342
9341: POP
// result = a ;
9342: LD_ADDR_VAR 0 1
9346: PUSH
9347: LD_VAR 0 3
9351: ST_TO_ADDR
// end ;
9352: LD_VAR 0 1
9356: RET
// every 0 0$1 trigger utok_ru and Attack_No = 4 do
9357: LD_EXP 27
9361: PUSH
9362: LD_EXP 41
9366: PUSH
9367: LD_INT 4
9369: EQUAL
9370: AND
9371: IFFALSE 9469
9373: GO 9375
9375: DISABLE
// begin Ru_utok = FilterUnitsInArea ( Ru_base , [ [ f_side , Rusi ] , [ f_type , unit_vehicle ] ] ) ;
9376: LD_ADDR_EXP 32
9380: PUSH
9381: LD_INT 3
9383: PPUSH
9384: LD_INT 22
9386: PUSH
9387: LD_EXP 3
9391: PUSH
9392: EMPTY
9393: LIST
9394: LIST
9395: PUSH
9396: LD_INT 21
9398: PUSH
9399: LD_INT 2
9401: PUSH
9402: EMPTY
9403: LIST
9404: LIST
9405: PUSH
9406: EMPTY
9407: LIST
9408: LIST
9409: PPUSH
9410: CALL_OW 70
9414: ST_TO_ADDR
// Ru_utok = Ru_utok diff [ Ru_asb ] ;
9415: LD_ADDR_EXP 32
9419: PUSH
9420: LD_EXP 32
9424: PUSH
9425: LD_INT 143
9427: PUSH
9428: EMPTY
9429: LIST
9430: DIFF
9431: ST_TO_ADDR
// ComAgressiveMove ( Ru_utok , 28 , 35 ) ;
9432: LD_EXP 32
9436: PPUSH
9437: LD_INT 28
9439: PPUSH
9440: LD_INT 35
9442: PPUSH
9443: CALL_OW 114
// UTOKY = 2 ;
9447: LD_ADDR_EXP 4
9451: PUSH
9452: LD_INT 2
9454: ST_TO_ADDR
// wait ( 0 0$15 ) ;
9455: LD_INT 525
9457: PPUSH
9458: CALL_OW 67
// vyroba_ru_vozitek ( 3 ) ;
9462: LD_INT 3
9464: PPUSH
9465: CALL 9143 0 1
// end ; end_of_file
9469: END
// export MUZE_D ; var dialog_frank ; var prvni_code ; every 0 0$0.1 do var i ;
9470: GO 9472
9472: DISABLE
9473: LD_INT 0
9475: PPUSH
// begin dialog_frank = false ;
9476: LD_ADDR_LOC 7
9480: PUSH
9481: LD_INT 0
9483: ST_TO_ADDR
// prvni_code = false ;
9484: LD_ADDR_LOC 8
9488: PUSH
9489: LD_INT 0
9491: ST_TO_ADDR
// for i := 1 to 2 do
9492: LD_ADDR_VAR 0 1
9496: PUSH
9497: DOUBLE
9498: LD_INT 1
9500: DEC
9501: ST_TO_ADDR
9502: LD_INT 2
9504: PUSH
9505: FOR_TO
9506: IFFALSE 9513
// disable ( 1 ) ;
9508: LD_INT 1
9510: DISABLE_MARKED
9511: GO 9505
9513: POP
9514: POP
// end ;
9515: PPOPN 1
9517: END
// every 0 0$15 do var pom , pom1 ; var zmena ;
9518: GO 9520
9520: DISABLE
9521: LD_INT 0
9523: PPUSH
9524: PPUSH
9525: PPUSH
// begin zmena = [ 0 , 0 ] ;
9526: LD_ADDR_VAR 0 3
9530: PUSH
9531: LD_INT 0
9533: PUSH
9534: LD_INT 0
9536: PUSH
9537: EMPTY
9538: LIST
9539: LIST
9540: ST_TO_ADDR
// DialogueOn ;
9541: CALL_OW 6
// Say ( Sik , DA1-Sik-1 ) ;
9545: LD_INT 89
9547: PPUSH
9548: LD_STRING DA1-Sik-1
9550: PPUSH
9551: CALL_OW 88
// pom = Query ( QA1 ) ;
9555: LD_ADDR_VAR 0 1
9559: PUSH
9560: LD_STRING QA1
9562: PPUSH
9563: CALL_OW 97
9567: ST_TO_ADDR
// if pom = 1 then
9568: LD_VAR 0 1
9572: PUSH
9573: LD_INT 1
9575: EQUAL
9576: IFFALSE 9746
// begin zmena = vloz_na_pozici ( - 1 , 1 , zmena ) ;
9578: LD_ADDR_VAR 0 3
9582: PUSH
9583: LD_INT 1
9585: NEG
9586: PPUSH
9587: LD_INT 1
9589: PPUSH
9590: LD_VAR 0 3
9594: PPUSH
9595: CALL 97 0 3
9599: ST_TO_ADDR
// DialogueOff ;
9600: CALL_OW 7
// wait ( 0 0$10 ) ;
9604: LD_INT 350
9606: PPUSH
9607: CALL_OW 67
// DialogueOn ;
9611: CALL_OW 6
// Say ( Sik , DA1a-Sik-1 ) ;
9615: LD_INT 89
9617: PPUSH
9618: LD_STRING DA1a-Sik-1
9620: PPUSH
9621: CALL_OW 88
// pom = Query ( QA1 ) ;
9625: LD_ADDR_VAR 0 1
9629: PUSH
9630: LD_STRING QA1
9632: PPUSH
9633: CALL_OW 97
9637: ST_TO_ADDR
// if pom = 1 then
9638: LD_VAR 0 1
9642: PUSH
9643: LD_INT 1
9645: EQUAL
9646: IFFALSE 9746
// begin Say ( Sik , DA1aa-Sik-1 ) ;
9648: LD_INT 89
9650: PPUSH
9651: LD_STRING DA1aa-Sik-1
9653: PPUSH
9654: CALL_OW 88
// zmena = vloz_na_pozici ( - 25 , 1 , zmena ) ;
9658: LD_ADDR_VAR 0 3
9662: PUSH
9663: LD_INT 25
9665: NEG
9666: PPUSH
9667: LD_INT 1
9669: PPUSH
9670: LD_VAR 0 3
9674: PPUSH
9675: CALL 97 0 3
9679: ST_TO_ADDR
// DialogueOff ;
9680: CALL_OW 7
// wait ( 0 0$10 ) ;
9684: LD_INT 350
9686: PPUSH
9687: CALL_OW 67
// DialogueOn ;
9691: CALL_OW 6
// Say ( Gav , DA1aa-Gav-1 ) ;
9695: LD_INT 90
9697: PPUSH
9698: LD_STRING DA1aa-Gav-1
9700: PPUSH
9701: CALL_OW 88
// pom1 = Query ( QR1 ) ;
9705: LD_ADDR_VAR 0 2
9709: PUSH
9710: LD_STRING QR1
9712: PPUSH
9713: CALL_OW 97
9717: ST_TO_ADDR
// if pom1 = 1 then
9718: LD_VAR 0 2
9722: PUSH
9723: LD_INT 1
9725: EQUAL
9726: IFFALSE 9738
// pom = 8 else
9728: LD_ADDR_VAR 0 1
9732: PUSH
9733: LD_INT 8
9735: ST_TO_ADDR
9736: GO 9746
// pom = 9 ;
9738: LD_ADDR_VAR 0 1
9742: PUSH
9743: LD_INT 9
9745: ST_TO_ADDR
// end ; end ; case pom of 2 :
9746: LD_VAR 0 1
9750: PUSH
9751: LD_INT 2
9753: DOUBLE
9754: EQUAL
9755: IFTRUE 9759
9757: GO 9804
9759: POP
// begin Say ( Heike , DA1b-H-1 ) ;
9760: LD_INT 35
9762: PPUSH
9763: LD_STRING DA1b-H-1
9765: PPUSH
9766: CALL_OW 88
// Say ( Sik , DA1b-Sik-1 ) ;
9770: LD_INT 89
9772: PPUSH
9773: LD_STRING DA1b-Sik-1
9775: PPUSH
9776: CALL_OW 88
// zmena = vloz_na_pozici ( - 2 , 1 , zmena ) ;
9780: LD_ADDR_VAR 0 3
9784: PUSH
9785: LD_INT 2
9787: NEG
9788: PPUSH
9789: LD_INT 1
9791: PPUSH
9792: LD_VAR 0 3
9796: PPUSH
9797: CALL 97 0 3
9801: ST_TO_ADDR
// end ; 3 :
9802: GO 9962
9804: LD_INT 3
9806: DOUBLE
9807: EQUAL
9808: IFTRUE 9812
9810: GO 9835
9812: POP
// begin Say ( Heike , DA1c-H-1 ) ;
9813: LD_INT 35
9815: PPUSH
9816: LD_STRING DA1c-H-1
9818: PPUSH
9819: CALL_OW 88
// Say ( Sik , DA1c-Sik-1 ) ;
9823: LD_INT 89
9825: PPUSH
9826: LD_STRING DA1c-Sik-1
9828: PPUSH
9829: CALL_OW 88
// end ; 4 :
9833: GO 9962
9835: LD_INT 4
9837: DOUBLE
9838: EQUAL
9839: IFTRUE 9843
9841: GO 9887
9843: POP
// begin Say ( Heike , DA1d-H-1 ) ;
9844: LD_INT 35
9846: PPUSH
9847: LD_STRING DA1d-H-1
9849: PPUSH
9850: CALL_OW 88
// Say ( Sik , DA1d-Sik-1 ) ;
9854: LD_INT 89
9856: PPUSH
9857: LD_STRING DA1d-Sik-1
9859: PPUSH
9860: CALL_OW 88
// zmena = vloz_na_pozici ( 1 , 1 , zmena ) ;
9864: LD_ADDR_VAR 0 3
9868: PUSH
9869: LD_INT 1
9871: PPUSH
9872: LD_INT 1
9874: PPUSH
9875: LD_VAR 0 3
9879: PPUSH
9880: CALL 97 0 3
9884: ST_TO_ADDR
// end ; 8 :
9885: GO 9962
9887: LD_INT 8
9889: DOUBLE
9890: EQUAL
9891: IFTRUE 9895
9893: GO 9930
9895: POP
// begin Say ( Gav , DR1a-Gav-1 ) ;
9896: LD_INT 90
9898: PPUSH
9899: LD_STRING DR1a-Gav-1
9901: PPUSH
9902: CALL_OW 88
// zmena = vloz_na_pozici ( - 20 , 2 , zmena ) ;
9906: LD_ADDR_VAR 0 3
9910: PUSH
9911: LD_INT 20
9913: NEG
9914: PPUSH
9915: LD_INT 2
9917: PPUSH
9918: LD_VAR 0 3
9922: PPUSH
9923: CALL 97 0 3
9927: ST_TO_ADDR
// end ; 9 :
9928: GO 9962
9930: LD_INT 9
9932: DOUBLE
9933: EQUAL
9934: IFTRUE 9938
9936: GO 9961
9938: POP
// begin Say ( Heike , DR1b-H-1 ) ;
9939: LD_INT 35
9941: PPUSH
9942: LD_STRING DR1b-H-1
9944: PPUSH
9945: CALL_OW 88
// Say ( Gav , DR1b-Gav-1 ) ;
9949: LD_INT 90
9951: PPUSH
9952: LD_STRING DR1b-Gav-1
9954: PPUSH
9955: CALL_OW 88
// end ; end ;
9959: GO 9962
9961: POP
// DialogueOff ;
9962: CALL_OW 7
// zmen_stav ( Amici , zmena [ 1 ] , false ) ;
9966: LD_EXP 2
9970: PPUSH
9971: LD_VAR 0 3
9975: PUSH
9976: LD_INT 1
9978: ARRAY
9979: PPUSH
9980: LD_INT 0
9982: PPUSH
9983: CALL 198 0 3
// zmen_stav ( Rusi , zmena [ 2 ] , false ) ;
9987: LD_EXP 3
9991: PPUSH
9992: LD_VAR 0 3
9996: PUSH
9997: LD_INT 2
9999: ARRAY
10000: PPUSH
10001: LD_INT 0
10003: PPUSH
10004: CALL 198 0 3
// if pom <> 8 then
10008: LD_VAR 0 1
10012: PUSH
10013: LD_INT 8
10015: NONEQUAL
10016: IFFALSE 10029
// dialog2 ( pom ) else
10018: LD_VAR 0 1
10022: PPUSH
10023: CALL 10039 0 1
10027: GO 10036
// dialog_rusi ( 10 ) ;
10029: LD_INT 10
10031: PPUSH
10032: CALL 10892 0 1
// end ;
10036: PPOPN 3
10038: END
// function dialog2 ( i ) ; var pom ; begin
10039: LD_INT 0
10041: PPUSH
10042: PPUSH
// DialogueOn ;
10043: CALL_OW 6
// pom = Query ( QA2 ) ;
10047: LD_ADDR_VAR 0 3
10051: PUSH
10052: LD_STRING QA2
10054: PPUSH
10055: CALL_OW 97
10059: ST_TO_ADDR
// case pom of 1 :
10060: LD_VAR 0 3
10064: PUSH
10065: LD_INT 1
10067: DOUBLE
10068: EQUAL
10069: IFTRUE 10073
10071: GO 10152
10073: POP
// begin Say ( Heike , DA2a-H-1 ) ;
10074: LD_INT 35
10076: PPUSH
10077: LD_STRING DA2a-H-1
10079: PPUSH
10080: CALL_OW 88
// Say ( Sik , DA2a-Sik-1 ) ;
10084: LD_INT 89
10086: PPUSH
10087: LD_STRING DA2a-Sik-1
10089: PPUSH
10090: CALL_OW 88
// wait ( 0 0$4 ) ;
10094: LD_INT 140
10096: PPUSH
10097: CALL_OW 67
// Say ( Gav , DA2a-Gav-1 ) ;
10101: LD_INT 90
10103: PPUSH
10104: LD_STRING DA2a-Gav-1
10106: PPUSH
10107: CALL_OW 88
// Query ( QInfo ) ;
10111: LD_STRING QInfo
10113: PPUSH
10114: CALL_OW 97
// zmen_stav ( Rusi , - 40 , true ) ;
10118: LD_EXP 3
10122: PPUSH
10123: LD_INT 40
10125: NEG
10126: PPUSH
10127: LD_INT 1
10129: PPUSH
10130: CALL 198 0 3
// zmen_stav ( Amici , - 40 , true ) ;
10134: LD_EXP 2
10138: PPUSH
10139: LD_INT 40
10141: NEG
10142: PPUSH
10143: LD_INT 1
10145: PPUSH
10146: CALL 198 0 3
// end ; 2 :
10150: GO 10588
10152: LD_INT 2
10154: DOUBLE
10155: EQUAL
10156: IFTRUE 10160
10158: GO 10238
10160: POP
// begin Say ( Heike , DA2b-H-1 ) ;
10161: LD_INT 35
10163: PPUSH
10164: LD_STRING DA2b-H-1
10166: PPUSH
10167: CALL_OW 88
// Say ( Sik , DA2b-Sik-1 ) ;
10171: LD_INT 89
10173: PPUSH
10174: LD_STRING DA2b-Sik-1
10176: PPUSH
10177: CALL_OW 88
// wait ( 0 0$4 ) ;
10181: LD_INT 140
10183: PPUSH
10184: CALL_OW 67
// Say ( Gav , DA2b-Gav-1 ) ;
10188: LD_INT 90
10190: PPUSH
10191: LD_STRING DA2b-Gav-1
10193: PPUSH
10194: CALL_OW 88
// Query ( QInfo ) ;
10198: LD_STRING QInfo
10200: PPUSH
10201: CALL_OW 97
// zmen_stav ( Rusi , 10 , true ) ;
10205: LD_EXP 3
10209: PPUSH
10210: LD_INT 10
10212: PPUSH
10213: LD_INT 1
10215: PPUSH
10216: CALL 198 0 3
// zmen_stav ( Amici , - 40 , true ) ;
10220: LD_EXP 2
10224: PPUSH
10225: LD_INT 40
10227: NEG
10228: PPUSH
10229: LD_INT 1
10231: PPUSH
10232: CALL 198 0 3
// end ; 3 :
10236: GO 10588
10238: LD_INT 3
10240: DOUBLE
10241: EQUAL
10242: IFTRUE 10246
10244: GO 10324
10246: POP
// begin Say ( Heike , DA2c-H-1 ) ;
10247: LD_INT 35
10249: PPUSH
10250: LD_STRING DA2c-H-1
10252: PPUSH
10253: CALL_OW 88
// Say ( Sik , DA2c-Sik-1 ) ;
10257: LD_INT 89
10259: PPUSH
10260: LD_STRING DA2c-Sik-1
10262: PPUSH
10263: CALL_OW 88
// wait ( 0 0$4 ) ;
10267: LD_INT 140
10269: PPUSH
10270: CALL_OW 67
// Say ( Gav , DA2c-Gav-1 ) ;
10274: LD_INT 90
10276: PPUSH
10277: LD_STRING DA2c-Gav-1
10279: PPUSH
10280: CALL_OW 88
// Query ( QInfo ) ;
10284: LD_STRING QInfo
10286: PPUSH
10287: CALL_OW 97
// zmen_stav ( Rusi , - 1 , true ) ;
10291: LD_EXP 3
10295: PPUSH
10296: LD_INT 1
10298: NEG
10299: PPUSH
10300: LD_INT 1
10302: PPUSH
10303: CALL 198 0 3
// zmen_stav ( Amici , 2 , true ) ;
10307: LD_EXP 2
10311: PPUSH
10312: LD_INT 2
10314: PPUSH
10315: LD_INT 1
10317: PPUSH
10318: CALL 198 0 3
// end ; 4 :
10322: GO 10588
10324: LD_INT 4
10326: DOUBLE
10327: EQUAL
10328: IFTRUE 10332
10330: GO 10407
10332: POP
// begin Say ( Heike , DA2d-H-1 ) ;
10333: LD_INT 35
10335: PPUSH
10336: LD_STRING DA2d-H-1
10338: PPUSH
10339: CALL_OW 88
// pomoc_amikum ( 2 ) ;
10343: LD_INT 2
10345: PPUSH
10346: CALL 13773 0 1
// wait ( 0 0$4 ) ;
10350: LD_INT 140
10352: PPUSH
10353: CALL_OW 67
// Say ( Gav , DA2-Gav-1 ) ;
10357: LD_INT 90
10359: PPUSH
10360: LD_STRING DA2-Gav-1
10362: PPUSH
10363: CALL_OW 88
// Query ( QInfo ) ;
10367: LD_STRING QInfo
10369: PPUSH
10370: CALL_OW 97
// zmen_stav ( Amici , 2 , true ) ;
10374: LD_EXP 2
10378: PPUSH
10379: LD_INT 2
10381: PPUSH
10382: LD_INT 1
10384: PPUSH
10385: CALL 198 0 3
// zmen_stav ( Rusi , - 30 , true ) ;
10389: LD_EXP 3
10393: PPUSH
10394: LD_INT 30
10396: NEG
10397: PPUSH
10398: LD_INT 1
10400: PPUSH
10401: CALL 198 0 3
// end ; 5 :
10405: GO 10588
10407: LD_INT 5
10409: DOUBLE
10410: EQUAL
10411: IFTRUE 10415
10413: GO 10493
10415: POP
// begin Say ( Heike , DA2e-H-1 ) ;
10416: LD_INT 35
10418: PPUSH
10419: LD_STRING DA2e-H-1
10421: PPUSH
10422: CALL_OW 88
// Say ( Sik , DA2e-Sik-1 ) ;
10426: LD_INT 89
10428: PPUSH
10429: LD_STRING DA2e-Sik-1
10431: PPUSH
10432: CALL_OW 88
// wait ( 0 0$6 ) ;
10436: LD_INT 210
10438: PPUSH
10439: CALL_OW 67
// Say ( Gav , DA2-Gav-1 ) ;
10443: LD_INT 90
10445: PPUSH
10446: LD_STRING DA2-Gav-1
10448: PPUSH
10449: CALL_OW 88
// Query ( QInfo ) ;
10453: LD_STRING QInfo
10455: PPUSH
10456: CALL_OW 97
// zmen_stav ( Amici , 10 , true ) ;
10460: LD_EXP 2
10464: PPUSH
10465: LD_INT 10
10467: PPUSH
10468: LD_INT 1
10470: PPUSH
10471: CALL 198 0 3
// zmen_stav ( Rusi , - 40 , true ) ;
10475: LD_EXP 3
10479: PPUSH
10480: LD_INT 40
10482: NEG
10483: PPUSH
10484: LD_INT 1
10486: PPUSH
10487: CALL 198 0 3
// end ; 6 :
10491: GO 10588
10493: LD_INT 6
10495: DOUBLE
10496: EQUAL
10497: IFTRUE 10501
10499: GO 10587
10501: POP
// begin Say ( Heike , DA2f-H-1 ) ;
10502: LD_INT 35
10504: PPUSH
10505: LD_STRING DA2f-H-1
10507: PPUSH
10508: CALL_OW 88
// Say ( Sik , DA2f-Sik-1 ) ;
10512: LD_INT 89
10514: PPUSH
10515: LD_STRING DA2f-Sik-1
10517: PPUSH
10518: CALL_OW 88
// wait ( 0 0$6 ) ;
10522: LD_INT 210
10524: PPUSH
10525: CALL_OW 67
// Say ( Gav , DA2-Gav-1 ) ;
10529: LD_INT 90
10531: PPUSH
10532: LD_STRING DA2-Gav-1
10534: PPUSH
10535: CALL_OW 88
// Query ( QInfo ) ;
10539: LD_STRING QInfo
10541: PPUSH
10542: CALL_OW 97
// zmen_stav ( Amici , 30 , true ) ;
10546: LD_EXP 2
10550: PPUSH
10551: LD_INT 30
10553: PPUSH
10554: LD_INT 1
10556: PPUSH
10557: CALL 198 0 3
// zmen_stav ( Rusi , - 40 , true ) ;
10561: LD_EXP 3
10565: PPUSH
10566: LD_INT 40
10568: NEG
10569: PPUSH
10570: LD_INT 1
10572: PPUSH
10573: CALL 198 0 3
// Am_ally = true ;
10577: LD_ADDR_EXP 18
10581: PUSH
10582: LD_INT 1
10584: ST_TO_ADDR
// end ; end ;
10585: GO 10588
10587: POP
// DialogueOff ;
10588: CALL_OW 7
// MUZE_D = true ;
10592: LD_ADDR_EXP 39
10596: PUSH
10597: LD_INT 1
10599: ST_TO_ADDR
// end ;
10600: LD_VAR 0 2
10604: RET
// every 0 0$1 trigger IsInUnit ( Heike ) = Ar_dep and MUZE_D do var pom ; var j ;
10605: LD_INT 35
10607: PPUSH
10608: CALL_OW 310
10612: PUSH
10613: LD_INT 21
10615: EQUAL
10616: PUSH
10617: LD_EXP 39
10621: AND
10622: IFFALSE 10889
10624: GO 10626
10626: DISABLE
10627: LD_INT 0
10629: PPUSH
10630: PPUSH
// begin if kodovana_frekvence then
10631: LD_EXP 20
10635: IFFALSE 10670
// pom = SelectiveQuery ( QMsg , [ 1 , 2 , 3 , 4 ] ) else
10637: LD_ADDR_VAR 0 1
10641: PUSH
10642: LD_STRING QMsg
10644: PPUSH
10645: LD_INT 1
10647: PUSH
10648: LD_INT 2
10650: PUSH
10651: LD_INT 3
10653: PUSH
10654: LD_INT 4
10656: PUSH
10657: EMPTY
10658: LIST
10659: LIST
10660: LIST
10661: LIST
10662: PPUSH
10663: CALL_OW 98
10667: ST_TO_ADDR
10668: GO 10697
// pom = SelectiveQuery ( QMsg , [ 1 , 2 , 3 ] ) ;
10670: LD_ADDR_VAR 0 1
10674: PUSH
10675: LD_STRING QMsg
10677: PPUSH
10678: LD_INT 1
10680: PUSH
10681: LD_INT 2
10683: PUSH
10684: LD_INT 3
10686: PUSH
10687: EMPTY
10688: LIST
10689: LIST
10690: LIST
10691: PPUSH
10692: CALL_OW 98
10696: ST_TO_ADDR
// if pom = 2 then
10697: LD_VAR 0 1
10701: PUSH
10702: LD_INT 2
10704: EQUAL
10705: IFFALSE 10788
// begin if GDEAD then
10707: LD_EXP 30
10711: IFFALSE 10763
// begin j = GetPeople ( sex_male , class_soldier , [ Gav ] ) ;
10713: LD_ADDR_VAR 0 2
10717: PUSH
10718: LD_INT 1
10720: PPUSH
10721: LD_INT 1
10723: PPUSH
10724: LD_INT 90
10726: PUSH
10727: EMPTY
10728: LIST
10729: PPUSH
10730: CALL 16628 0 3
10734: ST_TO_ADDR
// if j > 0 then
10735: LD_VAR 0 2
10739: PUSH
10740: LD_INT 0
10742: GREATER
10743: IFFALSE 10761
// Say ( j [ 1 ] , DRGav-Rus1-1 ) ;
10745: LD_VAR 0 2
10749: PUSH
10750: LD_INT 1
10752: ARRAY
10753: PPUSH
10754: LD_STRING DRGav-Rus1-1
10756: PPUSH
10757: CALL_OW 88
// end else
10761: GO 10788
// if Ru_war then
10763: LD_EXP 29
10767: IFFALSE 10781
// Say ( Gav , DRWar-Gav-1 ) else
10769: LD_INT 90
10771: PPUSH
10772: LD_STRING DRWar-Gav-1
10774: PPUSH
10775: CALL_OW 88
10779: GO 10788
// dialog_rusi ( 6 ) ;
10781: LD_INT 6
10783: PPUSH
10784: CALL 10892 0 1
// end ; if pom > 2 then
10788: LD_VAR 0 1
10792: PUSH
10793: LD_INT 2
10795: GREATER
10796: IFFALSE 10866
// if Am_war then
10798: LD_EXP 19
10802: IFFALSE 10843
// begin if SDEAD and IsOK ( Don ) then
10804: LD_EXP 21
10808: PUSH
10809: LD_INT 91
10811: PPUSH
10812: CALL_OW 302
10816: AND
10817: IFFALSE 10831
// Say ( Don , DAWar-Don-1 ) else
10819: LD_INT 91
10821: PPUSH
10822: LD_STRING DAWar-Don-1
10824: PPUSH
10825: CALL_OW 88
10829: GO 10841
// Say ( Sik , DAWar-Sik-1 ) end else
10831: LD_INT 89
10833: PPUSH
10834: LD_STRING DAWar-Sik-1
10836: PPUSH
10837: CALL_OW 88
10841: GO 10866
// if pom = 3 then
10843: LD_VAR 0 1
10847: PUSH
10848: LD_INT 3
10850: EQUAL
10851: IFFALSE 10862
// dialog_amici ( 1 ) else
10853: LD_INT 1
10855: PPUSH
10856: CALL 14050 0 1
10860: GO 10866
// dialog_amici_kod ;
10862: CALL 17980 0 0
// while IsInUnit ( Heike ) = Ar_dep do
10866: LD_INT 35
10868: PPUSH
10869: CALL_OW 310
10873: PUSH
10874: LD_INT 21
10876: EQUAL
10877: IFFALSE 10888
// wait ( 0 0$23 ) ;
10879: LD_INT 805
10881: PPUSH
10882: CALL_OW 67
10886: GO 10866
// enable ;
10888: ENABLE
// end ;
10889: PPOPN 2
10891: END
// function dialog_rusi ( no ) ; var VYB , pom ; var i , ij ; begin
10892: LD_INT 0
10894: PPUSH
10895: PPUSH
10896: PPUSH
10897: PPUSH
10898: PPUSH
// DialogueOn ;
10899: CALL_OW 6
// case no of 1 :
10903: LD_VAR 0 1
10907: PUSH
10908: LD_INT 1
10910: DOUBLE
10911: EQUAL
10912: IFTRUE 10916
10914: GO 10938
10916: POP
// VYB = [ 1 , 2 , 3 ] ; 10 :
10917: LD_ADDR_VAR 0 3
10921: PUSH
10922: LD_INT 1
10924: PUSH
10925: LD_INT 2
10927: PUSH
10928: LD_INT 3
10930: PUSH
10931: EMPTY
10932: LIST
10933: LIST
10934: LIST
10935: ST_TO_ADDR
10936: GO 10972
10938: LD_INT 10
10940: DOUBLE
10941: EQUAL
10942: IFTRUE 10946
10944: GO 10964
10946: POP
// VYB = [ 1 , 3 ] ; else
10947: LD_ADDR_VAR 0 3
10951: PUSH
10952: LD_INT 1
10954: PUSH
10955: LD_INT 3
10957: PUSH
10958: EMPTY
10959: LIST
10960: LIST
10961: ST_TO_ADDR
10962: GO 10972
10964: POP
// VYB = [ ] ; end ;
10965: LD_ADDR_VAR 0 3
10969: PUSH
10970: EMPTY
10971: ST_TO_ADDR
// if no = 2 then
10972: LD_VAR 0 1
10976: PUSH
10977: LD_INT 2
10979: EQUAL
10980: IFFALSE 10996
// VYB = VYB ^ 4 ;
10982: LD_ADDR_VAR 0 3
10986: PUSH
10987: LD_VAR 0 3
10991: PUSH
10992: LD_INT 4
10994: ADD
10995: ST_TO_ADDR
// if Am_ally then
10996: LD_EXP 18
11000: IFFALSE 11016
// VYB = VYB ^ 5 ;
11002: LD_ADDR_VAR 0 3
11006: PUSH
11007: LD_VAR 0 3
11011: PUSH
11012: LD_INT 5
11014: ADD
11015: ST_TO_ADDR
// if Am_pomoc = 1 then
11016: LD_EXP 22
11020: PUSH
11021: LD_INT 1
11023: EQUAL
11024: IFFALSE 11040
// VYB = VYB ^ 6 ;
11026: LD_ADDR_VAR 0 3
11030: PUSH
11031: LD_VAR 0 3
11035: PUSH
11036: LD_INT 6
11038: ADD
11039: ST_TO_ADDR
// if Am_pomoc = 2 then
11040: LD_EXP 22
11044: PUSH
11045: LD_INT 2
11047: EQUAL
11048: IFFALSE 11064
// VYB = VYB ^ 7 ;
11050: LD_ADDR_VAR 0 3
11054: PUSH
11055: LD_VAR 0 3
11059: PUSH
11060: LD_INT 7
11062: ADD
11063: ST_TO_ADDR
// if not Ru_ally then
11064: LD_EXP 28
11068: NOT
11069: IFFALSE 11087
// VYB = VYB ^ 8 else
11071: LD_ADDR_VAR 0 3
11075: PUSH
11076: LD_VAR 0 3
11080: PUSH
11081: LD_INT 8
11083: ADD
11084: ST_TO_ADDR
11085: GO 11101
// VYB = VYB ^ 9 ;
11087: LD_ADDR_VAR 0 3
11091: PUSH
11092: LD_VAR 0 3
11096: PUSH
11097: LD_INT 9
11099: ADD
11100: ST_TO_ADDR
// VYB = VYB ^ 10 ;
11101: LD_ADDR_VAR 0 3
11105: PUSH
11106: LD_VAR 0 3
11110: PUSH
11111: LD_INT 10
11113: ADD
11114: ST_TO_ADDR
// case VZTAHY [ 2 ] of 6 .. 35 :
11115: LD_EXP 11
11119: PUSH
11120: LD_INT 2
11122: ARRAY
11123: PUSH
11124: LD_INT 6
11126: DOUBLE
11127: GREATEREQUAL
11128: IFFALSE 11136
11130: LD_INT 35
11132: DOUBLE
11133: LESSEQUAL
11134: IFTRUE 11138
11136: GO 11155
11138: POP
// VYB = VYB ^ 11 ; 36 .. 65 :
11139: LD_ADDR_VAR 0 3
11143: PUSH
11144: LD_VAR 0 3
11148: PUSH
11149: LD_INT 11
11151: ADD
11152: ST_TO_ADDR
11153: GO 11218
11155: LD_INT 36
11157: DOUBLE
11158: GREATEREQUAL
11159: IFFALSE 11167
11161: LD_INT 65
11163: DOUBLE
11164: LESSEQUAL
11165: IFTRUE 11169
11167: GO 11186
11169: POP
// VYB = VYB ^ 12 ; 66 .. 95 :
11170: LD_ADDR_VAR 0 3
11174: PUSH
11175: LD_VAR 0 3
11179: PUSH
11180: LD_INT 12
11182: ADD
11183: ST_TO_ADDR
11184: GO 11218
11186: LD_INT 66
11188: DOUBLE
11189: GREATEREQUAL
11190: IFFALSE 11198
11192: LD_INT 95
11194: DOUBLE
11195: LESSEQUAL
11196: IFTRUE 11200
11198: GO 11217
11200: POP
// VYB = VYB ^ 13 ; end ;
11201: LD_ADDR_VAR 0 3
11205: PUSH
11206: LD_VAR 0 3
11210: PUSH
11211: LD_INT 13
11213: ADD
11214: ST_TO_ADDR
11215: GO 11218
11217: POP
// if Ru_ally then
11218: LD_EXP 28
11222: IFFALSE 11238
// VYB = VYB ^ 14 ;
11224: LD_ADDR_VAR 0 3
11228: PUSH
11229: LD_VAR 0 3
11233: PUSH
11234: LD_INT 14
11236: ADD
11237: ST_TO_ADDR
// if ( not Am_ally ) or ( RU_vi < 95 ) then
11238: LD_EXP 18
11242: NOT
11243: PUSH
11244: LD_EXP 31
11248: PUSH
11249: LD_INT 95
11251: LESS
11252: OR
11253: IFFALSE 11276
// VYB = VYB ^ [ 15 , 16 ] ;
11255: LD_ADDR_VAR 0 3
11259: PUSH
11260: LD_VAR 0 3
11264: PUSH
11265: LD_INT 15
11267: PUSH
11268: LD_INT 16
11270: PUSH
11271: EMPTY
11272: LIST
11273: LIST
11274: ADD
11275: ST_TO_ADDR
// VYB = VYB ^ 17 ;
11276: LD_ADDR_VAR 0 3
11280: PUSH
11281: LD_VAR 0 3
11285: PUSH
11286: LD_INT 17
11288: ADD
11289: ST_TO_ADDR
// if ( RU_vi > 95 ) or Am_ally then
11290: LD_EXP 31
11294: PUSH
11295: LD_INT 95
11297: GREATER
11298: PUSH
11299: LD_EXP 18
11303: OR
11304: IFFALSE 11320
// VYB = VYB ^ 18 ;
11306: LD_ADDR_VAR 0 3
11310: PUSH
11311: LD_VAR 0 3
11315: PUSH
11316: LD_INT 18
11318: ADD
11319: ST_TO_ADDR
// pom = SelectiveQuery ( QR , VYB ) ;
11320: LD_ADDR_VAR 0 4
11324: PUSH
11325: LD_STRING QR
11327: PPUSH
11328: LD_VAR 0 3
11332: PPUSH
11333: CALL_OW 98
11337: ST_TO_ADDR
// case pom of 1 :
11338: LD_VAR 0 4
11342: PUSH
11343: LD_INT 1
11345: DOUBLE
11346: EQUAL
11347: IFTRUE 11351
11349: GO 11370
11351: POP
// begin zmen_stav ( Rusi , - 8 , false ) ;
11352: LD_EXP 3
11356: PPUSH
11357: LD_INT 8
11359: NEG
11360: PPUSH
11361: LD_INT 0
11363: PPUSH
11364: CALL 198 0 3
// end ; 2 :
11368: GO 13026
11370: LD_INT 2
11372: DOUBLE
11373: EQUAL
11374: IFTRUE 11378
11376: GO 11481
11378: POP
// begin i = Rand ( 1 , 3 ) ;
11379: LD_ADDR_VAR 0 5
11383: PUSH
11384: LD_INT 1
11386: PPUSH
11387: LD_INT 3
11389: PPUSH
11390: CALL_OW 12
11394: ST_TO_ADDR
// case i of 1 :
11395: LD_VAR 0 5
11399: PUSH
11400: LD_INT 1
11402: DOUBLE
11403: EQUAL
11404: IFTRUE 11408
11406: GO 11421
11408: POP
// Say ( Heike , DRDecent-H-1 ) ; 2 :
11409: LD_INT 35
11411: PPUSH
11412: LD_STRING DRDecent-H-1
11414: PPUSH
11415: CALL_OW 88
11419: GO 11464
11421: LD_INT 2
11423: DOUBLE
11424: EQUAL
11425: IFTRUE 11429
11427: GO 11442
11429: POP
// Say ( Heike , DRDecent-H-1a ) ; 3 :
11430: LD_INT 35
11432: PPUSH
11433: LD_STRING DRDecent-H-1a
11435: PPUSH
11436: CALL_OW 88
11440: GO 11464
11442: LD_INT 3
11444: DOUBLE
11445: EQUAL
11446: IFTRUE 11450
11448: GO 11463
11450: POP
// Say ( Heike , DRDecent-H-1b ) ; end ;
11451: LD_INT 35
11453: PPUSH
11454: LD_STRING DRDecent-H-1b
11456: PPUSH
11457: CALL_OW 88
11461: GO 11464
11463: POP
// zmen_stav ( Rusi , 1 , false ) ;
11464: LD_EXP 3
11468: PPUSH
11469: LD_INT 1
11471: PPUSH
11472: LD_INT 0
11474: PPUSH
11475: CALL 198 0 3
// end ; 3 :
11479: GO 13026
11481: LD_INT 3
11483: DOUBLE
11484: EQUAL
11485: IFTRUE 11489
11487: GO 11593
11489: POP
// begin i = Rand ( 1 , 3 ) ;
11490: LD_ADDR_VAR 0 5
11494: PUSH
11495: LD_INT 1
11497: PPUSH
11498: LD_INT 3
11500: PPUSH
11501: CALL_OW 12
11505: ST_TO_ADDR
// case i of 1 :
11506: LD_VAR 0 5
11510: PUSH
11511: LD_INT 1
11513: DOUBLE
11514: EQUAL
11515: IFTRUE 11519
11517: GO 11532
11519: POP
// Say ( Heike , DROutrage--H-1 ) ; 2 :
11520: LD_INT 35
11522: PPUSH
11523: LD_STRING DROutrage--H-1
11525: PPUSH
11526: CALL_OW 88
11530: GO 11575
11532: LD_INT 2
11534: DOUBLE
11535: EQUAL
11536: IFTRUE 11540
11538: GO 11553
11540: POP
// Say ( Heike , DROutrage--H-1a ) ; 3 :
11541: LD_INT 35
11543: PPUSH
11544: LD_STRING DROutrage--H-1a
11546: PPUSH
11547: CALL_OW 88
11551: GO 11575
11553: LD_INT 3
11555: DOUBLE
11556: EQUAL
11557: IFTRUE 11561
11559: GO 11574
11561: POP
// Say ( Heike , DROutrage--H-1b ) ; end ;
11562: LD_INT 35
11564: PPUSH
11565: LD_STRING DROutrage--H-1b
11567: PPUSH
11568: CALL_OW 88
11572: GO 11575
11574: POP
// zmen_stav ( Rusi , - 8 , false ) ;
11575: LD_EXP 3
11579: PPUSH
11580: LD_INT 8
11582: NEG
11583: PPUSH
11584: LD_INT 0
11586: PPUSH
11587: CALL 198 0 3
// end ; 4 :
11591: GO 13026
11593: LD_INT 4
11595: DOUBLE
11596: EQUAL
11597: IFTRUE 11601
11599: GO 11629
11601: POP
// begin Say ( Heike , DRApol1-H-1 ) ;
11602: LD_INT 35
11604: PPUSH
11605: LD_STRING DRApol1-H-1
11607: PPUSH
11608: CALL_OW 88
// zmen_stav ( Rusi , 10 , false ) ;
11612: LD_EXP 3
11616: PPUSH
11617: LD_INT 10
11619: PPUSH
11620: LD_INT 0
11622: PPUSH
11623: CALL 198 0 3
// end ; 5 :
11627: GO 13026
11629: LD_INT 5
11631: DOUBLE
11632: EQUAL
11633: IFTRUE 11637
11635: GO 11780
11637: POP
// begin Say ( Heike , DRApol1-H-1a ) ;
11638: LD_INT 35
11640: PPUSH
11641: LD_STRING DRApol1-H-1a
11643: PPUSH
11644: CALL_OW 88
// Am_ally = false ;
11648: LD_ADDR_EXP 18
11652: PUSH
11653: LD_INT 0
11655: ST_TO_ADDR
// zmen_stav ( Amici , - 10 , false ) ;
11656: LD_EXP 2
11660: PPUSH
11661: LD_INT 10
11663: NEG
11664: PPUSH
11665: LD_INT 0
11667: PPUSH
11668: CALL 198 0 3
// zmen_stav ( Rusi , 7 , false ) ;
11672: LD_EXP 3
11676: PPUSH
11677: LD_INT 7
11679: PPUSH
11680: LD_INT 0
11682: PPUSH
11683: CALL 198 0 3
// case VZTAHY [ 2 ] of 6 .. 35 :
11687: LD_EXP 11
11691: PUSH
11692: LD_INT 2
11694: ARRAY
11695: PUSH
11696: LD_INT 6
11698: DOUBLE
11699: GREATEREQUAL
11700: IFFALSE 11708
11702: LD_INT 35
11704: DOUBLE
11705: LESSEQUAL
11706: IFTRUE 11710
11708: GO 11723
11710: POP
// Say ( Gav , DRApol1-Gav-1b ) ; 36 .. 65 :
11711: LD_INT 90
11713: PPUSH
11714: LD_STRING DRApol1-Gav-1b
11716: PPUSH
11717: CALL_OW 88
11721: GO 11778
11723: LD_INT 36
11725: DOUBLE
11726: GREATEREQUAL
11727: IFFALSE 11735
11729: LD_INT 65
11731: DOUBLE
11732: LESSEQUAL
11733: IFTRUE 11737
11735: GO 11750
11737: POP
// Say ( Gav , DRApol1-Gav-1a ) ; 66 .. 95 :
11738: LD_INT 90
11740: PPUSH
11741: LD_STRING DRApol1-Gav-1a
11743: PPUSH
11744: CALL_OW 88
11748: GO 11778
11750: LD_INT 66
11752: DOUBLE
11753: GREATEREQUAL
11754: IFFALSE 11762
11756: LD_INT 95
11758: DOUBLE
11759: LESSEQUAL
11760: IFTRUE 11764
11762: GO 11777
11764: POP
// Say ( Gav , DRApol1-Gav-1a ) ; end ;
11765: LD_INT 90
11767: PPUSH
11768: LD_STRING DRApol1-Gav-1a
11770: PPUSH
11771: CALL_OW 88
11775: GO 11778
11777: POP
// end ; 6 :
11778: GO 13026
11780: LD_INT 6
11782: DOUBLE
11783: EQUAL
11784: IFTRUE 11788
11786: GO 11907
11788: POP
// begin Say ( Heike , DRApol1-H-1b ) ;
11789: LD_INT 35
11791: PPUSH
11792: LD_STRING DRApol1-H-1b
11794: PPUSH
11795: CALL_OW 88
// zmen_stav ( Rusi , 4 , false ) ;
11799: LD_EXP 3
11803: PPUSH
11804: LD_INT 4
11806: PPUSH
11807: LD_INT 0
11809: PPUSH
11810: CALL 198 0 3
// case VZTAHY [ 2 ] of 6 .. 35 :
11814: LD_EXP 11
11818: PUSH
11819: LD_INT 2
11821: ARRAY
11822: PUSH
11823: LD_INT 6
11825: DOUBLE
11826: GREATEREQUAL
11827: IFFALSE 11835
11829: LD_INT 35
11831: DOUBLE
11832: LESSEQUAL
11833: IFTRUE 11837
11835: GO 11850
11837: POP
// Say ( Gav , DRApol1-Gav-1b ) ; 36 .. 65 :
11838: LD_INT 90
11840: PPUSH
11841: LD_STRING DRApol1-Gav-1b
11843: PPUSH
11844: CALL_OW 88
11848: GO 11905
11850: LD_INT 36
11852: DOUBLE
11853: GREATEREQUAL
11854: IFFALSE 11862
11856: LD_INT 65
11858: DOUBLE
11859: LESSEQUAL
11860: IFTRUE 11864
11862: GO 11877
11864: POP
// Say ( Gav , DRApol1-Gav-1a ) ; 66 .. 95 :
11865: LD_INT 90
11867: PPUSH
11868: LD_STRING DRApol1-Gav-1a
11870: PPUSH
11871: CALL_OW 88
11875: GO 11905
11877: LD_INT 66
11879: DOUBLE
11880: GREATEREQUAL
11881: IFFALSE 11889
11883: LD_INT 95
11885: DOUBLE
11886: LESSEQUAL
11887: IFTRUE 11891
11889: GO 11904
11891: POP
// Say ( Gav , DRApol1-Gav-1a ) ; end ;
11892: LD_INT 90
11894: PPUSH
11895: LD_STRING DRApol1-Gav-1a
11897: PPUSH
11898: CALL_OW 88
11902: GO 11905
11904: POP
// end ; 7 :
11905: GO 13026
11907: LD_INT 7
11909: DOUBLE
11910: EQUAL
11911: IFTRUE 11915
11913: GO 12034
11915: POP
// begin Say ( Heike , DRApol1-H-1c ) ;
11916: LD_INT 35
11918: PPUSH
11919: LD_STRING DRApol1-H-1c
11921: PPUSH
11922: CALL_OW 88
// zmen_stav ( Rusi , 8 , false ) ;
11926: LD_EXP 3
11930: PPUSH
11931: LD_INT 8
11933: PPUSH
11934: LD_INT 0
11936: PPUSH
11937: CALL 198 0 3
// case VZTAHY [ 2 ] of 6 .. 35 :
11941: LD_EXP 11
11945: PUSH
11946: LD_INT 2
11948: ARRAY
11949: PUSH
11950: LD_INT 6
11952: DOUBLE
11953: GREATEREQUAL
11954: IFFALSE 11962
11956: LD_INT 35
11958: DOUBLE
11959: LESSEQUAL
11960: IFTRUE 11964
11962: GO 11977
11964: POP
// Say ( Gav , DRApol1-Gav-1b ) ; 36 .. 65 :
11965: LD_INT 90
11967: PPUSH
11968: LD_STRING DRApol1-Gav-1b
11970: PPUSH
11971: CALL_OW 88
11975: GO 12032
11977: LD_INT 36
11979: DOUBLE
11980: GREATEREQUAL
11981: IFFALSE 11989
11983: LD_INT 65
11985: DOUBLE
11986: LESSEQUAL
11987: IFTRUE 11991
11989: GO 12004
11991: POP
// Say ( Gav , DRApol1-Gav-1a ) ; 66 .. 95 :
11992: LD_INT 90
11994: PPUSH
11995: LD_STRING DRApol1-Gav-1a
11997: PPUSH
11998: CALL_OW 88
12002: GO 12032
12004: LD_INT 66
12006: DOUBLE
12007: GREATEREQUAL
12008: IFFALSE 12016
12010: LD_INT 95
12012: DOUBLE
12013: LESSEQUAL
12014: IFTRUE 12018
12016: GO 12031
12018: POP
// Say ( Gav , DRApol1-Gav-1a ) ; end ;
12019: LD_INT 90
12021: PPUSH
12022: LD_STRING DRApol1-Gav-1a
12024: PPUSH
12025: CALL_OW 88
12029: GO 12032
12031: POP
// end ; 8 :
12032: GO 13026
12034: LD_INT 8
12036: DOUBLE
12037: EQUAL
12038: IFTRUE 12042
12040: GO 12262
12042: POP
// begin Say ( Heike , DRAlly-H-1 ) ;
12043: LD_INT 35
12045: PPUSH
12046: LD_STRING DRAlly-H-1
12048: PPUSH
12049: CALL_OW 88
// if RU_vi > 95 then
12053: LD_EXP 31
12057: PUSH
12058: LD_INT 95
12060: GREATER
12061: IFFALSE 12115
// begin Say ( Gav , DRAlly-Gav-1 ) ;
12063: LD_INT 90
12065: PPUSH
12066: LD_STRING DRAlly-Gav-1
12068: PPUSH
12069: CALL_OW 88
// zmen_stav ( Amici , - 10 , false ) ;
12073: LD_EXP 2
12077: PPUSH
12078: LD_INT 10
12080: NEG
12081: PPUSH
12082: LD_INT 0
12084: PPUSH
12085: CALL 198 0 3
// Am_ally = false ;
12089: LD_ADDR_EXP 18
12093: PUSH
12094: LD_INT 0
12096: ST_TO_ADDR
// zmen_stav ( Rusi , - 15 , false ) ;
12097: LD_EXP 3
12101: PPUSH
12102: LD_INT 15
12104: NEG
12105: PPUSH
12106: LD_INT 0
12108: PPUSH
12109: CALL 198 0 3
// end else
12113: GO 12260
// begin zmen_stav ( Amici , - 10 , false ) ;
12115: LD_EXP 2
12119: PPUSH
12120: LD_INT 10
12122: NEG
12123: PPUSH
12124: LD_INT 0
12126: PPUSH
12127: CALL 198 0 3
// zmen_stav ( Rusi , 7 , false ) ;
12131: LD_EXP 3
12135: PPUSH
12136: LD_INT 7
12138: PPUSH
12139: LD_INT 0
12141: PPUSH
12142: CALL 198 0 3
// case VZTAHY [ 2 ] of 6 .. 35 :
12146: LD_EXP 11
12150: PUSH
12151: LD_INT 2
12153: ARRAY
12154: PUSH
12155: LD_INT 6
12157: DOUBLE
12158: GREATEREQUAL
12159: IFFALSE 12167
12161: LD_INT 35
12163: DOUBLE
12164: LESSEQUAL
12165: IFTRUE 12169
12167: GO 12182
12169: POP
// Say ( Gav , DRAlly-Gav-1a ) ; 36 .. 65 :
12170: LD_INT 90
12172: PPUSH
12173: LD_STRING DRAlly-Gav-1a
12175: PPUSH
12176: CALL_OW 88
12180: GO 12260
12182: LD_INT 36
12184: DOUBLE
12185: GREATEREQUAL
12186: IFFALSE 12194
12188: LD_INT 65
12190: DOUBLE
12191: LESSEQUAL
12192: IFTRUE 12196
12194: GO 12209
12196: POP
// Say ( Gav , DRAlly-Gav-1b ) ; 66 .. 95 :
12197: LD_INT 90
12199: PPUSH
12200: LD_STRING DRAlly-Gav-1b
12202: PPUSH
12203: CALL_OW 88
12207: GO 12260
12209: LD_INT 66
12211: DOUBLE
12212: GREATEREQUAL
12213: IFFALSE 12221
12215: LD_INT 95
12217: DOUBLE
12218: LESSEQUAL
12219: IFTRUE 12223
12221: GO 12259
12223: POP
// begin Say ( Gav , DRAlly-Gav-1c ) ;
12224: LD_INT 90
12226: PPUSH
12227: LD_STRING DRAlly-Gav-1c
12229: PPUSH
12230: CALL_OW 88
// zmen_stav ( Rusi , 20 , false ) ;
12234: LD_EXP 3
12238: PPUSH
12239: LD_INT 20
12241: PPUSH
12242: LD_INT 0
12244: PPUSH
12245: CALL 198 0 3
// Ru_ally = true ;
12249: LD_ADDR_EXP 28
12253: PUSH
12254: LD_INT 1
12256: ST_TO_ADDR
// end ; end ;
12257: GO 12260
12259: POP
// end ; end ; 9 :
12260: GO 13026
12262: LD_INT 9
12264: DOUBLE
12265: EQUAL
12266: IFTRUE 12270
12268: GO 12386
12270: POP
// begin Say ( Heike , DRCloseAlly-H-1 ) ;
12271: LD_INT 35
12273: PPUSH
12274: LD_STRING DRCloseAlly-H-1
12276: PPUSH
12277: CALL_OW 88
// zmen_stav ( Amici , 5 , false ) ;
12281: LD_EXP 2
12285: PPUSH
12286: LD_INT 5
12288: PPUSH
12289: LD_INT 0
12291: PPUSH
12292: CALL 198 0 3
// zmen_stav ( Rusi , - 20 , false ) ;
12296: LD_EXP 3
12300: PPUSH
12301: LD_INT 20
12303: NEG
12304: PPUSH
12305: LD_INT 0
12307: PPUSH
12308: CALL 198 0 3
// Ru_ally = false ;
12312: LD_ADDR_EXP 28
12316: PUSH
12317: LD_INT 0
12319: ST_TO_ADDR
// case VZTAHY [ 2 ] of 6 .. 65 :
12320: LD_EXP 11
12324: PUSH
12325: LD_INT 2
12327: ARRAY
12328: PUSH
12329: LD_INT 6
12331: DOUBLE
12332: GREATEREQUAL
12333: IFFALSE 12341
12335: LD_INT 65
12337: DOUBLE
12338: LESSEQUAL
12339: IFTRUE 12343
12341: GO 12356
12343: POP
// Say ( Gav , DRCloseAlly-Gav-1a ) ; 66 .. 95 :
12344: LD_INT 90
12346: PPUSH
12347: LD_STRING DRCloseAlly-Gav-1a
12349: PPUSH
12350: CALL_OW 88
12354: GO 12384
12356: LD_INT 66
12358: DOUBLE
12359: GREATEREQUAL
12360: IFFALSE 12368
12362: LD_INT 95
12364: DOUBLE
12365: LESSEQUAL
12366: IFTRUE 12370
12368: GO 12383
12370: POP
// Say ( Gav , DRCloseAlly-Gav-1 ) ; end ;
12371: LD_INT 90
12373: PPUSH
12374: LD_STRING DRCloseAlly-Gav-1
12376: PPUSH
12377: CALL_OW 88
12381: GO 12384
12383: POP
// end ; 10 :
12384: GO 13026
12386: LD_INT 10
12388: DOUBLE
12389: EQUAL
12390: IFTRUE 12394
12392: GO 12624
12394: POP
// begin Say ( Heike , DRHelp-H-1 ) ;
12395: LD_INT 35
12397: PPUSH
12398: LD_STRING DRHelp-H-1
12400: PPUSH
12401: CALL_OW 88
// Say ( Gav , DRHelp-Gav-1 ) ;
12405: LD_INT 90
12407: PPUSH
12408: LD_STRING DRHelp-Gav-1
12410: PPUSH
12411: CALL_OW 88
// zmen_stav ( Amici , - 8 , false ) ;
12415: LD_EXP 2
12419: PPUSH
12420: LD_INT 8
12422: NEG
12423: PPUSH
12424: LD_INT 0
12426: PPUSH
12427: CALL 198 0 3
// zmen_stav ( Rusi , 5 , false ) ;
12431: LD_EXP 3
12435: PPUSH
12436: LD_INT 5
12438: PPUSH
12439: LD_INT 0
12441: PPUSH
12442: CALL 198 0 3
// ij = Query ( QRHelp ) ;
12446: LD_ADDR_VAR 0 6
12450: PUSH
12451: LD_STRING QRHelp
12453: PPUSH
12454: CALL_OW 97
12458: ST_TO_ADDR
// case ij of 1 :
12459: LD_VAR 0 6
12463: PUSH
12464: LD_INT 1
12466: DOUBLE
12467: EQUAL
12468: IFTRUE 12472
12470: GO 12501
12472: POP
// begin Say ( Heike , DRHelp1-H-1 ) ;
12473: LD_INT 35
12475: PPUSH
12476: LD_STRING DRHelp1-H-1
12478: PPUSH
12479: CALL_OW 88
// zmen_stav ( Rusi , - 8 , true ) ;
12483: LD_EXP 3
12487: PPUSH
12488: LD_INT 8
12490: NEG
12491: PPUSH
12492: LD_INT 1
12494: PPUSH
12495: CALL 198 0 3
// end ; 2 :
12499: GO 12594
12501: LD_INT 2
12503: DOUBLE
12504: EQUAL
12505: IFTRUE 12509
12507: GO 12547
12509: POP
// begin Say ( Heike , DRHelp2-H-1 ) ;
12510: LD_INT 35
12512: PPUSH
12513: LD_STRING DRHelp2-H-1
12515: PPUSH
12516: CALL_OW 88
// Say ( Gav , DRHelp2-Gav-1 ) ;
12520: LD_INT 90
12522: PPUSH
12523: LD_STRING DRHelp2-Gav-1
12525: PPUSH
12526: CALL_OW 88
// zmen_stav ( Rusi , 5 , true ) ;
12530: LD_EXP 3
12534: PPUSH
12535: LD_INT 5
12537: PPUSH
12538: LD_INT 1
12540: PPUSH
12541: CALL 198 0 3
// end ; 3 :
12545: GO 12594
12547: LD_INT 3
12549: DOUBLE
12550: EQUAL
12551: IFTRUE 12555
12553: GO 12593
12555: POP
// begin Say ( Heike , DRHelp3-H-1 ) ;
12556: LD_INT 35
12558: PPUSH
12559: LD_STRING DRHelp3-H-1
12561: PPUSH
12562: CALL_OW 88
// Say ( Gav , DRHelp3-Gav-1 ) ;
12566: LD_INT 90
12568: PPUSH
12569: LD_STRING DRHelp3-Gav-1
12571: PPUSH
12572: CALL_OW 88
// zmen_stav ( Rusi , 5 , true ) ;
12576: LD_EXP 3
12580: PPUSH
12581: LD_INT 5
12583: PPUSH
12584: LD_INT 1
12586: PPUSH
12587: CALL 198 0 3
// end ; end ;
12591: GO 12594
12593: POP
// if ij <> 1 and Ru_pomoc <> 2 then
12594: LD_VAR 0 6
12598: PUSH
12599: LD_INT 1
12601: NONEQUAL
12602: PUSH
12603: LD_EXP 33
12607: PUSH
12608: LD_INT 2
12610: NONEQUAL
12611: AND
12612: IFFALSE 12622
// Ru_pomoc = 1 ;
12614: LD_ADDR_EXP 33
12618: PUSH
12619: LD_INT 1
12621: ST_TO_ADDR
// end ; 11 :
12622: GO 13026
12624: LD_INT 11
12626: DOUBLE
12627: EQUAL
12628: IFTRUE 12632
12630: GO 12676
12632: POP
// begin Say ( Heike , DEmph-H-1 ) ;
12633: LD_INT 35
12635: PPUSH
12636: LD_STRING DEmph-H-1
12638: PPUSH
12639: CALL_OW 88
// zmen_stav ( Amici , 2 , false ) ;
12643: LD_EXP 2
12647: PPUSH
12648: LD_INT 2
12650: PPUSH
12651: LD_INT 0
12653: PPUSH
12654: CALL 198 0 3
// zmen_stav ( Rusi , - 20 , false ) ;
12658: LD_EXP 3
12662: PPUSH
12663: LD_INT 20
12665: NEG
12666: PPUSH
12667: LD_INT 0
12669: PPUSH
12670: CALL 198 0 3
// end ; 12 :
12674: GO 13026
12676: LD_INT 12
12678: DOUBLE
12679: EQUAL
12680: IFTRUE 12684
12682: GO 12713
12684: POP
// begin Say ( Heike , DEmph-H-1a ) ;
12685: LD_INT 35
12687: PPUSH
12688: LD_STRING DEmph-H-1a
12690: PPUSH
12691: CALL_OW 88
// zmen_stav ( Rusi , - 1 , false ) ;
12695: LD_EXP 3
12699: PPUSH
12700: LD_INT 1
12702: NEG
12703: PPUSH
12704: LD_INT 0
12706: PPUSH
12707: CALL 198 0 3
// end ; 13 :
12711: GO 13026
12713: LD_INT 13
12715: DOUBLE
12716: EQUAL
12717: IFTRUE 12721
12719: GO 12765
12721: POP
// begin Say ( Heike , DEmph-H-1b ) ;
12722: LD_INT 35
12724: PPUSH
12725: LD_STRING DEmph-H-1b
12727: PPUSH
12728: CALL_OW 88
// zmen_stav ( Amici , - 5 , false ) ;
12732: LD_EXP 2
12736: PPUSH
12737: LD_INT 5
12739: NEG
12740: PPUSH
12741: LD_INT 0
12743: PPUSH
12744: CALL 198 0 3
// zmen_stav ( Rusi , 5 , true ) ;
12748: LD_EXP 3
12752: PPUSH
12753: LD_INT 5
12755: PPUSH
12756: LD_INT 1
12758: PPUSH
12759: CALL 198 0 3
// end ; 14 :
12763: GO 13026
12765: LD_INT 14
12767: DOUBLE
12768: EQUAL
12769: IFTRUE 12773
12771: GO 12817
12773: POP
// begin Say ( Heike , DEmph-H-1c ) ;
12774: LD_INT 35
12776: PPUSH
12777: LD_STRING DEmph-H-1c
12779: PPUSH
12780: CALL_OW 88
// zmen_stav ( Amici , - 7 , false ) ;
12784: LD_EXP 2
12788: PPUSH
12789: LD_INT 7
12791: NEG
12792: PPUSH
12793: LD_INT 0
12795: PPUSH
12796: CALL 198 0 3
// zmen_stav ( Rusi , 7 , true ) ;
12800: LD_EXP 3
12804: PPUSH
12805: LD_INT 7
12807: PPUSH
12808: LD_INT 1
12810: PPUSH
12811: CALL 198 0 3
// end ; 15 :
12815: GO 13026
12817: LD_INT 15
12819: DOUBLE
12820: EQUAL
12821: IFTRUE 12825
12823: GO 12869
12825: POP
// begin Say ( Heike , DREmph-H-1 ) ;
12826: LD_INT 35
12828: PPUSH
12829: LD_STRING DREmph-H-1
12831: PPUSH
12832: CALL_OW 88
// zmen_stav ( Amici , - 5 , false ) ;
12836: LD_EXP 2
12840: PPUSH
12841: LD_INT 5
12843: NEG
12844: PPUSH
12845: LD_INT 0
12847: PPUSH
12848: CALL 198 0 3
// zmen_stav ( Rusi , 10 , true ) ;
12852: LD_EXP 3
12856: PPUSH
12857: LD_INT 10
12859: PPUSH
12860: LD_INT 1
12862: PPUSH
12863: CALL 198 0 3
// end ; 16 :
12867: GO 13026
12869: LD_INT 16
12871: DOUBLE
12872: EQUAL
12873: IFTRUE 12877
12875: GO 12921
12877: POP
// begin Say ( Heike , DREmph-H-1a ) ;
12878: LD_INT 35
12880: PPUSH
12881: LD_STRING DREmph-H-1a
12883: PPUSH
12884: CALL_OW 88
// zmen_stav ( Amici , 2 , true ) ;
12888: LD_EXP 2
12892: PPUSH
12893: LD_INT 2
12895: PPUSH
12896: LD_INT 1
12898: PPUSH
12899: CALL 198 0 3
// zmen_stav ( Rusi , - 5 , false ) ;
12903: LD_EXP 3
12907: PPUSH
12908: LD_INT 5
12910: NEG
12911: PPUSH
12912: LD_INT 0
12914: PPUSH
12915: CALL 198 0 3
// end ; 17 :
12919: GO 13026
12921: LD_INT 17
12923: DOUBLE
12924: EQUAL
12925: IFTRUE 12929
12927: GO 12973
12929: POP
// begin Say ( Heike , DREmph-H-1b ) ;
12930: LD_INT 35
12932: PPUSH
12933: LD_STRING DREmph-H-1b
12935: PPUSH
12936: CALL_OW 88
// zmen_stav ( Amici , 5 , false ) ;
12940: LD_EXP 2
12944: PPUSH
12945: LD_INT 5
12947: PPUSH
12948: LD_INT 0
12950: PPUSH
12951: CALL 198 0 3
// zmen_stav ( Rusi , - 10 , true ) ;
12955: LD_EXP 3
12959: PPUSH
12960: LD_INT 10
12962: NEG
12963: PPUSH
12964: LD_INT 1
12966: PPUSH
12967: CALL 198 0 3
// end ; 18 :
12971: GO 13026
12973: LD_INT 18
12975: DOUBLE
12976: EQUAL
12977: IFTRUE 12981
12979: GO 13025
12981: POP
// begin Say ( Heike , DREmph-H-1c ) ;
12982: LD_INT 35
12984: PPUSH
12985: LD_STRING DREmph-H-1c
12987: PPUSH
12988: CALL_OW 88
// zmen_stav ( Amici , 6 , true ) ;
12992: LD_EXP 2
12996: PPUSH
12997: LD_INT 6
12999: PPUSH
13000: LD_INT 1
13002: PPUSH
13003: CALL 198 0 3
// zmen_stav ( Rusi , - 20 , false ) ;
13007: LD_EXP 3
13011: PPUSH
13012: LD_INT 20
13014: NEG
13015: PPUSH
13016: LD_INT 0
13018: PPUSH
13019: CALL 198 0 3
// end ; end ;
13023: GO 13026
13025: POP
// DialogueOff ;
13026: CALL_OW 7
// end ;
13030: LD_VAR 0 2
13034: RET
// export function dialog_uprav_vztahy_rusi ( hnew , hold , wa ) ; begin
13035: LD_INT 0
13037: PPUSH
// case hold of 6 .. 35 :
13038: LD_VAR 0 2
13042: PUSH
13043: LD_INT 6
13045: DOUBLE
13046: GREATEREQUAL
13047: IFFALSE 13055
13049: LD_INT 35
13051: DOUBLE
13052: LESSEQUAL
13053: IFTRUE 13057
13055: GO 13138
13057: POP
// case hnew of 36 .. 65 :
13058: LD_VAR 0 1
13062: PUSH
13063: LD_INT 36
13065: DOUBLE
13066: GREATEREQUAL
13067: IFFALSE 13075
13069: LD_INT 65
13071: DOUBLE
13072: LESSEQUAL
13073: IFTRUE 13077
13075: GO 13099
13077: POP
// if IsOK ( Gav ) then
13078: LD_INT 90
13080: PPUSH
13081: CALL_OW 302
13085: IFFALSE 13097
// Say ( Gav , DREtoN-Gav-1 ) ; 0 .. 5 :
13087: LD_INT 90
13089: PPUSH
13090: LD_STRING DREtoN-Gav-1
13092: PPUSH
13093: CALL_OW 88
13097: GO 13136
13099: LD_INT 0
13101: DOUBLE
13102: GREATEREQUAL
13103: IFFALSE 13111
13105: LD_INT 5
13107: DOUBLE
13108: LESSEQUAL
13109: IFTRUE 13113
13111: GO 13135
13113: POP
// if IsOK ( Gav ) then
13114: LD_INT 90
13116: PPUSH
13117: CALL_OW 302
13121: IFFALSE 13133
// Say ( Gav , DREtoW-Gav-1 ) ; end ; 36 .. 65 :
13123: LD_INT 90
13125: PPUSH
13126: LD_STRING DREtoW-Gav-1
13128: PPUSH
13129: CALL_OW 88
13133: GO 13136
13135: POP
13136: GO 13337
13138: LD_INT 36
13140: DOUBLE
13141: GREATEREQUAL
13142: IFFALSE 13150
13144: LD_INT 65
13146: DOUBLE
13147: LESSEQUAL
13148: IFTRUE 13152
13150: GO 13259
13152: POP
// case hnew of 66 .. 100 :
13153: LD_VAR 0 1
13157: PUSH
13158: LD_INT 66
13160: DOUBLE
13161: GREATEREQUAL
13162: IFFALSE 13170
13164: LD_INT 100
13166: DOUBLE
13167: LESSEQUAL
13168: IFTRUE 13172
13170: GO 13194
13172: POP
// if IsOK ( Gav ) then
13173: LD_INT 90
13175: PPUSH
13176: CALL_OW 302
13180: IFFALSE 13192
// Say ( Gav , DRNtoA-Gav-1 ) ; 0 .. 35 :
13182: LD_INT 90
13184: PPUSH
13185: LD_STRING DRNtoA-Gav-1
13187: PPUSH
13188: CALL_OW 88
13192: GO 13257
13194: LD_INT 0
13196: DOUBLE
13197: GREATEREQUAL
13198: IFFALSE 13206
13200: LD_INT 35
13202: DOUBLE
13203: LESSEQUAL
13204: IFTRUE 13208
13206: GO 13256
13208: POP
// begin if FTE and IsOK ( Gav ) then
13209: LD_EXP 36
13213: PUSH
13214: LD_INT 90
13216: PPUSH
13217: CALL_OW 302
13221: AND
13222: IFFALSE 13236
// Say ( Gav , DRNtoE-Gav-1 ) else
13224: LD_INT 90
13226: PPUSH
13227: LD_STRING DRNtoE-Gav-1
13229: PPUSH
13230: CALL_OW 88
13234: GO 13246
// Say ( Gav , DRNtoE-Gav-1a ) ;
13236: LD_INT 90
13238: PPUSH
13239: LD_STRING DRNtoE-Gav-1a
13241: PPUSH
13242: CALL_OW 88
// FTE = true ;
13246: LD_ADDR_EXP 36
13250: PUSH
13251: LD_INT 1
13253: ST_TO_ADDR
// end ; end ; 66 .. 95 :
13254: GO 13257
13256: POP
13257: GO 13337
13259: LD_INT 66
13261: DOUBLE
13262: GREATEREQUAL
13263: IFFALSE 13271
13265: LD_INT 95
13267: DOUBLE
13268: LESSEQUAL
13269: IFTRUE 13273
13271: GO 13336
13273: POP
// case hnew of 36 .. 65 :
13274: LD_VAR 0 1
13278: PUSH
13279: LD_INT 36
13281: DOUBLE
13282: GREATEREQUAL
13283: IFFALSE 13291
13285: LD_INT 65
13287: DOUBLE
13288: LESSEQUAL
13289: IFTRUE 13293
13291: GO 13333
13293: POP
// if wa and IsOK ( Gav ) then
13294: LD_VAR 0 3
13298: PUSH
13299: LD_INT 90
13301: PPUSH
13302: CALL_OW 302
13306: AND
13307: IFFALSE 13321
// Say ( Gav , DRAtoN-Gav-1a ) else
13309: LD_INT 90
13311: PPUSH
13312: LD_STRING DRAtoN-Gav-1a
13314: PPUSH
13315: CALL_OW 88
13319: GO 13331
// Say ( Gav , DRAtoN-Gav-1 ) ; end ; end ;
13321: LD_INT 90
13323: PPUSH
13324: LD_STRING DRAtoN-Gav-1
13326: PPUSH
13327: CALL_OW 88
13331: GO 13334
13333: POP
13334: GO 13337
13336: POP
// end ;
13337: LD_VAR 0 4
13341: RET
// every 0 0$19 trigger UTOKY <> 0 do var pom ;
13342: LD_EXP 4
13346: PUSH
13347: LD_INT 0
13349: NONEQUAL
13350: IFFALSE 13522
13352: GO 13354
13354: DISABLE
13355: LD_INT 0
13357: PPUSH
// begin pom = UnitFilter ( US_utok , [ [ f_side , Amici ] , [ f_or , [ f_weapon , ar_double_machine_gun ] , [ f_weapon , ar_multimissile_ballista ] , [ f_weapon , ar_gatling_gun ] ] ] ) ;
13358: LD_ADDR_VAR 0 1
13362: PUSH
13363: LD_EXP 23
13367: PPUSH
13368: LD_INT 22
13370: PUSH
13371: LD_EXP 2
13375: PUSH
13376: EMPTY
13377: LIST
13378: LIST
13379: PUSH
13380: LD_INT 2
13382: PUSH
13383: LD_INT 34
13385: PUSH
13386: LD_INT 24
13388: PUSH
13389: EMPTY
13390: LIST
13391: LIST
13392: PUSH
13393: LD_INT 34
13395: PUSH
13396: LD_INT 22
13398: PUSH
13399: EMPTY
13400: LIST
13401: LIST
13402: PUSH
13403: LD_INT 34
13405: PUSH
13406: LD_INT 25
13408: PUSH
13409: EMPTY
13410: LIST
13411: LIST
13412: PUSH
13413: EMPTY
13414: LIST
13415: LIST
13416: LIST
13417: LIST
13418: PUSH
13419: EMPTY
13420: LIST
13421: LIST
13422: PPUSH
13423: CALL_OW 72
13427: ST_TO_ADDR
// if pom > 0 and VZTAHY [ 2 ] > 35 then
13428: LD_VAR 0 1
13432: PUSH
13433: LD_INT 0
13435: GREATER
13436: PUSH
13437: LD_EXP 11
13441: PUSH
13442: LD_INT 2
13444: ARRAY
13445: PUSH
13446: LD_INT 35
13448: GREATER
13449: AND
13450: IFFALSE 13521
// begin while UTOKY <> 0 do
13452: LD_EXP 4
13456: PUSH
13457: LD_INT 0
13459: NONEQUAL
13460: IFFALSE 13471
// wait ( 0 0$20 ) ;
13462: LD_INT 700
13464: PPUSH
13465: CALL_OW 67
13469: GO 13452
// if IsOK ( Gav ) then
13471: LD_INT 90
13473: PPUSH
13474: CALL_OW 302
13478: IFFALSE 13521
// begin Say ( Gav , DRVeh-Gav-1 ) ;
13480: LD_INT 90
13482: PPUSH
13483: LD_STRING DRVeh-Gav-1
13485: PPUSH
13486: CALL_OW 88
// zmen_stav ( Rusi , - 10 , false ) ;
13490: LD_EXP 3
13494: PPUSH
13495: LD_INT 10
13497: NEG
13498: PPUSH
13499: LD_INT 0
13501: PPUSH
13502: CALL 198 0 3
// dialog_rusi ( 3 ) ;
13506: LD_INT 3
13508: PPUSH
13509: CALL 10892 0 1
// Ru_pomoc = 2 ;
13513: LD_ADDR_EXP 33
13517: PUSH
13518: LD_INT 2
13520: ST_TO_ADDR
// end ; end ; enable ;
13521: ENABLE
// end ;
13522: PPOPN 1
13524: END
// every 0 0$8 trigger Am_pomoc = 1 do
13525: LD_EXP 22
13529: PUSH
13530: LD_INT 1
13532: EQUAL
13533: IFFALSE 13594
13535: GO 13537
13537: DISABLE
// begin if VZTAHY [ 2 ] > 35 and IsOK ( Gav ) then
13538: LD_EXP 11
13542: PUSH
13543: LD_INT 2
13545: ARRAY
13546: PUSH
13547: LD_INT 35
13549: GREATER
13550: PUSH
13551: LD_INT 90
13553: PPUSH
13554: CALL_OW 302
13558: AND
13559: IFFALSE 13594
// begin Say ( Gav , DRAmHelp-Gav-1 ) ;
13561: LD_INT 90
13563: PPUSH
13564: LD_STRING DRAmHelp-Gav-1
13566: PPUSH
13567: CALL_OW 88
// zmen_stav ( Rusi , - 2 , true ) ;
13571: LD_EXP 3
13575: PPUSH
13576: LD_INT 2
13578: NEG
13579: PPUSH
13580: LD_INT 1
13582: PPUSH
13583: CALL 198 0 3
// dialog_rusi ( 4 ) ;
13587: LD_INT 4
13589: PPUSH
13590: CALL 10892 0 1
// end ; end ;
13594: END
// every 0 0$15 trigger RU_vi > 95 do
13595: LD_EXP 31
13599: PUSH
13600: LD_INT 95
13602: GREATER
13603: IFFALSE 13651
13605: GO 13607
13607: DISABLE
// begin if IsOK ( Gav ) then
13608: LD_INT 90
13610: PPUSH
13611: CALL_OW 302
13615: IFFALSE 13650
// begin Say ( Gav , DRAmAlly-Gav-1 ) ;
13617: LD_INT 90
13619: PPUSH
13620: LD_STRING DRAmAlly-Gav-1
13622: PPUSH
13623: CALL_OW 88
// zmen_stav ( Rusi , - 5 , true ) ;
13627: LD_EXP 3
13631: PPUSH
13632: LD_INT 5
13634: NEG
13635: PPUSH
13636: LD_INT 1
13638: PPUSH
13639: CALL 198 0 3
// dialog_rusi ( 5 ) ;
13643: LD_INT 5
13645: PPUSH
13646: CALL 10892 0 1
// end ; enable ;
13650: ENABLE
// end ;
13651: END
// every 0 0$15 do var pom ;
13652: GO 13654
13654: DISABLE
13655: LD_INT 0
13657: PPUSH
// begin pom = FilterUnitsInArea ( Ru_ter , [ [ f_side , You ] ] ) ;
13658: LD_ADDR_VAR 0 1
13662: PUSH
13663: LD_INT 5
13665: PPUSH
13666: LD_INT 22
13668: PUSH
13669: LD_EXP 1
13673: PUSH
13674: EMPTY
13675: LIST
13676: LIST
13677: PUSH
13678: EMPTY
13679: LIST
13680: PPUSH
13681: CALL_OW 70
13685: ST_TO_ADDR
// if pom > 0 then
13686: LD_VAR 0 1
13690: PUSH
13691: LD_INT 0
13693: GREATER
13694: IFFALSE 13770
// begin if Ru_ally then
13696: LD_EXP 28
13700: IFFALSE 13730
// begin Say ( Gav , DRter-Gav-1 ) ;
13702: LD_INT 90
13704: PPUSH
13705: LD_STRING DRter-Gav-1
13707: PPUSH
13708: CALL_OW 88
// zmen_stav ( Rusi , - 1 , false ) ;
13712: LD_EXP 3
13716: PPUSH
13717: LD_INT 1
13719: NEG
13720: PPUSH
13721: LD_INT 0
13723: PPUSH
13724: CALL 198 0 3
// end else
13728: GO 13770
// if VZTAHY [ 2 ] > 35 then
13730: LD_EXP 11
13734: PUSH
13735: LD_INT 2
13737: ARRAY
13738: PUSH
13739: LD_INT 35
13741: GREATER
13742: IFFALSE 13770
// begin Say ( Gav , DRter-Gav-1a ) ;
13744: LD_INT 90
13746: PPUSH
13747: LD_STRING DRter-Gav-1a
13749: PPUSH
13750: CALL_OW 88
// zmen_stav ( Rusi , - 3 , false ) ;
13754: LD_EXP 3
13758: PPUSH
13759: LD_INT 3
13761: NEG
13762: PPUSH
13763: LD_INT 0
13765: PPUSH
13766: CALL 198 0 3
// end ; end ; end ;
13770: PPOPN 1
13772: END
// function pomoc_amikum ( l ) ; var ij ; begin
13773: LD_INT 0
13775: PPUSH
13776: PPUSH
// DialogueOn ;
13777: CALL_OW 6
// ij = Query ( QAHelp ) ;
13781: LD_ADDR_VAR 0 3
13785: PUSH
13786: LD_STRING QAHelp
13788: PPUSH
13789: CALL_OW 97
13793: ST_TO_ADDR
// case ij of 1 :
13794: LD_VAR 0 3
13798: PUSH
13799: LD_INT 1
13801: DOUBLE
13802: EQUAL
13803: IFTRUE 13807
13805: GO 13820
13807: POP
// begin Say ( Heike , DAHelp1-H-1 ) ;
13808: LD_INT 35
13810: PPUSH
13811: LD_STRING DAHelp1-H-1
13813: PPUSH
13814: CALL_OW 88
// end ; 2 :
13818: GO 14013
13820: LD_INT 2
13822: DOUBLE
13823: EQUAL
13824: IFTRUE 13828
13826: GO 13884
13828: POP
// begin Say ( Heike , DAHelp2-H-1 ) ;
13829: LD_INT 35
13831: PPUSH
13832: LD_STRING DAHelp2-H-1
13834: PPUSH
13835: CALL_OW 88
// if SDEAD then
13839: LD_EXP 21
13843: IFFALSE 13857
// Say ( Don , DAHelp2-Don-1 ) else
13845: LD_INT 91
13847: PPUSH
13848: LD_STRING DAHelp2-Don-1
13850: PPUSH
13851: CALL_OW 88
13855: GO 13867
// Say ( Sik , DAHelp2-Sik-1 ) ;
13857: LD_INT 89
13859: PPUSH
13860: LD_STRING DAHelp2-Sik-1
13862: PPUSH
13863: CALL_OW 88
// zmen_stav ( Amici , 3 , true ) ;
13867: LD_EXP 2
13871: PPUSH
13872: LD_INT 3
13874: PPUSH
13875: LD_INT 1
13877: PPUSH
13878: CALL 198 0 3
// end ; 3 :
13882: GO 14013
13884: LD_INT 3
13886: DOUBLE
13887: EQUAL
13888: IFTRUE 13892
13890: GO 13948
13892: POP
// begin Say ( Heike , DAHelp2a-H-1 ) ;
13893: LD_INT 35
13895: PPUSH
13896: LD_STRING DAHelp2a-H-1
13898: PPUSH
13899: CALL_OW 88
// if SDEAD then
13903: LD_EXP 21
13907: IFFALSE 13921
// Say ( Don , DAHelp2a-Don-1 ) else
13909: LD_INT 91
13911: PPUSH
13912: LD_STRING DAHelp2a-Don-1
13914: PPUSH
13915: CALL_OW 88
13919: GO 13931
// Say ( Sik , DAHelp2a-Sik-1 ) ;
13921: LD_INT 89
13923: PPUSH
13924: LD_STRING DAHelp2a-Sik-1
13926: PPUSH
13927: CALL_OW 88
// zmen_stav ( Rusi , 5 , true ) ;
13931: LD_EXP 3
13935: PPUSH
13936: LD_INT 5
13938: PPUSH
13939: LD_INT 1
13941: PPUSH
13942: CALL 198 0 3
// end ; 4 :
13946: GO 14013
13948: LD_INT 4
13950: DOUBLE
13951: EQUAL
13952: IFTRUE 13956
13954: GO 14012
13956: POP
// begin Say ( Heike , DAHelp3-H-1 ) ;
13957: LD_INT 35
13959: PPUSH
13960: LD_STRING DAHelp3-H-1
13962: PPUSH
13963: CALL_OW 88
// if SDEAD then
13967: LD_EXP 21
13971: IFFALSE 13985
// Say ( Don , DAHelp3-Don-1 ) else
13973: LD_INT 91
13975: PPUSH
13976: LD_STRING DAHelp3-Don-1
13978: PPUSH
13979: CALL_OW 88
13983: GO 13995
// Say ( Sik , DAHelp3-Sik-1 ) ;
13985: LD_INT 89
13987: PPUSH
13988: LD_STRING DAHelp3-Sik-1
13990: PPUSH
13991: CALL_OW 88
// zmen_stav ( Rusi , 5 , true ) ;
13995: LD_EXP 3
13999: PPUSH
14000: LD_INT 5
14002: PPUSH
14003: LD_INT 1
14005: PPUSH
14006: CALL 198 0 3
// end ; end ;
14010: GO 14013
14012: POP
// DialogueOff ;
14013: CALL_OW 7
// if ij <> 1 or Am_pomoc <> 2 then
14017: LD_VAR 0 3
14021: PUSH
14022: LD_INT 1
14024: NONEQUAL
14025: PUSH
14026: LD_EXP 22
14030: PUSH
14031: LD_INT 2
14033: NONEQUAL
14034: OR
14035: IFFALSE 14045
// Am_pomoc = 1 ;
14037: LD_ADDR_EXP 22
14041: PUSH
14042: LD_INT 1
14044: ST_TO_ADDR
// end ;
14045: LD_VAR 0 2
14049: RET
// function dialog_amici ( no ) ; var VYB , pom ; var i , ij ; begin
14050: LD_INT 0
14052: PPUSH
14053: PPUSH
14054: PPUSH
14055: PPUSH
14056: PPUSH
// DialogueOn ;
14057: CALL_OW 6
// case no of 1 :
14061: LD_VAR 0 1
14065: PUSH
14066: LD_INT 1
14068: DOUBLE
14069: EQUAL
14070: IFTRUE 14074
14072: GO 14096
14074: POP
// VYB = [ 1 , 2 , 3 ] ; 10 :
14075: LD_ADDR_VAR 0 3
14079: PUSH
14080: LD_INT 1
14082: PUSH
14083: LD_INT 2
14085: PUSH
14086: LD_INT 3
14088: PUSH
14089: EMPTY
14090: LIST
14091: LIST
14092: LIST
14093: ST_TO_ADDR
14094: GO 14130
14096: LD_INT 10
14098: DOUBLE
14099: EQUAL
14100: IFTRUE 14104
14102: GO 14122
14104: POP
// VYB = [ 1 , 3 ] ; else
14105: LD_ADDR_VAR 0 3
14109: PUSH
14110: LD_INT 1
14112: PUSH
14113: LD_INT 3
14115: PUSH
14116: EMPTY
14117: LIST
14118: LIST
14119: ST_TO_ADDR
14120: GO 14130
14122: POP
// VYB = [ ] ; end ;
14123: LD_ADDR_VAR 0 3
14127: PUSH
14128: EMPTY
14129: ST_TO_ADDR
// if Ru_ally then
14130: LD_EXP 28
14134: IFFALSE 14150
// VYB = VYB ^ 5 ;
14136: LD_ADDR_VAR 0 3
14140: PUSH
14141: LD_VAR 0 3
14145: PUSH
14146: LD_INT 5
14148: ADD
14149: ST_TO_ADDR
// if Ru_pomoc = 1 then
14150: LD_EXP 33
14154: PUSH
14155: LD_INT 1
14157: EQUAL
14158: IFFALSE 14174
// VYB = VYB ^ 6 ;
14160: LD_ADDR_VAR 0 3
14164: PUSH
14165: LD_VAR 0 3
14169: PUSH
14170: LD_INT 6
14172: ADD
14173: ST_TO_ADDR
// if Ru_pomoc = 2 then
14174: LD_EXP 33
14178: PUSH
14179: LD_INT 2
14181: EQUAL
14182: IFFALSE 14198
// VYB = VYB ^ 7 ;
14184: LD_ADDR_VAR 0 3
14188: PUSH
14189: LD_VAR 0 3
14193: PUSH
14194: LD_INT 7
14196: ADD
14197: ST_TO_ADDR
// if not Am_ally then
14198: LD_EXP 18
14202: NOT
14203: IFFALSE 14221
// VYB = VYB ^ 8 else
14205: LD_ADDR_VAR 0 3
14209: PUSH
14210: LD_VAR 0 3
14214: PUSH
14215: LD_INT 8
14217: ADD
14218: ST_TO_ADDR
14219: GO 14235
// VYB = VYB ^ 9 ;
14221: LD_ADDR_VAR 0 3
14225: PUSH
14226: LD_VAR 0 3
14230: PUSH
14231: LD_INT 9
14233: ADD
14234: ST_TO_ADDR
// VYB = VYB ^ 10 ;
14235: LD_ADDR_VAR 0 3
14239: PUSH
14240: LD_VAR 0 3
14244: PUSH
14245: LD_INT 10
14247: ADD
14248: ST_TO_ADDR
// case VZTAHY [ 1 ] of 6 .. 35 :
14249: LD_EXP 11
14253: PUSH
14254: LD_INT 1
14256: ARRAY
14257: PUSH
14258: LD_INT 6
14260: DOUBLE
14261: GREATEREQUAL
14262: IFFALSE 14270
14264: LD_INT 35
14266: DOUBLE
14267: LESSEQUAL
14268: IFTRUE 14272
14270: GO 14289
14272: POP
// VYB = VYB ^ 11 ; 36 .. 65 :
14273: LD_ADDR_VAR 0 3
14277: PUSH
14278: LD_VAR 0 3
14282: PUSH
14283: LD_INT 11
14285: ADD
14286: ST_TO_ADDR
14287: GO 14352
14289: LD_INT 36
14291: DOUBLE
14292: GREATEREQUAL
14293: IFFALSE 14301
14295: LD_INT 65
14297: DOUBLE
14298: LESSEQUAL
14299: IFTRUE 14303
14301: GO 14320
14303: POP
// VYB = VYB ^ 12 ; 66 .. 95 :
14304: LD_ADDR_VAR 0 3
14308: PUSH
14309: LD_VAR 0 3
14313: PUSH
14314: LD_INT 12
14316: ADD
14317: ST_TO_ADDR
14318: GO 14352
14320: LD_INT 66
14322: DOUBLE
14323: GREATEREQUAL
14324: IFFALSE 14332
14326: LD_INT 95
14328: DOUBLE
14329: LESSEQUAL
14330: IFTRUE 14334
14332: GO 14351
14334: POP
// VYB = VYB ^ 13 ; end ;
14335: LD_ADDR_VAR 0 3
14339: PUSH
14340: LD_VAR 0 3
14344: PUSH
14345: LD_INT 13
14347: ADD
14348: ST_TO_ADDR
14349: GO 14352
14351: POP
// if Am_ally then
14352: LD_EXP 18
14356: IFFALSE 14372
// VYB = VYB ^ 14 ;
14358: LD_ADDR_VAR 0 3
14362: PUSH
14363: LD_VAR 0 3
14367: PUSH
14368: LD_INT 14
14370: ADD
14371: ST_TO_ADDR
// if not Ru_ally then
14372: LD_EXP 28
14376: NOT
14377: IFFALSE 14400
// VYB = VYB ^ [ 15 , 16 ] ;
14379: LD_ADDR_VAR 0 3
14383: PUSH
14384: LD_VAR 0 3
14388: PUSH
14389: LD_INT 15
14391: PUSH
14392: LD_INT 16
14394: PUSH
14395: EMPTY
14396: LIST
14397: LIST
14398: ADD
14399: ST_TO_ADDR
// VYB = VYB ^ 17 ;
14400: LD_ADDR_VAR 0 3
14404: PUSH
14405: LD_VAR 0 3
14409: PUSH
14410: LD_INT 17
14412: ADD
14413: ST_TO_ADDR
// if Ru_ally then
14414: LD_EXP 28
14418: IFFALSE 14434
// VYB = VYB ^ 18 ;
14420: LD_ADDR_VAR 0 3
14424: PUSH
14425: LD_VAR 0 3
14429: PUSH
14430: LD_INT 18
14432: ADD
14433: ST_TO_ADDR
// pom = SelectiveQuery ( QA , VYB ) ;
14434: LD_ADDR_VAR 0 4
14438: PUSH
14439: LD_STRING QA
14441: PPUSH
14442: LD_VAR 0 3
14446: PPUSH
14447: CALL_OW 98
14451: ST_TO_ADDR
// case pom of 1 :
14452: LD_VAR 0 4
14456: PUSH
14457: LD_INT 1
14459: DOUBLE
14460: EQUAL
14461: IFTRUE 14465
14463: GO 14484
14465: POP
// begin zmen_stav ( Amici , - 2 , false ) ;
14466: LD_EXP 2
14470: PPUSH
14471: LD_INT 2
14473: NEG
14474: PPUSH
14475: LD_INT 0
14477: PPUSH
14478: CALL 198 0 3
// end ; 2 :
14482: GO 16619
14484: LD_INT 2
14486: DOUBLE
14487: EQUAL
14488: IFTRUE 14492
14490: GO 14595
14492: POP
// begin i = Rand ( 1 , 3 ) ;
14493: LD_ADDR_VAR 0 5
14497: PUSH
14498: LD_INT 1
14500: PPUSH
14501: LD_INT 3
14503: PPUSH
14504: CALL_OW 12
14508: ST_TO_ADDR
// case i of 1 :
14509: LD_VAR 0 5
14513: PUSH
14514: LD_INT 1
14516: DOUBLE
14517: EQUAL
14518: IFTRUE 14522
14520: GO 14535
14522: POP
// Say ( Heike , DADecent-H-1 ) ; 2 :
14523: LD_INT 35
14525: PPUSH
14526: LD_STRING DADecent-H-1
14528: PPUSH
14529: CALL_OW 88
14533: GO 14578
14535: LD_INT 2
14537: DOUBLE
14538: EQUAL
14539: IFTRUE 14543
14541: GO 14556
14543: POP
// Say ( Heike , DADecent-H-1a ) ; 3 :
14544: LD_INT 35
14546: PPUSH
14547: LD_STRING DADecent-H-1a
14549: PPUSH
14550: CALL_OW 88
14554: GO 14578
14556: LD_INT 3
14558: DOUBLE
14559: EQUAL
14560: IFTRUE 14564
14562: GO 14577
14564: POP
// Say ( Heike , DADecent-H-1b ) ; end ;
14565: LD_INT 35
14567: PPUSH
14568: LD_STRING DADecent-H-1b
14570: PPUSH
14571: CALL_OW 88
14575: GO 14578
14577: POP
// zmen_stav ( Amici , 1 , false ) ;
14578: LD_EXP 2
14582: PPUSH
14583: LD_INT 1
14585: PPUSH
14586: LD_INT 0
14588: PPUSH
14589: CALL 198 0 3
// end ; 3 :
14593: GO 16619
14595: LD_INT 3
14597: DOUBLE
14598: EQUAL
14599: IFTRUE 14603
14601: GO 14707
14603: POP
// begin i = Rand ( 1 , 3 ) ;
14604: LD_ADDR_VAR 0 5
14608: PUSH
14609: LD_INT 1
14611: PPUSH
14612: LD_INT 3
14614: PPUSH
14615: CALL_OW 12
14619: ST_TO_ADDR
// case i of 1 :
14620: LD_VAR 0 5
14624: PUSH
14625: LD_INT 1
14627: DOUBLE
14628: EQUAL
14629: IFTRUE 14633
14631: GO 14646
14633: POP
// Say ( Heike , DAOutrage--H-1 ) ; 2 :
14634: LD_INT 35
14636: PPUSH
14637: LD_STRING DAOutrage--H-1
14639: PPUSH
14640: CALL_OW 88
14644: GO 14689
14646: LD_INT 2
14648: DOUBLE
14649: EQUAL
14650: IFTRUE 14654
14652: GO 14667
14654: POP
// Say ( Heike , DAOutrage--H-1a ) ; 3 :
14655: LD_INT 35
14657: PPUSH
14658: LD_STRING DAOutrage--H-1a
14660: PPUSH
14661: CALL_OW 88
14665: GO 14689
14667: LD_INT 3
14669: DOUBLE
14670: EQUAL
14671: IFTRUE 14675
14673: GO 14688
14675: POP
// Say ( Heike , DAOutrage--H-1b ) ; end ;
14676: LD_INT 35
14678: PPUSH
14679: LD_STRING DAOutrage--H-1b
14681: PPUSH
14682: CALL_OW 88
14686: GO 14689
14688: POP
// zmen_stav ( Amici , - 3 , false ) ;
14689: LD_EXP 2
14693: PPUSH
14694: LD_INT 3
14696: NEG
14697: PPUSH
14698: LD_INT 0
14700: PPUSH
14701: CALL 198 0 3
// end ; 4 :
14705: GO 16619
14707: LD_INT 4
14709: DOUBLE
14710: EQUAL
14711: IFTRUE 14715
14713: GO 14942
14715: POP
// begin Say ( Heike , DAApol1-H-1 ) ;
14716: LD_INT 35
14718: PPUSH
14719: LD_STRING DAApol1-H-1
14721: PPUSH
14722: CALL_OW 88
// zmen_stav ( Rusi , - 20 , false ) ;
14726: LD_EXP 3
14730: PPUSH
14731: LD_INT 20
14733: NEG
14734: PPUSH
14735: LD_INT 0
14737: PPUSH
14738: CALL 198 0 3
// Ru_ally = false ;
14742: LD_ADDR_EXP 28
14746: PUSH
14747: LD_INT 0
14749: ST_TO_ADDR
// zmen_stav ( Amici , 10 , false ) ;
14750: LD_EXP 2
14754: PPUSH
14755: LD_INT 10
14757: PPUSH
14758: LD_INT 0
14760: PPUSH
14761: CALL 198 0 3
// case VZTAHY [ 1 ] of 6 .. 35 :
14765: LD_EXP 11
14769: PUSH
14770: LD_INT 1
14772: ARRAY
14773: PUSH
14774: LD_INT 6
14776: DOUBLE
14777: GREATEREQUAL
14778: IFFALSE 14786
14780: LD_INT 35
14782: DOUBLE
14783: LESSEQUAL
14784: IFTRUE 14788
14786: GO 14829
14788: POP
// if not SDEAD then
14789: LD_EXP 21
14793: NOT
14794: IFFALSE 14808
// Say ( Sik , DAApol1-Sik-3 ) else
14796: LD_INT 89
14798: PPUSH
14799: LD_STRING DAApol1-Sik-3
14801: PPUSH
14802: CALL_OW 88
14806: GO 14827
// if IsOK ( Don ) then
14808: LD_INT 91
14810: PPUSH
14811: CALL_OW 302
14815: IFFALSE 14827
// Say ( Don , DAApol1-Don-3 ) ; 36 .. 65 :
14817: LD_INT 91
14819: PPUSH
14820: LD_STRING DAApol1-Don-3
14822: PPUSH
14823: CALL_OW 88
14827: GO 14940
14829: LD_INT 36
14831: DOUBLE
14832: GREATEREQUAL
14833: IFFALSE 14841
14835: LD_INT 65
14837: DOUBLE
14838: LESSEQUAL
14839: IFTRUE 14843
14841: GO 14884
14843: POP
// if not SDEAD then
14844: LD_EXP 21
14848: NOT
14849: IFFALSE 14863
// Say ( Sik , DAApol1-Sik-2 ) else
14851: LD_INT 89
14853: PPUSH
14854: LD_STRING DAApol1-Sik-2
14856: PPUSH
14857: CALL_OW 88
14861: GO 14882
// if IsOK ( Don ) then
14863: LD_INT 91
14865: PPUSH
14866: CALL_OW 302
14870: IFFALSE 14882
// Say ( Don , DAApol1-Don-2 ) ; 66 .. 95 :
14872: LD_INT 91
14874: PPUSH
14875: LD_STRING DAApol1-Don-2
14877: PPUSH
14878: CALL_OW 88
14882: GO 14940
14884: LD_INT 66
14886: DOUBLE
14887: GREATEREQUAL
14888: IFFALSE 14896
14890: LD_INT 95
14892: DOUBLE
14893: LESSEQUAL
14894: IFTRUE 14898
14896: GO 14939
14898: POP
// if not SDEAD then
14899: LD_EXP 21
14903: NOT
14904: IFFALSE 14918
// Say ( Sik , DAApol1-Sik-1 ) else
14906: LD_INT 89
14908: PPUSH
14909: LD_STRING DAApol1-Sik-1
14911: PPUSH
14912: CALL_OW 88
14916: GO 14937
// if IsOK ( Don ) then
14918: LD_INT 91
14920: PPUSH
14921: CALL_OW 302
14925: IFFALSE 14937
// Say ( Don , DAApol1-Don-1 ) ; end ;
14927: LD_INT 91
14929: PPUSH
14930: LD_STRING DAApol1-Don-1
14932: PPUSH
14933: CALL_OW 88
14937: GO 14940
14939: POP
// end ; 5 :
14940: GO 16619
14942: LD_INT 5
14944: DOUBLE
14945: EQUAL
14946: IFTRUE 14950
14948: GO 15169
14950: POP
// begin Say ( Heike , DAApol1-H-1a ) ;
14951: LD_INT 35
14953: PPUSH
14954: LD_STRING DAApol1-H-1a
14956: PPUSH
14957: CALL_OW 88
// zmen_stav ( Rusi , - 10 , false ) ;
14961: LD_EXP 3
14965: PPUSH
14966: LD_INT 10
14968: NEG
14969: PPUSH
14970: LD_INT 0
14972: PPUSH
14973: CALL 198 0 3
// zmen_stav ( Amici , 6 , false ) ;
14977: LD_EXP 2
14981: PPUSH
14982: LD_INT 6
14984: PPUSH
14985: LD_INT 0
14987: PPUSH
14988: CALL 198 0 3
// case VZTAHY [ 1 ] of 6 .. 35 :
14992: LD_EXP 11
14996: PUSH
14997: LD_INT 1
14999: ARRAY
15000: PUSH
15001: LD_INT 6
15003: DOUBLE
15004: GREATEREQUAL
15005: IFFALSE 15013
15007: LD_INT 35
15009: DOUBLE
15010: LESSEQUAL
15011: IFTRUE 15015
15013: GO 15056
15015: POP
// if not SDEAD then
15016: LD_EXP 21
15020: NOT
15021: IFFALSE 15035
// Say ( Sik , DAApol1-Sik-3 ) else
15023: LD_INT 89
15025: PPUSH
15026: LD_STRING DAApol1-Sik-3
15028: PPUSH
15029: CALL_OW 88
15033: GO 15054
// if IsOK ( Don ) then
15035: LD_INT 91
15037: PPUSH
15038: CALL_OW 302
15042: IFFALSE 15054
// Say ( Don , DAApol1-Don-3 ) ; 36 .. 65 :
15044: LD_INT 91
15046: PPUSH
15047: LD_STRING DAApol1-Don-3
15049: PPUSH
15050: CALL_OW 88
15054: GO 15167
15056: LD_INT 36
15058: DOUBLE
15059: GREATEREQUAL
15060: IFFALSE 15068
15062: LD_INT 65
15064: DOUBLE
15065: LESSEQUAL
15066: IFTRUE 15070
15068: GO 15111
15070: POP
// if not SDEAD then
15071: LD_EXP 21
15075: NOT
15076: IFFALSE 15090
// Say ( Sik , DAApol1-Sik-2 ) else
15078: LD_INT 89
15080: PPUSH
15081: LD_STRING DAApol1-Sik-2
15083: PPUSH
15084: CALL_OW 88
15088: GO 15109
// if IsOK ( Don ) then
15090: LD_INT 91
15092: PPUSH
15093: CALL_OW 302
15097: IFFALSE 15109
// Say ( Don , DAApol1-Don-2 ) ; 66 .. 95 :
15099: LD_INT 91
15101: PPUSH
15102: LD_STRING DAApol1-Don-2
15104: PPUSH
15105: CALL_OW 88
15109: GO 15167
15111: LD_INT 66
15113: DOUBLE
15114: GREATEREQUAL
15115: IFFALSE 15123
15117: LD_INT 95
15119: DOUBLE
15120: LESSEQUAL
15121: IFTRUE 15125
15123: GO 15166
15125: POP
// if not SDEAD then
15126: LD_EXP 21
15130: NOT
15131: IFFALSE 15145
// Say ( Sik , DAApol1-Sik-1 ) else
15133: LD_INT 89
15135: PPUSH
15136: LD_STRING DAApol1-Sik-1
15138: PPUSH
15139: CALL_OW 88
15143: GO 15164
// if IsOK ( Don ) then
15145: LD_INT 91
15147: PPUSH
15148: CALL_OW 302
15152: IFFALSE 15164
// Say ( Don , DAApol1-Don-1 ) ; end ;
15154: LD_INT 91
15156: PPUSH
15157: LD_STRING DAApol1-Don-1
15159: PPUSH
15160: CALL_OW 88
15164: GO 15167
15166: POP
// end ; 6 :
15167: GO 16619
15169: LD_INT 6
15171: DOUBLE
15172: EQUAL
15173: IFTRUE 15177
15175: GO 15396
15177: POP
// begin Say ( Heike , DAApol1-H-1b ) ;
15178: LD_INT 35
15180: PPUSH
15181: LD_STRING DAApol1-H-1b
15183: PPUSH
15184: CALL_OW 88
// zmen_stav ( Rusi , - 5 , false ) ;
15188: LD_EXP 3
15192: PPUSH
15193: LD_INT 5
15195: NEG
15196: PPUSH
15197: LD_INT 0
15199: PPUSH
15200: CALL 198 0 3
// zmen_stav ( Amici , 8 , false ) ;
15204: LD_EXP 2
15208: PPUSH
15209: LD_INT 8
15211: PPUSH
15212: LD_INT 0
15214: PPUSH
15215: CALL 198 0 3
// case VZTAHY [ 1 ] of 6 .. 35 :
15219: LD_EXP 11
15223: PUSH
15224: LD_INT 1
15226: ARRAY
15227: PUSH
15228: LD_INT 6
15230: DOUBLE
15231: GREATEREQUAL
15232: IFFALSE 15240
15234: LD_INT 35
15236: DOUBLE
15237: LESSEQUAL
15238: IFTRUE 15242
15240: GO 15283
15242: POP
// if not SDEAD then
15243: LD_EXP 21
15247: NOT
15248: IFFALSE 15262
// Say ( Sik , DAApol1-Sik-3 ) else
15250: LD_INT 89
15252: PPUSH
15253: LD_STRING DAApol1-Sik-3
15255: PPUSH
15256: CALL_OW 88
15260: GO 15281
// if IsOK ( Don ) then
15262: LD_INT 91
15264: PPUSH
15265: CALL_OW 302
15269: IFFALSE 15281
// Say ( Don , DAApol1-Don-3 ) ; 36 .. 65 :
15271: LD_INT 91
15273: PPUSH
15274: LD_STRING DAApol1-Don-3
15276: PPUSH
15277: CALL_OW 88
15281: GO 15394
15283: LD_INT 36
15285: DOUBLE
15286: GREATEREQUAL
15287: IFFALSE 15295
15289: LD_INT 65
15291: DOUBLE
15292: LESSEQUAL
15293: IFTRUE 15297
15295: GO 15338
15297: POP
// if not SDEAD then
15298: LD_EXP 21
15302: NOT
15303: IFFALSE 15317
// Say ( Sik , DAApol1-Sik-2 ) else
15305: LD_INT 89
15307: PPUSH
15308: LD_STRING DAApol1-Sik-2
15310: PPUSH
15311: CALL_OW 88
15315: GO 15336
// if IsOK ( Don ) then
15317: LD_INT 91
15319: PPUSH
15320: CALL_OW 302
15324: IFFALSE 15336
// Say ( Don , DAApol1-Don-2 ) ; 66 .. 95 :
15326: LD_INT 91
15328: PPUSH
15329: LD_STRING DAApol1-Don-2
15331: PPUSH
15332: CALL_OW 88
15336: GO 15394
15338: LD_INT 66
15340: DOUBLE
15341: GREATEREQUAL
15342: IFFALSE 15350
15344: LD_INT 95
15346: DOUBLE
15347: LESSEQUAL
15348: IFTRUE 15352
15350: GO 15393
15352: POP
// if not SDEAD then
15353: LD_EXP 21
15357: NOT
15358: IFFALSE 15372
// Say ( Sik , DAApol1-Sik-1 ) else
15360: LD_INT 89
15362: PPUSH
15363: LD_STRING DAApol1-Sik-1
15365: PPUSH
15366: CALL_OW 88
15370: GO 15391
// if IsOK ( Don ) then
15372: LD_INT 91
15374: PPUSH
15375: CALL_OW 302
15379: IFFALSE 15391
// Say ( Don , DAApol1-Don-1 ) ; end ;
15381: LD_INT 91
15383: PPUSH
15384: LD_STRING DAApol1-Don-1
15386: PPUSH
15387: CALL_OW 88
15391: GO 15394
15393: POP
// end ; 7 :
15394: GO 16619
15396: LD_INT 7
15398: DOUBLE
15399: EQUAL
15400: IFTRUE 15404
15402: GO 15756
15404: POP
// begin if SDEAD then
15405: LD_EXP 21
15409: IFFALSE 15423
// Say ( Heike , DAAlly-H-1 ) else
15411: LD_INT 35
15413: PPUSH
15414: LD_STRING DAAlly-H-1
15416: PPUSH
15417: CALL_OW 88
15421: GO 15433
// Say ( Heike , DAAlly-H-1a ) ;
15423: LD_INT 35
15425: PPUSH
15426: LD_STRING DAAlly-H-1a
15428: PPUSH
15429: CALL_OW 88
// if RU_ally then
15433: LD_EXP 28
15437: IFFALSE 15509
// begin if SDEAD then
15439: LD_EXP 21
15443: IFFALSE 15457
// Say ( Don , DAAlly-Don-1 ) else
15445: LD_INT 91
15447: PPUSH
15448: LD_STRING DAAlly-Don-1
15450: PPUSH
15451: CALL_OW 88
15455: GO 15467
// Say ( Sik , DAAlly-Sik-2 ) ;
15457: LD_INT 89
15459: PPUSH
15460: LD_STRING DAAlly-Sik-2
15462: PPUSH
15463: CALL_OW 88
// Ru_ally = false ;
15467: LD_ADDR_EXP 28
15471: PUSH
15472: LD_INT 0
15474: ST_TO_ADDR
// zmen_stav ( Amici , - 8 , false ) ;
15475: LD_EXP 2
15479: PPUSH
15480: LD_INT 8
15482: NEG
15483: PPUSH
15484: LD_INT 0
15486: PPUSH
15487: CALL 198 0 3
// zmen_stav ( Rusi , - 25 , false ) ;
15491: LD_EXP 3
15495: PPUSH
15496: LD_INT 25
15498: NEG
15499: PPUSH
15500: LD_INT 0
15502: PPUSH
15503: CALL 198 0 3
// end else
15507: GO 15754
// begin zmen_stav ( Rusi , - 15 , false ) ;
15509: LD_EXP 3
15513: PPUSH
15514: LD_INT 15
15516: NEG
15517: PPUSH
15518: LD_INT 0
15520: PPUSH
15521: CALL 198 0 3
// zmen_stav ( Amici , 15 , false ) ;
15525: LD_EXP 2
15529: PPUSH
15530: LD_INT 15
15532: PPUSH
15533: LD_INT 0
15535: PPUSH
15536: CALL 198 0 3
// case VZTAHY [ 1 ] of 6 .. 35 :
15540: LD_EXP 11
15544: PUSH
15545: LD_INT 1
15547: ARRAY
15548: PUSH
15549: LD_INT 6
15551: DOUBLE
15552: GREATEREQUAL
15553: IFFALSE 15561
15555: LD_INT 35
15557: DOUBLE
15558: LESSEQUAL
15559: IFTRUE 15563
15561: GO 15604
15563: POP
// if not SDEAD then
15564: LD_EXP 21
15568: NOT
15569: IFFALSE 15583
// Say ( Sik , DAAlly-Sik-2 ) else
15571: LD_INT 89
15573: PPUSH
15574: LD_STRING DAAlly-Sik-2
15576: PPUSH
15577: CALL_OW 88
15581: GO 15602
// if IsOK ( Don ) then
15583: LD_INT 91
15585: PPUSH
15586: CALL_OW 302
15590: IFFALSE 15602
// Say ( Don , DAAlly-Don-2 ) ; 36 .. 65 :
15592: LD_INT 91
15594: PPUSH
15595: LD_STRING DAAlly-Don-2
15597: PPUSH
15598: CALL_OW 88
15602: GO 15754
15604: LD_INT 36
15606: DOUBLE
15607: GREATEREQUAL
15608: IFFALSE 15616
15610: LD_INT 65
15612: DOUBLE
15613: LESSEQUAL
15614: IFTRUE 15618
15616: GO 15659
15618: POP
// if not SDEAD then
15619: LD_EXP 21
15623: NOT
15624: IFFALSE 15638
// Say ( Sik , DAAlly-Sik-3 ) else
15626: LD_INT 89
15628: PPUSH
15629: LD_STRING DAAlly-Sik-3
15631: PPUSH
15632: CALL_OW 88
15636: GO 15657
// if IsOK ( Don ) then
15638: LD_INT 91
15640: PPUSH
15641: CALL_OW 302
15645: IFFALSE 15657
// Say ( Don , DAAlly-Sik-3 ) ; 66 .. 95 :
15647: LD_INT 91
15649: PPUSH
15650: LD_STRING DAAlly-Sik-3
15652: PPUSH
15653: CALL_OW 88
15657: GO 15754
15659: LD_INT 66
15661: DOUBLE
15662: GREATEREQUAL
15663: IFFALSE 15671
15665: LD_INT 95
15667: DOUBLE
15668: LESSEQUAL
15669: IFTRUE 15673
15671: GO 15753
15673: POP
// begin if not SDEAD then
15674: LD_EXP 21
15678: NOT
15679: IFFALSE 15693
// Say ( Sik , DAAlly-Sik-4 ) else
15681: LD_INT 89
15683: PPUSH
15684: LD_STRING DAAlly-Sik-4
15686: PPUSH
15687: CALL_OW 88
15691: GO 15712
// if IsOK ( Don ) then
15693: LD_INT 91
15695: PPUSH
15696: CALL_OW 302
15700: IFFALSE 15712
// Say ( Don , DAAlly-Sik-4 ) ;
15702: LD_INT 91
15704: PPUSH
15705: LD_STRING DAAlly-Sik-4
15707: PPUSH
15708: CALL_OW 88
// zmen_stav ( Amici , 30 , false ) ;
15712: LD_EXP 2
15716: PPUSH
15717: LD_INT 30
15719: PPUSH
15720: LD_INT 0
15722: PPUSH
15723: CALL 198 0 3
// Am_ally = true ;
15727: LD_ADDR_EXP 18
15731: PUSH
15732: LD_INT 1
15734: ST_TO_ADDR
// zmen_stav ( Rusi , - 40 , false ) ;
15735: LD_EXP 3
15739: PPUSH
15740: LD_INT 40
15742: NEG
15743: PPUSH
15744: LD_INT 0
15746: PPUSH
15747: CALL 198 0 3
// end ; end ;
15751: GO 15754
15753: POP
// end ; end ; 8 :
15754: GO 16619
15756: LD_INT 8
15758: DOUBLE
15759: EQUAL
15760: IFTRUE 15764
15762: GO 15954
15764: POP
// begin if SDEAD then
15765: LD_EXP 21
15769: IFFALSE 15783
// Say ( Heike , DACloseAlly-H-1a ) else
15771: LD_INT 35
15773: PPUSH
15774: LD_STRING DACloseAlly-H-1a
15776: PPUSH
15777: CALL_OW 88
15781: GO 15793
// Say ( Heike , DACloseAlly-H-1 ) ;
15783: LD_INT 35
15785: PPUSH
15786: LD_STRING DACloseAlly-H-1
15788: PPUSH
15789: CALL_OW 88
// zmen_stav ( Rusi , 5 , false ) ;
15793: LD_EXP 3
15797: PPUSH
15798: LD_INT 5
15800: PPUSH
15801: LD_INT 0
15803: PPUSH
15804: CALL 198 0 3
// zmen_stav ( Amici , - 10 , false ) ;
15808: LD_EXP 2
15812: PPUSH
15813: LD_INT 10
15815: NEG
15816: PPUSH
15817: LD_INT 0
15819: PPUSH
15820: CALL 198 0 3
// Am_ally = false ;
15824: LD_ADDR_EXP 18
15828: PUSH
15829: LD_INT 0
15831: ST_TO_ADDR
// case VZTAHY [ 1 ] of 6 .. 65 :
15832: LD_EXP 11
15836: PUSH
15837: LD_INT 1
15839: ARRAY
15840: PUSH
15841: LD_INT 6
15843: DOUBLE
15844: GREATEREQUAL
15845: IFFALSE 15853
15847: LD_INT 65
15849: DOUBLE
15850: LESSEQUAL
15851: IFTRUE 15855
15853: GO 15896
15855: POP
// if not SDEAD then
15856: LD_EXP 21
15860: NOT
15861: IFFALSE 15875
// Say ( Sik , DACloseAlly-Sik-2 ) else
15863: LD_INT 89
15865: PPUSH
15866: LD_STRING DACloseAlly-Sik-2
15868: PPUSH
15869: CALL_OW 88
15873: GO 15894
// if IsOK ( Don ) then
15875: LD_INT 91
15877: PPUSH
15878: CALL_OW 302
15882: IFFALSE 15894
// Say ( Don , DACloseAlly-Sik-2 ) ; 66 .. 95 :
15884: LD_INT 91
15886: PPUSH
15887: LD_STRING DACloseAlly-Sik-2
15889: PPUSH
15890: CALL_OW 88
15894: GO 15952
15896: LD_INT 66
15898: DOUBLE
15899: GREATEREQUAL
15900: IFFALSE 15908
15902: LD_INT 95
15904: DOUBLE
15905: LESSEQUAL
15906: IFTRUE 15910
15908: GO 15951
15910: POP
// if not SDEAD then
15911: LD_EXP 21
15915: NOT
15916: IFFALSE 15930
// Say ( Sik , DACloseAlly-Sik-1 ) else
15918: LD_INT 89
15920: PPUSH
15921: LD_STRING DACloseAlly-Sik-1
15923: PPUSH
15924: CALL_OW 88
15928: GO 15949
// if IsOK ( Don ) then
15930: LD_INT 91
15932: PPUSH
15933: CALL_OW 302
15937: IFFALSE 15949
// Say ( Don , DACloseAlly-Sik-1 ) ; end ;
15939: LD_INT 91
15941: PPUSH
15942: LD_STRING DACloseAlly-Sik-1
15944: PPUSH
15945: CALL_OW 88
15949: GO 15952
15951: POP
// end ; 9 :
15952: GO 16619
15954: LD_INT 9
15956: DOUBLE
15957: EQUAL
15958: IFTRUE 15962
15960: GO 16294
15962: POP
// begin Say ( Heike , DAHelp-H-1 ) ;
15963: LD_INT 35
15965: PPUSH
15966: LD_STRING DAHelp-H-1
15968: PPUSH
15969: CALL_OW 88
// if SDEAD then
15973: LD_EXP 21
15977: IFFALSE 15991
// Say ( Don , DAHelp-Don-1 ) else
15979: LD_INT 91
15981: PPUSH
15982: LD_STRING DAHelp-Don-1
15984: PPUSH
15985: CALL_OW 88
15989: GO 16001
// Say ( Sik , DAHelp-Sik-1 ) ;
15991: LD_INT 89
15993: PPUSH
15994: LD_STRING DAHelp-Sik-1
15996: PPUSH
15997: CALL_OW 88
// zmen_stav ( Rusi , - 9 , false ) ;
16001: LD_EXP 3
16005: PPUSH
16006: LD_INT 9
16008: NEG
16009: PPUSH
16010: LD_INT 0
16012: PPUSH
16013: CALL 198 0 3
// zmen_stav ( Amici , 2 , false ) ;
16017: LD_EXP 2
16021: PPUSH
16022: LD_INT 2
16024: PPUSH
16025: LD_INT 0
16027: PPUSH
16028: CALL 198 0 3
// ij = Query ( QAHelp ) ;
16032: LD_ADDR_VAR 0 6
16036: PUSH
16037: LD_STRING QAHelp
16039: PPUSH
16040: CALL_OW 97
16044: ST_TO_ADDR
// case ij of 1 :
16045: LD_VAR 0 6
16049: PUSH
16050: LD_INT 1
16052: DOUBLE
16053: EQUAL
16054: IFTRUE 16058
16056: GO 16071
16058: POP
// begin Say ( Heike , DAHelp1-H-1 ) ;
16059: LD_INT 35
16061: PPUSH
16062: LD_STRING DAHelp1-H-1
16064: PPUSH
16065: CALL_OW 88
// end ; 2 :
16069: GO 16264
16071: LD_INT 2
16073: DOUBLE
16074: EQUAL
16075: IFTRUE 16079
16077: GO 16135
16079: POP
// begin Say ( Heike , DAHelp2-H-1 ) ;
16080: LD_INT 35
16082: PPUSH
16083: LD_STRING DAHelp2-H-1
16085: PPUSH
16086: CALL_OW 88
// if SDEAD then
16090: LD_EXP 21
16094: IFFALSE 16108
// Say ( Don , DAHelp2-Don-1 ) else
16096: LD_INT 91
16098: PPUSH
16099: LD_STRING DAHelp2-Don-1
16101: PPUSH
16102: CALL_OW 88
16106: GO 16118
// Say ( Sik , DAHelp2-Sik-1 ) ;
16108: LD_INT 89
16110: PPUSH
16111: LD_STRING DAHelp2-Sik-1
16113: PPUSH
16114: CALL_OW 88
// zmen_stav ( Amici , 3 , false ) ;
16118: LD_EXP 2
16122: PPUSH
16123: LD_INT 3
16125: PPUSH
16126: LD_INT 0
16128: PPUSH
16129: CALL 198 0 3
// end ; 3 :
16133: GO 16264
16135: LD_INT 3
16137: DOUBLE
16138: EQUAL
16139: IFTRUE 16143
16141: GO 16199
16143: POP
// begin Say ( Heike , DAHelp2a-H-1 ) ;
16144: LD_INT 35
16146: PPUSH
16147: LD_STRING DAHelp2a-H-1
16149: PPUSH
16150: CALL_OW 88
// if SDEAD then
16154: LD_EXP 21
16158: IFFALSE 16172
// Say ( Don , DAHelp2a-Don-1 ) else
16160: LD_INT 91
16162: PPUSH
16163: LD_STRING DAHelp2a-Don-1
16165: PPUSH
16166: CALL_OW 88
16170: GO 16182
// Say ( Sik , DAHelp2a-Sik-1 ) ;
16172: LD_INT 89
16174: PPUSH
16175: LD_STRING DAHelp2a-Sik-1
16177: PPUSH
16178: CALL_OW 88
// zmen_stav ( Rusi , 5 , false ) ;
16182: LD_EXP 3
16186: PPUSH
16187: LD_INT 5
16189: PPUSH
16190: LD_INT 0
16192: PPUSH
16193: CALL 198 0 3
// end ; 4 :
16197: GO 16264
16199: LD_INT 4
16201: DOUBLE
16202: EQUAL
16203: IFTRUE 16207
16205: GO 16263
16207: POP
// begin Say ( Heike , DAHelp3-H-1 ) ;
16208: LD_INT 35
16210: PPUSH
16211: LD_STRING DAHelp3-H-1
16213: PPUSH
16214: CALL_OW 88
// if SDEAD then
16218: LD_EXP 21
16222: IFFALSE 16236
// Say ( Don , DAHelp3-Don-1 ) else
16224: LD_INT 91
16226: PPUSH
16227: LD_STRING DAHelp3-Don-1
16229: PPUSH
16230: CALL_OW 88
16234: GO 16246
// Say ( Sik , DAHelp3-Sik-1 ) ;
16236: LD_INT 89
16238: PPUSH
16239: LD_STRING DAHelp3-Sik-1
16241: PPUSH
16242: CALL_OW 88
// zmen_stav ( Rusi , 5 , false ) ;
16246: LD_EXP 3
16250: PPUSH
16251: LD_INT 5
16253: PPUSH
16254: LD_INT 0
16256: PPUSH
16257: CALL 198 0 3
// end ; end ;
16261: GO 16264
16263: POP
// if ij <> 1 or Am_pomoc <> 2 then
16264: LD_VAR 0 6
16268: PUSH
16269: LD_INT 1
16271: NONEQUAL
16272: PUSH
16273: LD_EXP 22
16277: PUSH
16278: LD_INT 2
16280: NONEQUAL
16281: OR
16282: IFFALSE 16292
// Am_pomoc = 1 ;
16284: LD_ADDR_EXP 22
16288: PUSH
16289: LD_INT 1
16291: ST_TO_ADDR
// end ; 10 :
16292: GO 16619
16294: LD_INT 10
16296: DOUBLE
16297: EQUAL
16298: IFTRUE 16302
16300: GO 16346
16302: POP
// begin Say ( Heike , DEmph-H-1 ) ;
16303: LD_INT 35
16305: PPUSH
16306: LD_STRING DEmph-H-1
16308: PPUSH
16309: CALL_OW 88
// zmen_stav ( Rusi , 1 , false ) ;
16313: LD_EXP 3
16317: PPUSH
16318: LD_INT 1
16320: PPUSH
16321: LD_INT 0
16323: PPUSH
16324: CALL 198 0 3
// zmen_stav ( Amici , - 10 , false ) ;
16328: LD_EXP 2
16332: PPUSH
16333: LD_INT 10
16335: NEG
16336: PPUSH
16337: LD_INT 0
16339: PPUSH
16340: CALL 198 0 3
// end ; 11 :
16344: GO 16619
16346: LD_INT 11
16348: DOUBLE
16349: EQUAL
16350: IFTRUE 16354
16352: GO 16367
16354: POP
// begin Say ( Heike , DEmph-H-1a ) ;
16355: LD_INT 35
16357: PPUSH
16358: LD_STRING DEmph-H-1a
16360: PPUSH
16361: CALL_OW 88
// end ; 12 :
16365: GO 16619
16367: LD_INT 12
16369: DOUBLE
16370: EQUAL
16371: IFTRUE 16375
16373: GO 16419
16375: POP
// begin Say ( Heike , DEmph-H-1b ) ;
16376: LD_INT 35
16378: PPUSH
16379: LD_STRING DEmph-H-1b
16381: PPUSH
16382: CALL_OW 88
// zmen_stav ( Rusi , - 8 , false ) ;
16386: LD_EXP 3
16390: PPUSH
16391: LD_INT 8
16393: NEG
16394: PPUSH
16395: LD_INT 0
16397: PPUSH
16398: CALL 198 0 3
// zmen_stav ( Amici , 7 , false ) ;
16402: LD_EXP 2
16406: PPUSH
16407: LD_INT 7
16409: PPUSH
16410: LD_INT 0
16412: PPUSH
16413: CALL 198 0 3
// end ; 13 :
16417: GO 16619
16419: LD_INT 13
16421: DOUBLE
16422: EQUAL
16423: IFTRUE 16427
16425: GO 16471
16427: POP
// begin Say ( Heike , DEmph-H-1c ) ;
16428: LD_INT 35
16430: PPUSH
16431: LD_STRING DEmph-H-1c
16433: PPUSH
16434: CALL_OW 88
// zmen_stav ( Rusi , - 10 , false ) ;
16438: LD_EXP 3
16442: PPUSH
16443: LD_INT 10
16445: NEG
16446: PPUSH
16447: LD_INT 0
16449: PPUSH
16450: CALL 198 0 3
// zmen_stav ( Amici , 8 , false ) ;
16454: LD_EXP 2
16458: PPUSH
16459: LD_INT 8
16461: PPUSH
16462: LD_INT 0
16464: PPUSH
16465: CALL 198 0 3
// end ; 14 :
16469: GO 16619
16471: LD_INT 14
16473: DOUBLE
16474: EQUAL
16475: IFTRUE 16479
16477: GO 16523
16479: POP
// begin Say ( Heike , DAEmph-H-1 ) ;
16480: LD_INT 35
16482: PPUSH
16483: LD_STRING DAEmph-H-1
16485: PPUSH
16486: CALL_OW 88
// zmen_stav ( Rusi , - 10 , false ) ;
16490: LD_EXP 3
16494: PPUSH
16495: LD_INT 10
16497: NEG
16498: PPUSH
16499: LD_INT 0
16501: PPUSH
16502: CALL 198 0 3
// zmen_stav ( Amici , 1 , false ) ;
16506: LD_EXP 2
16510: PPUSH
16511: LD_INT 1
16513: PPUSH
16514: LD_INT 0
16516: PPUSH
16517: CALL 198 0 3
// end ; 15 :
16521: GO 16619
16523: LD_INT 15
16525: DOUBLE
16526: EQUAL
16527: IFTRUE 16531
16529: GO 16544
16531: POP
// begin Say ( Heike , DAEmph-H-1a ) ;
16532: LD_INT 35
16534: PPUSH
16535: LD_STRING DAEmph-H-1a
16537: PPUSH
16538: CALL_OW 88
// end ; 16 :
16542: GO 16619
16544: LD_INT 16
16546: DOUBLE
16547: EQUAL
16548: IFTRUE 16552
16550: GO 16581
16552: POP
// begin Say ( Heike , DAEmph-H-1b ) ;
16553: LD_INT 35
16555: PPUSH
16556: LD_STRING DAEmph-H-1b
16558: PPUSH
16559: CALL_OW 88
// zmen_stav ( Amici , - 2 , false ) ;
16563: LD_EXP 2
16567: PPUSH
16568: LD_INT 2
16570: NEG
16571: PPUSH
16572: LD_INT 0
16574: PPUSH
16575: CALL 198 0 3
// end ; 17 :
16579: GO 16619
16581: LD_INT 17
16583: DOUBLE
16584: EQUAL
16585: IFTRUE 16589
16587: GO 16618
16589: POP
// begin Say ( Heike , DAEmph-H-1c ) ;
16590: LD_INT 35
16592: PPUSH
16593: LD_STRING DAEmph-H-1c
16595: PPUSH
16596: CALL_OW 88
// zmen_stav ( Amici , - 8 , false ) ;
16600: LD_EXP 2
16604: PPUSH
16605: LD_INT 8
16607: NEG
16608: PPUSH
16609: LD_INT 0
16611: PPUSH
16612: CALL 198 0 3
// end ; end ;
16616: GO 16619
16618: POP
// DialogueOff ;
16619: CALL_OW 7
// end ;
16623: LD_VAR 0 2
16627: RET
// function GetPeople ( sex , povolani , diffseznam ) ; var pom , pom1 , pom2 , pom3 , pom4 ; begin
16628: LD_INT 0
16630: PPUSH
16631: PPUSH
16632: PPUSH
16633: PPUSH
16634: PPUSH
16635: PPUSH
// pom1 = FilterAllUnits ( [ [ f_side , You ] , [ f_class , class_scientistic ] , [ f_sex , sex ] ] ) ;
16636: LD_ADDR_VAR 0 6
16640: PUSH
16641: LD_INT 22
16643: PUSH
16644: LD_EXP 1
16648: PUSH
16649: EMPTY
16650: LIST
16651: LIST
16652: PUSH
16653: LD_INT 25
16655: PUSH
16656: LD_INT 4
16658: PUSH
16659: EMPTY
16660: LIST
16661: LIST
16662: PUSH
16663: LD_INT 26
16665: PUSH
16666: LD_VAR 0 1
16670: PUSH
16671: EMPTY
16672: LIST
16673: LIST
16674: PUSH
16675: EMPTY
16676: LIST
16677: LIST
16678: LIST
16679: PPUSH
16680: CALL_OW 69
16684: ST_TO_ADDR
// pom2 = FilterAllUnits ( [ [ f_side , You ] , [ f_class , class_mechanic ] , [ f_sex , sex ] ] ) ;
16685: LD_ADDR_VAR 0 7
16689: PUSH
16690: LD_INT 22
16692: PUSH
16693: LD_EXP 1
16697: PUSH
16698: EMPTY
16699: LIST
16700: LIST
16701: PUSH
16702: LD_INT 25
16704: PUSH
16705: LD_INT 3
16707: PUSH
16708: EMPTY
16709: LIST
16710: LIST
16711: PUSH
16712: LD_INT 26
16714: PUSH
16715: LD_VAR 0 1
16719: PUSH
16720: EMPTY
16721: LIST
16722: LIST
16723: PUSH
16724: EMPTY
16725: LIST
16726: LIST
16727: LIST
16728: PPUSH
16729: CALL_OW 69
16733: ST_TO_ADDR
// pom3 = FilterAllUnits ( [ [ f_side , You ] , [ f_class , class_engineer ] , [ f_sex , sex ] ] ) ;
16734: LD_ADDR_VAR 0 8
16738: PUSH
16739: LD_INT 22
16741: PUSH
16742: LD_EXP 1
16746: PUSH
16747: EMPTY
16748: LIST
16749: LIST
16750: PUSH
16751: LD_INT 25
16753: PUSH
16754: LD_INT 2
16756: PUSH
16757: EMPTY
16758: LIST
16759: LIST
16760: PUSH
16761: LD_INT 26
16763: PUSH
16764: LD_VAR 0 1
16768: PUSH
16769: EMPTY
16770: LIST
16771: LIST
16772: PUSH
16773: EMPTY
16774: LIST
16775: LIST
16776: LIST
16777: PPUSH
16778: CALL_OW 69
16782: ST_TO_ADDR
// pom4 = FilterAllUnits ( [ [ f_side , You ] , [ f_class , class_soldier ] , [ f_sex , sex ] ] ) ;
16783: LD_ADDR_VAR 0 9
16787: PUSH
16788: LD_INT 22
16790: PUSH
16791: LD_EXP 1
16795: PUSH
16796: EMPTY
16797: LIST
16798: LIST
16799: PUSH
16800: LD_INT 25
16802: PUSH
16803: LD_INT 1
16805: PUSH
16806: EMPTY
16807: LIST
16808: LIST
16809: PUSH
16810: LD_INT 26
16812: PUSH
16813: LD_VAR 0 1
16817: PUSH
16818: EMPTY
16819: LIST
16820: LIST
16821: PUSH
16822: EMPTY
16823: LIST
16824: LIST
16825: LIST
16826: PPUSH
16827: CALL_OW 69
16831: ST_TO_ADDR
// case povolani of class_scientistic :
16832: LD_VAR 0 2
16836: PUSH
16837: LD_INT 4
16839: DOUBLE
16840: EQUAL
16841: IFTRUE 16845
16843: GO 16858
16845: POP
// pom = pom1 ; class_mechanic :
16846: LD_ADDR_VAR 0 5
16850: PUSH
16851: LD_VAR 0 6
16855: ST_TO_ADDR
16856: GO 16922
16858: LD_INT 3
16860: DOUBLE
16861: EQUAL
16862: IFTRUE 16866
16864: GO 16879
16866: POP
// pom = pom2 ; class_engineer :
16867: LD_ADDR_VAR 0 5
16871: PUSH
16872: LD_VAR 0 7
16876: ST_TO_ADDR
16877: GO 16922
16879: LD_INT 2
16881: DOUBLE
16882: EQUAL
16883: IFTRUE 16887
16885: GO 16900
16887: POP
// pom = pom3 ; class_soldier :
16888: LD_ADDR_VAR 0 5
16892: PUSH
16893: LD_VAR 0 8
16897: ST_TO_ADDR
16898: GO 16922
16900: LD_INT 1
16902: DOUBLE
16903: EQUAL
16904: IFTRUE 16908
16906: GO 16921
16908: POP
// pom = pom4 ; end ;
16909: LD_ADDR_VAR 0 5
16913: PUSH
16914: LD_VAR 0 9
16918: ST_TO_ADDR
16919: GO 16922
16921: POP
// if povolani <> class_scientistic then
16922: LD_VAR 0 2
16926: PUSH
16927: LD_INT 4
16929: NONEQUAL
16930: IFFALSE 16948
// pom = pom ^ pom1 ;
16932: LD_ADDR_VAR 0 5
16936: PUSH
16937: LD_VAR 0 5
16941: PUSH
16942: LD_VAR 0 6
16946: ADD
16947: ST_TO_ADDR
// if povolani <> class_mechanic then
16948: LD_VAR 0 2
16952: PUSH
16953: LD_INT 3
16955: NONEQUAL
16956: IFFALSE 16974
// pom = pom ^ pom2 ;
16958: LD_ADDR_VAR 0 5
16962: PUSH
16963: LD_VAR 0 5
16967: PUSH
16968: LD_VAR 0 7
16972: ADD
16973: ST_TO_ADDR
// if povolani <> class_engineer then
16974: LD_VAR 0 2
16978: PUSH
16979: LD_INT 2
16981: NONEQUAL
16982: IFFALSE 17000
// pom = pom ^ pom3 ;
16984: LD_ADDR_VAR 0 5
16988: PUSH
16989: LD_VAR 0 5
16993: PUSH
16994: LD_VAR 0 8
16998: ADD
16999: ST_TO_ADDR
// if povolani <> class_soldier then
17000: LD_VAR 0 2
17004: PUSH
17005: LD_INT 1
17007: NONEQUAL
17008: IFFALSE 17026
// pom = pom ^ pom4 ;
17010: LD_ADDR_VAR 0 5
17014: PUSH
17015: LD_VAR 0 5
17019: PUSH
17020: LD_VAR 0 9
17024: ADD
17025: ST_TO_ADDR
// result := pom diff diffseznam ;
17026: LD_ADDR_VAR 0 4
17030: PUSH
17031: LD_VAR 0 5
17035: PUSH
17036: LD_VAR 0 3
17040: DIFF
17041: ST_TO_ADDR
// end ;
17042: LD_VAR 0 4
17046: RET
// every 0 0$19 trigger UTOKY <> 0 do var pom ;
17047: LD_EXP 4
17051: PUSH
17052: LD_INT 0
17054: NONEQUAL
17055: IFFALSE 17236
17057: GO 17059
17059: DISABLE
17060: LD_INT 0
17062: PPUSH
// begin pom = UnitFilter ( US_utok , [ [ f_side , Rusi ] , [ f_or , [ f_weapon , ar_double_machine_gun ] , [ f_weapon , ar_multimissile_ballista ] , [ f_weapon , ar_gatling_gun ] ] ] ) ;
17063: LD_ADDR_VAR 0 1
17067: PUSH
17068: LD_EXP 23
17072: PPUSH
17073: LD_INT 22
17075: PUSH
17076: LD_EXP 3
17080: PUSH
17081: EMPTY
17082: LIST
17083: LIST
17084: PUSH
17085: LD_INT 2
17087: PUSH
17088: LD_INT 34
17090: PUSH
17091: LD_INT 24
17093: PUSH
17094: EMPTY
17095: LIST
17096: LIST
17097: PUSH
17098: LD_INT 34
17100: PUSH
17101: LD_INT 22
17103: PUSH
17104: EMPTY
17105: LIST
17106: LIST
17107: PUSH
17108: LD_INT 34
17110: PUSH
17111: LD_INT 25
17113: PUSH
17114: EMPTY
17115: LIST
17116: LIST
17117: PUSH
17118: EMPTY
17119: LIST
17120: LIST
17121: LIST
17122: LIST
17123: PUSH
17124: EMPTY
17125: LIST
17126: LIST
17127: PPUSH
17128: CALL_OW 72
17132: ST_TO_ADDR
// if pom > 0 and VZTAHY [ 1 ] > 35 then
17133: LD_VAR 0 1
17137: PUSH
17138: LD_INT 0
17140: GREATER
17141: PUSH
17142: LD_EXP 11
17146: PUSH
17147: LD_INT 1
17149: ARRAY
17150: PUSH
17151: LD_INT 35
17153: GREATER
17154: AND
17155: IFFALSE 17235
// begin while UTOKY <> 0 do
17157: LD_EXP 4
17161: PUSH
17162: LD_INT 0
17164: NONEQUAL
17165: IFFALSE 17176
// wait ( 0 0$20 ) ;
17167: LD_INT 700
17169: PPUSH
17170: CALL_OW 67
17174: GO 17157
// if SDEAD then
17176: LD_EXP 21
17180: IFFALSE 17194
// Say ( Don , DAVeh-Sik-1 ) else
17182: LD_INT 91
17184: PPUSH
17185: LD_STRING DAVeh-Sik-1
17187: PPUSH
17188: CALL_OW 88
17192: GO 17204
// Say ( Sik , DAVeh-Don-1 ) ;
17194: LD_INT 89
17196: PPUSH
17197: LD_STRING DAVeh-Don-1
17199: PPUSH
17200: CALL_OW 88
// zmen_stav ( Amici , - 10 , false ) ;
17204: LD_EXP 2
17208: PPUSH
17209: LD_INT 10
17211: NEG
17212: PPUSH
17213: LD_INT 0
17215: PPUSH
17216: CALL 198 0 3
// dialog_amici ( 2 ) ;
17220: LD_INT 2
17222: PPUSH
17223: CALL 14050 0 1
// Am_pomoc = 2 ;
17227: LD_ADDR_EXP 22
17231: PUSH
17232: LD_INT 2
17234: ST_TO_ADDR
// end ; enable ;
17235: ENABLE
// end ;
17236: PPOPN 1
17238: END
// export function dialog_uprav_vztahy_amici ( hnew , hold , wa ) ; begin
17239: LD_INT 0
17241: PPUSH
// case hold of 6 .. 35 :
17242: LD_VAR 0 2
17246: PUSH
17247: LD_INT 6
17249: DOUBLE
17250: GREATEREQUAL
17251: IFFALSE 17259
17253: LD_INT 35
17255: DOUBLE
17256: LESSEQUAL
17257: IFTRUE 17261
17259: GO 17360
17261: POP
// case hnew of 0 .. 5 :
17262: LD_VAR 0 1
17266: PUSH
17267: LD_INT 0
17269: DOUBLE
17270: GREATEREQUAL
17271: IFFALSE 17279
17273: LD_INT 5
17275: DOUBLE
17276: LESSEQUAL
17277: IFTRUE 17281
17279: GO 17312
17281: POP
// if SDEAD then
17282: LD_EXP 21
17286: IFFALSE 17300
// Say ( Don , DAEtoW-Don-1 ) else
17288: LD_INT 91
17290: PPUSH
17291: LD_STRING DAEtoW-Don-1
17293: PPUSH
17294: CALL_OW 88
17298: GO 17310
// Say ( Sik , DAEtoW-Sik-1 ) ; 36 .. 65 :
17300: LD_INT 89
17302: PPUSH
17303: LD_STRING DAEtoW-Sik-1
17305: PPUSH
17306: CALL_OW 88
17310: GO 17358
17312: LD_INT 36
17314: DOUBLE
17315: GREATEREQUAL
17316: IFFALSE 17324
17318: LD_INT 65
17320: DOUBLE
17321: LESSEQUAL
17322: IFTRUE 17326
17324: GO 17357
17326: POP
// if SDEAD then
17327: LD_EXP 21
17331: IFFALSE 17345
// Say ( Don , DAEtoW-Don-1 ) else
17333: LD_INT 91
17335: PPUSH
17336: LD_STRING DAEtoW-Don-1
17338: PPUSH
17339: CALL_OW 88
17343: GO 17355
// Say ( Sik , DAEtoN-Sik-1 ) ; end ; 36 .. 65 :
17345: LD_INT 89
17347: PPUSH
17348: LD_STRING DAEtoN-Sik-1
17350: PPUSH
17351: CALL_OW 88
17355: GO 17358
17357: POP
17358: GO 17542
17360: LD_INT 36
17362: DOUBLE
17363: GREATEREQUAL
17364: IFFALSE 17372
17366: LD_INT 65
17368: DOUBLE
17369: LESSEQUAL
17370: IFTRUE 17374
17372: GO 17473
17374: POP
// case hnew of 66 .. 100 :
17375: LD_VAR 0 1
17379: PUSH
17380: LD_INT 66
17382: DOUBLE
17383: GREATEREQUAL
17384: IFFALSE 17392
17386: LD_INT 100
17388: DOUBLE
17389: LESSEQUAL
17390: IFTRUE 17394
17392: GO 17425
17394: POP
// if SDEAD then
17395: LD_EXP 21
17399: IFFALSE 17413
// Say ( Don , DANtoF-Don-1 ) else
17401: LD_INT 91
17403: PPUSH
17404: LD_STRING DANtoF-Don-1
17406: PPUSH
17407: CALL_OW 88
17411: GO 17423
// Say ( Sik , DANtoF-Sik-1 ) ; 0 .. 35 :
17413: LD_INT 89
17415: PPUSH
17416: LD_STRING DANtoF-Sik-1
17418: PPUSH
17419: CALL_OW 88
17423: GO 17471
17425: LD_INT 0
17427: DOUBLE
17428: GREATEREQUAL
17429: IFFALSE 17437
17431: LD_INT 35
17433: DOUBLE
17434: LESSEQUAL
17435: IFTRUE 17439
17437: GO 17470
17439: POP
// if SDEAD then
17440: LD_EXP 21
17444: IFFALSE 17458
// Say ( Don , DANtoE-Don-1 ) else
17446: LD_INT 91
17448: PPUSH
17449: LD_STRING DANtoE-Don-1
17451: PPUSH
17452: CALL_OW 88
17456: GO 17468
// Say ( Sik , DANtoE-Sik-1 ) ; end ; 66 .. 95 :
17458: LD_INT 89
17460: PPUSH
17461: LD_STRING DANtoE-Sik-1
17463: PPUSH
17464: CALL_OW 88
17468: GO 17471
17470: POP
17471: GO 17542
17473: LD_INT 66
17475: DOUBLE
17476: GREATEREQUAL
17477: IFFALSE 17485
17479: LD_INT 95
17481: DOUBLE
17482: LESSEQUAL
17483: IFTRUE 17487
17485: GO 17541
17487: POP
// case hnew of 36 .. 65 :
17488: LD_VAR 0 1
17492: PUSH
17493: LD_INT 36
17495: DOUBLE
17496: GREATEREQUAL
17497: IFFALSE 17505
17499: LD_INT 65
17501: DOUBLE
17502: LESSEQUAL
17503: IFTRUE 17507
17505: GO 17538
17507: POP
// if SDEAD then
17508: LD_EXP 21
17512: IFFALSE 17526
// Say ( Don , DAFtoN-Don-1 ) else
17514: LD_INT 91
17516: PPUSH
17517: LD_STRING DAFtoN-Don-1
17519: PPUSH
17520: CALL_OW 88
17524: GO 17536
// Say ( Sik , DAFtoN-Sik-1 ) ; end ; end ;
17526: LD_INT 89
17528: PPUSH
17529: LD_STRING DAFtoN-Sik-1
17531: PPUSH
17532: CALL_OW 88
17536: GO 17539
17538: POP
17539: GO 17542
17541: POP
// end ;
17542: LD_VAR 0 4
17546: RET
// every 0 0$6 trigger RU_pomoc = 1 do
17547: LD_EXP 33
17551: PUSH
17552: LD_INT 1
17554: EQUAL
17555: IFFALSE 17625
17557: GO 17559
17559: DISABLE
// begin DialogueOn ;
17560: CALL_OW 6
// wait ( 0 0$5 ) ;
17564: LD_INT 175
17566: PPUSH
17567: CALL_OW 67
// if VZTAHY [ 1 ] > 35 then
17571: LD_EXP 11
17575: PUSH
17576: LD_INT 1
17578: ARRAY
17579: PUSH
17580: LD_INT 35
17582: GREATER
17583: IFFALSE 17620
// begin if SDEAD then
17585: LD_EXP 21
17589: IFFALSE 17603
// Say ( Don , DAAmHelp-Don-1 ) else
17591: LD_INT 91
17593: PPUSH
17594: LD_STRING DAAmHelp-Don-1
17596: PPUSH
17597: CALL_OW 88
17601: GO 17613
// Say ( Sik , DAAmHelp-Sik-1 ) ;
17603: LD_INT 89
17605: PPUSH
17606: LD_STRING DAAmHelp-Sik-1
17608: PPUSH
17609: CALL_OW 88
// dialog_amici ( 2 ) ;
17613: LD_INT 2
17615: PPUSH
17616: CALL 14050 0 1
// end ; DialogueOff ;
17620: CALL_OW 7
// enable ;
17624: ENABLE
// end ;
17625: END
// every 0 0$7 trigger RU_ally do
17626: LD_EXP 28
17630: IFFALSE 17686
17632: GO 17634
17634: DISABLE
// begin DialogueOn ;
17635: CALL_OW 6
// if VZTAHY [ 1 ] > 35 then
17639: LD_EXP 11
17643: PUSH
17644: LD_INT 1
17646: ARRAY
17647: PUSH
17648: LD_INT 35
17650: GREATER
17651: IFFALSE 17681
// begin if SDEAD then
17653: LD_EXP 21
17657: IFFALSE 17671
// Say ( Don , DAAmAlly-Don-1 ) else
17659: LD_INT 91
17661: PPUSH
17662: LD_STRING DAAmAlly-Don-1
17664: PPUSH
17665: CALL_OW 88
17669: GO 17681
// Say ( Sik , DAAmAlly-Sik-1 ) ;
17671: LD_INT 89
17673: PPUSH
17674: LD_STRING DAAmAlly-Sik-1
17676: PPUSH
17677: CALL_OW 88
// end ; DialogueOff ;
17681: CALL_OW 7
// enable ;
17685: ENABLE
// end ;
17686: END
// every 10 10$0 do
17687: GO 17689
17689: DISABLE
// begin DialogueOn ;
17690: CALL_OW 6
// SayRadio ( Omar , D3-Omar-1 ) ;
17694: LD_EXP 9
17698: PPUSH
17699: LD_STRING D3-Omar-1
17701: PPUSH
17702: CALL_OW 94
// SayRadio ( Heike , D3-H-1 ) ;
17706: LD_INT 35
17708: PPUSH
17709: LD_STRING D3-H-1
17711: PPUSH
17712: CALL_OW 94
// SayRadio ( Omar , D3-Omar-2 ) ;
17716: LD_EXP 9
17720: PPUSH
17721: LD_STRING D3-Omar-2
17723: PPUSH
17724: CALL_OW 94
// SayRadio ( Heike , D3-H-2 ) ;
17728: LD_INT 35
17730: PPUSH
17731: LD_STRING D3-H-2
17733: PPUSH
17734: CALL_OW 94
// SayRadio ( Omar , D3-Omar-3 ) ;
17738: LD_EXP 9
17742: PPUSH
17743: LD_STRING D3-Omar-3
17745: PPUSH
17746: CALL_OW 94
// SayRadio ( Heike , D3-H-3 ) ;
17750: LD_INT 35
17752: PPUSH
17753: LD_STRING D3-H-3
17755: PPUSH
17756: CALL_OW 94
// SayRadio ( Omar , D3-Omar-4 ) ;
17760: LD_EXP 9
17764: PPUSH
17765: LD_STRING D3-Omar-4
17767: PPUSH
17768: CALL_OW 94
// SayRadio ( Heike , D3-H-4 ) ;
17772: LD_INT 35
17774: PPUSH
17775: LD_STRING D3-H-4
17777: PPUSH
17778: CALL_OW 94
// DialogueOff ;
17782: CALL_OW 7
// enable ( 1 ) ;
17786: LD_INT 1
17788: ENABLE_MARKED
// end ;
17789: END
// every 0 0$17 marked 1 do var i ;
17790: GO 17792
17792: DISABLE
17793: LD_INT 0
17795: PPUSH
// begin wait ( 5 5$0 ) ;
17796: LD_INT 10500
17798: PPUSH
17799: CALL_OW 67
// DialogueOn ;
17803: CALL_OW 6
// SayRadio ( Omar , D4-Omar-1 ) ;
17807: LD_EXP 9
17811: PPUSH
17812: LD_STRING D4-Omar-1
17814: PPUSH
17815: CALL_OW 94
// SayRadio ( Heike , D4-H-1 ) ;
17819: LD_INT 35
17821: PPUSH
17822: LD_STRING D4-H-1
17824: PPUSH
17825: CALL_OW 94
// SayRadio ( Omar , D4-Omar-2 ) ;
17829: LD_EXP 9
17833: PPUSH
17834: LD_STRING D4-Omar-2
17836: PPUSH
17837: CALL_OW 94
// SayRadio ( Heike , D4-H-2 ) ;
17841: LD_INT 35
17843: PPUSH
17844: LD_STRING D4-H-2
17846: PPUSH
17847: CALL_OW 94
// SayRadio ( Omar , D4-Omar-3 ) ;
17851: LD_EXP 9
17855: PPUSH
17856: LD_STRING D4-Omar-3
17858: PPUSH
17859: CALL_OW 94
// DialogueOff ;
17863: CALL_OW 7
// for i in RUSKE_POSILY_LIST do
17867: LD_ADDR_VAR 0 1
17871: PUSH
17872: LD_EXP 6
17876: PUSH
17877: FOR_IN
17878: IFFALSE 17897
// PlaceUnitArea ( i , Ru_posil , false ) ;
17880: LD_VAR 0 1
17884: PPUSH
17885: LD_INT 10
17887: PPUSH
17888: LD_INT 0
17890: PPUSH
17891: CALL_OW 49
17895: GO 17877
17897: POP
17898: POP
// if VZTAHY [ 2 ] < 7 then
17899: LD_EXP 11
17903: PUSH
17904: LD_INT 2
17906: ARRAY
17907: PUSH
17908: LD_INT 7
17910: LESS
17911: IFFALSE 17917
// utok_na_araby ;
17913: CALL 8067 0 0
// end ;
17917: PPOPN 1
17919: END
// export function dialog_bedny ; begin
17920: LD_INT 0
17922: PPUSH
// DialogueOn ;
17923: CALL_OW 6
// SayRadio ( Omar , DCans-Omar-1 ) ;
17927: LD_EXP 9
17931: PPUSH
17932: LD_STRING DCans-Omar-1
17934: PPUSH
17935: CALL_OW 94
// SayRadio ( Heike , DCans-H-1 ) ;
17939: LD_INT 35
17941: PPUSH
17942: LD_STRING DCans-H-1
17944: PPUSH
17945: CALL_OW 94
// SayRadio ( Omar , DCans-Omar-2 ) ;
17949: LD_EXP 9
17953: PPUSH
17954: LD_STRING DCans-Omar-2
17956: PPUSH
17957: CALL_OW 94
// SayRadio ( Heike , DCans-H-2 ) ;
17961: LD_INT 35
17963: PPUSH
17964: LD_STRING DCans-H-2
17966: PPUSH
17967: CALL_OW 94
// DialogueOff ;
17971: CALL_OW 7
// end ;
17975: LD_VAR 0 1
17979: RET
// function dialog_amici_kod ; var pom ; var vyber ; var russ ; begin
17980: LD_INT 0
17982: PPUSH
17983: PPUSH
17984: PPUSH
17985: PPUSH
// DialogueOn ;
17986: CALL_OW 6
// if not prvni_code then
17990: LD_LOC 8
17994: NOT
17995: IFFALSE 18044
// begin Say ( Heike , DC1-H-1 ) ;
17997: LD_INT 35
17999: PPUSH
18000: LD_STRING DC1-H-1
18002: PPUSH
18003: CALL_OW 88
// wait ( 0 0$3 ) ;
18007: LD_INT 105
18009: PPUSH
18010: CALL_OW 67
// Say ( Don , DC1-Don-1 ) ;
18014: LD_INT 91
18016: PPUSH
18017: LD_STRING DC1-Don-1
18019: PPUSH
18020: CALL_OW 88
// Say ( Heike , DC1-H-2 ) ;
18024: LD_INT 35
18026: PPUSH
18027: LD_STRING DC1-H-2
18029: PPUSH
18030: CALL_OW 88
// Say ( Don , DC1-Don-2 ) ;
18034: LD_INT 91
18036: PPUSH
18037: LD_STRING DC1-Don-2
18039: PPUSH
18040: CALL_OW 88
// end ; vyber = [ 1 ] ;
18044: LD_ADDR_VAR 0 3
18048: PUSH
18049: LD_INT 1
18051: PUSH
18052: EMPTY
18053: LIST
18054: ST_TO_ADDR
// if Am_ally then
18055: LD_EXP 18
18059: IFFALSE 18077
// vyber = vyber ^ 3 else
18061: LD_ADDR_VAR 0 3
18065: PUSH
18066: LD_VAR 0 3
18070: PUSH
18071: LD_INT 3
18073: ADD
18074: ST_TO_ADDR
18075: GO 18091
// vyber = vyber ^ 2 ;
18077: LD_ADDR_VAR 0 3
18081: PUSH
18082: LD_VAR 0 3
18086: PUSH
18087: LD_INT 2
18089: ADD
18090: ST_TO_ADDR
// vyber = vyber ^ [ 4 ] ;
18091: LD_ADDR_VAR 0 3
18095: PUSH
18096: LD_VAR 0 3
18100: PUSH
18101: LD_INT 4
18103: PUSH
18104: EMPTY
18105: LIST
18106: ADD
18107: ST_TO_ADDR
// if rusky_utok then
18108: LD_EXP 12
18112: IFFALSE 18128
// vyber = vyber ^ 5 ;
18114: LD_ADDR_VAR 0 3
18118: PUSH
18119: LD_VAR 0 3
18123: PUSH
18124: LD_INT 5
18126: ADD
18127: ST_TO_ADDR
// pom = SelectiveQuery ( QC1 , vyber ) ;
18128: LD_ADDR_VAR 0 2
18132: PUSH
18133: LD_STRING QC1
18135: PPUSH
18136: LD_VAR 0 3
18140: PPUSH
18141: CALL_OW 98
18145: ST_TO_ADDR
// case pom of 1 :
18146: LD_VAR 0 2
18150: PUSH
18151: LD_INT 1
18153: DOUBLE
18154: EQUAL
18155: IFTRUE 18159
18157: GO 18179
18159: POP
// begin pomoc_amikum ( 1 ) ;
18160: LD_INT 1
18162: PPUSH
18163: CALL 13773 0 1
// Say ( Heike , DCHelp-H-1 ) ;
18167: LD_INT 35
18169: PPUSH
18170: LD_STRING DCHelp-H-1
18172: PPUSH
18173: CALL_OW 88
// end ; 2 :
18177: GO 18535
18179: LD_INT 2
18181: DOUBLE
18182: EQUAL
18183: IFTRUE 18187
18185: GO 18336
18187: POP
// begin Say ( Heike , DCAlly-H-1 ) ;
18188: LD_INT 35
18190: PPUSH
18191: LD_STRING DCAlly-H-1
18193: PPUSH
18194: CALL_OW 88
// if RU_ally then
18198: LD_EXP 28
18202: IFFALSE 18232
// begin Say ( Don , DAAlly-Don-1 ) ;
18204: LD_INT 91
18206: PPUSH
18207: LD_STRING DAAlly-Don-1
18209: PPUSH
18210: CALL_OW 88
// zmen_stav ( Amici , - 8 , false ) ;
18214: LD_EXP 2
18218: PPUSH
18219: LD_INT 8
18221: NEG
18222: PPUSH
18223: LD_INT 0
18225: PPUSH
18226: CALL 198 0 3
// end else
18230: GO 18334
// begin zmen_stav ( Amici , 15 , false ) ;
18232: LD_EXP 2
18236: PPUSH
18237: LD_INT 15
18239: PPUSH
18240: LD_INT 0
18242: PPUSH
18243: CALL 198 0 3
// case VZTAHY [ 1 ] of 0 .. 65 :
18247: LD_EXP 11
18251: PUSH
18252: LD_INT 1
18254: ARRAY
18255: PUSH
18256: LD_INT 0
18258: DOUBLE
18259: GREATEREQUAL
18260: IFFALSE 18268
18262: LD_INT 65
18264: DOUBLE
18265: LESSEQUAL
18266: IFTRUE 18270
18268: GO 18283
18270: POP
// Say ( Don , DCAlly-Don-1a ) ; 66 .. 95 :
18271: LD_INT 91
18273: PPUSH
18274: LD_STRING DCAlly-Don-1a
18276: PPUSH
18277: CALL_OW 88
18281: GO 18334
18283: LD_INT 66
18285: DOUBLE
18286: GREATEREQUAL
18287: IFFALSE 18295
18289: LD_INT 95
18291: DOUBLE
18292: LESSEQUAL
18293: IFTRUE 18297
18295: GO 18333
18297: POP
// begin Say ( Don , DCAlly-Don-1 ) ;
18298: LD_INT 91
18300: PPUSH
18301: LD_STRING DCAlly-Don-1
18303: PPUSH
18304: CALL_OW 88
// zmen_stav ( Amici , 30 , false ) ;
18308: LD_EXP 2
18312: PPUSH
18313: LD_INT 30
18315: PPUSH
18316: LD_INT 0
18318: PPUSH
18319: CALL 198 0 3
// Am_ally = true ;
18323: LD_ADDR_EXP 18
18327: PUSH
18328: LD_INT 1
18330: ST_TO_ADDR
// end ; end ;
18331: GO 18334
18333: POP
// end ; end ; 3 :
18334: GO 18535
18336: LD_INT 3
18338: DOUBLE
18339: EQUAL
18340: IFTRUE 18344
18342: GO 18391
18344: POP
// begin Say ( Heike , DCCloseAlly-H-1 ) ;
18345: LD_INT 35
18347: PPUSH
18348: LD_STRING DCCloseAlly-H-1
18350: PPUSH
18351: CALL_OW 88
// Say ( Don , DCCloseAlly-Don-1 ) ;
18355: LD_INT 91
18357: PPUSH
18358: LD_STRING DCCloseAlly-Don-1
18360: PPUSH
18361: CALL_OW 88
// zmen_stav ( Amici , - 5 , false ) ;
18365: LD_EXP 2
18369: PPUSH
18370: LD_INT 5
18372: NEG
18373: PPUSH
18374: LD_INT 0
18376: PPUSH
18377: CALL 198 0 3
// Am_ally = false ;
18381: LD_ADDR_EXP 18
18385: PUSH
18386: LD_INT 0
18388: ST_TO_ADDR
// end ; 4 :
18389: GO 18535
18391: LD_INT 4
18393: DOUBLE
18394: EQUAL
18395: IFTRUE 18399
18397: GO 18445
18399: POP
// begin Say ( Heike , DCCoord1-H-1 ) ;
18400: LD_INT 35
18402: PPUSH
18403: LD_STRING DCCoord1-H-1
18405: PPUSH
18406: CALL_OW 88
// Say ( Don , DCCoord1-Don-1 ) ;
18410: LD_INT 91
18412: PPUSH
18413: LD_STRING DCCoord1-Don-1
18415: PPUSH
18416: CALL_OW 88
// zmen_stav ( Amici , 5 , false ) ;
18420: LD_EXP 2
18424: PPUSH
18425: LD_INT 5
18427: PPUSH
18428: LD_INT 0
18430: PPUSH
18431: CALL 198 0 3
// spolecny_utok = true ;
18435: LD_ADDR_EXP 13
18439: PUSH
18440: LD_INT 1
18442: ST_TO_ADDR
// end ; 5 :
18443: GO 18535
18445: LD_INT 5
18447: DOUBLE
18448: EQUAL
18449: IFTRUE 18453
18451: GO 18534
18453: POP
// begin russ := FilterUnitsInArea ( ruutok , [ [ f_side , Rusi ] ] ) ;
18454: LD_ADDR_VAR 0 4
18458: PUSH
18459: LD_INT 12
18461: PPUSH
18462: LD_INT 22
18464: PUSH
18465: LD_EXP 3
18469: PUSH
18470: EMPTY
18471: LIST
18472: LIST
18473: PUSH
18474: EMPTY
18475: LIST
18476: PPUSH
18477: CALL_OW 70
18481: ST_TO_ADDR
// if russ < 5 then
18482: LD_VAR 0 4
18486: PUSH
18487: LD_INT 5
18489: LESS
18490: IFFALSE 18504
// Say ( Heike , DCAtt-H-1 ) else
18492: LD_INT 35
18494: PPUSH
18495: LD_STRING DCAtt-H-1
18497: PPUSH
18498: CALL_OW 88
18502: GO 18514
// Say ( Heike , DCAtt-H-1a ) ;
18504: LD_INT 35
18506: PPUSH
18507: LD_STRING DCAtt-H-1a
18509: PPUSH
18510: CALL_OW 88
// Say ( Don , DCAtt-Don-1 ) ;
18514: LD_INT 91
18516: PPUSH
18517: LD_STRING DCAtt-Don-1
18519: PPUSH
18520: CALL_OW 88
// arabi_pod_utokem = true ;
18524: LD_ADDR_EXP 14
18528: PUSH
18529: LD_INT 1
18531: ST_TO_ADDR
// end ; end ;
18532: GO 18535
18534: POP
// DialogueOff ;
18535: CALL_OW 7
// end ;
18539: LD_VAR 0 1
18543: RET
// every 0 0$2 trigger FilterUnitsInArea ( ruutok , [ [ f_side , Rusi ] ] ) > 0 do var pom ; var blb ;
18544: LD_INT 12
18546: PPUSH
18547: LD_INT 22
18549: PUSH
18550: LD_EXP 3
18554: PUSH
18555: EMPTY
18556: LIST
18557: LIST
18558: PUSH
18559: EMPTY
18560: LIST
18561: PPUSH
18562: CALL_OW 70
18566: PUSH
18567: LD_INT 0
18569: GREATER
18570: IFFALSE 18807
18572: GO 18574
18574: DISABLE
18575: LD_INT 0
18577: PPUSH
18578: PPUSH
// begin blb := true ;
18579: LD_ADDR_VAR 0 2
18583: PUSH
18584: LD_INT 1
18586: ST_TO_ADDR
// DialogueOn ;
18587: CALL_OW 6
// Say ( Heike , DAttack-H-1 ) ;
18591: LD_INT 35
18593: PPUSH
18594: LD_STRING DAttack-H-1
18596: PPUSH
18597: CALL_OW 88
// if IsOK ( bm ) then
18601: LD_INT 37
18603: PPUSH
18604: CALL_OW 302
18608: IFFALSE 18622
// Say ( bm , DAttack-FSom2-1 ) else
18610: LD_INT 37
18612: PPUSH
18613: LD_STRING DAttack-FSom2-1
18615: PPUSH
18616: CALL_OW 88
18620: GO 18787
// if IsOK ( Ralph ) then
18622: LD_INT 40
18624: PPUSH
18625: CALL_OW 302
18629: IFFALSE 18643
// Say ( Ralph , DAttack-Ralph-1 ) else
18631: LD_INT 40
18633: PPUSH
18634: LD_STRING DAttack-Ralph-1
18636: PPUSH
18637: CALL_OW 88
18641: GO 18787
// if IsOK ( Oswald ) then
18643: LD_INT 41
18645: PPUSH
18646: CALL_OW 302
18650: IFFALSE 18664
// Say ( Oswald , DAttack-Osw-1 ) else
18652: LD_INT 41
18654: PPUSH
18655: LD_STRING DAttack-Osw-1
18657: PPUSH
18658: CALL_OW 88
18662: GO 18787
// begin pom = GetPeople ( sex_male , class_soldier , [ ] ) ;
18664: LD_ADDR_VAR 0 1
18668: PUSH
18669: LD_INT 1
18671: PPUSH
18672: LD_INT 1
18674: PPUSH
18675: EMPTY
18676: PPUSH
18677: CALL 16628 0 3
18681: ST_TO_ADDR
// if pom = 0 then
18682: LD_VAR 0 1
18686: PUSH
18687: LD_INT 0
18689: EQUAL
18690: IFFALSE 18714
// pom = GetPeople ( sex_female , class_soldier , [ Heike ] ) ;
18692: LD_ADDR_VAR 0 1
18696: PUSH
18697: LD_INT 2
18699: PPUSH
18700: LD_INT 1
18702: PPUSH
18703: LD_INT 35
18705: PUSH
18706: EMPTY
18707: LIST
18708: PPUSH
18709: CALL 16628 0 3
18713: ST_TO_ADDR
// if pom > 0 then
18714: LD_VAR 0 1
18718: PUSH
18719: LD_INT 0
18721: GREATER
18722: IFFALSE 18779
// if GetSex ( pom [ 1 ] ) = sex_male then
18724: LD_VAR 0 1
18728: PUSH
18729: LD_INT 1
18731: ARRAY
18732: PPUSH
18733: CALL_OW 258
18737: PUSH
18738: LD_INT 1
18740: EQUAL
18741: IFFALSE 18761
// Say ( pom [ 1 ] , DAttack-Som2-1 ) else
18743: LD_VAR 0 1
18747: PUSH
18748: LD_INT 1
18750: ARRAY
18751: PPUSH
18752: LD_STRING DAttack-Som2-1
18754: PPUSH
18755: CALL_OW 88
18759: GO 18777
// Say ( pom [ 1 ] , DAttack-FSom2-1 ) else
18761: LD_VAR 0 1
18765: PUSH
18766: LD_INT 1
18768: ARRAY
18769: PPUSH
18770: LD_STRING DAttack-FSom2-1
18772: PPUSH
18773: CALL_OW 88
18777: GO 18787
// blb = false ;
18779: LD_ADDR_VAR 0 2
18783: PUSH
18784: LD_INT 0
18786: ST_TO_ADDR
// end ; if blb then
18787: LD_VAR 0 2
18791: IFFALSE 18803
// Say ( Heike , DAttack-H-2 ) ;
18793: LD_INT 35
18795: PPUSH
18796: LD_STRING DAttack-H-2
18798: PPUSH
18799: CALL_OW 88
// DialogueOff ;
18803: CALL_OW 7
// end ;
18807: PPOPN 2
18809: END
// every 0 0$10 trigger cekani_na_dodavku_am > 9 do
18810: LD_EXP 25
18814: PUSH
18815: LD_INT 9
18817: GREATER
18818: IFFALSE 18882
18820: GO 18822
18822: DISABLE
// begin DialogueOn ;
18823: CALL_OW 6
// if SDEAD then
18827: LD_EXP 21
18831: IFFALSE 18845
// Say ( Don , DANoHelp-Don-1 ) else
18833: LD_INT 91
18835: PPUSH
18836: LD_STRING DANoHelp-Don-1
18838: PPUSH
18839: CALL_OW 88
18843: GO 18855
// Say ( Sik , DANoHelp-Sik-1 ) ;
18845: LD_INT 89
18847: PPUSH
18848: LD_STRING DANoHelp-Sik-1
18850: PPUSH
18851: CALL_OW 88
// DialogueOff ;
18855: CALL_OW 7
// dialog_amici ( 4 ) ;
18859: LD_INT 4
18861: PPUSH
18862: CALL 14050 0 1
// zmen_stav ( Amici , - 5 , true ) ;
18866: LD_EXP 2
18870: PPUSH
18871: LD_INT 5
18873: NEG
18874: PPUSH
18875: LD_INT 1
18877: PPUSH
18878: CALL 198 0 3
// end ;
18882: END
// every 0 0$10 trigger cekani_na_dodavku_am > 9 do
18883: LD_EXP 25
18887: PUSH
18888: LD_INT 9
18890: GREATER
18891: IFFALSE 18944
18893: GO 18895
18895: DISABLE
// begin DialogueOn ;
18896: CALL_OW 6
// if not GDEAD then
18900: LD_EXP 30
18904: NOT
18905: IFFALSE 18917
// Say ( Gav , DRNoHelp-Gav-1 ) ;
18907: LD_INT 90
18909: PPUSH
18910: LD_STRING DRNoHelp-Gav-1
18912: PPUSH
18913: CALL_OW 88
// DialogueOff ;
18917: CALL_OW 7
// dialog_rusi ( 2 ) ;
18921: LD_INT 2
18923: PPUSH
18924: CALL 10892 0 1
// zmen_stav ( Rusi , - 10 , true ) ;
18928: LD_EXP 3
18932: PPUSH
18933: LD_INT 10
18935: NEG
18936: PPUSH
18937: LD_INT 1
18939: PPUSH
18940: CALL 198 0 3
// end ;
18944: END
// export function sikorski_dead_dialog ; var pom ; begin
18945: LD_INT 0
18947: PPUSH
18948: PPUSH
// DialogueOn ;
18949: CALL_OW 6
// Say ( Don , DADead-Don-1 ) ;
18953: LD_INT 91
18955: PPUSH
18956: LD_STRING DADead-Don-1
18958: PPUSH
18959: CALL_OW 88
// pom = Query ( QADead ) ;
18963: LD_ADDR_VAR 0 2
18967: PUSH
18968: LD_STRING QADead
18970: PPUSH
18971: CALL_OW 97
18975: ST_TO_ADDR
// case pom of 1 :
18976: LD_VAR 0 2
18980: PUSH
18981: LD_INT 1
18983: DOUBLE
18984: EQUAL
18985: IFTRUE 18989
18987: GO 19008
18989: POP
// zmen_stav ( Amici , - 3 , false ) ; 2 :
18990: LD_EXP 2
18994: PPUSH
18995: LD_INT 3
18997: NEG
18998: PPUSH
18999: LD_INT 0
19001: PPUSH
19002: CALL 198 0 3
19006: GO 19134
19008: LD_INT 2
19010: DOUBLE
19011: EQUAL
19012: IFTRUE 19016
19014: GO 19061
19016: POP
// begin Say ( Heike , DADead1-H-1 ) ;
19017: LD_INT 35
19019: PPUSH
19020: LD_STRING DADead1-H-1
19022: PPUSH
19023: CALL_OW 88
// zmen_stav ( Amici , - 6 , false ) ;
19027: LD_EXP 2
19031: PPUSH
19032: LD_INT 6
19034: NEG
19035: PPUSH
19036: LD_INT 0
19038: PPUSH
19039: CALL 198 0 3
// zmen_stav ( Rusi , - 2 , false ) ;
19043: LD_EXP 3
19047: PPUSH
19048: LD_INT 2
19050: NEG
19051: PPUSH
19052: LD_INT 0
19054: PPUSH
19055: CALL 198 0 3
// end ; 3 :
19059: GO 19134
19061: LD_INT 3
19063: DOUBLE
19064: EQUAL
19065: IFTRUE 19069
19067: GO 19082
19069: POP
// Say ( Heike , DADead2-H-1 ) ; 4 :
19070: LD_INT 35
19072: PPUSH
19073: LD_STRING DADead2-H-1
19075: PPUSH
19076: CALL_OW 88
19080: GO 19134
19082: LD_INT 4
19084: DOUBLE
19085: EQUAL
19086: IFTRUE 19090
19088: GO 19133
19090: POP
// begin Say ( Heike , DADead3-H-1 ) ;
19091: LD_INT 35
19093: PPUSH
19094: LD_STRING DADead3-H-1
19096: PPUSH
19097: CALL_OW 88
// zmen_stav ( Amici , 3 , false ) ;
19101: LD_EXP 2
19105: PPUSH
19106: LD_INT 3
19108: PPUSH
19109: LD_INT 0
19111: PPUSH
19112: CALL 198 0 3
// zmen_stav ( Rusi , 2 , false ) ;
19116: LD_EXP 3
19120: PPUSH
19121: LD_INT 2
19123: PPUSH
19124: LD_INT 0
19126: PPUSH
19127: CALL 198 0 3
// end ; end ;
19131: GO 19134
19133: POP
// DialogueOff ;
19134: CALL_OW 7
// dialog_frank = true ;
19138: LD_ADDR_LOC 7
19142: PUSH
19143: LD_INT 1
19145: ST_TO_ADDR
// end ;
19146: LD_VAR 0 1
19150: RET
// every 0 0$20 trigger dialog_frank do var pom ; var i ;
19151: LD_LOC 7
19155: IFFALSE 19541
19157: GO 19159
19159: DISABLE
19160: LD_INT 0
19162: PPUSH
19163: PPUSH
// begin if VZTAHY [ 1 ] > 35 then
19164: LD_EXP 11
19168: PUSH
19169: LD_INT 1
19171: ARRAY
19172: PUSH
19173: LD_INT 35
19175: GREATER
19176: IFFALSE 19541
// begin placni_franka ;
19178: CALL 3104 0 0
// SetLives ( Frank , 300 ) ;
19182: LD_EXP 16
19186: PPUSH
19187: LD_INT 300
19189: PPUSH
19190: CALL_OW 234
// ComMoveXY ( Frank , 107 , 16 ) ;
19194: LD_EXP 16
19198: PPUSH
19199: LD_INT 107
19201: PPUSH
19202: LD_INT 16
19204: PPUSH
19205: CALL_OW 111
// while not See ( You , Frank ) do
19209: LD_EXP 1
19213: PPUSH
19214: LD_EXP 16
19218: PPUSH
19219: CALL_OW 292
19223: NOT
19224: IFFALSE 19235
// wait ( 0 0$1 ) ;
19226: LD_INT 35
19228: PPUSH
19229: CALL_OW 67
19233: GO 19209
// DialogueOn ;
19235: CALL_OW 6
// pom = NearestUnitToUnit ( Arabi_enter , Frank ) ;
19239: LD_ADDR_VAR 0 1
19243: PUSH
19244: LD_EXP 15
19248: PPUSH
19249: LD_EXP 16
19253: PPUSH
19254: CALL_OW 74
19258: ST_TO_ADDR
// if GetSex ( pom ) = sex_male then
19259: LD_VAR 0 1
19263: PPUSH
19264: CALL_OW 258
19268: PUSH
19269: LD_INT 1
19271: EQUAL
19272: IFFALSE 19288
// Say ( pom , DCode-Som1-1 ) else
19274: LD_VAR 0 1
19278: PPUSH
19279: LD_STRING DCode-Som1-1
19281: PPUSH
19282: CALL_OW 88
19286: GO 19300
// Say ( pom , DCode-FSom1-1 ) ;
19288: LD_VAR 0 1
19292: PPUSH
19293: LD_STRING DCode-FSom1-1
19295: PPUSH
19296: CALL_OW 88
// ComStop ( Frank ) ;
19300: LD_EXP 16
19304: PPUSH
19305: CALL_OW 141
// Say ( Frank , DCode-Frank-1 ) ;
19309: LD_EXP 16
19313: PPUSH
19314: LD_STRING DCode-Frank-1
19316: PPUSH
19317: CALL_OW 88
// i = Query ( QAFrank ) ;
19321: LD_ADDR_VAR 0 2
19325: PUSH
19326: LD_STRING QAFrank
19328: PPUSH
19329: CALL_OW 97
19333: ST_TO_ADDR
// case i of 1 :
19334: LD_VAR 0 2
19338: PUSH
19339: LD_INT 1
19341: DOUBLE
19342: EQUAL
19343: IFTRUE 19347
19345: GO 19376
19347: POP
// begin Say ( pom , DCode1-Som1-1 ) ;
19348: LD_VAR 0 1
19352: PPUSH
19353: LD_STRING DCode1-Som1-1
19355: PPUSH
19356: CALL_OW 88
// ComAttackUnit ( pom , Frank ) ;
19360: LD_VAR 0 1
19364: PPUSH
19365: LD_EXP 16
19369: PPUSH
19370: CALL_OW 115
// end ; 2 :
19374: GO 19537
19376: LD_INT 2
19378: DOUBLE
19379: EQUAL
19380: IFTRUE 19384
19382: GO 19463
19384: POP
// begin Say ( pom , DCode1-Som1-1a ) ;
19385: LD_VAR 0 1
19389: PPUSH
19390: LD_STRING DCode1-Som1-1a
19392: PPUSH
19393: CALL_OW 88
// ComMoveXY ( Frank , 101 , 0 ) ;
19397: LD_EXP 16
19401: PPUSH
19402: LD_INT 101
19404: PPUSH
19405: LD_INT 0
19407: PPUSH
19408: CALL_OW 111
// while not IsInArea ( Frank , E_slech ) do
19412: LD_EXP 16
19416: PPUSH
19417: LD_INT 1
19419: PPUSH
19420: CALL_OW 308
19424: NOT
19425: IFFALSE 19436
// wait ( 0 0$1 ) ;
19427: LD_INT 35
19429: PPUSH
19430: CALL_OW 67
19434: GO 19412
// RemoveUnit ( Frank ) ;
19436: LD_EXP 16
19440: PPUSH
19441: CALL_OW 64
// zmen_stav ( Amici , - 2 , false ) ;
19445: LD_EXP 2
19449: PPUSH
19450: LD_INT 2
19452: NEG
19453: PPUSH
19454: LD_INT 0
19456: PPUSH
19457: CALL 198 0 3
// end ; 3 :
19461: GO 19537
19463: LD_INT 3
19465: DOUBLE
19466: EQUAL
19467: IFTRUE 19471
19469: GO 19498
19471: POP
// begin Say ( pom , DCode1-Som1-1b ) ;
19472: LD_VAR 0 1
19476: PPUSH
19477: LD_STRING DCode1-Som1-1b
19479: PPUSH
19480: CALL_OW 88
// ComHold ( Frank ) ;
19484: LD_EXP 16
19488: PPUSH
19489: CALL_OW 140
// enable ( 2 ) ;
19493: LD_INT 2
19495: ENABLE_MARKED
// end ; 4 :
19496: GO 19537
19498: LD_INT 4
19500: DOUBLE
19501: EQUAL
19502: IFTRUE 19506
19504: GO 19536
19506: POP
// begin Say ( pom , DCode1-Som1-1c ) ;
19507: LD_VAR 0 1
19511: PPUSH
19512: LD_STRING DCode1-Som1-1c
19514: PPUSH
19515: CALL_OW 88
// ComMoveUnit ( Frank , Heike ) ;
19519: LD_EXP 16
19523: PPUSH
19524: LD_INT 35
19526: PPUSH
19527: CALL_OW 112
// enable ( 2 ) ;
19531: LD_INT 2
19533: ENABLE_MARKED
// end ; end ;
19534: GO 19537
19536: POP
// DialogueOff ;
19537: CALL_OW 7
// end ; end ;
19541: PPOPN 2
19543: END
// every 0 0$1 trigger GetDistUnits ( Frank , Heike ) < 5 marked 2 do
19544: LD_EXP 16
19548: PPUSH
19549: LD_INT 35
19551: PPUSH
19552: CALL_OW 296
19556: PUSH
19557: LD_INT 5
19559: LESS
19560: IFFALSE 19696
19562: GO 19564
19564: DISABLE
// begin DialogueOn ;
19565: CALL_OW 6
// Say ( Heike , DCode2-H-1 ) ;
19569: LD_INT 35
19571: PPUSH
19572: LD_STRING DCode2-H-1
19574: PPUSH
19575: CALL_OW 88
// Say ( Frank , DCode2-Frank-1 ) ;
19579: LD_EXP 16
19583: PPUSH
19584: LD_STRING DCode2-Frank-1
19586: PPUSH
19587: CALL_OW 88
// Say ( Heike , DCode2-H-2 ) ;
19591: LD_INT 35
19593: PPUSH
19594: LD_STRING DCode2-H-2
19596: PPUSH
19597: CALL_OW 88
// Say ( Frank , DCode2-Frank-2 ) ;
19601: LD_EXP 16
19605: PPUSH
19606: LD_STRING DCode2-Frank-2
19608: PPUSH
19609: CALL_OW 88
// Say ( Heike , DCode2-H-3 ) ;
19613: LD_INT 35
19615: PPUSH
19616: LD_STRING DCode2-H-3
19618: PPUSH
19619: CALL_OW 88
// Say ( Frank , DCode2-Frank-3 ) ;
19623: LD_EXP 16
19627: PPUSH
19628: LD_STRING DCode2-Frank-3
19630: PPUSH
19631: CALL_OW 88
// Say ( Heike , DCode2-H-4 ) ;
19635: LD_INT 35
19637: PPUSH
19638: LD_STRING DCode2-H-4
19640: PPUSH
19641: CALL_OW 88
// ComFree ( Frank ) ;
19645: LD_EXP 16
19649: PPUSH
19650: CALL_OW 139
// kodovana_frekvence = true ;
19654: LD_ADDR_EXP 20
19658: PUSH
19659: LD_INT 1
19661: ST_TO_ADDR
// AddComMoveXY ( Frank , 61 , 2 ) ;
19662: LD_EXP 16
19666: PPUSH
19667: LD_INT 61
19669: PPUSH
19670: LD_INT 2
19672: PPUSH
19673: CALL_OW 171
// zmen_stav ( Amici , 5 , false ) ;
19677: LD_EXP 2
19681: PPUSH
19682: LD_INT 5
19684: PPUSH
19685: LD_INT 0
19687: PPUSH
19688: CALL 198 0 3
// DialogueOff ;
19692: CALL_OW 7
// end ;
19696: END
// every 0 0$1 trigger IsInArea ( Frank , Fout ) marked 2 do
19697: LD_EXP 16
19701: PPUSH
19702: LD_INT 17
19704: PPUSH
19705: CALL_OW 308
19709: IFFALSE 19723
19711: GO 19713
19713: DISABLE
// begin RemoveUnit ( Frank ) ;
19714: LD_EXP 16
19718: PPUSH
19719: CALL_OW 64
// end ; end_of_file
19723: END
// export utok_over ; export Attack_No ; var vyjeli ; every 0 0$0.1 do
19724: GO 19726
19726: DISABLE
// begin Attack_No = 0 ;
19727: LD_ADDR_EXP 41
19731: PUSH
19732: LD_INT 0
19734: ST_TO_ADDR
// USPLNEN = false ;
19735: LD_ADDR_EXP 37
19739: PUSH
19740: LD_INT 0
19742: ST_TO_ADDR
// vyjeli = false ;
19743: LD_ADDR_LOC 9
19747: PUSH
19748: LD_INT 0
19750: ST_TO_ADDR
// end ;
19751: END
// every 0 0$1 trigger utok_am do var i ;
19752: LD_EXP 17
19756: IFFALSE 19805
19758: GO 19760
19760: DISABLE
19761: LD_INT 0
19763: PPUSH
// begin for i in US_utok do
19764: LD_ADDR_VAR 0 1
19768: PUSH
19769: LD_EXP 23
19773: PUSH
19774: FOR_IN
19775: IFFALSE 19802
// if not IsInArea ( i , Am_ter ) then
19777: LD_VAR 0 1
19781: PPUSH
19782: LD_INT 6
19784: PPUSH
19785: CALL_OW 308
19789: NOT
19790: IFFALSE 19800
// vyjeli = true ;
19792: LD_ADDR_LOC 9
19796: PUSH
19797: LD_INT 1
19799: ST_TO_ADDR
19800: GO 19774
19802: POP
19803: POP
// enable ;
19804: ENABLE
// end ;
19805: PPOPN 1
19807: END
// every 0 0$1 trigger utok_ru do var i ;
19808: LD_EXP 27
19812: IFFALSE 19861
19814: GO 19816
19816: DISABLE
19817: LD_INT 0
19819: PPUSH
// begin for i in RU_utok do
19820: LD_ADDR_VAR 0 1
19824: PUSH
19825: LD_EXP 32
19829: PUSH
19830: FOR_IN
19831: IFFALSE 19858
// if not IsInArea ( i , Ru_ter ) then
19833: LD_VAR 0 1
19837: PPUSH
19838: LD_INT 5
19840: PPUSH
19841: CALL_OW 308
19845: NOT
19846: IFFALSE 19856
// vyjeli = true ;
19848: LD_ADDR_LOC 9
19852: PUSH
19853: LD_INT 1
19855: ST_TO_ADDR
19856: GO 19830
19858: POP
19859: POP
// enable ;
19860: ENABLE
// end ;
19861: PPOPN 1
19863: END
// every 0 0$3 trigger utok_am do var pom , i , pom1 ;
19864: LD_EXP 17
19868: IFFALSE 20017
19870: GO 19872
19872: DISABLE
19873: LD_INT 0
19875: PPUSH
19876: PPUSH
19877: PPUSH
// begin wait ( 0 0$10 ) ;
19878: LD_INT 350
19880: PPUSH
19881: CALL_OW 67
// pom1 = [ ] ;
19885: LD_ADDR_VAR 0 3
19889: PUSH
19890: EMPTY
19891: ST_TO_ADDR
// pom = FilterUnitsExceptArea ( Am_ter , [ [ f_side , Amici ] ] ) ;
19892: LD_ADDR_VAR 0 1
19896: PUSH
19897: LD_INT 6
19899: PPUSH
19900: LD_INT 22
19902: PUSH
19903: LD_EXP 2
19907: PUSH
19908: EMPTY
19909: LIST
19910: LIST
19911: PUSH
19912: EMPTY
19913: LIST
19914: PPUSH
19915: CALL_OW 71
19919: ST_TO_ADDR
// for i in pom do
19920: LD_ADDR_VAR 0 2
19924: PUSH
19925: LD_VAR 0 1
19929: PUSH
19930: FOR_IN
19931: IFFALSE 19966
// if IsDrivenBy ( i ) <> 0 then
19933: LD_VAR 0 2
19937: PPUSH
19938: CALL_OW 311
19942: PUSH
19943: LD_INT 0
19945: NONEQUAL
19946: IFFALSE 19964
// pom1 = pom1 ^ i ;
19948: LD_ADDR_VAR 0 3
19952: PUSH
19953: LD_VAR 0 3
19957: PUSH
19958: LD_VAR 0 2
19962: ADD
19963: ST_TO_ADDR
19964: GO 19930
19966: POP
19967: POP
// if pom1 = 0 then
19968: LD_VAR 0 3
19972: PUSH
19973: LD_INT 0
19975: EQUAL
19976: IFFALSE 20016
// begin if vyjeli then
19978: LD_LOC 9
19982: IFFALSE 20016
// begin UTOKY = 0 ;
19984: LD_ADDR_EXP 4
19988: PUSH
19989: LD_INT 0
19991: ST_TO_ADDR
// vyjeli = false ;
19992: LD_ADDR_LOC 9
19996: PUSH
19997: LD_INT 0
19999: ST_TO_ADDR
// utok_am = false ;
20000: LD_ADDR_EXP 17
20004: PUSH
20005: LD_INT 0
20007: ST_TO_ADDR
// utok_over = true ;
20008: LD_ADDR_EXP 40
20012: PUSH
20013: LD_INT 1
20015: ST_TO_ADDR
// end ; end ; enable ;
20016: ENABLE
// end ;
20017: PPOPN 3
20019: END
// every 0 0$3 trigger utok_ru do var pom , i , pom1 ;
20020: LD_EXP 27
20024: IFFALSE 20173
20026: GO 20028
20028: DISABLE
20029: LD_INT 0
20031: PPUSH
20032: PPUSH
20033: PPUSH
// begin wait ( 0 0$10 ) ;
20034: LD_INT 350
20036: PPUSH
20037: CALL_OW 67
// pom1 = [ ] ;
20041: LD_ADDR_VAR 0 3
20045: PUSH
20046: EMPTY
20047: ST_TO_ADDR
// pom = FilterUnitsExceptArea ( Ru_ter , [ [ f_side , Rusi ] ] ) ;
20048: LD_ADDR_VAR 0 1
20052: PUSH
20053: LD_INT 5
20055: PPUSH
20056: LD_INT 22
20058: PUSH
20059: LD_EXP 3
20063: PUSH
20064: EMPTY
20065: LIST
20066: LIST
20067: PUSH
20068: EMPTY
20069: LIST
20070: PPUSH
20071: CALL_OW 71
20075: ST_TO_ADDR
// for i in pom do
20076: LD_ADDR_VAR 0 2
20080: PUSH
20081: LD_VAR 0 1
20085: PUSH
20086: FOR_IN
20087: IFFALSE 20122
// if IsDrivenBy ( i ) <> 0 then
20089: LD_VAR 0 2
20093: PPUSH
20094: CALL_OW 311
20098: PUSH
20099: LD_INT 0
20101: NONEQUAL
20102: IFFALSE 20120
// pom1 = pom1 ^ i ;
20104: LD_ADDR_VAR 0 3
20108: PUSH
20109: LD_VAR 0 3
20113: PUSH
20114: LD_VAR 0 2
20118: ADD
20119: ST_TO_ADDR
20120: GO 20086
20122: POP
20123: POP
// if pom1 = 0 then
20124: LD_VAR 0 3
20128: PUSH
20129: LD_INT 0
20131: EQUAL
20132: IFFALSE 20172
// begin utok_ru = false ;
20134: LD_ADDR_EXP 27
20138: PUSH
20139: LD_INT 0
20141: ST_TO_ADDR
// utok_over = true ;
20142: LD_ADDR_EXP 40
20146: PUSH
20147: LD_INT 1
20149: ST_TO_ADDR
// if vyjeli then
20150: LD_LOC 9
20154: IFFALSE 20172
// begin UTOKY = 0 ;
20156: LD_ADDR_EXP 4
20160: PUSH
20161: LD_INT 0
20163: ST_TO_ADDR
// vyjeli = false ;
20164: LD_ADDR_LOC 9
20168: PUSH
20169: LD_INT 0
20171: ST_TO_ADDR
// end ; end ; enable ;
20172: ENABLE
// end ;
20173: PPOPN 3
20175: END
// every 0 0$20 do
20176: GO 20178
20178: DISABLE
// begin utok_am = true ;
20179: LD_ADDR_EXP 17
20183: PUSH
20184: LD_INT 1
20186: ST_TO_ADDR
// Attack_No = 1 ;
20187: LD_ADDR_EXP 41
20191: PUSH
20192: LD_INT 1
20194: ST_TO_ADDR
// end ;
20195: END
// every 0 0$8 trigger Attack_No = 1 and not utok_am do
20196: LD_EXP 41
20200: PUSH
20201: LD_INT 1
20203: EQUAL
20204: PUSH
20205: LD_EXP 17
20209: NOT
20210: AND
20211: IFFALSE 20239
20213: GO 20215
20215: DISABLE
// begin wait ( 2 2$0 ) ;
20216: LD_INT 4200
20218: PPUSH
20219: CALL_OW 67
// utok_ru = true ;
20223: LD_ADDR_EXP 27
20227: PUSH
20228: LD_INT 1
20230: ST_TO_ADDR
// Attack_No = 2 ;
20231: LD_ADDR_EXP 41
20235: PUSH
20236: LD_INT 2
20238: ST_TO_ADDR
// end ;
20239: END
// every 0 0$37 trigger Attack_No = 2 and not utok_ru do
20240: LD_EXP 41
20244: PUSH
20245: LD_INT 2
20247: EQUAL
20248: PUSH
20249: LD_EXP 27
20253: NOT
20254: AND
20255: IFFALSE 20291
20257: GO 20259
20259: DISABLE
// begin USPLNEN = false ;
20260: LD_ADDR_EXP 37
20264: PUSH
20265: LD_INT 0
20267: ST_TO_ADDR
// wait ( 2 2$30 ) ;
20268: LD_INT 5250
20270: PPUSH
20271: CALL_OW 67
// utok_ru = false ;
20275: LD_ADDR_EXP 27
20279: PUSH
20280: LD_INT 0
20282: ST_TO_ADDR
// Attack_No = 3 ;
20283: LD_ADDR_EXP 41
20287: PUSH
20288: LD_INT 3
20290: ST_TO_ADDR
// end ;
20291: END
// every 0 0$30 trigger Attack_No = 3 and not utok_am do
20292: LD_EXP 41
20296: PUSH
20297: LD_INT 3
20299: EQUAL
20300: PUSH
20301: LD_EXP 17
20305: NOT
20306: AND
20307: IFFALSE 20335
20309: GO 20311
20311: DISABLE
// begin wait ( 1 1$30 ) ;
20312: LD_INT 3150
20314: PPUSH
20315: CALL_OW 67
// utok_am = false ;
20319: LD_ADDR_EXP 17
20323: PUSH
20324: LD_INT 0
20326: ST_TO_ADDR
// Attack_No = 4 ;
20327: LD_ADDR_EXP 41
20331: PUSH
20332: LD_INT 4
20334: ST_TO_ADDR
// end ;
20335: END
