aboutsummaryrefslogtreecommitdiff
path: root/src/game/Totem.cpp
diff options
context:
space:
mode:
authorraczman <none@none>2010-03-07 15:20:19 +0100
committerraczman <none@none>2010-03-07 15:20:19 +0100
commit91b8ee104eac7446f9b8cbea7ed9dce641740c8e (patch)
tree2866b76745089d8066dad65b63e5aff07e92f4f6 /src/game/Totem.cpp
parentaeebe57dc08d8b2d90972f50f00c4a28dd3947ba (diff)
Added new type-safe cast functions.
This, when properly used, should get rid of most memory corruption issues, currently, casting types C-style with no checks leads to some abstract crashing. Functionality is same as with dynamic_cast<>, but with no RTTI check - so when casting into invalid type you will receive NULL, and most probably crash. At the same time, i took the liberty to convert most Player* casts to ToPlayer(). Still needs crapload of casts being moved to new facility. --HG-- branch : trunk
Diffstat (limited to 'src/game/Totem.cpp')
-rw-r--r--src/game/Totem.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/game/Totem.cpp b/src/game/Totem.cpp
index 6b277136444..971482050a8 100644
--- a/src/game/Totem.cpp
+++ b/src/game/Totem.cpp
@@ -59,11 +59,11 @@ void Totem::InitStats(uint32 duration)
CreatureInfo const *cinfo = GetCreatureInfo();
if(m_owner->GetTypeId() == TYPEID_PLAYER && cinfo)
{
- uint32 display_id = objmgr.ChooseDisplayId(((Player*)m_owner)->GetTeam(), cinfo);
+ uint32 display_id = objmgr.ChooseDisplayId(m_owner->ToPlayer()->GetTeam(), cinfo);
CreatureModelInfo const *minfo = objmgr.GetCreatureModelRandomGender(display_id);
if (minfo)
display_id = minfo->modelid;
- switch (((Player*)m_owner)->GetTeam())
+ switch (m_owner->ToPlayer()->GetTeam())
{
case ALLIANCE:
display_id = cinfo->Modelid1;
@@ -146,9 +146,9 @@ void Totem::UnSummon()
Group *pGroup = NULL;
if (m_owner->GetTypeId() == TYPEID_PLAYER)
{
- ((Player*)m_owner)->SendAutoRepeatCancel(this);
+ m_owner->ToPlayer()->SendAutoRepeatCancel(this);
// Not only the player can summon the totem (scripted AI)
- pGroup = ((Player*)m_owner)->GetGroup();
+ pGroup = m_owner->ToPlayer()->GetGroup();
if (pGroup)
{
for (GroupReference *itr = pGroup->GetFirstMember(); itr != NULL; itr = itr->next())