diff options
author | raczman <none@none> | 2010-03-07 15:20:19 +0100 |
---|---|---|
committer | raczman <none@none> | 2010-03-07 15:20:19 +0100 |
commit | 91b8ee104eac7446f9b8cbea7ed9dce641740c8e (patch) | |
tree | 2866b76745089d8066dad65b63e5aff07e92f4f6 /src/game/ThreatManager.cpp | |
parent | aeebe57dc08d8b2d90972f50f00c4a28dd3947ba (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/ThreatManager.cpp')
-rw-r--r-- | src/game/ThreatManager.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/game/ThreatManager.cpp b/src/game/ThreatManager.cpp index ad22ba6b5c1..8b4ea04718f 100644 --- a/src/game/ThreatManager.cpp +++ b/src/game/ThreatManager.cpp @@ -370,7 +370,7 @@ void ThreatManager::addThreat(Unit* pVictim, float fThreat, SpellSchoolMask scho return; // not to GM - if (!pVictim || (pVictim->GetTypeId() == TYPEID_PLAYER && ((Player*)pVictim)->isGameMaster())) + if (!pVictim || (pVictim->GetTypeId() == TYPEID_PLAYER && pVictim->ToPlayer()->isGameMaster())) return; // not to dead and not for dead @@ -406,7 +406,7 @@ void ThreatManager::_addThreat(Unit *pVictim, float fThreat) HostilReference* hostilReference = new HostilReference(pVictim, this, 0); iThreatContainer.addReference(hostilReference); hostilReference->addThreat(fThreat); // now we add the real threat - if(pVictim->GetTypeId() == TYPEID_PLAYER && ((Player*)pVictim)->isGameMaster()) + if(pVictim->GetTypeId() == TYPEID_PLAYER && pVictim->ToPlayer()->isGameMaster()) hostilReference->setOnlineOfflineState(false); // GM is always offline } } |