Scripts/Icecrown Citadel: Fixed possible exploits in Deathbringer Saurfang's script

--HG--
branch : trunk
This commit is contained in:
Shauren
2010-11-26 22:46:09 +01:00
parent c628685d59
commit eb0a5467c2
2 changed files with 9 additions and 5 deletions
@@ -257,6 +257,7 @@ class boss_deathbringer_saurfang : public CreatureScript
void Reset() void Reset()
{ {
me->SetReactState(REACT_DEFENSIVE);
events.Reset(); events.Reset();
events.SetPhase(PHASE_COMBAT); events.SetPhase(PHASE_COMBAT);
frenzy = false; frenzy = false;
@@ -274,6 +275,11 @@ class boss_deathbringer_saurfang : public CreatureScript
void EnterCombat(Unit* /*who*/) void EnterCombat(Unit* /*who*/)
{ {
// oh just screw intro, enter combat - no exploits please
events.SetPhase(PHASE_COMBAT);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
introDone = true;
Talk(SAY_AGGRO); Talk(SAY_AGGRO);
events.ScheduleEvent(EVENT_SUMMON_BLOOD_BEAST, 30000, 0, PHASE_COMBAT); events.ScheduleEvent(EVENT_SUMMON_BLOOD_BEAST, 30000, 0, PHASE_COMBAT);
events.ScheduleEvent(EVENT_BERSERK, 480000, 0, PHASE_COMBAT); events.ScheduleEvent(EVENT_BERSERK, 480000, 0, PHASE_COMBAT);
@@ -297,11 +303,6 @@ class boss_deathbringer_saurfang : public CreatureScript
creature->AI()->DoAction(ACTION_START_OUTRO); creature->AI()->DoAction(ACTION_START_OUTRO);
} }
void MoveInLineOfSight(Unit* /*who*/)
{
// not calling CreatureAI::MoveInLineOfSight to prevent entering combat
}
void AttackStart(Unit* victim) void AttackStart(Unit* victim)
{ {
if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE)) if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE))
@@ -179,6 +179,7 @@ class boss_lady_deathwhisper : public CreatureScript
void Reset() void Reset()
{ {
me->SetReactState(REACT_DEFENSIVE);
me->SetPower(POWER_MANA, me->GetMaxPower(POWER_MANA)); me->SetPower(POWER_MANA, me->GetMaxPower(POWER_MANA));
me->SetLastManaUse(0xFFFFFFFF); // hacky, but no other way atm to prevent mana regen me->SetLastManaUse(0xFFFFFFFF); // hacky, but no other way atm to prevent mana regen
events.Reset(); events.Reset();
@@ -209,6 +210,8 @@ class boss_lady_deathwhisper : public CreatureScript
events.ScheduleEvent(EVENT_INTRO_7, 58000, 0, PHASE_INTRO); events.ScheduleEvent(EVENT_INTRO_7, 58000, 0, PHASE_INTRO);
events.ScheduleEvent(EVENT_INTRO_FINISH, 76000, 0, PHASE_INTRO); events.ScheduleEvent(EVENT_INTRO_FINISH, 76000, 0, PHASE_INTRO);
} }
BossAI::MoveInLineOfSight(who);
} }
void AttackStart(Unit* victim) void AttackStart(Unit* victim)