aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/ItemHandler.cpp
diff options
context:
space:
mode:
authorSpp <spp@jorge.gr>2012-12-07 09:22:43 +0100
committerSpp <spp@jorge.gr>2012-12-07 09:22:43 +0100
commitfb2e5c3c5840a77452a2418805eabd01147a4346 (patch)
treea4490008845509814826b09f17ada5b2d9c9b405 /src/server/game/Handlers/ItemHandler.cpp
parent4c78f667de319a9690493fddb690b57f940c862e (diff)
parent6ed36342a20d11657eda8473b59ee10cbe92a507 (diff)
Merge branch 'master' into 4.3.4
Conflicts: src/server/game/Conditions/ConditionMgr.cpp src/server/game/Conditions/ConditionMgr.h src/server/game/Entities/Player/Player.cpp src/server/game/Entities/Player/Player.h src/server/game/Entities/Unit/Unit.cpp src/server/game/Globals/ObjectMgr.cpp src/server/game/Handlers/ItemHandler.cpp src/server/game/Quests/QuestDef.cpp src/server/game/Quests/QuestDef.h src/server/game/Spells/Auras/SpellAuraEffects.cpp src/server/game/World/World.h src/server/scripts/Kalimdor/azshara.cpp src/server/scripts/Kalimdor/azuremyst_isle.cpp src/server/scripts/Kalimdor/darkshore.cpp src/server/scripts/Kalimdor/durotar.cpp src/server/scripts/Kalimdor/dustwallow_marsh.cpp src/server/scripts/Kalimdor/feralas.cpp src/server/scripts/Kalimdor/moonglade.cpp src/server/scripts/Kalimdor/silithus.cpp src/server/scripts/Kalimdor/stonetalon_mountains.cpp src/server/scripts/Kalimdor/tanaris.cpp src/server/scripts/Kalimdor/the_barrens.cpp src/server/scripts/Kalimdor/thousand_needles.cpp src/server/scripts/Spells/spell_generic.cpp
Diffstat (limited to 'src/server/game/Handlers/ItemHandler.cpp')
-rw-r--r--src/server/game/Handlers/ItemHandler.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/server/game/Handlers/ItemHandler.cpp b/src/server/game/Handlers/ItemHandler.cpp
index bffad4b84c2..1f017d77163 100644
--- a/src/server/game/Handlers/ItemHandler.cpp
+++ b/src/server/game/Handlers/ItemHandler.cpp
@@ -528,9 +528,7 @@ void WorldSession::HandleSellItemOpcode(WorldPacket& recvData)
// special case at auto sell (sell all)
if (count == 0)
- {
count = pItem->GetCount();
- }
else
{
// prevent sell more items that exist in stack (possible only not from client)
@@ -776,6 +774,13 @@ void WorldSession::SendListInventory(uint64 vendorGuid)
continue;
}
+ ConditionList conditions = sConditionMgr->GetConditionsForNpcVendorEvent(vendor->GetEntry(), vendorItem->item);
+ if (!sConditionMgr->IsObjectMeetToConditions(_player, vendor, conditions))
+ {
+ sLog->outDebug(LOG_FILTER_CONDITIONSYS, "SendListInventory: conditions not met for creature entry %u item %u", vendor->GetEntry(), vendorItem->item);
+ continue;
+ }
+
int32 price = vendorItem->IsGoldRequired(itemTemplate) ? uint32(floor(itemTemplate->BuyPrice * discountMod)) : 0;
if (int32 priceMod = _player->GetTotalAuraModifier(SPELL_AURA_MOD_VENDOR_ITEMS_PRICES))