aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Grids/Notifiers
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Grids/Notifiers')
-rw-r--r--src/server/game/Grids/Notifiers/GridNotifiers.cpp16
-rw-r--r--src/server/game/Grids/Notifiers/GridNotifiers.h6
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);