// export Antoine , Eddings , Hayes ; function PreparePeople ; begin
   0: LD_INT 0
   2: PPUSH
// uc_side = 2 ;
   3: LD_ADDR_OWVAR 20
   7: PUSH
   8: LD_INT 2
  10: ST_TO_ADDR
// uc_nation = 2 ;
  11: LD_ADDR_OWVAR 21
  15: PUSH
  16: LD_INT 2
  18: ST_TO_ADDR
// Antoine = NewCharacter ( Antoine ) ;
  19: LD_ADDR_EXP 1
  23: PUSH
  24: LD_STRING Antoine
  26: PPUSH
  27: CALL_OW 25
  31: ST_TO_ADDR
// uc_side = 1 ;
  32: LD_ADDR_OWVAR 20
  36: PUSH
  37: LD_INT 1
  39: ST_TO_ADDR
// uc_nation = 1 ;
  40: LD_ADDR_OWVAR 21
  44: PUSH
  45: LD_INT 1
  47: ST_TO_ADDR
// Hayes = NewCharacter ( Hayes ) ;
  48: LD_ADDR_EXP 3
  52: PUSH
  53: LD_STRING Hayes
  55: PPUSH
  56: CALL_OW 25
  60: ST_TO_ADDR
// InitHc ;
  61: CALL_OW 19
// PrepareSoldier ( Rand ( 0 , 1 ) , Rand ( 2 , 3 ) ) ;
  65: LD_INT 0
  67: PPUSH
  68: LD_INT 1
  70: PPUSH
  71: CALL_OW 12
  75: PPUSH
  76: LD_INT 2
  78: PPUSH
  79: LD_INT 3
  81: PPUSH
  82: CALL_OW 12
  86: PPUSH
  87: CALL_OW 381
// PlaceHumanInUnit ( CreateHuman , am_b ) ;
  91: CALL_OW 44
  95: PPUSH
  96: LD_INT 2
  98: PPUSH
  99: CALL_OW 52
// PrepareMechanic ( Rand ( 0 , 1 ) , 2 ) ;
 103: LD_INT 0
 105: PPUSH
 106: LD_INT 1
 108: PPUSH
 109: CALL_OW 12
 113: PPUSH
 114: LD_INT 2
 116: PPUSH
 117: CALL_OW 383
// PlaceHumanInUnit ( CreateHuman , am_v ) ;
 121: CALL_OW 44
 125: PPUSH
 126: LD_INT 5
 128: PPUSH
 129: CALL_OW 52
// Eddings = NewCharacter ( Eddings ) ;
 133: LD_ADDR_EXP 2
 137: PUSH
 138: LD_STRING Eddings
 140: PPUSH
 141: CALL_OW 25
 145: ST_TO_ADDR
// end ;
 146: LD_VAR 0 1
 150: RET
// starting begin PreparePeople ;
 151: CALL 0 0 0
// ComCrawl ( [ s2 , s3 ] ) ;
 155: LD_INT 21
 157: PUSH
 158: LD_INT 24
 160: PUSH
 161: EMPTY
 162: LIST
 163: LIST
 164: PPUSH
 165: CALL_OW 137
// InGameOn ;
 169: CALL_OW 8
// CenterNowOnXY ( 122 , 107 ) ;
 173: LD_INT 122
 175: PPUSH
 176: LD_INT 107
 178: PPUSH
 179: CALL_OW 86
// Wait ( 0 0$1.5 ) ;
 183: LD_INT 52
 185: PPUSH
 186: CALL_OW 67
// PlaceUnitXY ( Antoine , 122 , 107 , true ) ;
 190: LD_EXP 1
 194: PPUSH
 195: LD_INT 122
 197: PPUSH
 198: LD_INT 107
 200: PPUSH
 201: LD_INT 1
 203: PPUSH
 204: CALL_OW 48
// Wait ( 0 0$3 ) ;
 208: LD_INT 105
 210: PPUSH
 211: CALL_OW 67
// Say ( Antoine , di-a-1 ) ;
 215: LD_EXP 1
 219: PPUSH
 220: LD_STRING di-a-1
 222: PPUSH
 223: CALL_OW 88
// ComMoveXY ( Antoine , 123 , 99 ) ;
 227: LD_EXP 1
 231: PPUSH
 232: LD_INT 123
 234: PPUSH
 235: LD_INT 99
 237: PPUSH
 238: CALL_OW 111
// Wait ( 0 0$2 ) ;
 242: LD_INT 70
 244: PPUSH
 245: CALL_OW 67
// Say ( Antoine , di-a-2 ) ;
 249: LD_EXP 1
 253: PPUSH
 254: LD_STRING di-a-2
 256: PPUSH
 257: CALL_OW 88
// InGameOff ;
 261: CALL_OW 9
// SaveForQuickRestart ;
 265: CALL_OW 22
// ChangeMissionObjectives ( OGo ) ;
 269: LD_STRING OGo
 271: PPUSH
 272: CALL_OW 337
// Wait ( 0 0$15 ) ;
 276: LD_INT 525
 278: PPUSH
 279: CALL_OW 67
// PlaceEddingsDialogue ;
 283: CALL 288 0 0
// end ; end_of_file
 287: END
// export EndingAllowed ; export AmericanHunt , AntoineNoticedByAmericans ; export function PlaceEddingsDialogue ; begin
 288: LD_INT 0
 290: PPUSH
// InGameOn ;
 291: CALL_OW 8
// PlaceUnitXYR ( Eddings , GetX ( Antoine ) , GetY ( Antoine ) , 5 , true ) ;
 295: LD_EXP 2
 299: PPUSH
 300: LD_EXP 1
 304: PPUSH
 305: CALL_OW 250
 309: PPUSH
 310: LD_EXP 1
 314: PPUSH
 315: CALL_OW 251
 319: PPUSH
 320: LD_INT 5
 322: PPUSH
 323: LD_INT 1
 325: PPUSH
 326: CALL_OW 50
// ComTurnUnit ( Antoine , Eddings ) ;
 330: LD_EXP 1
 334: PPUSH
 335: LD_EXP 2
 339: PPUSH
 340: CALL_OW 119
// ComTurnUnit ( Eddings , Antoine ) ;
 344: LD_EXP 2
 348: PPUSH
 349: LD_EXP 1
 353: PPUSH
 354: CALL_OW 119
// CenterOnUnits ( Antoine ) ;
 358: LD_EXP 1
 362: PPUSH
 363: CALL_OW 85
// Wait ( 0 0$2 ) ;
 367: LD_INT 70
 369: PPUSH
 370: CALL_OW 67
// DialogueOn ;
 374: CALL_OW 6
// Say ( Antoine , de-a-1 ) ;
 378: LD_EXP 1
 382: PPUSH
 383: LD_STRING de-a-1
 385: PPUSH
 386: CALL_OW 88
// Say ( Eddings , de-e-1 ) ;
 390: LD_EXP 2
 394: PPUSH
 395: LD_STRING de-e-1
 397: PPUSH
 398: CALL_OW 88
// Say ( Antoine , de-a-2 ) ;
 402: LD_EXP 1
 406: PPUSH
 407: LD_STRING de-a-2
 409: PPUSH
 410: CALL_OW 88
// Say ( Eddings , de-e-2 ) ;
 414: LD_EXP 2
 418: PPUSH
 419: LD_STRING de-e-2
 421: PPUSH
 422: CALL_OW 88
// case Query ( QEddings ) of 1 :
 426: LD_STRING QEddings
 428: PPUSH
 429: CALL_OW 97
 433: PUSH
 434: LD_INT 1
 436: DOUBLE
 437: EQUAL
 438: IFTRUE 442
 440: GO 577
 442: POP
// begin Say ( Antoine , de-a-3a ) ;
 443: LD_EXP 1
 447: PPUSH
 448: LD_STRING de-a-3a
 450: PPUSH
 451: CALL_OW 88
// Say ( Eddings , de-e-3a ) ;
 455: LD_EXP 2
 459: PPUSH
 460: LD_STRING de-e-3a
 462: PPUSH
 463: CALL_OW 88
// Say ( Antoine , de-a-4a ) ;
 467: LD_EXP 1
 471: PPUSH
 472: LD_STRING de-a-4a
 474: PPUSH
 475: CALL_OW 88
// Say ( Eddings , de-e-4a ) ;
 479: LD_EXP 2
 483: PPUSH
 484: LD_STRING de-e-4a
 486: PPUSH
 487: CALL_OW 88
// DWait ( 0 0$0.5 ) ;
 491: LD_INT 18
 493: PPUSH
 494: CALL_OW 68
// SayRadio ( Hayes , de-h-1a ) ;
 498: LD_EXP 3
 502: PPUSH
 503: LD_STRING de-h-1a
 505: PPUSH
 506: CALL_OW 94
// Say ( Antoine , de-a-5a ) ;
 510: LD_EXP 1
 514: PPUSH
 515: LD_STRING de-a-5a
 517: PPUSH
 518: CALL_OW 88
