diff options
| author | Blaymoira <none@none> | 2008-12-24 23:17:21 +0100 | 
|---|---|---|
| committer | Blaymoira <none@none> | 2008-12-24 23:17:21 +0100 | 
| commit | 2ee522023fbb0b417017c7d7e7e8ea7736154330 (patch) | |
| tree | 2e3dd8d29db4af2e0ef10e843e6870ccb0823114 | |
| parent | 5e4f83483488d324f07f40f36fb6453394f133df (diff) | |
*Changed distance check in Nalorakk script
--HG--
branch : trunk
| -rw-r--r-- | src/bindings/scripts/scripts/zone/zulaman/boss_nalorakk.cpp | 22 | 
1 files changed, 16 insertions, 6 deletions
| diff --git a/src/bindings/scripts/scripts/zone/zulaman/boss_nalorakk.cpp b/src/bindings/scripts/scripts/zone/zulaman/boss_nalorakk.cpp index b804502033b..44e68f0dfbf 100644 --- a/src/bindings/scripts/scripts/zone/zulaman/boss_nalorakk.cpp +++ b/src/bindings/scripts/scripts/zone/zulaman/boss_nalorakk.cpp @@ -435,20 +435,30 @@ struct TRINITY_DLL_DECL boss_nalorakkAI : public ScriptedAI                  DoYell(YELL_SURGE, LANG_UNIVERSAL, NULL);                  DoPlaySoundToSet(m_creature, SOUND_YELL_SURGE); -                Unit *target = SelectUnit(SELECT_TARGET_RANDOM, 1); +                Unit *target = NULL; +				std::list<HostilReference *> t_list = m_creature->getThreatManager().getThreatList(); +				std::vector<Unit *> target_list; +				for(std::list<HostilReference *>::iterator itr = t_list.begin(); itr!= t_list.end(); ++itr) +				{ +					target = Unit::GetUnit(*m_creature, (*itr)->getUnitGuid()); +					//50 yard radius maximum +					if(target && target->GetDistance2d(m_creature) < 50) +						target_list.push_back(target); +					target = NULL; +				} +				if(target_list.size()) +					target = *(target_list.begin()+rand()%target_list.size()); +  				if(!target)  					target = m_creature->getVictim();                  TankGUID = m_creature->getVictim()->GetGUID();                  ChargeTargetGUID = target->GetGUID(); - -				if(target && m_creature->IsWithinDistInMap(target, 50.0f)) -				{ +			  					float x, y, z;  					target->GetContactPoint(m_creature, x, y, z);  					m_creature->SetSpeed(MOVE_RUN, 5.0f);  					m_creature->GetMotionMaster()->Clear(); -					m_creature->GetMotionMaster()->MovePoint(0, x, y, z); -				} +					m_creature->GetMotionMaster()->MovePoint(0, x, y, z);			                  Surge_Timer = 15000 + rand()%5000;                  return; | 
