mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-05-03 08:03:50 +00:00
feat: resolve spell \$s1/\$s2/\$s3 to real DBC damage/heal values
Spell descriptions now substitute \$s1/\$s2/\$s3 template variables with actual effect base points from Spell.dbc (field 80/81/82). For example: "causes \$s1 Fire Damage" → "causes 562 Fire Damage". Implementation: - Added EffectBasePoints0/1/2 to all 4 expansion DBC layouts - SpellNameEntry now stores effectBasePoints[3] - loadSpellNameCache reads base points during DBC iteration - cleanSpellDescription substitutes \$s1→abs(base)+1 when available - getSpellEffectBasePoints() accessor on GameHandler Values are DBC base points (before spell power scaling). Still uses "X" placeholder for unresolved variables (\$d, \$o1, etc.).
This commit is contained in:
parent
f9464dbacd
commit
a5aa1faf7a
7 changed files with 852 additions and 804 deletions
|
|
@ -1,92 +1,48 @@
|
||||||
{
|
{
|
||||||
"Spell": {
|
"AreaTable": {
|
||||||
|
"ExploreFlag": 3,
|
||||||
"ID": 0,
|
"ID": 0,
|
||||||
"Attributes": 5,
|
"MapID": 1,
|
||||||
"AttributesEx": 6,
|
"ParentAreaNum": 2
|
||||||
"IconID": 117,
|
|
||||||
"Name": 120,
|
|
||||||
"Tooltip": 147,
|
|
||||||
"Rank": 129,
|
|
||||||
"SchoolEnum": 1,
|
|
||||||
"CastingTimeIndex": 15,
|
|
||||||
"PowerType": 28,
|
|
||||||
"ManaCost": 29,
|
|
||||||
"RangeIndex": 33,
|
|
||||||
"DispelType": 4
|
|
||||||
},
|
},
|
||||||
"SpellRange": {
|
"CharHairGeosets": {
|
||||||
"MaxRange": 2
|
"GeosetID": 4,
|
||||||
},
|
|
||||||
"ItemDisplayInfo": {
|
|
||||||
"ID": 0,
|
|
||||||
"LeftModel": 1,
|
|
||||||
"LeftModelTexture": 3,
|
|
||||||
"InventoryIcon": 5,
|
|
||||||
"GeosetGroup1": 7,
|
|
||||||
"GeosetGroup3": 9,
|
|
||||||
"TextureArmUpper": 14,
|
|
||||||
"TextureArmLower": 15,
|
|
||||||
"TextureHand": 16,
|
|
||||||
"TextureTorsoUpper": 17,
|
|
||||||
"TextureTorsoLower": 18,
|
|
||||||
"TextureLegUpper": 19,
|
|
||||||
"TextureLegLower": 20,
|
|
||||||
"TextureFoot": 21
|
|
||||||
},
|
|
||||||
"CharSections": {
|
|
||||||
"RaceID": 1,
|
"RaceID": 1,
|
||||||
"SexID": 2,
|
"SexID": 2,
|
||||||
|
"Variation": 3
|
||||||
|
},
|
||||||
|
"CharSections": {
|
||||||
"BaseSection": 3,
|
"BaseSection": 3,
|
||||||
"VariationIndex": 4,
|
|
||||||
"ColorIndex": 5,
|
"ColorIndex": 5,
|
||||||
|
"Flags": 9,
|
||||||
|
"RaceID": 1,
|
||||||
|
"SexID": 2,
|
||||||
"Texture1": 6,
|
"Texture1": 6,
|
||||||
"Texture2": 7,
|
"Texture2": 7,
|
||||||
"Texture3": 8,
|
"Texture3": 8,
|
||||||
"Flags": 9
|
"VariationIndex": 4
|
||||||
},
|
},
|
||||||
"SpellIcon": {
|
"CharacterFacialHairStyles": {
|
||||||
"ID": 0,
|
"Geoset100": 3,
|
||||||
"Path": 1
|
"Geoset200": 5,
|
||||||
|
"Geoset300": 4,
|
||||||
|
"RaceID": 0,
|
||||||
|
"SexID": 1,
|
||||||
|
"Variation": 2
|
||||||
},
|
},
|
||||||
"FactionTemplate": {
|
"CreatureDisplayInfo": {
|
||||||
|
"ExtraDisplayId": 3,
|
||||||
"ID": 0,
|
"ID": 0,
|
||||||
"Faction": 1,
|
"ModelID": 1,
|
||||||
"FactionGroup": 3,
|
"Skin1": 6,
|
||||||
"FriendGroup": 4,
|
"Skin2": 7,
|
||||||
"EnemyGroup": 5,
|
"Skin3": 8
|
||||||
"Enemy0": 6,
|
|
||||||
"Enemy1": 7,
|
|
||||||
"Enemy2": 8,
|
|
||||||
"Enemy3": 9
|
|
||||||
},
|
|
||||||
"Faction": {
|
|
||||||
"ID": 0,
|
|
||||||
"ReputationRaceMask0": 2,
|
|
||||||
"ReputationRaceMask1": 3,
|
|
||||||
"ReputationRaceMask2": 4,
|
|
||||||
"ReputationRaceMask3": 5,
|
|
||||||
"ReputationBase0": 10,
|
|
||||||
"ReputationBase1": 11,
|
|
||||||
"ReputationBase2": 12,
|
|
||||||
"ReputationBase3": 13
|
|
||||||
},
|
|
||||||
"AreaTable": {
|
|
||||||
"ID": 0,
|
|
||||||
"MapID": 1,
|
|
||||||
"ParentAreaNum": 2,
|
|
||||||
"ExploreFlag": 3
|
|
||||||
},
|
},
|
||||||
"CreatureDisplayInfoExtra": {
|
"CreatureDisplayInfoExtra": {
|
||||||
"ID": 0,
|
"BakeName": 20,
|
||||||
"RaceID": 1,
|
|
||||||
"SexID": 2,
|
|
||||||
"SkinID": 3,
|
|
||||||
"FaceID": 4,
|
|
||||||
"HairStyleID": 5,
|
|
||||||
"HairColorID": 6,
|
|
||||||
"FacialHairID": 7,
|
|
||||||
"EquipDisplay0": 8,
|
"EquipDisplay0": 8,
|
||||||
"EquipDisplay1": 9,
|
"EquipDisplay1": 9,
|
||||||
|
"EquipDisplay10": 18,
|
||||||
"EquipDisplay2": 10,
|
"EquipDisplay2": 10,
|
||||||
"EquipDisplay3": 11,
|
"EquipDisplay3": 11,
|
||||||
"EquipDisplay4": 12,
|
"EquipDisplay4": 12,
|
||||||
|
|
@ -95,128 +51,89 @@
|
||||||
"EquipDisplay7": 15,
|
"EquipDisplay7": 15,
|
||||||
"EquipDisplay8": 16,
|
"EquipDisplay8": 16,
|
||||||
"EquipDisplay9": 17,
|
"EquipDisplay9": 17,
|
||||||
"EquipDisplay10": 18,
|
"FaceID": 4,
|
||||||
"BakeName": 20
|
"FacialHairID": 7,
|
||||||
},
|
"HairColorID": 6,
|
||||||
"CreatureDisplayInfo": {
|
"HairStyleID": 5,
|
||||||
"ID": 0,
|
"ID": 0,
|
||||||
"ModelID": 1,
|
"RaceID": 1,
|
||||||
"ExtraDisplayId": 3,
|
"SexID": 2,
|
||||||
"Skin1": 6,
|
"SkinID": 3
|
||||||
"Skin2": 7,
|
|
||||||
"Skin3": 8
|
|
||||||
},
|
|
||||||
"TaxiNodes": {
|
|
||||||
"ID": 0,
|
|
||||||
"MapID": 1,
|
|
||||||
"X": 2,
|
|
||||||
"Y": 3,
|
|
||||||
"Z": 4,
|
|
||||||
"Name": 5
|
|
||||||
},
|
|
||||||
"TaxiPath": {
|
|
||||||
"ID": 0,
|
|
||||||
"FromNode": 1,
|
|
||||||
"ToNode": 2,
|
|
||||||
"Cost": 3
|
|
||||||
},
|
|
||||||
"TaxiPathNode": {
|
|
||||||
"ID": 0,
|
|
||||||
"PathID": 1,
|
|
||||||
"NodeIndex": 2,
|
|
||||||
"MapID": 3,
|
|
||||||
"X": 4,
|
|
||||||
"Y": 5,
|
|
||||||
"Z": 6
|
|
||||||
},
|
|
||||||
"TalentTab": {
|
|
||||||
"ID": 0,
|
|
||||||
"Name": 1,
|
|
||||||
"ClassMask": 12,
|
|
||||||
"OrderIndex": 14,
|
|
||||||
"BackgroundFile": 15
|
|
||||||
},
|
|
||||||
"Talent": {
|
|
||||||
"ID": 0,
|
|
||||||
"TabID": 1,
|
|
||||||
"Row": 2,
|
|
||||||
"Column": 3,
|
|
||||||
"RankSpell0": 4,
|
|
||||||
"PrereqTalent0": 9,
|
|
||||||
"PrereqRank0": 12
|
|
||||||
},
|
|
||||||
"SkillLineAbility": {
|
|
||||||
"SkillLineID": 1,
|
|
||||||
"SpellID": 2
|
|
||||||
},
|
|
||||||
"SkillLine": {
|
|
||||||
"ID": 0,
|
|
||||||
"Category": 1,
|
|
||||||
"Name": 3
|
|
||||||
},
|
|
||||||
"Map": {
|
|
||||||
"ID": 0,
|
|
||||||
"InternalName": 1
|
|
||||||
},
|
},
|
||||||
"CreatureModelData": {
|
"CreatureModelData": {
|
||||||
"ID": 0,
|
"ID": 0,
|
||||||
"ModelPath": 2
|
"ModelPath": 2
|
||||||
},
|
},
|
||||||
"CharHairGeosets": {
|
|
||||||
"RaceID": 1,
|
|
||||||
"SexID": 2,
|
|
||||||
"Variation": 3,
|
|
||||||
"GeosetID": 4
|
|
||||||
},
|
|
||||||
"CharacterFacialHairStyles": {
|
|
||||||
"RaceID": 0,
|
|
||||||
"SexID": 1,
|
|
||||||
"Variation": 2,
|
|
||||||
"Geoset100": 3,
|
|
||||||
"Geoset300": 4,
|
|
||||||
"Geoset200": 5
|
|
||||||
},
|
|
||||||
"GameObjectDisplayInfo": {
|
|
||||||
"ID": 0,
|
|
||||||
"ModelName": 1
|
|
||||||
},
|
|
||||||
"Emotes": {
|
"Emotes": {
|
||||||
"ID": 0,
|
"AnimID": 2,
|
||||||
"AnimID": 2
|
"ID": 0
|
||||||
},
|
},
|
||||||
"EmotesText": {
|
"EmotesText": {
|
||||||
"ID": 0,
|
|
||||||
"Command": 1,
|
"Command": 1,
|
||||||
"EmoteRef": 2,
|
"EmoteRef": 2,
|
||||||
"OthersTargetTextID": 3,
|
"ID": 0,
|
||||||
"SenderTargetTextID": 5,
|
|
||||||
"OthersNoTargetTextID": 7,
|
"OthersNoTargetTextID": 7,
|
||||||
"SenderNoTargetTextID": 9
|
"OthersTargetTextID": 3,
|
||||||
|
"SenderNoTargetTextID": 9,
|
||||||
|
"SenderTargetTextID": 5
|
||||||
},
|
},
|
||||||
"EmotesTextData": {
|
"EmotesTextData": {
|
||||||
"ID": 0,
|
"ID": 0,
|
||||||
"Text": 1
|
"Text": 1
|
||||||
},
|
},
|
||||||
|
"Faction": {
|
||||||
|
"ID": 0,
|
||||||
|
"ReputationBase0": 10,
|
||||||
|
"ReputationBase1": 11,
|
||||||
|
"ReputationBase2": 12,
|
||||||
|
"ReputationBase3": 13,
|
||||||
|
"ReputationRaceMask0": 2,
|
||||||
|
"ReputationRaceMask1": 3,
|
||||||
|
"ReputationRaceMask2": 4,
|
||||||
|
"ReputationRaceMask3": 5
|
||||||
|
},
|
||||||
|
"FactionTemplate": {
|
||||||
|
"Enemy0": 6,
|
||||||
|
"Enemy1": 7,
|
||||||
|
"Enemy2": 8,
|
||||||
|
"Enemy3": 9,
|
||||||
|
"EnemyGroup": 5,
|
||||||
|
"Faction": 1,
|
||||||
|
"FactionGroup": 3,
|
||||||
|
"FriendGroup": 4,
|
||||||
|
"ID": 0
|
||||||
|
},
|
||||||
|
"GameObjectDisplayInfo": {
|
||||||
|
"ID": 0,
|
||||||
|
"ModelName": 1
|
||||||
|
},
|
||||||
|
"ItemDisplayInfo": {
|
||||||
|
"GeosetGroup1": 7,
|
||||||
|
"GeosetGroup3": 9,
|
||||||
|
"ID": 0,
|
||||||
|
"InventoryIcon": 5,
|
||||||
|
"LeftModel": 1,
|
||||||
|
"LeftModelTexture": 3,
|
||||||
|
"TextureArmLower": 15,
|
||||||
|
"TextureArmUpper": 14,
|
||||||
|
"TextureFoot": 21,
|
||||||
|
"TextureHand": 16,
|
||||||
|
"TextureLegLower": 20,
|
||||||
|
"TextureLegUpper": 19,
|
||||||
|
"TextureTorsoLower": 18,
|
||||||
|
"TextureTorsoUpper": 17
|
||||||
|
},
|
||||||
"Light": {
|
"Light": {
|
||||||
"ID": 0,
|
"ID": 0,
|
||||||
"MapID": 1,
|
|
||||||
"X": 2,
|
|
||||||
"Z": 3,
|
|
||||||
"Y": 4,
|
|
||||||
"InnerRadius": 5,
|
"InnerRadius": 5,
|
||||||
"OuterRadius": 6,
|
|
||||||
"LightParamsID": 7,
|
"LightParamsID": 7,
|
||||||
"LightParamsIDRain": 8,
|
"LightParamsIDRain": 8,
|
||||||
"LightParamsIDUnderwater": 9
|
"LightParamsIDUnderwater": 9,
|
||||||
},
|
"MapID": 1,
|
||||||
"LightParams": {
|
"OuterRadius": 6,
|
||||||
"LightParamsID": 0
|
"X": 2,
|
||||||
},
|
"Y": 4,
|
||||||
"LightIntBand": {
|
"Z": 3
|
||||||
"BlockIndex": 1,
|
|
||||||
"NumKeyframes": 2,
|
|
||||||
"TimeKey0": 3,
|
|
||||||
"Value0": 19
|
|
||||||
},
|
},
|
||||||
"LightFloatBand": {
|
"LightFloatBand": {
|
||||||
"BlockIndex": 1,
|
"BlockIndex": 1,
|
||||||
|
|
@ -224,33 +141,119 @@
|
||||||
"TimeKey0": 3,
|
"TimeKey0": 3,
|
||||||
"Value0": 19
|
"Value0": 19
|
||||||
},
|
},
|
||||||
"WorldMapArea": {
|
"LightIntBand": {
|
||||||
|
"BlockIndex": 1,
|
||||||
|
"NumKeyframes": 2,
|
||||||
|
"TimeKey0": 3,
|
||||||
|
"Value0": 19
|
||||||
|
},
|
||||||
|
"LightParams": {
|
||||||
|
"LightParamsID": 0
|
||||||
|
},
|
||||||
|
"Map": {
|
||||||
"ID": 0,
|
"ID": 0,
|
||||||
"MapID": 1,
|
"InternalName": 1
|
||||||
"AreaID": 2,
|
},
|
||||||
"AreaName": 3,
|
"SkillLine": {
|
||||||
"LocLeft": 4,
|
"Category": 1,
|
||||||
"LocRight": 5,
|
"ID": 0,
|
||||||
"LocTop": 6,
|
"Name": 3
|
||||||
"LocBottom": 7,
|
},
|
||||||
"DisplayMapID": 8,
|
"SkillLineAbility": {
|
||||||
"ParentWorldMapID": 10
|
"SkillLineID": 1,
|
||||||
|
"SpellID": 2
|
||||||
|
},
|
||||||
|
"Spell": {
|
||||||
|
"Attributes": 5,
|
||||||
|
"AttributesEx": 6,
|
||||||
|
"CastingTimeIndex": 15,
|
||||||
|
"DispelType": 4,
|
||||||
|
"EffectBasePoints0": 80,
|
||||||
|
"EffectBasePoints1": 81,
|
||||||
|
"EffectBasePoints2": 82,
|
||||||
|
"ID": 0,
|
||||||
|
"IconID": 117,
|
||||||
|
"ManaCost": 29,
|
||||||
|
"Name": 120,
|
||||||
|
"PowerType": 28,
|
||||||
|
"RangeIndex": 33,
|
||||||
|
"Rank": 129,
|
||||||
|
"SchoolEnum": 1,
|
||||||
|
"Tooltip": 147
|
||||||
|
},
|
||||||
|
"SpellIcon": {
|
||||||
|
"ID": 0,
|
||||||
|
"Path": 1
|
||||||
|
},
|
||||||
|
"SpellRange": {
|
||||||
|
"MaxRange": 2
|
||||||
},
|
},
|
||||||
"SpellVisual": {
|
"SpellVisual": {
|
||||||
"ID": 0,
|
|
||||||
"CastKit": 2,
|
"CastKit": 2,
|
||||||
|
"ID": 0,
|
||||||
"ImpactKit": 3,
|
"ImpactKit": 3,
|
||||||
"MissileModel": 8
|
"MissileModel": 8
|
||||||
},
|
},
|
||||||
|
"SpellVisualEffectName": {
|
||||||
|
"FilePath": 2,
|
||||||
|
"ID": 0
|
||||||
|
},
|
||||||
"SpellVisualKit": {
|
"SpellVisualKit": {
|
||||||
"ID": 0,
|
|
||||||
"BaseEffect": 5,
|
"BaseEffect": 5,
|
||||||
|
"ID": 0,
|
||||||
"SpecialEffect0": 11,
|
"SpecialEffect0": 11,
|
||||||
"SpecialEffect1": 12,
|
"SpecialEffect1": 12,
|
||||||
"SpecialEffect2": 13
|
"SpecialEffect2": 13
|
||||||
},
|
},
|
||||||
"SpellVisualEffectName": {
|
"Talent": {
|
||||||
|
"Column": 3,
|
||||||
"ID": 0,
|
"ID": 0,
|
||||||
"FilePath": 2
|
"PrereqRank0": 12,
|
||||||
|
"PrereqTalent0": 9,
|
||||||
|
"RankSpell0": 4,
|
||||||
|
"Row": 2,
|
||||||
|
"TabID": 1
|
||||||
|
},
|
||||||
|
"TalentTab": {
|
||||||
|
"BackgroundFile": 15,
|
||||||
|
"ClassMask": 12,
|
||||||
|
"ID": 0,
|
||||||
|
"Name": 1,
|
||||||
|
"OrderIndex": 14
|
||||||
|
},
|
||||||
|
"TaxiNodes": {
|
||||||
|
"ID": 0,
|
||||||
|
"MapID": 1,
|
||||||
|
"Name": 5,
|
||||||
|
"X": 2,
|
||||||
|
"Y": 3,
|
||||||
|
"Z": 4
|
||||||
|
},
|
||||||
|
"TaxiPath": {
|
||||||
|
"Cost": 3,
|
||||||
|
"FromNode": 1,
|
||||||
|
"ID": 0,
|
||||||
|
"ToNode": 2
|
||||||
|
},
|
||||||
|
"TaxiPathNode": {
|
||||||
|
"ID": 0,
|
||||||
|
"MapID": 3,
|
||||||
|
"NodeIndex": 2,
|
||||||
|
"PathID": 1,
|
||||||
|
"X": 4,
|
||||||
|
"Y": 5,
|
||||||
|
"Z": 6
|
||||||
|
},
|
||||||
|
"WorldMapArea": {
|
||||||
|
"AreaID": 2,
|
||||||
|
"AreaName": 3,
|
||||||
|
"DisplayMapID": 8,
|
||||||
|
"ID": 0,
|
||||||
|
"LocBottom": 7,
|
||||||
|
"LocLeft": 4,
|
||||||
|
"LocRight": 5,
|
||||||
|
"LocTop": 6,
|
||||||
|
"MapID": 1,
|
||||||
|
"ParentWorldMapID": 10
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,97 +1,53 @@
|
||||||
{
|
{
|
||||||
"Spell": {
|
"AreaTable": {
|
||||||
|
"ExploreFlag": 3,
|
||||||
"ID": 0,
|
"ID": 0,
|
||||||
"Attributes": 5,
|
"MapID": 1,
|
||||||
"AttributesEx": 6,
|
"ParentAreaNum": 2
|
||||||
"IconID": 124,
|
|
||||||
"Name": 127,
|
|
||||||
"Tooltip": 154,
|
|
||||||
"Rank": 136,
|
|
||||||
"SchoolMask": 215,
|
|
||||||
"CastingTimeIndex": 22,
|
|
||||||
"PowerType": 35,
|
|
||||||
"ManaCost": 36,
|
|
||||||
"RangeIndex": 40,
|
|
||||||
"DispelType": 3
|
|
||||||
},
|
},
|
||||||
"SpellRange": {
|
"CharHairGeosets": {
|
||||||
"MaxRange": 4
|
"GeosetID": 4,
|
||||||
},
|
|
||||||
"ItemDisplayInfo": {
|
|
||||||
"ID": 0,
|
|
||||||
"LeftModel": 1,
|
|
||||||
"LeftModelTexture": 3,
|
|
||||||
"InventoryIcon": 5,
|
|
||||||
"GeosetGroup1": 7,
|
|
||||||
"GeosetGroup3": 9,
|
|
||||||
"TextureArmUpper": 14,
|
|
||||||
"TextureArmLower": 15,
|
|
||||||
"TextureHand": 16,
|
|
||||||
"TextureTorsoUpper": 17,
|
|
||||||
"TextureTorsoLower": 18,
|
|
||||||
"TextureLegUpper": 19,
|
|
||||||
"TextureLegLower": 20,
|
|
||||||
"TextureFoot": 21
|
|
||||||
},
|
|
||||||
"CharSections": {
|
|
||||||
"RaceID": 1,
|
"RaceID": 1,
|
||||||
"SexID": 2,
|
"SexID": 2,
|
||||||
|
"Variation": 3
|
||||||
|
},
|
||||||
|
"CharSections": {
|
||||||
"BaseSection": 3,
|
"BaseSection": 3,
|
||||||
"VariationIndex": 4,
|
|
||||||
"ColorIndex": 5,
|
"ColorIndex": 5,
|
||||||
|
"Flags": 9,
|
||||||
|
"RaceID": 1,
|
||||||
|
"SexID": 2,
|
||||||
"Texture1": 6,
|
"Texture1": 6,
|
||||||
"Texture2": 7,
|
"Texture2": 7,
|
||||||
"Texture3": 8,
|
"Texture3": 8,
|
||||||
"Flags": 9
|
"VariationIndex": 4
|
||||||
},
|
|
||||||
"SpellIcon": {
|
|
||||||
"ID": 0,
|
|
||||||
"Path": 1
|
|
||||||
},
|
|
||||||
"FactionTemplate": {
|
|
||||||
"ID": 0,
|
|
||||||
"Faction": 1,
|
|
||||||
"FactionGroup": 3,
|
|
||||||
"FriendGroup": 4,
|
|
||||||
"EnemyGroup": 5,
|
|
||||||
"Enemy0": 6,
|
|
||||||
"Enemy1": 7,
|
|
||||||
"Enemy2": 8,
|
|
||||||
"Enemy3": 9
|
|
||||||
},
|
|
||||||
"Faction": {
|
|
||||||
"ID": 0,
|
|
||||||
"ReputationRaceMask0": 2,
|
|
||||||
"ReputationRaceMask1": 3,
|
|
||||||
"ReputationRaceMask2": 4,
|
|
||||||
"ReputationRaceMask3": 5,
|
|
||||||
"ReputationBase0": 10,
|
|
||||||
"ReputationBase1": 11,
|
|
||||||
"ReputationBase2": 12,
|
|
||||||
"ReputationBase3": 13
|
|
||||||
},
|
},
|
||||||
"CharTitles": {
|
"CharTitles": {
|
||||||
"ID": 0,
|
"ID": 0,
|
||||||
"Title": 2,
|
"Title": 2,
|
||||||
"TitleBit": 20
|
"TitleBit": 20
|
||||||
},
|
},
|
||||||
"AreaTable": {
|
"CharacterFacialHairStyles": {
|
||||||
|
"Geoset100": 3,
|
||||||
|
"Geoset200": 5,
|
||||||
|
"Geoset300": 4,
|
||||||
|
"RaceID": 0,
|
||||||
|
"SexID": 1,
|
||||||
|
"Variation": 2
|
||||||
|
},
|
||||||
|
"CreatureDisplayInfo": {
|
||||||
|
"ExtraDisplayId": 3,
|
||||||
"ID": 0,
|
"ID": 0,
|
||||||
"MapID": 1,
|
"ModelID": 1,
|
||||||
"ParentAreaNum": 2,
|
"Skin1": 6,
|
||||||
"ExploreFlag": 3
|
"Skin2": 7,
|
||||||
|
"Skin3": 8
|
||||||
},
|
},
|
||||||
"CreatureDisplayInfoExtra": {
|
"CreatureDisplayInfoExtra": {
|
||||||
"ID": 0,
|
"BakeName": 20,
|
||||||
"RaceID": 1,
|
|
||||||
"SexID": 2,
|
|
||||||
"SkinID": 3,
|
|
||||||
"FaceID": 4,
|
|
||||||
"HairStyleID": 5,
|
|
||||||
"HairColorID": 6,
|
|
||||||
"FacialHairID": 7,
|
|
||||||
"EquipDisplay0": 8,
|
"EquipDisplay0": 8,
|
||||||
"EquipDisplay1": 9,
|
"EquipDisplay1": 9,
|
||||||
|
"EquipDisplay10": 18,
|
||||||
"EquipDisplay2": 10,
|
"EquipDisplay2": 10,
|
||||||
"EquipDisplay3": 11,
|
"EquipDisplay3": 11,
|
||||||
"EquipDisplay4": 12,
|
"EquipDisplay4": 12,
|
||||||
|
|
@ -100,158 +56,80 @@
|
||||||
"EquipDisplay7": 15,
|
"EquipDisplay7": 15,
|
||||||
"EquipDisplay8": 16,
|
"EquipDisplay8": 16,
|
||||||
"EquipDisplay9": 17,
|
"EquipDisplay9": 17,
|
||||||
"EquipDisplay10": 18,
|
"FaceID": 4,
|
||||||
"BakeName": 20
|
"FacialHairID": 7,
|
||||||
},
|
"HairColorID": 6,
|
||||||
"CreatureDisplayInfo": {
|
"HairStyleID": 5,
|
||||||
"ID": 0,
|
"ID": 0,
|
||||||
"ModelID": 1,
|
"RaceID": 1,
|
||||||
"ExtraDisplayId": 3,
|
"SexID": 2,
|
||||||
"Skin1": 6,
|
"SkinID": 3
|
||||||
"Skin2": 7,
|
|
||||||
"Skin3": 8
|
|
||||||
},
|
|
||||||
"TaxiNodes": {
|
|
||||||
"ID": 0,
|
|
||||||
"MapID": 1,
|
|
||||||
"X": 2,
|
|
||||||
"Y": 3,
|
|
||||||
"Z": 4,
|
|
||||||
"Name": 5,
|
|
||||||
"MountDisplayIdAllianceFallback": 12,
|
|
||||||
"MountDisplayIdHordeFallback": 13,
|
|
||||||
"MountDisplayIdAlliance": 14,
|
|
||||||
"MountDisplayIdHorde": 15
|
|
||||||
},
|
|
||||||
"TaxiPath": {
|
|
||||||
"ID": 0,
|
|
||||||
"FromNode": 1,
|
|
||||||
"ToNode": 2,
|
|
||||||
"Cost": 3
|
|
||||||
},
|
|
||||||
"TaxiPathNode": {
|
|
||||||
"ID": 0,
|
|
||||||
"PathID": 1,
|
|
||||||
"NodeIndex": 2,
|
|
||||||
"MapID": 3,
|
|
||||||
"X": 4,
|
|
||||||
"Y": 5,
|
|
||||||
"Z": 6
|
|
||||||
},
|
|
||||||
"TalentTab": {
|
|
||||||
"ID": 0,
|
|
||||||
"Name": 1,
|
|
||||||
"ClassMask": 12,
|
|
||||||
"OrderIndex": 14,
|
|
||||||
"BackgroundFile": 15
|
|
||||||
},
|
|
||||||
"Talent": {
|
|
||||||
"ID": 0,
|
|
||||||
"TabID": 1,
|
|
||||||
"Row": 2,
|
|
||||||
"Column": 3,
|
|
||||||
"RankSpell0": 4,
|
|
||||||
"PrereqTalent0": 9,
|
|
||||||
"PrereqRank0": 12
|
|
||||||
},
|
|
||||||
"SkillLineAbility": {
|
|
||||||
"SkillLineID": 1,
|
|
||||||
"SpellID": 2
|
|
||||||
},
|
|
||||||
"SkillLine": {
|
|
||||||
"ID": 0,
|
|
||||||
"Category": 1,
|
|
||||||
"Name": 3
|
|
||||||
},
|
|
||||||
"Map": {
|
|
||||||
"ID": 0,
|
|
||||||
"InternalName": 1
|
|
||||||
},
|
},
|
||||||
"CreatureModelData": {
|
"CreatureModelData": {
|
||||||
"ID": 0,
|
"ID": 0,
|
||||||
"ModelPath": 2
|
"ModelPath": 2
|
||||||
},
|
},
|
||||||
"CharHairGeosets": {
|
|
||||||
"RaceID": 1,
|
|
||||||
"SexID": 2,
|
|
||||||
"Variation": 3,
|
|
||||||
"GeosetID": 4
|
|
||||||
},
|
|
||||||
"CharacterFacialHairStyles": {
|
|
||||||
"RaceID": 0,
|
|
||||||
"SexID": 1,
|
|
||||||
"Variation": 2,
|
|
||||||
"Geoset100": 3,
|
|
||||||
"Geoset300": 4,
|
|
||||||
"Geoset200": 5
|
|
||||||
},
|
|
||||||
"GameObjectDisplayInfo": {
|
|
||||||
"ID": 0,
|
|
||||||
"ModelName": 1
|
|
||||||
},
|
|
||||||
"Emotes": {
|
"Emotes": {
|
||||||
"ID": 0,
|
"AnimID": 2,
|
||||||
"AnimID": 2
|
"ID": 0
|
||||||
},
|
},
|
||||||
"EmotesText": {
|
"EmotesText": {
|
||||||
"ID": 0,
|
|
||||||
"Command": 1,
|
"Command": 1,
|
||||||
"EmoteRef": 2,
|
"EmoteRef": 2,
|
||||||
"OthersTargetTextID": 3,
|
"ID": 0,
|
||||||
"SenderTargetTextID": 5,
|
|
||||||
"OthersNoTargetTextID": 7,
|
"OthersNoTargetTextID": 7,
|
||||||
"SenderNoTargetTextID": 9
|
"OthersTargetTextID": 3,
|
||||||
|
"SenderNoTargetTextID": 9,
|
||||||
|
"SenderTargetTextID": 5
|
||||||
},
|
},
|
||||||
"EmotesTextData": {
|
"EmotesTextData": {
|
||||||
"ID": 0,
|
"ID": 0,
|
||||||
"Text": 1
|
"Text": 1
|
||||||
},
|
},
|
||||||
"Light": {
|
"Faction": {
|
||||||
"ID": 0,
|
"ID": 0,
|
||||||
"MapID": 1,
|
"ReputationBase0": 10,
|
||||||
"X": 2,
|
"ReputationBase1": 11,
|
||||||
"Z": 3,
|
"ReputationBase2": 12,
|
||||||
"Y": 4,
|
"ReputationBase3": 13,
|
||||||
"InnerRadius": 5,
|
"ReputationRaceMask0": 2,
|
||||||
"OuterRadius": 6,
|
"ReputationRaceMask1": 3,
|
||||||
"LightParamsID": 7,
|
"ReputationRaceMask2": 4,
|
||||||
"LightParamsIDRain": 8,
|
"ReputationRaceMask3": 5
|
||||||
"LightParamsIDUnderwater": 9
|
|
||||||
},
|
},
|
||||||
"LightParams": {
|
"FactionTemplate": {
|
||||||
"LightParamsID": 0
|
"Enemy0": 6,
|
||||||
|
"Enemy1": 7,
|
||||||
|
"Enemy2": 8,
|
||||||
|
"Enemy3": 9,
|
||||||
|
"EnemyGroup": 5,
|
||||||
|
"Faction": 1,
|
||||||
|
"FactionGroup": 3,
|
||||||
|
"FriendGroup": 4,
|
||||||
|
"ID": 0
|
||||||
},
|
},
|
||||||
"LightIntBand": {
|
"GameObjectDisplayInfo": {
|
||||||
"BlockIndex": 1,
|
|
||||||
"NumKeyframes": 2,
|
|
||||||
"TimeKey0": 3,
|
|
||||||
"Value0": 19
|
|
||||||
},
|
|
||||||
"LightFloatBand": {
|
|
||||||
"BlockIndex": 1,
|
|
||||||
"NumKeyframes": 2,
|
|
||||||
"TimeKey0": 3,
|
|
||||||
"Value0": 19
|
|
||||||
},
|
|
||||||
"WorldMapArea": {
|
|
||||||
"ID": 0,
|
"ID": 0,
|
||||||
"MapID": 1,
|
"ModelName": 1
|
||||||
"AreaID": 2,
|
|
||||||
"AreaName": 3,
|
|
||||||
"LocLeft": 4,
|
|
||||||
"LocRight": 5,
|
|
||||||
"LocTop": 6,
|
|
||||||
"LocBottom": 7,
|
|
||||||
"DisplayMapID": 8,
|
|
||||||
"ParentWorldMapID": 10
|
|
||||||
},
|
},
|
||||||
"SpellItemEnchantment": {
|
"ItemDisplayInfo": {
|
||||||
|
"GeosetGroup1": 7,
|
||||||
|
"GeosetGroup3": 9,
|
||||||
"ID": 0,
|
"ID": 0,
|
||||||
"Name": 8
|
"InventoryIcon": 5,
|
||||||
|
"LeftModel": 1,
|
||||||
|
"LeftModelTexture": 3,
|
||||||
|
"TextureArmLower": 15,
|
||||||
|
"TextureArmUpper": 14,
|
||||||
|
"TextureFoot": 21,
|
||||||
|
"TextureHand": 16,
|
||||||
|
"TextureLegLower": 20,
|
||||||
|
"TextureLegUpper": 19,
|
||||||
|
"TextureTorsoLower": 18,
|
||||||
|
"TextureTorsoUpper": 17
|
||||||
},
|
},
|
||||||
"ItemSet": {
|
"ItemSet": {
|
||||||
"ID": 0,
|
"ID": 0,
|
||||||
"Name": 1,
|
|
||||||
"Item0": 18,
|
"Item0": 18,
|
||||||
"Item1": 19,
|
"Item1": 19,
|
||||||
"Item2": 20,
|
"Item2": 20,
|
||||||
|
|
@ -262,6 +140,7 @@
|
||||||
"Item7": 25,
|
"Item7": 25,
|
||||||
"Item8": 26,
|
"Item8": 26,
|
||||||
"Item9": 27,
|
"Item9": 27,
|
||||||
|
"Name": 1,
|
||||||
"Spell0": 28,
|
"Spell0": 28,
|
||||||
"Spell1": 29,
|
"Spell1": 29,
|
||||||
"Spell2": 30,
|
"Spell2": 30,
|
||||||
|
|
@ -283,21 +162,145 @@
|
||||||
"Threshold8": 46,
|
"Threshold8": 46,
|
||||||
"Threshold9": 47
|
"Threshold9": 47
|
||||||
},
|
},
|
||||||
"SpellVisual": {
|
"Light": {
|
||||||
"ID": 0,
|
"ID": 0,
|
||||||
|
"InnerRadius": 5,
|
||||||
|
"LightParamsID": 7,
|
||||||
|
"LightParamsIDRain": 8,
|
||||||
|
"LightParamsIDUnderwater": 9,
|
||||||
|
"MapID": 1,
|
||||||
|
"OuterRadius": 6,
|
||||||
|
"X": 2,
|
||||||
|
"Y": 4,
|
||||||
|
"Z": 3
|
||||||
|
},
|
||||||
|
"LightFloatBand": {
|
||||||
|
"BlockIndex": 1,
|
||||||
|
"NumKeyframes": 2,
|
||||||
|
"TimeKey0": 3,
|
||||||
|
"Value0": 19
|
||||||
|
},
|
||||||
|
"LightIntBand": {
|
||||||
|
"BlockIndex": 1,
|
||||||
|
"NumKeyframes": 2,
|
||||||
|
"TimeKey0": 3,
|
||||||
|
"Value0": 19
|
||||||
|
},
|
||||||
|
"LightParams": {
|
||||||
|
"LightParamsID": 0
|
||||||
|
},
|
||||||
|
"Map": {
|
||||||
|
"ID": 0,
|
||||||
|
"InternalName": 1
|
||||||
|
},
|
||||||
|
"SkillLine": {
|
||||||
|
"Category": 1,
|
||||||
|
"ID": 0,
|
||||||
|
"Name": 3
|
||||||
|
},
|
||||||
|
"SkillLineAbility": {
|
||||||
|
"SkillLineID": 1,
|
||||||
|
"SpellID": 2
|
||||||
|
},
|
||||||
|
"Spell": {
|
||||||
|
"Attributes": 5,
|
||||||
|
"AttributesEx": 6,
|
||||||
|
"CastingTimeIndex": 22,
|
||||||
|
"DispelType": 3,
|
||||||
|
"EffectBasePoints0": 80,
|
||||||
|
"EffectBasePoints1": 81,
|
||||||
|
"EffectBasePoints2": 82,
|
||||||
|
"ID": 0,
|
||||||
|
"IconID": 124,
|
||||||
|
"ManaCost": 36,
|
||||||
|
"Name": 127,
|
||||||
|
"PowerType": 35,
|
||||||
|
"RangeIndex": 40,
|
||||||
|
"Rank": 136,
|
||||||
|
"SchoolMask": 215,
|
||||||
|
"Tooltip": 154
|
||||||
|
},
|
||||||
|
"SpellIcon": {
|
||||||
|
"ID": 0,
|
||||||
|
"Path": 1
|
||||||
|
},
|
||||||
|
"SpellItemEnchantment": {
|
||||||
|
"ID": 0,
|
||||||
|
"Name": 8
|
||||||
|
},
|
||||||
|
"SpellRange": {
|
||||||
|
"MaxRange": 4
|
||||||
|
},
|
||||||
|
"SpellVisual": {
|
||||||
"CastKit": 2,
|
"CastKit": 2,
|
||||||
|
"ID": 0,
|
||||||
"ImpactKit": 3,
|
"ImpactKit": 3,
|
||||||
"MissileModel": 8
|
"MissileModel": 8
|
||||||
},
|
},
|
||||||
|
"SpellVisualEffectName": {
|
||||||
|
"FilePath": 2,
|
||||||
|
"ID": 0
|
||||||
|
},
|
||||||
"SpellVisualKit": {
|
"SpellVisualKit": {
|
||||||
"ID": 0,
|
|
||||||
"BaseEffect": 5,
|
"BaseEffect": 5,
|
||||||
|
"ID": 0,
|
||||||
"SpecialEffect0": 11,
|
"SpecialEffect0": 11,
|
||||||
"SpecialEffect1": 12,
|
"SpecialEffect1": 12,
|
||||||
"SpecialEffect2": 13
|
"SpecialEffect2": 13
|
||||||
},
|
},
|
||||||
"SpellVisualEffectName": {
|
"Talent": {
|
||||||
|
"Column": 3,
|
||||||
"ID": 0,
|
"ID": 0,
|
||||||
"FilePath": 2
|
"PrereqRank0": 12,
|
||||||
|
"PrereqTalent0": 9,
|
||||||
|
"RankSpell0": 4,
|
||||||
|
"Row": 2,
|
||||||
|
"TabID": 1
|
||||||
|
},
|
||||||
|
"TalentTab": {
|
||||||
|
"BackgroundFile": 15,
|
||||||
|
"ClassMask": 12,
|
||||||
|
"ID": 0,
|
||||||
|
"Name": 1,
|
||||||
|
"OrderIndex": 14
|
||||||
|
},
|
||||||
|
"TaxiNodes": {
|
||||||
|
"ID": 0,
|
||||||
|
"MapID": 1,
|
||||||
|
"MountDisplayIdAlliance": 14,
|
||||||
|
"MountDisplayIdAllianceFallback": 12,
|
||||||
|
"MountDisplayIdHorde": 15,
|
||||||
|
"MountDisplayIdHordeFallback": 13,
|
||||||
|
"Name": 5,
|
||||||
|
"X": 2,
|
||||||
|
"Y": 3,
|
||||||
|
"Z": 4
|
||||||
|
},
|
||||||
|
"TaxiPath": {
|
||||||
|
"Cost": 3,
|
||||||
|
"FromNode": 1,
|
||||||
|
"ID": 0,
|
||||||
|
"ToNode": 2
|
||||||
|
},
|
||||||
|
"TaxiPathNode": {
|
||||||
|
"ID": 0,
|
||||||
|
"MapID": 3,
|
||||||
|
"NodeIndex": 2,
|
||||||
|
"PathID": 1,
|
||||||
|
"X": 4,
|
||||||
|
"Y": 5,
|
||||||
|
"Z": 6
|
||||||
|
},
|
||||||
|
"WorldMapArea": {
|
||||||
|
"AreaID": 2,
|
||||||
|
"AreaName": 3,
|
||||||
|
"DisplayMapID": 8,
|
||||||
|
"ID": 0,
|
||||||
|
"LocBottom": 7,
|
||||||
|
"LocLeft": 4,
|
||||||
|
"LocRight": 5,
|
||||||
|
"LocTop": 6,
|
||||||
|
"MapID": 1,
|
||||||
|
"ParentWorldMapID": 10
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,90 +1,45 @@
|
||||||
{
|
{
|
||||||
"Spell": {
|
"AreaTable": {
|
||||||
|
"ExploreFlag": 3,
|
||||||
"ID": 0,
|
"ID": 0,
|
||||||
"Attributes": 5,
|
"MapID": 1,
|
||||||
"AttributesEx": 6,
|
"ParentAreaNum": 2
|
||||||
"IconID": 117,
|
|
||||||
"Name": 120,
|
|
||||||
"Tooltip": 147,
|
|
||||||
"Rank": 129,
|
|
||||||
"SchoolEnum": 1,
|
|
||||||
"CastingTimeIndex": 15,
|
|
||||||
"PowerType": 28,
|
|
||||||
"ManaCost": 29,
|
|
||||||
"RangeIndex": 33,
|
|
||||||
"DispelType": 4
|
|
||||||
},
|
},
|
||||||
"SpellRange": {
|
"CharHairGeosets": {
|
||||||
"MaxRange": 2
|
"GeosetID": 4,
|
||||||
},
|
|
||||||
"ItemDisplayInfo": {
|
|
||||||
"ID": 0,
|
|
||||||
"LeftModel": 1,
|
|
||||||
"LeftModelTexture": 3,
|
|
||||||
"InventoryIcon": 5,
|
|
||||||
"GeosetGroup1": 7,
|
|
||||||
"GeosetGroup3": 9,
|
|
||||||
"TextureArmUpper": 14,
|
|
||||||
"TextureArmLower": 15,
|
|
||||||
"TextureHand": 16,
|
|
||||||
"TextureTorsoUpper": 17,
|
|
||||||
"TextureTorsoLower": 18,
|
|
||||||
"TextureLegUpper": 19,
|
|
||||||
"TextureLegLower": 20,
|
|
||||||
"TextureFoot": 21
|
|
||||||
},
|
|
||||||
"CharSections": {
|
|
||||||
"RaceID": 1,
|
"RaceID": 1,
|
||||||
"SexID": 2,
|
"SexID": 2,
|
||||||
|
"Variation": 3
|
||||||
|
},
|
||||||
|
"CharSections": {
|
||||||
"BaseSection": 3,
|
"BaseSection": 3,
|
||||||
"VariationIndex": 4,
|
|
||||||
"ColorIndex": 5,
|
"ColorIndex": 5,
|
||||||
|
"Flags": 9,
|
||||||
|
"RaceID": 1,
|
||||||
|
"SexID": 2,
|
||||||
"Texture1": 6,
|
"Texture1": 6,
|
||||||
"Texture2": 7,
|
"Texture2": 7,
|
||||||
"Texture3": 8,
|
"Texture3": 8,
|
||||||
"Flags": 9
|
"VariationIndex": 4
|
||||||
},
|
},
|
||||||
"SpellIcon": {
|
"CharacterFacialHairStyles": {
|
||||||
"ID": 0,
|
"Geoset100": 3,
|
||||||
"Path": 1
|
"Geoset200": 5,
|
||||||
|
"Geoset300": 4,
|
||||||
|
"RaceID": 0,
|
||||||
|
"SexID": 1,
|
||||||
|
"Variation": 2
|
||||||
},
|
},
|
||||||
"FactionTemplate": {
|
"CreatureDisplayInfo": {
|
||||||
|
"ExtraDisplayId": 3,
|
||||||
"ID": 0,
|
"ID": 0,
|
||||||
"Faction": 1,
|
"ModelID": 1,
|
||||||
"FactionGroup": 3,
|
"Skin1": 6,
|
||||||
"FriendGroup": 4,
|
"Skin2": 7,
|
||||||
"EnemyGroup": 5,
|
"Skin3": 8
|
||||||
"Enemy0": 6,
|
|
||||||
"Enemy1": 7,
|
|
||||||
"Enemy2": 8,
|
|
||||||
"Enemy3": 9
|
|
||||||
},
|
|
||||||
"Faction": {
|
|
||||||
"ID": 0,
|
|
||||||
"ReputationRaceMask0": 2,
|
|
||||||
"ReputationRaceMask1": 3,
|
|
||||||
"ReputationRaceMask2": 4,
|
|
||||||
"ReputationRaceMask3": 5,
|
|
||||||
"ReputationBase0": 10,
|
|
||||||
"ReputationBase1": 11,
|
|
||||||
"ReputationBase2": 12,
|
|
||||||
"ReputationBase3": 13
|
|
||||||
},
|
|
||||||
"AreaTable": {
|
|
||||||
"ID": 0,
|
|
||||||
"MapID": 1,
|
|
||||||
"ParentAreaNum": 2,
|
|
||||||
"ExploreFlag": 3
|
|
||||||
},
|
},
|
||||||
"CreatureDisplayInfoExtra": {
|
"CreatureDisplayInfoExtra": {
|
||||||
"ID": 0,
|
"BakeName": 18,
|
||||||
"RaceID": 1,
|
|
||||||
"SexID": 2,
|
|
||||||
"SkinID": 3,
|
|
||||||
"FaceID": 4,
|
|
||||||
"HairStyleID": 5,
|
|
||||||
"HairColorID": 6,
|
|
||||||
"FacialHairID": 7,
|
|
||||||
"EquipDisplay0": 8,
|
"EquipDisplay0": 8,
|
||||||
"EquipDisplay1": 9,
|
"EquipDisplay1": 9,
|
||||||
"EquipDisplay2": 10,
|
"EquipDisplay2": 10,
|
||||||
|
|
@ -95,153 +50,80 @@
|
||||||
"EquipDisplay7": 15,
|
"EquipDisplay7": 15,
|
||||||
"EquipDisplay8": 16,
|
"EquipDisplay8": 16,
|
||||||
"EquipDisplay9": 17,
|
"EquipDisplay9": 17,
|
||||||
"BakeName": 18
|
"FaceID": 4,
|
||||||
},
|
"FacialHairID": 7,
|
||||||
"CreatureDisplayInfo": {
|
"HairColorID": 6,
|
||||||
|
"HairStyleID": 5,
|
||||||
"ID": 0,
|
"ID": 0,
|
||||||
"ModelID": 1,
|
"RaceID": 1,
|
||||||
"ExtraDisplayId": 3,
|
"SexID": 2,
|
||||||
"Skin1": 6,
|
"SkinID": 3
|
||||||
"Skin2": 7,
|
|
||||||
"Skin3": 8
|
|
||||||
},
|
|
||||||
"TaxiNodes": {
|
|
||||||
"ID": 0,
|
|
||||||
"MapID": 1,
|
|
||||||
"X": 2,
|
|
||||||
"Y": 3,
|
|
||||||
"Z": 4,
|
|
||||||
"Name": 5
|
|
||||||
},
|
|
||||||
"TaxiPath": {
|
|
||||||
"ID": 0,
|
|
||||||
"FromNode": 1,
|
|
||||||
"ToNode": 2,
|
|
||||||
"Cost": 3
|
|
||||||
},
|
|
||||||
"TaxiPathNode": {
|
|
||||||
"ID": 0,
|
|
||||||
"PathID": 1,
|
|
||||||
"NodeIndex": 2,
|
|
||||||
"MapID": 3,
|
|
||||||
"X": 4,
|
|
||||||
"Y": 5,
|
|
||||||
"Z": 6
|
|
||||||
},
|
|
||||||
"TalentTab": {
|
|
||||||
"ID": 0,
|
|
||||||
"Name": 1,
|
|
||||||
"ClassMask": 12,
|
|
||||||
"OrderIndex": 14,
|
|
||||||
"BackgroundFile": 15
|
|
||||||
},
|
|
||||||
"Talent": {
|
|
||||||
"ID": 0,
|
|
||||||
"TabID": 1,
|
|
||||||
"Row": 2,
|
|
||||||
"Column": 3,
|
|
||||||
"RankSpell0": 4,
|
|
||||||
"PrereqTalent0": 9,
|
|
||||||
"PrereqRank0": 12
|
|
||||||
},
|
|
||||||
"SkillLineAbility": {
|
|
||||||
"SkillLineID": 1,
|
|
||||||
"SpellID": 2
|
|
||||||
},
|
|
||||||
"SkillLine": {
|
|
||||||
"ID": 0,
|
|
||||||
"Category": 1,
|
|
||||||
"Name": 3
|
|
||||||
},
|
|
||||||
"Map": {
|
|
||||||
"ID": 0,
|
|
||||||
"InternalName": 1
|
|
||||||
},
|
},
|
||||||
"CreatureModelData": {
|
"CreatureModelData": {
|
||||||
"ID": 0,
|
"ID": 0,
|
||||||
"ModelPath": 2
|
"ModelPath": 2
|
||||||
},
|
},
|
||||||
"CharHairGeosets": {
|
|
||||||
"RaceID": 1,
|
|
||||||
"SexID": 2,
|
|
||||||
"Variation": 3,
|
|
||||||
"GeosetID": 4
|
|
||||||
},
|
|
||||||
"CharacterFacialHairStyles": {
|
|
||||||
"RaceID": 0,
|
|
||||||
"SexID": 1,
|
|
||||||
"Variation": 2,
|
|
||||||
"Geoset100": 3,
|
|
||||||
"Geoset300": 4,
|
|
||||||
"Geoset200": 5
|
|
||||||
},
|
|
||||||
"GameObjectDisplayInfo": {
|
|
||||||
"ID": 0,
|
|
||||||
"ModelName": 1
|
|
||||||
},
|
|
||||||
"Emotes": {
|
"Emotes": {
|
||||||
"ID": 0,
|
"AnimID": 2,
|
||||||
"AnimID": 2
|
"ID": 0
|
||||||
},
|
},
|
||||||
"EmotesText": {
|
"EmotesText": {
|
||||||
"ID": 0,
|
|
||||||
"Command": 1,
|
"Command": 1,
|
||||||
"EmoteRef": 2,
|
"EmoteRef": 2,
|
||||||
"OthersTargetTextID": 3,
|
"ID": 0,
|
||||||
"SenderTargetTextID": 5,
|
|
||||||
"OthersNoTargetTextID": 7,
|
"OthersNoTargetTextID": 7,
|
||||||
"SenderNoTargetTextID": 9
|
"OthersTargetTextID": 3,
|
||||||
|
"SenderNoTargetTextID": 9,
|
||||||
|
"SenderTargetTextID": 5
|
||||||
},
|
},
|
||||||
"EmotesTextData": {
|
"EmotesTextData": {
|
||||||
"ID": 0,
|
"ID": 0,
|
||||||
"Text": 1
|
"Text": 1
|
||||||
},
|
},
|
||||||
"Light": {
|
"Faction": {
|
||||||
"ID": 0,
|
"ID": 0,
|
||||||
"MapID": 1,
|
"ReputationBase0": 10,
|
||||||
"X": 2,
|
"ReputationBase1": 11,
|
||||||
"Z": 3,
|
"ReputationBase2": 12,
|
||||||
"Y": 4,
|
"ReputationBase3": 13,
|
||||||
"InnerRadius": 5,
|
"ReputationRaceMask0": 2,
|
||||||
"OuterRadius": 6,
|
"ReputationRaceMask1": 3,
|
||||||
"LightParamsID": 7,
|
"ReputationRaceMask2": 4,
|
||||||
"LightParamsIDRain": 8,
|
"ReputationRaceMask3": 5
|
||||||
"LightParamsIDUnderwater": 9
|
|
||||||
},
|
},
|
||||||
"LightParams": {
|
"FactionTemplate": {
|
||||||
"LightParamsID": 0
|
"Enemy0": 6,
|
||||||
|
"Enemy1": 7,
|
||||||
|
"Enemy2": 8,
|
||||||
|
"Enemy3": 9,
|
||||||
|
"EnemyGroup": 5,
|
||||||
|
"Faction": 1,
|
||||||
|
"FactionGroup": 3,
|
||||||
|
"FriendGroup": 4,
|
||||||
|
"ID": 0
|
||||||
},
|
},
|
||||||
"LightIntBand": {
|
"GameObjectDisplayInfo": {
|
||||||
"BlockIndex": 1,
|
|
||||||
"NumKeyframes": 2,
|
|
||||||
"TimeKey0": 3,
|
|
||||||
"Value0": 19
|
|
||||||
},
|
|
||||||
"LightFloatBand": {
|
|
||||||
"BlockIndex": 1,
|
|
||||||
"NumKeyframes": 2,
|
|
||||||
"TimeKey0": 3,
|
|
||||||
"Value0": 19
|
|
||||||
},
|
|
||||||
"WorldMapArea": {
|
|
||||||
"ID": 0,
|
"ID": 0,
|
||||||
"MapID": 1,
|
"ModelName": 1
|
||||||
"AreaID": 2,
|
|
||||||
"AreaName": 3,
|
|
||||||
"LocLeft": 4,
|
|
||||||
"LocRight": 5,
|
|
||||||
"LocTop": 6,
|
|
||||||
"LocBottom": 7,
|
|
||||||
"DisplayMapID": 8,
|
|
||||||
"ParentWorldMapID": 10
|
|
||||||
},
|
},
|
||||||
"SpellItemEnchantment": {
|
"ItemDisplayInfo": {
|
||||||
|
"GeosetGroup1": 7,
|
||||||
|
"GeosetGroup3": 9,
|
||||||
"ID": 0,
|
"ID": 0,
|
||||||
"Name": 8
|
"InventoryIcon": 5,
|
||||||
|
"LeftModel": 1,
|
||||||
|
"LeftModelTexture": 3,
|
||||||
|
"TextureArmLower": 15,
|
||||||
|
"TextureArmUpper": 14,
|
||||||
|
"TextureFoot": 21,
|
||||||
|
"TextureHand": 16,
|
||||||
|
"TextureLegLower": 20,
|
||||||
|
"TextureLegUpper": 19,
|
||||||
|
"TextureTorsoLower": 18,
|
||||||
|
"TextureTorsoUpper": 17
|
||||||
},
|
},
|
||||||
"ItemSet": {
|
"ItemSet": {
|
||||||
"ID": 0,
|
"ID": 0,
|
||||||
"Name": 1,
|
|
||||||
"Item0": 10,
|
"Item0": 10,
|
||||||
"Item1": 11,
|
"Item1": 11,
|
||||||
"Item2": 12,
|
"Item2": 12,
|
||||||
|
|
@ -252,6 +134,7 @@
|
||||||
"Item7": 17,
|
"Item7": 17,
|
||||||
"Item8": 18,
|
"Item8": 18,
|
||||||
"Item9": 19,
|
"Item9": 19,
|
||||||
|
"Name": 1,
|
||||||
"Spell0": 20,
|
"Spell0": 20,
|
||||||
"Spell1": 21,
|
"Spell1": 21,
|
||||||
"Spell2": 22,
|
"Spell2": 22,
|
||||||
|
|
@ -273,21 +156,141 @@
|
||||||
"Threshold8": 38,
|
"Threshold8": 38,
|
||||||
"Threshold9": 39
|
"Threshold9": 39
|
||||||
},
|
},
|
||||||
"SpellVisual": {
|
"Light": {
|
||||||
"ID": 0,
|
"ID": 0,
|
||||||
|
"InnerRadius": 5,
|
||||||
|
"LightParamsID": 7,
|
||||||
|
"LightParamsIDRain": 8,
|
||||||
|
"LightParamsIDUnderwater": 9,
|
||||||
|
"MapID": 1,
|
||||||
|
"OuterRadius": 6,
|
||||||
|
"X": 2,
|
||||||
|
"Y": 4,
|
||||||
|
"Z": 3
|
||||||
|
},
|
||||||
|
"LightFloatBand": {
|
||||||
|
"BlockIndex": 1,
|
||||||
|
"NumKeyframes": 2,
|
||||||
|
"TimeKey0": 3,
|
||||||
|
"Value0": 19
|
||||||
|
},
|
||||||
|
"LightIntBand": {
|
||||||
|
"BlockIndex": 1,
|
||||||
|
"NumKeyframes": 2,
|
||||||
|
"TimeKey0": 3,
|
||||||
|
"Value0": 19
|
||||||
|
},
|
||||||
|
"LightParams": {
|
||||||
|
"LightParamsID": 0
|
||||||
|
},
|
||||||
|
"Map": {
|
||||||
|
"ID": 0,
|
||||||
|
"InternalName": 1
|
||||||
|
},
|
||||||
|
"SkillLine": {
|
||||||
|
"Category": 1,
|
||||||
|
"ID": 0,
|
||||||
|
"Name": 3
|
||||||
|
},
|
||||||
|
"SkillLineAbility": {
|
||||||
|
"SkillLineID": 1,
|
||||||
|
"SpellID": 2
|
||||||
|
},
|
||||||
|
"Spell": {
|
||||||
|
"Attributes": 5,
|
||||||
|
"AttributesEx": 6,
|
||||||
|
"CastingTimeIndex": 15,
|
||||||
|
"DispelType": 4,
|
||||||
|
"EffectBasePoints0": 80,
|
||||||
|
"EffectBasePoints1": 81,
|
||||||
|
"EffectBasePoints2": 82,
|
||||||
|
"ID": 0,
|
||||||
|
"IconID": 117,
|
||||||
|
"ManaCost": 29,
|
||||||
|
"Name": 120,
|
||||||
|
"PowerType": 28,
|
||||||
|
"RangeIndex": 33,
|
||||||
|
"Rank": 129,
|
||||||
|
"SchoolEnum": 1,
|
||||||
|
"Tooltip": 147
|
||||||
|
},
|
||||||
|
"SpellIcon": {
|
||||||
|
"ID": 0,
|
||||||
|
"Path": 1
|
||||||
|
},
|
||||||
|
"SpellItemEnchantment": {
|
||||||
|
"ID": 0,
|
||||||
|
"Name": 8
|
||||||
|
},
|
||||||
|
"SpellRange": {
|
||||||
|
"MaxRange": 2
|
||||||
|
},
|
||||||
|
"SpellVisual": {
|
||||||
"CastKit": 2,
|
"CastKit": 2,
|
||||||
|
"ID": 0,
|
||||||
"ImpactKit": 3,
|
"ImpactKit": 3,
|
||||||
"MissileModel": 8
|
"MissileModel": 8
|
||||||
},
|
},
|
||||||
|
"SpellVisualEffectName": {
|
||||||
|
"FilePath": 2,
|
||||||
|
"ID": 0
|
||||||
|
},
|
||||||
"SpellVisualKit": {
|
"SpellVisualKit": {
|
||||||
"ID": 0,
|
|
||||||
"BaseEffect": 5,
|
"BaseEffect": 5,
|
||||||
|
"ID": 0,
|
||||||
"SpecialEffect0": 11,
|
"SpecialEffect0": 11,
|
||||||
"SpecialEffect1": 12,
|
"SpecialEffect1": 12,
|
||||||
"SpecialEffect2": 13
|
"SpecialEffect2": 13
|
||||||
},
|
},
|
||||||
"SpellVisualEffectName": {
|
"Talent": {
|
||||||
|
"Column": 3,
|
||||||
"ID": 0,
|
"ID": 0,
|
||||||
"FilePath": 2
|
"PrereqRank0": 12,
|
||||||
|
"PrereqTalent0": 9,
|
||||||
|
"RankSpell0": 4,
|
||||||
|
"Row": 2,
|
||||||
|
"TabID": 1
|
||||||
|
},
|
||||||
|
"TalentTab": {
|
||||||
|
"BackgroundFile": 15,
|
||||||
|
"ClassMask": 12,
|
||||||
|
"ID": 0,
|
||||||
|
"Name": 1,
|
||||||
|
"OrderIndex": 14
|
||||||
|
},
|
||||||
|
"TaxiNodes": {
|
||||||
|
"ID": 0,
|
||||||
|
"MapID": 1,
|
||||||
|
"Name": 5,
|
||||||
|
"X": 2,
|
||||||
|
"Y": 3,
|
||||||
|
"Z": 4
|
||||||
|
},
|
||||||
|
"TaxiPath": {
|
||||||
|
"Cost": 3,
|
||||||
|
"FromNode": 1,
|
||||||
|
"ID": 0,
|
||||||
|
"ToNode": 2
|
||||||
|
},
|
||||||
|
"TaxiPathNode": {
|
||||||
|
"ID": 0,
|
||||||
|
"MapID": 3,
|
||||||
|
"NodeIndex": 2,
|
||||||
|
"PathID": 1,
|
||||||
|
"X": 4,
|
||||||
|
"Y": 5,
|
||||||
|
"Z": 6
|
||||||
|
},
|
||||||
|
"WorldMapArea": {
|
||||||
|
"AreaID": 2,
|
||||||
|
"AreaName": 3,
|
||||||
|
"DisplayMapID": 8,
|
||||||
|
"ID": 0,
|
||||||
|
"LocBottom": 7,
|
||||||
|
"LocLeft": 4,
|
||||||
|
"LocRight": 5,
|
||||||
|
"LocTop": 6,
|
||||||
|
"MapID": 1,
|
||||||
|
"ParentWorldMapID": 10
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,109 +1,65 @@
|
||||||
{
|
{
|
||||||
"Spell": {
|
"Achievement": {
|
||||||
|
"Description": 21,
|
||||||
"ID": 0,
|
"ID": 0,
|
||||||
"Attributes": 4,
|
"Points": 39,
|
||||||
"AttributesEx": 5,
|
"Title": 4
|
||||||
"IconID": 133,
|
|
||||||
"Name": 136,
|
|
||||||
"Tooltip": 139,
|
|
||||||
"Rank": 153,
|
|
||||||
"SchoolMask": 225,
|
|
||||||
"PowerType": 14,
|
|
||||||
"ManaCost": 39,
|
|
||||||
"CastingTimeIndex": 47,
|
|
||||||
"RangeIndex": 49,
|
|
||||||
"DispelType": 2
|
|
||||||
},
|
},
|
||||||
"SpellRange": {
|
"AchievementCriteria": {
|
||||||
"MaxRange": 4
|
"AchievementID": 1,
|
||||||
},
|
"Description": 9,
|
||||||
"ItemDisplayInfo": {
|
|
||||||
"ID": 0,
|
"ID": 0,
|
||||||
"LeftModel": 1,
|
"Quantity": 4
|
||||||
"LeftModelTexture": 3,
|
|
||||||
"InventoryIcon": 5,
|
|
||||||
"GeosetGroup1": 7,
|
|
||||||
"GeosetGroup3": 9,
|
|
||||||
"TextureArmUpper": 14,
|
|
||||||
"TextureArmLower": 15,
|
|
||||||
"TextureHand": 16,
|
|
||||||
"TextureTorsoUpper": 17,
|
|
||||||
"TextureTorsoLower": 18,
|
|
||||||
"TextureLegUpper": 19,
|
|
||||||
"TextureLegLower": 20,
|
|
||||||
"TextureFoot": 21
|
|
||||||
},
|
},
|
||||||
"CharSections": {
|
"AreaTable": {
|
||||||
|
"ExploreFlag": 3,
|
||||||
|
"ID": 0,
|
||||||
|
"MapID": 1,
|
||||||
|
"ParentAreaNum": 2
|
||||||
|
},
|
||||||
|
"CharHairGeosets": {
|
||||||
|
"GeosetID": 4,
|
||||||
"RaceID": 1,
|
"RaceID": 1,
|
||||||
"SexID": 2,
|
"SexID": 2,
|
||||||
|
"Variation": 3
|
||||||
|
},
|
||||||
|
"CharSections": {
|
||||||
"BaseSection": 3,
|
"BaseSection": 3,
|
||||||
"VariationIndex": 4,
|
|
||||||
"ColorIndex": 5,
|
"ColorIndex": 5,
|
||||||
|
"Flags": 9,
|
||||||
|
"RaceID": 1,
|
||||||
|
"SexID": 2,
|
||||||
"Texture1": 6,
|
"Texture1": 6,
|
||||||
"Texture2": 7,
|
"Texture2": 7,
|
||||||
"Texture3": 8,
|
"Texture3": 8,
|
||||||
"Flags": 9
|
"VariationIndex": 4
|
||||||
},
|
|
||||||
"SpellIcon": {
|
|
||||||
"ID": 0,
|
|
||||||
"Path": 1
|
|
||||||
},
|
|
||||||
"FactionTemplate": {
|
|
||||||
"ID": 0,
|
|
||||||
"Faction": 1,
|
|
||||||
"FactionGroup": 3,
|
|
||||||
"FriendGroup": 4,
|
|
||||||
"EnemyGroup": 5,
|
|
||||||
"Enemy0": 6,
|
|
||||||
"Enemy1": 7,
|
|
||||||
"Enemy2": 8,
|
|
||||||
"Enemy3": 9
|
|
||||||
},
|
|
||||||
"Faction": {
|
|
||||||
"ID": 0,
|
|
||||||
"ReputationRaceMask0": 2,
|
|
||||||
"ReputationRaceMask1": 3,
|
|
||||||
"ReputationRaceMask2": 4,
|
|
||||||
"ReputationRaceMask3": 5,
|
|
||||||
"ReputationBase0": 10,
|
|
||||||
"ReputationBase1": 11,
|
|
||||||
"ReputationBase2": 12,
|
|
||||||
"ReputationBase3": 13
|
|
||||||
},
|
},
|
||||||
"CharTitles": {
|
"CharTitles": {
|
||||||
"ID": 0,
|
"ID": 0,
|
||||||
"Title": 2,
|
"Title": 2,
|
||||||
"TitleBit": 36
|
"TitleBit": 36
|
||||||
},
|
},
|
||||||
"Achievement": {
|
"CharacterFacialHairStyles": {
|
||||||
"ID": 0,
|
"Geoset100": 3,
|
||||||
"Title": 4,
|
"Geoset200": 5,
|
||||||
"Description": 21,
|
"Geoset300": 4,
|
||||||
"Points": 39
|
"RaceID": 0,
|
||||||
|
"SexID": 1,
|
||||||
|
"Variation": 2
|
||||||
},
|
},
|
||||||
"AchievementCriteria": {
|
"CreatureDisplayInfo": {
|
||||||
|
"ExtraDisplayId": 3,
|
||||||
"ID": 0,
|
"ID": 0,
|
||||||
"AchievementID": 1,
|
"ModelID": 1,
|
||||||
"Quantity": 4,
|
"Skin1": 6,
|
||||||
"Description": 9
|
"Skin2": 7,
|
||||||
},
|
"Skin3": 8
|
||||||
"AreaTable": {
|
|
||||||
"ID": 0,
|
|
||||||
"MapID": 1,
|
|
||||||
"ParentAreaNum": 2,
|
|
||||||
"ExploreFlag": 3
|
|
||||||
},
|
},
|
||||||
"CreatureDisplayInfoExtra": {
|
"CreatureDisplayInfoExtra": {
|
||||||
"ID": 0,
|
"BakeName": 20,
|
||||||
"RaceID": 1,
|
|
||||||
"SexID": 2,
|
|
||||||
"SkinID": 3,
|
|
||||||
"FaceID": 4,
|
|
||||||
"HairStyleID": 5,
|
|
||||||
"HairColorID": 6,
|
|
||||||
"FacialHairID": 7,
|
|
||||||
"EquipDisplay0": 8,
|
"EquipDisplay0": 8,
|
||||||
"EquipDisplay1": 9,
|
"EquipDisplay1": 9,
|
||||||
|
"EquipDisplay10": 18,
|
||||||
"EquipDisplay2": 10,
|
"EquipDisplay2": 10,
|
||||||
"EquipDisplay3": 11,
|
"EquipDisplay3": 11,
|
||||||
"EquipDisplay4": 12,
|
"EquipDisplay4": 12,
|
||||||
|
|
@ -112,158 +68,80 @@
|
||||||
"EquipDisplay7": 15,
|
"EquipDisplay7": 15,
|
||||||
"EquipDisplay8": 16,
|
"EquipDisplay8": 16,
|
||||||
"EquipDisplay9": 17,
|
"EquipDisplay9": 17,
|
||||||
"EquipDisplay10": 18,
|
"FaceID": 4,
|
||||||
"BakeName": 20
|
"FacialHairID": 7,
|
||||||
},
|
"HairColorID": 6,
|
||||||
"CreatureDisplayInfo": {
|
"HairStyleID": 5,
|
||||||
"ID": 0,
|
"ID": 0,
|
||||||
"ModelID": 1,
|
"RaceID": 1,
|
||||||
"ExtraDisplayId": 3,
|
"SexID": 2,
|
||||||
"Skin1": 6,
|
"SkinID": 3
|
||||||
"Skin2": 7,
|
|
||||||
"Skin3": 8
|
|
||||||
},
|
|
||||||
"TaxiNodes": {
|
|
||||||
"ID": 0,
|
|
||||||
"MapID": 1,
|
|
||||||
"X": 2,
|
|
||||||
"Y": 3,
|
|
||||||
"Z": 4,
|
|
||||||
"Name": 5,
|
|
||||||
"MountDisplayIdAllianceFallback": 20,
|
|
||||||
"MountDisplayIdHordeFallback": 21,
|
|
||||||
"MountDisplayIdAlliance": 22,
|
|
||||||
"MountDisplayIdHorde": 23
|
|
||||||
},
|
|
||||||
"TaxiPath": {
|
|
||||||
"ID": 0,
|
|
||||||
"FromNode": 1,
|
|
||||||
"ToNode": 2,
|
|
||||||
"Cost": 3
|
|
||||||
},
|
|
||||||
"TaxiPathNode": {
|
|
||||||
"ID": 0,
|
|
||||||
"PathID": 1,
|
|
||||||
"NodeIndex": 2,
|
|
||||||
"MapID": 3,
|
|
||||||
"X": 4,
|
|
||||||
"Y": 5,
|
|
||||||
"Z": 6
|
|
||||||
},
|
|
||||||
"TalentTab": {
|
|
||||||
"ID": 0,
|
|
||||||
"Name": 1,
|
|
||||||
"ClassMask": 20,
|
|
||||||
"OrderIndex": 22,
|
|
||||||
"BackgroundFile": 23
|
|
||||||
},
|
|
||||||
"Talent": {
|
|
||||||
"ID": 0,
|
|
||||||
"TabID": 1,
|
|
||||||
"Row": 2,
|
|
||||||
"Column": 3,
|
|
||||||
"RankSpell0": 4,
|
|
||||||
"PrereqTalent0": 9,
|
|
||||||
"PrereqRank0": 12
|
|
||||||
},
|
|
||||||
"SkillLineAbility": {
|
|
||||||
"SkillLineID": 1,
|
|
||||||
"SpellID": 2
|
|
||||||
},
|
|
||||||
"SkillLine": {
|
|
||||||
"ID": 0,
|
|
||||||
"Category": 1,
|
|
||||||
"Name": 3
|
|
||||||
},
|
|
||||||
"Map": {
|
|
||||||
"ID": 0,
|
|
||||||
"InternalName": 1
|
|
||||||
},
|
},
|
||||||
"CreatureModelData": {
|
"CreatureModelData": {
|
||||||
"ID": 0,
|
"ID": 0,
|
||||||
"ModelPath": 2
|
"ModelPath": 2
|
||||||
},
|
},
|
||||||
"CharHairGeosets": {
|
|
||||||
"RaceID": 1,
|
|
||||||
"SexID": 2,
|
|
||||||
"Variation": 3,
|
|
||||||
"GeosetID": 4
|
|
||||||
},
|
|
||||||
"CharacterFacialHairStyles": {
|
|
||||||
"RaceID": 0,
|
|
||||||
"SexID": 1,
|
|
||||||
"Variation": 2,
|
|
||||||
"Geoset100": 3,
|
|
||||||
"Geoset300": 4,
|
|
||||||
"Geoset200": 5
|
|
||||||
},
|
|
||||||
"GameObjectDisplayInfo": {
|
|
||||||
"ID": 0,
|
|
||||||
"ModelName": 1
|
|
||||||
},
|
|
||||||
"Emotes": {
|
"Emotes": {
|
||||||
"ID": 0,
|
"AnimID": 2,
|
||||||
"AnimID": 2
|
"ID": 0
|
||||||
},
|
},
|
||||||
"EmotesText": {
|
"EmotesText": {
|
||||||
"ID": 0,
|
|
||||||
"Command": 1,
|
"Command": 1,
|
||||||
"EmoteRef": 2,
|
"EmoteRef": 2,
|
||||||
"OthersTargetTextID": 3,
|
"ID": 0,
|
||||||
"SenderTargetTextID": 5,
|
|
||||||
"OthersNoTargetTextID": 7,
|
"OthersNoTargetTextID": 7,
|
||||||
"SenderNoTargetTextID": 9
|
"OthersTargetTextID": 3,
|
||||||
|
"SenderNoTargetTextID": 9,
|
||||||
|
"SenderTargetTextID": 5
|
||||||
},
|
},
|
||||||
"EmotesTextData": {
|
"EmotesTextData": {
|
||||||
"ID": 0,
|
"ID": 0,
|
||||||
"Text": 1
|
"Text": 1
|
||||||
},
|
},
|
||||||
"Light": {
|
"Faction": {
|
||||||
"ID": 0,
|
"ID": 0,
|
||||||
"MapID": 1,
|
"ReputationBase0": 10,
|
||||||
"X": 2,
|
"ReputationBase1": 11,
|
||||||
"Z": 3,
|
"ReputationBase2": 12,
|
||||||
"Y": 4,
|
"ReputationBase3": 13,
|
||||||
"InnerRadius": 5,
|
"ReputationRaceMask0": 2,
|
||||||
"OuterRadius": 6,
|
"ReputationRaceMask1": 3,
|
||||||
"LightParamsID": 7,
|
"ReputationRaceMask2": 4,
|
||||||
"LightParamsIDRain": 8,
|
"ReputationRaceMask3": 5
|
||||||
"LightParamsIDUnderwater": 9
|
|
||||||
},
|
},
|
||||||
"LightParams": {
|
"FactionTemplate": {
|
||||||
"LightParamsID": 0
|
"Enemy0": 6,
|
||||||
|
"Enemy1": 7,
|
||||||
|
"Enemy2": 8,
|
||||||
|
"Enemy3": 9,
|
||||||
|
"EnemyGroup": 5,
|
||||||
|
"Faction": 1,
|
||||||
|
"FactionGroup": 3,
|
||||||
|
"FriendGroup": 4,
|
||||||
|
"ID": 0
|
||||||
},
|
},
|
||||||
"LightIntBand": {
|
"GameObjectDisplayInfo": {
|
||||||
"BlockIndex": 1,
|
|
||||||
"NumKeyframes": 2,
|
|
||||||
"TimeKey0": 3,
|
|
||||||
"Value0": 19
|
|
||||||
},
|
|
||||||
"LightFloatBand": {
|
|
||||||
"BlockIndex": 1,
|
|
||||||
"NumKeyframes": 2,
|
|
||||||
"TimeKey0": 3,
|
|
||||||
"Value0": 19
|
|
||||||
},
|
|
||||||
"WorldMapArea": {
|
|
||||||
"ID": 0,
|
"ID": 0,
|
||||||
"MapID": 1,
|
"ModelName": 1
|
||||||
"AreaID": 2,
|
|
||||||
"AreaName": 3,
|
|
||||||
"LocLeft": 4,
|
|
||||||
"LocRight": 5,
|
|
||||||
"LocTop": 6,
|
|
||||||
"LocBottom": 7,
|
|
||||||
"DisplayMapID": 8,
|
|
||||||
"ParentWorldMapID": 10
|
|
||||||
},
|
},
|
||||||
"SpellItemEnchantment": {
|
"ItemDisplayInfo": {
|
||||||
|
"GeosetGroup1": 7,
|
||||||
|
"GeosetGroup3": 9,
|
||||||
"ID": 0,
|
"ID": 0,
|
||||||
"Name": 8
|
"InventoryIcon": 5,
|
||||||
|
"LeftModel": 1,
|
||||||
|
"LeftModelTexture": 3,
|
||||||
|
"TextureArmLower": 15,
|
||||||
|
"TextureArmUpper": 14,
|
||||||
|
"TextureFoot": 21,
|
||||||
|
"TextureHand": 16,
|
||||||
|
"TextureLegLower": 20,
|
||||||
|
"TextureLegUpper": 19,
|
||||||
|
"TextureTorsoLower": 18,
|
||||||
|
"TextureTorsoUpper": 17
|
||||||
},
|
},
|
||||||
"ItemSet": {
|
"ItemSet": {
|
||||||
"ID": 0,
|
"ID": 0,
|
||||||
"Name": 1,
|
|
||||||
"Item0": 18,
|
"Item0": 18,
|
||||||
"Item1": 19,
|
"Item1": 19,
|
||||||
"Item2": 20,
|
"Item2": 20,
|
||||||
|
|
@ -274,6 +152,7 @@
|
||||||
"Item7": 25,
|
"Item7": 25,
|
||||||
"Item8": 26,
|
"Item8": 26,
|
||||||
"Item9": 27,
|
"Item9": 27,
|
||||||
|
"Name": 1,
|
||||||
"Spell0": 28,
|
"Spell0": 28,
|
||||||
"Spell1": 29,
|
"Spell1": 29,
|
||||||
"Spell2": 30,
|
"Spell2": 30,
|
||||||
|
|
@ -299,21 +178,145 @@
|
||||||
"ID": 0,
|
"ID": 0,
|
||||||
"Name": 1
|
"Name": 1
|
||||||
},
|
},
|
||||||
"SpellVisual": {
|
"Light": {
|
||||||
"ID": 0,
|
"ID": 0,
|
||||||
|
"InnerRadius": 5,
|
||||||
|
"LightParamsID": 7,
|
||||||
|
"LightParamsIDRain": 8,
|
||||||
|
"LightParamsIDUnderwater": 9,
|
||||||
|
"MapID": 1,
|
||||||
|
"OuterRadius": 6,
|
||||||
|
"X": 2,
|
||||||
|
"Y": 4,
|
||||||
|
"Z": 3
|
||||||
|
},
|
||||||
|
"LightFloatBand": {
|
||||||
|
"BlockIndex": 1,
|
||||||
|
"NumKeyframes": 2,
|
||||||
|
"TimeKey0": 3,
|
||||||
|
"Value0": 19
|
||||||
|
},
|
||||||
|
"LightIntBand": {
|
||||||
|
"BlockIndex": 1,
|
||||||
|
"NumKeyframes": 2,
|
||||||
|
"TimeKey0": 3,
|
||||||
|
"Value0": 19
|
||||||
|
},
|
||||||
|
"LightParams": {
|
||||||
|
"LightParamsID": 0
|
||||||
|
},
|
||||||
|
"Map": {
|
||||||
|
"ID": 0,
|
||||||
|
"InternalName": 1
|
||||||
|
},
|
||||||
|
"SkillLine": {
|
||||||
|
"Category": 1,
|
||||||
|
"ID": 0,
|
||||||
|
"Name": 3
|
||||||
|
},
|
||||||
|
"SkillLineAbility": {
|
||||||
|
"SkillLineID": 1,
|
||||||
|
"SpellID": 2
|
||||||
|
},
|
||||||
|
"Spell": {
|
||||||
|
"Attributes": 4,
|
||||||
|
"AttributesEx": 5,
|
||||||
|
"CastingTimeIndex": 47,
|
||||||
|
"DispelType": 2,
|
||||||
|
"EffectBasePoints0": 80,
|
||||||
|
"EffectBasePoints1": 81,
|
||||||
|
"EffectBasePoints2": 82,
|
||||||
|
"ID": 0,
|
||||||
|
"IconID": 133,
|
||||||
|
"ManaCost": 39,
|
||||||
|
"Name": 136,
|
||||||
|
"PowerType": 14,
|
||||||
|
"RangeIndex": 49,
|
||||||
|
"Rank": 153,
|
||||||
|
"SchoolMask": 225,
|
||||||
|
"Tooltip": 139
|
||||||
|
},
|
||||||
|
"SpellIcon": {
|
||||||
|
"ID": 0,
|
||||||
|
"Path": 1
|
||||||
|
},
|
||||||
|
"SpellItemEnchantment": {
|
||||||
|
"ID": 0,
|
||||||
|
"Name": 8
|
||||||
|
},
|
||||||
|
"SpellRange": {
|
||||||
|
"MaxRange": 4
|
||||||
|
},
|
||||||
|
"SpellVisual": {
|
||||||
"CastKit": 2,
|
"CastKit": 2,
|
||||||
|
"ID": 0,
|
||||||
"ImpactKit": 3,
|
"ImpactKit": 3,
|
||||||
"MissileModel": 8
|
"MissileModel": 8
|
||||||
},
|
},
|
||||||
|
"SpellVisualEffectName": {
|
||||||
|
"FilePath": 2,
|
||||||
|
"ID": 0
|
||||||
|
},
|
||||||
"SpellVisualKit": {
|
"SpellVisualKit": {
|
||||||
"ID": 0,
|
|
||||||
"BaseEffect": 5,
|
"BaseEffect": 5,
|
||||||
|
"ID": 0,
|
||||||
"SpecialEffect0": 11,
|
"SpecialEffect0": 11,
|
||||||
"SpecialEffect1": 12,
|
"SpecialEffect1": 12,
|
||||||
"SpecialEffect2": 13
|
"SpecialEffect2": 13
|
||||||
},
|
},
|
||||||
"SpellVisualEffectName": {
|
"Talent": {
|
||||||
|
"Column": 3,
|
||||||
"ID": 0,
|
"ID": 0,
|
||||||
"FilePath": 2
|
"PrereqRank0": 12,
|
||||||
|
"PrereqTalent0": 9,
|
||||||
|
"RankSpell0": 4,
|
||||||
|
"Row": 2,
|
||||||
|
"TabID": 1
|
||||||
|
},
|
||||||
|
"TalentTab": {
|
||||||
|
"BackgroundFile": 23,
|
||||||
|
"ClassMask": 20,
|
||||||
|
"ID": 0,
|
||||||
|
"Name": 1,
|
||||||
|
"OrderIndex": 22
|
||||||
|
},
|
||||||
|
"TaxiNodes": {
|
||||||
|
"ID": 0,
|
||||||
|
"MapID": 1,
|
||||||
|
"MountDisplayIdAlliance": 22,
|
||||||
|
"MountDisplayIdAllianceFallback": 20,
|
||||||
|
"MountDisplayIdHorde": 23,
|
||||||
|
"MountDisplayIdHordeFallback": 21,
|
||||||
|
"Name": 5,
|
||||||
|
"X": 2,
|
||||||
|
"Y": 3,
|
||||||
|
"Z": 4
|
||||||
|
},
|
||||||
|
"TaxiPath": {
|
||||||
|
"Cost": 3,
|
||||||
|
"FromNode": 1,
|
||||||
|
"ID": 0,
|
||||||
|
"ToNode": 2
|
||||||
|
},
|
||||||
|
"TaxiPathNode": {
|
||||||
|
"ID": 0,
|
||||||
|
"MapID": 3,
|
||||||
|
"NodeIndex": 2,
|
||||||
|
"PathID": 1,
|
||||||
|
"X": 4,
|
||||||
|
"Y": 5,
|
||||||
|
"Z": 6
|
||||||
|
},
|
||||||
|
"WorldMapArea": {
|
||||||
|
"AreaID": 2,
|
||||||
|
"AreaName": 3,
|
||||||
|
"DisplayMapID": 8,
|
||||||
|
"ID": 0,
|
||||||
|
"LocBottom": 7,
|
||||||
|
"LocLeft": 4,
|
||||||
|
"LocRight": 5,
|
||||||
|
"LocTop": 6,
|
||||||
|
"MapID": 1,
|
||||||
|
"ParentWorldMapID": 10
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2244,6 +2244,7 @@ public:
|
||||||
const std::string& getSpellRank(uint32_t spellId) const;
|
const std::string& getSpellRank(uint32_t spellId) const;
|
||||||
/// Returns the tooltip/description text from Spell.dbc (empty if unknown or has no text).
|
/// Returns the tooltip/description text from Spell.dbc (empty if unknown or has no text).
|
||||||
const std::string& getSpellDescription(uint32_t spellId) const;
|
const std::string& getSpellDescription(uint32_t spellId) const;
|
||||||
|
const int32_t* getSpellEffectBasePoints(uint32_t spellId) const;
|
||||||
std::string getEnchantName(uint32_t enchantId) const;
|
std::string getEnchantName(uint32_t enchantId) const;
|
||||||
const std::string& getSkillLineName(uint32_t spellId) const;
|
const std::string& getSkillLineName(uint32_t spellId) const;
|
||||||
/// Returns the DispelType for a spell (0=none,1=magic,2=curse,3=disease,4=poison,5+=other)
|
/// Returns the DispelType for a spell (0=none,1=magic,2=curse,3=disease,4=poison,5+=other)
|
||||||
|
|
@ -3322,7 +3323,11 @@ private:
|
||||||
// Trainer
|
// Trainer
|
||||||
bool trainerWindowOpen_ = false;
|
bool trainerWindowOpen_ = false;
|
||||||
TrainerListData currentTrainerList_;
|
TrainerListData currentTrainerList_;
|
||||||
struct SpellNameEntry { std::string name; std::string rank; std::string description; uint32_t schoolMask = 0; uint8_t dispelType = 0; uint32_t attrEx = 0; };
|
struct SpellNameEntry {
|
||||||
|
std::string name; std::string rank; std::string description;
|
||||||
|
uint32_t schoolMask = 0; uint8_t dispelType = 0; uint32_t attrEx = 0;
|
||||||
|
int32_t effectBasePoints[3] = {0, 0, 0};
|
||||||
|
};
|
||||||
std::unordered_map<uint32_t, SpellNameEntry> spellNameCache_;
|
std::unordered_map<uint32_t, SpellNameEntry> spellNameCache_;
|
||||||
bool spellNameCacheLoaded_ = false;
|
bool spellNameCacheLoaded_ = false;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1627,19 +1627,34 @@ static int lua_GetSpellBookItemName(lua_State* L) {
|
||||||
|
|
||||||
// GetSpellDescription(spellId) → description string
|
// GetSpellDescription(spellId) → description string
|
||||||
// Clean spell description template variables for display
|
// Clean spell description template variables for display
|
||||||
static std::string cleanSpellDescription(const std::string& raw) {
|
static std::string cleanSpellDescription(const std::string& raw, const int32_t effectBase[3] = nullptr) {
|
||||||
if (raw.empty() || raw.find('$') == std::string::npos) return raw;
|
if (raw.empty() || raw.find('$') == std::string::npos) return raw;
|
||||||
std::string result;
|
std::string result;
|
||||||
result.reserve(raw.size());
|
result.reserve(raw.size());
|
||||||
for (size_t i = 0; i < raw.size(); ++i) {
|
for (size_t i = 0; i < raw.size(); ++i) {
|
||||||
if (raw[i] == '$' && i + 1 < raw.size()) {
|
if (raw[i] == '$' && i + 1 < raw.size()) {
|
||||||
char next = raw[i + 1];
|
char next = raw[i + 1];
|
||||||
if (next == 's' || next == 'S' || next == 'o' || next == 'O' ||
|
if (next == 's' || next == 'S') {
|
||||||
|
// $s1, $s2, $s3 — substitute with effect base points + 1
|
||||||
|
i += 1; // skip 's'
|
||||||
|
int idx = 0;
|
||||||
|
if (i + 1 < raw.size() && raw[i + 1] >= '1' && raw[i + 1] <= '3') {
|
||||||
|
idx = raw[i + 1] - '1';
|
||||||
|
++i;
|
||||||
|
}
|
||||||
|
if (effectBase && effectBase[idx] != 0) {
|
||||||
|
int32_t val = std::abs(effectBase[idx]) + 1;
|
||||||
|
result += std::to_string(val);
|
||||||
|
} else {
|
||||||
|
result += 'X';
|
||||||
|
}
|
||||||
|
while (i + 1 < raw.size() && raw[i + 1] >= '0' && raw[i + 1] <= '9') ++i;
|
||||||
|
} else if (next == 'o' || next == 'O' ||
|
||||||
next == 'e' || next == 'E' || next == 't' || next == 'T' ||
|
next == 'e' || next == 'E' || next == 't' || next == 'T' ||
|
||||||
next == 'h' || next == 'H' || next == 'u' || next == 'U') {
|
next == 'h' || next == 'H' || next == 'u' || next == 'U') {
|
||||||
// $s1, $o1, $e1 etc. — skip the variable, insert "X"
|
// Other variables — insert "X" placeholder
|
||||||
result += 'X';
|
result += 'X';
|
||||||
i += 1; // skip letter
|
i += 1;
|
||||||
while (i + 1 < raw.size() && raw[i + 1] >= '0' && raw[i + 1] <= '9') ++i;
|
while (i + 1 < raw.size() && raw[i + 1] >= '0' && raw[i + 1] <= '9') ++i;
|
||||||
} else if (next == 'd' || next == 'D') {
|
} else if (next == 'd' || next == 'D') {
|
||||||
// $d = duration — replace with "X sec"
|
// $d = duration — replace with "X sec"
|
||||||
|
|
@ -1682,7 +1697,8 @@ static int lua_GetSpellDescription(lua_State* L) {
|
||||||
if (!gh) { lua_pushstring(L, ""); return 1; }
|
if (!gh) { lua_pushstring(L, ""); return 1; }
|
||||||
uint32_t spellId = static_cast<uint32_t>(luaL_checknumber(L, 1));
|
uint32_t spellId = static_cast<uint32_t>(luaL_checknumber(L, 1));
|
||||||
const std::string& desc = gh->getSpellDescription(spellId);
|
const std::string& desc = gh->getSpellDescription(spellId);
|
||||||
std::string cleaned = cleanSpellDescription(desc);
|
const int32_t* ebp = gh->getSpellEffectBasePoints(spellId);
|
||||||
|
std::string cleaned = cleanSpellDescription(desc, ebp);
|
||||||
lua_pushstring(L, cleaned.c_str());
|
lua_pushstring(L, cleaned.c_str());
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -23191,6 +23191,15 @@ void GameHandler::loadSpellNameCache() {
|
||||||
if (hasAttrExField) {
|
if (hasAttrExField) {
|
||||||
entry.attrEx = dbc->getUInt32(i, attrExField);
|
entry.attrEx = dbc->getUInt32(i, attrExField);
|
||||||
}
|
}
|
||||||
|
// Load effect base points for $s1/$s2/$s3 tooltip substitution
|
||||||
|
if (spellL) {
|
||||||
|
uint32_t f0 = spellL->field("EffectBasePoints0");
|
||||||
|
uint32_t f1 = spellL->field("EffectBasePoints1");
|
||||||
|
uint32_t f2 = spellL->field("EffectBasePoints2");
|
||||||
|
if (f0 != 0xFFFFFFFF) entry.effectBasePoints[0] = static_cast<int32_t>(dbc->getUInt32(i, f0));
|
||||||
|
if (f1 != 0xFFFFFFFF) entry.effectBasePoints[1] = static_cast<int32_t>(dbc->getUInt32(i, f1));
|
||||||
|
if (f2 != 0xFFFFFFFF) entry.effectBasePoints[2] = static_cast<int32_t>(dbc->getUInt32(i, f2));
|
||||||
|
}
|
||||||
spellNameCache_[id] = std::move(entry);
|
spellNameCache_[id] = std::move(entry);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -23430,6 +23439,12 @@ void GameHandler::loadTalentDbc() {
|
||||||
|
|
||||||
static const std::string EMPTY_STRING;
|
static const std::string EMPTY_STRING;
|
||||||
|
|
||||||
|
const int32_t* GameHandler::getSpellEffectBasePoints(uint32_t spellId) const {
|
||||||
|
const_cast<GameHandler*>(this)->loadSpellNameCache();
|
||||||
|
auto it = spellNameCache_.find(spellId);
|
||||||
|
return (it != spellNameCache_.end()) ? it->second.effectBasePoints : nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
const std::string& GameHandler::getSpellName(uint32_t spellId) const {
|
const std::string& GameHandler::getSpellName(uint32_t spellId) const {
|
||||||
auto it = spellNameCache_.find(spellId);
|
auto it = spellNameCache_.find(spellId);
|
||||||
return (it != spellNameCache_.end()) ? it->second.name : EMPTY_STRING;
|
return (it != spellNameCache_.end()) ? it->second.name : EMPTY_STRING;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue