diff options
author | Discover- <amort11@hotmail.com> | 2014-01-19 16:51:53 +0100 |
---|---|---|
committer | Discover- <amort11@hotmail.com> | 2014-01-19 16:51:53 +0100 |
commit | 3802cc2904ba7d4684652e6c32bd63d4b6e7929c (patch) | |
tree | fca216224aac73e4f21656e78648eada53142c45 /src/server/game/Handlers/MailHandler.cpp | |
parent | f6264169d8c2297fd89026e90dbf7ff9d0c20ba0 (diff) |
Core/Creature: Fix compile and logic in previous pull request. Also implemented UNIT_NPC_FLAG_MAILBOX.
Thanks @Shauren
Diffstat (limited to 'src/server/game/Handlers/MailHandler.cpp')
-rw-r--r-- | src/server/game/Handlers/MailHandler.cpp | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/src/server/game/Handlers/MailHandler.cpp b/src/server/game/Handlers/MailHandler.cpp index 4cb06a1d469..10ef7810d1d 100644 --- a/src/server/game/Handlers/MailHandler.cpp +++ b/src/server/game/Handlers/MailHandler.cpp @@ -31,29 +31,22 @@ bool WorldSession::CanOpenMailBox(uint64 guid) { - if (guid == GetPlayer()->GetGUID()) + if (guid == _player->GetGUID()) { if (!HasPermission(rbac::RBAC_PERM_COMMAND_MAILBOX)) { - TC_LOG_WARN("cheat", "%s attempt open mailbox in cheating way.", GetPlayer()->GetName()); + TC_LOG_WARN("cheat", "%s attempt open mailbox in cheating way.", _player->GetName().c_str()); return false; } } else if (IS_GAMEOBJECT_GUID(guid)) { - if(!GetPlayer()->GetGameObjectIfCanInteractWith(guid, GAMEOBJECT_TYPE_MAILBOX)) + if (!_player->GetGameObjectIfCanInteractWith(guid, GAMEOBJECT_TYPE_MAILBOX)) return false; } else if (IS_CRE_OR_VEH_OR_PET_GUID(guid)) { - Creature* creature = GetPlayer()->GetNPCIfCanInteractWith(guid, UNIT_NPC_FLAG_NONE); - if (!creature) - return false; - - if (!(creature->GetCreatureTemplate()->type_flags & CREATURE_TYPEFLAGS_UNK23)) - return false; - - if (creature->GetOwnerGUID() != GetPlayer()->GetGUID()) + if (!_player->GetNPCIfCanInteractWith(guid, UNIT_NPC_FLAG_MAILBOX)) return false; } else |