From fbf65ebc9d7fde5389daf5c030544d88ab12c25f Mon Sep 17 00:00:00 2001 From: ZhengPeiRu21 <98835050+ZhengPeiRu21@users.noreply.github.com> Date: Sun, 25 Sep 2022 07:45:22 -0600 Subject: [PATCH] feat(Core): Allow negative resistance values (#12958) * feat(Core): Allow negative resistance values * Add SQL --- .../pending_db_world/rev_1663774492767692300.sql | 7 +++++++ src/server/game/Entities/Item/ItemTemplate.h | 12 ++++++------ src/server/game/Globals/ObjectMgr.cpp | 12 ++++++------ 3 files changed, 19 insertions(+), 12 deletions(-) create mode 100644 data/sql/updates/pending_db_world/rev_1663774492767692300.sql 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();