diff options
Diffstat (limited to 'src')
-rwxr-xr-x | src/server/game/DataStores/DBCStructure.h | 57 |
1 files changed, 30 insertions, 27 deletions
diff --git a/src/server/game/DataStores/DBCStructure.h b/src/server/game/DataStores/DBCStructure.h index 1e52866539a..d25578e304a 100755 --- a/src/server/game/DataStores/DBCStructure.h +++ b/src/server/game/DataStores/DBCStructure.h @@ -1393,60 +1393,63 @@ 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 spell power for level + uint32 spellPower; // 16 spell power for level uint32 ssdMultiplier2; // 17 there's data from 3.1 dbc ssdMultiplier[3] uint32 ssdMultiplier3; // 18 3.3 - //uint32 unk2; // 19 unk, probably also Armor for level (flag 0x80000?) - uint32 armorMod2[4]; // 20-23 Armor for level + uint32 armorMod2[5]; // 20-23 Armor for level - uint32 getssdMultiplier(uint32 mask) const + uint32 getssdMultiplier(uint32 mask) const { if (mask & 0x4001F) { - if (mask & 0x00000001) return ssdMultiplier[0]; - if (mask & 0x00000002) return ssdMultiplier[1]; - if (mask & 0x00000004) return ssdMultiplier[2]; + if (mask & 0x00000001) return ssdMultiplier[0]; // Shoulder + if (mask & 0x00000002) return ssdMultiplier[1]; // Trinket + if (mask & 0x00000004) return ssdMultiplier[2]; // Weapon1H if (mask & 0x00000008) return ssdMultiplier2; - if (mask & 0x00000010) return ssdMultiplier[3]; + if (mask & 0x00000010) return ssdMultiplier[3]; // Ranged if (mask & 0x00040000) return ssdMultiplier3; } return 0; } - uint32 getArmorMod(uint32 mask) const + uint32 getArmorMod(uint32 mask) const { 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 & 0x00000020) return armorMod[0]; // Cloth shoulder + if (mask & 0x00000040) return armorMod[1]; // Leather shoulder + if (mask & 0x00000080) return armorMod[2]; // Mail shoulder + if (mask & 0x00000100) return armorMod[3]; // Plate shoulder - 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 + if (mask & 0x00080000) return armorMod2[0]; // cloak + if (mask & 0x00100000) return armorMod2[1]; // cloth + if (mask & 0x00200000) return armorMod2[2]; // leather + if (mask & 0x00400000) return armorMod2[3]; // mail + if (mask & 0x00800000) return armorMod2[4]; // plate } return 0; } + uint32 getDPSMod(uint32 mask) const { - if (mask&0x7E00) - { - if (mask & 0x00000200) return dpsMod[0]; - if (mask & 0x00000400) return dpsMod[1]; - if (mask & 0x00000800) return dpsMod[2]; - if (mask & 0x00001000) return dpsMod[3]; - if (mask & 0x00002000) return dpsMod[4]; - if (mask & 0x00004000) return dpsMod[5]; // not used? + if (mask & 0x7E00) + { + if (mask & 0x00000200) return dpsMod[0]; // Weapon 1h + if (mask & 0x00000400) return dpsMod[1]; // Weapon 2h + if (mask & 0x00000800) return dpsMod[2]; // Caster dps 1h + if (mask & 0x00001000) return dpsMod[3]; // Caster dps 2h + if (mask & 0x00002000) return dpsMod[4]; // Ranged + if (mask & 0x00004000) return dpsMod[5]; // Wand } return 0; } + uint32 getSpellBonus(uint32 mask) const { - if (mask & 0x00008000) return spellBonus; + if (mask & 0x00008000) return spellPower; return 0; } + uint32 getFeralBonus(uint32 mask) const // removed in 3.2.x? { if (mask & 0x00010000) return 0; // not used? @@ -1982,7 +1985,7 @@ struct WorldMapAreaEntry float x2; // 7 int32 virtual_map_id; // 8 -1 (map_id have correct map) other: virtual map where zone show (map_id - where zone in fact internally) // int32 dungeonMap_id; // 9 pointer to DungeonMap.dbc (owerride x1, x2, y1, y2 coordinates) - // uint32 someMapID; // 10 + // uint32 parentMapID; // 10 }; #define MAX_WORLD_MAP_OVERLAY_AREA_IDX 4 |