diff options
| author | Vincent-Michael <Vincent_Michael@gmx.de> | 2013-07-23 02:03:35 +0200 |
|---|---|---|
| committer | Vincent-Michael <Vincent_Michael@gmx.de> | 2013-07-23 02:03:35 +0200 |
| commit | aca68428c28bf47fbe2fc08415ae99156a4c4aa6 (patch) | |
| tree | 4a4971d62d2f2368d22127e5702fc59e4765ce0b /src/server/game/Grids/Notifiers | |
| parent | 41ebf1493c3b48f7cba3767b3e3b00e4f6eedea1 (diff) | |
| parent | 5463f211b4217d769be61992fcb3480f4fc241b4 (diff) | |
Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4
Conflicts:
src/server/game/AI/CoreAI/TotemAI.cpp
src/server/game/Entities/Unit/Unit.cpp
src/server/game/Globals/ObjectMgr.cpp
src/server/game/Handlers/ItemHandler.cpp
src/server/game/Spells/Spell.cpp
src/server/game/Spells/SpellEffects.cpp
src/server/scripts/Spells/spell_shaman.cpp
src/server/scripts/Spells/spell_warlock.cpp
Diffstat (limited to 'src/server/game/Grids/Notifiers')
| -rw-r--r-- | src/server/game/Grids/Notifiers/GridNotifiers.cpp | 16 | ||||
| -rw-r--r-- | src/server/game/Grids/Notifiers/GridNotifiers.h | 6 |
2 files changed, 13 insertions, 9 deletions
diff --git a/src/server/game/Grids/Notifiers/GridNotifiers.cpp b/src/server/game/Grids/Notifiers/GridNotifiers.cpp index 363d6927cc1..570819afca1 100644 --- a/src/server/game/Grids/Notifiers/GridNotifiers.cpp +++ b/src/server/game/Grids/Notifiers/GridNotifiers.cpp @@ -106,10 +106,10 @@ void VisibleChangesNotifier::Visit(CreatureMapType &m) void VisibleChangesNotifier::Visit(DynamicObjectMapType &m) { for (DynamicObjectMapType::iterator iter = m.begin(); iter != m.end(); ++iter) - if (IS_PLAYER_GUID(iter->GetSource()->GetCasterGUID())) - if (Player* caster = (Player*)iter->GetSource()->GetCaster()) - if (caster->m_seer == iter->GetSource()) - caster->UpdateVisibilityOf(&i_object); + if (Unit* caster = iter->GetSource()->GetCaster()) + if (Player* player = caster->ToPlayer()) + if (player->m_seer == iter->GetSource()) + player->UpdateVisibilityOf(&i_object); } inline void CreatureUnitRelocationWorker(Creature* c, Unit* u) @@ -299,12 +299,12 @@ void MessageDistDeliverer::Visit(DynamicObjectMapType &m) if (target->GetExactDist2dSq(i_source) > i_distSq) continue; - if (IS_PLAYER_GUID(target->GetCasterGUID())) + if (Unit* caster = target->GetCaster()) { // Send packet back to the caster if the caster has vision of dynamic object - Player* caster = (Player*)target->GetCaster(); - if (caster && caster->m_seer == target) - SendPacket(caster); + Player* player = caster->ToPlayer(); + if (player && player->m_seer == target) + SendPacket(player); } } } diff --git a/src/server/game/Grids/Notifiers/GridNotifiers.h b/src/server/game/Grids/Notifiers/GridNotifiers.h index 6984321e55b..209d2527e0d 100644 --- a/src/server/game/Grids/Notifiers/GridNotifiers.h +++ b/src/server/game/Grids/Notifiers/GridNotifiers.h @@ -132,10 +132,14 @@ namespace Trinity Player const* skipped_receiver; MessageDistDeliverer(WorldObject* src, WorldPacket* msg, float dist, bool own_team_only = false, Player const* skipped = NULL) : i_source(src), i_message(msg), i_phaseMask(src->GetPhaseMask()), i_distSq(dist * dist) - , team((own_team_only && src->GetTypeId() == TYPEID_PLAYER) ? ((Player*)src)->GetTeam() : 0) + , team(0) , skipped_receiver(skipped) { + if (own_team_only) + if (Player* player = src->ToPlayer()) + team = player->GetTeam(); } + void Visit(PlayerMapType &m); void Visit(CreatureMapType &m); void Visit(DynamicObjectMapType &m); |
