diff options
Diffstat (limited to 'src/server/scripts')
-rw-r--r-- | src/server/scripts/World/npcs_special.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/server/scripts/World/npcs_special.cpp b/src/server/scripts/World/npcs_special.cpp index d2294bbd2b7..7462ecf0c06 100644 --- a/src/server/scripts/World/npcs_special.cpp +++ b/src/server/scripts/World/npcs_special.cpp @@ -2069,12 +2069,14 @@ public: if (owner->HasAchieved(ACHIEVEMENT_PONY_UP) && !me->HasAura(SPELL_AURA_TIRED_S) && !me->HasAura(SPELL_AURA_TIRED_G)) { - me->SetNpcFlag(UNIT_NPC_FLAG_BANKER | UNIT_NPC_FLAG_MAILBOX | UNIT_NPC_FLAG_VENDOR); + me->SetVendor(UNIT_NPC_FLAG_VENDOR, true); + me->SetNpcFlag(UNIT_NPC_FLAG_BANKER | UNIT_NPC_FLAG_MAILBOX); return; } } - me->RemoveNpcFlag(UNIT_NPC_FLAG_BANKER | UNIT_NPC_FLAG_MAILBOX | UNIT_NPC_FLAG_VENDOR); + me->SetVendor(UNIT_NPC_FLAG_VENDOR_MASK, false); + me->RemoveNpcFlag(UNIT_NPC_FLAG_BANKER | UNIT_NPC_FLAG_MAILBOX); } bool OnGossipSelect(Player* player, uint32 /*menuId*/, uint32 gossipListId) override @@ -2083,7 +2085,8 @@ public: { case GOSSIP_OPTION_BANK: { - me->RemoveNpcFlag(UNIT_NPC_FLAG_MAILBOX | UNIT_NPC_FLAG_VENDOR); + me->SetVendor(UNIT_NPC_FLAG_VENDOR_MASK, false); + me->RemoveNpcFlag(UNIT_NPC_FLAG_MAILBOX); uint32 _bankAura = IsArgentSquire() ? SPELL_AURA_BANK_S : SPELL_AURA_BANK_G; if (!me->HasAura(_bankAura)) DoCastSelf(_bankAura); @@ -2105,7 +2108,8 @@ public: } case GOSSIP_OPTION_MAIL: { - me->RemoveNpcFlag(UNIT_NPC_FLAG_BANKER | UNIT_NPC_FLAG_VENDOR); + me->SetVendor(UNIT_NPC_FLAG_VENDOR_MASK, false); + me->RemoveNpcFlag(UNIT_NPC_FLAG_BANKER); uint32 _mailAura = IsArgentSquire() ? SPELL_AURA_POSTMAN_S : SPELL_AURA_POSTMAN_G; if (!me->HasAura(_mailAura)) DoCastSelf(_mailAura); |