From f56c3945d836d021a723abee00c2581a84abc634 Mon Sep 17 00:00:00 2001 From: Ovahlord Date: Sat, 15 May 2021 20:59:14 +0200 Subject: [PATCH] Core/Vendors: added for now unused PlayerConditionID field to npc_vendor table as it's being used since 4.2 --- sql/updates/world/4.3.4/2021_05_15_00_world.sql | 3 +++ src/server/game/Entities/Creature/CreatureData.h | 3 ++- src/server/game/Globals/ObjectMgr.cpp | 3 ++- 3 files changed, 7 insertions(+), 2 deletions(-) create mode 100644 sql/updates/world/4.3.4/2021_05_15_00_world.sql diff --git a/sql/updates/world/4.3.4/2021_05_15_00_world.sql b/sql/updates/world/4.3.4/2021_05_15_00_world.sql new file mode 100644 index 0000000000..5c606188a9 --- /dev/null +++ b/sql/updates/world/4.3.4/2021_05_15_00_world.sql @@ -0,0 +1,3 @@ +ALTER TABLE `npc_vendor` + ADD COLUMN `PlayerConditionID` int(10) NOT NULL DEFAULT 0 AFTER `type`; + \ No newline at end of file diff --git a/src/server/game/Entities/Creature/CreatureData.h b/src/server/game/Entities/Creature/CreatureData.h index afd0dbb1ac..c366068a91 100644 --- a/src/server/game/Entities/Creature/CreatureData.h +++ b/src/server/game/Entities/Creature/CreatureData.h @@ -345,13 +345,14 @@ struct CreatureAddon // Vendors struct VendorItem { - VendorItem() : item(0), maxcount(0), incrtime(0), ExtendedCost(0), Type(0) { } + VendorItem() : item(0), maxcount(0), incrtime(0), ExtendedCost(0), Type(0), PlayerConditionId(0) { } uint32 item; uint32 maxcount; // 0 for infinity item amount uint32 incrtime; // time for restore items amount if maxcount != 0 uint32 ExtendedCost; uint8 Type; + uint32 PlayerConditionId; //helpers bool IsGoldRequired(ItemTemplate const* pProto) const; diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index 43a57d2244..1a946ef5ec 100644 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -8995,7 +8995,7 @@ void ObjectMgr::LoadVendors() std::set skip_vendors; - QueryResult result = WorldDatabase.Query("SELECT entry, item, maxcount, incrtime, ExtendedCost, type FROM npc_vendor ORDER BY entry, slot ASC"); + QueryResult result = WorldDatabase.Query("SELECT entry, item, maxcount, incrtime, ExtendedCost, type, PlayerConditionID FROM npc_vendor ORDER BY entry, slot ASC"); if (!result) { @@ -9023,6 +9023,7 @@ void ObjectMgr::LoadVendors() vItem.incrtime = fields[3].GetUInt32(); vItem.ExtendedCost = fields[4].GetUInt32(); vItem.Type = fields[5].GetUInt8(); + vItem.PlayerConditionId = fields[6].GetUInt32(); if (!IsVendorItemValid(entry, vItem, nullptr, &skip_vendors)) continue;