// export enemyattack , RuEvac , debug ; starting begin debug = 0 ;
   0: LD_ADDR_EXP 3
   4: PUSH
   5: LD_INT 0
   7: ST_TO_ADDR
// RuEvac = 0 ;
   8: LD_ADDR_EXP 2
  12: PUSH
  13: LD_INT 0
  15: ST_TO_ADDR
// EnemyAttack = 0 ;
  16: LD_ADDR_EXP 1
  20: PUSH
  21: LD_INT 0
  23: ST_TO_ADDR
// TotalConversion ( ) ;
  24: CALL 2946 0 0
// ingameon ;
  28: CALL_OW 8
// Resetfog ;
  32: CALL_OW 335
// CenteronUnits ( Madison ) ;
  36: LD_INT 11
  38: PPUSH
  39: CALL_OW 85
// Randomizeall ;
  43: CALL_OW 11
// dialogueon ;
  47: CALL_OW 6
// Say ( Madison , d1 ) ;
  51: LD_INT 11
  53: PPUSH
  54: LD_STRING d1
  56: PPUSH
  57: CALL_OW 88
// Say ( Greene , d2 ) ;
  61: LD_INT 2
  63: PPUSH
  64: LD_STRING d2
  66: PPUSH
  67: CALL_OW 88
// Say ( Madison , d3 ) ;
  71: LD_INT 11
  73: PPUSH
  74: LD_STRING d3
  76: PPUSH
  77: CALL_OW 88
// Say ( Greene , d3a ) ;
  81: LD_INT 2
  83: PPUSH
  84: LD_STRING d3a
  86: PPUSH
  87: CALL_OW 88
// dialogueoff ;
  91: CALL_OW 7
// CreateResourcesXY ( 1 , 6 - difficulty , 81 , 139 , false ) ;
  95: LD_INT 1
  97: PPUSH
  98: LD_INT 6
 100: PUSH
 101: LD_OWVAR 67
 105: MINUS
 106: PPUSH
 107: LD_INT 81
 109: PPUSH
 110: LD_INT 139
 112: PPUSH
 113: LD_INT 0
 115: PPUSH
 116: CALL_OW 58
// CreateResourcesXY ( 1 , 4 - difficulty , 81 , 140 , false ) ;
 120: LD_INT 1
 122: PPUSH
 123: LD_INT 4
 125: PUSH
 126: LD_OWVAR 67
 130: MINUS
 131: PPUSH
 132: LD_INT 81
 134: PPUSH
 135: LD_INT 140
 137: PPUSH
 138: LD_INT 0
 140: PPUSH
 141: CALL_OW 58
// CreateResourcesXY ( 1 , 6 - difficulty , 80 , 139 , false ) ;
 145: LD_INT 1
 147: PPUSH
 148: LD_INT 6
 150: PUSH
 151: LD_OWVAR 67
 155: MINUS
 156: PPUSH
 157: LD_INT 80
 159: PPUSH
 160: LD_INT 139
 162: PPUSH
 163: LD_INT 0
 165: PPUSH
 166: CALL_OW 58
// CreateResourcesXY ( 1 , 6 - difficulty , 78 , 139 , false ) ;
 170: LD_INT 1
 172: PPUSH
 173: LD_INT 6
 175: PUSH
 176: LD_OWVAR 67
 180: MINUS
 181: PPUSH
 182: LD_INT 78
 184: PPUSH
 185: LD_INT 139
 187: PPUSH
 188: LD_INT 0
 190: PPUSH
 191: CALL_OW 58
// centeronunits_enabled = true ;
 195: LD_ADDR_EXP 4
 199: PUSH
 200: LD_INT 1
 202: ST_TO_ADDR
// comagressivemove ( [ Madison ] , 178 , 59 ) ;
 203: LD_INT 11
 205: PUSH
 206: EMPTY
 207: LIST
 208: PPUSH
 209: LD_INT 178
 211: PPUSH
 212: LD_INT 59
 214: PPUSH
 215: CALL_OW 114
// comagressivemove ( [ Greene ] , 178 , 60 ) ;
 219: LD_INT 2
 221: PUSH
 222: EMPTY
 223: LIST
 224: PPUSH
 225: LD_INT 178
 227: PPUSH
 228: LD_INT 60
 230: PPUSH
 231: CALL_OW 114
// wait ( 0 0$1 ) ;
 235: LD_INT 35
 237: PPUSH
 238: CALL_OW 67
// Say ( Madison , d32 ) ;
 242: LD_INT 11
 244: PPUSH
 245: LD_STRING d32
 247: PPUSH
 248: CALL_OW 88
// Say ( Greene , d33 ) ;
 252: LD_INT 2
 254: PPUSH
 255: LD_STRING d33
 257: PPUSH
 258: CALL_OW 88
// EnemyAttack = 1 ;
 262: LD_ADDR_EXP 1
 266: PUSH
 267: LD_INT 1
 269: ST_TO_ADDR
// end ;
 270: END
// every 0 0$01 trigger centeronunits_enabled do
 271: LD_EXP 4
 275: IFFALSE 288
 277: GO 279
 279: DISABLE
// begin enable ;
 280: ENABLE
// CenterNowOnUnits ( Madison ) ;
 281: LD_INT 11
 283: PPUSH
 284: CALL_OW 87
// end ;
 288: END
// export centeronunits_enabled ; end_of_file every 1 1$00 do
 289: GO 291
 291: DISABLE
// begin CreateCratesAnywhere ( Rand ( 2 , 5 ) , true ) ;
 292: LD_INT 2
 294: PPUSH
 295: LD_INT 5
 297: PPUSH
 298: CALL_OW 12
 302: PPUSH
 303: LD_INT 1
 305: PPUSH
 306: CALL_OW 57
// enable ;
 310: ENABLE
// end ; end_of_file
 311: END
// every 0 0$0.1 trigger IsDead ( Madison ) do
 312: LD_INT 11
 314: PPUSH
 315: CALL_OW 301
 319: IFFALSE 338
 321: GO 323
 323: DISABLE
// begin wait ( 0 0$1 ) ;
 324: LD_INT 35
 326: PPUSH
 327: CALL_OW 67
// YouLost ( Madison_nie_zyje ) ;
 331: LD_STRING Madison_nie_zyje
 333: PPUSH
 334: CALL_OW 104
// end ;
 338: END
// every 0 0$0.1 trigger IsDead ( Greene ) do
 339: LD_INT 2
 341: PPUSH
 342: CALL_OW 301
 346: IFFALSE 365
 348: GO 350
 350: DISABLE
// begin wait ( 0 0$1 ) ;
 351: LD_INT 35
 353: PPUSH
 354: CALL_OW 67
// YouLost ( Greene_nie_zyje ) ;
 358: LD_STRING Greene_nie_zyje
 360: PPUSH
 361: CALL_OW 104
// end ;
 365: END
// every 0 0$0.1 trigger IsDead ( dw ) do
 366: LD_INT 347
 368: PPUSH
 369: CALL_OW 301
 373: IFFALSE 392
 375: GO 377
 377: DISABLE
// begin wait ( 0 0$1 ) ;
 378: LD_INT 35
 380: PPUSH
 381: CALL_OW 67
// YouLost ( Frank_nie_zyje ) ;
 385: LD_STRING Frank_nie_zyje
 387: PPUSH
 388: CALL_OW 104
// end ; end_of_file
 392: END
// every 0 0$01 do
 393: GO 395
 395: DISABLE
// begin comenterunit ( [ s1 ] , br ) ;
 396: LD_INT 337
 398: PUSH
 399: EMPTY
 400: LIST
 401: PPUSH
 402: LD_INT 248
 404: PPUSH
 405: CALL_OW 120
// comenterunit ( [ s2 ] , br1 ) ;
 409: LD_INT 338
 411: PUSH
 412: EMPTY
 413: LIST
 414: PPUSH
 415: LD_INT 247
 417: PPUSH
 418: CALL_OW 120
// comenterunit ( [ s3 ] , br2 ) ;
 422: LD_INT 339
 424: PUSH
 425: EMPTY
 426: LIST
 427: PPUSH
 428: LD_INT 246
 430: PPUSH
 431: CALL_OW 120
// comenterunit ( [ s4 ] , br4 ) ;
 435: LD_INT 341
 437: PUSH
 438: EMPTY
 439: LIST
 440: PPUSH
 441: LD_INT 855
 443: PPUSH
 444: CALL_OW 120
// comenterunit ( [ s5 ] , br5 ) ;
 448: LD_INT 340
 450: PUSH
 451: EMPTY
 452: LIST
 453: PPUSH
 454: LD_INT 862
 456: PPUSH
 457: CALL_OW 120
// comenterunit ( [ n1 ] , laba ) ;
 461: LD_INT 342
 463: PUSH
 464: EMPTY
 465: LIST
 466: PPUSH
 467: LD_INT 281
 469: PPUSH
 470: CALL_OW 120
// comenterunit ( [ n2 ] , laba ) ;
 474: LD_INT 343
 476: PUSH
 477: EMPTY
 478: LIST
 479: PPUSH
 480: LD_INT 281
 482: PPUSH
 483: CALL_OW 120
// comenterunit ( [ m1 , m2 , m3 ] , fc ) ;
 487: LD_INT 336
 489: PUSH
 490: LD_INT 335
 492: PUSH
 493: LD_INT 334
 495: PUSH
 496: EMPTY
 497: LIST
 498: LIST
 499: LIST
 500: PPUSH
 501: LD_INT 257
 503: PPUSH
 504: CALL_OW 120
// comenterunit ( [ rn2 , rn1 ] , rl ) ;
 508: LD_INT 318
 510: PUSH
 511: LD_INT 319
 513: PUSH
 514: EMPTY
 515: LIST
 516: LIST
 517: PPUSH
 518: LD_INT 130
 520: PPUSH
 521: CALL_OW 120
// comenterunit ( [ rm1 , rm ] , rl2 ) ;
 525: LD_INT 320
 527: PUSH
 528: LD_INT 321
 530: PUSH
 531: EMPTY
 532: LIST
 533: LIST
 534: PPUSH
 535: LD_INT 127
 537: PPUSH
 538: CALL_OW 120
// comenterunit ( [ rmm , rmm1 ] , rf1 ) ;
 542: LD_INT 316
 544: PUSH
 545: LD_INT 317
 547: PUSH
 548: EMPTY
 549: LIST
 550: LIST
 551: PPUSH
 552: LD_INT 126
 554: PPUSH
 555: CALL_OW 120
// comenterunit ( [ rs , rs1 , rs2 , rs3 , rs4 , rs5 ] , brr ) ;
 559: LD_INT 324
 561: PUSH
 562: LD_INT 323
 564: PUSH
 565: LD_INT 322
 567: PUSH
 568: LD_INT 326
 570: PUSH
 571: LD_INT 325
 573: PUSH
 574: LD_INT 327
 576: PUSH
 577: EMPTY
 578: LIST
 579: LIST
 580: LIST
 581: LIST
 582: LIST
 583: LIST
 584: PPUSH
 585: LD_INT 886
 587: PPUSH
 588: CALL_OW 120
// comenterunit ( [ am1 , am2 ] , AmFAc ) ;
 592: LD_INT 312
 594: PUSH
 595: LD_INT 313
 597: PUSH
 598: EMPTY
 599: LIST
 600: LIST
 601: PPUSH
 602: LD_INT 1085
 604: PPUSH
 605: CALL_OW 120
// comenterunit ( [ an1 , an2 ] , al ) ;
 609: LD_INT 304
 611: PUSH
 612: LD_INT 305
 614: PUSH
 615: EMPTY
 616: LIST
 617: LIST
 618: PPUSH
 619: LD_INT 665
 621: PPUSH
 622: CALL_OW 120
// comenterunit ( [ as1 , as2 , as3 , as4 , as5 , as6 ] , ab ) ;
 626: LD_INT 311
 628: PUSH
 629: LD_INT 310
 631: PUSH
 632: LD_INT 309
 634: PUSH
 635: LD_INT 306
 637: PUSH
 638: LD_INT 307
 640: PUSH
 641: LD_INT 308
 643: PUSH
 644: EMPTY
 645: LIST
 646: LIST
 647: LIST
 648: LIST
 649: LIST
 650: LIST
 651: PPUSH
 652: LD_INT 651
 654: PPUSH
 655: CALL_OW 120
// comenterunit ( [ ue ] , nar ) ;
 659: LD_INT 586
 661: PUSH
 662: EMPTY
 663: LIST
 664: PPUSH
 665: LD_INT 575
 667: PPUSH
 668: CALL_OW 120
// comenterunit ( [ gd ] , bra ) ;
 672: LD_INT 585
 674: PUSH
 675: EMPTY
 676: LIST
 677: PPUSH
 678: LD_INT 525
 680: PPUSH
 681: CALL_OW 120
