mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-05-03 00:03:50 +00:00
feat(animation): 452 named constants, 30-phase character animation state machine
Add animation_ids.hpp/cpp with all 452 WoW animation ID constants (anim::STAND, anim::RUN, anim::FIRE_BOW, ... anim::FLY_BACKWARDS, etc.), nameFromId() O(1) lookup, and flyVariant() compact 218-element ground→FLY_* resolver. Expand AnimationController into a full state machine with 20+ named states: spell cast (directed→omni→cast fallback chain, instant one-shot release), hit reactions (WOUND/CRIT/DODGE/BLOCK/SHIELD_BLOCK), stun, wounded idle, stealth animation substitution, loot, fishing channel, sit/sleep/kneel down→loop→up transitions, sheathe/unsheathe combat enter/exit, ranged weapons (BOW/GUN/CROSSBOW/THROWN with reload states), game object OPEN/CLOSE/DESTROY, vehicle enter/exit, mount flight directionals (FLY_LEFT/RIGHT/UP/DOWN/BACKWARDS), emote state variants, off-hand/pierce/dual-wield alternation, NPC birth/spawn/drown/rise, sprint aura override, totem idle, NPC greeting/farewell. Add spell_defines.hpp with SpellEffect (~45 constants) and SpellMissInfo (12 constants) namespaces; replace all magic numbers in spell_handler.cpp. Add GAMEOBJECT_BYTES_1 to update field table (all 4 expansion JSONs) and wire GameObjectStateCallback. Add DBC cross-validation on world entry. Expand tools/_ANIM_NAMES from ~35 to 452 entries in m2_viewer.py and asset_pipeline_gui.py. Add tests/test_animation_ids.cpp. Bug fixes included: - Stand state 1 was animating READY_2H(27) — fixed to SITTING(97) - Spell casts ended freeze-frame — add one-shot release animation - NPC 2H swing probe chain missing ATTACK_2H_LOOSE (polearm/staff) - Chair sits (states 2/4/5/6) incorrectly played floor-sit transition - STOP(3) used for all spell casts — replaced with model-aware chain
This commit is contained in:
parent
d54e262048
commit
e58f9b4b40
59 changed files with 3903 additions and 483 deletions
|
|
@ -873,24 +873,217 @@ class AssetPipelineGUI:
|
|||
|
||||
# ── M2 Preview (wireframe + textures + animations) ──
|
||||
|
||||
# Common animation ID names
|
||||
# Common animation ID names — complete list from animation_ids.hpp (452 entries)
|
||||
_ANIM_NAMES: dict[int, str] = {
|
||||
0: "Stand", 1: "Death", 2: "Spell", 3: "Stop", 4: "Walk", 5: "Run",
|
||||
6: "Dead", 7: "Rise", 8: "StandWound", 9: "CombatWound", 10: "CombatCritical",
|
||||
11: "ShuffleLeft", 12: "ShuffleRight", 13: "Walkbackwards", 14: "Stun",
|
||||
15: "HandsClosed", 16: "AttackUnarmed", 17: "Attack1H", 18: "Attack2H",
|
||||
19: "Attack2HL", 20: "ParryUnarmed", 21: "Parry1H", 22: "Parry2H",
|
||||
23: "Parry2HL", 24: "ShieldBlock", 25: "ReadyUnarmed", 26: "Ready1H",
|
||||
27: "Ready2H", 28: "Ready2HL", 29: "ReadyBow", 30: "Dodge",
|
||||
31: "SpellPrecast", 32: "SpellCast", 33: "SpellCastArea",
|
||||
34: "NPCWelcome", 35: "NPCGoodbye", 36: "Block", 37: "JumpStart",
|
||||
38: "Jump", 39: "JumpEnd", 40: "Fall", 41: "SwimIdle", 42: "Swim",
|
||||
43: "SwimLeft", 44: "SwimRight", 45: "SwimBackwards",
|
||||
60: "SpellChannelDirected", 61: "SpellChannelOmni",
|
||||
69: "CombatAbility", 70: "CombatAbility2H",
|
||||
94: "Kneel", 113: "Loot",
|
||||
135: "ReadyRifle", 138: "Fly", 143: "CustomSpell01",
|
||||
157: "EmoteTalk", 185: "FlyIdle",
|
||||
# ── Classic (Vanilla WoW 1.x) — IDs 0–145 ──
|
||||
0: "STAND", 1: "DEATH", 2: "SPELL", 3: "STOP", 4: "WALK", 5: "RUN",
|
||||
6: "DEAD", 7: "RISE", 8: "STAND_WOUND", 9: "COMBAT_WOUND",
|
||||
10: "COMBAT_CRITICAL", 11: "SHUFFLE_LEFT", 12: "SHUFFLE_RIGHT",
|
||||
13: "WALK_BACKWARDS", 14: "STUN", 15: "HANDS_CLOSED",
|
||||
16: "ATTACK_UNARMED", 17: "ATTACK_1H", 18: "ATTACK_2H",
|
||||
19: "ATTACK_2H_LOOSE", 20: "PARRY_UNARMED", 21: "PARRY_1H",
|
||||
22: "PARRY_2H", 23: "PARRY_2H_LOOSE", 24: "SHIELD_BLOCK",
|
||||
25: "READY_UNARMED", 26: "READY_1H", 27: "READY_2H",
|
||||
28: "READY_2H_LOOSE", 29: "READY_BOW", 30: "DODGE",
|
||||
31: "SPELL_PRECAST", 32: "SPELL_CAST", 33: "SPELL_CAST_AREA",
|
||||
34: "NPC_WELCOME", 35: "NPC_GOODBYE", 36: "BLOCK",
|
||||
37: "JUMP_START", 38: "JUMP", 39: "JUMP_END", 40: "FALL",
|
||||
41: "SWIM_IDLE", 42: "SWIM", 43: "SWIM_LEFT", 44: "SWIM_RIGHT",
|
||||
45: "SWIM_BACKWARDS", 46: "ATTACK_BOW", 47: "FIRE_BOW",
|
||||
48: "READY_RIFLE", 49: "ATTACK_RIFLE", 50: "LOOT",
|
||||
51: "READY_SPELL_DIRECTED", 52: "READY_SPELL_OMNI",
|
||||
53: "SPELL_CAST_DIRECTED", 54: "SPELL_CAST_OMNI", 55: "BATTLE_ROAR",
|
||||
56: "READY_ABILITY", 57: "SPECIAL_1H", 58: "SPECIAL_2H",
|
||||
59: "SHIELD_BASH", 60: "EMOTE_TALK", 61: "EMOTE_EAT",
|
||||
62: "EMOTE_WORK", 63: "EMOTE_USE_STANDING", 64: "EMOTE_EXCLAMATION",
|
||||
65: "EMOTE_QUESTION", 66: "EMOTE_BOW", 67: "EMOTE_WAVE",
|
||||
68: "EMOTE_CHEER", 69: "EMOTE_DANCE", 70: "EMOTE_LAUGH",
|
||||
71: "EMOTE_SLEEP", 72: "EMOTE_SIT_GROUND", 73: "EMOTE_RUDE",
|
||||
74: "EMOTE_ROAR", 75: "EMOTE_KNEEL", 76: "EMOTE_KISS",
|
||||
77: "EMOTE_CRY", 78: "EMOTE_CHICKEN", 79: "EMOTE_BEG",
|
||||
80: "EMOTE_APPLAUD", 81: "EMOTE_SHOUT", 82: "EMOTE_FLEX",
|
||||
83: "EMOTE_SHY", 84: "EMOTE_POINT", 85: "ATTACK_1H_PIERCE",
|
||||
86: "ATTACK_2H_LOOSE_PIERCE", 87: "ATTACK_OFF",
|
||||
88: "ATTACK_OFF_PIERCE", 89: "SHEATHE", 90: "HIP_SHEATHE",
|
||||
91: "MOUNT", 92: "RUN_RIGHT", 93: "RUN_LEFT",
|
||||
94: "MOUNT_SPECIAL", 95: "KICK", 96: "SIT_GROUND_DOWN",
|
||||
97: "SITTING", 98: "SIT_GROUND_UP", 99: "SLEEP_DOWN",
|
||||
100: "SLEEP", 101: "SLEEP_UP", 102: "SIT_CHAIR_LOW",
|
||||
103: "SIT_CHAIR_MED", 104: "SIT_CHAIR_HIGH", 105: "LOAD_BOW",
|
||||
106: "LOAD_RIFLE", 107: "ATTACK_THROWN", 108: "READY_THROWN",
|
||||
109: "HOLD_BOW", 110: "HOLD_RIFLE", 111: "HOLD_THROWN",
|
||||
112: "LOAD_THROWN", 113: "EMOTE_SALUTE", 114: "KNEEL_START",
|
||||
115: "KNEEL_LOOP", 116: "KNEEL_END", 117: "ATTACK_UNARMED_OFF",
|
||||
118: "SPECIAL_UNARMED", 119: "STEALTH_WALK", 120: "STEALTH_STAND",
|
||||
121: "KNOCKDOWN", 122: "EATING_LOOP", 123: "USE_STANDING_LOOP",
|
||||
124: "CHANNEL_CAST_DIRECTED", 125: "CHANNEL_CAST_OMNI",
|
||||
126: "WHIRLWIND", 127: "BIRTH", 128: "USE_STANDING_START",
|
||||
129: "USE_STANDING_END", 130: "CREATURE_SPECIAL", 131: "DROWN",
|
||||
132: "DROWNED", 133: "FISHING_CAST", 134: "FISHING_LOOP",
|
||||
135: "FLY", 136: "EMOTE_WORK_NO_SHEATHE",
|
||||
137: "EMOTE_STUN_NO_SHEATHE", 138: "EMOTE_USE_STANDING_NO_SHEATHE",
|
||||
139: "SPELL_SLEEP_DOWN", 140: "SPELL_KNEEL_START",
|
||||
141: "SPELL_KNEEL_LOOP", 142: "SPELL_KNEEL_END", 143: "SPRINT",
|
||||
144: "IN_FLIGHT", 145: "SPAWN",
|
||||
# ── The Burning Crusade (TBC 2.x) — IDs 146–199 ──
|
||||
146: "CLOSE", 147: "CLOSED", 148: "OPEN", 149: "DESTROY",
|
||||
150: "DESTROYED", 151: "UNSHEATHE", 152: "SHEATHE_ALT",
|
||||
153: "ATTACK_UNARMED_NO_SHEATHE", 154: "STEALTH_RUN",
|
||||
155: "READY_CROSSBOW", 156: "ATTACK_CROSSBOW",
|
||||
157: "EMOTE_TALK_EXCLAMATION", 158: "FLY_IDLE", 159: "FLY_FORWARD",
|
||||
160: "FLY_BACKWARDS", 161: "FLY_LEFT", 162: "FLY_RIGHT",
|
||||
163: "FLY_UP", 164: "FLY_DOWN", 165: "FLY_LAND_START",
|
||||
166: "FLY_LAND_RUN", 167: "FLY_LAND_END",
|
||||
168: "EMOTE_TALK_QUESTION", 169: "EMOTE_READ",
|
||||
170: "EMOTE_SHIELDBLOCK", 171: "EMOTE_CHOP",
|
||||
172: "EMOTE_HOLDRIFLE", 173: "EMOTE_HOLDBOW",
|
||||
174: "EMOTE_HOLDTHROWN", 175: "CUSTOM_SPELL_02",
|
||||
176: "CUSTOM_SPELL_03", 177: "CUSTOM_SPELL_04",
|
||||
178: "CUSTOM_SPELL_05", 179: "CUSTOM_SPELL_06",
|
||||
180: "CUSTOM_SPELL_07", 181: "CUSTOM_SPELL_08",
|
||||
182: "CUSTOM_SPELL_09", 183: "CUSTOM_SPELL_10",
|
||||
184: "EMOTE_STATE_DANCE",
|
||||
# ── Wrath of the Lich King (WotLK 3.x) — IDs 185+ ──
|
||||
185: "FLY_STAND", 186: "EMOTE_STATE_LAUGH",
|
||||
187: "EMOTE_STATE_POINT", 188: "EMOTE_STATE_EAT",
|
||||
189: "EMOTE_STATE_WORK", 190: "EMOTE_STATE_SIT_GROUND",
|
||||
191: "EMOTE_STATE_HOLD_BOW", 192: "EMOTE_STATE_HOLD_RIFLE",
|
||||
193: "EMOTE_STATE_HOLD_THROWN", 194: "FLY_COMBAT_WOUND",
|
||||
195: "FLY_COMBAT_CRITICAL", 196: "RECLINED",
|
||||
197: "EMOTE_STATE_ROAR", 198: "EMOTE_USE_STANDING_LOOP_2",
|
||||
199: "EMOTE_STATE_APPLAUD", 200: "READY_FIST",
|
||||
201: "SPELL_CHANNEL_DIRECTED_OMNI", 202: "SPECIAL_ATTACK_1H_OFF",
|
||||
203: "ATTACK_FIST_1H", 204: "ATTACK_FIST_1H_OFF",
|
||||
205: "PARRY_FIST_1H", 206: "READY_FIST_1H",
|
||||
207: "EMOTE_STATE_READ_AND_TALK",
|
||||
208: "EMOTE_STATE_WORK_NO_SHEATHE", 209: "FLY_RUN",
|
||||
210: "EMOTE_STATE_KNEEL_2", 211: "EMOTE_STATE_SPELL_KNEEL",
|
||||
212: "EMOTE_STATE_USE_STANDING", 213: "EMOTE_STATE_STUN",
|
||||
214: "EMOTE_STATE_STUN_NO_SHEATHE", 215: "EMOTE_TRAIN",
|
||||
216: "EMOTE_DEAD", 217: "EMOTE_STATE_DANCE_ONCE",
|
||||
218: "FLY_DEATH", 219: "FLY_STAND_WOUND",
|
||||
220: "FLY_SHUFFLE_LEFT", 221: "FLY_SHUFFLE_RIGHT",
|
||||
222: "FLY_WALK_BACKWARDS", 223: "FLY_STUN",
|
||||
224: "FLY_HANDS_CLOSED", 225: "FLY_ATTACK_UNARMED",
|
||||
226: "FLY_ATTACK_1H", 227: "FLY_ATTACK_2H",
|
||||
228: "FLY_ATTACK_2H_LOOSE", 229: "FLY_SPELL", 230: "FLY_STOP",
|
||||
231: "FLY_WALK", 232: "FLY_DEAD", 233: "FLY_RISE",
|
||||
234: "FLY_RUN_2", 235: "FLY_FALL", 236: "FLY_SWIM_IDLE",
|
||||
237: "FLY_SWIM", 238: "FLY_SWIM_LEFT", 239: "FLY_SWIM_RIGHT",
|
||||
240: "FLY_SWIM_BACKWARDS", 241: "FLY_ATTACK_BOW",
|
||||
242: "FLY_FIRE_BOW", 243: "FLY_READY_RIFLE",
|
||||
244: "FLY_ATTACK_RIFLE", 245: "TOTEM_SMALL", 246: "TOTEM_MEDIUM",
|
||||
247: "TOTEM_LARGE", 248: "FLY_LOOT",
|
||||
249: "FLY_READY_SPELL_DIRECTED", 250: "FLY_READY_SPELL_OMNI",
|
||||
251: "FLY_SPELL_CAST_DIRECTED", 252: "FLY_SPELL_CAST_OMNI",
|
||||
253: "FLY_BATTLE_ROAR", 254: "FLY_READY_ABILITY",
|
||||
255: "FLY_SPECIAL_1H", 256: "FLY_SPECIAL_2H",
|
||||
257: "FLY_SHIELD_BASH", 258: "FLY_EMOTE_TALK",
|
||||
259: "FLY_EMOTE_EAT", 260: "FLY_EMOTE_WORK",
|
||||
261: "FLY_EMOTE_USE_STANDING", 262: "FLY_EMOTE_BOW",
|
||||
263: "FLY_EMOTE_WAVE", 264: "FLY_EMOTE_CHEER",
|
||||
265: "FLY_EMOTE_DANCE", 266: "FLY_EMOTE_LAUGH",
|
||||
267: "FLY_EMOTE_SLEEP", 268: "FLY_EMOTE_SIT_GROUND",
|
||||
269: "FLY_EMOTE_RUDE", 270: "FLY_EMOTE_ROAR",
|
||||
271: "FLY_EMOTE_KNEEL", 272: "FLY_EMOTE_KISS",
|
||||
273: "FLY_EMOTE_CRY", 274: "FLY_EMOTE_CHICKEN",
|
||||
275: "FLY_EMOTE_BEG", 276: "FLY_EMOTE_APPLAUD",
|
||||
277: "FLY_EMOTE_SHOUT", 278: "FLY_EMOTE_FLEX",
|
||||
279: "FLY_EMOTE_SHY", 280: "FLY_EMOTE_POINT",
|
||||
281: "FLY_ATTACK_1H_PIERCE", 282: "FLY_ATTACK_2H_LOOSE_PIERCE",
|
||||
283: "FLY_ATTACK_OFF", 284: "FLY_ATTACK_OFF_PIERCE",
|
||||
285: "FLY_SHEATHE", 286: "FLY_HIP_SHEATHE", 287: "FLY_MOUNT",
|
||||
288: "FLY_RUN_RIGHT", 289: "FLY_RUN_LEFT",
|
||||
290: "FLY_MOUNT_SPECIAL", 291: "FLY_KICK",
|
||||
292: "FLY_SIT_GROUND_DOWN", 293: "FLY_SITTING",
|
||||
294: "FLY_SIT_GROUND_UP", 295: "FLY_SLEEP_DOWN",
|
||||
296: "FLY_SLEEP", 297: "FLY_SLEEP_UP",
|
||||
298: "FLY_SIT_CHAIR_LOW", 299: "FLY_SIT_CHAIR_MED",
|
||||
300: "FLY_SIT_CHAIR_HIGH", 301: "FLY_LOAD_BOW",
|
||||
302: "FLY_LOAD_RIFLE", 303: "FLY_ATTACK_THROWN",
|
||||
304: "FLY_READY_THROWN", 305: "FLY_HOLD_BOW",
|
||||
306: "FLY_HOLD_RIFLE", 307: "FLY_HOLD_THROWN",
|
||||
308: "FLY_LOAD_THROWN", 309: "FLY_EMOTE_SALUTE",
|
||||
310: "FLY_KNEEL_START", 311: "FLY_KNEEL_LOOP",
|
||||
312: "FLY_KNEEL_END", 313: "FLY_ATTACK_UNARMED_OFF",
|
||||
314: "FLY_SPECIAL_UNARMED", 315: "FLY_STEALTH_WALK",
|
||||
316: "FLY_STEALTH_STAND", 317: "FLY_KNOCKDOWN",
|
||||
318: "FLY_EATING_LOOP", 319: "FLY_USE_STANDING_LOOP",
|
||||
320: "FLY_CHANNEL_CAST_DIRECTED", 321: "FLY_CHANNEL_CAST_OMNI",
|
||||
322: "FLY_WHIRLWIND", 323: "FLY_BIRTH",
|
||||
324: "FLY_USE_STANDING_START", 325: "FLY_USE_STANDING_END",
|
||||
326: "FLY_CREATURE_SPECIAL", 327: "FLY_DROWN",
|
||||
328: "FLY_DROWNED", 329: "FLY_FISHING_CAST",
|
||||
330: "FLY_FISHING_LOOP", 331: "FLY_FLY",
|
||||
332: "FLY_EMOTE_WORK_NO_SHEATHE",
|
||||
333: "FLY_EMOTE_STUN_NO_SHEATHE",
|
||||
334: "FLY_EMOTE_USE_STANDING_NO_SHEATHE",
|
||||
335: "FLY_SPELL_SLEEP_DOWN", 336: "FLY_SPELL_KNEEL_START",
|
||||
337: "FLY_SPELL_KNEEL_LOOP", 338: "FLY_SPELL_KNEEL_END",
|
||||
339: "FLY_SPRINT", 340: "FLY_IN_FLIGHT", 341: "FLY_SPAWN",
|
||||
342: "FLY_CLOSE", 343: "FLY_CLOSED", 344: "FLY_OPEN",
|
||||
345: "FLY_DESTROY", 346: "FLY_DESTROYED", 347: "FLY_UNSHEATHE",
|
||||
348: "FLY_SHEATHE_ALT", 349: "FLY_ATTACK_UNARMED_NO_SHEATHE",
|
||||
350: "FLY_STEALTH_RUN", 351: "FLY_READY_CROSSBOW",
|
||||
352: "FLY_ATTACK_CROSSBOW", 353: "FLY_EMOTE_TALK_EXCLAMATION",
|
||||
354: "FLY_EMOTE_TALK_QUESTION", 355: "FLY_EMOTE_READ",
|
||||
356: "EMOTE_HOLD_CROSSBOW", 357: "FLY_EMOTE_HOLD_BOW",
|
||||
358: "FLY_EMOTE_HOLD_RIFLE", 359: "FLY_EMOTE_HOLD_THROWN",
|
||||
360: "FLY_EMOTE_HOLD_CROSSBOW", 361: "FLY_CUSTOM_SPELL_02",
|
||||
362: "FLY_CUSTOM_SPELL_03", 363: "FLY_CUSTOM_SPELL_04",
|
||||
364: "FLY_CUSTOM_SPELL_05", 365: "FLY_CUSTOM_SPELL_06",
|
||||
366: "FLY_CUSTOM_SPELL_07", 367: "FLY_CUSTOM_SPELL_08",
|
||||
368: "FLY_CUSTOM_SPELL_09", 369: "FLY_CUSTOM_SPELL_10",
|
||||
370: "FLY_EMOTE_STATE_DANCE", 371: "EMOTE_EAT_NO_SHEATHE",
|
||||
372: "MOUNT_RUN_RIGHT", 373: "MOUNT_RUN_LEFT",
|
||||
374: "MOUNT_WALK_BACKWARDS", 375: "MOUNT_SWIM_IDLE",
|
||||
376: "MOUNT_SWIM", 377: "MOUNT_SWIM_LEFT",
|
||||
378: "MOUNT_SWIM_RIGHT", 379: "MOUNT_SWIM_BACKWARDS",
|
||||
380: "MOUNT_FLIGHT_IDLE", 381: "MOUNT_FLIGHT_FORWARD",
|
||||
382: "MOUNT_FLIGHT_BACKWARDS", 383: "MOUNT_FLIGHT_LEFT",
|
||||
384: "MOUNT_FLIGHT_RIGHT", 385: "MOUNT_FLIGHT_UP",
|
||||
386: "MOUNT_FLIGHT_DOWN", 387: "MOUNT_FLIGHT_LAND_START",
|
||||
388: "MOUNT_FLIGHT_LAND_RUN", 389: "MOUNT_FLIGHT_LAND_END",
|
||||
390: "FLY_EMOTE_STATE_LAUGH", 391: "FLY_EMOTE_STATE_POINT",
|
||||
392: "FLY_EMOTE_STATE_EAT", 393: "FLY_EMOTE_STATE_WORK",
|
||||
394: "FLY_EMOTE_STATE_SIT_GROUND",
|
||||
395: "FLY_EMOTE_STATE_HOLD_BOW",
|
||||
396: "FLY_EMOTE_STATE_HOLD_RIFLE",
|
||||
397: "FLY_EMOTE_STATE_HOLD_THROWN",
|
||||
398: "FLY_EMOTE_STATE_ROAR", 399: "FLY_RECLINED",
|
||||
400: "EMOTE_TRAIN_2", 401: "EMOTE_DEAD_2",
|
||||
402: "FLY_EMOTE_USE_STANDING_LOOP_2",
|
||||
403: "FLY_EMOTE_STATE_APPLAUD", 404: "FLY_READY_FIST",
|
||||
405: "FLY_SPELL_CHANNEL_DIRECTED_OMNI",
|
||||
406: "FLY_SPECIAL_ATTACK_1H_OFF", 407: "FLY_ATTACK_FIST_1H",
|
||||
408: "FLY_ATTACK_FIST_1H_OFF", 409: "FLY_PARRY_FIST_1H",
|
||||
410: "FLY_READY_FIST_1H", 411: "FLY_EMOTE_STATE_READ_AND_TALK",
|
||||
412: "FLY_EMOTE_STATE_WORK_NO_SHEATHE",
|
||||
413: "FLY_EMOTE_STATE_KNEEL_2",
|
||||
414: "FLY_EMOTE_STATE_SPELL_KNEEL",
|
||||
415: "FLY_EMOTE_STATE_USE_STANDING",
|
||||
416: "FLY_EMOTE_STATE_STUN",
|
||||
417: "FLY_EMOTE_STATE_STUN_NO_SHEATHE",
|
||||
418: "FLY_EMOTE_TRAIN", 419: "FLY_EMOTE_DEAD",
|
||||
420: "FLY_EMOTE_STATE_DANCE_ONCE",
|
||||
421: "FLY_EMOTE_EAT_NO_SHEATHE", 422: "FLY_MOUNT_RUN_RIGHT",
|
||||
423: "FLY_MOUNT_RUN_LEFT", 424: "FLY_MOUNT_WALK_BACKWARDS",
|
||||
425: "FLY_MOUNT_SWIM_IDLE", 426: "FLY_MOUNT_SWIM",
|
||||
427: "FLY_MOUNT_SWIM_LEFT", 428: "FLY_MOUNT_SWIM_RIGHT",
|
||||
429: "FLY_MOUNT_SWIM_BACKWARDS", 430: "FLY_MOUNT_FLIGHT_IDLE",
|
||||
431: "FLY_MOUNT_FLIGHT_FORWARD",
|
||||
432: "FLY_MOUNT_FLIGHT_BACKWARDS",
|
||||
433: "FLY_MOUNT_FLIGHT_LEFT", 434: "FLY_MOUNT_FLIGHT_RIGHT",
|
||||
435: "FLY_MOUNT_FLIGHT_UP", 436: "FLY_MOUNT_FLIGHT_DOWN",
|
||||
437: "FLY_MOUNT_FLIGHT_LAND_START",
|
||||
438: "FLY_MOUNT_FLIGHT_LAND_RUN",
|
||||
439: "FLY_MOUNT_FLIGHT_LAND_END", 440: "FLY_TOTEM_SMALL",
|
||||
441: "FLY_TOTEM_MEDIUM", 442: "FLY_TOTEM_LARGE",
|
||||
443: "FLY_EMOTE_HOLD_CROSSBOW_2", 444: "VEHICLE_GRAB",
|
||||
445: "VEHICLE_THROW", 446: "FLY_VEHICLE_GRAB",
|
||||
447: "FLY_VEHICLE_THROW", 448: "GUILD_CHAMPION_1",
|
||||
449: "GUILD_CHAMPION_2", 450: "FLY_GUILD_CHAMPION_1",
|
||||
451: "FLY_GUILD_CHAMPION_2",
|
||||
}
|
||||
|
||||
# Texture type names for non-filename textures
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue