diff options
author | Kudlaty <none@none> | 2009-06-19 16:42:48 +0200 |
---|---|---|
committer | Kudlaty <none@none> | 2009-06-19 16:42:48 +0200 |
commit | 88137c07b932ab5199c79a1d4f9d6246dac21e9e (patch) | |
tree | 3a0528438b47ff262875d55953e9147d1abb6b43 /src | |
parent | 9926aed1a68e4906bbb3e42deff57fe42a853870 (diff) |
Merge [SD2]
r1080 Update code with new and faster functions for distance checks.
--HG--
branch : trunk
Diffstat (limited to 'src')
40 files changed, 56 insertions, 59 deletions
diff --git a/src/bindings/scripts/include/sc_creature.cpp b/src/bindings/scripts/include/sc_creature.cpp index 045f85150e9..361385c85a9 100644 --- a/src/bindings/scripts/include/sc_creature.cpp +++ b/src/bindings/scripts/include/sc_creature.cpp @@ -346,8 +346,7 @@ bool ScriptedAI::CanCast(Unit* Target, SpellEntry const *Spell, bool Triggered) return false; //Unit is out of range of this spell - if (me->GetDistance(Target) > me->GetSpellMaxRangeForTarget(Target, TempRange) - || me->GetDistance(Target) < me->GetSpellMinRangeForTarget(Target, TempRange)) + if (me->IsInRange(Target,me->GetSpellMinRangeForTarget(Target, TempRange),me->GetSpellMaxRangeForTarget(Target, TempRange))) return false; return true; @@ -568,7 +567,7 @@ void ScriptedAI::SetCombatMovement(bool CombatMove) { if( !m_creature->getVictim() && m_creature->canAttack(who) && ( m_creature->IsHostileTo( who )) && who->isInAccessiblePlaceFor(m_creature) ) { - if (!m_creature->canFly() && m_creature->GetDistanceZ(who) > CREATURE_Z_ATTACK_RANGE) + if (!m_creature->canFly() && !m_creature->IsWithinDist(who, CREATURE_Z_ATTACK_RANGE)) return; float attackRadius = m_creature->GetAttackDistance(who); diff --git a/src/bindings/scripts/scripts/custom/custom_example.cpp b/src/bindings/scripts/scripts/custom/custom_example.cpp index 162207b77d2..7b5a695be6b 100644 --- a/src/bindings/scripts/scripts/custom/custom_example.cpp +++ b/src/bindings/scripts/scripts/custom/custom_example.cpp @@ -156,7 +156,7 @@ struct TRINITY_DLL_DECL custom_exampleAI : public ScriptedAI //Cast spell one on our current target. if (rand()%50 > 10) DoCast(m_creature->getVictim(),SPELL_ONE_ALT); - else if (m_creature->GetDistance(m_creature->getVictim()) < 25) + else if (m_creature->IsWithinDist(m_creature->getVictim(), 25)) DoCast(m_creature->getVictim(),SPELL_ONE); Spell_1_Timer = 5000; diff --git a/src/bindings/scripts/scripts/examples/example_creature.cpp b/src/bindings/scripts/scripts/examples/example_creature.cpp index e3584f1f0dc..ee477ba4e31 100644 --- a/src/bindings/scripts/scripts/examples/example_creature.cpp +++ b/src/bindings/scripts/scripts/examples/example_creature.cpp @@ -141,7 +141,7 @@ struct TRINITY_DLL_DECL example_creatureAI : public ScriptedAI //Cast spell one on our current target. if (rand()%50 > 10) DoCast(m_creature->getVictim(),SPELL_ONE_ALT); - else if (m_creature->GetDistance(m_creature->getVictim()) < 25) + else if (m_creature->IsWithinDist(m_creature->getVictim(), 25)) DoCast(m_creature->getVictim(),SPELL_ONE); Spell_1_Timer = 5000; diff --git a/src/bindings/scripts/scripts/npc/npc_escortAI.cpp b/src/bindings/scripts/scripts/npc/npc_escortAI.cpp index 681cf05e272..7b70b66831a 100644 --- a/src/bindings/scripts/scripts/npc/npc_escortAI.cpp +++ b/src/bindings/scripts/scripts/npc/npc_escortAI.cpp @@ -152,7 +152,7 @@ void npc_escortAI::UpdateAI(const uint32 diff) { Unit* p = Unit::GetUnit(*m_creature, PlayerGUID); - if (DespawnAtFar && (!p || m_creature->GetDistance(p) > GetMaxPlayerDistance())) + if (DespawnAtFar && (!p || !m_creature->IsWithinDist(p,GetMaxPlayerDistance()))) { JustDied(m_creature); IsBeingEscorted = false; diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp b/src/bindings/scripts/scripts/zone/aunchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp index 586a0f06a8d..16333c58c15 100644 --- a/src/bindings/scripts/scripts/zone/aunchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp +++ b/src/bindings/scripts/scripts/zone/aunchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp @@ -86,7 +86,7 @@ struct TRINITY_DLL_DECL boss_shirrak_the_dead_watcherAI : public ScriptedAI Map::PlayerList const &PlayerList = map->GetPlayers(); for(Map::PlayerList::const_iterator i = PlayerList.begin(); i != PlayerList.end(); ++i) if (Player* i_pl = i->getSource()) - if (i_pl->isAlive() && (dist = i_pl->GetDistance(m_creature)) < 45) + if (i_pl->isAlive() && (dist = i_pl->IsWithinDist(m_creature, 45))) { i_pl->RemoveAurasDueToSpell(SPELL_INHIBITMAGIC); m_creature->AddAura(SPELL_INHIBITMAGIC, i_pl); diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_grandmaster_vorpil.cpp b/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_grandmaster_vorpil.cpp index dff997a3109..9c674d8d681 100644 --- a/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_grandmaster_vorpil.cpp +++ b/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_grandmaster_vorpil.cpp @@ -101,7 +101,7 @@ struct TRINITY_DLL_DECL mob_voidtravelerAI : public ScriptedAI return; } m_creature->GetMotionMaster()->MoveFollow(Vorpil,0,0); - if(m_creature->GetDistance(Vorpil) < 3) + if(m_creature->IsWithinDist(Vorpil, 3)) { DoCast(m_creature, SPELL_SACRIFICE, false); sacrificed = true; diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_murmur.cpp b/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_murmur.cpp index ff25a07b68c..472d4f30e6a 100644 --- a/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_murmur.cpp +++ b/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_murmur.cpp @@ -155,7 +155,7 @@ struct TRINITY_DLL_DECL boss_murmurAI : public Scripted_NoMovementAI std::list<HostilReference*>& m_threatlist = m_creature->getThreatManager().getThreatList(); for(std::list<HostilReference*>::iterator i = m_threatlist.begin(); i != m_threatlist.end(); ++i) if(Unit* target = Unit::GetUnit((*m_creature),(*i)->getUnitGuid())) - if(target->isAlive() && m_creature->GetDistance2d(target) > 35) + if(target->isAlive() && !m_creature->IsWithinDist(target, 35, false)) DoCast(target, SPELL_THUNDERING_STORM, true); ThunderingStorm_Timer = 15000; }else ThunderingStorm_Timer -= diff; diff --git a/src/bindings/scripts/scripts/zone/azshara/azshara.cpp b/src/bindings/scripts/scripts/zone/azshara/azshara.cpp index 6d52b425adc..4ddabcb7c71 100644 --- a/src/bindings/scripts/scripts/zone/azshara/azshara.cpp +++ b/src/bindings/scripts/scripts/zone/azshara/azshara.cpp @@ -345,8 +345,8 @@ struct TRINITY_DLL_DECL mob_rizzle_sprysprocketAI : public ScriptedAI Despawn(); return; } - float dist = m_creature->GetDistance(player); - if(dist < 10 && m_creature->GetPositionX() > player->GetPositionX() && !Reached) + + if(m_creature->IsWithinDist(player, 10) && m_creature->GetPositionX() > player->GetPositionX() && !Reached) { DoScriptText(SAY_RIZZLE_FINAL, m_creature); m_creature->SetUInt32Value(UNIT_NPC_FLAGS, 1); diff --git a/src/bindings/scripts/scripts/zone/black_temple/boss_bloodboil.cpp b/src/bindings/scripts/scripts/zone/black_temple/boss_bloodboil.cpp index 30d86880911..04cd1799195 100644 --- a/src/bindings/scripts/scripts/zone/black_temple/boss_bloodboil.cpp +++ b/src/bindings/scripts/scripts/zone/black_temple/boss_bloodboil.cpp @@ -59,7 +59,7 @@ struct TargetDistanceOrder : public std::binary_function<const Unit, const Unit, // functor for operator ">" bool operator()(const Unit* _Left, const Unit* _Right) const { - return (MainTarget->GetDistance(_Left) > MainTarget->GetDistance(_Right)); + return !MainTarget->GetDistanceOrder(_Left, _Right); } }; diff --git a/src/bindings/scripts/scripts/zone/black_temple/boss_reliquary_of_souls.cpp b/src/bindings/scripts/scripts/zone/black_temple/boss_reliquary_of_souls.cpp index 29f1278c79b..c6f4ae92c21 100644 --- a/src/bindings/scripts/scripts/zone/black_temple/boss_reliquary_of_souls.cpp +++ b/src/bindings/scripts/scripts/zone/black_temple/boss_reliquary_of_souls.cpp @@ -312,7 +312,7 @@ struct TargetDistanceOrder : public std::binary_function<const Unit, const Unit, // functor for operator "<" bool operator()(const Unit* _Left, const Unit* _Right) const { - return (MainTarget->GetDistance(_Left) < MainTarget->GetDistance(_Right)); + return MainTarget->GetDistanceOrder(_Left, _Right); } }; diff --git a/src/bindings/scripts/scripts/zone/black_temple/boss_shade_of_akama.cpp b/src/bindings/scripts/scripts/zone/black_temple/boss_shade_of_akama.cpp index d492a14a97e..502101f260e 100644 --- a/src/bindings/scripts/scripts/zone/black_temple/boss_shade_of_akama.cpp +++ b/src/bindings/scripts/scripts/zone/black_temple/boss_shade_of_akama.cpp @@ -148,7 +148,7 @@ struct TRINITY_DLL_DECL mob_ashtongue_sorcererAI : public ScriptedAI Creature* Shade = Unit::GetCreature((*m_creature), ShadeGUID); if(Shade && Shade->isAlive() && m_creature->isAlive()) { - if(m_creature->GetDistance2d(Shade) < 20) + if(m_creature->IsWithinDist(Shade, 20,false)) { m_creature->GetMotionMaster()->Clear(false); m_creature->GetMotionMaster()->MoveIdle(); diff --git a/src/bindings/scripts/scripts/zone/black_temple/boss_teron_gorefiend.cpp b/src/bindings/scripts/scripts/zone/black_temple/boss_teron_gorefiend.cpp index 1ebb2c7aa25..633a38c4b00 100644 --- a/src/bindings/scripts/scripts/zone/black_temple/boss_teron_gorefiend.cpp +++ b/src/bindings/scripts/scripts/zone/black_temple/boss_teron_gorefiend.cpp @@ -111,7 +111,7 @@ struct TargetDistanceOrder : public std::binary_function<const Unit, const Unit, // functor for operator "<" bool operator()(const Unit* _Left, const Unit* _Right) const { - return (MainTarget->GetDistance(_Left) < MainTarget->GetDistance(_Right)); + return MainTarget->GetDistanceOrder(_Left, _Right); } }; diff --git a/src/bindings/scripts/scripts/zone/black_temple/illidari_council.cpp b/src/bindings/scripts/scripts/zone/black_temple/illidari_council.cpp index dbf43c06bc6..84d8becd027 100644 --- a/src/bindings/scripts/scripts/zone/black_temple/illidari_council.cpp +++ b/src/bindings/scripts/scripts/zone/black_temple/illidari_council.cpp @@ -518,7 +518,7 @@ struct TRINITY_DLL_DECL boss_gathios_the_shattererAI : public boss_illidari_coun if(Unit* target = SelectUnit(SELECT_TARGET_RANDOM, 0)) { // is in ~10-40 yd range - if(m_creature->GetDistance2d(target) > 10 && m_creature->GetDistance2d(target) < 40) + if (m_creature->IsInRange(target, 10.0f, 40.0f, false)) { DoCast(target, SPELL_HAMMER_OF_JUSTICE); HammerOfJusticeTimer = 20000; diff --git a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_broodlord_lashlayer.cpp b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_broodlord_lashlayer.cpp index 915c3062ea7..c2582ffb600 100644 --- a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_broodlord_lashlayer.cpp +++ b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_broodlord_lashlayer.cpp @@ -69,8 +69,7 @@ struct TRINITY_DLL_DECL boss_broodlordAI : public ScriptedAI { float rx,ry,rz; m_creature->GetRespawnCoord(rx, ry, rz); - float spawndist = m_creature->GetDistance(rx,ry,rz); - if ( spawndist > 250 ) + if(!m_creature->IsWithinDist3d(rx,ry,rz,250.0f)) { DoScriptText(SAY_LEASH, m_creature); EnterEvadeMode(); diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_anetheron.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_anetheron.cpp index be3d57b7bcc..b1a0f2ff1b3 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_anetheron.cpp +++ b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_anetheron.cpp @@ -259,7 +259,7 @@ struct TRINITY_DLL_DECL mob_towering_infernalAI : public ScriptedAI void MoveInLineOfSight(Unit *who) { - if (m_creature->GetDistance(who) <= 50 && !m_creature->isInCombat() && m_creature->IsHostileTo(who)) + if (m_creature->IsWithinDist(who, 50) && !m_creature->isInCombat() && m_creature->IsHostileTo(who)) AttackStart(who); } diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_archimonde.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_archimonde.cpp index a56676c5e68..423ada87927 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_archimonde.cpp +++ b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_archimonde.cpp @@ -191,7 +191,7 @@ struct TargetDistanceOrder : public std::binary_function<const Unit, const Unit, // functor for operator "<" bool operator()(const Unit* _Left, const Unit* _Right) const { - return (MainTarget->GetDistance(_Left) < MainTarget->GetDistance(_Right)); + return MainTarget->GetDistanceOrder(_Left, _Right); } }; diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_azgalor.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_azgalor.cpp index b788726c60f..b704080ba86 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_azgalor.cpp +++ b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_azgalor.cpp @@ -222,7 +222,7 @@ struct TRINITY_DLL_DECL mob_lesser_doomguardAI : public hyjal_trashAI void MoveInLineOfSight(Unit *who) { - if (m_creature->GetDistance(who) <= 50 && !m_creature->isInCombat() && m_creature->IsHostileTo(who)) + if (m_creature->IsWithinDist(who, 50) && !m_creature->isInCombat() && m_creature->IsHostileTo(who)) AttackStart(who); } diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjalAI.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjalAI.cpp index f9eac237176..4c8cb2e5e99 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjalAI.cpp +++ b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjalAI.cpp @@ -1024,7 +1024,7 @@ void hyjalAI::WaypointReached(uint32 i) { if((*itr) && (*itr)->isAlive() && (*itr) != m_creature && (*itr)->GetEntry() != JAINA) { - if((*itr)->GetDistance(m_creature) >= 60) + if(!(*itr)->IsWithinDist(m_creature, 60)) (*itr)->RemoveUnitMovementFlag(MOVEMENTFLAG_WALK_MODE); float x, y, z; (*itr)->SetDefaultMovementType(IDLE_MOTION_TYPE); diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjal_trash.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjal_trash.cpp index cb833ba77fe..97bb030c7ba 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjal_trash.cpp +++ b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjal_trash.cpp @@ -1174,7 +1174,7 @@ struct mob_frost_wyrmAI : public hyjal_trashAI } if (!UpdateVictim()) return; - if(m_creature->GetDistance(m_creature->getVictim()) >= 25){ + if(!m_creature->IsWithinDist(m_creature->getVictim(), 25)){ if(MoveTimer<diff) { m_creature->GetMotionMaster()->MoveChase(m_creature->getVictim()); @@ -1184,7 +1184,7 @@ struct mob_frost_wyrmAI : public hyjal_trashAI if(FrostBreathTimer<diff) { - if(m_creature->GetDistance(m_creature->getVictim()) < 25) + if(!m_creature->IsWithinDist(m_creature->getVictim(), 25)) { DoCast(m_creature->getVictim(),SPELL_FROST_BREATH); m_creature->StopMoving(); @@ -1297,7 +1297,7 @@ struct mob_gargoyleAI : public hyjal_trashAI } if (!UpdateVictim()) return; - if(m_creature->GetDistance(m_creature->getVictim()) >= 20 || forcemove) + if(!m_creature->IsWithinDist(m_creature->getVictim(), 20) || forcemove) { forcemove = false; if(forcemove) @@ -1318,7 +1318,7 @@ struct mob_gargoyleAI : public hyjal_trashAI } if(StrikeTimer<diff) { - if(m_creature->GetDistance(m_creature->getVictim()) < 20) + if(m_creature->IsWithinDist(m_creature->getVictim(), 20)) { DoCast(m_creature->getVictim(),SPELL_GARGOYLE_STRIKE); m_creature->StopMoving(); diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_hydross_the_unstable.cpp b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_hydross_the_unstable.cpp index 29c5216dee9..e34dd9cf807 100644 --- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_hydross_the_unstable.cpp +++ b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_hydross_the_unstable.cpp @@ -267,7 +267,7 @@ struct TRINITY_DLL_DECL boss_hydross_the_unstableAI : public ScriptedAI //PosCheck_Timer if (PosCheck_Timer < diff) { - if (m_creature->GetDistance2d(HYDROSS_X, HYDROSS_Y) < SWITCH_RADIUS) + if (m_creature->IsWithinDist2d(HYDROSS_X, HYDROSS_Y, SWITCH_RADIUS)) { // switch to clean form m_creature->SetDisplayId( MODEL_CLEAN); @@ -334,7 +334,7 @@ struct TRINITY_DLL_DECL boss_hydross_the_unstableAI : public ScriptedAI //PosCheck_Timer if (PosCheck_Timer < diff) { - if (m_creature->GetDistance2d(HYDROSS_X, HYDROSS_Y) >= SWITCH_RADIUS) + if (!m_creature->IsWithinDist2d(HYDROSS_X, HYDROSS_Y, SWITCH_RADIUS)) { // switch to corrupted form m_creature->SetDisplayId( MODEL_CORRUPT); diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lady_vashj.cpp b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lady_vashj.cpp index e1fdcf5ab15..8c183685815 100644 --- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lady_vashj.cpp +++ b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lady_vashj.cpp @@ -640,7 +640,7 @@ struct TRINITY_DLL_DECL mob_enchanted_elementalAI : public ScriptedAI { m_creature->GetMotionMaster()->MovePoint(0, x, y, z); } - if (phase == 1 && m_creature->GetDistance(x,y,z) < 0.1) + if (phase == 1 && m_creature->IsWithinDist3d(x,y,z, 0.1)) { phase = 2; } @@ -652,7 +652,7 @@ struct TRINITY_DLL_DECL mob_enchanted_elementalAI : public ScriptedAI if (phase == 3) { m_creature->GetMotionMaster()->MovePoint(0, MIDDLE_X, MIDDLE_Y, MIDDLE_Z); - if(m_creature->GetDistance(MIDDLE_X, MIDDLE_Y, MIDDLE_Z) < 3) + if(m_creature->IsWithinDist3d(MIDDLE_X, MIDDLE_Y, MIDDLE_Z, 3)) { SpellEntry *spell = GET_SPELL(SPELL_SURGE); if( spell ) diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp index 01a6e608663..d0abd5edbd6 100644 --- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp +++ b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp @@ -472,12 +472,12 @@ struct TRINITY_DLL_DECL boss_leotheras_the_blindAI : public ScriptedAI //ChaosBlast_Timer if (!m_creature->getVictim()) return; - if(m_creature->GetDistance(m_creature->getVictim()) < 30) + if(m_creature->IsWithinDist(m_creature->getVictim(), 30)) m_creature->StopMoving(); if(ChaosBlast_Timer < diff) { // will cast only when in range of spell - if(m_creature->GetDistance(m_creature->getVictim()) < 30) + if(m_creature->IsWithinDist(m_creature->getVictim(), 30)) { //m_creature->CastSpell(m_creature->getVictim(), SPELL_CHAOS_BLAST, true); int damage = 100; @@ -618,13 +618,13 @@ struct TRINITY_DLL_DECL boss_leotheras_the_blind_demonformAI : public ScriptedAI if (!UpdateVictim() ) return; //ChaosBlast_Timer - if(m_creature->GetDistance(m_creature->getVictim()) < 30) + if(m_creature->IsWithinDist(m_creature->getVictim(), 30)) m_creature->StopMoving(); if(ChaosBlast_Timer < diff) { // will cast only when in range od spell - if(m_creature->GetDistance(m_creature->getVictim()) < 30) + if(m_creature->IsWithinDist(m_creature->getVictim(), 30)) { //m_creature->CastSpell(m_creature->getVictim(),SPELL_CHAOS_BLAST,true); int damage = 100; diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lurker_below.cpp b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lurker_below.cpp index 3a1601013b3..1bae9af9109 100644 --- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lurker_below.cpp +++ b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lurker_below.cpp @@ -228,7 +228,7 @@ struct TRINITY_DLL_DECL boss_the_lurker_belowAI : public Scripted_NoMovementAI for (Map::PlayerList::const_iterator i = PlayerList.begin(); i != PlayerList.end(); ++i) { Player *target = i->getSource(); - if(target && target->isAlive() && m_creature->HasInArc((double)diff/20000*(double)M_PI*2,target) && m_creature->GetDistance(target) <= SPOUT_DIST && !target->IsInWater()) + if(target && target->isAlive() && m_creature->HasInArc((double)diff/20000*(double)M_PI*2,target) && m_creature->IsWithinDist(target, SPOUT_DIST) && !target->IsInWater()) DoCast(target,SPELL_SPOUT,true);//only knock back palyers in arc, in 100yards, not in water } } diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/underbog/boss_the_black_stalker.cpp b/src/bindings/scripts/scripts/zone/coilfang_resevoir/underbog/boss_the_black_stalker.cpp index 62bcf62a2df..69d2c40318a 100644 --- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/underbog/boss_the_black_stalker.cpp +++ b/src/bindings/scripts/scripts/zone/coilfang_resevoir/underbog/boss_the_black_stalker.cpp @@ -99,7 +99,7 @@ struct TRINITY_DLL_DECL boss_the_black_stalkerAI : public ScriptedAI { float x,y,z,o; m_creature->GetHomePosition(x,y,z,o); - if(m_creature->GetDistance(x,y,z) > 60) + if(!m_creature->IsWithinDist3d(x,y,z, 60)) { EnterEvadeMode(); return; diff --git a/src/bindings/scripts/scripts/zone/eastern_plaguelands/the_scarlet_enclave.cpp b/src/bindings/scripts/scripts/zone/eastern_plaguelands/the_scarlet_enclave.cpp index e78a968230d..7780ef26ff0 100644 --- a/src/bindings/scripts/scripts/zone/eastern_plaguelands/the_scarlet_enclave.cpp +++ b/src/bindings/scripts/scripts/zone/eastern_plaguelands/the_scarlet_enclave.cpp @@ -267,7 +267,7 @@ void npc_unworthy_initiateAI::UpdateAI(const uint32 diff) temp_prison = m_creature->FindNearestGameObject(acherus_soul_prison[i],30); if(temp_prison) { - if(dist == 99.0f || dist > m_creature->GetDistance2d(temp_prison)) + if(dist == 99.0f || m_creature->IsWithinDist(temp_prison, dist, false)) { temp_prison->GetPosition(x, y, z); dist = m_creature->GetDistance2d(temp_prison); diff --git a/src/bindings/scripts/scripts/zone/gruuls_lair/boss_high_king_maulgar.cpp b/src/bindings/scripts/scripts/zone/gruuls_lair/boss_high_king_maulgar.cpp index 883f8d1ce35..ede59d50f53 100644 --- a/src/bindings/scripts/scripts/zone/gruuls_lair/boss_high_king_maulgar.cpp +++ b/src/bindings/scripts/scripts/zone/gruuls_lair/boss_high_king_maulgar.cpp @@ -683,7 +683,7 @@ struct TRINITY_DLL_DECL boss_krosh_firehandAI : public ScriptedAI } //GreaterFireball_Timer - if(GreaterFireball_Timer < diff || m_creature->GetDistance(m_creature->getVictim()) < 30) + if(GreaterFireball_Timer < diff || m_creature->IsWithinDist(m_creature->getVictim(), 30)) { DoCast(m_creature->getVictim(), SPELL_GREATER_FIREBALL); GreaterFireball_Timer = 2000; @@ -707,7 +707,7 @@ struct TRINITY_DLL_DECL boss_krosh_firehandAI : public ScriptedAI { target = Unit::GetUnit(*m_creature, (*itr)->getUnitGuid()); //15 yard radius minimum - if(target && target->GetDistance2d(m_creature) < 15) + if(target && target->IsWithinDist(m_creature, 15,false)) target_list.push_back(target); target = NULL; } diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/boss_vazruden_the_herald.cpp b/src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/boss_vazruden_the_herald.cpp index 72e614dbb1b..fd0c42b5a81 100644 --- a/src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/boss_vazruden_the_herald.cpp +++ b/src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/boss_vazruden_the_herald.cpp @@ -146,7 +146,7 @@ struct TRINITY_DLL_DECL boss_nazanAI : public ScriptedAI if(Turn_Timer < diff) { uint32 waypoint = (Fly_Timer/10000)%2; - if(m_creature->GetDistance(VazrudenRing[waypoint][0],VazrudenRing[waypoint][1],VazrudenRing[waypoint][2]) > 5) + if(m_creature->IsWithinDist3d(VazrudenRing[waypoint][0],VazrudenRing[waypoint][1],VazrudenRing[waypoint][2], 5)) m_creature->GetMotionMaster()->MovePoint(0,VazrudenRing[waypoint][0],VazrudenRing[waypoint][1],VazrudenRing[waypoint][2]); Turn_Timer = 10000; }else Turn_Timer -= diff; @@ -366,7 +366,7 @@ struct TRINITY_DLL_DECL boss_vazruden_the_heraldAI : public ScriptedAI case 1: // go to the middle and begin the fight if(check < diff) { - if(m_creature->GetDistance(VazrudenMiddle[0],VazrudenMiddle[1],VazrudenMiddle[2])>5) + if(!m_creature->IsWithinDist3d(VazrudenMiddle[0],VazrudenMiddle[1],VazrudenMiddle[2],5)) { m_creature->GetMotionMaster()->Clear(); m_creature->GetMotionMaster()->MovePoint(0,VazrudenMiddle[0],VazrudenMiddle[1],VazrudenMiddle[2]); diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_nethekurse.cpp b/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_nethekurse.cpp index ba59dbfe03a..808587ff274 100644 --- a/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_nethekurse.cpp +++ b/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_nethekurse.cpp @@ -327,7 +327,7 @@ struct TRINITY_DLL_DECL mob_fel_orc_convertAI : public ScriptedAI if (pInstance->GetData64(DATA_NETHEKURSE)) { Creature *pKurse = Unit::GetCreature(*m_creature,pInstance->GetData64(DATA_NETHEKURSE)); - if (pKurse && m_creature->GetDistance(pKurse) < 45.0f) + if (pKurse && m_creature->IsWithinDist(pKurse, 45.0f)) { CAST_AI(boss_grand_warlock_nethekurseAI, pKurse->AI())->DoYellForPeonAggro(); diff --git a/src/bindings/scripts/scripts/zone/karazhan/boss_midnight.cpp b/src/bindings/scripts/scripts/zone/karazhan/boss_midnight.cpp index bbfdcf0f862..ab40ad745ef 100644 --- a/src/bindings/scripts/scripts/zone/karazhan/boss_midnight.cpp +++ b/src/bindings/scripts/scripts/zone/karazhan/boss_midnight.cpp @@ -266,7 +266,7 @@ struct TRINITY_DLL_DECL boss_attumenAI : public ScriptedAI for(std::list<HostilReference *>::iterator itr = t_list.begin(); itr!= t_list.end(); ++itr) { target = Unit::GetUnit(*m_creature, (*itr)->getUnitGuid()); - if(target && target->GetDistance2d(m_creature) > 5) + if (target && !target->IsWithinDist(m_creature, ATTACK_DISTANCE, false)) target_list.push_back(target); target = NULL; } diff --git a/src/bindings/scripts/scripts/zone/karazhan/boss_shade_of_aran.cpp b/src/bindings/scripts/scripts/zone/karazhan/boss_shade_of_aran.cpp index 4f739520c8e..86f424e6892 100644 --- a/src/bindings/scripts/scripts/zone/karazhan/boss_shade_of_aran.cpp +++ b/src/bindings/scripts/scripts/zone/karazhan/boss_shade_of_aran.cpp @@ -483,7 +483,7 @@ struct TRINITY_DLL_DECL boss_aranAI : public ScriptedAI continue; Unit* pUnit = Unit::GetUnit(*m_creature, FlameWreathTarget[i]); - if (pUnit && pUnit->GetDistance2d(FWTargPosX[i], FWTargPosY[i]) > 3) + if (pUnit && !pUnit->IsWithinDist2d(FWTargPosX[i], FWTargPosY[i], 3)) { pUnit->CastSpell(pUnit, 20476, true, 0, 0, m_creature->GetGUID()); pUnit->CastSpell(pUnit, 11027, true); diff --git a/src/bindings/scripts/scripts/zone/magisters_terrace/boss_selin_fireheart.cpp b/src/bindings/scripts/scripts/zone/magisters_terrace/boss_selin_fireheart.cpp index 389b9e43887..44e01ef1a83 100644 --- a/src/bindings/scripts/scripts/zone/magisters_terrace/boss_selin_fireheart.cpp +++ b/src/bindings/scripts/scripts/zone/magisters_terrace/boss_selin_fireheart.cpp @@ -141,9 +141,9 @@ struct TRINITY_DLL_DECL boss_selin_fireheartAI : public ScriptedAI pCrystal = Unit::GetUnit(*m_creature, *itr); if (pCrystal && pCrystal->isAlive()) { - if (!ShortestDistance || (ShortestDistance > m_creature->GetDistance2d(pCrystal))) + // select nearest + if(!CrystalChosen || m_creature->GetDistanceOrder(pCrystal, CrystalChosen, false)) { - ShortestDistance = m_creature->GetDistance2d(pCrystal); CrystalGUID = pCrystal->GetGUID(); CrystalChosen = pCrystal; // Store a copy of pCrystal so we don't need to recreate a pointer to closest crystal for the movement and yell. } diff --git a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_headless_horseman.cpp b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_headless_horseman.cpp index 1afd4548701..3162faf8d63 100644 --- a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_headless_horseman.cpp +++ b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_headless_horseman.cpp @@ -176,7 +176,7 @@ struct TRINITY_DLL_DECL mob_wisp_invisAI : public ScriptedAI if (!who || Creaturetype != 1 || !who->isTargetableForAttack()) return; - if (m_creature->GetDistance2d(who) < 0.1 && !who->HasAura(SPELL_SQUASH_SOUL)) + if (m_creature->IsWithinDist(who, 0.1, false) && !who->HasAura(SPELL_SQUASH_SOUL)) DoCast(who,SPELL_SQUASH_SOUL); } diff --git a/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_muru.cpp b/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_muru.cpp index b81f602d7d3..5fac071128f 100644 --- a/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_muru.cpp +++ b/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_muru.cpp @@ -440,7 +440,7 @@ struct TRINITY_DLL_DECL npc_dark_fiendAI : public ScriptedAI InAction = true; WaitTimer = 500; }else{ - if(m_creature->GetDistance(m_creature->getVictim()) < 5){ + if(m_creature->IsWithinDist(m_creature->getVictim(), 5)){ DoCastAOE(SPELL_DARKFIEND_AOE, false); m_creature->DealDamage(m_creature, m_creature->GetMaxHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false); m_creature->RemoveCorpse(); diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_alar.cpp b/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_alar.cpp index ca04a00af95..bd68aaf0f6f 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_alar.cpp +++ b/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_alar.cpp @@ -270,8 +270,8 @@ struct TRINITY_DLL_DECL boss_alarAI : public ScriptedAI { m_creature->RemoveAurasDueToSpell(SPELL_DIVE_BOMB_VISUAL); m_creature->CastSpell(target, SPELL_DIVE_BOMB, true); - float dist = m_creature->GetDistance(target->GetPositionX(), target->GetPositionY(), target->GetPositionZ()); - if (dist < 5.0f) dist = 5.0f; + float dist; + if (m_creature->IsWithinDist3d(target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 5.0f)) dist = 5.0f; WaitTimer = 1000 + floor(dist / 80 * 1000.0f); m_creature->Relocate(target->GetPositionX(), target->GetPositionY(), target->GetPositionZ()); m_creature->StopMoving(); diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_void_reaver.cpp b/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_void_reaver.cpp index 2fd4a5d65f0..61286347b83 100644 --- a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_void_reaver.cpp +++ b/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_void_reaver.cpp @@ -120,7 +120,7 @@ struct TRINITY_DLL_DECL boss_void_reaverAI : public ScriptedAI { target = Unit::GetUnit(*m_creature, (*itr)->getUnitGuid()); //18 yard radius minimum - if(target && target->GetTypeId() == TYPEID_PLAYER && target->isAlive() && target->GetDistance2d(m_creature) >= 18) + if(target && target->GetTypeId() == TYPEID_PLAYER && target->isAlive() && !target->IsWithinDist(m_creature, 18, false)) target_list.push_back(target); target = NULL; } diff --git a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_cthun.cpp b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_cthun.cpp index aeb44a7bc3d..695c347a554 100644 --- a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_cthun.cpp +++ b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_cthun.cpp @@ -708,7 +708,7 @@ struct TRINITY_DLL_DECL cthunAI : public Scripted_NoMovementAI DoCast(pUnit, SPELL_DIGESTIVE_ACID, true); //Check if player should be kicked from stomach - if (pUnit->GetDistance(KICK_X, KICK_Y, KICK_Z) < 15) + if (pUnit->IsWithinDist3d(KICK_X, KICK_Y, KICK_Z, 15.0f)) { //Teleport each player out DoTeleportPlayer(pUnit, m_creature->GetPositionX(), m_creature->GetPositionY(), m_creature->GetPositionZ()+10, rand()%6); diff --git a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_twinemperors.cpp b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_twinemperors.cpp index a59bf88abfd..3089f3267c8 100644 --- a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_twinemperors.cpp +++ b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_twinemperors.cpp @@ -197,7 +197,7 @@ struct TRINITY_DLL_DECL boss_twinemperorsAI : public ScriptedAI if (Heal_Timer < diff) { Unit *pOtherBoss = GetOtherBoss(); - if (pOtherBoss && (pOtherBoss->GetDistance(m_creature) <= 60)) + if (pOtherBoss && pOtherBoss->IsWithinDist(m_creature,60)) { DoCast(pOtherBoss, SPELL_HEAL_BROTHER); Heal_Timer = 1000; @@ -552,7 +552,7 @@ struct TRINITY_DLL_DECL boss_veklorAI : public boss_twinemperorsAI //ShadowBolt_Timer if (ShadowBolt_Timer < diff) { - if (m_creature->GetDistance(m_creature->getVictim()) > 45) + if (!m_creature->IsWithinDist(m_creature->getVictim(), 45.0f)) m_creature->GetMotionMaster()->MoveChase(m_creature->getVictim(), VEKLOR_DIST, 0); else DoCast(m_creature->getVictim(),SPELL_SHADOWBOLT); diff --git a/src/bindings/scripts/scripts/zone/utgarde_keep/utgarde_keep/utgarde_keep.cpp b/src/bindings/scripts/scripts/zone/utgarde_keep/utgarde_keep/utgarde_keep.cpp index 45b4b802c9c..32c61d92c13 100644 --- a/src/bindings/scripts/scripts/zone/utgarde_keep/utgarde_keep/utgarde_keep.cpp +++ b/src/bindings/scripts/scripts/zone/utgarde_keep/utgarde_keep/utgarde_keep.cpp @@ -114,7 +114,7 @@ struct TRINITY_DLL_DECL npc_dragonflayer_forge_masterAI : public ScriptedAI temp = m_creature->FindNearestGameObject(entry_search[i],30); if(temp) { - if(diff > m_creature->GetDistance2d(temp)) + if(m_creature->IsWithinDist(temp,diff,false)) { near_f = i + 1; diff = m_creature->GetDistance2d(temp); diff --git a/src/bindings/scripts/scripts/zone/zulaman/boss_akilzon.cpp b/src/bindings/scripts/scripts/zone/zulaman/boss_akilzon.cpp index 3d1895351d6..4ff7665827e 100644 --- a/src/bindings/scripts/scripts/zone/zulaman/boss_akilzon.cpp +++ b/src/bindings/scripts/scripts/zone/zulaman/boss_akilzon.cpp @@ -199,7 +199,7 @@ struct TRINITY_DLL_DECL boss_akilzonAI : public ScriptedAI //dealdamege for(std::list<Unit*>::iterator i = tempUnitMap.begin(); i != tempUnitMap.end(); ++i) { - if(Cloud->GetDistance2d(*i)>= 6) + if(!Cloud->IsWithinDist(*i, 6, false)) { Cloud->CastCustomSpell(*i, 43137, &bp0, NULL, NULL, true, 0, 0, m_creature->GetGUID()); } @@ -274,8 +274,7 @@ struct TRINITY_DLL_DECL boss_akilzonAI : public ScriptedAI m_creature->SetInFront(m_creature->getVictim()); StaticDisruption_Timer = (10+rand()%8)*1000; // < 20s - /*float dist = m_creature->GetDistance(target->GetPositionX(), target->GetPositionY(), target->GetPositionZ()); - if (dist < 5.0f) dist = 5.0f; + /*if(float dist = m_creature->IsWithinDist3d(target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 5.0f) dist = 5.0f; SDisruptAOEVisual_Timer = 1000 + floor(dist / 30 * 1000.0f);*/ }else StaticDisruption_Timer -= diff; diff --git a/src/bindings/scripts/scripts/zone/zulaman/boss_hexlord.cpp b/src/bindings/scripts/scripts/zone/zulaman/boss_hexlord.cpp index 0554f829785..2b8f52a9f67 100644 --- a/src/bindings/scripts/scripts/zone/zulaman/boss_hexlord.cpp +++ b/src/bindings/scripts/scripts/zone/zulaman/boss_hexlord.cpp @@ -339,7 +339,7 @@ struct TRINITY_DLL_DECL boss_hex_lord_malacrassAI : public ScriptedAI if(ResetTimer < diff) { - if(m_creature->GetDistance(119.223,1035.45,29.4481) <= 10) + if(m_creature->IsWithinDist3d(119.223,1035.45,29.4481, 10)) { EnterEvadeMode(); return; |