From wowdev
Jump to navigation Jump to search

Contains scaling data for heirloom items from level 1 to 80 (there are 80 rows, despite the weird IDs).

≥ Wrath

struct ScalingStatValuesEntry // sizeof(0x60)
   m_ID; // +0x0, size 0x4, type 0
   m_charlevel; // +0x4, size 0x4, type 0   // From level 1 to 80
   m_shoulderBudget; // +0x8, size 0x4, type 0
   m_trinketBudget; // +0xC, size 0x4, type 0
   m_weaponBudget1H; // +0x10, size 0x4, type 0
   m_rangedBudget; // +0x14, size 0x4, type 0
   m_clothShoulderArmor; // +0x18, size 0x4, type 0
   m_leatherShoulderArmor; // +0x1C, size 0x4, type 0
   m_mailShoulderArmor; // +0x20, size 0x4, type 0
   m_plateShoulderArmor; // +0x24, size 0x4, type 0
   m_weaponDPS1H; // +0x28, size 0x4, type 0
   m_weaponDPS2H; // +0x2C, size 0x4, type 0
   m_spellcasterDPS1H; // +0x30, size 0x4, type 0
   m_spellcasterDPS2H; // +0x34, size 0x4, type 0
   m_rangedDPS; // +0x38, size 0x4, type 0
   m_wandDPS; // +0x3C, size 0x4, type 0
   m_spellPower; // +0x40, size 0x4, type 0
   m_primaryBudget; // +0x44, size 0x4, type 0
   m_tertiaryBudget; // +0x48, size 0x4, type 0
   m_clothCloakArmor; // +0x4C, size 0x4, type 0
   m_clothChestArmor; // +0x50, size 0x4, type 0
   m_leatherChestArmor; // +0x54, size 0x4, type 0
   m_mailChestArmor; // +0x58, size 0x4, type 0
   m_plateChestArmor; // +0x5C, size 0x4, type 0

MoP format

struct ScalingStatValues
   uint32 id;
   uint32 character_level;
   uint32 item_level;              // corresponding regular item level
   uint32 damageOneHand;           // weapon dps
   uint32 damageTwoHand;
   uint32 damageOneHandCaster;
   uint32 damageTwoHandCaster;
   uint32 damageRanged;
   uint32 damageWand;
   uint32 spellPower;
   uint32 budgetPrimary;           // helm/chest/legs; multiplied by percentage values in ScalingStatDistribution.dbc
   uint32 budgetSecondary;         // shoulder/belt/boots/gloves/trinket
   uint32 budgetTertiary;          // neck/ring/cloak/bracer/shield
   uint32 budgetTwoHand;           // two hand/ranged weapons
   uint32 budgetOneHand;           // one hand weapons/held in off-hand
   uint32 armorShoulder[4];        // armor values for cloth/leather/mail/plate
   uint32 armorChest[4];
   uint32 armorHelm[4];
   uint32 armorLegs[4];
   uint32 armorBoots[4];
   uint32 armorBelt[4];
   uint32 armorGloves[4];
   uint32 armorBracer[4];
   uint32 armorCloak;
   uint32 armorShield;

struct ScalingStatValuesRec {
  uint32_t m_ID;
  uint32_t m_charlevel;
  uint32_t m_effectiveLevel;
  uint32_t m_weaponDPS1H;
  uint32_t m_weaponDPS2H;
  uint32_t m_spellcasterDPS1H;
  uint32_t m_spellcasterDPS2H;
  uint32_t m_rangedDPS;
  uint32_t m_wandDPS;
  uint32_t m_spellPower;
  uint32_t m_budgetPrimary;
  uint32_t m_budgetSecondary;
  uint32_t m_budgetTertiary;
  uint32_t m_budgetSub;
  uint32_t m_budgetTrivial;
  uint32_t m_armorShoulder[4];
  uint32_t m_armorChest[4];
  uint32_t m_armorHead[4];
  uint32_t m_armorLegs[4];
  uint32_t m_armorFeet[4];
  uint32_t m_armorWaist[4];
  uint32_t m_armorHands[4];
  uint32_t m_armorWrists[4];
  uint32_t m_armorBack;
  uint32_t m_armorShield;