Quantcast PlayerModel:SetDisplayInfo - Page 3 - WoWInterface
 
Thread Tools Display Modes
05-21-16, 08:26 AM   #41
Resike
A Pyroguard Emberseer
AddOn Author - Click to view addons
Join Date: Mar 2010
Posts: 1,289
Originally Posted by ceylina View Post
So just to understand, unlike keeping the way resike explains, you now would update models based on targeting and events and store the set model in a variable to be used to maintain a model's 3d portrait/display so long as said model was or is used on say a unit frame/ tooltip or other frame like how the storyline addon displays 3d models?

If that is the case and you use a combination of event triggers then I suppose this would cut down on bloat, resource usage, and potential errors?
Not it has 0 affect in performance.
 
05-21-16, 09:42 AM   #42
TOM_RUS
A Warpwood Thunder Caller
Join Date: Sep 2008
Posts: 95
Originally Posted by Resike View Post
I found the skinfile-displayid references on live, if you open the CreatureDisplayInfo.db2 you can see which skin files are compatible whit which displayID in the 8-9-10 table.
Are you talking about actual *.skin files or *.blp textures? Because *.skin files were never referenced in CreatureDisplayInfo.db2. Also it still works exact same way in legion, except there's now filedataid's instead of plain strings... Also I don't understand how that *.blp files are useful for anything, as you can't use them anyway (there's no model->settexture() or anything like that as far I know).

Last edited by TOM_RUS : 05-21-16 at 10:08 AM.
 
05-21-16, 10:20 AM   #43
Resike
A Pyroguard Emberseer
AddOn Author - Click to view addons
Join Date: Mar 2010
Posts: 1,289
Originally Posted by TOM_RUS View Post
Are you talking about actual *.skin files or *.blp textures? Because *.skin files were never referenced in CreatureDisplayInfo.db2. Also it still works exact same way in legion, except there's now filedataid's instead of plain strings... Also I don't understand how that *.blp files are useful for anything, as you can't use them anyway (there's no model->settexture() or anything like that as far I know).
It's blp files, but i guess the skin files use those blps anyway.
You can iterate over every displayModel, exrtact their proper modelpath via GetModel(), then you can arrange a table for every model and all of it's reskinned blp/skin and use those displayIDs to recolor a model like this:

https://youtu.be/egzorLE4h8E?t=47

Last edited by Resike : 05-21-16 at 10:23 AM.
 
05-21-16, 10:29 AM   #44
TOM_RUS
A Warpwood Thunder Caller
Join Date: Sep 2008
Posts: 95
So the only difference is that you can no longer group models by m2 file? It's not a big deal I think. You can still do everything else as before. You can also try to suggest them to add GetModel that returns filedataid back, probably not super hard to implement, as they lookup that id anyway...

Last edited by TOM_RUS : 05-21-16 at 10:34 AM.
 
05-21-16, 10:42 AM   #45
Resike
A Pyroguard Emberseer
AddOn Author - Click to view addons
Join Date: Mar 2010
Posts: 1,289
Originally Posted by TOM_RUS View Post
So the only difference is that you can no longer group models by m2 file? It's not a big deal I think. You can still do everything else as before. You can also try to suggest them to add GetModel that returns filedataid back, probably not super hard to implement, as they lookup that id anyway...
Yes. It just makes no sense, they added the GetDisplayInfo() when GetModel() was removed, which is probably is the same table lookup method as GetModel() was, but this one returns an useless value.

I'm also not sure how could i get the modelpath with the filedataid, without using another external very big lookup table. The old GetModel() was perfect.
 
05-21-16, 10:45 AM   #46
TOM_RUS
A Warpwood Thunder Caller
Join Date: Sep 2008
Posts: 95
Originally Posted by Resike View Post
I'm also not sure how could i get the modelpath with the filedataid, without using another external very big lookup table. The old GetModel() was perfect.
You don't need modelpath if you have filedataid, they are essentially same thing, just different representation (string vs integer).
 
05-21-16, 11:33 AM   #47
Resike
A Pyroguard Emberseer
AddOn Author - Click to view addons
Join Date: Mar 2010
Posts: 1,289
Originally Posted by TOM_RUS View Post
You don't need modelpath if you have filedataid, they are essentially same thing, just different representation (string vs integer).
I see. 10Char
 
05-21-16, 01:47 PM   #48
TOM_RUS
A Warpwood Thunder Caller
Join Date: Sep 2008
Posts: 95
CreatureDisplayInfo id to FileData id as lua table: click.
 
05-21-16, 02:06 PM   #49
Resike
A Pyroguard Emberseer
AddOn Author - Click to view addons
Join Date: Mar 2010
Posts: 1,289
Originally Posted by TOM_RUS View Post
CreatureDisplayInfo id to FileData id as lua table: click.
Thanks, that look solid, how did you got this info? Is it in any of the db files?
 
05-21-16, 03:49 PM   #50
TOM_RUS
A Warpwood Thunder Caller
Join Date: Sep 2008
Posts: 95
Originally Posted by Resike View Post
Thanks, that look solid, how did you got this info? Is it in any of the db files?
Code:
foreach (auto cdi in CreatureDisplayInfo.db2)
{
   auto cmd = CreatureModelData.db2[cdi->m_modelID];
   printf("[%u] = %u,", cdi->m_ID, cmd->m_FileDataId);
}
 
05-21-16, 04:39 PM   #51
Resike
A Pyroguard Emberseer
AddOn Author - Click to view addons
Join Date: Mar 2010
Posts: 1,289
Originally Posted by TOM_RUS View Post
Code:
foreach (auto cdi in CreatureDisplayInfo.db2)
{
   auto cmd = CreatureModelData.db2[cdi->m_modelID];
   printf("[%u] = %u,", cdi->m_ID, cmd->m_FileDataId);
}
Sneaky, thanks for your help.
 
05-22-16, 03:02 PM   #52
zork
A Pyroguard Emberseer
 
zork's Avatar
AddOn Author - Click to view addons
Join Date: Jul 2008
Posts: 1,739
The following list contains my favorite displayids from my latest search (51000-73000)
http://imgur.com/a/34ce7

This one stands out:
http://imgur.com/xEKgYj2

I will make myself an afk addon because of it.
__________________
| Simple is beautiful.
| WoWI AddOns | GitHub | Zork (WoW) | TDMOG

"I wonder what the non-pathetic people are doing tonight?" - Rajesh Koothrappali (The Big Bang Theory)

Last edited by zork : 05-22-16 at 03:05 PM.
 
05-22-16, 03:24 PM   #53
Resike
A Pyroguard Emberseer
AddOn Author - Click to view addons
Join Date: Mar 2010
Posts: 1,289
Originally Posted by zork View Post
The following list contains my favorite displayids from my latest search (51000-73000)
http://imgur.com/a/34ce7

This one stands out:
http://imgur.com/xEKgYj2

I will make myself an afk addon because of it.
How is that bucket is one of your favourite? xD

I think this function is gonna be pretty intresting ApplySpellVisualKit(), i guess you will be able to spawn spell effect on models, like shield wall, bloodlust, etc?
 
05-22-16, 04:17 PM   #54
zork
A Pyroguard Emberseer
 
zork's Avatar
AddOn Author - Click to view addons
Join Date: Jul 2008
Posts: 1,739
semlar posted in irc that you can extract animation ids from any model.
Lua Code:
  1. for i = 0,  1103 do if model:HasAnimation(i) end

Code:
[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",
[46] = "AttackBow",
[47] = "FireBow",
[48] = "ReadyRifle",
[49] = "AttackRifle",
[50] = "Loot",
[51] = "ReadySpellDirected",
[52] = "ReadySpellOmni",
[53] = "SpellCastDirected",
[54] = "SpellCastOmni",
[55] = "BattleRoar",
[56] = "ReadyAbility",
[57] = "Special1H",
[58] = "Special2H",
[59] = "ShieldBash",
[60] = "EmoteTalk",
[61] = "EmoteEat",
[62] = "EmoteWork",
[63] = "EmoteUseStanding",
[64] = "EmoteTalkExclamation",
[65] = "EmoteTalkQuestion",
[66] = "EmoteBow",
[67] = "EmoteWave",
[68] = "EmoteCheer",
[69] = "EmoteDance",
[70] = "EmoteLaugh",
[71] = "EmoteSleep",
[72] = "EmoteSitGround",
[73] = "EmoteRude",
[74] = "EmoteRoar",
[75] = "EmoteKneel",
[76] = "EmoteKiss",
[77] = "EmoteCry",
[78] = "EmoteChicken",
[79] = "EmoteBeg",
[80] = "EmoteApplaud",
[81] = "EmoteShout",
[82] = "EmoteFlex",
[83] = "EmoteShy",
[84] = "EmotePoint",
[85] = "Attack1HPierce",
[86] = "Attack2HLoosePierce",
[87] = "AttackOff",
[88] = "AttackOffPierce",
[89] = "Sheath",
[90] = "HipSheath",
[91] = "Mount",
[92] = "RunRight",
[93] = "RunLeft",
[94] = "MountSpecial",
[95] = "Kick",
[96] = "SitGroundDown",
[97] = "SitGround",
[98] = "SitGroundUp",
[99] = "SleepDown",
[100] = "Sleep",
[101] = "SleepUp",
[102] = "SitChairLow",
[103] = "SitChairMed",
[104] = "SitChairHigh",
[105] = "LoadBow",
[106] = "LoadRifle",
[107] = "AttackThrown",
[108] = "ReadyThrown",
[109] = "HoldBow",
[110] = "HoldRifle",
[111] = "HoldThrown",
[112] = "LoadThrown",
[113] = "EmoteSalute",
[114] = "KneelStart",
[115] = "KneelLoop",
[116] = "KneelEnd",
[117] = "AttackUnarmedOff",
[118] = "SpecialUnarmed",
[119] = "StealthWalk",
[120] = "StealthStand",
[121] = "Knockdown",
[122] = "EatingLoop",
[123] = "UseStandingLoop",
[124] = "ChannelCastDirected",
[125] = "ChannelCastOmni",
[126] = "Whirlwind",
[127] = "Birth",
[128] = "UseStandingStart",
[129] = "UseStandingEnd",
[130] = "CreatureSpecial",
[131] = "Drown",
[132] = "Drowned",
[133] = "FishingCast",
[134] = "FishingLoop",
[135] = "Fly",
[136] = "EmoteWorkNoSheathe",
[137] = "EmoteStunNoSheathe",
[138] = "EmoteUseStandingNoSheathe",
[139] = "SpellSleepDown",
[140] = "SpellKneelStart",
[141] = "SpellKneelLoop",
[142] = "SpellKneelEnd",
[143] = "Sprint",
[144] = "InFlight",
[145] = "Spawn",
[146] = "Close",
[147] = "Closed",
[148] = "Open",
[149] = "Opened",
[150] = "Destroy",
[151] = "Destroyed",
[152] = "Rebuild",
[153] = "Custom0",
[154] = "Custom1",
[155] = "Custom2",
[156] = "Custom3",
[157] = "Despawn",
[158] = "Hold",
[159] = "Decay",
[160] = "BowPull",
[161] = "BowRelease",
[162] = "ShipStart",
[163] = "ShipMoving",
[164] = "ShipStop",
[165] = "GroupArrow",
[166] = "Arrow",
[167] = "CorpseArrow",
[168] = "GuideArrow",
[169] = "Sway",
[170] = "DruidCatPounce",
[171] = "DruidCatRip",
[172] = "DruidCatRake",
[173] = "DruidCatRavage",
[174] = "DruidCatClaw",
[175] = "DruidCatCower",
[176] = "DruidBearSwipe",
[177] = "DruidBearBite",
[178] = "DruidBearMaul",
[179] = "DruidBearBash",
[180] = "DragonTail",
[181] = "DragonStomp",
[182] = "DragonSpit",
[183] = "DragonSpitHover",
[184] = "DragonSpitFly",
[185] = "EmoteYes",
[186] = "EmoteNo",
[187] = "JumpLandRun",
[188] = "LootHold",
[189] = "LootUp",
[190] = "StandHigh",
[191] = "Impact",
[192] = "LiftOff",
[193] = "Hover",
[194] = "SuccubusEntice",
[195] = "EmoteTrain",
[196] = "EmoteDead",
[197] = "EmoteDanceOnce",
[198] = "Deflect",
[199] = "EmoteEatNoSheathe",
[200] = "Land",
[201] = "Submerge",
[202] = "Submerged",
[203] = "Cannibalize",
[204] = "ArrowBirth",
[205] = "GroupArrowBirth",
[206] = "CorpseArrowBirth",
[207] = "GuideArrowBirth",
[208] = "EmoteTalkNoSheathe",
[209] = "EmotePointNoSheathe",
[210] = "EmoteSaluteNoSheathe",
[211] = "EmoteDanceSpecial",
[212] = "Mutilate",
[213] = "CustomSpell01",
[214] = "CustomSpell02",
[215] = "CustomSpell03",
[216] = "CustomSpell04",
[217] = "CustomSpell05",
[218] = "CustomSpell06",
[219] = "CustomSpell07",
[220] = "CustomSpell08",
[221] = "CustomSpell09",
[222] = "CustomSpell10",
[223] = "StealthRun",
[224] = "Emerge",
[225] = "Cower",
[226] = "Grab",
[227] = "GrabClosed",
[228] = "GrabThrown",
[229] = "FlyStand",
[230] = "FlyDeath",
[231] = "FlySpell",
[232] = "FlyStop",
[233] = "FlyWalk",
[234] = "FlyRun",
[235] = "FlyDead",
[236] = "FlyRise",
[237] = "FlyStandWound",
[238] = "FlyCombatWound",
[239] = "FlyCombatCritical",
[240] = "FlyShuffleLeft",
[241] = "FlyShuffleRight",
[242] = "FlyWalkbackwards",
[243] = "FlyStun",
[244] = "FlyHandsClosed",
[245] = "FlyAttackUnarmed",
[246] = "FlyAttack1H",
[247] = "FlyAttack2H",
[248] = "FlyAttack2HL",
[249] = "FlyParryUnarmed",
[250] = "FlyParry1H",
[251] = "FlyParry2H",
[252] = "FlyParry2HL",
[253] = "FlyShieldBlock",
[254] = "FlyReadyUnarmed",
[255] = "FlyReady1H",
[256] = "FlyReady2H",
[257] = "FlyReady2HL",
[258] = "FlyReadyBow",
[259] = "FlyDodge",
[260] = "FlySpellPrecast",
[261] = "FlySpellCast",
[262] = "FlySpellCastArea",
[263] = "FlyNPCWelcome",
[264] = "FlyNPCGoodbye",
[265] = "FlyBlock",
[266] = "FlyJumpStart",
[267] = "FlyJump",
[268] = "FlyJumpEnd",
[269] = "FlyFall",
[270] = "FlySwimIdle",
[271] = "FlySwim",
[272] = "FlySwimLeft",
[273] = "FlySwimRight",
[274] = "FlySwimBackwards",
[275] = "FlyAttackBow",
[276] = "FlyFireBow",
[277] = "FlyReadyRifle",
[278] = "FlyAttackRifle",
[279] = "FlyLoot",
[280] = "FlyReadySpellDirected",
[281] = "FlyReadySpellOmni",
[282] = "FlySpellCastDirected",
[283] = "FlySpellCastOmni",
[284] = "FlyBattleRoar",
[285] = "FlyReadyAbility",
[286] = "FlySpecial1H",
[287] = "FlySpecial2H",
[288] = "FlyShieldBash",
[289] = "FlyEmoteTalk",
[290] = "FlyEmoteEat",
[291] = "FlyEmoteWork",
[292] = "FlyEmoteUseStanding",
[293] = "FlyEmoteTalkExclamation",
[294] = "FlyEmoteTalkQuestion",
[295] = "FlyEmoteBow",
[296] = "FlyEmoteWave",
[297] = "FlyEmoteCheer",
[298] = "FlyEmoteDance",
[299] = "FlyEmoteLaugh",
[300] = "FlyEmoteSleep",
[301] = "FlyEmoteSitGround",
[302] = "FlyEmoteRude",
[303] = "FlyEmoteRoar",
[304] = "FlyEmoteKneel",
[305] = "FlyEmoteKiss",
[306] = "FlyEmoteCry",
[307] = "FlyEmoteChicken",
[308] = "FlyEmoteBeg",
[309] = "FlyEmoteApplaud",
[310] = "FlyEmoteShout",
[311] = "FlyEmoteFlex",
[312] = "FlyEmoteShy",
[313] = "FlyEmotePoint",
[314] = "FlyAttack1HPierce",
[315] = "FlyAttack2HLoosePierce",
[316] = "FlyAttackOff",
[317] = "FlyAttackOffPierce",
[318] = "FlySheath",
[319] = "FlyHipSheath",
[320] = "FlyMount",
[321] = "FlyRunRight",
[322] = "FlyRunLeft",
[323] = "FlyMountSpecial",
[324] = "FlyKick",
[325] = "FlySitGroundDown",
[326] = "FlySitGround",
[327] = "FlySitGroundUp",
[328] = "FlySleepDown",
[329] = "FlySleep",
[330] = "FlySleepUp",
[331] = "FlySitChairLow",
[332] = "FlySitChairMed",
[333] = "FlySitChairHigh",
[334] = "FlyLoadBow",
[335] = "FlyLoadRifle",
[336] = "FlyAttackThrown",
[337] = "FlyReadyThrown",
[338] = "FlyHoldBow",
[339] = "FlyHoldRifle",
[340] = "FlyHoldThrown",
[341] = "FlyLoadThrown",
[342] = "FlyEmoteSalute",
[343] = "FlyKneelStart",
[344] = "FlyKneelLoop",
[345] = "FlyKneelEnd",
[346] = "FlyAttackUnarmedOff",
[347] = "FlySpecialUnarmed",
[348] = "FlyStealthWalk",
[349] = "FlyStealthStand",
[350] = "FlyKnockdown",
[351] = "FlyEatingLoop",
[352] = "FlyUseStandingLoop",
[353] = "FlyChannelCastDirected",
[354] = "FlyChannelCastOmni",
[355] = "FlyWhirlwind",
[356] = "FlyBirth",
[357] = "FlyUseStandingStart",
[358] = "FlyUseStandingEnd",
[359] = "FlyCreatureSpecial",
[360] = "FlyDrown",
[361] = "FlyDrowned",
[362] = "FlyFishingCast",
[363] = "FlyFishingLoop",
[364] = "FlyFly",
[365] = "FlyEmoteWorkNoSheathe",
[366] = "FlyEmoteStunNoSheathe",
[367] = "FlyEmoteUseStandingNoSheathe",
[368] = "FlySpellSleepDown",
[369] = "FlySpellKneelStart",
[370] = "FlySpellKneelLoop",
[371] = "FlySpellKneelEnd",
[372] = "FlySprint",
[373] = "FlyInFlight",
[374] = "FlySpawn",
[375] = "FlyClose",
[376] = "FlyClosed",
[377] = "FlyOpen",
[378] = "FlyOpened",
[379] = "FlyDestroy",
[380] = "FlyDestroyed",
[381] = "FlyRebuild",
[382] = "FlyCustom0",
[383] = "FlyCustom1",
[384] = "FlyCustom2",
[385] = "FlyCustom3",
[386] = "FlyDespawn",
[387] = "FlyHold",
[388] = "FlyDecay",
[389] = "FlyBowPull",
[390] = "FlyBowRelease",
[391] = "FlyShipStart",
[392] = "FlyShipMoving",
[393] = "FlyShipStop",
[394] = "FlyGroupArrow",
[395] = "FlyArrow",
[396] = "FlyCorpseArrow",
[397] = "FlyGuideArrow",
[398] = "FlySway",
[399] = "FlyDruidCatPounce",
[400] = "FlyDruidCatRip",
[401] = "FlyDruidCatRake",
[402] = "FlyDruidCatRavage",
[403] = "FlyDruidCatClaw",
[404] = "FlyDruidCatCower",
[405] = "FlyDruidBearSwipe",
[406] = "FlyDruidBearBite",
[407] = "FlyDruidBearMaul",
[408] = "FlyDruidBearBash",
[409] = "FlyDragonTail",
[410] = "FlyDragonStomp",
[411] = "FlyDragonSpit",
[412] = "FlyDragonSpitHover",
[413] = "FlyDragonSpitFly",
[414] = "FlyEmoteYes",
[415] = "FlyEmoteNo",
[416] = "FlyJumpLandRun",
[417] = "FlyLootHold",
[418] = "FlyLootUp",
[419] = "FlyStandHigh",
[420] = "FlyImpact",
[421] = "FlyLiftOff",
[422] = "FlyHover",
[423] = "FlySuccubusEntice",
[424] = "FlyEmoteTrain",
[425] = "FlyEmoteDead",
[426] = "FlyEmoteDanceOnce",
[427] = "FlyDeflect",
[428] = "FlyEmoteEatNoSheathe",
[429] = "FlyLand",
[430] = "FlySubmerge",
[431] = "FlySubmerged",
[432] = "FlyCannibalize",
[433] = "FlyArrowBirth",
[434] = "FlyGroupArrowBirth",
[435] = "FlyCorpseArrowBirth",
[436] = "FlyGuideArrowBirth",
[437] = "FlyEmoteTalkNoSheathe",
[438] = "FlyEmotePointNoSheathe",
[439] = "FlyEmoteSaluteNoSheathe",
[440] = "FlyEmoteDanceSpecial",
[441] = "FlyMutilate",
[442] = "FlyCustomSpell01",
[443] = "FlyCustomSpell02",
[444] = "FlyCustomSpell03",
[445] = "FlyCustomSpell04",
[446] = "FlyCustomSpell05",
[447] = "FlyCustomSpell06",
[448] = "FlyCustomSpell07",
[449] = "FlyCustomSpell08",
[450] = "FlyCustomSpell09",
[451] = "FlyCustomSpell10",
[452] = "FlyStealthRun",
[453] = "FlyEmerge",
[454] = "FlyCower",
[455] = "FlyGrab",
[456] = "FlyGrabClosed",
[457] = "FlyGrabThrown",
[458] = "ToFly",
[459] = "ToHover",
[460] = "ToGround",
[461] = "FlyToFly",
[462] = "FlyToHover",
[463] = "FlyToGround",
[464] = "Settle",
[465] = "FlySettle",
[466] = "DeathStart",
[467] = "DeathLoop",
[468] = "DeathEnd",
[469] = "FlyDeathStart",
[470] = "FlyDeathLoop",
[471] = "FlyDeathEnd",
[472] = "DeathEndHold",
[473] = "FlyDeathEndHold",
[474] = "Strangulate",
[475] = "FlyStrangulate",
[476] = "ReadyJoust",
[477] = "LoadJoust",
[478] = "HoldJoust",
[479] = "FlyReadyJoust",
[480] = "FlyLoadJoust",
[481] = "FlyHoldJoust",
[482] = "AttackJoust",
[483] = "FlyAttackJoust",
[484] = "ReclinedMount",
[485] = "FlyReclinedMount",
[486] = "ToAltered",
[487] = "FromAltered",
[488] = "FlyToAltered",
[489] = "FlyFromAltered",
[490] = "InStocks",
[491] = "FlyInStocks",
[492] = "VehicleGrab",
[493] = "VehicleThrow",
[494] = "FlyVehicleGrab",
[495] = "FlyVehicleThrow",
[496] = "ToAlteredPostSwap",
[497] = "FromAlteredPostSwap",
[498] = "FlyToAlteredPostSwap",
[499] = "FlyFromAlteredPostSwap",
[500] = "ReclinedMountPassenger",
[501] = "FlyReclinedMountPassenger",
[502] = "Carry2H",
[503] = "Carried2H",
[504] = "FlyCarry2H",
[505] = "FlyCarried2H",
[506] = "EmoteSniff",
[507] = "EmoteFlySniff",
[508] = "AttackFist1H",
[509] = "FlyAttackFist1H",
[510] = "AttackFist1HOff",
[511] = "FlyAttackFist1HOff",
[512] = "ParryFist1H",
[513] = "FlyParryFist1H",
[514] = "ReadyFist1H",
[515] = "FlyReadyFist1H",
[516] = "SpecialFist1H",
[517] = "FlySpecialFist1H",
[518] = "EmoteReadStart",
[519] = "FlyEmoteReadStart",
[520] = "EmoteReadLoop",
[521] = "FlyEmoteReadLoop",
[522] = "EmoteReadEnd",
[523] = "FlyEmoteReadEnd",
[524] = "SwimRun",
[525] = "FlySwimRun",
[526] = "SwimWalk",
[527] = "FlySwimWalk",
[528] = "SwimWalkBackwards",
[529] = "FlySwimWalkBackwards",
[530] = "SwimSprint",
[531] = "FlySwimSprint",
[532] = "MountSwimIdle",
[533] = "FlyMountSwimIdle",
[534] = "MountSwimBackwards",
[535] = "FlyMountSwimBackwards",
[536] = "MountSwimLeft",
[537] = "FlyMountSwimLeft",
[538] = "MountSwimRight",
[539] = "FlyMountSwimRight",
[540] = "MountSwimRun",
[541] = "FlyMountSwimRun",
[542] = "MountSwimSprint",
[543] = "FlyMountSwimSprint",
[544] = "MountSwimWalk",
[545] = "FlyMountSwimWalk",
[546] = "MountSwimWalkBackwards",
[547] = "FlyMountSwimWalkBackwards",
[548] = "MountFlightIdle",
[549] = "FlyMountFlightIdle",
[550] = "MountFlightBackwards",
[551] = "FlyMountFlightBackwards",
[552] = "MountFlightLeft",
[553] = "FlyMountFlightLeft",
[554] = "MountFlightRight",
[555] = "FlyMountFlightRight",
[556] = "MountFlightRun",
[557] = "FlyMountFlightRun",
[558] = "MountFlightSprint",
[559] = "FlyMountFlightSprint",
[560] = "MountFlightWalk",
[561] = "FlyMountFlightWalk",
[562] = "MountFlightWalkBackwards",
[563] = "FlyMountFlightWalkBackwards",
[564] = "MountFlightStart",
[565] = "FlyMountFlightStart",
[566] = "MountSwimStart",
[567] = "FlyMountSwimStart",
[568] = "MountSwimLand",
[569] = "FlyMountSwimLand",
[570] = "MountSwimLandRun",
[571] = "FlyMountSwimLandRun",
[572] = "MountFlightLand",
[573] = "FlyMountFlightLand",
[574] = "MountFlightLandRun",
[575] = "FlyMountFlightLandRun",
[576] = "ReadyBlowDart",
[577] = "FlyReadyBlowDart",
[578] = "LoadBlowDart",
[579] = "FlyLoadBlowDart",
[580] = "HoldBlowDart",
[581] = "FlyHoldBlowDart",
[582] = "AttackBlowDart",
[583] = "FlyAttackBlowDart",
[584] = "CarriageMount",
[585] = "FlyCarriageMount",
[586] = "CarriagePassengerMount",
[587] = "FlyCarriagePassengerMount",
[588] = "CarriageMountAttack",
[589] = "FlyCarriageMountAttack",
[590] = "BarTendStand",
[591] = "FlyBarTendStand",
[592] = "BarServerWalk",
[593] = "FlyBarServerWalk",
[594] = "BarServerRun",
[595] = "FlyBarServerRun",
[596] = "BarServerShuffleLeft",
[597] = "FlyBarServerShuffleLeft",
[598] = "BarServerShuffleRight",
[599] = "FlyBarServerShuffleRight",
[600] = "BarTendEmoteTalk",
[601] = "FlyBarTendEmoteTalk",
[602] = "BarTendEmotePoint",
[603] = "FlyBarTendEmotePoint",
[604] = "BarServerStand",
[605] = "FlyBarServerStand",
[606] = "BarSweepWalk",
[607] = "FlyBarSweepWalk",
[608] = "BarSweepRun",
[609] = "FlyBarSweepRun",
[610] = "BarSweepShuffleLeft",
[611] = "FlyBarSweepShuffleLeft",
[612] = "BarSweepShuffleRight",
[613] = "FlyBarSweepShuffleRight",
[614] = "BarSweepEmoteTalk",
[615] = "FlyBarSweepEmoteTalk",
[616] = "BarPatronSitEmotePoint",
[617] = "FlyBarPatronSitEmotePoint",
[618] = "MountSelfIdle",
[619] = "FlyMountSelfIdle",
[620] = "MountSelfWalk",
[621] = "FlyMountSelfWalk",
[622] = "MountSelfRun",
[623] = "FlyMountSelfRun",
[624] = "MountSelfSprint",
[625] = "FlyMountSelfSprint",
[626] = "MountSelfRunLeft",
[627] = "FlyMountSelfRunLeft",
[628] = "MountSelfRunRight",
[629] = "FlyMountSelfRunRight",
[630] = "MountSelfShuffleLeft",
[631] = "FlyMountSelfShuffleLeft",
[632] = "MountSelfShuffleRight",
[633] = "FlyMountSelfShuffleRight",
[634] = "MountSelfWalkBackwards",
[635] = "FlyMountSelfWalkBackwards",
[636] = "MountSelfSpecial",
[637] = "FlyMountSelfSpecial",
[638] = "MountSelfJump",
[639] = "FlyMountSelfJump",
[640] = "MountSelfJumpStart",
[641] = "FlyMountSelfJumpStart",
[642] = "MountSelfJumpEnd",
[643] = "FlyMountSelfJumpEnd",
[644] = "MountSelfJumpLandRun",
[645] = "FlyMountSelfJumpLandRun",
[646] = "MountSelfStart",
[647] = "FlyMountSelfStart",
[648] = "MountSelfFall",
[649] = "FlyMountSelfFall",
[650] = "Stormstrike",
[651] = "FlyStormstrike",
[652] = "ReadyJoustNoSheathe",
[653] = "FlyReadyJoustNoSheathe",
[654] = "Slam",
[655] = "FlySlam",
[656] = "DeathStrike",
[657] = "FlyDeathStrike",
[658] = "SwimAttackUnarmed",
[659] = "FlySwimAttackUnarmed",
[660] = "SpinningKick",
[661] = "FlySpinningKick",
[662] = "RoundHouseKick",
[663] = "FlyRoundHouseKick",
[664] = "RollStart",
[665] = "FlyRollStart",
[666] = "Roll",
[667] = "FlyRoll",
[668] = "RollEnd",
[669] = "FlyRollEnd",
[670] = "PalmStrike",
[671] = "FlyPalmStrike",
[672] = "MonkOffenseAttackUnarmed",
[673] = "FlyMonkOffenseAttackUnarmed",
[674] = "MonkOffenseAttackUnarmedOff",
[675] = "FlyMonkOffenseAttackUnarmedOff",
[676] = "MonkOffenseParryUnarmed",
[677] = "FlyMonkOffenseParryUnarmed",
[678] = "MonkOffenseReadyUnarmed",
[679] = "FlyMonkOffenseReadyUnarmed",
[680] = "MonkOffenseSpecialUnarmed",
[681] = "FlyMonkOffenseSpecialUnarmed",
[682] = "MonkDefenseAttackUnarmed",
[683] = "FlyMonkDefenseAttackUnarmed",
[684] = "MonkDefenseAttackUnarmedOff",
[685] = "FlyMonkDefenseAttackUnarmedOff",
[686] = "MonkDefenseParryUnarmed",
[687] = "FlyMonkDefenseParryUnarmed",
[688] = "MonkDefenseReadyUnarmed",
[689] = "FlyMonkDefenseReadyUnarmed",
[690] = "MonkDefenseSpecialUnarmed",
[691] = "FlyMonkDefenseSpecialUnarmed",
[692] = "MonkHealAttackUnarmed",
[693] = "FlyMonkHealAttackUnarmed",
[694] = "MonkHealAttackUnarmedOff",
[695] = "FlyMonkHealAttackUnarmedOff",
[696] = "MonkHealParryUnarmed",
[697] = "FlyMonkHealParryUnarmed",
[698] = "MonkHealReadyUnarmed",
[699] = "FlyMonkHealReadyUnarmed",
[700] = "MonkHealSpecialUnarmed",
[701] = "FlyMonkHealSpecialUnarmed",
[702] = "FlyingKick",
[703] = "FlyFlyingKick",
[704] = "FlyingKickStart",
[705] = "FlyFlyingKickStart",
[706] = "FlyingKickEnd",
[707] = "FlyFlyingKickEnd",
[708] = "CraneStart",
[709] = "FlyCraneStart",
[710] = "CraneLoop",
[711] = "FlyCraneLoop",
[712] = "CraneEnd",
[713] = "FlyCraneEnd",
[714] = "Despawned",
[715] = "FlyDespawned",
[716] = "ThousandFists",
[717] = "FlyThousandFists",
[718] = "MonkHealReadySpellDirected",
[719] = "FlyMonkHealReadySpellDirected",
[720] = "MonkHealReadySpellOmni",
[721] = "FlyMonkHealReadySpellOmni",
[722] = "MonkHealSpellCastDirected",
[723] = "FlyMonkHealSpellCastDirected",
[724] = "MonkHealSpellCastOmni",
[725] = "FlyMonkHealSpellCastOmni",
[726] = "MonkHealChannelCastDirected",
[727] = "FlyMonkHealChannelCastDirected",
[728] = "MonkHealChannelCastOmni",
[729] = "FlyMonkHealChannelCastOmni",
[730] = "Torpedo",
[731] = "FlyTorpedo",
[732] = "Meditate",
[733] = "FlyMeditate",
[734] = "BreathOfFire",
[735] = "FlyBreathOfFire",
[736] = "RisingSunKick",
[737] = "FlyRisingSunKick",
[738] = "GroundKick",
[739] = "FlyGroundKick",
[740] = "KickBack",
[741] = "FlyKickBack",
[742] = "PetBattleStand",
[743] = "FlyPetBattleStand",
[744] = "PetBattleDeath",
[745] = "FlyPetBattleDeath",
[746] = "PetBattleRun",
[747] = "FlyPetBattleRun",
[748] = "PetBattleWound",
[749] = "FlyPetBattleWound",
[750] = "PetBattleAttack",
[751] = "FlyPetBattleAttack",
[752] = "PetBattleReadySpell",
[753] = "FlyPetBattleReadySpell",
[754] = "PetBattleSpellCast",
[755] = "FlyPetBattleSpellCast",
[756] = "PetBattleCustom0",
[757] = "FlyPetBattleCustom0",
[758] = "PetBattleCustom1",
[759] = "FlyPetBattleCustom1",
[760] = "PetBattleCustom2",
[761] = "FlyPetBattleCustom2",
[762] = "PetBattleCustom3",
[763] = "FlyPetBattleCustom3",
[764] = "PetBattleVictory",
[765] = "FlyPetBattleVictory",
[766] = "PetBattleLoss",
[767] = "FlyPetBattleLoss",
[768] = "PetBattleStun",
[769] = "FlyPetBattleStun",
[770] = "PetBattleDead",
[771] = "FlyPetBattleDead",
[772] = "PetBattleFreeze",
[773] = "FlyPetBattleFreeze",
[774] = "MonkOffenseAttackWeapon",
[775] = "FlyMonkOffenseAttackWeapon",
[776] = "BarTendEmoteWave",
[777] = "FlyBarTendEmoteWave",
[778] = "BarServerEmoteTalk",
[779] = "FlyBarServerEmoteTalk",
[780] = "BarServerEmoteWave",
[781] = "FlyBarServerEmoteWave",
[782] = "BarServerPourDrinks",
[783] = "FlyBarServerPourDrinks",
[784] = "BarServerPickup",
[785] = "FlyBarServerPickup",
[786] = "BarServerPutDown",
[787] = "FlyBarServerPutDown",
[788] = "BarSweepStand",
[789] = "FlyBarSweepStand",
[790] = "BarPatronSit",
[791] = "FlyBarPatronSit",
[792] = "BarPatronSitEmoteTalk",
[793] = "FlyBarPatronSitEmoteTalk",
[794] = "BarPatronStand",
[795] = "FlyBarPatronStand",
[796] = "BarPatronStandEmoteTalk",
[797] = "FlyBarPatronStandEmoteTalk",
[798] = "BarPatronStandEmotePoint",
[799] = "FlyBarPatronStandEmotePoint",
[800] = "CarrionSwarm",
[801] = "FlyCarrionSwarm",
[802] = "WheelLoop",
[803] = "FlyWheelLoop",
[804] = "StandCharacterCreate",
[805] = "FlyStandCharacterCreate",
[806] = "MountChopper",
[807] = "FlyMountChopper",
[808] = "FacePose",
[809] = "FlyFacePose",
[810] = "CombatAbility2HBig01",
[811] = "FlyCombatAbility2HBig01",
[812] = "CombatAbility2H01",
[813] = "FlyCombatAbility2H01",
[814] = "CombatWhirlwind",
[815] = "FlyCombatWhirlwind",
[816] = "CombatChargeLoop",
[817] = "FlyCombatChargeLoop",
[818] = "CombatAbility1H01",
[819] = "FlyCombatAbility1H01",
[820] = "CombatChargeEnd",
[821] = "FlyCombatChargeEnd",
[822] = "CombatAbility1H02",
[823] = "FlyCombatAbility1H02",
[824] = "CombatAbility1HBig01",
[825] = "FlyCombatAbility1HBig01",
[826] = "CombatAbility2H02",
[827] = "FlyCombatAbility2H02",
[828] = "ShaSpellPrecastBoth",
[829] = "FlyShaSpellPrecastBoth",
[830] = "ShaSpellCastBothFront",
[831] = "FlyShaSpellCastBothFront",
[832] = "ShaSpellCastLeftFront",
[833] = "FlyShaSpellCastLeftFront",
[834] = "ShaSpellCastRightFront",
[835] = "FlyShaSpellCastRightFront",
[836] = "ReadyCrossbow",
[837] = "FlyReadyCrossbow",
[838] = "LoadCrossbow",
[839] = "FlyLoadCrossbow",
[840] = "AttackCrossbow",
[841] = "FlyAttackCrossbow",
[842] = "HoldCrossbow",
[843] = "FlyHoldCrossbow",
[844] = "CombatAbility2HL01",
[845] = "FlyCombatAbility2HL01",
[846] = "CombatAbility2HL02",
[847] = "FlyCombatAbility2HL02",
[848] = "CombatAbility2HLBig01",
[849] = "FlyCombatAbility2HLBig01",
[850] = "CombatUnarmed01",
[851] = "FlyCombatUnarmed01",
[852] = "CombatStompLeft",
[853] = "FlyCombatStompLeft",
[854] = "CombatStompRight",
[855] = "FlyCombatStompRight",
[856] = "CombatLeapLoop",
[857] = "FlyCombatLeapLoop",
[858] = "CombatLeapEnd",
[859] = "FlyCombatLeapEnd",
[860] = "ShaReadySpellCast",
[861] = "FlyShaReadySpellCast",
[862] = "ShaSpellPrecastBothChannel",
[863] = "FlyShaSpellPrecastBothChannel",
[864] = "ShaSpellCastBothUp",
[865] = "FlyShaSpellCastBothUp",
[866] = "ShaSpellCastBothUpChannel",
[867] = "FlyShaSpellCastBothUpChannel",
[868] = "ShaSpellCastBothFrontChannel",
[869] = "FlyShaSpellCastBothFrontChannel",
[870] = "ShaSpellCastLeftFrontChannel",
[871] = "FlyShaSpellCastLeftFrontChannel",
[872] = "ShaSpellCastRightFrontChannel",
[873] = "FlyShaSpellCastRightFrontChannel",
[874] = "PriReadySpellCast",
[875] = "FlyPriReadySpellCast",
[876] = "PriSpellPrecastBoth",
[877] = "FlyPriSpellPrecastBoth",
[878] = "PriSpellPrecastBothChannel",
[879] = "FlyPriSpellPrecastBothChannel",
[880] = "PriSpellCastBothUp",
[881] = "FlyPriSpellCastBothUp",
[882] = "PriSpellCastBothFront",
[883] = "FlyPriSpellCastBothFront",
[884] = "PriSpellCastLeftFront",
[885] = "FlyPriSpellCastLeftFront",
[886] = "PriSpellCastRightFront",
[887] = "FlyPriSpellCastRightFront",
[888] = "PriSpellCastBothUpChannel",
[889] = "FlyPriSpellCastBothUpChannel",
[890] = "PriSpellCastBothFrontChannel",
[891] = "FlyPriSpellCastBothFrontChannel",
[892] = "PriSpellCastLeftFrontChannel",
[893] = "FlyPriSpellCastLeftFrontChannel",
[894] = "PriSpellCastRightFrontChannel",
[895] = "FlyPriSpellCastRightFrontChannel",
[896] = "MagReadySpellCast",
[897] = "FlyMagReadySpellCast",
[898] = "MagSpellPrecastBoth",
[899] = "FlyMagSpellPrecastBoth",
[900] = "MagSpellPrecastBothChannel",
[901] = "FlyMagSpellPrecastBothChannel",
[902] = "MagSpellCastBothUp",
[903] = "FlyMagSpellCastBothUp",
[904] = "MagSpellCastBothFront",
[905] = "FlyMagSpellCastBothFront",
[906] = "MagSpellCastLeftFront",
[907] = "FlyMagSpellCastLeftFront",
[908] = "MagSpellCastRightFront",
[909] = "FlyMagSpellCastRightFront",
[910] = "MagSpellCastBothUpChannel",
[911] = "FlyMagSpellCastBothUpChannel",
[912] = "MagSpellCastBothFrontChannel",
[913] = "FlyMagSpellCastBothFrontChannel",
[914] = "MagSpellCastLeftFrontChannel",
[915] = "FlyMagSpellCastLeftFrontChannel",
[916] = "MagSpellCastRightFrontChannel",
[917] = "FlyMagSpellCastRightFrontChannel",
[918] = "LocReadySpellCast",
[919] = "FlyLocReadySpellCast",
[920] = "LocSpellPrecastBoth",
[921] = "FlyLocSpellPrecastBoth",
[922] = "LocSpellPrecastBothChannel",
[923] = "FlyLocSpellPrecastBothChannel",
[924] = "LocSpellCastBothUp",
[925] = "FlyLocSpellCastBothUp",
[926] = "LocSpellCastBothFront",
[927] = "FlyLocSpellCastBothFront",
[928] = "LocSpellCastLeftFront",
[929] = "FlyLocSpellCastLeftFront",
[930] = "LocSpellCastRightFront",
[931] = "FlyLocSpellCastRightFront",
[932] = "LocSpellCastBothUpChannel",
[933] = "FlyLocSpellCastBothUpChannel",
[934] = "LocSpellCastBothFrontChannel",
[935] = "FlyLocSpellCastBothFrontChannel",
[936] = "LocSpellCastLeftFrontChannel",
[937] = "FlyLocSpellCastLeftFrontChannel",
[938] = "LocSpellCastRightFrontChannel",
[939] = "FlyLocSpellCastRightFrontChannel",
[940] = "DruReadySpellCast",
[941] = "FlyDruReadySpellCast",
[942] = "DruSpellPrecastBoth",
[943] = "FlyDruSpellPrecastBoth",
[944] = "DruSpellPrecastBothChannel",
[945] = "FlyDruSpellPrecastBothChannel",
[946] = "DruSpellCastBothUp",
[947] = "FlyDruSpellCastBothUp",
[948] = "DruSpellCastBothFront",
[949] = "FlyDruSpellCastBothFront",
[950] = "DruSpellCastLeftFront",
[951] = "FlyDruSpellCastLeftFront",
[952] = "DruSpellCastRightFront",
[953] = "FlyDruSpellCastRightFront",
[954] = "DruSpellCastBothUpChannel",
[955] = "FlyDruSpellCastBothUpChannel",
[956] = "DruSpellCastBothFrontChannel",
[957] = "FlyDruSpellCastBothFrontChannel",
[958] = "DruSpellCastLeftFrontChannel",
[959] = "FlyDruSpellCastLeftFrontChannel",
[960] = "DruSpellCastRightFrontChannel",
[961] = "FlyDruSpellCastRightFrontChannel",
[962] = "ArtMainLoop",
[963] = "FlyArtMainLoop",
[964] = "ArtDualLoop",
[965] = "FlyArtDualLoop",
[966] = "ArtFistsLoop",
[967] = "FlyArtFistsLoop",
[968] = "ArtBowLoop",
[969] = "FlyArtBowLoop",
[970] = "CombatAbility1H01Off",
[971] = "FlyCombatAbility1H01Off",
[972] = "CombatAbility1H02Off",
[973] = "FlyCombatAbility1H02Off",
[974] = "CombatFuriousStrike01",
[975] = "FlyCombatFuriousStrike01",
[976] = "CombatFuriousStrike02",
[977] = "FlyCombatFuriousStrike02",
[978] = "CombatFuriousStrikes",
[979] = "FlyCombatFuriousStrikes",
[980] = "CombatReadySpellCast",
[981] = "FlyCombatReadySpellCast",
[982] = "CombatShieldThrow",
[983] = "FlyCombatShieldThrow",
[984] = "PalSpellCast1HUp",
[985] = "FlyPalSpellCast1HUp",
[986] = "CombatReadyPostSpellCast",
[987] = "FlyCombatReadyPostSpellCast",
[988] = "PriReadyPostSpellCast",
[989] = "FlyPriReadyPostSpellCast",
[990] = "DHCombatRun",
[991] = "FlyDHCombatRun",
[992] = "CombatShieldBash",
[993] = "FlyCombatShieldBash",
[994] = "CombatThrow",
[995] = "FlyCombatThrow",
[996] = "CombatAbility1HPierce",
[997] = "FlyCombatAbility1HPierce",
[998] = "CombatAbility1HOffPierce",
[999] = "FlyCombatAbility1HOffPierce",
[1000] = "CombatMutilate",
[1001] = "FlyCombatMutilate",
[1002] = "CombatBladeStorm",
[1003] = "FlyCombatBladeStorm",
[1004] = "CombatFinishingMove",
[1005] = "FlyCombatFinishingMove",
[1006] = "CombatLeapStart",
[1007] = "FlyCombatLeapStart",
[1008] = "GlvThrowMain",
[1009] = "FlyGlvThrowMain",
[1010] = "GlvThrownOff",
[1011] = "FlyGlvThrownOff",
[1012] = "DHCombatSprint",
[1013] = "FlyDHCombatSprint",
[1014] = "CombatAbilityGlv01",
[1015] = "FlyCombatAbilityGlv01",
[1016] = "CombatAbilityGlv02",
[1017] = "FlyCombatAbilityGlv02",
[1018] = "CombatAbilityGlvOff01",
[1019] = "FlyCombatAbilityGlvOff01",
[1020] = "CombatAbilityGlvOff02",
[1021] = "FlyCombatAbilityGlvOff02",
[1022] = "CombatAbilityGlvBig01",
[1023] = "FlyCombatAbilityGlvBig01",
[1024] = "CombatAbilityGlvBig02",
[1025] = "FlyCombatAbilityGlvBig02",
[1026] = "ReadyGlv",
[1027] = "FlyReadyGlv",
[1028] = "CombatAbilityGlvBig03",
[1029] = "FlyCombatAbilityGlvBig03",
[1030] = "DoubleJumpStart",
[1031] = "FlyDoubleJumpStart",
[1032] = "DoubleJump",
[1033] = "FlyDoubleJump",
[1034] = "CombatEviscerate",
[1035] = "FlyCombatEviscerate",
[1036] = "DoubleJumpLandRun",
[1037] = "FlyDoubleJumpLandRun",
[1038] = "BackFlipStart",
[1039] = "FlyBackFlipStart",
[1040] = "BackFlipLoop",
[1041] = "FlyBackFlipLoop",
[1042] = "FelRushLoop",
[1043] = "FlyFelRushLoop",
[1044] = "FelRushEnd",
[1045] = "FlyFelRushEnd",
[1046] = "DHToAlteredStart",
[1047] = "FlyDHToAlteredStart",
[1048] = "DHToAlteredEnd",
[1049] = "FlyDHToAlteredEnd",
[1050] = "DHGlide",
[1051] = "FlyDHGlide",
[1052] = "FanOfKnives",
[1053] = "FlyFanOfKnives",
[1054] = "SingleJumpStart",
[1055] = "FlySingleJumpStart",
[1056] = "DHBladeDance1",
[1057] = "FlyDHBladeDance1",
[1058] = "DHBladeDance2",
[1059] = "FlyDHBladeDance2",
[1060] = "DHBladeDance3",
[1061] = "FlyDHBladeDance3",
[1062] = "DHMeteorStrike",
[1063] = "FlyDHMeteorStrike",
[1064] = "CombatExecute",
[1065] = "FlyCombatExecute",
[1066] = "ArtLoop",
[1067] = "FlyArtLoop",
[1068] = "ParryGlv",
[1069] = "FlyParryGlv",
[1070] = "CombatUnarmed02",
[1071] = "FlyCombatUnarmed02",
[1072] = "CombatPistolShot",
[1073] = "FlyCombatPistolShot",
[1074] = "CombatPistolShotOff",
[1075] = "FlyCombatPistolShotOff",
[1076] = "Monk2HLIdle",
[1077] = "FlyMonk2HLIdle",
[1078] = "ArtShieldLoop",
[1079] = "FlyArtShieldLoop",
[1080] = "CombatAbility2H03",
[1081] = "FlyCombatAbility2H03",
[1082] = "CombatStomp",
[1083] = "FlyCombatStomp",
[1084] = "CombatRoar",
[1085] = "FlyCombatRoar",
[1086] = "PalReadySpellCast",
[1087] = "FlyPalReadySpellCast",
[1088] = "PalSpellPrecastRight",
[1089] = "FlyPalSpellPrecastRight",
[1090] = "PalSpellPrecastRightChannel",
[1091] = "FlyPalSpellPrecastRightChannel",
[1092] = "PalSpellCastRightFront",
[1093] = "FlyPalSpellCastRightFront",
[1094] = "ShaSpellCastBothOut",
[1095] = "FlyShaSpellCastBothOut",
[1096] = "AttackWeapon",
[1097] = "FlyAttackWeapon",
[1098] = "ReadyWeapon",
[1099] = "FlyReadyWeapon",
[1100] = "AttackWeaponOff",
[1101] = "FlyAttackWeaponOff",
[1102] = "SpecialDual",
[1103] = "FlySpecialDual",
__________________
| Simple is beautiful.
| WoWI AddOns | GitHub | Zork (WoW) | TDMOG

"I wonder what the non-pathetic people are doing tonight?" - Rajesh Koothrappali (The Big Bang Theory)
 
05-27-16, 11:49 PM   #55
Simca
An Aku'mai Servant
 
Simca's Avatar
AddOn Author - Click to view addons
Join Date: Jan 2012
Posts: 33
As an update to this, they removed FileDataComplete.db2 in yesterday's build (21796), so we will no longer know future file paths without guessing and bruteforcing.*

* There are a few exceptions: File paths in Interface\* are in ManifestInterfaceData. File paths in Shaders\* are hardcoded into the game client. Other than that, everything will be bruteforcing, guesswork, and extrapolating from adt, wmo, and m2 files (which use both filedataIDs and file paths, despite the redundancy).
__________________
Assistant admin for MMO-Champion
WoW database file expert - ask me anything
 
05-28-16, 10:43 AM   #56
Resike
A Pyroguard Emberseer
AddOn Author - Click to view addons
Join Date: Mar 2010
Posts: 1,289
Originally Posted by Simca View Post
As an update to this, they removed FileDataComplete.db2 in yesterday's build (21796), so we will no longer know future file paths without guessing and bruteforcing.*

* There are a few exceptions: File paths in Interface\* are in ManifestInterfaceData. File paths in Shaders\* are hardcoded into the game client. Other than that, everything will be bruteforcing, guesswork, and extrapolating from adt, wmo, and m2 files (which use both filedataIDs and file paths, despite the redundancy).
I don't see how could they do this without a filepath table. Maybe there is a table, but they moved it up to the C code?
 
05-28-16, 10:58 AM   #57
Simca
An Aku'mai Servant
 
Simca's Avatar
AddOn Author - Click to view addons
Join Date: Jan 2012
Posts: 33
Originally Posted by Resike View Post
I don't see how could they do this without a filepath table. Maybe there is a table, but they moved it up to the C code?
CASC files are indexed by FileDataID and NameHash. All the client needs to get a pointer to a file is a FileDataID.
__________________
Assistant admin for MMO-Champion
WoW database file expert - ask me anything
 
07-02-16, 05:21 PM   #58
Ketho
A Molten Giant
 
Ketho's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2010
Posts: 888
I'm a complete noob with models and got no clue what the FileDataID and NameHash stuff is
Recently heard on #wowuidev that the reason for the change could be a combination of performance and memory

But my question is, why does playermodel:GetDisplayInfo() return 0 after running playermodel:SetUnit("target") ?
Is it even possible to get a displayId from a specific unitId?

Maybe then it would be possible to get the modelpath from Resike's AllModels.lua if it was put in a library

It could help the Storyline addon if that was possible. There also was a recent reddit post about it
https://www.reddit.com/r/wow/comment...xt_in_the_post



Lua Code:
  1. -- from CreatureDisplayInfo.db2 or CreatureModelData.db2 (?)
  2. local paths = {
  3.     [0] = "none",
  4.     [32806] = "character\\human\\female\\humanfemale_hd.m2", -- Vanessa VanCleef
  5. }
  6.  
  7. local m = CreateFrame("PlayerModel")
  8. m:SetPoint("CENTER")
  9. m:SetSize(500, 500)
  10.  
  11. local function GetDisplayId(unit)
  12.     m:SetUnit(unit)
  13.     return m:GetDisplayInfo() -- always returns 0 ...
  14. end
  15.  
  16. -- test target
  17. local displayId = GetDisplayId("target")
  18. local modelpath = paths[displayId]
  19. print(modelpath) -- prints "none"
  20.  
  21. -- test vancleef
  22. m:SetDisplayInfo(32806)
  23. local displayId = m:GetDisplayInfo() -- gets 32806
  24. local modelpath = paths[displayId]
  25. print(modelpath) -- prints "character\\human\\female\\humanfemale_hd.m2"
 
07-02-16, 06:38 PM   #59
semlar
A Pyroguard Emberseer
 
semlar's Avatar
AddOn Author - Click to view addons
Join Date: Sep 2007
Posts: 1,059
Originally Posted by Ketho View Post
But my question is, why does playermodel:GetDisplayInfo() return 0 after running playermodel:SetUnit("target") ?
Is it even possible to get a displayId from a specific unitId?
GetDisplayInfo returns the value of SetDisplayInfo. You can't get a displayID from a unit because they don't have one, or at least not in the same sense as that api function.

I only skimmed over that giant block of text they wrote because I'm practically illiterate, but if I understand the gist of the problem they can't scale the model properly because they don't know what it is since blizzard removed GetModel, which is absurd because they have the unitID and can get the race from that.

I'm not sure why they need the animation lengths as I've never used the addon, but you can just tell the model to play a specific animation with PlayAnimKit and it will play it through.

Actually PlayAnimKit appears to be broken at the moment, but you can use FreezeAnimation and SetSequence to do the same thing.

Last edited by semlar : 07-02-16 at 07:45 PM.
 
07-03-16, 02:49 AM   #60
Resike
A Pyroguard Emberseer
AddOn Author - Click to view addons
Join Date: Mar 2010
Posts: 1,289
Originally Posted by semlar View Post
I only skimmed over that giant block of text they wrote because I'm practically illiterate, but if I understand the gist of the problem they can't scale the model properly because they don't know what it is since blizzard removed GetModel, which is absurd because they have the unitID and can get the race from that.
How is that gonna help on a totally random model i want to draw ont he screen? Also every model has different camera postions, i just want to get the proper values to manipulate the camera angles further.

Lua Code:
  1. function GetBaseCameraTarget(model)
  2.     local modelfile = model:GetModel()
  3.     if modelfile and modelfile ~= "" then
  4.         local tempmodel = CreateFrame("PlayerModel", nil, UIParent)
  5.         tempmodel:SetModel(modelfile)
  6.         tempmodel:SetCustomCamera(1)
  7.         local x, y, z = tempmodel:GetCameraTarget()
  8.         tempmodel:ClearModel()
  9.         return x, y, z
  10.     end
  11. end
 
 

WoWInterface » Site Forums » Archived Beta Forums » Legion Beta archived threads » PlayerModel:SetDisplayInfo

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off