aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/World/boss_emerald_dragons.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/server/scripts/World/boss_emerald_dragons.cpp b/src/server/scripts/World/boss_emerald_dragons.cpp
index af45b2ee66e..867eaf61559 100644
--- a/src/server/scripts/World/boss_emerald_dragons.cpp
+++ b/src/server/scripts/World/boss_emerald_dragons.cpp
@@ -159,11 +159,9 @@ struct emerald_dragonAI : public WorldBossAI
ExecuteEvent(eventId);
std::list<HostileReference*> threats = me->getThreatManager().getThreatList();
- std::list<HostileReference*>::const_iterator victim = threats.begin();
- if (Unit* target = (*victim)->getTarget())
- if (target->GetTypeId() == TYPEID_PLAYER)
- if (me->GetDistance(target) > 20.0f)
- DoCast(target, SPELL_SUMMON_PLAYER, true);
+ if (Unit* target = threats.front()->getTarget())
+ if ((target->GetTypeId() == TYPEID_PLAYER) && (me->GetDistance(target) > 20.0f))
+ DoCast(target, SPELL_SUMMON_PLAYER);
DoMeleeAttackIfReady();
}
@@ -203,11 +201,13 @@ class npc_dream_fog : public CreatureScript
if (target)
{
_roamTimer = urand(15000, 30000);
+ me->GetMotionMaster()->Clear(false);
me->GetMotionMaster()->MoveChase(target, 0.1f);
}
else
{
_roamTimer = 2500;
+ me->GetMotionMaster()->Clear(false);
me->GetMotionMaster()->MoveRandom(25.0f);
}
me->AddUnitMovementFlag(MOVEMENTFLAG_WALKING);
@@ -431,7 +431,7 @@ class npc_demented_druid : public CreatureScript
_events.ScheduleEvent(EVENT_DRUID_SILENCE, urand(15000,20000));
break;
case EVENT_DRUID_CURSE_OF_THORNS:
- DoCastVictim(SPELL_SILENCE);
+ DoCast(me, SPELL_CURSE_OF_THORNS, true);
_events.ScheduleEvent(EVENT_DRUID_CURSE_OF_THORNS, urand(15000,20000));
break;
}