// SetSide ( Eddings , 5 ) ;
 522: LD_EXP 2
 526: PPUSH
 527: LD_INT 5
 529: PPUSH
 530: CALL_OW 235
// DialogueOff ;
 534: CALL_OW 7
// InGameOff ;
 538: CALL_OW 9
// ChangeMissionObjectives ( ONorth ) ;
 542: LD_STRING ONorth
 544: PPUSH
 545: CALL_OW 337
// SetAreaMapShow ( ExitArea , 1 ) ;
 549: LD_INT 1
 551: PPUSH
 552: LD_INT 1
 554: PPUSH
 555: CALL_OW 424
// EndingAllowed = true ;
 559: LD_ADDR_EXP 4
 563: PUSH
 564: LD_INT 1
 566: ST_TO_ADDR
// AmericanHunt = true ;
 567: LD_ADDR_EXP 5
 571: PUSH
 572: LD_INT 1
 574: ST_TO_ADDR
// end ; 2 :
 575: GO 688
 577: LD_INT 2
 579: DOUBLE
 580: EQUAL
 581: IFTRUE 585
 583: GO 687
 585: POP
// begin Say ( Antoine , de-a-3b ) ;
 586: LD_EXP 1
 590: PPUSH
 591: LD_STRING de-a-3b
 593: PPUSH
 594: CALL_OW 88
// Say ( Eddings , de-e-3b ) ;
 598: LD_EXP 2
 602: PPUSH
 603: LD_STRING de-e-3b
 605: PPUSH
 606: CALL_OW 88
// ComAttackUnit ( Eddings , Antoine ) ;
 610: LD_EXP 2
 614: PPUSH
 615: LD_EXP 1
 619: PPUSH
 620: CALL_OW 115
// DialogueOff ;
 624: CALL_OW 7
// InGameOff ;
 628: CALL_OW 9
// Wait ( 0 0$15 ) ;
 632: LD_INT 525
 634: PPUSH
 635: CALL_OW 67
// InGameOn ;
 639: CALL_OW 8
// SayRadio ( Hayes , de-h-1b ) ;
 643: LD_EXP 3
 647: PPUSH
 648: LD_STRING de-h-1b
 650: PPUSH
 651: CALL_OW 94
// Say ( Antoine , de-a-4b ) ;
 655: LD_EXP 1
 659: PPUSH
 660: LD_STRING de-a-4b
 662: PPUSH
 663: CALL_OW 88
// Wait ( 0 0$1 ) ;
 667: LD_INT 35
 669: PPUSH
 670: CALL_OW 67
// InGameOff ;
 674: CALL_OW 9
// YouLost ( Spotted ) ;
 678: LD_STRING Spotted
 680: PPUSH
 681: CALL_OW 104
// end ; end ;
 685: GO 688
 687: POP
// SetAttitude ( 1 , 2 , att_enemy , true ) ;
 688: LD_INT 1
 690: PPUSH
 691: LD_INT 2
 693: PPUSH
 694: LD_INT 2
 696: PPUSH
 697: LD_INT 1
 699: PPUSH
 700: CALL_OW 80
// SoldierHunt ( s1 ) ;
 704: LD_INT 13
 706: PPUSH
 707: CALL 1470 0 1
// end ;
 711: LD_VAR 0 1
 715: RET
// every 0 0$1 trigger SeeArea ( 2 , StrangeGrass ) and not AntoineNoticedByAmericans do
 716: LD_INT 2
 718: PPUSH
 719: LD_INT 3
 721: PPUSH
 722: CALL_OW 294
 726: PUSH
 727: LD_EXP 6
 731: NOT
 732: AND
 733: IFFALSE 767
 735: GO 737
 737: DISABLE
// begin DialogueOn ;
 738: CALL_OW 6
// CenterOnUnits ( Antoine ) ;
 742: LD_EXP 1
 746: PPUSH
 747: CALL_OW 85
// Say ( Antoine , dg-a-1 ) ;
 751: LD_EXP 1
 755: PPUSH
 756: LD_STRING dg-a-1
 758: PPUSH
 759: CALL_OW 88
// DialogueOff ;
 763: CALL_OW 7
// end ;
 767: END
// every 0 0$1 trigger SideShoot ( Antoine ) = 1 do
 768: LD_EXP 1
 772: PPUSH
 773: CALL_OW 503
 777: PUSH
 778: LD_INT 1
 780: EQUAL
 781: IFFALSE 814
 783: GO 785
 785: DISABLE
