diff options
Diffstat (limited to 'src/game/GridNotifiersImpl.h')
-rw-r--r-- | src/game/GridNotifiersImpl.h | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/src/game/GridNotifiersImpl.h b/src/game/GridNotifiersImpl.h index c19dc66139c..6f8b191d551 100644 --- a/src/game/GridNotifiersImpl.h +++ b/src/game/GridNotifiersImpl.h @@ -170,92 +170,6 @@ Trinity::CreatureRelocationNotifier::Visit(CreatureMapType &m) } } -inline void Trinity::DynamicObjectUpdater::VisitHelper(Unit* target) -{ - if(!target->isAlive() || target->isInFlight() ) - return; - - if(target->GetTypeId() == TYPEID_UNIT && ((Creature*)target)->isTotem()) - return; - - if (!i_dynobject.IsWithinDistInMap(target, i_dynobject.GetRadius())) - return; - - //Check targets for not_selectable unit flag and remove - if (target->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE)) - return; - - // Evade target - if( target->GetTypeId() == TYPEID_UNIT && ((Creature*)target)->IsInEvadeMode() ) - return; - - //Check player targets and remove if in GM mode or GM invisibility (for not self casting case) - if( target->GetTypeId() == TYPEID_PLAYER && target != i_check && (((Player*)target)->isGameMaster() || ((Player*)target)->GetVisibility()==VISIBILITY_OFF) ) - return; - - if (i_dynobject.IsAffecting(target)) - return; - - if(target->HasAura(i_dynobject.GetSpellId(), i_check->GetGUID())) - return; - - uint32 eff_index = 0; - for (; eff_index < MAX_SPELL_EFFECTS; ++eff_index) - if(i_dynobject.HasEffect(eff_index)) - break; - - if(eff_index == MAX_SPELL_EFFECTS) - return; - - SpellEntry const *spellInfo = sSpellStore.LookupEntry(i_dynobject.GetSpellId()); - if(spellInfo->EffectImplicitTargetB[eff_index] == TARGET_DEST_DYNOBJ_ALLY - || spellInfo->EffectImplicitTargetB[eff_index] == TARGET_UNIT_AREA_ALLY_DST) - { - if(!i_check->IsFriendlyTo(target)) - return; - } - else if( i_check->GetTypeId() == TYPEID_PLAYER ) - { - if (i_check->IsFriendlyTo( target )) - return; - - i_check->CombatStart(target); - } - else - { - if (!i_check->IsHostileTo( target )) - return; - - i_check->CombatStart(target); - } - - // Check target immune to spell or aura - if (target->IsImmunedToSpell(spellInfo) || target->IsImmunedToSpellEffect(spellInfo, eff_index)) - return; - - // Apply PersistentAreaAura on target - Aura *aur = new Aura(spellInfo, i_dynobject.GetEffectMask(), target, &i_dynobject, i_check); - aur->SetAuraDuration(i_dynobject.GetDuration()); - if(target->AddAura(aur, true)) - i_dynobject.AddAffected(target); -} - -template<> -inline void -Trinity::DynamicObjectUpdater::Visit(CreatureMapType &m) -{ - for (CreatureMapType::iterator itr=m.begin(); itr != m.end(); ++itr) - VisitHelper(itr->getSource()); -} - -template<> -inline void -Trinity::DynamicObjectUpdater::Visit(PlayerMapType &m) -{ - for (PlayerMapType::iterator itr=m.begin(); itr != m.end(); ++itr) - VisitHelper(itr->getSource()); -} - // SEARCHERS & LIST SEARCHERS & WORKERS // WorldObject searchers & workers |