// export vsevolod , giles ; export byloAuto , jdiDoTov , otacejSe , hrajeme , research ; starting var un ; begin RandomizeAll ;
   0: CALL_OW 11
// ChangeSideFog ( 3 , 1 ) ;
   4: LD_INT 3
   6: PPUSH
   7: LD_INT 1
   9: PPUSH
  10: CALL_OW 343
// ResetFog ;
  14: CALL_OW 335
// IngameOn ( ) ;
  18: CALL_OW 8
// byloAuto = false ;
  22: LD_ADDR_EXP 3
  26: PUSH
  27: LD_INT 0
  29: ST_TO_ADDR
// jdiDoTov = false ;
  30: LD_ADDR_EXP 4
  34: PUSH
  35: LD_INT 0
  37: ST_TO_ADDR
// otacejSe = false ;
  38: LD_ADDR_EXP 5
  42: PUSH
  43: LD_INT 0
  45: ST_TO_ADDR
// hrajeme = false ;
  46: LD_ADDR_EXP 6
  50: PUSH
  51: LD_INT 0
  53: ST_TO_ADDR
// research = false ;
  54: LD_ADDR_EXP 7
  58: PUSH
  59: LD_INT 0
  61: ST_TO_ADDR
// uc_side = 3 ;
  62: LD_ADDR_OWVAR 20
  66: PUSH
  67: LD_INT 3
  69: ST_TO_ADDR
// vsevolod := NewCharacter ( Vsevolod ) ;
  70: LD_ADDR_EXP 1
  74: PUSH
  75: LD_STRING Vsevolod
  77: PPUSH
  78: CALL_OW 25
  82: ST_TO_ADDR
// uc_side = 6 ;
  83: LD_ADDR_OWVAR 20
  87: PUSH
  88: LD_INT 6
  90: ST_TO_ADDR
// giles := NewCharacter ( Giles ) ;
  91: LD_ADDR_EXP 2
  95: PUSH
  96: LD_STRING Giles
  98: PPUSH
  99: CALL_OW 25
 103: ST_TO_ADDR
// for un in FilterUnitsInArea ( lidi , [ [ f_side , 6 ] , [ f_type , unit_human ] ] ) do
 104: LD_ADDR_VAR 0 1
 108: PUSH
 109: LD_INT 6
 111: PPUSH
 112: LD_INT 22
 114: PUSH
 115: LD_INT 6
 117: PUSH
 118: EMPTY
 119: LIST
 120: LIST
 121: PUSH
 122: LD_INT 21
 124: PUSH
 125: LD_INT 1
 127: PUSH
 128: EMPTY
 129: LIST
 130: LIST
 131: PUSH
 132: EMPTY
 133: LIST
 134: LIST
 135: PPUSH
 136: CALL_OW 70
 140: PUSH
 141: FOR_IN
 142: IFFALSE 155
// begin RemoveUnit ( un ) ;
 144: LD_VAR 0 1
 148: PPUSH
 149: CALL_OW 64
// end ;
 153: GO 141
 155: POP
 156: POP
// SetBLevel ( ( FilterAllUnits ( [ [ f_placed ] , [ f_side , 6 ] , [ f_type , unit_building ] ] ) ) , 5 ) ;
 157: LD_INT 52
 159: PUSH
 160: EMPTY
 161: LIST
 162: PUSH
 163: LD_INT 22
 165: PUSH
 166: LD_INT 6
 168: PUSH
 169: EMPTY
 170: LIST
 171: LIST
 172: PUSH
 173: LD_INT 21
 175: PUSH
 176: LD_INT 3
 178: PUSH
 179: EMPTY
 180: LIST
 181: LIST
 182: PUSH
 183: EMPTY
 184: LIST
 185: LIST
 186: LIST
 187: PPUSH
 188: CALL_OW 69
 192: PPUSH
 193: LD_INT 5
 195: PPUSH
 196: CALL_OW 241
// SetBName ( ware , rjuter ) ;
 200: LD_INT 28
 202: PPUSH
 203: LD_STRING rjuter
 205: PPUSH
 206: CALL_OW 500
// PlaceHumanInUnit ( vez1 , tgun ) ;
 210: LD_INT 20
 212: PPUSH
 213: LD_INT 24
 215: PPUSH
 216: CALL_OW 52
// PlaceHumanInUnit ( vez2 , thgun ) ;
 220: LD_INT 22
 222: PPUSH
 223: LD_INT 25
 225: PPUSH
 226: CALL_OW 52
// PlaceHumanInUnit ( mech1 , tfac ) ;
 230: LD_INT 15
 232: PPUSH
 233: LD_INT 26
 235: PPUSH
 236: CALL_OW 52
// PlaceHumanInUnit ( mech2 , tfac ) ;
 240: LD_INT 16
 242: PPUSH
 243: LD_INT 26
 245: PPUSH
 246: CALL_OW 52
// PlaceHumanInUnit ( ved1 , tlab ) ;
 250: LD_INT 29
 252: PPUSH
 253: LD_INT 27
 255: PPUSH
 256: CALL_OW 52
// PlaceHumanInUnit ( ved2 , tlab ) ;
 260: LD_INT 30
 262: PPUSH
 263: LD_INT 27
 265: PPUSH
 266: CALL_OW 52
// PlaceHumanInUnit ( delnik , ware ) ;
 270: LD_INT 19
 272: PPUSH
 273: LD_INT 28
 275: PPUSH
 276: CALL_OW 52
// PlaceHumanInUnit ( mechexp , tfac ) ;
 280: LD_INT 33
 282: PPUSH
 283: LD_INT 26
 285: PPUSH
 286: CALL_OW 52
// PlaceHumanInUnit ( kasa , FilterAllUnits ( [ f_btype , b_barracks ] ) [ 1 ] ) ;
 290: LD_INT 21
 292: PPUSH
 293: LD_INT 30
 295: PUSH
 296: LD_INT 5
 298: PUSH
 299: EMPTY
 300: LIST
 301: LIST
 302: PPUSH
 303: CALL_OW 69
 307: PUSH
 308: LD_INT 1
 310: ARRAY
 311: PPUSH
 312: CALL_OW 52
// PlaceHumanInUnit ( kasa2 , FilterAllUnits ( [ f_btype , b_barracks ] ) [ 1 ] ) ;
 316: LD_INT 23
 318: PPUSH
 319: LD_INT 30
 321: PUSH
 322: LD_INT 5
 324: PUSH
 325: EMPTY
 326: LIST
 327: LIST
 328: PPUSH
 329: CALL_OW 69
 333: PUSH
 334: LD_INT 1
 336: ARRAY
 337: PPUSH
 338: CALL_OW 52