// begin AntoineNoticedByAmericans = true ;
 786: LD_ADDR_EXP 6
 790: PUSH
 791: LD_INT 1
 793: ST_TO_ADDR
// DialogueOn ;
 794: CALL_OW 6
// Say ( Antoine , da-a-1 ) ;
 798: LD_EXP 1
 802: PPUSH
 803: LD_STRING da-a-1
 805: PPUSH
 806: CALL_OW 88
// DialogueOff ;
 810: CALL_OW 7
// end ;
 814: END
// every 0 0$3 trigger FilterAllUnits ( [ [ f_side , 1 ] , [ f_dist , Eddings , 8 ] ] ) do var u ;
 815: LD_INT 22
 817: PUSH
 818: LD_INT 1
 820: PUSH
 821: EMPTY
 822: LIST
 823: LIST
 824: PUSH
 825: LD_INT 91
 827: PUSH
 828: LD_EXP 2
 832: PUSH
 833: LD_INT 8
 835: PUSH
 836: EMPTY
 837: LIST
 838: LIST
 839: LIST
 840: PUSH
 841: EMPTY
 842: LIST
 843: LIST
 844: PPUSH
 845: CALL_OW 69
 849: IFFALSE 933
 851: GO 853
 853: DISABLE
 854: LD_INT 0
 856: PPUSH
// begin AmericanHunt = false ;
 857: LD_ADDR_EXP 5
 861: PUSH
 862: LD_INT 0
 864: ST_TO_ADDR
// SetSide ( Eddings , 1 ) ;
 865: LD_EXP 2
 869: PPUSH
 870: LD_INT 1
 872: PPUSH
 873: CALL_OW 235
// ChangeMissionObjectives ( OutAvoid ) ;
 877: LD_STRING OutAvoid
 879: PPUSH
 880: CALL_OW 337
// ComMoveXY ( [ Eddings , am_v ] , 33 , 44 ) ;
 884: LD_EXP 2
 888: PUSH
 889: LD_INT 5
 891: PUSH
 892: EMPTY
 893: LIST
 894: LIST
 895: PPUSH
 896: LD_INT 33
 898: PPUSH
 899: LD_INT 44
 901: PPUSH
 902: CALL_OW 111
// if GetLives ( Eddings ) > 250 then
 906: LD_EXP 2
 910: PPUSH
 911: CALL_OW 256
 915: PUSH
 916: LD_INT 250
 918: GREATER
 919: IFFALSE 933
// Say ( Antoine , da-a-2 ) ;
 921: LD_EXP 1
 925: PPUSH
 926: LD_STRING da-a-2
 928: PPUSH
 929: CALL_OW 88
// end ;
 933: PPOPN 1
 935: END
// every 0 0$1 trigger IsInArea ( Antoine , ExitArea ) and EndingAllowed do
 936: LD_EXP 1
 940: PPUSH
 941: LD_INT 1
 943: PPUSH
 944: CALL_OW 308
 948: PUSH
 949: LD_EXP 4
 953: AND
 954: IFFALSE 1396
 956: GO 958
 958: DISABLE
// begin if IsOK ( Eddings ) and GetSide ( Eddings ) = 5 then
 959: LD_EXP 2
 963: PPUSH
 964: CALL_OW 302
 968: PUSH
 969: LD_EXP 2
 973: PPUSH
 974: CALL_OW 255
 978: PUSH
 979: LD_INT 5
 981: EQUAL
 982: AND
 983: IFFALSE 1249
// begin if not IsInArea ( Eddings , ExitArea ) then
 985: LD_EXP 2
 989: PPUSH
 990: LD_INT 1
 992: PPUSH
 993: CALL_OW 308
 997: NOT
 998: IFFALSE 1021
