aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities
diff options
context:
space:
mode:
authorclick <clickvd@gonnamakeyou.com>2011-06-12 17:13:28 +0200
committerclick <clickvd@gonnamakeyou.com>2011-06-12 17:13:28 +0200
commitb138bc31ca3742a2c11014d353c94f4e258ba8c7 (patch)
tree42d11b4421c8a979fe3b2ad2f1a603d1297610ca /src/server/game/Entities
parente1f7f9e5b1bbc942c9dc1eb89cf0f8a5c9df96ff (diff)
Scripts/EmeraldDragons: Clean up a bit on the scripts:
- Remove script for Shade of Taerar, replaced with SAI equivalent (Malcrom) - Remove script for Demented Druids, replaced with SAI equivalent (Malcrom) - Add supportscript for Mark of Nature (Kaelima) - Some other minor changes here and there
Diffstat (limited to 'src/server/game/Entities')
-rwxr-xr-xsrc/server/game/Entities/Creature/Creature.cpp11
-rwxr-xr-xsrc/server/game/Entities/Unit/Unit.cpp5
2 files changed, 10 insertions, 6 deletions
diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp
index f731ba69a54..e139c96a108 100755
--- a/src/server/game/Entities/Creature/Creature.cpp
+++ b/src/server/game/Entities/Creature/Creature.cpp
@@ -1823,8 +1823,11 @@ Unit* Creature::SelectNearestTargetInAttackDistance(float dist) const
Unit* target = NULL;
- if (dist > ATTACK_DISTANCE)
- sLog->outError("Creature (GUID: %u Entry: %u) SelectNearestTargetInAttackDistance called with dist > ATTACK_DISTANCE. Extra distance ignored.", GetGUIDLow(), GetEntry());
+ if (dist > MAX_VISIBILITY_DISTANCE)
+ {
+ sLog->outError("Creature (GUID: %u Entry: %u) SelectNearestTargetInAttackDistance called with dist > MAX_VISIBILITY_DISTANCE. Distance set to ATTACK_DISTANCE.", GetGUIDLow(), GetEntry());
+ dist = ATTACK_DISTANCE;
+ }
{
Trinity::NearestHostileUnitInAttackDistanceCheck u_check(this, dist);
@@ -1833,8 +1836,8 @@ Unit* Creature::SelectNearestTargetInAttackDistance(float dist) const
TypeContainerVisitor<Trinity::UnitLastSearcher<Trinity::NearestHostileUnitInAttackDistanceCheck>, WorldTypeMapContainer > world_unit_searcher(searcher);
TypeContainerVisitor<Trinity::UnitLastSearcher<Trinity::NearestHostileUnitInAttackDistanceCheck>, GridTypeMapContainer > grid_unit_searcher(searcher);
- cell.Visit(p, world_unit_searcher, *GetMap(), *this, ATTACK_DISTANCE);
- cell.Visit(p, grid_unit_searcher, *GetMap(), *this, ATTACK_DISTANCE);
+ cell.Visit(p, world_unit_searcher, *GetMap(), *this, ATTACK_DISTANCE > dist ? ATTACK_DISTANCE : dist);
+ cell.Visit(p, grid_unit_searcher, *GetMap(), *this, ATTACK_DISTANCE > dist ? ATTACK_DISTANCE : dist);
}
return target;
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index 27b37dfff9f..ab38a5301f1 100755
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -12889,9 +12889,10 @@ Unit* Creature::SelectVictim()
// search nearby enemy before enter evade mode
if (HasReactState(REACT_AGGRESSIVE))
{
- target = SelectNearestTargetInAttackDistance();
+ target = SelectNearestTargetInAttackDistance(m_CombatDistance ? m_CombatDistance : ATTACK_DISTANCE);
+
if (target && _IsTargetAcceptable(target))
- return target;
+ return target;
}
Unit::AuraEffectList const& iAuras = GetAuraEffectsByType(SPELL_AURA_MOD_INVISIBILITY);