// SetResourceType ( GetBase ( ware ) , mat_cans , 250 ) ;
 342: LD_INT 28
 344: PPUSH
 345: CALL_OW 274
 349: PPUSH
 350: LD_INT 1
 352: PPUSH
 353: LD_INT 250
 355: PPUSH
 356: CALL_OW 277
// SetResourceType ( GetBase ( ware ) , mat_oil , 1500 ) ;
 360: LD_INT 28
 362: PPUSH
 363: CALL_OW 274
 367: PPUSH
 368: LD_INT 2
 370: PPUSH
 371: LD_INT 1500
 373: PPUSH
 374: CALL_OW 277
// SetResourceType ( GetBase ( ware ) , mat_siberit , 75 ) ;
 378: LD_INT 28
 380: PPUSH
 381: CALL_OW 274
 385: PPUSH
 386: LD_INT 3
 388: PPUSH
 389: LD_INT 75
 391: PPUSH
 392: CALL_OW 277
// CenterNowOnXY ( 66 , 47 ) ;
 396: LD_INT 66
 398: PPUSH
 399: LD_INT 47
 401: PPUSH
 402: CALL_OW 86
// end ;
 406: END
// every 0 0$0.5 do var list ;
 407: GO 409
 409: DISABLE
 410: LD_INT 0
 412: PPUSH
// begin list = [ 1 , 2 , 3 , 4 ] ;
 413: LD_ADDR_VAR 0 1
 417: PUSH
 418: LD_INT 1
 420: PUSH
 421: LD_INT 2
 423: PUSH
 424: LD_INT 3
 426: PUSH
 427: LD_INT 4
 429: PUSH
 430: EMPTY
 431: LIST
 432: LIST
 433: LIST
 434: LIST
 435: ST_TO_ADDR
// case Query ( informace ) of 1 :
 436: LD_STRING informace
 438: PPUSH
 439: CALL_OW 97
 443: PUSH
 444: LD_INT 1
 446: DOUBLE
 447: EQUAL
 448: IFTRUE 452
 450: GO 455
 452: POP
// begin end ; end ;
 453: GO 456
 455: POP
// PlaceUnitArea ( vsevolod , spot , false ) ;
 456: LD_EXP 1
 460: PPUSH
 461: LD_INT 4
 463: PPUSH
 464: LD_INT 0
 466: PPUSH
 467: CALL_OW 49
// PlaceUnitArea ( giles , spotGiles , false ) ;
 471: LD_EXP 2
 475: PPUSH
 476: LD_INT 5
 478: PPUSH
 479: LD_INT 0
 481: PPUSH
 482: CALL_OW 49
// ComHold ( giles ) ;
 486: LD_EXP 2
 490: PPUSH
 491: CALL_OW 140
// ComTurnUnit ( giles , vsevolod ) ;
 495: LD_EXP 2
 499: PPUSH
 500: LD_EXP 1
 504: PPUSH
 505: CALL_OW 119
// ComHold ( vsevolod ) ;
 509: LD_EXP 1
 513: PPUSH
 514: CALL_OW 140
// ComTurnUnit ( vsevolod , giles ) ;
 518: LD_EXP 1
 522: PPUSH
 523: LD_EXP 2
 527: PPUSH
 528: CALL_OW 119
// Say ( giles , dim-1 ) ;
 532: LD_EXP 2
 536: PPUSH
 537: LD_STRING dim-1
 539: PPUSH
 540: CALL_OW 88
// Say ( giles , dim-2 ) ;
 544: LD_EXP 2
 548: PPUSH
 549: LD_STRING dim-2
 551: PPUSH
 552: CALL_OW 88
// Say ( vsevolod , vse1-1 ) ;
 556: LD_EXP 1
 560: PPUSH
 561: LD_STRING vse1-1
 563: PPUSH
 564: CALL_OW 88
// Say ( giles , dim-3 ) ;
 568: LD_EXP 2
 572: PPUSH
 573: LD_STRING dim-3
 575: PPUSH
 576: CALL_OW 88
// Say ( giles , dim-4 ) ;
 580: LD_EXP 2
 584: PPUSH
 585: LD_STRING dim-4
 587: PPUSH
 588: CALL_OW 88
// CallQuery ( list ) ;
 592: LD_VAR 0 1
 596: PPUSH
 597: CALL 694 0 1
// Wait ( 0 0$0.6 ) ;
 601: LD_INT 21
 603: PPUSH
 604: CALL_OW 67
// case Query ( odjezd ) of 1 :
 608: LD_STRING odjezd
 610: PPUSH
 611: CALL_OW 97
 615: PUSH
 616: LD_INT 1
 618: DOUBLE
 619: EQUAL
 620: IFTRUE 624
 622: GO 627
 624: POP
// begin end ; end ;
 625: GO 628
 627: POP
// ChangeSideFog ( 3 , 6 ) ;
 628: LD_INT 3
 630: PPUSH
 631: LD_INT 6
 633: PPUSH
 634: CALL_OW 343
// ComFree ( giles ) ;
 638: LD_EXP 2
 642: PPUSH
 643: CALL_OW 139
// ComHold ( giles ) ;
 647: LD_EXP 2
 651: PPUSH
 652: CALL_OW 140
// ComFree ( vsevolod ) ;
 656: LD_EXP 1
 660: PPUSH
 661: CALL_OW 139
// SetAreaMapShow ( leave , 9 ) ;
 665: LD_INT 7
 667: PPUSH
 668: LD_INT 9
 670: PPUSH
 671: CALL_OW 424
// hrajeme = true ;
 675: LD_ADDR_EXP 6
 679: PUSH
 680: LD_INT 1
 682: ST_TO_ADDR
// SaveForQuickRestart ;
 683: CALL_OW 22
// IngameOff ( ) ;
 687: CALL_OW 9
// end ;
 691: PPOPN 1
 693: END
// function CallQuery ( list ) ; begin
 694: LD_INT 0
 696: PPUSH
// Wait ( 0 0$0.5 ) ;
 697: LD_INT 18
 699: PPUSH
 700: CALL_OW 67
// if list + 0 <= 1 then
 704: LD_VAR 0 1
 708: PUSH
 709: LD_INT 0
 711: PLUS
 712: PUSH
 713: LD_INT 1
 715: LESSEQUAL
 716: IFFALSE 732
// Say ( vsevolod , vse1-5 ) else
 718: LD_EXP 1
 722: PPUSH
 723: LD_STRING vse1-5
 725: PPUSH
 726: CALL_OW 88
 730: GO 943
// case SelectiveQuery ( otazky , list ) of 1 :
 732: LD_STRING otazky
 734: PPUSH
 735: LD_VAR 0 1
 739: PPUSH
 740: CALL_OW 98
 744: PUSH
 745: LD_INT 1
 747: DOUBLE
 748: EQUAL
 749: IFTRUE 753
 751: GO 803
 753: POP
