bool CanOpenMailBox(ObjectGuid guid) { if (guid == GetPlayer().GetGUID()) { if (!HasPermission(RBACPermissions.CommandMailbox)) { Log.outWarn(LogFilter.ChatSystem, "{0} attempt open mailbox in cheating way.", GetPlayer().GetName()); return(false); } } else if (guid.IsGameObject()) { if (!GetPlayer().GetGameObjectIfCanInteractWith(guid, GameObjectTypes.Mailbox)) { return(false); } } else if (guid.IsAnyTypeCreature()) { if (!GetPlayer().GetNPCIfCanInteractWith(guid, NPCFlags.Mailbox, NPCFlags2.None)) { return(false); } } else { return(false); } return(true); }