diff --git a/data/sql/updates/pending_db_world/rev_1663774492767692300.sql b/data/sql/updates/pending_db_world/rev_1663774492767692300.sql new file mode 100644 index 000000000..8b8d081fa --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1663774492767692300.sql @@ -0,0 +1,7 @@ +-- Alter AzerothCore table to support Vanilla negative resistance values +ALTER TABLE item_template MODIFY fire_res SMALLINT; +ALTER TABLE item_template MODIFY holy_res SMALLINT; +ALTER TABLE item_template MODIFY nature_res SMALLINT; +ALTER TABLE item_template MODIFY frost_res SMALLINT; +ALTER TABLE item_template MODIFY shadow_res SMALLINT; +ALTER TABLE item_template MODIFY arcane_res SMALLINT; diff --git a/src/server/game/Entities/Item/ItemTemplate.h b/src/server/game/Entities/Item/ItemTemplate.h index 2b6020e13..30eb7860f 100644 --- a/src/server/game/Entities/Item/ItemTemplate.h +++ b/src/server/game/Entities/Item/ItemTemplate.h @@ -659,12 +659,12 @@ struct ItemTemplate uint32 ScalingStatValue; // mask for selecting column in ScalingStatValues.dbc _Damage Damage[MAX_ITEM_PROTO_DAMAGES]; uint32 Armor; - uint32 HolyRes; - uint32 FireRes; - uint32 NatureRes; - uint32 FrostRes; - uint32 ShadowRes; - uint32 ArcaneRes; + int32 HolyRes; + int32 FireRes; + int32 NatureRes; + int32 FrostRes; + int32 ShadowRes; + int32 ArcaneRes; uint32 Delay; uint32 AmmoType; float RangedModRange; diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index 025ec9a0b..3a30c8ba4 100644 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -2692,12 +2692,12 @@ void ObjectMgr::LoadItemTemplates() } itemTemplate.Armor = fields[56].Get(); - itemTemplate.HolyRes = fields[57].Get(); - itemTemplate.FireRes = fields[58].Get(); - itemTemplate.NatureRes = fields[59].Get(); - itemTemplate.FrostRes = fields[60].Get(); - itemTemplate.ShadowRes = fields[61].Get(); - itemTemplate.ArcaneRes = fields[62].Get(); + itemTemplate.HolyRes = fields[57].Get(); + itemTemplate.FireRes = fields[58].Get(); + itemTemplate.NatureRes = fields[59].Get(); + itemTemplate.FrostRes = fields[60].Get(); + itemTemplate.ShadowRes = fields[61].Get(); + itemTemplate.ArcaneRes = fields[62].Get(); itemTemplate.Delay = uint32(fields[63].Get()); itemTemplate.AmmoType = uint32(fields[64].Get()); itemTemplate.RangedModRange = fields[65].Get();