// repeat Wait ( 0 0$1 ) until IsInArea ( Eddings , ExitArea ) ;
1000: LD_INT 35
1002: PPUSH
1003: CALL_OW 67
1007: LD_EXP 2
1011: PPUSH
1012: LD_INT 1
1014: PPUSH
1015: CALL_OW 308
1019: IFFALSE 1000
// DialogueOn ;
1021: CALL_OW 6
// CenterOnUnits ( [ Antoine , Eddings ] ) ;
1025: LD_EXP 1
1029: PUSH
1030: LD_EXP 2
1034: PUSH
1035: EMPTY
1036: LIST
1037: LIST
1038: PPUSH
1039: CALL_OW 85
// case Query ( QNorth ) of 1 :
1043: LD_STRING QNorth
1045: PPUSH
1046: CALL_OW 97
1050: PUSH
1051: LD_INT 1
1053: DOUBLE
1054: EQUAL
1055: IFTRUE 1059
1057: GO 1156
1059: POP
// begin InGameOn ;
1060: CALL_OW 8
// Say ( Antoine , dn-a-1a ) ;
1064: LD_EXP 1
1068: PPUSH
1069: LD_STRING dn-a-1a
1071: PPUSH
1072: CALL_OW 88
// DeselectUnits ( [ Antoine , Eddings ] ) ;
1076: LD_EXP 1
1080: PUSH
1081: LD_EXP 2
1085: PUSH
1086: EMPTY
1087: LIST
1088: LIST
1089: PPUSH
1090: CALL_OW 491
// DialogueOff ;
1094: CALL_OW 7
// ComAttackUnit ( Antoine , Eddings ) ;
1098: LD_EXP 1
1102: PPUSH
1103: LD_EXP 2
1107: PPUSH
1108: CALL_OW 115
// Say ( Eddings , dn-e-1a ) ;
1112: LD_EXP 2
1116: PPUSH
1117: LD_STRING dn-e-1a
1119: PPUSH
1120: CALL_OW 88
// Wait ( 0 0$1.5 ) ;
1124: LD_INT 52
1126: PPUSH
1127: CALL_OW 67
// SetLives ( Eddings , 50 ) ;
1131: LD_EXP 2
1135: PPUSH
1136: LD_INT 50
1138: PPUSH
1139: CALL_OW 234
// Wait ( 0 0$1.5 ) ;
1143: LD_INT 52
1145: PPUSH
1146: CALL_OW 67
// InGameOff ;
1150: CALL_OW 9
// end ; 2 :
1154: GO 1247
1156: LD_INT 2
1158: DOUBLE
1159: EQUAL
1160: IFTRUE 1164
1162: GO 1246
1164: POP
// begin InGameOn ;
1165: CALL_OW 8
// Say ( Antoine , dn-a-1b ) ;
1169: LD_EXP 1
1173: PPUSH
1174: LD_STRING dn-a-1b
1176: PPUSH
1177: CALL_OW 88
// Say ( Eddings , dn-e-1b ) ;
1181: LD_EXP 2
1185: PPUSH
1186: LD_STRING dn-e-1b
1188: PPUSH
1189: CALL_OW 88
// Say ( Antoine , dn-a-2b ) ;
1193: LD_EXP 1
1197: PPUSH
1198: LD_STRING dn-a-2b
1200: PPUSH
1201: CALL_OW 88
// Say ( Eddings , dn-e-2b ) ;
1205: LD_EXP 2
1209: PPUSH
1210: LD_STRING dn-e-2b
1212: PPUSH
1213: CALL_OW 88
// DialogueOff ;
1217: CALL_OW 7
// ComMoveToArea ( Eddings , RefuelArea ) ;
1221: LD_EXP 2
1225: PPUSH
1226: LD_INT 2
1228: PPUSH
1229: CALL_OW 113
// Wait ( 0 0$2 ) ;
1233: LD_INT 70
1235: PPUSH
1236: CALL_OW 67
// InGameOff ;
1240: CALL_OW 9
// end ; end ;
1244: GO 1247
1246: POP
// end else
1247: GO 1269
// begin DialogueOn ;
1249: CALL_OW 6
// Say ( Antoine , dn-a-1c ) ;
1253: LD_EXP 1
1257: PPUSH
1258: LD_STRING dn-a-1c
1260: PPUSH
1261: CALL_OW 88
// DialogueOff ;
1265: CALL_OW 7
// end ; AddMedal ( MAlive , 1 ) ;
1269: LD_STRING MAlive
1271: PPUSH
1272: LD_INT 1
1274: PPUSH
1275: CALL_OW 101
// if GetLives ( Antoine ) > 500 then
1279: LD_EXP 1
1283: PPUSH
1284: CALL_OW 256
1288: PUSH
1289: LD_INT 500
1291: GREATER
1292: IFFALSE 1306
// AddMedal ( MHealth , 1 ) else
1294: LD_STRING MHealth
1296: PPUSH
1297: LD_INT 1
1299: PPUSH
1300: CALL_OW 101
1304: GO 1317
// AddMedal ( MHealth , - 1 ) ;
1306: LD_STRING MHealth
1308: PPUSH
1309: LD_INT 1
1311: NEG
1312: PPUSH
1313: CALL_OW 101
// if not AntoineNoticedByAmericans then
1317: LD_EXP 6
1321: NOT
1322: IFFALSE 1336
// AddMedal ( MAmericans , 1 ) else
1324: LD_STRING MAmericans
1326: PPUSH
1327: LD_INT 1
1329: PPUSH
1330: CALL_OW 101
1334: GO 1347
// AddMedal ( MAmericans , - 1 ) ;
1336: LD_STRING MAmericans
1338: PPUSH
1339: LD_INT 1
1341: NEG
1342: PPUSH
1343: CALL_OW 101
// GiveMedals ( Main ) ;
1347: LD_STRING Main
1349: PPUSH
1350: CALL_OW 102
// RewardPeople ( Antoine ) ;
1354: LD_EXP 1
1358: PPUSH
1359: CALL_OW 43
// SaveCharacters ( Antoine , Antoine ) ;
1363: LD_EXP 1
1367: PPUSH
1368: LD_STRING Antoine
1370: PPUSH
1371: CALL_OW 38
// SaveVariable ( GetLives ( Antoine ) , AntoineHealth ) ;
1375: LD_EXP 1
1379: PPUSH
1380: CALL_OW 256
1384: PPUSH
1385: LD_STRING AntoineHealth
1387: PPUSH
1388: CALL_OW 39
// YouWin ;
1392: CALL_OW 103
// end ;
1396: END
// on UnitGoesToRed ( u ) do begin if u = Antoine then
1397: LD_VAR 0 1
1401: PUSH
1402: LD_EXP 1
1406: EQUAL
1407: IFFALSE 1416
// YouLost ( AntoineDead ) ;
1409: LD_STRING AntoineDead
1411: PPUSH
1412: CALL_OW 104
// if u = Eddings then
1416: LD_VAR 0 1
1420: PUSH
1421: LD_EXP 2
1425: EQUAL
1426: IFFALSE 1438
// SaveVariable ( 1 , EddingsKilled ) ;
1428: LD_INT 1
1430: PPUSH
1431: LD_STRING EddingsKilled
1433: PPUSH
1434: CALL_OW 39
// end ; end_of_file
1438: PPOPN 1
1440: END
// every 0 0$3 trigger AmericanHunt = true do
1441: LD_EXP 5
1445: PUSH
1446: LD_INT 1
1448: EQUAL
1449: IFFALSE 1469
1451: GO 1453
1453: DISABLE
// begin enable ;
1454: ENABLE
// ComMoveUnit ( Eddings , Antoine ) ;
1455: LD_EXP 2
1459: PPUSH
1460: LD_EXP 1
1464: PPUSH
1465: CALL_OW 112
// end ;
1469: END
// export function SoldierHunt ( u ) ; var i ; begin
1470: LD_INT 0
1472: PPUSH
1473: PPUSH
// for i in [ [ 46 , 47 ] , [ 70 , 58 ] , [ 74 , 56 ] , [ 40 , 44 ] ] do
1474: LD_ADDR_VAR 0 3
1478: PUSH
1479: LD_INT 46
1481: PUSH
1482: LD_INT 47
1484: PUSH
1485: EMPTY
1486: LIST
1487: LIST
1488: PUSH
1489: LD_INT 70
1491: PUSH
1492: LD_INT 58
1494: PUSH
1495: EMPTY
1496: LIST
1497: LIST
1498: PUSH
1499: LD_INT 74
1501: PUSH
1502: LD_INT 56
1504: PUSH
1505: EMPTY
1506: LIST
1507: LIST
1508: PUSH
1509: LD_INT 40
1511: PUSH
1512: LD_INT 44
1514: PUSH
1515: EMPTY
1516: LIST
1517: LIST
1518: PUSH
1519: EMPTY
1520: LIST
1521: LIST
1522: LIST
1523: LIST
1524: PUSH
1525: FOR_IN
1526: IFFALSE 1569
// begin AddComAgressiveMove ( u , i [ 1 ] , i [ 2 ] ) ;
1528: LD_VAR 0 1
1532: PPUSH
1533: LD_VAR 0 3
1537: PUSH
1538: LD_INT 1
1540: ARRAY
1541: PPUSH
1542: LD_VAR 0 3
1546: PUSH
1547: LD_INT 2
1549: ARRAY
1550: PPUSH
1551: CALL_OW 174
// AddComWait ( u , 0 0$2 ) ;
1555: LD_VAR 0 1
1559: PPUSH
1560: LD_INT 70
1562: PPUSH
1563: CALL_OW 202
// end ;
1567: GO 1525
1569: POP
1570: POP
// end ;
1571: LD_VAR 0 2
1575: RET
// export function NorthHunt ( u ) ; var i ; begin
1576: LD_INT 0
1578: PPUSH
1579: PPUSH
// ComWalk ( u ) ;
1580: LD_VAR 0 1
1584: PPUSH
1585: CALL_OW 138
// for i in [ [ 75 , 14 ] , [ 82 , 35 ] , [ 65 , 30 ] , [ 46 , 24 ] ] do
1589: LD_ADDR_VAR 0 3
1593: PUSH
1594: LD_INT 75
1596: PUSH
1597: LD_INT 14
1599: PUSH
1600: EMPTY
1601: LIST
1602: LIST
1603: PUSH
1604: LD_INT 82
1606: PUSH
1607: LD_INT 35
1609: PUSH
1610: EMPTY
1611: LIST
1612: LIST
1613: PUSH
1614: LD_INT 65
1616: PUSH
1617: LD_INT 30
1619: PUSH
1620: EMPTY
1621: LIST
1622: LIST
1623: PUSH
1624: LD_INT 46
1626: PUSH
1627: LD_INT 24
1629: PUSH
1630: EMPTY
1631: LIST
1632: LIST
1633: PUSH
1634: EMPTY
1635: LIST
1636: LIST
1637: LIST
1638: LIST
1639: PUSH
1640: FOR_IN
1641: IFFALSE 1684
// begin AddComAgressiveMove ( u , i [ 1 ] , i [ 2 ] ) ;
1643: LD_VAR 0 1
1647: PPUSH
1648: LD_VAR 0 3
1652: PUSH
1653: LD_INT 1
1655: ARRAY
1656: PPUSH
1657: LD_VAR 0 3
1661: PUSH
1662: LD_INT 2
1664: ARRAY
1665: PPUSH
1666: CALL_OW 174
// AddComWait ( u , 0 0$2 ) ;
1670: LD_VAR 0 1
1674: PPUSH
1675: LD_INT 70
1677: PPUSH
1678: CALL_OW 202
// end ;
1682: GO 1640
1684: POP
1685: POP
// end ;
1686: LD_VAR 0 2
1690: RET
// every 0 0$1 trigger AmericanHunt = true or IsInArea ( Eddings , AmericanOutpost ) do var i , route ;
1691: LD_EXP 5
1695: PUSH
1696: LD_INT 1
1698: EQUAL
1699: PUSH
1700: LD_EXP 2
1704: PPUSH
1705: LD_INT 4
1707: PPUSH
1708: CALL_OW 308
1712: OR
1713: IFFALSE 1913
1715: GO 1717
1717: DISABLE
1718: LD_INT 0
1720: PPUSH
1721: PPUSH
// begin enable ;
1722: ENABLE
// route = [ [ 50 , 65 ] , [ 60 , 77 ] , [ 73 , 83 ] , [ 79 , 82 ] , [ 83 , 73 ] , [ 82 , 59 ] , [ 79 , 44 ] , [ 67 , 29 ] , [ 45 , 21 ] , [ 43 , 32 ] , [ 38 , 46 ] ] ;
1723: LD_ADDR_VAR 0 2
1727: PUSH
1728: LD_INT 50
1730: PUSH
1731: LD_INT 65
1733: PUSH
1734: EMPTY
1735: LIST
1736: LIST
1737: PUSH
1738: LD_INT 60
1740: PUSH
1741: LD_INT 77
1743: PUSH
1744: EMPTY
1745: LIST
1746: LIST
1747: PUSH
1748: LD_INT 73
1750: PUSH
1751: LD_INT 83
1753: PUSH
1754: EMPTY
1755: LIST
1756: LIST
1757: PUSH
1758: LD_INT 79
1760: PUSH
1761: LD_INT 82
1763: PUSH
1764: EMPTY
1765: LIST
1766: LIST
1767: PUSH
1768: LD_INT 83
1770: PUSH
1771: LD_INT 73
1773: PUSH
1774: EMPTY
1775: LIST
1776: LIST
1777: PUSH
1778: LD_INT 82
1780: PUSH
1781: LD_INT 59
1783: PUSH
1784: EMPTY
1785: LIST
1786: LIST
1787: PUSH
1788: LD_INT 79
1790: PUSH
1791: LD_INT 44
1793: PUSH
1794: EMPTY
1795: LIST
1796: LIST
1797: PUSH
1798: LD_INT 67
1800: PUSH
1801: LD_INT 29
1803: PUSH
1804: EMPTY
1805: LIST
1806: LIST
1807: PUSH
1808: LD_INT 45
1810: PUSH
1811: LD_INT 21
1813: PUSH
1814: EMPTY
1815: LIST
1816: LIST
1817: PUSH
1818: LD_INT 43
1820: PUSH
1821: LD_INT 32
1823: PUSH
1824: EMPTY
1825: LIST
1826: LIST
1827: PUSH
1828: LD_INT 38
1830: PUSH
1831: LD_INT 46
1833: PUSH
1834: EMPTY
1835: LIST
1836: LIST
1837: PUSH
1838: EMPTY
1839: LIST
1840: LIST
1841: LIST
1842: LIST
1843: LIST
1844: LIST
1845: LIST
1846: LIST
1847: LIST
1848: LIST
1849: LIST
1850: ST_TO_ADDR
// if not HasTask ( am_v ) then
1851: LD_INT 5
1853: PPUSH
1854: CALL_OW 314
1858: NOT
1859: IFFALSE 1913
// for i in route do
1861: LD_ADDR_VAR 0 1
1865: PUSH
1866: LD_VAR 0 2
1870: PUSH
1871: FOR_IN
1872: IFFALSE 1911
// begin AddComAgressiveMove ( am_v , i [ 1 ] , i [ 2 ] ) ;
1874: LD_INT 5
1876: PPUSH
1877: LD_VAR 0 1
1881: PUSH
1882: LD_INT 1
1884: ARRAY
1885: PPUSH
1886: LD_VAR 0 1
1890: PUSH
1891: LD_INT 2
1893: ARRAY
1894: PPUSH
1895: CALL_OW 174
// AddComWait ( am_v , 0 0$1.5 ) ;
1899: LD_INT 5
1901: PPUSH
1902: LD_INT 52
1904: PPUSH
1905: CALL_OW 202
// end ;
1909: GO 1871
1911: POP
1912: POP
// end ;
1913: PPOPN 2
1915: END
// every 0 0$1 trigger IsInArea ( Eddings , AmericanOutpost ) do var i ;
1916: LD_EXP 2
1920: PPUSH
1921: LD_INT 4
1923: PPUSH
1924: CALL_OW 308
1928: IFFALSE 1974
1930: GO 1932
1932: DISABLE
1933: LD_INT 0
1935: PPUSH
// begin SoldierHunt ( s1 ) ;
1936: LD_INT 13
1938: PPUSH
1939: CALL 1470 0 1
// for i in [ s2 , s3 ] do
1943: LD_ADDR_VAR 0 1
1947: PUSH
1948: LD_INT 21
1950: PUSH
1951: LD_INT 24
1953: PUSH
1954: EMPTY
1955: LIST
1956: LIST
1957: PUSH
1958: FOR_IN
1959: IFFALSE 1972
// NorthHunt ( i ) ;
1961: LD_VAR 0 1
1965: PPUSH
1966: CALL 1576 0 1
1970: GO 1958
1972: POP
1973: POP
// end ;
1974: PPOPN 1
1976: END
// every 0 0$1 trigger IsInArea ( am_v , RefuelArea ) and not See ( 2 , am_v ) do
1977: LD_INT 5
1979: PPUSH
1980: LD_INT 2
1982: PPUSH
1983: CALL_OW 308
1987: PUSH
1988: LD_INT 2
1990: PPUSH
1991: LD_INT 5
1993: PPUSH
1994: CALL_OW 292
1998: NOT
1999: AND
2000: IFFALSE 2015
2002: GO 2004
2004: DISABLE
// SetFuel ( am_v , 100 ) ; end_of_file
2005: LD_INT 5
2007: PPUSH
2008: LD_INT 100
2010: PPUSH
2011: CALL_OW 240
2015: END
// every 2 2$5 + 0 0$15 do
2016: GO 2018
2018: DISABLE
// begin enable ;
2019: ENABLE
// Wait ( Rand ( 0 0$1 , 0 0$15 ) ) ;
2020: LD_INT 35
2022: PPUSH
2023: LD_INT 525
2025: PPUSH
2026: CALL_OW 12
2030: PPUSH
2031: CALL_OW 67
// CreateCratesAnywhere ( Rand ( 3 , 5 ) , true ) ;
2035: LD_INT 3
2037: PPUSH
2038: LD_INT 5
2040: PPUSH
2041: CALL_OW 12
2045: PPUSH
2046: LD_INT 1
2048: PPUSH
2049: CALL_OW 57
// end ;
2053: END
