aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsrc/server/game/Entities/GameObject/GameObject.cpp23
1 files changed, 12 insertions, 11 deletions
diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp
index 88ae3306371..6bbb1784ee1 100755
--- a/src/server/game/Entities/GameObject/GameObject.cpp
+++ b/src/server/game/Entities/GameObject/GameObject.cpp
@@ -1064,7 +1064,7 @@ void GameObject::Use(Unit* user)
if (user->GetTypeId() != TYPEID_PLAYER)
return;
- Player* player = (Player*)user;
+ Player* player = user->ToPlayer();
player->PrepareGossipMenu(this, GetGOInfo()->questgiver.gossipID);
player->SendPreparedGossip(this);
@@ -1089,7 +1089,7 @@ void GameObject::Use(Unit* user)
ChairListSlots[0] = 0; // error in DB, make one default slot
}
- Player* player = (Player*)user;
+ Player* player = user->ToPlayer();
// a chair may have n slots. we have to calculate their positions and teleport the player to the nearest one
@@ -1167,7 +1167,7 @@ void GameObject::Use(Unit* user)
if (user->GetTypeId() == TYPEID_PLAYER)
{
- Player* player = (Player*)user;
+ Player* player = user->ToPlayer();
if (info->goober.pageId) // show page...
{
@@ -1233,7 +1233,7 @@ void GameObject::Use(Unit* user)
if (user->GetTypeId() != TYPEID_PLAYER)
return;
- Player* player = (Player*)user;
+ Player* player = user->ToPlayer();
if (info->camera.cinematicId)
player->SendCinematicStart(info->camera.cinematicId);
@@ -1437,7 +1437,7 @@ void GameObject::Use(Unit* user)
if (user->GetTypeId() != TYPEID_PLAYER)
return;
- Player* player = (Player*)user;
+ Player* player = user->ToPlayer();
Player* targetPlayer = ObjectAccessor::FindPlayer(player->GetSelection());
@@ -1466,7 +1466,7 @@ void GameObject::Use(Unit* user)
if (user->GetTypeId() != TYPEID_PLAYER)
return;
- Player* player = (Player*)user;
+ Player* player = user->ToPlayer();
if (player->CanUseBattlegroundObject())
{
@@ -1494,7 +1494,7 @@ void GameObject::Use(Unit* user)
if (user->GetTypeId() != TYPEID_PLAYER)
return;
- Player* player = (Player*)user;
+ Player* player = user->ToPlayer();
player->SendLoot(GetGUID(), LOOT_FISHINGHOLE);
player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_FISH_IN_GAMEOBJECT, GetGOInfo()->id);
@@ -1506,7 +1506,7 @@ void GameObject::Use(Unit* user)
if (user->GetTypeId() != TYPEID_PLAYER)
return;
- Player* player = (Player*)user;
+ Player* player = user->ToPlayer();
if (player->CanUseBattlegroundObject())
{
@@ -1557,7 +1557,7 @@ void GameObject::Use(Unit* user)
if (user->GetTypeId() != TYPEID_PLAYER)
return;
- Player* player = (Player*)user;
+ Player* player = user->ToPlayer();
// fallback, will always work
player->TeleportTo(GetMapId(), GetPositionX(), GetPositionY(), GetPositionZ(), GetOrientation(),TELE_TO_NOT_LEAVE_TRANSPORT | TELE_TO_NOT_LEAVE_COMBAT | TELE_TO_NOT_UNSUMMON_PET);
@@ -1569,7 +1569,8 @@ void GameObject::Use(Unit* user)
return;
}
default:
- sLog->outError("Unknown Object Type %u", GetGoType());
+ sLog->outError("GameObject::Use(): unit (type: %u, guid: %u) tries to use object (guid: %u) of unknown type (%u)",
+ user->GetTypeId(), user->GetGUIDLow(), GetGUIDLow(), GetGoType());
break;
}
@@ -1579,7 +1580,7 @@ void GameObject::Use(Unit* user)
SpellEntry const *spellInfo = sSpellStore.LookupEntry(spellId);
if (!spellInfo)
{
- if (user->GetTypeId() != TYPEID_PLAYER || !sOutdoorPvPMgr->HandleCustomSpell((Player*)user,spellId,this))
+ if (user->GetTypeId() != TYPEID_PLAYER || !sOutdoorPvPMgr->HandleCustomSpell(user->ToPlayer(), spellId, this))
sLog->outError("WORLD: unknown spell id %u at use action for gameobject (Entry: %u GoType: %u)", spellId,GetEntry(),GetGoType());
else
sLog->outDebug(LOG_FILTER_OUTDOORPVP, "WORLD: %u non-dbc spell was handled by OutdoorPvP", spellId);