PageRenderTime 95ms CodeModel.GetById 55ms app.highlight 16ms RepoModel.GetById 1ms app.codeStats 1ms

/ghost-legacy/w3g_actions.txt

http://ghostcb.googlecode.com/
Plain Text | 1648 lines | 1261 code | 387 blank | 0 comment | 0 complexity | 36c77c1907b47da0ded6c89ddd67dc04 MD5 | raw file

Large files files are truncated, but you can click here to view the full file

   1*******************************************************************************
   2* WarCraft III Replay action format description                               *
   3*                                                                             *
   4* document version: 1.00                                                      *
   5* document date   : 2005-04-30                                                *
   6* document authors: blue, nagger                                              *
   7*                                                                             *
   8* For more informtion about w3g file format, please visit:                    *
   9*   http://w3g.deepnode.de                                                    *
  10* and                                                                         *
  11*   http://warcraft.kliegman.com                                              *
  12*                                                                             *
  13* Check out the developer forum on:                                           *
  14*   http://shadowflare.gameproc.com                                           *
  15* or contact us via mail                                                      *
  16*   mailto:w3g_format@deepnode.de                                             *
  17*                                                                             *
  18*******************************************************************************
  19
  20===============================================================================
  21Table of Content
  22===============================================================================
  23  1.0 Introduction
  24      1.1 Standardized APMs
  25  2.0 Action ID's
  26  3.0 AbilityFlags
  27  4.0 ItemID's
  28      4.1 Stringencoded ItemID's
  29      4.2 Numeric ItemID's
  30  5.0 ObjectID's
  31  6.0 Click Coordinates
  32  7.0 General notes
  33  8.0 Notes on older Patches
  34  9.0 Credits
  35 10.0 Document revision history
  36
  37
  38===============================================================================
  39DISCLAIMER (please read it ...)
  40===============================================================================
  41
  42All information in this document was solely obtained by looking at the replay
  43file and guessing the meaning of each single field. All knowledge about the
  44games mechanics is based on experience obtained by playing the game.
  45Neither reverse engineering was used nor any copyrighted files modified.
  46It is explicitly prohibited to use the information provided in this document
  47for any illegal activities including hacking, cheating and pirating.
  48Thank you Blizzard for your great games and a quite straight-forward
  49WarCraft III replay file format ;-)
  50
  51The use of the information provided in this document is free of charge as long
  52as you follow the rules above. Furthermore you may copy it freely as long as
  53the file is unchanged (please mail us about any error or addition - we like
  54to keep things centralized).
  55We would really appreciate it if you credit us in your project or drop us
  56a line via mail - because we like to know if the work put into this document
  57was anything worth after all ...
  58
  59
  60===============================================================================
  611.0 Introduction
  62===============================================================================
  63
  64This document describes the format of the actions found in the TimeSlot blocks
  65of the replay (see 'w3g_format.txt' section 5 for details):
  66
  670x1F       - TimeSlot block (rarely also 0x1E)
  68  1 word   - number of bytes that follow
  69  1 word   - time increment (milliseconds)
  70              about 250 ms in battle.net
  71              about 100 ms in LAN and single player
  72  n-2 byte - CommandData block(s) (not present if n=2)
  73
  74For every player which has executed an action during the last time slot there
  75is at least one 'CommandData' block.
  76
  77CommandData block:
  78  1 byte  - PlayerID
  79  1 word  - Action block length
  80  n byte  - Action block(s) (may contain multiple actions !)
  81
  82Action block:
  83  1 byte  - ActionID (see 2.0)
  84  n byte  - action arguments (see 2.0)
  85
  86Notes:
  87  o The number of 'Action blocks' can only be determined by parsing the actions
  88    up to the denoted Action block length.
  89  o The 'time increments' are only correct for replays played at fastest speed.
  90  o Accumulate all 'time increments' to get the time of current action(s).
  91
  92TODO: analyse time increments of slow/normal speed
  93
  94
  95===============================================================================
  961.1 Standardized APMs
  97===============================================================================
  98
  99This section defines a standardized Actions-Per-Minute(APM) value.
 100With it we hope to make APM values more comparable inbetween all current and
 101future replay tools out there and coming. Please use it in your tool too :D
 102
 103The main goal is an easy-to-implement algorithm. This way even simple replay
 104tools should have no difficulties at all to calculate it.
 105
 106Basic rules:
 107 o Only count in-game actions (no map-signals, no chat).
 108 o Every counted action increments the player action counter by one.
 109 o Do not filter out any player action.
 110 o APM = numbers of actions of a player / time this player played.
 111
 112Accordingly all actions in section 2.0 are marked in the headline:
 113 [APM+] = Action is counted.
 114 [APM?] = Special, please read the notes on this action (0x16, 0x19).
 115 [APM-] = Action is not counted.
 116
 117Additionally you have to pay attention to the pause/unpause actions in order to
 118determine the played time correctly:
 119 Pause game (action 0x01):
 120   o Stop the time at the first occurence of this action
 121     (there might be multiple ones).
 122   o The pause action itself is not counted.
 123   o Do NOT stop counting the actions within a pause
 124     (but skip actions like map signals as usual).
 125 Resume game (action 0x02):
 126   o Resume counting the time at first occurence of this action
 127     (there might be multiple ones).
 128   o Do not count this action itself.
 129
 130Due to this simple method there are the following inadequacies:
 131 o Cancelling a unit/building by pressing Escape key will be counted twice
 132   (Action 0x61 + Action 0x10 with unitid=0x08000D00).
 133 o Map signal are uncounted. They are no real in-game actions and can very
 134   easily abused to increase the APM value.
 135 o No 'tab' action are counted (since patch 1.14b).
 136   (Prior to patch 1.14b only the last action of a complete cycle through all
 137    subgroups was not counted.)
 138
 139Keep in mind that for the APM value it is not important, which consequences
 140within the game an action has. It is only significant *how often* it is used.
 141If a player executes a specific action once every minute, it only results in
 142a 1 APM difference at the end.
 143Do you really need a APM precision better than say ?5 APMs ?
 144
 145Note:
 146 o If you decide to develop your own APM system (e.g. by filtering some user
 147   actions) please do *not* call it APM.
 148   Call it TrueAPM, RealAPM, myAPM, UserAPM or something like that instead.
 149
 150
 151===============================================================================
 1522.0 Action ID's
 153===============================================================================
 154
 155- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 1560x01 - Pause game                                             [ 1 byte ] [APM-]
 157- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 158 no additional data
 159
 160 Notes:
 161  o Due to lag there can be multiple pause or unpause actions, but they didn't
 162    stack. The first unpause will resume the game, no matter how many pause
 163    actions came before.
 164
 165  o There can be other actions between pause and resume action
 166    (e.g. map signal action, actions issued before game pausing but delayed
 167    by network latency)
 168
 169  o The length of the replay (found in replay header) is the effective play
 170    time excluding any pause
 171
 172
 173- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 1740x02 - Resume game                                            [ 1 byte ] [APM-]
 175- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 176 no additional data
 177
 178 Note:
 179  o See notes for Pause game action
 180
 181
 182- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 1830x03 - Set game speed in single player game (options menu)    [ 2 byte ] [APM-]
 184- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 185 1 byte  - game speed:
 186            0x00 - slow
 187            0x01 - normal
 188            0x02 - fast
 189
 190 Note:
 191  o Time increments (see 1.0) are only correct for fast speed.
 192
 193
 194- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 1950x04 - Increase game speed in single player game (Num+)       [ 1 byte ] [APM-]
 196- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 197 no additional data
 198
 199 Note:
 200  o Time increments (see 1.0) are only correct for fast speed.
 201
 202
 203- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 2040x05 - Decrease game speed in single player game (Num-)       [ 1 byte ] [APM-]
 205- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 206 no additional data
 207
 208 Note:
 209  o Time increments (see 1.0) are only correct for fast speed.
 210
 211
 212- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 2130x06 - Save game                                             [ n bytes ] [APM-]
 214- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 215 n bytes - savegame name (null terminated string)
 216
 217
 218- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 2190x07 - Save game finished                                    [ 5 bytes ] [APM-]
 220- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 221 1 dword - unknown (always 0x00000001 so far)
 222
 223 This action is supposed to signal that saving the game finished.
 224 It normally follows a 0x06 action.
 225
 226
 227- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 2280x10 - Unit/building ability (no additional parameters)     [ 15 bytes ] [APM+]
 229- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 230 1 word  - AbilityFlags (see section 3) ('byte' for patch version < 1.13)
 231
 232 1 dword - ItemID (see section 4)
 233
 234 1 dword - unknownA (0xFFFFFFFF) (only present for patch version >= 1.07)
 235 1 dword - unknownB (0xFFFFFFFF) (only present for patch version >= 1.07)
 236
 237 Note:
 238  o For pre v1.07 replays this record is only 6 bytes.
 239
 240  o For pre v1.13 replays AbilityFlags is a Byte and therefore
 241    the whole block 1 byte smaller.
 242
 243
 244- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 2450x11 - Unit/building ability                                [ 22 bytes ] [APM+]
 246       (with target position)
 247- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 248 1 word  - AbilityFlags (see section 3) ('byte' for patch version < 1.13)
 249
 250 1 dword - ItemID (see section 4)
 251
 252 1 dword - unknownA (0xFFFFFFFF) (only present for patch version >= 1.07)
 253 1 dword - unknownB (0xFFFFFFFF) (only present for patch version >= 1.07)
 254
 255 1 dword - target location X
 256 1 dword - target location Y
 257
 258 Note:
 259  o For pre v1.07 replays this record is only 14 bytes.
 260
 261  o For pre v1.13 replays AbilityFlags is a Byte and therefore
 262    the whole block 1 byte smaller.
 263
 264
 265- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 2660x12 - Unit/building ability                                [ 30 bytes ] [APM+]
 267       (with target position and target object ID)
 268- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 269 1 word  - AbilityFlags (see section 3) ('byte' for patch version < 1.13)
 270
 271 1 dword - ItemID (see section 4)
 272
 273 1 dword - unknownA (0xFFFFFFFF) (only present for patch version >= 1.07)
 274 1 dword - unknownB (0xFFFFFFFF) (only present for patch version >= 1.07)
 275
 276 1 dword - target position X coordinate
 277 1 dword - target position Y coordinate
 278
 279 1 dword - objectID1
 280 1 dword - objectID2
 281
 282 objectID1 == objectID2 == FF FF FF FF for no object (e.g. rally on ground)
 283
 284 Note:
 285  o For pre v1.07 replays this record is only 22 bytes.
 286
 287  o For pre v1.13 replays AbilityFlags is a Byte and therefore
 288    the whole block 1 byte smaller.
 289
 290
 291- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 2920x13 - Give item to Unit / Drop item on ground              [ 38 bytes ] [APM+]
 293       (with target position, object ID A and B)
 294- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 295 1 word  - AbilityFlags (see section 3) ('byte' for patch version < 1.13)
 296
 297 1 dword - ItemID (see section 4)
 298
 299 1 dword - unknownA (0xFFFFFFFF) (only present for patch version >= 1.07)
 300 1 dword - unknownB (0xFFFFFFFF) (only present for patch version >= 1.07)
 301
 302 1 dword - target location X
 303 1 dword - target location Y
 304
 305 1 dword - Target_objectID_1
 306 1 dword - Target_objectID_2
 307
 308 1 dword - Item_objectID_1
 309 1 dword - Item_objectID_2
 310
 311 Notes:
 312  o For pre v1.07 replays this record is only 30 bytes.
 313
 314  o For pre v1.13 replays AbilityFlags is a Byte and therefore
 315    the whole block 1 byte smaller.
 316
 317  o Target_objectID 1 and 2 is 0xFFFFFFFF for ground
 318
 319 Example: drop potion on ground:
 320   13
 321   40
 322   21 00 0D 00
 323   5B 10 58 C3
 324   97 CE 1B 44
 325   FF FF FF FF
 326   FF FF FF FF
 327   11 2D 00 00
 328   D3 96 00 00
 329
 330
 331- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 3320x14 - Unit/building ability                                [ 43 bytes ] [APM+]
 333       (with two target positions and two item ID's)
 334- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 335 1 word  - AbilityFlags (see section 3) ('byte' for patch version < 1.13)
 336
 337 1 dword - ItemID_A (see section 4)
 338
 339 1 dword - unknownA (0xFFFFFFFF) (only present for patch version >= 1.07)
 340 1 dword - unknownB (0xFFFFFFFF) (only present for patch version >= 1.07)
 341
 342 1 dword - target location A_X
 343 1 dword - target location A_Y
 344
 345 1 dword - ItemID_B (see section 4)
 346
 347 9 byte  - unknown
 348
 349 1 dword - target location B_X
 350 1 dword - target location B_Y
 351
 352 Notes:
 353  o For pre v1.07 replays this record is only 35 bytes.
 354
 355  o For pre v1.13 replays AbilityFlags is a Byte and therefore
 356    the whole block 1 byte smaller.
 357
 358 Examples:
 359
 360  (human townhall rightclick on tree (tree not direct accessible))
 361   Felwood:
 362   14 00 03000D00 000024C5 0000B844 72745443 40 00100100 000000FF 000024C5 0000B844
 363    .  .  . . . .  . . $ .  . . . D  r t T C  @  . . . .  . . . .  . . $ .  . . . D
 364
 365   Lordaeron Summer:
 366   14 00 03000D00 0000D8C4 00005044 746C544C 40 00100100 000000FF 0000D8C4 00005044
 367    .  .  . . . .  . . . .  . . P D  t l T L  @  . . . .  . . . .  . . . .  . . P D
 368
 369   Village-Autumn:
 370   14 00 03000D00 000070C4 00007044 77745446 40 00100100 000000FF 000070C4 00007044
 371    .  .  . . . .  . . p .  . . p D  w t T F  @  . . . .  . . . .  . . p .  . . p D
 372
 373   Dungeon:
 374   14 00 03000D00 0000A0C3 00009844 68735444 40 00100100 000000FF 0000A0C3 00009844
 375    .  .  . . . .  . . . .  . . . D  h s T D  @  . . . .  . . . .  . . . .  . . . D
 376
 377  (rightclicks)[==]
 378   14 00 03000D00 0000D845 000000C6 6C6F676E 08 00A05500 0000000F 0000D845 000000C6
 379    .  .  . . . .  . . . E  . . . .  l o g n  .  . . U .  . . . .  . . . E  . . . .
 380
 381   14 00 03000D00 0000C0C4 00001BC6 77745442 40 00100100 000000FF 0000C0C4 00001BC6
 382    .  .  . . . .  . . . .  . . . .  w t T B  @  . . . .  . . . .  . . . .  . . . .
 383
 384   14 00 03000D00 00008845 0000BE45 746C544C 40 00100100 000000FF 00008845 0000BE45
 385    .  .  . . . .  . . . E  . . . E  t l T L  @  . . . .  . . . .  . . . E  . . . E
 386
 387   14 00 03000D00 00004AC5 0000C3C5 65746165 08 00905908 00000001 00004AC5 0000C3C5
 388    .  .  . . . .  . . J .  . . . .  e t a e  .  . . Y .  . . . .  . . J .  . . . .
 389
 390   14 00 03000D00 000080C4 0000D845 6C6F6775 08 0090590A 00000001 000080C4 0000D845
 391    .  .  . . . .  . . . .  . . . E  l o g u  .  . . Y .  . . . .  . . . .  . . . E
 392
 393  (attack)[!=]
 394   14 18 0F000D00 BA387FC3 2C6F6FC5 746C544C 40 00100100 000000FF 0000A0C3 000074C5
 395    .  .  . . . .  . 8  .  , o o .  t l T L  @  . . . .  . . . .  . . . .  . . t .
 396
 397  (undead gold)[==]
 398   14 04 6C6F6775 0000F044 00002C45 6C6F676E 08 00A05500 0000000F 0000F044 00002C45
 399    .  .  l o g u  . . . D  . . , E  l o g n  .  . . U .  . . . .  . . . D  . . , E"
 400
 401
 402- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 4030x16 - Change Selection (Unit, Building, Area)           [ 4+n*8 bytes ] [APM?]
 404- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 405 1 byte  - select mode:
 406            0x01 - add to selection      (select)
 407            0x02 - remove from selection (deselect)
 408 1 word  - number (n) of units/buildings
 409
 410 block repeated n times:
 411   1 dword - ObjectID1
 412   1 dword - ObjectID2
 413
 414  (ObjectID1 == ObjectID2 for starting town hall and trees ?)
 415
 416 Note:
 417  o If one simply selects a new unit then this results in a single 'add to
 418    selection'-action (16 01) preceded by a 'remove from selection'-action
 419    (16 02) for the complete old selection.
 420
 421 APM-Note:
 422  o Every 'Change Selection' action (both 'select' and 'deselect') increases
 423    the APM counter by one [APM+], BUT:
 424  o Do *not* count a 'select' action that follows *immediately* after a
 425    'deselect' action within the *same* CommandData block.
 426    This is reasonable because mostly all deselect actions in front of select
 427    actions are autogenerated by WarCraft and therefore the whole deselect/
 428    select combo action needs to be counted as 1 action only.
 429  o Example pseudo algorithm:
 430
 431      FOREACH TimeSlot-block DO
 432        ...
 433
 434        FOREACH CommandData-block DO
 435          id = ReadPlayerID()
 436          LastActionWasDeselect = FALSE;
 437          ...
 438
 439          FOREACH Action-block DO
 440            actionid = ReadActionID()
 441            ...
 442            IF (actionid == 0x16) THEN
 443              IF (selectMode == deselect) THEN
 444                countThisActionAsAPM()
 445                LastActionWasDeselect = TRUE;
 446              ELSE
 447                IF (!LastActionWasDeselect) THEN countThisActionAsAPM()
 448                LastActionWasDeselect = FALSE;
 449              ENDIF
 450            ELSE
 451              LastActionWasDeselect = FALSE;
 452            ENDIF
 453            ...
 454          ENDFOREACH
 455          ...
 456        ENDFOREACH
 457        ...
 458      ENDFOREACH
 459
 460
 461- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 4620x17 - Assign Group Hotkey                               [ 4+n*8 bytes ] [APM+]
 463- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 464 1 byte  - group number (0-9)
 465             the group number is shifted by one:
 466             key '1' is group0, ... , key '9' is group8 and key '0' is group9
 467 1 word  - number (n) of items in selection
 468
 469 block repeated n times:
 470   1 dword - ObjectID1
 471   1 dword - ObjectID2
 472
 473 Note:
 474  o There is no extra 'add to group' action (Shift-[1..0]). Instead the
 475    whole *new* group is listed with an 'assign group hotkey' action.
 476
 477
 478- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 4790x18 - Select Group Hotkey                                   [ 3 bytes ] [APM+]
 480- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 481 1 byte  - group number (0-9)
 482             the group number is shifted by one:
 483             key '1' is group0, ... , key '9' is group8 and key '0' is group9
 484 1 byte  - unknown  (always 0x03)
 485
 486 Note:
 487  o There is no deselect action (0x16 02) issued for the previous selection.
 488
 489
 490- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 4910x19 - Select Subgroup (patch version >= 1.14b)             [ 13 bytes ] [APM?]
 492- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 493 1 dword - ItemID    (see section 4)
 494 1 dword - ObjectID1 (see section 5)
 495 1 dword - ObjectID2
 496
 497 Notes:
 498  o Always following a 0x1A-Action (Pre subselection)
 499
 500  o The ItemID and the ObjectID represents the first unit in the newly
 501    selected subgroup.
 502    This can be used to associate ItemID's with ObjectID's for one unit!
 503
 504  o Nearly all 'Select Subgroup' actions are autogenerated.
 505
 506 TODO:
 507  o Find algorithm to detect real 'SelectSubgroup' actions (TAB-key pressed)
 508    for APM counting.
 509
 510
 511- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 5120x19 - Select Subgroup (patch version < 1.14b)               [ 2 bytes ] [APM?]
 513- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 514 1 byte  - subgroup number (0-11, 0xFF)
 515
 516 Notes:
 517  o There is a special subgroup action: 0x19 0xFF
 518    It is an auto-generated action in the replay and might mean something
 519    like "update subgroups" (e.g. when a summoned unit disappears or peasant
 520    turns into militia etc.).
 521
 522  o Most 'select subgroup 0'-actions (0x19 00) are autogenerated too (e.g. if
 523    one selects a subgroup and then selects a completely different unit).
 524
 525  o Since patch 1.13 nearly all 'Select Subgroup' actions are autogenerated.
 526    Very often WarCraft seems to write a complete subgroup status to the replay.
 527    For every player there is an 'Update Subgroup' action (0x19 0xFF)
 528    followed immediately by a 'Select Subgroup' action where the subgroup
 529    number represents the current subgroup status. This status does not always
 530    correspond to the currently selected subgroup of this player. (TODO: why?)
 531
 532 APM-Note:
 533  o Only count this action if 'subgroup number' is neither 0x00 nor 0xFF.
 534
 535  o Do *not* count a 'Select Subgroup' action that follows *immediately* after
 536    a 'Update Subgroup' action within the *same* CommandData block.
 537    (Adapt the example pseudo algorithm of action 0x16.)
 538
 539
 540- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 5410x1A - Pre Subselection                                       [ 1 byte ] [APM-]
 542- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 543 no additional data
 544
 545 Notes:
 546  o Mostly followed by a 0x19-Action (Select Subgroup) but not always
 547
 548
 549- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 5500x1B - Unknown                                              [ 10 bytes ] [APM-]
 5510x1A for WarCraft III patch version <= 1.14b
 552- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 553 1 byte  - unknown (always 0x01 so far)
 554 1 dword - unknown (ObjectID1?)
 555 1 dword - unknown (ObjectID2?)
 556
 557 Notes:
 558  o Only in scenarios, maybe a trigger-related command
 559
 560
 561- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 5620x1C - Select Ground Item                                   [ 10 bytes ] [APM+]
 5630x1B for WarCraft III patch version <= 1.14b
 564- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 565 1 byte  - unknown (flags? always 0x04 so far)
 566 1 dword - ObjectID1
 567 1 dword - ObjectID2
 568
 569 Notes:
 570  o Leftclick on an item laying on the ground (selecting it).
 571
 572  o This action is normally preceded by a deselect (0x16 02) and subgroup
 573    update (0x19 FF) action.
 574
 575
 576- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 5770x1D - Cancel hero revival                                   [ 9 bytes ] [APM+]
 5780x1C for WarCraft III patch version <= 1.14b
 579- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 580 1 dword - UnitID1 (always a hero)
 581 1 dword - UnitID2 (always a hero)
 582
 583 Notes:
 584  o This action is only present in LAN/Multiplayer games.
 585
 586  o It is  issued for every canceled hero revival - regardless which spot
 587    in the "build/revival queue" the hero had.
 588
 589  o It is not issued for canceling hero training. There you get the "usual"
 590    "61 10 40 08 00 0D 00 ..." action sequence.
 591
 592  o This action is normally preceded by a deselect (0x16 02) and subgroup
 593    update (0x19 FF) action.
 594
 595
 596- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 5970x1E - Remove unit from building queue                       [ 6 bytes ] [APM+]
 5980x1D for WarCraft III patch version <= 1.14b
 599- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 600 1 byte  - SlotNr (0 = unit currently build,
 601                   1 = first unit in queue,
 602                   2 = second unit in queue,
 603                   ...
 604                   6 = last unit in queue)
 605 1 dword - ItemID (StringID for the canceled unit)
 606
 607
 608- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 6090x21 - unknown                                               [ 9 bytes ] [APM-]
 610- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 611 1 dword - unknown [A] (0x000064F0 so far)
 612 1 dword - unknown [B] (0x000064F0 so far)
 613
 614 Note:
 615  o Very very rare action block.
 616  o Found in replays with patch version 1.04 and 1.05.
 617
 618
 619- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 6200x20, 0x22-0x32 - Single Player Cheats                       [ * bytes ] [APM-]
 621- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 622
 623 Action | Size   | Cheat                    | Description
 624 -------+--------+--------------------------+-------------------------------
 625  0x20  | 1 Byte | TheDudeAbides            | Fast cooldown
 626  0x22  | 1 Byte | SomebodySetUpUsTheBomb   | Instant defeat
 627  0x23  | 1 Byte | WarpTen                  | Speeds construction
 628  0x24  | 1 Byte | IocainePowder            | Fast Death/Decay
 629  0x25  | 1 Byte | PointBreak               | Removes food limit
 630  0x26  | 1 Byte | WhosYourDaddy            | God mode
 631  0x27  | 6 Byte | KeyserSoze [amount]      | Gives you X Gold
 632  0x28  | 6 Byte | LeafitToMe [amount]      | Gives you X Lumber
 633  0x29  | 1 Byte | ThereIsNoSpoon           | Unlimited Mana
 634  0x2A  | 1 Byte | StrengthAndHonor         | No defeat
 635  0x2B  | 1 Byte | itvexesme                | Disable victory conditions
 636  0x2C  | 1 Byte | WhoIsJohnGalt            | Enable research
 637  0x2D  | 6 Byte | GreedIsGood [amount]     | Gives you X Gold and Lumber
 638  0x2E  | 5 Byte | DayLightSavings [time]   | Set a time of day
 639  0x2F  | 1 Byte | ISeeDeadPeople           | Remove fog of war
 640  0x30  | 1 Byte | Synergy                  | Disable tech tree requirements
 641  0x31  | 1 Byte | SharpAndShiny            | Research upgrades
 642  0x32  | 1 Byte | AllYourBaseAreBelongToUs | Instant victory
 643        |        |                          |
 644  ?     |        | Motherland [race][level] | Campain level jump
 645
 646 Additional Parameter:
 647  o Action 0x27,0x28,0x2D:  Adding Resources
 648     1 byte  - unknown (always 0xFF)
 649     1 dword - (signed) amount of ressources
 650
 651  o Action 0x2E: Set time of day
 652     1 float - time (IEEE single precision float, 4Bytes)
 653
 654 Notes:
 655  o Action 0x21 is not a cheat (see action above).
 656  o Cheat "TenthLevelTaurenChieftain" (changes background music) does not
 657    appear in replays.
 658
 659
 660- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 6610x50 - Change ally options                                   [ 6 bytes ] [APM-]
 662- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 663 1 byte  - player slot number (0-11)(including computer AI players)
 664 1 dword - flags
 665             bit 0-4 - set if allied with player (value 0x1F)
 666             bit 5   - set if vision shared with player (value 0x20)
 667             bit 6   - set if unit control is shared with player (value 0x40)
 668             bit 10  - set if "allied victory" is ticked (value 0x0400)
 669                       (for patch version >= 1.07, see note)
 670
 671 Notes:
 672  o All other bits not listed above are unused (zero).
 673
 674  o The parameter to this action always reflects the current status of all
 675    options.
 676
 677  o There is a action for every player where at least one option was changed.
 678
 679  o Changing the "allied victory" option results in an action for every player
 680    in game (no matter if ally or non-ally).
 681
 682  o On patch version <= 1.06 the "allied victory" option was represented by
 683    bit 9 (value 0x0200).
 684
 685  o Shared unit control is linked to both shared vision and ally up.
 686    If either of them is unticked shared unit control is disabled too.
 687
 688
 689- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 6900x51 - Transfer resources                                   [ 10 bytes ] [APM-]
 691- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 692 1 byte  - player slot number (0-11)(including computer AI players)
 693 1 dword - Gold to transfer
 694 1 dword - Lumber to transfer
 695
 696 Note:
 697  o Transfering resources to multiple players results in an action for every
 698    involved player.
 699
 700- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 7010x60 - Map trigger chat command (?)                          [ n bytes ] [APM-]
 702- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 703 1 dword - unknownA
 704 1 dword - unknownB
 705 n bytes - null terminated string (chat command or trigger name)
 706
 707 Note:
 708  o unknownA == unknownB so far
 709
 710
 711- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 7120x61 - ESC pressed                                            [ 1 byte ] [APM+]
 713- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 714 no additional data
 715
 716 Notes:
 717  o This action often precedes cancel build/train actions.
 718
 719  o But it is also found seperately (e.g. when leaving the 'choose skill'
 720    subdialog of heros using ESC).
 721
 722
 723- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 7240x62 - Scenario Trigger                                     [ 13 bytes ] [APM-]
 725- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 726 1 dword - unknown [A]
 727 1 dword - unknown [B]
 728 1 dword - unknown (counter) (only present for patch version >= 1.07)
 729
 730 Notes:
 731  o A=B in all replays so far.
 732
 733  o Probably sync action for custom map timer triggers.
 734
 735  o The third dword counts upwards in TFT azure tower defense map games.
 736
 737  o The third dword was missing for replays with patch version <= 1.06
 738
 739  o For pre v1.07 replays this record is only 9 bytes.
 740
 741
 742- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 7430x66 - Enter choose hero skill submenu                        [ 1 byte ] [APM+]
 7440x65 for WarCraft III patch version <= 1.06
 745- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 746 no additional data
 747
 748 Notes:
 749  o This action is issued if you select a hero and enter his 'choose skill'
 750    submenu. It does not matter wether one actually can choose a new skill
 751    (because of level up) or not.
 752
 753
 754- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 7550x67 - Enter choose building submenu                          [ 1 byte ] [APM+]
 7560x66 for WarCraft III patch version <= 1.06
 757- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 758 no additional data
 759
 760 Notes:
 761  o This action is issued if you select a worker (peon, peasant, acolyte, wisp)
 762    and enter the build submenu to choose a building to create.
 763    It does not matter whether one really builds something.
 764
 765  o It is usually followed by a build action (0x11) or a ESC action (0x61).
 766
 767
 768- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 7690x68 - Minimap signal (ping)                                [ 13 bytes ] [APM-]
 7700x67 for WarCraft III patch version <= 1.06
 771- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 772 1 dword - Location X
 773 1 dword - Location Y
 774 1 dword - unknown (00 00 A0 40)
 775
 776
 777- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 7780x69 - Continue Game (BlockB)                               [ 17 bytes ] [APM-]
 7790x68 for WarCraft III patch version <= 1.06
 780- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 781 1 dword - unknown [C]
 782 1 dword - unknown [D]
 783 1 dword - unknown [A]
 784 1 dword - unknown [B]
 785
 786 Notes:
 787  o This action is issued if the game winner chooses 'continue game' or
 788    if 'observer on defeat' is enabled and a loser chooses 'continue game'.
 789
 790  o Always combined with 0x6A action (see below).
 791
 792
 793- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 7940x6A - Continue Game (BlockA)                               [ 17 bytes ] [APM-]
 7950x69 for WarCraft III patch version <= 1.06
 796- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 797 1 dword  - unknown [A]
 798 1 dword  - unknown [B]
 799 1 dword  - unknown [C]
 800 1 dword  - unknown [D]
 801
 802 Notes:
 803  o This action is issued if the game winner chooses 'continue game' or
 804    if 'observer on defeat' is enabled and loser choose 'continue game'.
 805
 806  o Only present for replay saver, 'continue game' of other players results in
 807    normal 'leave game' action.
 808
 809  o Always followed by a 0x69 action (see above) with data [C][D][A][B].
 810
 811  o Parameters [A][B] look similar to those of 0x62 action.
 812
 813
 814- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 8150x75 - Unknown                                               [ 2 bytes ] [APM-]
 816- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 817 1 byte  - unknown
 818
 819 Notes:
 820  o Only in scenarios, maybe a trigger-related command
 821
 822
 823===============================================================================
 8243.0 AbilityFlags
 825===============================================================================
 826
 827Ability flags represent additional attributes of an action.
 828E.g.: If bit 0 is set the action was queued (by pressing the shift key) and
 829      will only be executed after the previous action was finished.
 830
 831Unfortunately Warcraft sets some of the bits automatically, even when the
 832player didn't press a modifier button/key (e.g. subgroup command flag).
 833
 834The Flag item used to have BYTE size until patch 1.12. With patch 1.13 it
 835was extended to a WORD.
 836Flag value is composed of the following values
 837
 838  0x0001 - queue command (shift held down)
 839  0x0002 - ? (apply to all units in subgroup ?)
 840  0x0004 - ? (area effect ?)
 841  0x0008 - group command (all units in current selection)
 842  0x0010 - move group without formation (formation disabled)
 843  0x0020 - ?
 844  0x0040 - ctrl held down (subgroup command)
 845         sometimes automatically added
 846         (e.g. subgroup worker -> rightclick mine without ctrl)
 847
 848 new since patch 1.13
 849  0x0100 - autocast on/off command
 850
 851
 852Examples:
 853  0x42 - rightclick item in inventory
 854  0x44 - use ability (revive hero, cast spell)
 855  0x48 - ctrl group command (group peasants -> goldmine)
 856
 857  0x44 - detonate Wisp (area effect unit ability ?)
 858  0x4C - use WON (area effect item ?)
 859  0x00 - use ability (Stop, Hold, uproot, Mirrorimage etc.)
 860  0x40 - Train unit / Research / Buy (resources changed?)
 861         (Orc burrow - combatpositions)
 862  0x42 - use special ability (that changes unit stats ???)
 863         (heros: skill ability, HU townhall: call to arms)
 864  0x44 - Summon (summon units and train heros)
 865
 866TODO: further research, verification
 867
 868
 869===============================================================================
 8704.0 ItemID's
 871===============================================================================
 872
 873There are two types of ItemID's - alphanumeric and stringencoded:
 874 o Both types are 4 Bytes long.
 875 o Stringencoded ID's contain four valid characters.
 876 o Alphanumeric ID's have always the format: ?? ?? 0D 00
 877
 878
 879===============================================================================
 8804.1 Stringencoded ItemID's
 881===============================================================================
 882
 883Stringencoded ItemID's are used for:
 884 o Constructing a building
 885 o Upgrading a building (Tier2, Tier3, tower upgrades)
 886 o Training units/heros
 887 o Skilling hero abilities
 888 o Researching abilities/skills/spells
 889 o Researching upgrades
 890 o Buying items/merc./heros
 891
 892Stringencoded ID's contain four valid characters, giving a representative name
 893for the unit/hero/item/ability.
 894
 895Blizzard used some kind of naming convention for some things:
 896The lowbyte (little Endian style) of the string may mean:
 897     'A' - Hero ability
 898
 899     'e' - Night Elf unit
 900     'E' - Night Elf hero
 901
 902     'h' - Human unit
 903     'H' - Human hero
 904
 905     'o' - Orc unit
 906     'O' - Orc hero
 907
 908     'R' - Research item
 909
 910     'u' - Undead unit
 911     'U' - Undead hero
 912
 913For Hero abilities ('A') the next byte denotes the race (E=elf,H=human,O=orc,U=undead).
 914For Research items ('R') the next byte denotes the race (e=elf,h=human,o=orc,u=undead).
 915
 916Shop items and mercenaries don't fit into this naming sceme - e.g. some things
 917start with a 'h'. But the hole string is always unequivocal.
 918
 919A complete list of string encoded ID's used can be found in the file
 920  "war3.mpq/Scripts/common.ai"    (units & buildings)
 921and in the files
 922  "war3.mpq/Units/*Strings.txt"   (units, abilities, upgrades, items)
 923in your WarCraft directory.
 924
 925Even more information (including gold cost etc.) about the String ID's can be found
 926in the "war3.mpq/Units/*.slk" data files.
 927
 928Following are some example ID's:
 929
 930             ewsp - Elf Wisp
 931             esen - Elf Huntress (Sentinel?)
 932             etoa - Elf tree of ages (tier2)
 933             Resm - Research Elf Melee Attack+1
 934             opeo - Orc peon
 935             ostr - Orc stronghold (tier2)
 936             uaco - UD acolyte
 937             AOsf - Ability Orc: shadow wolves
 938             AOmi - Ability Orc: mirror image
 939             Obla - Orc Blademaster
 940             Ofar - Orc Farseer
 941             Otch - Orc Tauren Chieftain
 942             wneg - wand of negation (WON)
 943             gemt - gem of true seeing
 944             edob - Elf huntress hall
 945             emow - Elf moon well
 946             oalt - Orc altar
 947             otrb - Orc burrow
 948             usep - UD crypt
 949             uzig - UD ziggurat
 950
 951
 952===============================================================================
 9534.2 Numeric ItemID's
 954===============================================================================
 955
 956Numeric ItemID's are only used on EXECUTION of abilities/spells.
 957(e.g. hero spells, unit spells, autocast on/off)
 958
 959Alphanumeric IDs have always the format: ?? ?? 0D 00
 960
 961Following is a list of alphanumeric ID's found so far:
 962
 963            03 00 0D 00 - rightclick
 964            04 00 0D 00 - stop
 965
 966            08 00 0D 00 - cancel (train, research) (often preceded by an ESC action 0x61)
 967
 968            0C 00 0D 00 - set rally point
 969
 970            0F 00 0D 00 - attack
 971            10 00 0D 00 - attack ground (e.g. Orc Catapult)                    [11-40-ID-ClickX/Y]
 972
 973            12 00 0D 00 - move unit
 974
 975            16 00 0D 00 - patrol
 976
 977            19 00 0D 00 - hold position
 978
 979            - - - - - -
 980            21 00 0D 00 - give away item (from inventory to unit or ground)    [13-40-ID-ClickX/Y-UnitID-ItemID]
 981            - - - - - -
 982            22 00 0D 00 - swap item place 7 (slot of item to swap with!)
 983            23 00 0D 00 - swap item place 8
 984            24 00 0D 00 - swap item place 4
 985            25 00 0D 00 - swap item place 5
 986            26 00 0D 00 - swap item place 1
 987            27 00 0D 00 - swap item place 2
 988            - - - - - -
 989            28 00 0D 00 - use item place 7
 990            29 00 0D 00 - use item place 8
 991            2A 00 0D 00 - use item place 4
 992            2B 00 0D 00 - use item place 5
 993            2C 00 0D 00 - use item place 1
 994            2D 00 0D 00 - use item place 2
 995            - - - - - -
 996
 997            31 00 0D 00 - return resources (tested with ghoul with lumber)
 998            32 00 0D 00 - mine (ghoul -> lumber)
 999
1000            37 00 0D 00 - use ability: reveal area (N goblin laboratory)       [11-40-ID-ClickX/Y]
1001            - - - - - -
1002            38 00 0D 00 - use ability: repair (HU peasant, Orc peon)           [12-40-ID-ClickX/Y-UnitID]
1003            39 00 0D 00 - enable autocast: repair (HU peasant, Orc peon)       [10-42-ID]
1004            3A 00 0D 00 - disable autocast: repair (HU peasant, Orc peon)      [10-42-ID]
1005            - - - - - -
1006            3B 00 0D 00 - revive hero (first  of 1 or more dead heros)         [12-44-ID-ClickX/Y-UnitID]
1007            3C 00 0D 00 - revive hero (second of 2 or more dead heros)         [12-44-ID-ClickX/Y-UnitID]
1008            3D 00 0D 00 - revive hero (third  of 3 or more dead heros)         [12-44-ID-ClickX/Y-UnitID]
1009            3E 00 0D 00 - revive hero (fourth of 4 or more dead heros)         [12-44-ID-ClickX/Y-UnitID]
1010            3F 00 0D 00 - revive hero (fifth  of 5 dead heros)                 [12-44-ID-ClickX/Y-UnitID]
1011            - - - - - -
1012
1013            48 00 0D 00 - use ability: kaboom (Goblin sapper)                  [12-44-ID-ClickX/Y-TargetID] [Action14]
1014            49 00 0D 00 - enable autocast: kaboom (Goblin sapper)              [10-42-ID]
1015            4A 00 0D 00 - disable autocast: kaboom (Goblin sapper)             [10-42-ID]
1016
1017            - - - - - -
1018            4E 00 0D 00 - load unit (NE mine/Zepellin)                         [12-44-ID-ClickX/Y-TargetID]
1019            4F 00 0D 00 - remove single unit (click unit) (NE mine/Zepellin)   [12-02-ID-ClickX/Y-TargetID]
1020            50 00 0D 00 - unload all units (NE mine/Zepellin)                  [12-40-ID-ClickX/Y-TargetID] [Action11]
1021            51 00 0D 00 - all wisp exit mine (button) (NE gold mine)           [10-40-ID]
1022            - - - - - -
1023
1024            53 00 0D 00 - enable autocast: load corpses (UD: meat wagon)       [10-42-ID]
1025            54 00 0D 00 - disable autocast: load corpses (UD: meat wagon)      [10-42-ID]
1026            55 00 0D 00 - use ability: load corpses (UD: meat wagon)           [10-40-ID]
1027            56 00 0D 00 - use ability: unload corpses (UD: meat wagon)         [10-40-ID]
1028            57 00 0D 00 - use ability: enable defend (HU footman)              [10-42-ID]
1029            58 00 0D 00 - use ability: disable defend (HU footman)             [10-42-ID]
1030            59 00 0D 00 - use ability: area dispell (Hu priest)                [11-44-ID-ClickX/Y]
1031
1032            5C 00 0D 00 - use ability: flare (Hu Mortar team)                  [11-44-ID-ClickX/Y]
1033
1034            5F 00 0D 00 - use ability: heal (Hu priest)                        [12-44-ID-ClickX/Y-TargetID]
1035            60 00 0D 00 - enable autocast heal (Hu priest)                     [10-42-ID]
1036            61 00 0D 00 - disable autocast heal (Hu priest)                    [10-42-ID]
1037            62 00 0D 00 - use ability: inner fire (Hu priest)                  [12-44-ID-ClickX/Y-TargetID]
1038            63 00 0D 00 - enable autocast inner fire (Hu priest)               [10-42-ID]
1039            64 00 0D 00 - disable autocast inner fire (Hu priest)              [10-42-ID]
1040            65 00 0D 00 - use ability: invisibility (Hu sorcress)              [12-44-ID-ClickX/Y-TargetID]
1041
1042            68 00 0D 00 - use ability: call to arms (Hu peasant)               [10-42-ID]
1043            69 00 0D 00 - use ability: return to work (Hu militia)             [10-42-ID]
1044            6A 00 0D 00 - use ability: polymorph (Hu sorcress)                 [12-44-ID-ClickX/Y-TargetID]
1045            6B 00 0D 00 - use ability: slow (Hu sorcress)                      [12-44-ID-ClickX/Y-TargetID]
1046            6C 00 0D 00 - enable autocast slow (Hu sorcress)                   [10-42-ID]
1047            6D 00 0D 00 - disable autocast slow (Hu sorcress)                  [10-42-ID]
1048
1049            72 00 0D 00 - call to arms (Hu townhall)
1050            73 00 0D 00 - return to work (Hu townhall)
1051
1052            76 00 0D 00 - use ability: avatar (Hu Mountain King ultimate)      [10-40-ID]
1053
1054            79 00 0D 00 - use ability: blizzard (Hu Archmage)                  [11-44-ID-ClickX/Y] [11-5C-ID-ClickX/Y]
1055            7A 00 0D 00 - use ability: divine shield (Hu Paladin)              [10-40-ID]
1056            7B 00 0D 00 - use ability: divine shield - turn off(Hu Paladin)    [10-40-ID]
1057            7C 00 0D 00 - use ability: holy light (Hu Paladin)                 [12-44-ID-ClickX/Y-TargetID]
1058            7D 00 0D 00 - use ability: mass teleportation  (Hu Archmage)       [12-44-ID-ClickX/Y-TargetID]
1059            7E 00 0D 00 - use ability: revive (Hu Paladin ultimate)            [10-44-ID]
1060            7F 00 0D 00 - use ability: storm bolt (Hu Mountain King)           [12-44-ID-ClickX/Y-TargetID]
1061            80 00 0D 00 - use ability: clap (Hu Mountain King)                 [10-40-ID]
1062            81 00 0D 00 - use ability: summon water elemental (Hu Archmage)    [10-44-ID]
1063
1064            - - - - - -
1065            83 00 0D 00 - peons into combat positions (Orc Burrow)
1066  (p1.07)   84 00 0D 00 - Berserk (Orc troll berserker)                        [10- ]
1067            85 00 0D 00 - use ability: bloodlust (Orc Shaman)                  [12-44-ID-ClickX/Y-TargetID]
1068            86 00 0D 00 - enable autocast bloodlust (Orc Shaman)               [10-42-ID]
1069            87 00 0D 00 - disable autocast bloodlust (Orc Shaman)              [10-42-ID]
1070            88 00 0D 00 - use ability: devour (Orc Kodo beast)                 [12-44-ID-ClickX/Y-TargetID]
1071            89 00 0D 00 - use ability: sentry ward (Orc Witch Doctor)          [11-44-ID-ClickX/Y]
1072            8A 00 0D 00 - use ability: entangle (Orc Raider)                   [12-44-ID-ClickX/Y-TargetID]
1073
1074            8D 00 0D 00 - use ability: healing ward (Orc Witch Doctor)         [11-44-ID-ClickX/Y]
1075            8E 00 0D 00 - use ability: lightning shield (Orc Shaman)           [12-44-ID-ClickX/Y-TargetID]
1076            8F 00 0D 00 - use ability: purge (Orc Shaman)                      [12-44-ID-ClickX/Y-TargetID]
1077
1078            91 00 0D 00 - return to work (Orc Burrow)
1079            92 00 0D 00 - use ability: stasis trap (Orc Witch Doctor)          [11-44-ID-ClickX/Y]
1080
1081            97 00 0D 00 - use ability: chain lightning (Orc Farseer)           [12-44-ID-ClickX/Y-TargetID]
1082
1083            99 00 0D 00 - use ability: earthquake (Orc Farseer ultimate)       [11-44-ID-ClickX/Y]
1084            9A 00 0D 00 - use ability: farsight (Orc Farseer)                  [11-44-ID-ClickX/Y]
1085            9B 00 0D 00 - use ability: mirror image (Orc Blademaster)
1086
1087            9D 00 0D 00 - use ability: shockwave (Orc Tauren Chieftain)        [12-44-ID-ClickX/Y-TargetID] [14- ]
1088            9E 00 0D 00 - use ability: shadow wolves (Orc Farseer)
1089            9F 00 0D 00 - use ability: war stomp (Orc Tauren Chieftain)        [10-40-ID]
1090            A0 00 0D 00 - use ability: blade storm (Orc Blademaster ultimate)  [10-42-ID]
1091            A1 00 0D 00 - use ability: wind walk (Orc Blademaster)             [10-42-ID]
1092
1093            - - - - - -
1094            A3 00 0D 00 - use ability: shadowmeld (NE females)
1095            A4 00 0D 00 - use ability: dispell magic (NE Dryad)                [12-44-ID-ClickX/Y-TargetID]
1096            A5 00 0D 00 - enable autocast: dispell magic (NE Dryad)            [10-42-ID]
1097            A6 00 0D 00 - disable autocast: dispell magic (NE Dryad)           [10-42-ID]
1098
1099            AA 00 0D 00 - use ability: transform: DotC -> bear (NE DotC)       [10-42-ID] (followed by [19-FF])
1100            AB 00 0D 00 - use ability: transform: bear -> DotC (NE DotC)       [10-42-ID] (followed by [19-FF])
1101
1102            AE 00 0D 00 - use ability: pick up archer (NE hippogryph)          [12-44-ID-ClickX/Y-TargetID]
1103            AF 00 0D 00 - use ability: mount hippogryph (NE archer)            [12-44-ID-ClickX/Y-TargetID]
1104            B0 00 0D 00 - use ability: cyclone (NE DotT)                       [12-44-ID-ClickX/Y-TargetID]
1105            B1 00 0D 00 - use ability: detonate (NE Wisp)
1106            B2 00 0D 00 - use ability: eat tree (NE Ancient)                   [12-44-ID-ClickX/Y-TargetID] [14- ]
1107            B3 00 0D 00 - use ability: entangle goldmine (NE Tree of Life)     [12-40-ID-ClickX/Y-TargetID] [14- ]
1108
1109            B5 00 0D 00 - use ability: feary fire (NE DotT)                    [12-44-ID-ClickX/Y-TargetID]
1110            B6 00 0D 00 - enable autocast: feary fire (NE DotT)                [10-42-ID]
1111            B7 00 0D 00 - disable autocast: feary fire (NE DotT)               [10-42-ID]
1112
1113            BB 00 0D 00 - use ability: transform into crow form (NE DotT)      [10-42-ID] (followed by [19-FF])
1114            BC 00 0D 00 - use ability: transform back from crow form (NE DotT) [10-42-ID] (followed by [19-FF])
1115            BD 00 0D 00 - use ability: replenish life/mana (NE Moon well)      [12-44-ID-ClickX/Y-TargetID]
1116            BE 00 0D 00 - enable autocast: replenish life/mana (NE Moon well)  [10-42-ID]
1117            BF 00 0D 00 - disable autocast: replenish life/mana (NE Moon well) [10-42-ID]
1118            C0 00 0D 00 - use ability: rejuvenation (NE DotC)                  [12-44-ID-ClickX/Y-TargetID]
1119            C1 00 0D 00 - use ability: renew (repair) (NE Wisp)                [12-40-ID-ClickX/Y-UnitID]
1120            C2 00 0D 00 - enable autocast: renew (repair) (NE Wisp)            [10-42-ID]
1121            C3 00 0D 00 - disable autocast: renew (repair) (NE Wisp)           [10-42-ID]
1122            C4 00 0D 00 - use ability: roar (NE DotC)                          [10-44-ID]
1123            C5 00 0D 00 - use ability: root (NE Ancient)                       [11-04-ID-ClickX/Y]
1124            C6 00 0D 00 - use ability: uproot (NE Ancient)                     [10-40-ID]
1125
1126            CB 00 0D 00 - use ability: entangling roots (NE KotG)              [12-44-ID-ClickX/Y-TargetID]
1127
1128            CD 00 0D 00 - use ability: searing arrow (NE PotM)                 [12-44-ID-ClickX/Y-TargetID]
1129            CE 00 0D 00 - enable autocast: searing arrow (NE PotM)             [10-42-ID]
1130            CF 01 0D 00 - disable autocast: searing arrow (NE PotM)            [10-42-ID]
1131            D0 00 0D 00 - use ability: summon treants (NE KotG)
1132            D1 00 0D 00 - use ability: immolation ON (NE Daemon Hunter)        [10-42-ID]
1133            D2 00 0D 00 - use ability: immolation OFF (NE Daemon Hunter)       [10-42-ID]
1134            D3 00 0D 00 - use ability: manaburn (NE Daemon Hunter)             [12-44-ID-ClickX/Y-TargetID]
1135            D4 00 0D 00 - use ability: metamorphosis ((NE DH ultimate)         [10-40-ID]
1136            D5 00 0D 00 - use ability: scout owl (NE PotM)                     [10-44-ID]
1137            D6 00 0D 00 - use ability: sentinel (N…

Large files files are truncated, but you can click here to view the full file