// begin list = list diff 1 ;
 754: LD_ADDR_VAR 0 1
 758: PUSH
 759: LD_VAR 0 1
 763: PUSH
 764: LD_INT 1
 766: DIFF
 767: ST_TO_ADDR
// Say ( vsevolod , vse1-2 ) ;
 768: LD_EXP 1
 772: PPUSH
 773: LD_STRING vse1-2
 775: PPUSH
 776: CALL_OW 88
// Say ( giles , dim-5 ) ;
 780: LD_EXP 2
 784: PPUSH
 785: LD_STRING dim-5
 787: PPUSH
 788: CALL_OW 88
// CallQuery ( list ) ;
 792: LD_VAR 0 1
 796: PPUSH
 797: CALL 694 0 1
// end ; 2 :
 801: GO 943
 803: LD_INT 2
 805: DOUBLE
 806: EQUAL
 807: IFTRUE 811
 809: GO 861
 811: POP
// begin list = list diff 2 ;
 812: LD_ADDR_VAR 0 1
 816: PUSH
 817: LD_VAR 0 1
 821: PUSH
 822: LD_INT 2
 824: DIFF
 825: ST_TO_ADDR
// Say ( vsevolod , vse1-3 ) ;
 826: LD_EXP 1
 830: PPUSH
 831: LD_STRING vse1-3
 833: PPUSH
 834: CALL_OW 88
// Say ( giles , dim-6 ) ;
 838: LD_EXP 2
 842: PPUSH
 843: LD_STRING dim-6
 845: PPUSH
 846: CALL_OW 88
// CallQuery ( list ) ;
 850: LD_VAR 0 1
 854: PPUSH
 855: CALL 694 0 1
// end ; 3 :
 859: GO 943
 861: LD_INT 3
 863: DOUBLE
 864: EQUAL
 865: IFTRUE 869
 867: GO 919
 869: POP
// begin list = list diff 3 ;
 870: LD_ADDR_VAR 0 1
 874: PUSH
 875: LD_VAR 0 1
 879: PUSH
 880: LD_INT 3
 882: DIFF
 883: ST_TO_ADDR
// Say ( vsevolod , vse1-4 ) ;
 884: LD_EXP 1
 888: PPUSH
 889: LD_STRING vse1-4
 891: PPUSH
 892: CALL_OW 88
// Say ( giles , dim-7 ) ;
 896: LD_EXP 2
 900: PPUSH
 901: LD_STRING dim-7
 903: PPUSH
 904: CALL_OW 88
// CallQuery ( list ) ;
 908: LD_VAR 0 1
 912: PPUSH
 913: CALL 694 0 1
// end ; 4 :
 917: GO 943
 919: LD_INT 4
 921: DOUBLE
 922: EQUAL
 923: IFTRUE 927
 925: GO 942
 927: POP
// begin Say ( vsevolod , vse1-5 ) ;
 928: LD_EXP 1
 932: PPUSH
 933: LD_STRING vse1-5
 935: PPUSH
 936: CALL_OW 88
// end ; end ;
 940: GO 943
 942: POP
// end ;
 943: LD_VAR 0 2
 947: RET
// every 0 0$1 trigger IsInArea ( vsevolod , tovarys ) and byloAuto = false do
 948: LD_EXP 1
 952: PPUSH
 953: LD_INT 8
 955: PPUSH
 956: CALL_OW 308
 960: PUSH
 961: LD_EXP 3
 965: PUSH
 966: LD_INT 0
 968: EQUAL
 969: AND
 970: IFFALSE 1020
 972: GO 974
 974: DISABLE
// begin byloAuto = true ;
 975: LD_ADDR_EXP 3
 979: PUSH
 980: LD_INT 1
 982: ST_TO_ADDR
// Say ( vsevolod , vse1-7 ) ;
 983: LD_EXP 1
 987: PPUSH
 988: LD_STRING vse1-7
 990: PPUSH
 991: CALL_OW 88
// Say ( Rand ( mech1 , mech2 ) , mech-1 ) ;
 995: LD_INT 15
 997: PPUSH
 998: LD_INT 16
