From 0798b151cc6cfa0afaa5beb2faacea69e9edaca9 Mon Sep 17 00:00:00 2001 From: VladimirMangos Date: Sat, 24 Jan 2009 00:54:21 +0300 Subject: [PATCH] Small vehicle related code cleanup. --- src/game/Chat.cpp | 2 +- src/game/Object.cpp | 3 ++- src/game/Object.h | 1 + src/game/ObjectAccessor.cpp | 6 +++--- src/game/ObjectAccessor.h | 2 +- src/game/PetHandler.cpp | 10 +++++----- src/game/SpellHandler.cpp | 2 +- 7 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/game/Chat.cpp b/src/game/Chat.cpp index 06e3937c1..88522c802 100644 --- a/src/game/Chat.cpp +++ b/src/game/Chat.cpp @@ -1073,7 +1073,7 @@ Creature* ChatHandler::getSelectedCreature() if(!m_session) return NULL; - return ObjectAccessor::GetCreatureOrPet(*m_session->GetPlayer(),m_session->GetPlayer()->GetSelection()); + return ObjectAccessor::GetCreatureOrPetOrVehicle(*m_session->GetPlayer(),m_session->GetPlayer()->GetSelection()); } char* ChatHandler::extractKeyFromLink(char* text, char const* linkType, char** something1) diff --git a/src/game/Object.cpp b/src/game/Object.cpp index 596c121d1..d0be145ce 100644 --- a/src/game/Object.cpp +++ b/src/game/Object.cpp @@ -58,8 +58,9 @@ uint32 GuidHigh2TypeId(uint32 guid_hi) case HIGHGUID_DYNAMICOBJECT:return TYPEID_DYNAMICOBJECT; case HIGHGUID_CORPSE: return TYPEID_CORPSE; case HIGHGUID_MO_TRANSPORT: return TYPEID_GAMEOBJECT; + case HIGHGUID_VEHICLE: return TYPEID_UNIT; } - return 10; // unknown + return MAX_TYPEID; // unknown } Object::Object( ) diff --git a/src/game/Object.h b/src/game/Object.h index 27b1f8fb8..587167136 100644 --- a/src/game/Object.h +++ b/src/game/Object.h @@ -64,6 +64,7 @@ enum TypeID TYPEID_AIGROUP = 8, TYPEID_AREATRIGGER = 9 }; +#define MAX_TYPEID 10 uint32 GuidHigh2TypeId(uint32 guid_hi); diff --git a/src/game/ObjectAccessor.cpp b/src/game/ObjectAccessor.cpp index 447ec2059..17318740c 100644 --- a/src/game/ObjectAccessor.cpp +++ b/src/game/ObjectAccessor.cpp @@ -128,7 +128,7 @@ ObjectAccessor::GetNPCIfCanInteractWith(Player const &player, uint64 guid, uint3 } Creature* -ObjectAccessor::GetCreatureOrPet(WorldObject const &u, uint64 guid) +ObjectAccessor::GetCreatureOrPetOrVehicle(WorldObject const &u, uint64 guid) { if(Creature *unit = GetPet(guid)) return unit; @@ -164,7 +164,7 @@ ObjectAccessor::GetUnit(WorldObject const &u, uint64 guid) if(IS_PLAYER_GUID(guid)) return FindPlayer(guid); - return GetCreatureOrPet(u, guid); + return GetCreatureOrPetOrVehicle(u, guid); } Corpse* @@ -187,7 +187,7 @@ Object* ObjectAccessor::GetObjectByTypeMask(Player const &p, uint64 guid, uint32 if(typemask & TYPEMASK_UNIT) { - obj = GetCreatureOrPet(p,guid); + obj = GetCreatureOrPetOrVehicle(p,guid); if(obj) return obj; } diff --git a/src/game/ObjectAccessor.h b/src/game/ObjectAccessor.h index 102da6984..20bb8ec61 100644 --- a/src/game/ObjectAccessor.h +++ b/src/game/ObjectAccessor.h @@ -139,7 +139,7 @@ class MANGOS_DLL_DECL ObjectAccessor : public MaNGOS::SingletonGetCharmInfo() || pet->GetCharmInfo()->GetPetNumber() != petnumber) return; @@ -327,7 +327,7 @@ void WorldSession::HandlePetSetAction( WorldPacket & recv_data ) if(ObjectAccessor::FindPlayer(petguid)) return; - Creature* pet = ObjectAccessor::GetCreatureOrPet(*_player, petguid); + Creature* pet = ObjectAccessor::GetCreatureOrPetOrVehicle(*_player, petguid); if(!pet || (pet != _player->GetPet() && pet != _player->GetCharm())) { @@ -464,7 +464,7 @@ void WorldSession::HandlePetAbandon( WorldPacket & recv_data ) sLog.outDetail( "HandlePetAbandon. CMSG_PET_ABANDON pet guid is %u", GUID_LOPART(guid) ); // pet/charmed - Creature* pet = ObjectAccessor::GetCreatureOrPet(*_player, guid); + Creature* pet = ObjectAccessor::GetCreatureOrPetOrVehicle(*_player, guid); if(pet) { if(pet->isPet()) @@ -529,7 +529,7 @@ void WorldSession::HandlePetSpellAutocastOpcode( WorldPacket& recvPacket ) if(ObjectAccessor::FindPlayer(guid)) return; - Creature* pet=ObjectAccessor::GetCreatureOrPet(*_player,guid); + Creature* pet=ObjectAccessor::GetCreatureOrPetOrVehicle(*_player,guid); if(!pet || (pet != _player->GetPet() && pet != _player->GetCharm())) { @@ -581,7 +581,7 @@ void WorldSession::HandlePetCastSpellOpcode( WorldPacket& recvPacket ) if (GUID_HIPART(guid) == HIGHGUID_PLAYER) return; - Creature* pet = ObjectAccessor::GetCreatureOrPet(*_player,guid); + Creature* pet = ObjectAccessor::GetCreatureOrPetOrVehicle(*_player,guid); if(!pet || (pet != _player->GetPet() && pet!= _player->GetCharm())) { diff --git a/src/game/SpellHandler.cpp b/src/game/SpellHandler.cpp index ab9b75917..e6343f999 100644 --- a/src/game/SpellHandler.cpp +++ b/src/game/SpellHandler.cpp @@ -357,7 +357,7 @@ void WorldSession::HandlePetCancelAuraOpcode( WorldPacket& recvPacket) return; } - Creature* pet=ObjectAccessor::GetCreatureOrPet(*_player,guid); + Creature* pet=ObjectAccessor::GetCreatureOrPetOrVehicle(*_player,guid); if(!pet) {