fix(Scripts/Scholomance): Kirtonos the Herald event now starts correctly again (#15131)

This commit is contained in:
patou01
2023-02-19 19:39:02 +01:00
committed by GitHub
parent abedfe245f
commit a76c07698c
3 changed files with 23 additions and 11 deletions

View File

@@ -106,16 +106,6 @@ public:
me->DespawnOrUnsummon(1);
}
void IsSummonedBy(WorldObject* /*summoner*/) override
{
events2.Reset();
events2.ScheduleEvent(INTRO_1, 1s);
me->SetDisableGravity(true);
me->SetReactState(REACT_PASSIVE);
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
me->SetImmuneToAll(true); // for some reason he aggroes if we don't have this.
}
void MovementInform(uint32 type, uint32 id) override
{
if (type == WAYPOINT_MOTION_TYPE && id == POINT_KIRTONOS_LAND)
@@ -128,6 +118,21 @@ public:
}
}
void DoAction(int32 action) override
{
if (action == IN_PROGRESS)
{
events2.Reset();
events2.ScheduleEvent(INTRO_1, 1s);
me->SetCanFly(true);
me->SetDisableGravity(true);
me->SendMovementFlagUpdate();
me->SetReactState(REACT_PASSIVE);
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
me->SetImmuneToAll(true); // for some reason he aggroes if we don't have this.
}
}
void UpdateAI(uint32 diff) override
{
events2.Update(diff);
@@ -148,6 +153,7 @@ public:
me->SetCanFly(false);
me->SetDisableGravity(false);
me->CastSpell(me, SPELL_KIRTONOS_TRANSFORM, true);
me->SendMovementFlagUpdate();
break;
case INTRO_5:
me->HandleEmoteCommand(EMOTE_ONESHOT_ROAR);

View File

@@ -131,7 +131,10 @@ public:
// summon kirtonos and close door
if (_kirtonosState == NOT_STARTED)
{
instance->SummonCreature(NPC_KIRTONOS, KirtonosSpawn);
if (Creature* kirtonos = instance->SummonCreature(NPC_KIRTONOS, KirtonosSpawn))
{
kirtonos->AI()->DoAction(IN_PROGRESS);
}
if (GameObject* gate = instance->GetGameObject(GetGuidData(GO_GATE_KIRTONOS)))
{
gate->SetGoState(GO_STATE_READY);