aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/ItemHandler.cpp
diff options
context:
space:
mode:
authorMikhail Redko <ovitnez@gmail.com>2018-03-21 11:05:17 +0200
committerShauren <shauren.trinity@gmail.com>2018-03-21 10:05:17 +0100
commit7c5b69d18bb315d369bf0bbfc16b795d63d0f73c (patch)
tree8d99ccbc026f25e1fc5d55d6062c23b03267b7dd /src/server/game/Handlers/ItemHandler.cpp
parent4af3c33d04b8ccaba7dc38ce4f2c757970b86156 (diff)
Core/Creatures: implement CREATURE_FLAG_EXTRA_NO_SELL_VENDOR (#21642)
* Add CREATURE_FLAG_EXTRA_NO_SELL_VENDOR and use it for a single no-sell vendor in game (there are more of them in later expansions)
Diffstat (limited to 'src/server/game/Handlers/ItemHandler.cpp')
-rw-r--r--src/server/game/Handlers/ItemHandler.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/server/game/Handlers/ItemHandler.cpp b/src/server/game/Handlers/ItemHandler.cpp
index 07cc7a56ac2..a968536c6cc 100644
--- a/src/server/game/Handlers/ItemHandler.cpp
+++ b/src/server/game/Handlers/ItemHandler.cpp
@@ -385,6 +385,12 @@ void WorldSession::HandleSellItemOpcode(WorldPacket& recvData)
return;
}
+ if ((creature->GetCreatureTemplate()->flags_extra & CREATURE_FLAG_EXTRA_NO_SELL_VENDOR) != 0)
+ {
+ _player->SendSellError(SELL_ERR_CANT_SELL_TO_THIS_MERCHANT, creature, itemguid, 0);
+ return;
+ }
+
// remove fake death
if (GetPlayer()->HasUnitState(UNIT_STATE_DIED))
GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH);