Scripts/ICC: Professor Putricide no longer tries to add threat on units it cannot add threat on because of immunity flags. Instead, its AI manually controls the engagement state. Should close #23727.

This commit is contained in:
Treeston
2019-08-30 01:04:11 +02:00
parent 92d83c3c2e
commit 23fd193e4e

View File

@@ -254,14 +254,6 @@ class boss_professor_putricide : public CreatureScript
}
}
void EnterEvadeMode(EvadeReason why = EVADE_REASON_OTHER) override
{
if (why == EVADE_REASON_BOUNDARY && (events.IsInPhase(PHASE_ROTFACE) || events.IsInPhase(PHASE_FESTERGUT)))
return;
BossAI::EnterEvadeMode(why);
}
void JustEngagedWith(Unit* who) override
{
if (events.IsInPhase(PHASE_ROTFACE) || events.IsInPhase(PHASE_FESTERGUT))
@@ -439,7 +431,7 @@ class boss_professor_putricide : public CreatureScript
me->SetSpeedRate(MOVE_RUN, _baseSpeed*2.0f);
me->GetMotionMaster()->MovePoint(POINT_FESTERGUT, festergutWatchPos);
me->SetReactState(REACT_PASSIVE);
DoZoneInCombat(me);
EngagementStart(nullptr);
if (IsHeroic())
events.ScheduleEvent(EVENT_FESTERGUT_GOO, urand(13000, 18000), 0, PHASE_FESTERGUT);
break;
@@ -455,8 +447,8 @@ class boss_professor_putricide : public CreatureScript
me->SetSpeedRate(MOVE_RUN, _baseSpeed*2.0f);
me->GetMotionMaster()->MovePoint(POINT_ROTFACE, rotfaceWatchPos);
me->SetReactState(REACT_PASSIVE);
EngagementStart(nullptr);
_oozeFloodStage = 0;
DoZoneInCombat(me);
// init random sequence of floods
if (Creature* rotface = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_ROTFACE)))
{
@@ -716,19 +708,6 @@ class boss_professor_putricide : public CreatureScript
{
_phase = newPhase;
events.SetPhase(newPhase);
switch (newPhase)
{
case PHASE_FESTERGUT:
SetBoundary(instance->GetBossBoundary(DATA_FESTERGUT));
break;
case PHASE_ROTFACE:
SetBoundary(instance->GetBossBoundary(DATA_ROTFACE));
break;
default:
SetBoundary(instance->GetBossBoundary(DATA_PROFESSOR_PUTRICIDE));
break;
}
}
ObjectGuid _oozeFloodDummyGUIDs[4];