// comenterunit ( [ dw1 ] , bra1 ) ;
 685: LD_INT 591
 687: PUSH
 688: EMPTY
 689: LIST
 690: PPUSH
 691: LD_INT 527
 693: PPUSH
 694: CALL_OW 120
// comenterunit ( [ je ] , bra3 ) ;
 698: LD_INT 584
 700: PUSH
 701: EMPTY
 702: LIST
 703: PPUSH
 704: LD_INT 524
 706: PPUSH
 707: CALL_OW 120
// end ; end_of_file
 711: END
// every 0 0$01 trigger IsInArea ( Madison , Area77 ) do
 712: LD_INT 11
 714: PPUSH
 715: LD_INT 2
 717: PPUSH
 718: CALL_OW 308
 722: IFFALSE 834
 724: GO 726
 726: DISABLE
// begin centeronunits_enabled = false ;
 727: LD_ADDR_EXP 4
 731: PUSH
 732: LD_INT 0
 734: ST_TO_ADDR
// Say ( Madison , d4 ) ;
 735: LD_INT 11
 737: PPUSH
 738: LD_STRING d4
 740: PPUSH
 741: CALL_OW 88
// RevealFogArea ( 4 , Area78 ) ;
 745: LD_INT 4
 747: PPUSH
 748: LD_INT 3
 750: PPUSH
 751: CALL_OW 332
// CenterOnUnits ( Lookhere ) ;
 755: LD_INT 110
 757: PPUSH
 758: CALL_OW 85
// Say ( Greene , d5 ) ;
 762: LD_INT 2
 764: PPUSH
 765: LD_STRING d5
 767: PPUSH
 768: CALL_OW 88
// Say ( Madison , d6 ) ;
 772: LD_INT 11
 774: PPUSH
 775: LD_STRING d6
 777: PPUSH
 778: CALL_OW 88
// Say ( Greene , d7 ) ;
 782: LD_INT 2
 784: PPUSH
 785: LD_STRING d7
 787: PPUSH
 788: CALL_OW 88
// Say ( Madison , d8 ) ;
 792: LD_INT 11
 794: PPUSH
 795: LD_STRING d8
 797: PPUSH
 798: CALL_OW 88
// Say ( Greene , d9 ) ;
 802: LD_INT 2
 804: PPUSH
 805: LD_STRING d9
 807: PPUSH
 808: CALL_OW 88
// ingameoff ;
 812: CALL_OW 9
// SaveForQuickRestart ;
 816: CALL_OW 22
// ChangeMissionObjectives ( CEL1 ) ;
 820: LD_STRING CEL1
 822: PPUSH
 823: CALL_OW 337
// CenteronUnits ( Madison ) ;
 827: LD_INT 11
 829: PPUSH
 830: CALL_OW 85
// end ;
 834: END
// var list , unitsinlist ; function ArabsSeeyou ( ) ; begin
 835: LD_INT 0
 837: PPUSH
// result = 0 ;
 838: LD_ADDR_VAR 0 1
 842: PUSH
 843: LD_INT 0
 845: ST_TO_ADDR
// list = filterallunits ( [ f_side , 2 ] ) ;
 846: LD_ADDR_LOC 1
 850: PUSH
 851: LD_INT 22
 853: PUSH
 854: LD_INT 2
 856: PUSH
 857: EMPTY
 858: LIST
 859: LIST
 860: PPUSH
 861: CALL_OW 69
 865: ST_TO_ADDR
// for Unitsinlist in list do
 866: LD_ADDR_LOC 2
 870: PUSH
 871: LD_LOC 1
 875: PUSH
 876: FOR_IN
 877: IFFALSE 903
// if see ( 4 , Unitsinlist ) then
 879: LD_INT 4
 881: PPUSH
 882: LD_LOC 2
 886: PPUSH
 887: CALL_OW 292
 891: IFFALSE 901
// result = 1 ;
 893: LD_ADDR_VAR 0 1
 897: PUSH
 898: LD_INT 1
 900: ST_TO_ADDR
 901: GO 876
 903: POP
 904: POP
// end ;
 905: LD_VAR 0 1
 909: RET
// every 0 0$01 trigger ArabsSeeyou = 1 do
 910: CALL 835 0 0
 914: PUSH
 915: LD_INT 1
 917: EQUAL
 918: IFFALSE 1106
 920: GO 922
 922: DISABLE
// begin ingameon ;
 923: CALL_OW 8
// SetAttitude ( 2 , 4 , 2 , true ) ;
 927: LD_INT 2
 929: PPUSH
 930: LD_INT 4
 932: PPUSH
 933: LD_INT 2
 935: PPUSH
 936: LD_INT 1
 938: PPUSH
 939: CALL_OW 80
// SetAttitude ( 5 , 4 , 2 , true ) ;
 943: LD_INT 5
 945: PPUSH
 946: LD_INT 4
 948: PPUSH
 949: LD_INT 2
 951: PPUSH
 952: LD_INT 1
 954: PPUSH
 955: CALL_OW 80
// dialogueon ;
 959: CALL_OW 6
// Say ( s5 , d13 ) ;
 963: LD_INT 340
 965: PPUSH
 966: LD_STRING d13
 968: PPUSH
 969: CALL_OW 88
// Dialogueoff ;
 973: CALL_OW 7
// ComExitvehicle ( [ Madison , Greene ] ) ;
 977: LD_INT 11
 979: PUSH
 980: LD_INT 2
 982: PUSH
 983: EMPTY
 984: LIST
 985: LIST
 986: PPUSH
 987: CALL_OW 121
// wait ( 0 0$0.3 ) ;
 991: LD_INT 10
 993: PPUSH
 994: CALL_OW 67
// dialogueon ;
 998: CALL_OW 6
