diff --git a/src/game/DBCStructure.h b/src/game/DBCStructure.h index 9e503fded..5aa2c435c 100644 --- a/src/game/DBCStructure.h +++ b/src/game/DBCStructure.h @@ -1171,10 +1171,11 @@ struct ScalingStatValuesEntry uint32 ssdMultiplier[4]; // 2-5 Multiplier for ScalingStatDistribution uint32 armorMod[4]; // 6-9 Armor for level uint32 dpsMod[6]; // 10-15 DPS mod for level - uint32 spellBonus; // 16 not sure.. TODO: need more info about - uint32 feralBonus; // 17 Feral AP bonus (there's data from 3.1 ssdMultiplier[3]) - //uint32 unk1; // 18 all zero's - //uint32 unk2[5]; // 19-23 3.2 new feral bonus? + uint32 spellBonus; // 16 spell power for level + uint32 ssdMultiplier2; // 17 there's data from 3.1 dbc ssdMultiplier[3] + //uint32 unk1; // 18 all fields equal to 0 + //uint32 unk2; // 19 unk, probably also Armor for level + uint32 armorMod2[4]; // 20-23 Armor for level uint32 getssdMultiplier(uint32 mask) const { @@ -1183,19 +1184,25 @@ struct ScalingStatValuesEntry if(mask & 0x00000001) return ssdMultiplier[0]; if(mask & 0x00000002) return ssdMultiplier[1]; if(mask & 0x00000004) return ssdMultiplier[2]; - if(mask & 0x00000008) return feralBonus; + if(mask & 0x00000008) return ssdMultiplier2; if(mask & 0x00000010) return ssdMultiplier[3]; } return 0; } + uint32 getArmorMod(uint32 mask) const { - if (mask & 0x01E0) + if (mask & 0x00F001E0) { if(mask & 0x00000020) return armorMod[0]; if(mask & 0x00000040) return armorMod[1]; if(mask & 0x00000080) return armorMod[2]; if(mask & 0x00000100) return armorMod[3]; + + if(mask & 0x00100000) return armorMod2[0]; // cloth + if(mask & 0x00200000) return armorMod2[1]; // leather + if(mask & 0x00400000) return armorMod2[2]; // mail + if(mask & 0x00800000) return armorMod2[3]; // plate } return 0; } @@ -1209,7 +1216,7 @@ struct ScalingStatValuesEntry if(mask & 0x00000800) return dpsMod[2]; if(mask & 0x00001000) return dpsMod[3]; if(mask & 0x00002000) return dpsMod[4]; - if(mask & 0x00004000) return dpsMod[5]; + if(mask & 0x00004000) return dpsMod[5]; // not used? } return 0; } @@ -1221,10 +1228,10 @@ struct ScalingStatValuesEntry return 0; } - uint32 getFeralBonus(uint32 mask) const + uint32 getFeralBonus(uint32 mask) const // removed in 3.2.x? { - if (mask & 0x00010000) - return feralBonus; + if (mask & 0x00010000) // not used? + return 0; return 0; } };