// export Antoine ; export Arabs , Leader ; function PrepareSoldiers ; var i , h ; begin
   0: LD_INT 0
   2: PPUSH
   3: PPUSH
   4: PPUSH
// uc_side = 5 ;
   5: LD_ADDR_OWVAR 20
   9: PUSH
  10: LD_INT 5
  12: ST_TO_ADDR
// uc_nation = 2 ;
  13: LD_ADDR_OWVAR 21
  17: PUSH
  18: LD_INT 2
  20: ST_TO_ADDR
// for i = 1 to 4 do
  21: LD_ADDR_VAR 0 2
  25: PUSH
  26: DOUBLE
  27: LD_INT 1
  29: DEC
  30: ST_TO_ADDR
  31: LD_INT 4
  33: PUSH
  34: FOR_TO
  35: IFFALSE 108
// begin InitHc ;
  37: CALL_OW 19
// PrepareSoldier ( Rand ( 1 , 2 ) , 3 ) ;
  41: LD_INT 1
  43: PPUSH
  44: LD_INT 2
  46: PPUSH
  47: CALL_OW 12
  51: PPUSH
  52: LD_INT 3
  54: PPUSH
  55: CALL_OW 381
// h = CreateHuman ;
  59: LD_ADDR_VAR 0 3
  63: PUSH
  64: CALL_OW 44
  68: ST_TO_ADDR
// PlaceUnitXYR ( h , 52 , 41 , 3 , false ) ;
  69: LD_VAR 0 3
  73: PPUSH
  74: LD_INT 52
  76: PPUSH
  77: LD_INT 41
  79: PPUSH
  80: LD_INT 3
  82: PPUSH
  83: LD_INT 0
  85: PPUSH
  86: CALL_OW 50
// Arabs = Arabs ^ h ;
  90: LD_ADDR_EXP 2
  94: PUSH
  95: LD_EXP 2
  99: PUSH
 100: LD_VAR 0 3
 104: ADD
 105: ST_TO_ADDR
// end ;
 106: GO 34
 108: POP
 109: POP
// InitHc ;
 110: CALL_OW 19
// PrepareSoldier ( 1 , 3 ) ;
 114: LD_INT 1
 116: PPUSH
 117: LD_INT 3
 119: PPUSH
 120: CALL_OW 381
// Leader = CreateHuman ;
 124: LD_ADDR_EXP 3
 128: PUSH
 129: CALL_OW 44
 133: ST_TO_ADDR
// PlaceUnitXY ( Leader , 69 , 33 , false ) ;
 134: LD_EXP 3
 138: PPUSH
 139: LD_INT 69
 141: PPUSH
 142: LD_INT 33
 144: PPUSH
 145: LD_INT 0
 147: PPUSH
 148: CALL_OW 48
// end ;
 152: LD_VAR 0 1
 156: RET
// starting begin Query ( Q1 ) ;
 157: LD_STRING Q1
 159: PPUSH
 160: CALL_OW 97
// Query ( Q2 ) ;
 164: LD_STRING Q2
 166: PPUSH
 167: CALL_OW 97
// PrepareSoldiers ;
 171: CALL 0 0 0
// ChangeSideFog ( 2 , 5 ) ;
 175: LD_INT 2
 177: PPUSH
 178: LD_INT 5
 180: PPUSH
 181: CALL_OW 343
// RevealFogArea ( 5 , FullMap ) ;
 185: LD_INT 5
 187: PPUSH
 188: LD_INT 1
 190: PPUSH
 191: CALL_OW 332
// uc_side = 2 ;
 195: LD_ADDR_OWVAR 20
 199: PUSH
 200: LD_INT 2
 202: ST_TO_ADDR
// Antoine = NewCharacter ( Antoine ) ;
 203: LD_ADDR_EXP 1
 207: PUSH
 208: LD_STRING Antoine
 210: PPUSH
 211: CALL_OW 25
 215: ST_TO_ADDR
// PlaceUnitXY ( Antoine , 56 , 46 , false ) ;
 216: LD_EXP 1
 220: PPUSH
 221: LD_INT 56
 223: PPUSH
 224: LD_INT 46
 226: PPUSH
 227: LD_INT 0
 229: PPUSH
 230: CALL_OW 48
// InGameOn ;
 234: CALL_OW 8
// CenterOnUnits ( Leader ) ;
 238: LD_EXP 3
 242: PPUSH
 243: CALL_OW 85
// ComTurnUnit ( Leader , Antoine ) ;
 247: LD_EXP 3
 251: PPUSH
 252: LD_EXP 1
 256: PPUSH
 257: CALL_OW 119
// AddComHold ( Leader ) ;
 261: LD_EXP 3
 265: PPUSH
 266: CALL_OW 200
// Wait ( 0 0$1 ) ;
 270: LD_INT 35
 272: PPUSH
 273: CALL_OW 67
// Say ( Leader , do-s-1 ) ;
 277: LD_EXP 3
 281: PPUSH
 282: LD_STRING do-s-1
 284: PPUSH
 285: CALL_OW 88
// Wait ( 0 0$0.5 ) ;
 289: LD_INT 18
 291: PPUSH
 292: CALL_OW 67
// CenterOnUnits ( Antoine ) ;
 296: LD_EXP 1
 300: PPUSH
 301: CALL_OW 85
// ComMoveXY ( [ Antoine , Arabs ] , 71 , 47 ) ;
 305: LD_EXP 1
 309: PUSH
 310: LD_EXP 2
 314: PUSH
 315: EMPTY
 316: LIST
 317: LIST
 318: PPUSH
 319: LD_INT 71
 321: PPUSH
 322: LD_INT 47
 324: PPUSH
 325: CALL_OW 111
// AddComMoveXY ( Antoine , 72 , 34 ) ;
 329: LD_EXP 1
 333: PPUSH
 334: LD_INT 72
 336: PPUSH
 337: LD_INT 34
 339: PPUSH
 340: CALL_OW 171
// AddComMoveXY ( Arabs [ 1 ] , 78 , 38 ) ;
 344: LD_EXP 2
 348: PUSH
 349: LD_INT 1
 351: ARRAY
 352: PPUSH
 353: LD_INT 78
 355: PPUSH
 356: LD_INT 38
 358: PPUSH
 359: CALL_OW 171
// AddComMoveXY ( Arabs [ 2 ] , 71 , 33 ) ;
 363: LD_EXP 2
 367: PUSH
 368: LD_INT 2
 370: ARRAY
 371: PPUSH
 372: LD_INT 71
 374: PPUSH
 375: LD_INT 33
 377: PPUSH
 378: CALL_OW 171
// ComEnterUnit ( Arabs [ 3 ] , arm2 ) ;
 382: LD_EXP 2
 386: PUSH
 387: LD_INT 3
 389: ARRAY
 390: PPUSH
 391: LD_INT 13
 393: PPUSH
 394: CALL_OW 120
// ComMoveXY ( Leader , 73 , 32 ) ;
 398: LD_EXP 3
 402: PPUSH
 403: LD_INT 73
 405: PPUSH
 406: LD_INT 32
 408: PPUSH
 409: CALL_OW 111
// AddComTurnUnit ( Leader , Antoine ) ;
 413: LD_EXP 3
 417: PPUSH
 418: LD_EXP 1
 422: PPUSH
 423: CALL_OW 179
// Wait ( 0 0$3 ) ;
 427: LD_INT 105
 429: PPUSH
 430: CALL_OW 67
// Say ( Antoine , do-a-1 ) ;
 434: LD_EXP 1
 438: PPUSH
 439: LD_STRING do-a-1
 441: PPUSH
 442: CALL_OW 88
// CenterOnUnits ( Antoine ) ;
 446: LD_EXP 1
 450: PPUSH
 451: CALL_OW 85
// Say ( Arabs [ 1 ] , do-x-1 ) ;
 455: LD_EXP 2
 459: PUSH
 460: LD_INT 1
 462: ARRAY
 463: PPUSH
 464: LD_STRING do-x-1
 466: PPUSH
 467: CALL_OW 88
// CenterOnUnits ( eon ) ;
 471: LD_INT 14
 473: PPUSH
 474: CALL_OW 85
// Say ( Leader , do-s-2 ) ;
 478: LD_EXP 3
 482: PPUSH
 483: LD_STRING do-s-2
 485: PPUSH
 486: CALL_OW 88
// Say ( Antoine , do-a-2 ) ;
 490: LD_EXP 1
 494: PPUSH
 495: LD_STRING do-a-2
 497: PPUSH
 498: CALL_OW 88
// Wait ( 0 0$1 ) ;
 502: LD_INT 35
 504: PPUSH
 505: CALL_OW 67
// ComEnterUnit ( Arabs [ 1 ] , eon ) ;
 509: LD_EXP 2
 513: PUSH
 514: LD_INT 1
 516: ARRAY
 517: PPUSH
 518: LD_INT 14
 520: PPUSH
 521: CALL_OW 120
// ComEnterUnit ( Antoine , eon ) ;
 525: LD_EXP 1
 529: PPUSH
 530: LD_INT 14
 532: PPUSH
 533: CALL_OW 120
// end ;
 537: END
// on EnterBuilding ( b , u ) do begin if u = Antoine then
 538: LD_VAR 0 2
 542: PUSH
 543: LD_EXP 1
 547: EQUAL
 548: IFFALSE 571
// begin Wait ( 0 0$1 ) ;
 550: LD_INT 35
 552: PPUSH
 553: CALL_OW 67
// InGameOff ;
 557: CALL_OW 9
// ChangeMap ( 1 , %_cont ) ;
 561: LD_INT 1
 563: PPUSH
 564: LD_STRING %_cont
 566: PPUSH
 567: CALL_OW 340
// end ; end ;
 571: PPOPN 2
 573: END
