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/Level3.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/Level3.cpp')
| -rw-r--r-- | src/game/Level3.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/game/Level3.cpp b/src/game/Level3.cpp index e2bf6c3cfa3..71d789f1d80 100644 --- a/src/game/Level3.cpp +++ b/src/game/Level3.cpp @@ -5284,14 +5284,14 @@ bool ChatHandler::HandleResetTalentsCommand(const char * args) if (!*args && creature && creature->isPet()) { Unit *owner = creature->GetOwner(); - if(owner && owner->GetTypeId() == TYPEID_PLAYER && ((Pet *)creature)->IsPermanentPetFor((Player*)owner)) + if(owner && owner->GetTypeId() == TYPEID_PLAYER && ((Pet *)creature)->IsPermanentPetFor(owner->ToPlayer())) { ((Pet *)creature)->resetTalents(true); - ((Player*)owner)->SendTalentsInfoData(true); + owner->ToPlayer()->SendTalentsInfoData(true); - ChatHandler((Player*)owner).SendSysMessage(LANG_RESET_PET_TALENTS); - if(!m_session || m_session->GetPlayer()!=((Player*)owner)) - PSendSysMessage(LANG_RESET_PET_TALENTS_ONLINE,GetNameLink((Player*)owner).c_str()); + ChatHandler(owner->ToPlayer()).SendSysMessage(LANG_RESET_PET_TALENTS); + if(!m_session || m_session->GetPlayer()!=owner->ToPlayer()) + PSendSysMessage(LANG_RESET_PET_TALENTS_ONLINE,GetNameLink(owner->ToPlayer()).c_str()); } return true; } |