1000: PPUSH
1001: CALL_OW 12
1005: PPUSH
1006: LD_STRING mech-1
1008: PPUSH
1009: CALL_OW 88
// VyrobAuto ( 0 ) ;
1013: LD_INT 0
1015: PPUSH
1016: CALL 1021 0 1
// end ;
1020: END
// function VyrobAuto ( mechac ) ; var zbrane , ch , weap ; var list ; begin
1021: LD_INT 0
1023: PPUSH
1024: PPUSH
1025: PPUSH
1026: PPUSH
1027: PPUSH
// zbrane := [ ru_gatling_gun , ru_gun , ru_heavy_gun , ru_rocket_launcher ] ;
1028: LD_ADDR_VAR 0 3
1032: PUSH
1033: LD_INT 43
1035: PUSH
1036: LD_INT 44
1038: PUSH
1039: LD_INT 46
1041: PUSH
1042: LD_INT 45
1044: PUSH
1045: EMPTY
1046: LIST
1047: LIST
1048: LIST
1049: LIST
1050: ST_TO_ADDR
// list := [ 1 , 2 , 3 , 4 ] ;
1051: LD_ADDR_VAR 0 6
1055: PUSH
1056: LD_INT 1
1058: PUSH
1059: LD_INT 2
1061: PUSH
1062: LD_INT 3
1064: PUSH
1065: LD_INT 4
1067: PUSH
1068: EMPTY
1069: LIST
1070: LIST
1071: LIST
1072: LIST
1073: ST_TO_ADDR
// Wait ( 0 0$0.5 ) ;
1074: LD_INT 18
1076: PPUSH
1077: CALL_OW 67
// case Query ( postavime_autak_podvozek ) of 1 :
1081: LD_STRING postavime_autak_podvozek
1083: PPUSH
1084: CALL_OW 97
1088: PUSH
1089: LD_INT 1
1091: DOUBLE
1092: EQUAL
1093: IFTRUE 1097
1095: GO 1122
1097: POP
// begin ch = ru_medium_wheeled ;
1098: LD_ADDR_VAR 0 4
1102: PUSH
1103: LD_INT 21
1105: ST_TO_ADDR
// list = list diff 3 ;
1106: LD_ADDR_VAR 0 6
1110: PUSH
1111: LD_VAR 0 6
1115: PUSH
1116: LD_INT 3
1118: DIFF
1119: ST_TO_ADDR
// end ; 2 :
1120: GO 1194
1122: LD_INT 2
1124: DOUBLE
1125: EQUAL
1126: IFTRUE 1130
1128: GO 1155
1130: POP
// begin ch = ru_medium_tracked ;
1131: LD_ADDR_VAR 0 4
1135: PUSH
1136: LD_INT 22
1138: ST_TO_ADDR
// list = list diff 3 ;
1139: LD_ADDR_VAR 0 6
1143: PUSH
1144: LD_VAR 0 6
1148: PUSH
1149: LD_INT 3
1151: DIFF
1152: ST_TO_ADDR
// end ; 3 :
1153: GO 1194
1155: LD_INT 3
1157: DOUBLE
1158: EQUAL
1159: IFTRUE 1163
1161: GO 1174
1163: POP
// begin ch = ru_heavy_wheeled ;
1164: LD_ADDR_VAR 0 4
1168: PUSH
1169: LD_INT 23
1171: ST_TO_ADDR
// end ; 4 :
1172: GO 1194
1174: LD_INT 4
1176: DOUBLE
1177: EQUAL
1178: IFTRUE 1182
1180: GO 1193
1182: POP
// begin ch = ru_heavy_tracked ;
1183: LD_ADDR_VAR 0 4
1187: PUSH
1188: LD_INT 24
1190: ST_TO_ADDR
// end ; end ;
1191: GO 1194
1193: POP
// case SelectiveQuery ( postavime_autak_zbran , list ) of 1 :
1194: LD_STRING postavime_autak_zbran
1196: PPUSH
1197: LD_VAR 0 6
1201: PPUSH
1202: CALL_OW 98
1206: PUSH
1207: LD_INT 1
1209: DOUBLE
1210: EQUAL
1211: IFTRUE 1215
1213: GO 1226
1215: POP
// begin weap = ru_gatling_gun ;
1216: LD_ADDR_VAR 0 5
1220: PUSH
1221: LD_INT 43
1223: ST_TO_ADDR
// end ; 2 :
1224: GO 1284
1226: LD_INT 2
1228: DOUBLE
1229: EQUAL
1230: IFTRUE 1234
1232: GO 1245
1234: POP
// begin weap = ru_gun ;
1235: LD_ADDR_VAR 0 5
1239: PUSH
1240: LD_INT 44
1242: ST_TO_ADDR
// end ; 3 :
1243: GO 1284
1245: LD_INT 3
1247: DOUBLE
1248: EQUAL
1249: IFTRUE 1253
1251: GO 1264
1253: POP
// begin weap = ru_heavy_gun ;
1254: LD_ADDR_VAR 0 5
1258: PUSH
1259: LD_INT 46
1261: ST_TO_ADDR
// end ; 4 :
1262: GO 1284
1264: LD_INT 4
1266: DOUBLE
1267: EQUAL
1268: IFTRUE 1272
1270: GO 1283
1272: POP
// begin weap = ru_rocket_launcher ;
1273: LD_ADDR_VAR 0 5
1277: PUSH
1278: LD_INT 45
1280: ST_TO_ADDR
// end ; end ;
1281: GO 1284
1283: POP
// if mechac then
1284: LD_VAR 0 1
1288: IFFALSE 1306
// begin repeat Wait ( 0 0$0.5 ) ;
1290: LD_INT 18
1292: PPUSH
1293: CALL_OW 67
// until IsInUnit ( mechdel ) ;
1297: LD_INT 34
1299: PPUSH
1300: CALL_OW 310
1304: IFFALSE 1290
// end ; Wait ( 0 0$4 ) ;
1306: LD_INT 140
1308: PPUSH
1309: CALL_OW 67
// ComConstruct ( tfac , ch , engine_siberite , control_manual , weap ) ;
1313: LD_INT 26
1315: PPUSH
1316: LD_VAR 0 4
1320: PPUSH
1321: LD_INT 3
1323: PPUSH
1324: LD_INT 1
1326: PPUSH
1327: LD_VAR 0 5
1331: PPUSH
1332: CALL_OW 125
// Wait ( 0 0$3 ) ;
1336: LD_INT 105
1338: PPUSH
1339: CALL_OW 67
// if IsInUnit ( mechdel ) = false then
1343: LD_INT 34
1345: PPUSH
1346: CALL_OW 310
1350: PUSH
1351: LD_INT 0
1353: EQUAL
1354: IFFALSE 1366
// ComEnterUnit ( mechdel , tfac ) ;
1356: LD_INT 34
1358: PPUSH
1359: LD_INT 26
1361: PPUSH
1362: CALL_OW 120
// end ;
1366: LD_VAR 0 2
1370: RET
// every 0 0$0.5 trigger GetDistUnits ( apem , mechdel ) <= 2 do
1371: LD_INT 35
1373: PPUSH
1374: LD_INT 34
1376: PPUSH
1377: CALL_OW 296
1381: PUSH
1382: LD_INT 2
1384: LESSEQUAL
1385: IFFALSE 1401
1387: GO 1389
1389: DISABLE
// begin ComMoveToArea ( apem , lesik ) ;
1390: LD_INT 35
1392: PPUSH
1393: LD_INT 9
1395: PPUSH
1396: CALL_OW 113
// enable ;
1400: ENABLE
// end ;
1401: END
// every 0 0$0.5 trigger GetDistUnits ( vsevolod , mechdel ) <= 5 and byloAuto = false do
1402: LD_EXP 1
1406: PPUSH
1407: LD_INT 34
1409: PPUSH
1410: CALL_OW 296
1414: PUSH
1415: LD_INT 5
1417: LESSEQUAL
1418: PUSH
1419: LD_EXP 3
1423: PUSH
1424: LD_INT 0
1426: EQUAL
1427: AND
1428: IFFALSE 1490
1430: GO 1432
1432: DISABLE
// begin byloAuto = true ;
1433: LD_ADDR_EXP 3
1437: PUSH
1438: LD_INT 1
1440: ST_TO_ADDR
// ComTurnUnit ( mechdel , vsevolod ) ;
1441: LD_INT 34
1443: PPUSH
1444: LD_EXP 1
1448: PPUSH
1449: CALL_OW 119
// Say ( vsevolod , vse1-8 ) ;
1453: LD_EXP 1
1457: PPUSH
1458: LD_STRING vse1-8
1460: PPUSH
1461: CALL_OW 88
// Say ( mechdel , mech-2 ) ;
1465: LD_INT 34
1467: PPUSH
1468: LD_STRING mech-2
1470: PPUSH
1471: CALL_OW 88
// jdiDoTov = true ;
1475: LD_ADDR_EXP 4
1479: PUSH
1480: LD_INT 1
1482: ST_TO_ADDR
// VyrobAuto ( 1 ) ;
1483: LD_INT 1
1485: PPUSH
1486: CALL 1021 0 1
// end ;
1490: END
// every 0 0$0.25 trigger jdiDoTov do
1491: LD_EXP 4
1495: IFFALSE 1517
1497: GO 1499
1499: DISABLE
// begin Wait ( 0 0$1.5 ) ;
1500: LD_INT 52
1502: PPUSH
1503: CALL_OW 67
// ComEnterUnit ( mechdel , tfac ) ;
1507: LD_INT 34
1509: PPUSH
1510: LD_INT 26
1512: PPUSH
1513: CALL_OW 120
// end ;
1517: END
// on Contact ( side , side2 ) do begin if side = 3 and side2 = 6 then
1518: LD_VAR 0 1
1522: PUSH
1523: LD_INT 3
1525: EQUAL
1526: PUSH
1527: LD_VAR 0 2
1531: PUSH
1532: LD_INT 6
1534: EQUAL
1535: AND
1536: IFFALSE 1575
// begin Wait ( 0 0$1.5 ) ;
1538: LD_INT 52
1540: PPUSH
1541: CALL_OW 67
// DialogueOn ( ) ;
1545: CALL_OW 6
// Say ( giles , dim-8 ) ;
1549: LD_EXP 2
1553: PPUSH
1554: LD_STRING dim-8
1556: PPUSH
1557: CALL_OW 88
// Wait ( 0 0$0.5 ) ;
1561: LD_INT 18
1563: PPUSH
1564: CALL_OW 67
// YouLost ( soud ) ;
1568: LD_STRING soud
1570: PPUSH
1571: CALL_OW 104
// end ; end ;
1575: PPOPN 2
1577: END
// on UnitGoesToRed ( un ) do begin if un = Vsevolod then
1578: LD_VAR 0 1
1582: PUSH
1583: LD_EXP 1
1587: EQUAL
1588: IFFALSE 1604
// begin Wait ( 0 0$1.5 ) ;
1590: LD_INT 52
1592: PPUSH
1593: CALL_OW 67
// YouLost ( sevidead ) ;
1597: LD_STRING sevidead
1599: PPUSH
1600: CALL_OW 104
// end ; end ;
1604: PPOPN 1
1606: END
// var chlapek ; on VehicleConstructed ( veh , fac ) do var nekdoZTovarny ;
1607: LD_INT 0
1609: PPUSH
// begin chlapek = FilterAllUnits ( [ [ f_side , 6 ] , [ f_driving ] ] ) [ 1 ] ;
1610: LD_ADDR_LOC 1
1614: PUSH
1615: LD_INT 22
1617: PUSH
1618: LD_INT 6
1620: PUSH
1621: EMPTY
1622: LIST
1623: LIST
1624: PUSH
1625: LD_INT 55
1627: PUSH
1628: EMPTY
1629: LIST
1630: PUSH
1631: EMPTY
1632: LIST
1633: LIST
1634: PPUSH
1635: CALL_OW 69
1639: PUSH
1640: LD_INT 1
1642: ARRAY
1643: ST_TO_ADDR
// nekdoZTovarny = ( FilterAllUnits ( [ [ f_side , 6 ] , [ f_class , class_mechanic ] ] ) diff chlapek ) [ 1 ] ;
1644: LD_ADDR_VAR 0 3
1648: PUSH
1649: LD_INT 22
1651: PUSH
1652: LD_INT 6
1654: PUSH
1655: EMPTY
1656: LIST
1657: LIST
1658: PUSH
1659: LD_INT 25
1661: PUSH
1662: LD_INT 3
1664: PUSH
1665: EMPTY
1666: LIST
1667: LIST
1668: PUSH
1669: EMPTY
1670: LIST
1671: LIST
1672: PPUSH
1673: CALL_OW 69
1677: PUSH
1678: LD_LOC 1
1682: DIFF
1683: PUSH
1684: LD_INT 1
1686: ARRAY
1687: ST_TO_ADDR
// ComMoveToArea ( chlapek , park ) ;
1688: LD_LOC 1
1692: PPUSH
1693: LD_INT 11
1695: PPUSH
1696: CALL_OW 113
// AddComExitVehicle ( chlapek ) ;
1700: LD_LOC 1
1704: PPUSH
1705: CALL_OW 181
// repeat Wait ( 0 0$0.5 ) ;
1709: LD_INT 18
1711: PPUSH
1712: CALL_OW 67
// until IsInUnit ( chlapek ) = false ;
1716: LD_LOC 1
1720: PPUSH
1721: CALL_OW 310
1725: PUSH
1726: LD_INT 0
1728: EQUAL
1729: IFFALSE 1709
// AddComEnterUnit ( chlapek , tfac ) ;
1731: LD_LOC 1
1735: PPUSH
1736: LD_INT 26
1738: PPUSH
1739: CALL_OW 180
// Wait ( 0 0$25 ) ;
1743: LD_INT 875
1745: PPUSH
1746: CALL_OW 67
// ComExitBuilding ( mechdel ) ;
1750: LD_INT 34
1752: PPUSH
1753: CALL_OW 122
// AddComMoveXY ( mechdel , 71 , 62 ) ;
1757: LD_INT 34
1759: PPUSH
1760: LD_INT 71
1762: PPUSH
1763: LD_INT 62
1765: PPUSH
1766: CALL_OW 171
// Wait ( 0 0$40 ) ;
1770: LD_INT 1400
1772: PPUSH
1773: CALL_OW 67
// ComExitBuilding ( nekdoZTovarny ) ;
1777: LD_VAR 0 3
1781: PPUSH
1782: CALL_OW 122
// AddComMoveXY ( nekdoZTovarny , 50 , 52 ) ;
1786: LD_VAR 0 3
1790: PPUSH
1791: LD_INT 50
1793: PPUSH
1794: LD_INT 52
1796: PPUSH
1797: CALL_OW 171
// end ;
1801: PPOPN 3
1803: END
// var poleHlidek ; every 0 0$1 do var veh , dri , r ;
1804: GO 1806
1806: DISABLE
1807: LD_INT 0
1809: PPUSH
1810: PPUSH
1811: PPUSH
// begin Wait ( Rand ( 1 1$30 , 2 2$00 ) ) ;
1812: LD_INT 3150
1814: PPUSH
1815: LD_INT 4200
1817: PPUSH
1818: CALL_OW 12
1822: PPUSH
1823: CALL_OW 67
// uc_side = 6 ;
1827: LD_ADDR_OWVAR 20
1831: PUSH
1832: LD_INT 6
1834: ST_TO_ADDR
// uc_nation = nation_russian ;
1835: LD_ADDR_OWVAR 21
1839: PUSH
1840: LD_INT 3
1842: ST_TO_ADDR
// hc_attr = [ 10 , 10 ] ;
1843: LD_ADDR_OWVAR 29
1847: PUSH
1848: LD_INT 10
1850: PUSH
1851: LD_INT 10
1853: PUSH
1854: EMPTY
1855: LIST
1856: LIST
1857: ST_TO_ADDR
// hc_skills = [ rand ( 1 , 3 ) , rand ( 1 , 3 ) , rand ( 4 , 5 ) , rand ( 1 , 3 ) ] ;
1858: LD_ADDR_OWVAR 31
1862: PUSH
1863: LD_INT 1
1865: PPUSH
1866: LD_INT 3
1868: PPUSH
1869: CALL_OW 12
1873: PUSH
1874: LD_INT 1
1876: PPUSH
1877: LD_INT 3
1879: PPUSH
1880: CALL_OW 12
1884: PUSH
1885: LD_INT 4
1887: PPUSH
1888: LD_INT 5
1890: PPUSH
1891: CALL_OW 12
1895: PUSH
1896: LD_INT 1
1898: PPUSH
1899: LD_INT 3
1901: PPUSH
1902: CALL_OW 12
1906: PUSH
1907: EMPTY
1908: LIST
1909: LIST
1910: LIST
1911: LIST
1912: ST_TO_ADDR
// hc_class = class_mechanic ;
1913: LD_ADDR_OWVAR 28
1917: PUSH
1918: LD_INT 3
1920: ST_TO_ADDR
// hc_importance = 50 ;
1921: LD_ADDR_OWVAR 32
1925: PUSH
1926: LD_INT 50
1928: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
1929: LD_ADDR_OWVAR 27
1933: PUSH
1934: LD_INT 1
1936: PPUSH
1937: LD_INT 2
1939: PPUSH
1940: CALL_OW 12
1944: ST_TO_ADDR
// dri = CreateHuman ;
1945: LD_ADDR_VAR 0 2
1949: PUSH
1950: CALL_OW 44
1954: ST_TO_ADDR
// uc_side = 6 ;
1955: LD_ADDR_OWVAR 20
1959: PUSH
1960: LD_INT 6
1962: ST_TO_ADDR
// uc_nation = nation_russian ;
1963: LD_ADDR_OWVAR 21
1967: PUSH
1968: LD_INT 3
1970: ST_TO_ADDR
// uc_direction = 4 ;
1971: LD_ADDR_OWVAR 24
1975: PUSH
1976: LD_INT 4
1978: ST_TO_ADDR
// vc_chassis = ru_medium_wheeled ;
1979: LD_ADDR_OWVAR 37
1983: PUSH
1984: LD_INT 21
1986: ST_TO_ADDR
// vc_control = control_manual ;
1987: LD_ADDR_OWVAR 38
1991: PUSH
1992: LD_INT 1
1994: ST_TO_ADDR
// vc_engine = engine_combustion ;
1995: LD_ADDR_OWVAR 39
1999: PUSH
2000: LD_INT 1
2002: ST_TO_ADDR
// vc_fuel_battery = 85 ;
2003: LD_ADDR_OWVAR 41
2007: PUSH
2008: LD_INT 85
2010: ST_TO_ADDR
// r = Rand ( 1 , 2 ) ;
2011: LD_ADDR_VAR 0 3
2015: PUSH
2016: LD_INT 1
2018: PPUSH
2019: LD_INT 2
2021: PPUSH
2022: CALL_OW 12
2026: ST_TO_ADDR
// if r = 1 then
2027: LD_VAR 0 3
2031: PUSH
2032: LD_INT 1
2034: EQUAL
2035: IFFALSE 2047
// vc_weapon = ru_cargo_bay else
2037: LD_ADDR_OWVAR 40
2041: PUSH
2042: LD_INT 51
2044: ST_TO_ADDR
2045: GO 2055
// vc_weapon = ru_gatling_gun ;
2047: LD_ADDR_OWVAR 40
2051: PUSH
2052: LD_INT 43
2054: ST_TO_ADDR
// veh = CreateVehicle ;
2055: LD_ADDR_VAR 0 1
2059: PUSH
2060: CALL_OW 45
2064: ST_TO_ADDR
// if GetWeapon ( veh ) = ru_cargo_bay then
2065: LD_VAR 0 1
2069: PPUSH
2070: CALL_OW 264
2074: PUSH
2075: LD_INT 51
2077: EQUAL
2078: IFFALSE 2138
// begin r = Rand ( 1 , 2 ) ;
2080: LD_ADDR_VAR 0 3
2084: PUSH
2085: LD_INT 1
2087: PPUSH
2088: LD_INT 2
2090: PPUSH
2091: CALL_OW 12
2095: ST_TO_ADDR
// if r = 1 then
2096: LD_VAR 0 3
2100: PUSH
2101: LD_INT 1
2103: EQUAL
2104: IFFALSE 2123
// SetCargo ( veh , mat_cans , 100 ) else
2106: LD_VAR 0 1
2110: PPUSH
2111: LD_INT 1
2113: PPUSH
2114: LD_INT 100
2116: PPUSH
2117: CALL_OW 290
2121: GO 2138
// SetCargo ( veh , mat_oil , 100 ) ;
2123: LD_VAR 0 1
2127: PPUSH
2128: LD_INT 2
2130: PPUSH
2131: LD_INT 100
2133: PPUSH
2134: CALL_OW 290
// end ; PlaceUnitArea ( veh , hlidky , false ) ;
2138: LD_VAR 0 1
2142: PPUSH
2143: LD_INT 12
2145: PPUSH
2146: LD_INT 0
2148: PPUSH
2149: CALL_OW 49
// PlaceHumanInUnit ( dri , veh ) ;
2153: LD_VAR 0 2
2157: PPUSH
2158: LD_VAR 0 1
2162: PPUSH
2163: CALL_OW 52
// ComMoveXY ( dri , 73 , 54 ) ;
2167: LD_VAR 0 2
2171: PPUSH
2172: LD_INT 73
2174: PPUSH
2175: LD_INT 54
2177: PPUSH
2178: CALL_OW 111
// AddComMoveXY ( dri , 58 , 48 ) ;
2182: LD_VAR 0 2
2186: PPUSH
2187: LD_INT 58
2189: PPUSH
2190: LD_INT 48
2192: PPUSH
2193: CALL_OW 171
// AddComMoveXY ( dri , 45 , 42 ) ;
2197: LD_VAR 0 2
2201: PPUSH
2202: LD_INT 45
2204: PPUSH
2205: LD_INT 42
2207: PPUSH
2208: CALL_OW 171
// AddComMoveXY ( dri , 32 , 45 ) ;
2212: LD_VAR 0 2
2216: PPUSH
2217: LD_INT 32
2219: PPUSH
2220: LD_INT 45
2222: PPUSH
2223: CALL_OW 171
// AddComMoveXY ( dri , 23 , 46 ) ;
2227: LD_VAR 0 2
2231: PPUSH
2232: LD_INT 23
2234: PPUSH
2235: LD_INT 46
2237: PPUSH
2238: CALL_OW 171
// poleHlidek = poleHlidek ^ dri ;
2242: LD_ADDR_LOC 2
2246: PUSH
2247: LD_LOC 2
2251: PUSH
2252: LD_VAR 0 2
2256: ADD
2257: ST_TO_ADDR
// enable ;
2258: ENABLE
// end ;
2259: PPOPN 3
2261: END
// every 0 0$0.5 trigger FilterUnitsInArea ( hlidkyout , [ [ f_side , 6 ] , [ f_type , unit_vehicle ] ] ) do var un ;
2262: LD_INT 13
2264: PPUSH
2265: LD_INT 22
2267: PUSH
2268: LD_INT 6
2270: PUSH
2271: EMPTY
2272: LIST
2273: LIST
2274: PUSH
2275: LD_INT 21
2277: PUSH
2278: LD_INT 2
2280: PUSH
2281: EMPTY
2282: LIST
2283: LIST
2284: PUSH
2285: EMPTY
2286: LIST
2287: LIST
2288: PPUSH
2289: CALL_OW 70
2293: IFFALSE 2355
2295: GO 2297
2297: DISABLE
2298: LD_INT 0
2300: PPUSH
// begin for un in FilterUnitsInArea ( hlidkyout , [ [ f_side , 6 ] , [ f_type , unit_vehicle ] ] ) do
2301: LD_ADDR_VAR 0 1
2305: PUSH
2306: LD_INT 13
2308: PPUSH
2309: LD_INT 22
2311: PUSH
2312: LD_INT 6
2314: PUSH
2315: EMPTY
2316: LIST
2317: LIST
2318: PUSH
2319: LD_INT 21
2321: PUSH
2322: LD_INT 2
2324: PUSH
2325: EMPTY
2326: LIST
2327: LIST
2328: PUSH
2329: EMPTY
2330: LIST
2331: LIST
2332: PPUSH
2333: CALL_OW 70
2337: PUSH
2338: FOR_IN
2339: IFFALSE 2352
// RemoveUnit ( un ) ;
2341: LD_VAR 0 1
2345: PPUSH
2346: CALL_OW 64
2350: GO 2338
2352: POP
2353: POP
// enable ;
2354: ENABLE
// end ;
2355: PPOPN 1
2357: END
// every 0 0$1 trigger IsInArea ( vsevolod , kopce ) do
2358: LD_EXP 1
2362: PPUSH
2363: LD_INT 14
2365: PPUSH
2366: CALL_OW 308
2370: IFFALSE 2431
2372: GO 2374
2374: DISABLE
// begin Wait ( 0 0$20 ) ;
2375: LD_INT 700
2377: PPUSH
2378: CALL_OW 67
// ComExitBuilding ( delnik ) ;
2382: LD_INT 19
2384: PPUSH
2385: CALL_OW 122
// AddComMoveXY ( delnik , 43 , 21 ) ;
2389: LD_INT 19
2391: PPUSH
2392: LD_INT 43
2394: PPUSH
2395: LD_INT 21
2397: PPUSH
2398: CALL_OW 171
// AddComTurnXY ( delnik , 35 , 14 ) ;
2402: LD_INT 19
2404: PPUSH
2405: LD_INT 35
2407: PPUSH
2408: LD_INT 14
2410: PPUSH
2411: CALL_OW 178
// oldTurn = 2 ;
2415: LD_ADDR_LOC 3
2419: PUSH
2420: LD_INT 2
2422: ST_TO_ADDR
// otacejSe = true ;
2423: LD_ADDR_EXP 5
2427: PUSH
2428: LD_INT 1
2430: ST_TO_ADDR
// end ;
2431: END
// var oldTurn ; every 0 0$1 trigger otacejSe do
2432: LD_EXP 5
2436: IFFALSE 2511
2438: GO 2440
2440: DISABLE
// begin Wait ( Rand ( 0 0$10 , 0 0$30 ) ) ;
2441: LD_INT 350
2443: PPUSH
2444: LD_INT 1050
2446: PPUSH
2447: CALL_OW 12
2451: PPUSH
2452: CALL_OW 67
// if oldTurn = 2 then
2456: LD_LOC 3
2460: PUSH
2461: LD_INT 2
2463: EQUAL
2464: IFFALSE 2489
// begin AddComTurnXY ( delnik , 34 , 21 ) ;
2466: LD_INT 19
2468: PPUSH
2469: LD_INT 34
2471: PPUSH
2472: LD_INT 21
2474: PPUSH
2475: CALL_OW 178
// oldTurn = 1 ;
2479: LD_ADDR_LOC 3
2483: PUSH
2484: LD_INT 1
2486: ST_TO_ADDR
// end else
2487: GO 2510
// begin AddComTurnXY ( delnik , 35 , 14 ) ;
2489: LD_INT 19
2491: PPUSH
2492: LD_INT 35
2494: PPUSH
2495: LD_INT 14
2497: PPUSH
2498: CALL_OW 178
// oldTurn = 2 ;
2502: LD_ADDR_LOC 3
2506: PUSH
2507: LD_INT 2
2509: ST_TO_ADDR
// end ; enable ;
2510: ENABLE
// end ;
2511: END
// every 0 0$1 trigger hrajeme do
2512: LD_EXP 6
2516: IFFALSE 2613
2518: GO 2520
2520: DISABLE
// begin Wait ( Rand ( 0 0$35 , 0 0$50 ) ) ;
2521: LD_INT 1225
2523: PPUSH
2524: LD_INT 1750
2526: PPUSH
2527: CALL_OW 12
2531: PPUSH
2532: CALL_OW 67
// ComExitBuilding ( ved2 ) ;
2536: LD_INT 30
2538: PPUSH
2539: CALL_OW 122
// AddComMoveUnit ( ved2 , dul ) ;
2543: LD_INT 30
2545: PPUSH
2546: LD_INT 36
2548: PPUSH
2549: CALL_OW 172
// AddComTurnUnit ( ved2 , dul ) ;
2553: LD_INT 30
2555: PPUSH
2556: LD_INT 36
2558: PPUSH
2559: CALL_OW 179
// Wait ( 0 0$30 ) ;
2563: LD_INT 1050
2565: PPUSH
2566: CALL_OW 67
// AddComEnterUnit ( ved2 , tlab ) ;
2570: LD_INT 30
2572: PPUSH
2573: LD_INT 27
2575: PPUSH
2576: CALL_OW 180
// Wait ( 0 0$23 ) ;
2580: LD_INT 805
2582: PPUSH
2583: CALL_OW 67
// if not research then
2587: LD_EXP 7
2591: NOT
2592: IFFALSE 2604
// AddComResearch ( tlab , tech_sib1 ) ;
2594: LD_INT 27
2596: PPUSH
2597: LD_INT 54
2599: PPUSH
2600: CALL_OW 184
// research = true ;
2604: LD_ADDR_EXP 7
2608: PUSH
2609: LD_INT 1
2611: ST_TO_ADDR
// enable ;
2612: ENABLE
// end ;
2613: END
// on ResearchComplete ( tech , lab ) do begin if tech = tech_sib1 then
2614: LD_VAR 0 1
2618: PUSH
2619: LD_INT 54
2621: EQUAL
2622: IFFALSE 2641
// begin Wait ( 0 0$10 ) ;
2624: LD_INT 350
2626: PPUSH
2627: CALL_OW 67
// AddComResearch ( tlab , tech_sib2 ) ;
2631: LD_INT 27
2633: PPUSH
2634: LD_INT 55
2636: PPUSH
2637: CALL_OW 184
// end ; end ;
2641: PPOPN 2
2643: END
// every 0 0$1 do var un ;
2644: GO 2646
2646: DISABLE
2647: LD_INT 0
2649: PPUSH
// begin for un in poleHlidek do
2650: LD_ADDR_VAR 0 1
2654: PUSH
2655: LD_LOC 2
2659: PUSH
2660: FOR_IN
2661: IFFALSE 2695
// begin if HasTask ( un ) = false then
2663: LD_VAR 0 1
2667: PPUSH
2668: CALL_OW 314
2672: PUSH
2673: LD_INT 0
2675: EQUAL
2676: IFFALSE 2693
// ComMoveXY ( un , 23 , 46 ) ;
2678: LD_VAR 0 1
2682: PPUSH
2683: LD_INT 23
2685: PPUSH
2686: LD_INT 46
2688: PPUSH
2689: CALL_OW 111
// end ;
2693: GO 2660
2695: POP
2696: POP
// enable ;
2697: ENABLE
// end ;
2698: PPOPN 1
2700: END
// every 0 0$1 trigger IsInArea ( vsevolod , leave ) do var vehicle ;
2701: LD_EXP 1
2705: PPUSH
2706: LD_INT 7
2708: PPUSH
2709: CALL_OW 308
2713: IFFALSE 2970
2715: GO 2717
2717: DISABLE
2718: LD_INT 0
2720: PPUSH
// begin if IsInUnit ( vsevolod ) then
2721: LD_EXP 1
2725: PPUSH
2726: CALL_OW 310
2730: IFFALSE 2923
// begin DisableExclamations ;
2732: CALL_OW 474
// vehicle = FilterUnitsInArea ( leave , [ [ f_side , 3 ] , [ f_type , unit_vehicle ] ] ) [ 1 ] ;
2736: LD_ADDR_VAR 0 1
2740: PUSH
2741: LD_INT 7
2743: PPUSH
2744: LD_INT 22
2746: PUSH
2747: LD_INT 3
2749: PUSH
2750: EMPTY
2751: LIST
2752: LIST
2753: PUSH
2754: LD_INT 21
2756: PUSH
2757: LD_INT 2
2759: PUSH
2760: EMPTY
2761: LIST
2762: LIST
2763: PUSH
2764: EMPTY
2765: LIST
2766: LIST
2767: PPUSH
2768: CALL_OW 70
2772: PUSH
2773: LD_INT 1
2775: ARRAY
2776: ST_TO_ADDR
// SaveCharacters ( vsevolod , Vsevolod ) ;
2777: LD_EXP 1
2781: PPUSH
2782: LD_STRING Vsevolod
2784: PPUSH
2785: CALL_OW 38
// SaveVariable ( [ GetChassis ( vehicle ) , GetEngine ( vehicle ) , GetControl ( vehicle ) , GetWeapon ( vehicle ) ] , vehikl ) ;
2789: LD_VAR 0 1
2793: PPUSH
2794: CALL_OW 265
2798: PUSH
2799: LD_VAR 0 1
2803: PPUSH
2804: CALL_OW 262
2808: PUSH
2809: LD_VAR 0 1
2813: PPUSH
2814: CALL_OW 263
2818: PUSH
2819: LD_VAR 0 1
2823: PPUSH
2824: CALL_OW 264
2828: PUSH
2829: EMPTY
2830: LIST
2831: LIST
2832: LIST
2833: LIST
2834: PPUSH
2835: LD_STRING vehikl
2837: PPUSH
2838: CALL_OW 39
// InGameOn ;
2842: CALL_OW 8
// Wait ( 0 0$0.5 ) ;
2846: LD_INT 18
2848: PPUSH
2849: CALL_OW 67
// ChangeSideFog ( 3 , 8 ) ;
2853: LD_INT 3
2855: PPUSH
2856: LD_INT 8
2858: PPUSH
2859: CALL_OW 343
// your_side = 8 ;
2863: LD_ADDR_OWVAR 2
2867: PUSH
2868: LD_INT 8
2870: ST_TO_ADDR
// RemoveUnit ( vehicle ) ;
2871: LD_VAR 0 1
2875: PPUSH
2876: CALL_OW 64
// ResetFog ;
2880: CALL_OW 335
// SetAreaMapShow ( leave , 0 ) ;
2884: LD_INT 7
2886: PPUSH
2887: LD_INT 0
2889: PPUSH
2890: CALL_OW 424
// HideArea ( 3 , mapa ) ;
2894: LD_INT 3
2896: PPUSH
2897: LD_INT 15
2899: PPUSH
2900: CALL_OW 333
// Wait ( 0 0$0.2 ) ;
2904: LD_INT 7
2906: PPUSH
2907: CALL_OW 67
// ChangeMap ( 1 , %_cont ) ;
2911: LD_STRING 1
2913: PPUSH
2914: LD_STRING %_cont
2916: PPUSH
2917: CALL_OW 340
// end else
2921: GO 2969
// if not FilterUnitsInArea ( auto , [ [ f_side , 3 ] , [ f_type , unit_vehicle ] ] ) then
2923: LD_INT 10
2925: PPUSH
2926: LD_INT 22
2928: PUSH
2929: LD_INT 3
2931: PUSH
2932: EMPTY
2933: LIST
2934: LIST
2935: PUSH
2936: LD_INT 21
2938: PUSH
2939: LD_INT 2
2941: PUSH
2942: EMPTY
2943: LIST
2944: LIST
2945: PUSH
2946: EMPTY
2947: LIST
2948: LIST
2949: PPUSH
2950: CALL_OW 70
2954: NOT
2955: IFFALSE 2969
// Say ( vsevolod , vse1-6 ) ;
2957: LD_EXP 1
2961: PPUSH
2962: LD_STRING vse1-6
2964: PPUSH
2965: CALL_OW 88
// enable ;
2969: ENABLE
// end ;
2970: PPOPN 1
2972: END