// Say ( Madison , d14 ) ;
1002: LD_INT 11
1004: PPUSH
1005: LD_STRING d14
1007: PPUSH
1008: CALL_OW 88
// Say ( s5 , d15 ) ;
1012: LD_INT 340
1014: PPUSH
1015: LD_STRING d15
1017: PPUSH
1018: CALL_OW 88
// Say ( s5 , d16 ) ;
1022: LD_INT 340
1024: PPUSH
1025: LD_STRING d16
1027: PPUSH
1028: CALL_OW 88
// SayRadio ( dw , d17 ) ;
1032: LD_INT 347
1034: PPUSH
1035: LD_STRING d17
1037: PPUSH
1038: CALL_OW 94
// Say ( s5 , d18 ) ;
1042: LD_INT 340
1044: PPUSH
1045: LD_STRING d18
1047: PPUSH
1048: CALL_OW 88
// dialogueoff ;
1052: CALL_OW 7
// SetAttitude ( 2 , 4 , 1 , true ) ;
1056: LD_INT 2
1058: PPUSH
1059: LD_INT 4
1061: PPUSH
1062: LD_INT 1
1064: PPUSH
1065: LD_INT 1
1067: PPUSH
1068: CALL_OW 80
// SetAttitude ( 5 , 4 , 1 , true ) ;
1072: LD_INT 5
1074: PPUSH
1075: LD_INT 4
1077: PPUSH
1078: LD_INT 1
1080: PPUSH
1081: LD_INT 1
1083: PPUSH
1084: CALL_OW 80
// ingameoff ;
1088: CALL_OW 9
// ChangeMissionObjectives ( CEL1W ) ;
1092: LD_STRING CEL1W
1094: PPUSH
1095: CALL_OW 337
// ChangeMissionObjectives ( CEL2 ) ;
1099: LD_STRING CEL2
1101: PPUSH
1102: CALL_OW 337
// end ;
1106: END
// every 0 0$03 trigger See ( 5 , MAdison ) or See ( 5 , Greene ) do
1107: LD_INT 5
1109: PPUSH
1110: LD_INT 11
1112: PPUSH
1113: CALL_OW 292
1117: PUSH
1118: LD_INT 5
1120: PPUSH
1121: LD_INT 2
1123: PPUSH
1124: CALL_OW 292
1128: OR
1129: IFFALSE 1566
1131: GO 1133
1133: DISABLE
// begin ingameon ;
1134: CALL_OW 8
// dialogueon ;
1138: CALL_OW 6
// Say ( dw , d18a ) ;
1142: LD_INT 347
1144: PPUSH
1145: LD_STRING d18a
1147: PPUSH
1148: CALL_OW 88
// Say ( Madison , d19 ) ;
1152: LD_INT 11
1154: PPUSH
1155: LD_STRING d19
1157: PPUSH
1158: CALL_OW 88
// Say ( dw , d20 ) ;
1162: LD_INT 347
1164: PPUSH
1165: LD_STRING d20
1167: PPUSH
1168: CALL_OW 88
// Say ( Madison , d21 ) ;
1172: LD_INT 11
1174: PPUSH
1175: LD_STRING d21
1177: PPUSH
1178: CALL_OW 88
// Say ( dw , d22 ) ;
1182: LD_INT 347
1184: PPUSH
1185: LD_STRING d22
1187: PPUSH
1188: CALL_OW 88
// Say ( Madison , d23 ) ;
1192: LD_INT 11
1194: PPUSH
1195: LD_STRING d23
1197: PPUSH
1198: CALL_OW 88
// Say ( Madison , d24 ) ;
1202: LD_INT 11
1204: PPUSH
1205: LD_STRING d24
1207: PPUSH
1208: CALL_OW 88
// CenteronUnits ( RuBase ) ;
1212: LD_INT 117
1214: PPUSH
1215: CALL_OW 85
// RevealFogArea ( 4 , Fog1 ) ;
1219: LD_INT 4
1221: PPUSH
1222: LD_INT 7
1224: PPUSH
1225: CALL_OW 332
// Say ( dw , d25a ) ;
1229: LD_INT 347
1231: PPUSH
1232: LD_STRING d25a
1234: PPUSH
1235: CALL_OW 88
// wait ( 0 0$1 ) ;
1239: LD_INT 35
1241: PPUSH
1242: CALL_OW 67
// CenteronUnits ( wat ) ;
1246: LD_INT 12
1248: PPUSH
1249: CALL_OW 85
// RevealFogArea ( 4 , Fog2 ) ;
1253: LD_INT 4
1255: PPUSH
1256: LD_INT 8
1258: PPUSH
1259: CALL_OW 332
// Say ( dw , d25b ) ;
1263: LD_INT 347
1265: PPUSH
1266: LD_STRING d25b
1268: PPUSH
1269: CALL_OW 88
// wait ( 0 0$1 ) ;
1273: LD_INT 35
1275: PPUSH
1276: CALL_OW 67
// if difficulty < 3 then
1280: LD_OWVAR 67
1284: PUSH
1285: LD_INT 3
1287: LESS
1288: IFFALSE 1352
// begin RevealFogArea ( 4 , Fog3 ) ;
1290: LD_INT 4
1292: PPUSH
1293: LD_INT 9
1295: PPUSH
1296: CALL_OW 332
// CenterOnUnits ( RuOut ) ;
1300: LD_INT 471
1302: PPUSH
1303: CALL_OW 85
// Say ( dw , d25c ) ;
1307: LD_INT 347
1309: PPUSH
1310: LD_STRING d25c
1312: PPUSH
1313: CALL_OW 88
// wait ( 0 0$1 ) ;
1317: LD_INT 35
1319: PPUSH
1320: CALL_OW 67
// CenterOnUnits ( AmOut1 ) ;
1324: LD_INT 505
1326: PPUSH
1327: CALL_OW 85
// Wait ( 0 0$2 ) ;
1331: LD_INT 70
1333: PPUSH
1334: CALL_OW 67
// CenterOnUnits ( AmOut2 ) ;
1338: LD_INT 532
1340: PPUSH
1341: CALL_OW 85
// Wait ( 0 0$2 ) ;
1345: LD_INT 70
1347: PPUSH
1348: CALL_OW 67
// end ; if difficulty < 2 then
1352: LD_OWVAR 67
1356: PUSH
1357: LD_INT 2
1359: LESS
1360: IFFALSE 1445
// begin CenterOnXY ( 84 , 20 ) ;
1362: LD_INT 84
1364: PPUSH
1365: LD_INT 20
1367: PPUSH
1368: CALL_OW 84
// dialogueoff ;
1372: CALL_OW 7
// PlaceSeeing ( 84 , 20 , 4 , 15 ) ;
1376: LD_INT 84
1378: PPUSH
1379: LD_INT 20
1381: PPUSH
1382: LD_INT 4
1384: PPUSH
1385: LD_INT 15
1387: PPUSH
1388: CALL_OW 330
// PlaceSeeing ( 85 , 15 , 4 , 15 ) ;
1392: LD_INT 85
1394: PPUSH
1395: LD_INT 15
1397: PPUSH
1398: LD_INT 4
1400: PPUSH
1401: LD_INT 15
1403: PPUSH
1404: CALL_OW 330
// PlaceSeeing ( 72 , 20 , 4 , 15 ) ;
1408: LD_INT 72
1410: PPUSH
1411: LD_INT 20
1413: PPUSH
1414: LD_INT 4
1416: PPUSH
1417: LD_INT 15
1419: PPUSH
1420: CALL_OW 330
// wait ( 0 0$0.1 ) ;
1424: LD_INT 4
1426: PPUSH
1427: CALL_OW 67
// dialogueon ;
1431: CALL_OW 6
// Say ( dw , d25d ) ;
1435: LD_INT 347
1437: PPUSH
1438: LD_STRING d25d
1440: PPUSH
1441: CALL_OW 88
// end ; Say ( dw , d26 ) ;
1445: LD_INT 347
1447: PPUSH
1448: LD_STRING d26
1450: PPUSH
1451: CALL_OW 88
// CenterOnUnits ( MAdison ) ;
1455: LD_INT 11
1457: PPUSH
1458: CALL_OW 85
// dialogueoff ;
1462: CALL_OW 7
// ingameoff ;
1466: CALL_OW 9
// ChangeSide ;
1470: CALL 1567 0 0
// ChangeMissionObjectives ( CEL2W ) ;
1474: LD_STRING CEL2W
1476: PPUSH
1477: CALL_OW 337
// ChangeMissionObjectives ( M1 ) ;
1481: LD_STRING M1
1483: PPUSH
1484: CALL_OW 337
// ChangeMissionObjectives ( M2 ) ;
1488: LD_STRING M2
1490: PPUSH
1491: CALL_OW 337
// ChangeMissionObjectives ( M3 ) ;
1495: LD_STRING M3
1497: PPUSH
1498: CALL_OW 337
// ChangeMissionObjectives ( CEL3 ) ;
1502: LD_STRING CEL3
1504: PPUSH
1505: CALL_OW 337
// RevealFogArea ( 1 , Area76 ) ;
1509: LD_INT 1
1511: PPUSH
1512: LD_INT 1
1514: PPUSH
1515: CALL_OW 332
// wait ( 2 2$30 ) ;
1519: LD_INT 5250
1521: PPUSH
1522: CALL_OW 67
// SayRadio ( dowodca1 , d28 ) ;
1526: LD_INT 629
1528: PPUSH
1529: LD_STRING d28
1531: PPUSH
1532: CALL_OW 94
// SayRadio ( dowodca2 , d29 ) ;
1536: LD_INT 1122
1538: PPUSH
1539: LD_STRING d29
1541: PPUSH
1542: CALL_OW 94
// Say ( dw , d30 ) ;
1546: LD_INT 347
1548: PPUSH
1549: LD_STRING d30
1551: PPUSH
1552: CALL_OW 88
// Say ( Madison , d31 ) ;
1556: LD_INT 11
1558: PPUSH
1559: LD_STRING d31
1561: PPUSH
1562: CALL_OW 88
// end ;
1566: END
// export function ChangeSide ; var un , kinlist ; begin
1567: LD_INT 0
1569: PPUSH
1570: PPUSH
1571: PPUSH
// kinlist = FilterAllUnits ( [ f_side , 2 ] ) ;
1572: LD_ADDR_VAR 0 3
1576: PUSH
1577: LD_INT 22
1579: PUSH
1580: LD_INT 2
1582: PUSH
1583: EMPTY
1584: LIST
1585: LIST
1586: PPUSH
1587: CALL_OW 69
1591: ST_TO_ADDR
// for un in kinlist do
1592: LD_ADDR_VAR 0 2
1596: PUSH
1597: LD_VAR 0 3
1601: PUSH
1602: FOR_IN
1603: IFFALSE 1619
// begin SetSide ( un , 4 ) ;
1605: LD_VAR 0 2
1609: PPUSH
1610: LD_INT 4
1612: PPUSH
1613: CALL_OW 235
// end ;
1617: GO 1602
1619: POP
1620: POP
// Setside ( dw , 4 ) ;
1621: LD_INT 347
1623: PPUSH
1624: LD_INT 4
1626: PPUSH
1627: CALL_OW 235
// end ;
1631: LD_VAR 0 1
1635: RET
// every 0 0$01 trigger See ( 4 , Car1 ) do
1636: LD_INT 4
1638: PPUSH
1639: LD_INT 606
1641: PPUSH
1642: CALL_OW 292
1646: IFFALSE 1661
1648: GO 1650
1650: DISABLE
// begin Say ( Madison , d27 ) ;
1651: LD_INT 11
1653: PPUSH
1654: LD_STRING d27
1656: PPUSH
1657: CALL_OW 88
// end ;
1661: END
// every 0 0$01 trigger See ( 4 , dez ) do
1662: LD_INT 4
1664: PPUSH
1665: LD_INT 371
1667: PPUSH
1668: CALL_OW 292
1672: IFFALSE 1697
1674: GO 1676
1676: DISABLE
// begin Say ( Madison , d36 ) ;
1677: LD_INT 11
1679: PPUSH
1680: LD_STRING d36
1682: PPUSH
1683: CALL_OW 88
// Say ( Greene , d37 ) ;
1687: LD_INT 2
1689: PPUSH
1690: LD_STRING d37
1692: PPUSH
1693: CALL_OW 88
// end ; end_of_file
1697: END
// every 0 0$0.1 trigger IsDead ( wat ) and IsDead ( AmFac ) and IsDead ( ab ) do
1698: LD_INT 12
1700: PPUSH
1701: CALL_OW 301
1705: PUSH
1706: LD_INT 1085
1708: PPUSH
1709: CALL_OW 301
1713: AND
1714: PUSH
1715: LD_INT 651
1717: PPUSH
1718: CALL_OW 301
1722: AND
1723: IFFALSE 1805
1725: GO 1727
1727: DISABLE
// begin ingameon ;
1728: CALL_OW 8
// dialogueon ;
1732: CALL_OW 6
// Say ( Madison , d34 ) ;
1736: LD_INT 11
1738: PPUSH
1739: LD_STRING d34
1741: PPUSH
1742: CALL_OW 88
// SayRadio ( dw , d35 ) ;
1746: LD_INT 347
1748: PPUSH
1749: LD_STRING d35
1751: PPUSH
1752: CALL_OW 94
// dialogueoff ;
1756: CALL_OW 7
// ingameoff ;
1760: CALL_OW 9
// AddMedal ( medal1 , 1 ) ;
1764: LD_STRING medal1
1766: PPUSH
1767: LD_INT 1
1769: PPUSH
1770: CALL_OW 101
// AddMedal ( medal2 , 1 ) ;
1774: LD_STRING medal2
1776: PPUSH
1777: LD_INT 1
1779: PPUSH
1780: CALL_OW 101
// AddMedal ( medal3 , 1 ) ;
1784: LD_STRING medal3
1786: PPUSH
1787: LD_INT 1
1789: PPUSH
1790: CALL_OW 101
// GiveMedals ( Main ) ;
1794: LD_STRING Main
1796: PPUSH
1797: CALL_OW 102
// YouWin ;
1801: CALL_OW 103
// end ; end_of_file
1805: END
// export rp1 , rp2 , rp3 , rp4 , rp5 , rp6 , rp7 ; export ap1 , ap2 , ap3 , ap4 , ap5 , ap6 , ap7 ; var AmList , AmUnit , RuList , RuUnit ; export function AmericanAttack1 ; begin
1806: LD_INT 0
1808: PPUSH
// uc_side = 8 ;
1809: LD_ADDR_OWVAR 20
1813: PUSH
1814: LD_INT 8
1816: ST_TO_ADDR
// uc_nation = 1 ;
1817: LD_ADDR_OWVAR 21
1821: PUSH
1822: LD_INT 1
1824: ST_TO_ADDR
// uc_direction = 3 ;
1825: LD_ADDR_OWVAR 24
1829: PUSH
1830: LD_INT 3
1832: ST_TO_ADDR
// vc_chassis = 5 ;
1833: LD_ADDR_OWVAR 37
1837: PUSH
1838: LD_INT 5
1840: ST_TO_ADDR
// vc_engine = 3 ;
1841: LD_ADDR_OWVAR 39
1845: PUSH
1846: LD_INT 3
1848: ST_TO_ADDR
// vc_control = control_computer ;
1849: LD_ADDR_OWVAR 38
1853: PUSH
1854: LD_INT 3
1856: ST_TO_ADDR
// vc_weapon = us_laser ;
1857: LD_ADDR_OWVAR 40
1861: PUSH
1862: LD_INT 9
1864: ST_TO_ADDR
// ap1 = CreateVehicle ;
1865: LD_ADDR_EXP 12
1869: PUSH
1870: CALL_OW 45
1874: ST_TO_ADDR
// ap2 = CreateVehicle ;
1875: LD_ADDR_EXP 13
1879: PUSH
1880: CALL_OW 45
1884: ST_TO_ADDR
// vc_weapon = [ us_laser , 6 , us_double_gun ] [ Rand ( 1 , 3 ) ] ;
1885: LD_ADDR_OWVAR 40
1889: PUSH
1890: LD_INT 9
1892: PUSH
1893: LD_INT 6
1895: PUSH
1896: LD_INT 5
1898: PUSH
1899: EMPTY
1900: LIST
1901: LIST
1902: LIST
1903: PUSH
1904: LD_INT 1
1906: PPUSH
1907: LD_INT 3
1909: PPUSH
1910: CALL_OW 12
1914: ARRAY
1915: ST_TO_ADDR
// ap3 = CreateVehicle ;
1916: LD_ADDR_EXP 14
1920: PUSH
1921: CALL_OW 45
1925: ST_TO_ADDR
// vc_weapon = [ us_laser , 6 , us_double_gun ] [ Rand ( 1 , 3 ) ] ;
1926: LD_ADDR_OWVAR 40
1930: PUSH
1931: LD_INT 9
1933: PUSH
1934: LD_INT 6
1936: PUSH
1937: LD_INT 5
1939: PUSH
1940: EMPTY
1941: LIST
1942: LIST
1943: LIST
1944: PUSH
1945: LD_INT 1
1947: PPUSH
1948: LD_INT 3
1950: PPUSH
1951: CALL_OW 12
1955: ARRAY
1956: ST_TO_ADDR
// ap4 = CreateVehicle ;
1957: LD_ADDR_EXP 15
1961: PUSH
1962: CALL_OW 45
1966: ST_TO_ADDR
// vc_weapon = 6 ;
1967: LD_ADDR_OWVAR 40
1971: PUSH
1972: LD_INT 6
1974: ST_TO_ADDR
// ap5 = CreateVehicle ;
1975: LD_ADDR_EXP 16
1979: PUSH
1980: CALL_OW 45
1984: ST_TO_ADDR
// ap6 = CreateVehicle ;
1985: LD_ADDR_EXP 17
1989: PUSH
1990: CALL_OW 45
1994: ST_TO_ADDR
// ap7 = CreateVehicle ;
1995: LD_ADDR_EXP 18
1999: PUSH
2000: CALL_OW 45
2004: ST_TO_ADDR
// PlaceUnitArea ( ap1 , AmericanSpawn1 , false ) ;
2005: LD_EXP 12
2009: PPUSH
2010: LD_INT 4
2012: PPUSH
2013: LD_INT 0
2015: PPUSH
2016: CALL_OW 49
// wait ( 0 0$0.3 ) ;
2020: LD_INT 10
2022: PPUSH
2023: CALL_OW 67
// comagressivemove ( ap1 , 92 , 10 ) ;
2027: LD_EXP 12
2031: PPUSH
2032: LD_INT 92
2034: PPUSH
2035: LD_INT 10
2037: PPUSH
2038: CALL_OW 114
// Wait ( 0 0$1 ) ;
2042: LD_INT 35
2044: PPUSH
2045: CALL_OW 67
// PlaceUnitArea ( ap2 , AmericanSpawn1 , false ) ;
2049: LD_EXP 13
2053: PPUSH
2054: LD_INT 4
2056: PPUSH
2057: LD_INT 0
2059: PPUSH
2060: CALL_OW 49
// wait ( 0 0$0.3 ) ;
2064: LD_INT 10
2066: PPUSH
2067: CALL_OW 67
// comagressivemove ( ap2 , 92 , 10 ) ;
2071: LD_EXP 13
2075: PPUSH
2076: LD_INT 92
2078: PPUSH
2079: LD_INT 10
2081: PPUSH
2082: CALL_OW 114
// Wait ( 0 0$1 ) ;
2086: LD_INT 35
2088: PPUSH
2089: CALL_OW 67
// PlaceUnitArea ( ap3 , AmericanSpawn1 , false ) ;
2093: LD_EXP 14
2097: PPUSH
2098: LD_INT 4
2100: PPUSH
2101: LD_INT 0
2103: PPUSH
2104: CALL_OW 49
// wait ( 0 0$0.3 ) ;
2108: LD_INT 10
2110: PPUSH
2111: CALL_OW 67
// comagressivemove ( ap3 , 92 , 10 ) ;
2115: LD_EXP 14
2119: PPUSH
2120: LD_INT 92
2122: PPUSH
2123: LD_INT 10
2125: PPUSH
2126: CALL_OW 114
// Wait ( 0 0$1 ) ;
2130: LD_INT 35
2132: PPUSH
2133: CALL_OW 67
// PlaceUnitArea ( ap4 , AmericanSpawn1 , false ) ;
2137: LD_EXP 15
2141: PPUSH
2142: LD_INT 4
2144: PPUSH
2145: LD_INT 0
2147: PPUSH
2148: CALL_OW 49
// wait ( 0 0$0.3 ) ;
2152: LD_INT 10
2154: PPUSH
2155: CALL_OW 67
// comagressivemove ( ap4 , 92 , 10 ) ;
2159: LD_EXP 15
2163: PPUSH
2164: LD_INT 92
2166: PPUSH
2167: LD_INT 10
2169: PPUSH
2170: CALL_OW 114
// Wait ( 0 0$1 ) ;
2174: LD_INT 35
2176: PPUSH
2177: CALL_OW 67
// PlaceUnitArea ( ap5 , AmericanSpawn1 , false ) ;
2181: LD_EXP 16
2185: PPUSH
2186: LD_INT 4
2188: PPUSH
2189: LD_INT 0
2191: PPUSH
2192: CALL_OW 49
// wait ( 0 0$0.3 ) ;
2196: LD_INT 10
2198: PPUSH
2199: CALL_OW 67
// comagressivemove ( ap5 , 92 , 10 ) ;
2203: LD_EXP 16
2207: PPUSH
2208: LD_INT 92
2210: PPUSH
2211: LD_INT 10
2213: PPUSH
2214: CALL_OW 114
// Wait ( 0 0$1 ) ;
2218: LD_INT 35
2220: PPUSH
2221: CALL_OW 67
// PlaceUnitArea ( ap6 , AmericanSpawn1 , false ) ;
2225: LD_EXP 17
2229: PPUSH
2230: LD_INT 4
2232: PPUSH
2233: LD_INT 0
2235: PPUSH
2236: CALL_OW 49
// wait ( 0 0$0.3 ) ;
2240: LD_INT 10
2242: PPUSH
2243: CALL_OW 67
// comagressivemove ( ap6 , 92 , 10 ) ;
2247: LD_EXP 17
2251: PPUSH
2252: LD_INT 92
2254: PPUSH
2255: LD_INT 10
2257: PPUSH
2258: CALL_OW 114
// Wait ( 0 0$1 ) ;
2262: LD_INT 35
2264: PPUSH
2265: CALL_OW 67
// PlaceUnitArea ( ap7 , AmericanSpawn1 , false ) ;
2269: LD_EXP 18
2273: PPUSH
2274: LD_INT 4
2276: PPUSH
2277: LD_INT 0
2279: PPUSH
2280: CALL_OW 49
// wait ( 0 0$0.3 ) ;
2284: LD_INT 10
2286: PPUSH
2287: CALL_OW 67
// comagressivemove ( ap7 , 92 , 10 ) ;
2291: LD_EXP 18
2295: PPUSH
2296: LD_INT 92
2298: PPUSH
2299: LD_INT 10
2301: PPUSH
2302: CALL_OW 114
// Wait ( 0 0$1 ) ;
2306: LD_INT 35
2308: PPUSH
2309: CALL_OW 67
// AmList = FilterAllUnits ( [ [ f_side , 8 ] , [ f_control , 3 ] ] ) ;
2313: LD_ADDR_LOC 3
2317: PUSH
2318: LD_INT 22
2320: PUSH
2321: LD_INT 8
2323: PUSH
2324: EMPTY
2325: LIST
2326: LIST
2327: PUSH
2328: LD_INT 33
2330: PUSH
2331: LD_INT 3
2333: PUSH
2334: EMPTY
2335: LIST
2336: LIST
2337: PUSH
2338: EMPTY
2339: LIST
2340: LIST
2341: PPUSH
2342: CALL_OW 69
2346: ST_TO_ADDR
// for AmUnit in AmList do
2347: LD_ADDR_LOC 4
2351: PUSH
2352: LD_LOC 3
2356: PUSH
2357: FOR_IN
2358: IFFALSE 2403
// if not AmUnit = Greene then
2360: LD_LOC 4
2364: PUSH
2365: LD_INT 2
2367: EQUAL
2368: NOT
2369: IFFALSE 2401
// begin AddComAgressiveMove ( AmUnit , 22 , 16 ) ;
2371: LD_LOC 4
2375: PPUSH
2376: LD_INT 22
2378: PPUSH
2379: LD_INT 16
2381: PPUSH
2382: CALL_OW 174
// AddComAgressiveMove ( AmUnit , 22 , 16 ) ;
2386: LD_LOC 4
2390: PPUSH
2391: LD_INT 22
2393: PPUSH
2394: LD_INT 16
2396: PPUSH
2397: CALL_OW 174
// end ;
2401: GO 2357
2403: POP
2404: POP
// end ;
2405: LD_VAR 0 1
2409: RET
// export hg5 , hg6 , hg7 , hg8 , hg9 , hg10 ; export function ruattack ; begin
2410: LD_INT 0
2412: PPUSH
// uc_side = 3 ;
2413: LD_ADDR_OWVAR 20
2417: PUSH
2418: LD_INT 3
2420: ST_TO_ADDR
// uc_direction = 1 ;
2421: LD_ADDR_OWVAR 24
2425: PUSH
2426: LD_INT 1
2428: ST_TO_ADDR
// uc_nation = nation_russian ;
2429: LD_ADDR_OWVAR 21
2433: PUSH
2434: LD_INT 3
2436: ST_TO_ADDR
// vc_chassis = ru_heavy_tracked ;
2437: LD_ADDR_OWVAR 37
2441: PUSH
2442: LD_INT 24
2444: ST_TO_ADDR
// vc_engine = engine_siberite ;
2445: LD_ADDR_OWVAR 39
2449: PUSH
2450: LD_INT 3
2452: ST_TO_ADDR
// vc_control = control_computer ;
2453: LD_ADDR_OWVAR 38
2457: PUSH
2458: LD_INT 3
2460: ST_TO_ADDR
// vc_weapon = ru_heavy_gun ;
2461: LD_ADDR_OWVAR 40
2465: PUSH
2466: LD_INT 46
2468: ST_TO_ADDR
// hg5 = CreateVehicle ;
2469: LD_ADDR_EXP 19
2473: PUSH
2474: CALL_OW 45
2478: ST_TO_ADDR
// hg6 = CreateVehicle ;
2479: LD_ADDR_EXP 20
2483: PUSH
2484: CALL_OW 45
2488: ST_TO_ADDR
// hg7 = CreateVehicle ;
2489: LD_ADDR_EXP 21
2493: PUSH
2494: CALL_OW 45
2498: ST_TO_ADDR
// PlaceUnitArea ( hg5 , sojuszru , false ) ;
2499: LD_EXP 19
2503: PPUSH
2504: LD_INT 5
2506: PPUSH
2507: LD_INT 0
2509: PPUSH
2510: CALL_OW 49
// wait ( 0 0$0.3 ) ;
2514: LD_INT 10
2516: PPUSH
2517: CALL_OW 67
// comagressivemove ( hg5 , 92 , 10 ) ;
2521: LD_EXP 19
2525: PPUSH
2526: LD_INT 92
2528: PPUSH
2529: LD_INT 10
2531: PPUSH
2532: CALL_OW 114
// Wait ( 0 0$1 ) ;
2536: LD_INT 35
2538: PPUSH
2539: CALL_OW 67
// PlaceUnitArea ( hg6 , sojuszru , false ) ;
2543: LD_EXP 20
2547: PPUSH
2548: LD_INT 5
2550: PPUSH
2551: LD_INT 0
2553: PPUSH
2554: CALL_OW 49
// wait ( 0 0$0.3 ) ;
2558: LD_INT 10
2560: PPUSH
2561: CALL_OW 67
// comagressivemove ( hg6 , 92 , 10 ) ;
2565: LD_EXP 20
2569: PPUSH
2570: LD_INT 92
2572: PPUSH
2573: LD_INT 10
2575: PPUSH
2576: CALL_OW 114
// Wait ( 0 0$1 ) ;
2580: LD_INT 35
2582: PPUSH
2583: CALL_OW 67
// PlaceUnitArea ( hg7 , sojuszru , false ) ;
2587: LD_EXP 21
2591: PPUSH
2592: LD_INT 5
2594: PPUSH
2595: LD_INT 0
2597: PPUSH
2598: CALL_OW 49
// wait ( 0 0$0.3 ) ;
2602: LD_INT 10
2604: PPUSH
2605: CALL_OW 67
// comagressivemove ( hg7 , 92 , 10 ) ;
2609: LD_EXP 21
2613: PPUSH
2614: LD_INT 92
2616: PPUSH
2617: LD_INT 10
2619: PPUSH
2620: CALL_OW 114
// Wait ( 0 0$1 ) ;
2624: LD_INT 35
2626: PPUSH
2627: CALL_OW 67
// vc_weapon = ru_rocket_launcher ;
2631: LD_ADDR_OWVAR 40
2635: PUSH
2636: LD_INT 45
2638: ST_TO_ADDR
// uc_side = 3 ;
2639: LD_ADDR_OWVAR 20
2643: PUSH
2644: LD_INT 3
2646: ST_TO_ADDR
// hg8 = CreateVehicle ;
2647: LD_ADDR_EXP 22
2651: PUSH
2652: CALL_OW 45
2656: ST_TO_ADDR
// hg9 = CreateVehicle ;
2657: LD_ADDR_EXP 23
2661: PUSH
2662: CALL_OW 45
2666: ST_TO_ADDR
// hg10 = CreateVehicle ;
2667: LD_ADDR_EXP 24
2671: PUSH
2672: CALL_OW 45
2676: ST_TO_ADDR
// wait ( 0 0$1 ) ;
2677: LD_INT 35
2679: PPUSH
2680: CALL_OW 67
// PlaceUnitArea ( hg8 , sojuszru , false ) ;
2684: LD_EXP 22
2688: PPUSH
2689: LD_INT 5
2691: PPUSH
2692: LD_INT 0
2694: PPUSH
2695: CALL_OW 49
// wait ( 0 0$0.3 ) ;
2699: LD_INT 10
2701: PPUSH
2702: CALL_OW 67
// comagressivemove ( [ hg8 ] , 92 , 10 ) ;
2706: LD_EXP 22
2710: PUSH
2711: EMPTY
2712: LIST
2713: PPUSH
2714: LD_INT 92
2716: PPUSH
2717: LD_INT 10
2719: PPUSH
2720: CALL_OW 114
// Wait ( 0 0$1 ) ;
2724: LD_INT 35
2726: PPUSH
2727: CALL_OW 67
// PlaceUnitArea ( hg9 , sojuszru , false ) ;
2731: LD_EXP 23
2735: PPUSH
2736: LD_INT 5
2738: PPUSH
2739: LD_INT 0
2741: PPUSH
2742: CALL_OW 49
// wait ( 0 0$0.3 ) ;
2746: LD_INT 10
2748: PPUSH
2749: CALL_OW 67
// comagressivemove ( hg9 , 92 , 10 ) ;
2753: LD_EXP 23
2757: PPUSH
2758: LD_INT 92
2760: PPUSH
2761: LD_INT 10
2763: PPUSH
2764: CALL_OW 114
// Wait ( 0 0$1 ) ;
2768: LD_INT 35
2770: PPUSH
2771: CALL_OW 67
// PlaceUnitArea ( hg10 , sojuszru , false ) ;
2775: LD_EXP 24
2779: PPUSH
2780: LD_INT 5
2782: PPUSH
2783: LD_INT 0
2785: PPUSH
2786: CALL_OW 49
// wait ( 0 0$0.3 ) ;
2790: LD_INT 10
2792: PPUSH
2793: CALL_OW 67
// comagressivemove ( hg10 , 92 , 10 ) ;
2797: LD_EXP 24
2801: PPUSH
2802: LD_INT 92
2804: PPUSH
2805: LD_INT 10
2807: PPUSH
2808: CALL_OW 114
// Wait ( 0 0$1 ) ;
2812: LD_INT 35
2814: PPUSH
2815: CALL_OW 67
// RuList = FilterAllUnits ( [ [ f_side , 3 ] , [ f_control , 3 ] ] ) ;
2819: LD_ADDR_LOC 5
2823: PUSH
2824: LD_INT 22
2826: PUSH
2827: LD_INT 3
2829: PUSH
2830: EMPTY
2831: LIST
2832: LIST
2833: PUSH
2834: LD_INT 33
2836: PUSH
2837: LD_INT 3
2839: PUSH
2840: EMPTY
2841: LIST
2842: LIST
2843: PUSH
2844: EMPTY
2845: LIST
2846: LIST
2847: PPUSH
2848: CALL_OW 69
2852: ST_TO_ADDR
// for RuUnit in RuList do
2853: LD_ADDR_LOC 6
2857: PUSH
2858: LD_LOC 5
2862: PUSH
2863: FOR_IN
2864: IFFALSE 2909
// if not Greene = RuUnit then
2866: LD_INT 2
2868: PUSH
2869: LD_LOC 6
2873: EQUAL
2874: NOT
2875: IFFALSE 2907
// begin AddComAgressiveMove ( RuUnit , 92 , 10 ) ;
2877: LD_LOC 6
2881: PPUSH
2882: LD_INT 92
2884: PPUSH
2885: LD_INT 10
2887: PPUSH
2888: CALL_OW 174
// AddComAgressiveMove ( RuUnit , 154 , 13 ) ;
2892: LD_LOC 6
2896: PPUSH
2897: LD_INT 154
2899: PPUSH
2900: LD_INT 13
2902: PPUSH
2903: CALL_OW 174
// end ;
2907: GO 2863
2909: POP
2910: POP
// end ;
2911: LD_VAR 0 1
2915: RET
// every 3 3$30 trigger enemyattack = 1 do
2916: LD_EXP 1
2920: PUSH
2921: LD_INT 1
2923: EQUAL
2924: IFFALSE 2945
2926: GO 2928
2928: DISABLE
// begin enable ;
2929: ENABLE
// RuAttack ;
2930: CALL 2410 0 0
// wait ( 0 0$5 ) ;
2934: LD_INT 175
2936: PPUSH
2937: CALL_OW 67
// AmericanAttack1 ;
2941: CALL 1806 0 0
// end ; end_of_file
2945: END
// export function TotalConversion ; begin
2946: LD_INT 0
2948: PPUSH
// Setside ( filterAllUnits ( [ f_side , 4 ] ) , 8 ) ;
2949: LD_INT 22
2951: PUSH
2952: LD_INT 4
2954: PUSH
2955: EMPTY
2956: LIST
2957: LIST
2958: PPUSH
2959: CALL_OW 69
2963: PPUSH
2964: LD_INT 8
2966: PPUSH
2967: CALL_OW 235
// Setside ( filterAllUnits ( [ f_side , 6 ] ) , 4 ) ;
2971: LD_INT 22
2973: PUSH
2974: LD_INT 6
2976: PUSH
2977: EMPTY
2978: LIST
2979: LIST
2980: PPUSH
2981: CALL_OW 69
2985: PPUSH
2986: LD_INT 4
2988: PPUSH
2989: CALL_OW 235
// Setside ( [ Madison , Greene ] , 4 ) ;
2993: LD_INT 11
2995: PUSH
2996: LD_INT 2
2998: PUSH
2999: EMPTY
3000: LIST
3001: LIST
3002: PPUSH
3003: LD_INT 4
3005: PPUSH
3006: CALL_OW 235
// end ;
3010: LD_VAR 0 1
3014: RET
// var ApeList , CountMe ; function CountApes ; begin
3015: LD_INT 0
3017: PPUSH
// result = 0 ;
3018: LD_ADDR_VAR 0 1
3022: PUSH
3023: LD_INT 0
3025: ST_TO_ADDR
// apeList = filterallunits ( [ f_nation , 0 ] ) ;
3026: LD_ADDR_LOC 7
3030: PUSH
3031: LD_INT 23
3033: PUSH
3034: LD_INT 0
3036: PUSH
3037: EMPTY
3038: LIST
3039: LIST
3040: PPUSH
3041: CALL_OW 69
3045: ST_TO_ADDR
// for Countme in ApeList do
3046: LD_ADDR_LOC 8
3050: PUSH
3051: LD_LOC 7
3055: PUSH
3056: FOR_IN
3057: IFFALSE 3075
// result = result + 1 ;
3059: LD_ADDR_VAR 0 1
3063: PUSH
3064: LD_VAR 0 1
3068: PUSH
3069: LD_INT 1
3071: PLUS
3072: ST_TO_ADDR
3073: GO 3056
3075: POP
3076: POP
// end ;
3077: LD_VAR 0 1
3081: RET
// var monkey , dice ; every 1 1$30 do
3082: GO 3084
3084: DISABLE
// begin enable ;
3085: ENABLE
// Randomizeall ;
3086: CALL_OW 11
// uc_nation = 0 ;
3090: LD_ADDR_OWVAR 21
3094: PUSH
3095: LD_INT 0
3097: ST_TO_ADDR
// uc_side = 0 ;
3098: LD_ADDR_OWVAR 20
3102: PUSH
3103: LD_INT 0
3105: ST_TO_ADDR
// hc_class = class_Apeman ;
3106: LD_ADDR_OWVAR 28
3110: PUSH
3111: LD_INT 12
3113: ST_TO_ADDR
// monkey = createHuman ( ) ;
3114: LD_ADDR_LOC 9
3118: PUSH
3119: CALL_OW 44
3123: ST_TO_ADDR
// dice = rand ( difficulty , 10 ) ;
3124: LD_ADDR_LOC 10
3128: PUSH
3129: LD_OWVAR 67
3133: PPUSH
3134: LD_INT 10
3136: PPUSH
3137: CALL_OW 12
3141: ST_TO_ADDR
// if dice > CountApes then
3142: LD_LOC 10
3146: PUSH
3147: CALL 3015 0 0
3151: GREATER
3152: IFFALSE 3169
// PlaceUnitArea ( Monkey , Apespawn , false ) ;
3154: LD_LOC 9
3158: PPUSH
3159: LD_INT 6
3161: PPUSH
3162: LD_INT 0
3164: PPUSH
3165: CALL_OW 49
// end ; end_of_file
3169: END
// var list , unitsInList , List1 , List2 , List3 , List4 , List5 ; every 0 0$03 do
3170: GO 3172
3172: DISABLE
// begin enable ;
3173: ENABLE
// List = FilterAllUnits ( [ [ f_side , 0 ] , [ f_control , 3 ] ] ) ;
3174: LD_ADDR_LOC 11
3178: PUSH
3179: LD_INT 22
3181: PUSH
3182: LD_INT 0
3184: PUSH
3185: EMPTY
3186: LIST
3187: LIST
3188: PUSH
3189: LD_INT 33
3191: PUSH
3192: LD_INT 3
3194: PUSH
3195: EMPTY
3196: LIST
3197: LIST
3198: PUSH
3199: EMPTY
3200: LIST
3201: LIST
3202: PPUSH
3203: CALL_OW 69
3207: ST_TO_ADDR
// for UnitsInList in list do
3208: LD_ADDR_LOC 12
3212: PUSH
3213: LD_LOC 11
3217: PUSH
3218: FOR_IN
3219: IFFALSE 3232
// KillUnit ( UnitsInList ) ;
3221: LD_LOC 12
3225: PPUSH
3226: CALL_OW 66
3230: GO 3218
3232: POP
3233: POP
// List = FilterAllUnits ( [ [ f_side , 8 ] , [ f_control , 3 ] ] ) ;
3234: LD_ADDR_LOC 11
3238: PUSH
3239: LD_INT 22
3241: PUSH
3242: LD_INT 8
3244: PUSH
3245: EMPTY
3246: LIST
3247: LIST
3248: PUSH
3249: LD_INT 33
3251: PUSH
3252: LD_INT 3
3254: PUSH
3255: EMPTY
3256: LIST
3257: LIST
3258: PUSH
3259: EMPTY
3260: LIST
3261: LIST
3262: PPUSH
3263: CALL_OW 69
3267: ST_TO_ADDR
// for UnitsInList in list do
3268: LD_ADDR_LOC 12
3272: PUSH
3273: LD_LOC 11
3277: PUSH
3278: FOR_IN
3279: IFFALSE 3295
// PriorityAttack ( 3 , UnitsInList ) ;
3281: LD_INT 3
3283: PPUSH
3284: LD_LOC 12
3288: PPUSH
3289: CALL_OW 470
3293: GO 3278
3295: POP
3296: POP
// List = FilterAllUnits ( [ [ f_side , 3 ] , [ f_control , 3 ] ] ) ;
3297: LD_ADDR_LOC 11
3301: PUSH
3302: LD_INT 22
3304: PUSH
3305: LD_INT 3
3307: PUSH
3308: EMPTY
3309: LIST
3310: LIST
3311: PUSH
3312: LD_INT 33
3314: PUSH
3315: LD_INT 3
3317: PUSH
3318: EMPTY
3319: LIST
3320: LIST
3321: PUSH
3322: EMPTY
3323: LIST
3324: LIST
3325: PPUSH
3326: CALL_OW 69
3330: ST_TO_ADDR
// for UnitsInList in list do
3331: LD_ADDR_LOC 12
3335: PUSH
3336: LD_LOC 11
3340: PUSH
3341: FOR_IN
3342: IFFALSE 3358
// PriorityAttack ( 8 , UnitsInList ) ;
3344: LD_INT 8
3346: PPUSH
3347: LD_LOC 12
3351: PPUSH
3352: CALL_OW 470
3356: GO 3341
3358: POP
3359: POP
// end ;
3360: END
// every 0 0$20 trigger enemyattack = 1 do
3361: LD_EXP 1
3365: PUSH
3366: LD_INT 1
3368: EQUAL
3369: IFFALSE 3698
3371: GO 3373
3373: DISABLE
// begin enable ;
3374: ENABLE
// List1 = FilterAllUnits ( [ [ f_side , 8 ] , [ f_control , control_computer ] ] ) ;
3375: LD_ADDR_LOC 13
3379: PUSH
3380: LD_INT 22
3382: PUSH
3383: LD_INT 8
3385: PUSH
3386: EMPTY
3387: LIST
3388: LIST
3389: PUSH
3390: LD_INT 33
3392: PUSH
3393: LD_INT 3
3395: PUSH
3396: EMPTY
3397: LIST
3398: LIST
3399: PUSH
3400: EMPTY
3401: LIST
3402: LIST
3403: PPUSH
3404: CALL_OW 69
3408: ST_TO_ADDR
// for List5 in List1 do
3409: LD_ADDR_LOC 17
3413: PUSH
3414: LD_LOC 13
3418: PUSH
3419: FOR_IN
3420: IFFALSE 3450
// if not List5 = Greene then
3422: LD_LOC 17
3426: PUSH
3427: LD_INT 2
3429: EQUAL
3430: NOT
3431: IFFALSE 3448
// AddComAgressiveMove ( List5 , 22 , 16 ) ;
3433: LD_LOC 17
3437: PPUSH
3438: LD_INT 22
3440: PPUSH
3441: LD_INT 16
3443: PPUSH
3444: CALL_OW 174
3448: GO 3419
3450: POP
3451: POP
// for List3 in List1 do
3452: LD_ADDR_LOC 15
3456: PUSH
3457: LD_LOC 13
3461: PUSH
3462: FOR_IN
3463: IFFALSE 3526
// begin if not List3 = Greene then
3465: LD_LOC 15
3469: PUSH
3470: LD_INT 2
3472: EQUAL
3473: NOT
3474: IFFALSE 3494
// AddComAgressiveMove ( [ UnitsInList ] , 22 , 16 ) ;
3476: LD_LOC 12
3480: PUSH
3481: EMPTY
3482: LIST
3483: PPUSH
3484: LD_INT 22
3486: PPUSH
3487: LD_INT 16
3489: PPUSH
3490: CALL_OW 174
// if debug = 1 and List3 = Greene then
3494: LD_EXP 3
3498: PUSH
3499: LD_INT 1
3501: EQUAL
3502: PUSH
3503: LD_LOC 15
3507: PUSH
3508: LD_INT 2
3510: EQUAL
3511: AND
3512: IFFALSE 3524
// say ( Greene , Debug-PENIS-2 ) ;
3514: LD_INT 2
3516: PPUSH
3517: LD_STRING Debug-PENIS-2
3519: PPUSH
3520: CALL_OW 88
// end ;
3524: GO 3462
3526: POP
3527: POP
// wait ( 0 0$05 ) ;
3528: LD_INT 175
3530: PPUSH
3531: CALL_OW 67
// List2 = FilterAllUnits ( [ [ f_side , 3 ] , [ f_control , 3 ] ] ) ;
3535: LD_ADDR_LOC 14
3539: PUSH
3540: LD_INT 22
3542: PUSH
3543: LD_INT 3
3545: PUSH
3546: EMPTY
3547: LIST
3548: LIST
3549: PUSH
3550: LD_INT 33
3552: PUSH
3553: LD_INT 3
3555: PUSH
3556: EMPTY
3557: LIST
3558: LIST
3559: PUSH
3560: EMPTY
3561: LIST
3562: LIST
3563: PPUSH
3564: CALL_OW 69
3568: ST_TO_ADDR
// for List5 in List2 do
3569: LD_ADDR_LOC 17
3573: PUSH
3574: LD_LOC 14
3578: PUSH
3579: FOR_IN
3580: IFFALSE 3613
// if not List5 = Greene then
3582: LD_LOC 17
3586: PUSH
3587: LD_INT 2
3589: EQUAL
3590: NOT
3591: IFFALSE 3611
// Addcomagressivemove ( [ List2 ] , 154 , 13 ) ;
3593: LD_LOC 14
3597: PUSH
3598: EMPTY
3599: LIST
3600: PPUSH
3601: LD_INT 154
3603: PPUSH
3604: LD_INT 13
3606: PPUSH
3607: CALL_OW 174
3611: GO 3579
3613: POP
3614: POP
// wait ( 0 0$1 ) ;
3615: LD_INT 35
3617: PPUSH
3618: CALL_OW 67
// for List4 in list2 do
3622: LD_ADDR_LOC 16
3626: PUSH
3627: LD_LOC 14
3631: PUSH
3632: FOR_IN
3633: IFFALSE 3696
// begin if not List4 = Greene then
3635: LD_LOC 16
3639: PUSH
3640: LD_INT 2
3642: EQUAL
3643: NOT
3644: IFFALSE 3664
// Addcomagressivemove ( [ List4 ] , 154 , 13 ) ;
3646: LD_LOC 16
3650: PUSH
3651: EMPTY
3652: LIST
3653: PPUSH
3654: LD_INT 154
3656: PPUSH
3657: LD_INT 13
3659: PPUSH
3660: CALL_OW 174
// if debug = 1 and List4 = Greene then
3664: LD_EXP 3
3668: PUSH
3669: LD_INT 1
3671: EQUAL
3672: PUSH
3673: LD_LOC 16
3677: PUSH
3678: LD_INT 2
3680: EQUAL
3681: AND
3682: IFFALSE 3694
// say ( Greene , Debug-List-2 ) ;
3684: LD_INT 2
3686: PPUSH
3687: LD_STRING Debug-List-2
3689: PPUSH
3690: CALL_OW 88
// end ;
3694: GO 3632
3696: POP
3697: POP
// end ;
3698: END
// every 1 1$00 do
3699: GO 3701
3701: DISABLE
// begin AddComResearch ( Al , tech_Tech1 ) ;
3702: LD_INT 665
3704: PPUSH
3705: LD_INT 48
3707: PPUSH
3708: CALL_OW 184
// AddComResearch ( Al , tech_Tech2 ) ;
3712: LD_INT 665
3714: PPUSH
3715: LD_INT 49
3717: PPUSH
3718: CALL_OW 184
// AddComResearch ( Al , tech_Tech3 ) ;
3722: LD_INT 665
3724: PPUSH
3725: LD_INT 50
3727: PPUSH
3728: CALL_OW 184
// end ;
3732: END
// every 5 5$00 do
3733: GO 3735
3735: DISABLE
// begin AddComResearch ( Al , tech_Weap1 ) ;
3736: LD_INT 665
3738: PPUSH
3739: LD_INT 51
3741: PPUSH
3742: CALL_OW 184
// AddComResearch ( RL , tech_Comp1 ) ;
3746: LD_INT 130
3748: PPUSH
3749: LD_INT 57
3751: PPUSH
3752: CALL_OW 184
// end ;
3756: END
// every 10 10$00 do
3757: GO 3759
3759: DISABLE
// begin AddComResearch ( Al , tech_Weap2 ) ;
3760: LD_INT 665
3762: PPUSH
3763: LD_INT 52
3765: PPUSH
3766: CALL_OW 184
// AddComResearch ( RL , tech_Comp2 ) ;
3770: LD_INT 130
3772: PPUSH
3773: LD_INT 58
3775: PPUSH
3776: CALL_OW 184
// end ;
3780: END
// every 15 15$00 do
3781: GO 3783
3783: DISABLE
// begin AddComResearch ( Al , tech_Weap3 ) ;
3784: LD_INT 665
3786: PPUSH
3787: LD_INT 53
3789: PPUSH
3790: CALL_OW 184
// AddComResearch ( RL , tech_Comp3 ) ;
3794: LD_INT 130
3796: PPUSH
3797: LD_INT 59
3799: PPUSH
3800: CALL_OW 184
// end ;
3804: END
// every 30 30$00 do
3805: GO 3807
3807: DISABLE
// begin AddComResearch ( Al , tech_Comp1 ) ;
3808: LD_INT 665
3810: PPUSH
3811: LD_INT 57
3813: PPUSH
3814: CALL_OW 184
// AddComResearch ( Al , tech_Comp2 ) ;
3818: LD_INT 665
3820: PPUSH
3821: LD_INT 58
3823: PPUSH
3824: CALL_OW 184
// AddComResearch ( Al , tech_Comp3 ) ;
3828: LD_INT 665
3830: PPUSH
3831: LD_INT 59
3833: PPUSH
3834: CALL_OW 184
// AddComResearch ( RL , tech_Weap1 ) ;
3838: LD_INT 130
3840: PPUSH
3841: LD_INT 51
3843: PPUSH
3844: CALL_OW 184
// AddComResearch ( RL , tech_Weap2 ) ;
3848: LD_INT 130
3850: PPUSH
3851: LD_INT 52
3853: PPUSH
3854: CALL_OW 184
// AddComResearch ( RL , tech_Weap3 ) ;
3858: LD_INT 130
3860: PPUSH
3861: LD_INT 53
3863: PPUSH
3864: CALL_OW 184
// end ; end_of_file
3868: END
// var List , UnitsInList , RuSeen ; on UnitGoesToRed ( un ) do begin if un = dowodca2 then
3869: LD_VAR 0 1
3873: PUSH
3874: LD_INT 1122
3876: EQUAL
3877: IFFALSE 3979
// begin RuEvac = 1 ;
3879: LD_ADDR_EXP 2
3883: PUSH
3884: LD_INT 1
3886: ST_TO_ADDR
// EnemyAttack = 2 ;
3887: LD_ADDR_EXP 1
3891: PUSH
3892: LD_INT 2
3894: ST_TO_ADDR
// Say ( FirstOf ( FilterAllUnits ( [ [ f_side , 3 ] , [ f_ok ] , ] ) ) , RuEvac ) ;
3895: LD_INT 22
3897: PUSH
3898: LD_INT 3
3900: PUSH
3901: EMPTY
3902: LIST
3903: LIST
3904: PUSH
3905: LD_INT 50
3907: PUSH
3908: EMPTY
3909: LIST
3910: PUSH
3911: EMPTY
3912: LIST
3913: LIST
3914: PPUSH
3915: CALL_OW 69
3919: PPUSH
3920: CALL 5565 0 1
3924: PPUSH
3925: LD_STRING RuEvac
3927: PPUSH
3928: CALL_OW 88
// ComExitBuilding ( [ FilterAllUnits ( [ f_side , 3 ] ) ] ) ;
3932: LD_INT 22
3934: PUSH
3935: LD_INT 3
3937: PUSH
3938: EMPTY
3939: LIST
3940: LIST
3941: PPUSH
3942: CALL_OW 69
3946: PUSH
3947: EMPTY
3948: LIST
3949: PPUSH
3950: CALL_OW 122
// AddComMoveToArea ( [ FilterAllUnits ( [ f_side , 3 ] ) ] , RuEvacZone ) ;
3954: LD_INT 22
3956: PUSH
3957: LD_INT 3
3959: PUSH
3960: EMPTY
3961: LIST
3962: LIST
3963: PPUSH
3964: CALL_OW 69
3968: PUSH
3969: EMPTY
3970: LIST
3971: PPUSH
3972: LD_INT 10
3974: PPUSH
3975: CALL_OW 173
// end ; end ;
3979: PPOPN 1
3981: END
// function RuSpotted ( ) ; begin
3982: LD_INT 0
3984: PPUSH
// result = 0 ;
3985: LD_ADDR_VAR 0 1
3989: PUSH
3990: LD_INT 0
3992: ST_TO_ADDR
// List = FilterAllUnits ( [ [ f_side , 3 ] , [ f_ok ] , [ f_or , [ f_sex , 1 ] , [ f_sex , 2 ] ] ] ) ;
3993: LD_ADDR_LOC 18
3997: PUSH
3998: LD_INT 22
4000: PUSH
4001: LD_INT 3
4003: PUSH
4004: EMPTY
4005: LIST
4006: LIST
4007: PUSH
4008: LD_INT 50
4010: PUSH
4011: EMPTY
4012: LIST
4013: PUSH
4014: LD_INT 2
4016: PUSH
4017: LD_INT 26
4019: PUSH
4020: LD_INT 1
4022: PUSH
4023: EMPTY
4024: LIST
4025: LIST
4026: PUSH
4027: LD_INT 26
4029: PUSH
4030: LD_INT 2
4032: PUSH
4033: EMPTY
4034: LIST
4035: LIST
4036: PUSH
4037: EMPTY
4038: LIST
4039: LIST
4040: LIST
4041: PUSH
4042: EMPTY
4043: LIST
4044: LIST
4045: LIST
4046: PPUSH
4047: CALL_OW 69
4051: ST_TO_ADDR
// for UnitsInList in List do
4052: LD_ADDR_LOC 19
4056: PUSH
4057: LD_LOC 18
4061: PUSH
4062: FOR_IN
4063: IFFALSE 4091
// if See ( 4 , UnitsInList ) then
4065: LD_INT 4
4067: PPUSH
4068: LD_LOC 19
4072: PPUSH
4073: CALL_OW 292
4077: IFFALSE 4089
// result = UnitsInList ;
4079: LD_ADDR_VAR 0 1
4083: PUSH
4084: LD_LOC 19
4088: ST_TO_ADDR
4089: GO 4062
4091: POP
4092: POP
// RuSeen = Result ;
4093: LD_ADDR_LOC 20
4097: PUSH
4098: LD_VAR 0 1
4102: ST_TO_ADDR
// end ;
4103: LD_VAR 0 1
4107: RET
// every 0 0$01 trigger RuEvac = 1 do
4108: LD_EXP 2
4112: PUSH
4113: LD_INT 1
4115: EQUAL
4116: IFFALSE 4427
4118: GO 4120
4120: DISABLE
// begin if not RuSpotted = 0 then
4121: CALL 3982 0 0
4125: PUSH
4126: LD_INT 0
4128: EQUAL
4129: NOT
4130: IFFALSE 4427
// begin DialogueOn ;
4132: CALL_OW 6
// Say ( Dw , RuUlt1 ) ;
4136: LD_INT 347
4138: PPUSH
4139: LD_STRING RuUlt1
4141: PPUSH
4142: CALL_OW 88
// Say ( RuSeen , RuUlt2 ) ;
4146: LD_LOC 20
4150: PPUSH
4151: LD_STRING RuUlt2
4153: PPUSH
4154: CALL_OW 88
// case Query ( QRuMercy ) of 1 :
4158: LD_STRING QRuMercy
4160: PPUSH
4161: CALL_OW 97
4165: PUSH
4166: LD_INT 1
4168: DOUBLE
4169: EQUAL
4170: IFTRUE 4174
4172: GO 4411
4174: POP
// begin Say ( Madison , RuUlt3 ) ;
4175: LD_INT 11
4177: PPUSH
4178: LD_STRING RuUlt3
4180: PPUSH
4181: CALL_OW 88
// Say ( Dw , RuUlt4 ) ;
4185: LD_INT 347
4187: PPUSH
4188: LD_STRING RuUlt4
4190: PPUSH
4191: CALL_OW 88
// Say ( Madison , RuUlt5 ) ;
4195: LD_INT 11
4197: PPUSH
4198: LD_STRING RuUlt5
4200: PPUSH
4201: CALL_OW 88
// Say ( Madison , RuUlt6 ) ;
4205: LD_INT 11
4207: PPUSH
4208: LD_STRING RuUlt6
4210: PPUSH
4211: CALL_OW 88
// Say ( RuSeen , RuUlt7 ) ;
4215: LD_LOC 20
4219: PPUSH
4220: LD_STRING RuUlt7
4222: PPUSH
4223: CALL_OW 88
// Say ( Dw , RuUlt8 ) ;
4227: LD_INT 347
4229: PPUSH
4230: LD_STRING RuUlt8
4232: PPUSH
4233: CALL_OW 88
// SetSide ( FilterAllUnits ( [ f_side , 3 ] ) , 4 ) ;
4237: LD_INT 22
4239: PUSH
4240: LD_INT 3
4242: PUSH
4243: EMPTY
4244: LIST
4245: LIST
4246: PPUSH
4247: CALL_OW 69
4251: PPUSH
4252: LD_INT 4
4254: PPUSH
4255: CALL_OW 235
// ComStop ( FilterAllUnits ( [ f_side , 3 ] ) ) ;
4259: LD_INT 22
4261: PUSH
4262: LD_INT 3
4264: PUSH
4265: EMPTY
4266: LIST
4267: LIST
4268: PPUSH
4269: CALL_OW 69
4273: PPUSH
4274: CALL_OW 141
// AddComFree ( FilterAllUnits ( [ f_side , 3 ] ) ) ;
4278: LD_INT 22
4280: PUSH
4281: LD_INT 3
4283: PUSH
4284: EMPTY
4285: LIST
4286: LIST
4287: PPUSH
4288: CALL_OW 69
4292: PPUSH
4293: CALL_OW 199
// SetRestrict ( b_lab_computer , 4 , true ) ;
4297: LD_INT 12
4299: PPUSH
4300: LD_INT 4
4302: PPUSH
4303: LD_INT 1
4305: PPUSH
4306: CALL_OW 324
// SetRestrict ( b_turret , 4 , true ) ;
4310: LD_INT 33
4312: PPUSH
4313: LD_INT 4
4315: PPUSH
4316: LD_INT 1
4318: PPUSH
4319: CALL_OW 324
// SetTech ( tech_AI , 4 , 1 ) ;
4323: LD_INT 32
4325: PPUSH
4326: LD_INT 4
4328: PPUSH
4329: LD_INT 1
4331: PPUSH
4332: CALL_OW 322
// SetTech ( tech_AdvAI , 4 , 1 ) ;
4336: LD_INT 27
4338: PPUSH
4339: LD_INT 4
4341: PPUSH
4342: LD_INT 1
4344: PPUSH
4345: CALL_OW 322
// SetTech ( tech_AdvRocket , 4 , 1 ) ;
4349: LD_INT 71
4351: PPUSH
4352: LD_INT 4
4354: PPUSH
4355: LD_INT 1
4357: PPUSH
4358: CALL_OW 322
// SetTech ( tech_rocket , 4 , 1 ) ;
4362: LD_INT 40
4364: PPUSH
4365: LD_INT 4
4367: PPUSH
4368: LD_INT 1
4370: PPUSH
4371: CALL_OW 322
// SetTech ( tech_tauField , 4 , 2 ) ;
4375: LD_INT 30
4377: PPUSH
4378: LD_INT 4
4380: PPUSH
4381: LD_INT 2
4383: PPUSH
4384: CALL_OW 322
// SetTech ( tech_tauRad , 4 , 2 ) ;
4388: LD_INT 28
4390: PPUSH
4391: LD_INT 4
4393: PPUSH
4394: LD_INT 2
4396: PPUSH
4397: CALL_OW 322
// RuEvac = 0 ;
4401: LD_ADDR_EXP 2
4405: PUSH
4406: LD_INT 0
4408: ST_TO_ADDR
// end ; 2 :
4409: GO 4423
4411: LD_INT 2
4413: DOUBLE
4414: EQUAL
4415: IFTRUE 4419
4417: GO 4422
4419: POP
// begin end ; end ;
4420: GO 4423
4422: POP
// DialogueOff ;
4423: CALL_OW 7
// end ; end ;
4427: END
// every 0 0$30 trigger EnemyAttack = 2 do
4428: LD_EXP 1
4432: PUSH
4433: LD_INT 2
4435: EQUAL
4436: IFFALSE 4484
4438: GO 4440
4440: DISABLE
// begin EnemyAttack = 3 ;
4441: LD_ADDR_EXP 1
4445: PUSH
4446: LD_INT 3
4448: ST_TO_ADDR
// Say ( Dowodca1 , AmEvac ) ;
4449: LD_INT 629
4451: PPUSH
4452: LD_STRING AmEvac
4454: PPUSH
4455: CALL_OW 88
// wait ( 1 1$30 ) ;
4459: LD_INT 3150
4461: PPUSH
4462: CALL_OW 67
// Say ( Dowodca1 , AmAttack ) ;
4466: LD_INT 629
4468: PPUSH
4469: LD_STRING AmAttack
4471: PPUSH
4472: CALL_OW 88
// EnemyAttack = 4 ;
4476: LD_ADDR_EXP 1
4480: PUSH
4481: LD_INT 4
4483: ST_TO_ADDR
// end ;
4484: END
// var AmTank ; every 3 3$45 trigger enemyattack = 4 do
4485: LD_EXP 1
4489: PUSH
4490: LD_INT 4
4492: EQUAL
4493: IFFALSE 5189
4495: GO 4497
4497: DISABLE
// begin enable ;
4498: ENABLE
// uc_side = 8 ;
4499: LD_ADDR_OWVAR 20
4503: PUSH
4504: LD_INT 8
4506: ST_TO_ADDR
// uc_nation = 1 ;
4507: LD_ADDR_OWVAR 21
4511: PUSH
4512: LD_INT 1
4514: ST_TO_ADDR
// uc_direction = 3 ;
4515: LD_ADDR_OWVAR 24
4519: PUSH
4520: LD_INT 3
4522: ST_TO_ADDR
// vc_chassis = 5 ;
4523: LD_ADDR_OWVAR 37
4527: PUSH
4528: LD_INT 5
4530: ST_TO_ADDR
// vc_engine = 3 ;
4531: LD_ADDR_OWVAR 39
4535: PUSH
4536: LD_INT 3
4538: ST_TO_ADDR
// vc_control = control_computer ;
4539: LD_ADDR_OWVAR 38
4543: PUSH
4544: LD_INT 3
4546: ST_TO_ADDR
// vc_weapon = us_laser ;
4547: LD_ADDR_OWVAR 40
4551: PUSH
4552: LD_INT 9
4554: ST_TO_ADDR
// AmTank = CreateVehicle ;
4555: LD_ADDR_LOC 21
4559: PUSH
4560: CALL_OW 45
4564: ST_TO_ADDR
// PlaceUnitArea ( AmTank , AmericanSpawn1 , false ) ;
4565: LD_LOC 21
4569: PPUSH
4570: LD_INT 4
4572: PPUSH
4573: LD_INT 0
4575: PPUSH
4576: CALL_OW 49
// wait ( 0 0$0.3 ) ;
4580: LD_INT 10
4582: PPUSH
4583: CALL_OW 67
// comagressivemove ( AmTank , 144 + Rand ( - 5 , 5 ) , 43 + Rand ( - 5 , 5 ) ) ;
4587: LD_LOC 21
4591: PPUSH
4592: LD_INT 144
4594: PUSH
4595: LD_INT 5
4597: NEG
4598: PPUSH
4599: LD_INT 5
4601: PPUSH
4602: CALL_OW 12
4606: PLUS
4607: PPUSH
4608: LD_INT 43
4610: PUSH
4611: LD_INT 5
4613: NEG
4614: PPUSH
4615: LD_INT 5
4617: PPUSH
4618: CALL_OW 12
4622: PLUS
4623: PPUSH
4624: CALL_OW 114
// Wait ( 0 0$1 ) ;
4628: LD_INT 35
4630: PPUSH
4631: CALL_OW 67
// AmTank = CreateVehicle ;
4635: LD_ADDR_LOC 21
4639: PUSH
4640: CALL_OW 45
4644: ST_TO_ADDR
// PlaceUnitArea ( AmTank , AmericanSpawn1 , false ) ;
4645: LD_LOC 21
4649: PPUSH
4650: LD_INT 4
4652: PPUSH
4653: LD_INT 0
4655: PPUSH
4656: CALL_OW 49
// wait ( 0 0$0.3 ) ;
4660: LD_INT 10
4662: PPUSH
4663: CALL_OW 67
// comagressivemove ( AmTank , 144 + Rand ( - 5 , 5 ) , 43 + Rand ( - 5 , 5 ) ) ;
4667: LD_LOC 21
4671: PPUSH
4672: LD_INT 144
4674: PUSH
4675: LD_INT 5
4677: NEG
4678: PPUSH
4679: LD_INT 5
4681: PPUSH
4682: CALL_OW 12
4686: PLUS
4687: PPUSH
4688: LD_INT 43
4690: PUSH
4691: LD_INT 5
4693: NEG
4694: PPUSH
4695: LD_INT 5
4697: PPUSH
4698: CALL_OW 12
4702: PLUS
4703: PPUSH
4704: CALL_OW 114
// Wait ( 0 0$1 ) ;
4708: LD_INT 35
4710: PPUSH
4711: CALL_OW 67
// vc_weapon = [ us_laser , 6 , us_double_gun ] [ Rand ( 1 , 3 ) ] ;
4715: LD_ADDR_OWVAR 40
4719: PUSH
4720: LD_INT 9
4722: PUSH
4723: LD_INT 6
4725: PUSH
4726: LD_INT 5
4728: PUSH
4729: EMPTY
4730: LIST
4731: LIST
4732: LIST
4733: PUSH
4734: LD_INT 1
4736: PPUSH
4737: LD_INT 3
4739: PPUSH
4740: CALL_OW 12
4744: ARRAY
4745: ST_TO_ADDR
// AmTank = CreateVehicle ;
4746: LD_ADDR_LOC 21
4750: PUSH
4751: CALL_OW 45
4755: ST_TO_ADDR
// PlaceUnitArea ( AmTank , AmericanSpawn1 , false ) ;
4756: LD_LOC 21
4760: PPUSH
4761: LD_INT 4
4763: PPUSH
4764: LD_INT 0
4766: PPUSH
4767: CALL_OW 49
// wait ( 0 0$0.3 ) ;
4771: LD_INT 10
4773: PPUSH
4774: CALL_OW 67
// comagressivemove ( AmTank , 144 + Rand ( - 5 , 5 ) , 43 + Rand ( - 5 , 5 ) ) ;
4778: LD_LOC 21
4782: PPUSH
4783: LD_INT 144
4785: PUSH
4786: LD_INT 5
4788: NEG
4789: PPUSH
4790: LD_INT 5
4792: PPUSH
4793: CALL_OW 12
4797: PLUS
4798: PPUSH
4799: LD_INT 43
4801: PUSH
4802: LD_INT 5
4804: NEG
4805: PPUSH
4806: LD_INT 5
4808: PPUSH
4809: CALL_OW 12
4813: PLUS
4814: PPUSH
4815: CALL_OW 114
// Wait ( 0 0$1 ) ;
4819: LD_INT 35
4821: PPUSH
4822: CALL_OW 67
// vc_weapon = [ us_laser , us_gatling_gun , us_double_gun ] [ Rand ( 1 , 3 ) ] ;
4826: LD_ADDR_OWVAR 40
4830: PUSH
4831: LD_INT 9
4833: PUSH
4834: LD_INT 4
4836: PUSH
4837: LD_INT 5
4839: PUSH
4840: EMPTY
4841: LIST
4842: LIST
4843: LIST
4844: PUSH
4845: LD_INT 1
4847: PPUSH
4848: LD_INT 3
4850: PPUSH
4851: CALL_OW 12
4855: ARRAY
4856: ST_TO_ADDR
// AmTank = CreateVehicle ;
4857: LD_ADDR_LOC 21
4861: PUSH
4862: CALL_OW 45
4866: ST_TO_ADDR
// PlaceUnitArea ( AmTank , AmericanSpawn1 , false ) ;
4867: LD_LOC 21
4871: PPUSH
4872: LD_INT 4
4874: PPUSH
4875: LD_INT 0
4877: PPUSH
4878: CALL_OW 49
// wait ( 0 0$0.3 ) ;
4882: LD_INT 10
4884: PPUSH
4885: CALL_OW 67
// comagressivemove ( AmTank , 144 + Rand ( - 5 , 5 ) , 43 + Rand ( - 5 , 5 ) ) ;
4889: LD_LOC 21
4893: PPUSH
4894: LD_INT 144
4896: PUSH
4897: LD_INT 5
4899: NEG
4900: PPUSH
4901: LD_INT 5
4903: PPUSH
4904: CALL_OW 12
4908: PLUS
4909: PPUSH
4910: LD_INT 43
4912: PUSH
4913: LD_INT 5
4915: NEG
4916: PPUSH
4917: LD_INT 5
4919: PPUSH
4920: CALL_OW 12
4924: PLUS
4925: PPUSH
4926: CALL_OW 114
// Wait ( 0 0$1 ) ;
4930: LD_INT 35
4932: PPUSH
4933: CALL_OW 67
// vc_weapon = 6 ;
4937: LD_ADDR_OWVAR 40
4941: PUSH
4942: LD_INT 6
4944: ST_TO_ADDR
// AmTank = CreateVehicle ;
4945: LD_ADDR_LOC 21
4949: PUSH
4950: CALL_OW 45
4954: ST_TO_ADDR
// PlaceUnitArea ( AmTank , AmericanSpawn1 , false ) ;
4955: LD_LOC 21
4959: PPUSH
4960: LD_INT 4
4962: PPUSH
4963: LD_INT 0
4965: PPUSH
4966: CALL_OW 49
// wait ( 0 0$0.3 ) ;
4970: LD_INT 10
4972: PPUSH
4973: CALL_OW 67
// comagressivemove ( AmTank , 144 + Rand ( - 5 , 5 ) , 43 + Rand ( - 5 , 5 ) ) ;
4977: LD_LOC 21
4981: PPUSH
4982: LD_INT 144
4984: PUSH
4985: LD_INT 5
4987: NEG
4988: PPUSH
4989: LD_INT 5
4991: PPUSH
4992: CALL_OW 12
4996: PLUS
4997: PPUSH
4998: LD_INT 43
5000: PUSH
5001: LD_INT 5
5003: NEG
5004: PPUSH
5005: LD_INT 5
5007: PPUSH
5008: CALL_OW 12
5012: PLUS
5013: PPUSH
5014: CALL_OW 114
// Wait ( 0 0$1 ) ;
5018: LD_INT 35
5020: PPUSH
5021: CALL_OW 67
// AmTank = CreateVehicle ;
5025: LD_ADDR_LOC 21
5029: PUSH
5030: CALL_OW 45
5034: ST_TO_ADDR
// PlaceUnitArea ( AmTank , AmericanSpawn1 , false ) ;
5035: LD_LOC 21
5039: PPUSH
5040: LD_INT 4
5042: PPUSH
5043: LD_INT 0
5045: PPUSH
5046: CALL_OW 49
// wait ( 0 0$0.3 ) ;
5050: LD_INT 10
5052: PPUSH
5053: CALL_OW 67
// comagressivemove ( AmTank , 144 + Rand ( - 5 , 5 ) , 43 + Rand ( - 5 , 5 ) ) ;
5057: LD_LOC 21
5061: PPUSH
5062: LD_INT 144
5064: PUSH
5065: LD_INT 5
5067: NEG
5068: PPUSH
5069: LD_INT 5
5071: PPUSH
5072: CALL_OW 12
5076: PLUS
5077: PPUSH
5078: LD_INT 43
5080: PUSH
5081: LD_INT 5
5083: NEG
5084: PPUSH
5085: LD_INT 5
5087: PPUSH
5088: CALL_OW 12
5092: PLUS
5093: PPUSH
5094: CALL_OW 114
// Wait ( 0 0$1 ) ;
5098: LD_INT 35
5100: PPUSH
5101: CALL_OW 67
// AmTank = CreateVehicle ;
5105: LD_ADDR_LOC 21
5109: PUSH
5110: CALL_OW 45
5114: ST_TO_ADDR
// PlaceUnitArea ( AmTank , AmericanSpawn1 , false ) ;
5115: LD_LOC 21
5119: PPUSH
5120: LD_INT 4
5122: PPUSH
5123: LD_INT 0
5125: PPUSH
5126: CALL_OW 49
// wait ( 0 0$0.3 ) ;
5130: LD_INT 10
5132: PPUSH
5133: CALL_OW 67
// comagressivemove ( AmTank , 144 + Rand ( - 5 , 5 ) , 43 + Rand ( - 5 , 5 ) ) ;
5137: LD_LOC 21
5141: PPUSH
5142: LD_INT 144
5144: PUSH
5145: LD_INT 5
5147: NEG
5148: PPUSH
5149: LD_INT 5
5151: PPUSH
5152: CALL_OW 12
5156: PLUS
5157: PPUSH
5158: LD_INT 43
5160: PUSH
5161: LD_INT 5
5163: NEG
5164: PPUSH
5165: LD_INT 5
5167: PPUSH
5168: CALL_OW 12
5172: PLUS
5173: PPUSH
5174: CALL_OW 114
// Wait ( 0 0$1 ) ;
5178: LD_INT 35
5180: PPUSH
5181: CALL_OW 67
// AmAttack2 ( ) ;
5185: CALL 5190 0 0
// end ;
5189: END
// var AmAttackers , AmAttacker ; function AmAttack2 ( ) ; begin
5190: LD_INT 0
5192: PPUSH
// AmAttackers = FilterAllUnits ( [ [ f_side , 8 ] , [ f_control , 3 ] , [ f_or , [ f_weapon , 6 ] , [ f_weapon , 5 ] , [ f_weapon , 9 ] , [ f_weapon , 4 ] ] ] ) ;
5193: LD_ADDR_LOC 22
5197: PUSH
5198: LD_INT 22
5200: PUSH
5201: LD_INT 8
5203: PUSH
5204: EMPTY
5205: LIST
5206: LIST
5207: PUSH
5208: LD_INT 33
5210: PUSH
5211: LD_INT 3
5213: PUSH
5214: EMPTY
5215: LIST
5216: LIST
5217: PUSH
5218: LD_INT 2
5220: PUSH
5221: LD_INT 34
5223: PUSH
5224: LD_INT 6
5226: PUSH
5227: EMPTY
5228: LIST
5229: LIST
5230: PUSH
5231: LD_INT 34
5233: PUSH
5234: LD_INT 5
5236: PUSH
5237: EMPTY
5238: LIST
5239: LIST
5240: PUSH
5241: LD_INT 34
5243: PUSH
5244: LD_INT 9
5246: PUSH
5247: EMPTY
5248: LIST
5249: LIST
5250: PUSH
5251: LD_INT 34
5253: PUSH
5254: LD_INT 4
5256: PUSH
5257: EMPTY
5258: LIST
5259: LIST
5260: PUSH
5261: EMPTY
5262: LIST
5263: LIST
5264: LIST
5265: LIST
5266: LIST
5267: PUSH
5268: EMPTY
5269: LIST
5270: LIST
5271: LIST
5272: PPUSH
5273: CALL_OW 69
5277: ST_TO_ADDR
// List = FilterAllUnits ( [ [ f_side , 4 ] , [ f_or , [ f_btype , 0 ] , [ f_btype , 1 ] ] ] ) ;
5278: LD_ADDR_LOC 18
5282: PUSH
5283: LD_INT 22
5285: PUSH
5286: LD_INT 4
5288: PUSH
5289: EMPTY
5290: LIST
5291: LIST
5292: PUSH
5293: LD_INT 2
5295: PUSH
5296: LD_INT 30
5298: PUSH
5299: LD_INT 0
5301: PUSH
5302: EMPTY
5303: LIST
5304: LIST
5305: PUSH
5306: LD_INT 30
5308: PUSH
5309: LD_INT 1
5311: PUSH
5312: EMPTY
5313: LIST
5314: LIST
5315: PUSH
5316: EMPTY
5317: LIST
5318: LIST
5319: LIST
5320: PUSH
5321: EMPTY
5322: LIST
5323: LIST
5324: PPUSH
5325: CALL_OW 69
5329: ST_TO_ADDR
// for UnitsInList in List do
5330: LD_ADDR_LOC 19
5334: PUSH
5335: LD_LOC 18
5339: PUSH
5340: FOR_IN
5341: IFFALSE 5460
// for AmAttacker in AmAttackers do
5343: LD_ADDR_LOC 23
5347: PUSH
5348: LD_LOC 22
5352: PUSH
5353: FOR_IN
5354: IFFALSE 5456
// if not AmAttacker = Greene then
5356: LD_LOC 23
5360: PUSH
5361: LD_INT 2
5363: EQUAL
5364: NOT
5365: IFFALSE 5454
// begin AddComAgressiveMove ( AmAttacker , Min ( Max ( GetX ( UnitsInList ) + Rand ( - 5 , 5 ) , 0 ) , 237 ) , Min ( Max ( GetY ( UnitsInList ) + Rand ( - 5 , 5 ) , 0 ) , 157 ) ) ;
5367: LD_LOC 23
5371: PPUSH
5372: LD_LOC 19
5376: PPUSH
5377: CALL_OW 250
5381: PUSH
5382: LD_INT 5
5384: NEG
5385: PPUSH
5386: LD_INT 5
5388: PPUSH
5389: CALL_OW 12
5393: PLUS
5394: PPUSH
5395: LD_INT 0
5397: PPUSH
5398: CALL 5648 0 2
5402: PPUSH
5403: LD_INT 237
5405: PPUSH
5406: CALL 5608 0 2
5410: PPUSH
5411: LD_LOC 19
5415: PPUSH
5416: CALL_OW 251
5420: PUSH
5421: LD_INT 5
5423: NEG
5424: PPUSH
5425: LD_INT 5
5427: PPUSH
5428: CALL_OW 12
5432: PLUS
5433: PPUSH
5434: LD_INT 0
5436: PPUSH
5437: CALL 5648 0 2
5441: PPUSH
5442: LD_INT 157
5444: PPUSH
5445: CALL 5608 0 2
5449: PPUSH
5450: CALL_OW 174
// end ;
5454: GO 5353
5456: POP
5457: POP
5458: GO 5340
5460: POP
5461: POP
// end ;
5462: LD_VAR 0 1
5466: RET
// var EvacMe , EvacList ; every 0 0$0.35 trigger RuEvac = 1 do
5467: LD_EXP 2
5471: PUSH
5472: LD_INT 1
5474: EQUAL
5475: IFFALSE 5564
5477: GO 5479
5479: DISABLE
// begin enable ;
5480: ENABLE
// EvacList = FilterUnitsInArea ( RuEvac , [ [ f_side , 3 ] , [ f_or , [ f_sex , 1 ] , [ f_sex , 2 ] ] ] ) ;
5481: LD_ADDR_LOC 25
5485: PUSH
5486: LD_EXP 2
5490: PPUSH
5491: LD_INT 22
5493: PUSH
5494: LD_INT 3
5496: PUSH
5497: EMPTY
5498: LIST
5499: LIST
5500: PUSH
5501: LD_INT 2
5503: PUSH
5504: LD_INT 26
5506: PUSH
5507: LD_INT 1
5509: PUSH
5510: EMPTY
5511: LIST
5512: LIST
5513: PUSH
5514: LD_INT 26
5516: PUSH
5517: LD_INT 2
5519: PUSH
5520: EMPTY
5521: LIST
5522: LIST
5523: PUSH
5524: EMPTY
5525: LIST
5526: LIST
5527: LIST
5528: PUSH
5529: EMPTY
5530: LIST
5531: LIST
5532: PPUSH
5533: CALL_OW 70
5537: ST_TO_ADDR
// for EvacMe in EvacList do
5538: LD_ADDR_LOC 24
5542: PUSH
5543: LD_LOC 25
5547: PUSH
5548: FOR_IN
5549: IFFALSE 5562
// RemoveUnit ( EvacMe ) ;
5551: LD_LOC 24
5555: PPUSH
5556: CALL_OW 64
5560: GO 5548
5562: POP
5563: POP
// end ; end_of_file
5564: END
// export function FirstOf ( List ) ; begin
5565: LD_INT 0
5567: PPUSH
// if not list = 0 then
5568: LD_VAR 0 1
5572: PUSH
5573: LD_INT 0
5575: EQUAL
5576: NOT
5577: IFFALSE 5595
// result = List [ 1 ] else
5579: LD_ADDR_VAR 0 2
5583: PUSH
5584: LD_VAR 0 1
5588: PUSH
5589: LD_INT 1
5591: ARRAY
5592: ST_TO_ADDR
5593: GO 5603
// result = 0 ;
5595: LD_ADDR_VAR 0 2
5599: PUSH
5600: LD_INT 0
5602: ST_TO_ADDR
// end ;
5603: LD_VAR 0 2
5607: RET
// export function Min ( Num1 , Num2 ) ; begin
5608: LD_INT 0
5610: PPUSH
// result = Num1 ;
5611: LD_ADDR_VAR 0 3
5615: PUSH
5616: LD_VAR 0 1
5620: ST_TO_ADDR
// if Num2 < Num1 then
5621: LD_VAR 0 2
5625: PUSH
5626: LD_VAR 0 1
5630: LESS
5631: IFFALSE 5643
// result = Num2 ;
5633: LD_ADDR_VAR 0 3
5637: PUSH
5638: LD_VAR 0 2
5642: ST_TO_ADDR
// end ;
5643: LD_VAR 0 3
5647: RET
// export function Max ( Num1 , Num2 ) ; begin
5648: LD_INT 0
5650: PPUSH
// result = Num1 ;
5651: LD_ADDR_VAR 0 3
5655: PUSH
5656: LD_VAR 0 1
5660: ST_TO_ADDR
// if Num2 > Num1 then
5661: LD_VAR 0 2
5665: PUSH
5666: LD_VAR 0 1
5670: GREATER
5671: IFFALSE 5683
// result = Num2 ;
5673: LD_ADDR_VAR 0 3
5677: PUSH
5678: LD_VAR 0 2
5682: ST_TO_ADDR
// end ;
5683: LD_VAR 0 3
5687: RET
