fix(Scripts/Scholomance): Kirtonos the Herald event now starts correctly again (#15131)
This commit is contained in:
parent
abedfe245f
commit
a76c07698c
3 changed files with 23 additions and 11 deletions
|
|
@ -0,0 +1,3 @@
|
|||
-- add NO_MOVEMENT_UPDATE flag
|
||||
|
||||
UPDATE `creature_template` SET `flags_extra` = 512 WHERE (`entry` = 10506);
|
||||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue