aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Globals/ObjectMgr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Globals/ObjectMgr.cpp')
-rwxr-xr-xsrc/server/game/Globals/ObjectMgr.cpp137
1 files changed, 70 insertions, 67 deletions
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp
index 806d7bd5acd..43381267545 100755
--- a/src/server/game/Globals/ObjectMgr.cpp
+++ b/src/server/game/Globals/ObjectMgr.cpp
@@ -2477,39 +2477,39 @@ void ObjectMgr::LoadItemTemplates()
ItemTemplate& itemTemplate = _itemTemplateStore[itemId];
- itemTemplate.ItemId = itemId;
- itemTemplate.Class = fields[1].GetUInt32();
- itemTemplate.SubClass = fields[2].GetUInt32();
- itemTemplate.Unk0 = fields[3].GetInt32();
- itemTemplate.Name1 = fields[4].GetString();
- itemTemplate.DisplayInfoID = fields[5].GetUInt32();
- itemTemplate.Quality = fields[6].GetUInt32();
- itemTemplate.Flags = fields[7].GetUInt32();
- itemTemplate.Flags2 = fields[8].GetUInt32();
- itemTemplate.BuyCount = 1;
- itemTemplate.BuyPrice = fields[9].GetInt32();
- itemTemplate.SellPrice = fields[10].GetUInt32();
- itemTemplate.InventoryType = fields[11].GetUInt32();
- itemTemplate.AllowableClass = fields[12].GetUInt32();
- itemTemplate.AllowableRace = fields[13].GetUInt32();
- itemTemplate.ItemLevel = fields[14].GetUInt32();
- itemTemplate.RequiredLevel = fields[15].GetUInt32();
- itemTemplate.RequiredSkill = fields[16].GetUInt32();
- itemTemplate.RequiredSkillRank = fields[17].GetUInt32();
- itemTemplate.RequiredSpell = fields[18].GetUInt32();
- itemTemplate.RequiredHonorRank = fields[19].GetUInt32();
- itemTemplate.RequiredCityRank = fields[20].GetUInt32();
+ itemTemplate.ItemId = itemId;
+ itemTemplate.Class = uint32(fields[1].GetUInt8());
+ itemTemplate.SubClass = uint32(fields[2].GetUInt8());
+ itemTemplate.Unk0 = fields[3].GetInt32();
+ itemTemplate.Name1 = fields[4].GetString();
+ itemTemplate.DisplayInfoID = fields[5].GetUInt32();
+ itemTemplate.Quality = uint32(fields[6].GetUInt8());
+ itemTemplate.Flags = uint32(fields[7].GetInt64());
+ itemTemplate.Flags2 = fields[8].GetUInt32();
+ itemTemplate.BuyCount = 1;
+ itemTemplate.BuyPrice = fields[9].GetInt64();
+ itemTemplate.SellPrice = fields[10].GetUInt32();
+ itemTemplate.InventoryType = fields[11].GetUInt32();
+ itemTemplate.AllowableClass = fields[12].GetUInt32();
+ itemTemplate.AllowableRace = fields[13].GetUInt32();
+ itemTemplate.ItemLevel = fields[14].GetUInt32();
+ itemTemplate.RequiredLevel = fields[15].GetUInt32();
+ itemTemplate.RequiredSkill = fields[16].GetUInt32();
+ itemTemplate.RequiredSkillRank = fields[17].GetUInt32();
+ itemTemplate.RequiredSpell = fields[18].GetUInt32();
+ itemTemplate.RequiredHonorRank = fields[19].GetUInt32();
+ itemTemplate.RequiredCityRank = fields[20].GetUInt32();
itemTemplate.RequiredReputationFaction = fields[21].GetUInt32();
- itemTemplate.RequiredReputationRank = fields[22].GetUInt32();
- itemTemplate.MaxCount = fields[23].GetInt32();
- itemTemplate.Stackable = fields[24].GetInt32();
- itemTemplate.ContainerSlots = fields[25].GetUInt32();
+ itemTemplate.RequiredReputationRank = fields[22].GetUInt32();
+ itemTemplate.MaxCount = fields[23].GetInt32();
+ itemTemplate.Stackable = fields[24].GetInt32();
+ itemTemplate.ContainerSlots = fields[25].GetUInt32();
for (uint32 i = 0; i < MAX_ITEM_PROTO_STATS; ++i)
{
- itemTemplate.ItemStat[i].ItemStatType = fields[26 + i * 4].GetUInt32();
- itemTemplate.ItemStat[i].ItemStatValue = fields[26 + i * 4 + 1].GetInt32();
- itemTemplate.ItemStat[i].ItemStatUnk1 = fields[26 + i * 4 + 2].GetInt32();
- itemTemplate.ItemStat[i].ItemStatUnk2 = fields[26 + i * 4 + 3].GetInt32();
+ itemTemplate.ItemStat[i].ItemStatType = fields[26 + i * 4].GetUInt8();
+ itemTemplate.ItemStat[i].ItemStatValue = fields[26 + i * 4 + 1].GetInt16();
+ itemTemplate.ItemStat[i].ItemStatUnk1 = fields[26 + i * 4 + 2].GetInt32();
+ itemTemplate.ItemStat[i].ItemStatUnk2 = fields[26 + i * 4 + 3].GetInt32();
}
itemTemplate.ScalingStatDistribution = fields[66].GetUInt32();
@@ -2519,61 +2519,64 @@ void ObjectMgr::LoadItemTemplates()
itemTemplate.Class, itemTemplate.SubClass, itemTemplate.Quality, fields[68].GetUInt32(),
fields[129].GetFloat(), itemTemplate.InventoryType, itemTemplate.Flags2);
- itemTemplate.DamageType = fields[67].GetUInt32();
- itemTemplate.Armor = FillItemArmor(itemTemplate.ItemLevel, itemTemplate.Class, itemTemplate.SubClass, itemTemplate.Quality, itemTemplate.InventoryType);
- itemTemplate.Delay = fields[68].GetUInt32();
- itemTemplate.RangedModRange = fields[69].GetFloat();
+ itemTemplate.DamageType = fields[67].GetUInt32();
+ itemTemplate.Armor = FillItemArmor(itemTemplate.ItemLevel, itemTemplate.Class,
+ itemTemplate.SubClass, itemTemplate.Quality,
+ itemTemplate.InventoryType);
+
+ itemTemplate.Delay = fields[68].GetUInt32();
+ itemTemplate.RangedModRange = fields[69].GetFloat();
for (uint32 i = 0; i < MAX_ITEM_PROTO_SPELLS; ++i)
{
- itemTemplate.Spells[i].SpellId = fields[70 + 6 * i].GetInt32();
- itemTemplate.Spells[i].SpellTrigger = fields[70 + 6 * i + 1].GetUInt32();
- itemTemplate.Spells[i].SpellCharges = fields[70 + 6 * i + 2].GetInt32();
- itemTemplate.Spells[i].SpellCooldown = fields[70 + 6 * i + 3].GetInt32();
- itemTemplate.Spells[i].SpellCategory = fields[70 + 6 * i + 4].GetUInt32();
+ itemTemplate.Spells[i].SpellId = fields[70 + 6 * i].GetInt32();
+ itemTemplate.Spells[i].SpellTrigger = fields[70 + 6 * i + 1].GetUInt32();
+ itemTemplate.Spells[i].SpellCharges = fields[70 + 6 * i + 2].GetInt32();
+ itemTemplate.Spells[i].SpellCooldown = fields[70 + 6 * i + 3].GetInt32();
+ itemTemplate.Spells[i].SpellCategory = fields[70 + 6 * i + 4].GetUInt32();
itemTemplate.Spells[i].SpellCategoryCooldown = fields[70 + 6 * i + 5].GetInt32();
}
- itemTemplate.SpellPPMRate = 0.0f;
- itemTemplate.Bonding = fields[100].GetUInt32();
- itemTemplate.Description = fields[101].GetString();
- itemTemplate.PageText = fields[102].GetUInt32();
- itemTemplate.LanguageID = fields[103].GetUInt32();
- itemTemplate.PageMaterial = fields[104].GetUInt32();
- itemTemplate.StartQuest = fields[105].GetUInt32();
- itemTemplate.LockID = fields[106].GetUInt32();
- itemTemplate.Material = fields[107].GetInt32();
- itemTemplate.Sheath = fields[108].GetUInt32();
+ itemTemplate.SpellPPMRate = 0.0f;
+ itemTemplate.Bonding = fields[100].GetUInt32();
+ itemTemplate.Description = fields[101].GetString();
+ itemTemplate.PageText = fields[102].GetUInt32();
+ itemTemplate.LanguageID = fields[103].GetUInt32();
+ itemTemplate.PageMaterial = fields[104].GetUInt32();
+ itemTemplate.StartQuest = fields[105].GetUInt32();
+ itemTemplate.LockID = fields[106].GetUInt32();
+ itemTemplate.Material = fields[107].GetInt32();
+ itemTemplate.Sheath = fields[108].GetUInt32();
itemTemplate.RandomProperty = fields[109].GetInt32();
- itemTemplate.RandomSuffix = fields[110].GetInt32();
- itemTemplate.ItemSet = fields[111].GetUInt32();
- itemTemplate.MaxDurability = FillMaxDurability(itemTemplate.Class, itemTemplate.SubClass,
+ itemTemplate.RandomSuffix = fields[110].GetInt32();
+ itemTemplate.ItemSet = fields[111].GetUInt32();
+ itemTemplate.MaxDurability = FillMaxDurability(itemTemplate.Class, itemTemplate.SubClass,
itemTemplate.Quality, itemTemplate.InventoryType, itemTemplate.ItemLevel);
- itemTemplate.Area = fields[113].GetUInt32();
- itemTemplate.Map = fields[114].GetUInt32();
- itemTemplate.BagFamily = fields[115].GetUInt32();
+ itemTemplate.Area = fields[113].GetUInt32();
+ itemTemplate.Map = fields[114].GetUInt32();
+ itemTemplate.BagFamily = fields[115].GetUInt32();
itemTemplate.TotemCategory = fields[116].GetUInt32();
for (uint32 i = 0; i < MAX_ITEM_PROTO_SOCKETS; ++i)
{
- itemTemplate.Socket[i].Color = fields[117 + i * 2].GetUInt32();
+ itemTemplate.Socket[i].Color = fields[117 + i * 2].GetUInt32();
itemTemplate.Socket[i].Content = fields[117 + i * 2 + 1].GetUInt32();
}
- itemTemplate.socketBonus = fields[123].GetUInt32();
+ itemTemplate.socketBonus = fields[123].GetUInt32();
itemTemplate.GemProperties = fields[124].GetUInt32();
FillDisenchantFields(&itemTemplate.DisenchantID, &itemTemplate.RequiredDisenchantSkill, itemTemplate);
itemTemplate.ArmorDamageModifier = fields[125].GetFloat();
- itemTemplate.Duration = fields[126].GetUInt32();
- itemTemplate.ItemLimitCategory = fields[127].GetUInt32();
- itemTemplate.HolidayId = fields[128].GetUInt32();
- itemTemplate.StatScalingFactor = fields[129].GetFloat();
- itemTemplate.Field130 = fields[130].GetInt32();
- itemTemplate.Field131 = fields[131].GetInt32();
- itemTemplate.ScriptId = 0;
- itemTemplate.FoodType = 0;
- itemTemplate.MinMoneyLoot = 0;
- itemTemplate.MaxMoneyLoot = 0;
+ itemTemplate.Duration = fields[126].GetUInt32();
+ itemTemplate.ItemLimitCategory = fields[127].GetUInt32();
+ itemTemplate.HolidayId = fields[128].GetUInt32();
+ itemTemplate.StatScalingFactor = fields[129].GetFloat();
+ itemTemplate.Field130 = fields[130].GetInt32();
+ itemTemplate.Field131 = fields[131].GetInt32();
+ itemTemplate.ScriptId = 0;
+ itemTemplate.FoodType = 0;
+ itemTemplate.MinMoneyLoot = 0;
+ itemTemplate.MaxMoneyLoot = 0;
++dbCount;
} while (result->NextRow());
}