fix(Core/Util): EventMap::RepeatEvent when eventId is retrieved by ExecuteEvent() call (#3426)

This commit is contained in:
Andrius Peleckas
2020-10-17 15:59:22 +03:00
committed by GitHub
parent 32da0eeb9e
commit ab5933effa
131 changed files with 558 additions and 1012 deletions

View File

@@ -212,15 +212,13 @@ public:
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
switch (events.GetEvent())
switch (events.ExecuteEvent())
{
case EVENT_DIREBREW_RESPAWN1:
SummonSister(NPC_ILSA_DIREBREW);
events.PopEvent();
break;
case EVENT_DIREBREW_RESPAWN2:
SummonSister(NPC_URSULA_DIREBREW);
events.PopEvent();
break;
case EVENT_DIREBREW_DISARM:
me->CastSpell(me->GetVictim(), SPELL_DIREBREW_DISARM, false);
@@ -235,7 +233,6 @@ public:
}
if (me->GetHealthPct() < 35 && phase == 1)
{
events.PopEvent();
SummonSister(NPC_URSULA_DIREBREW);
return;
}
@@ -325,7 +322,7 @@ public:
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
switch (events.GetEvent())
switch (events.ExecuteEvent())
{
case EVENT_SISTERS_BARREL:
me->CastSpell(me->GetVictim(), SPELL_BARRELED, false);
@@ -703,7 +700,7 @@ public:
void UpdateAI(uint32 diff)
{
events.Update(diff);
switch (events.GetEvent())
switch (events.ExecuteEvent())
{
case EVENT_CHECK_HOUR:
{
@@ -744,7 +741,6 @@ public:
{
events.CancelEvent(EVENT_SPAWN_MOLE_MACHINE);
events.ScheduleEvent(EVENT_FINISH_ATTACK, 20000);
events.PopEvent();
break;
}
case EVENT_FINISH_ATTACK:

View File

@@ -679,18 +679,16 @@ public:
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
switch (events.GetEvent())
switch (events.ExecuteEvent())
{
case 1:
me->MonsterYell("Prepare yourselves, the bells have tolled! Shelter your weak, your young and your old! Each of you shall pay the final sum! Cry for mercy; the reckoning has come!", LANG_UNIVERSAL, 0);
me->PlayDirectSound(11966);
events.PopEvent();
break;
case 2:
{
if (Unit* trigger = getTrigger())
me->CastSpell(trigger, SPELL_START_FIRE, true);
events.PopEvent();
break;
}
case 3:
@@ -710,7 +708,6 @@ public:
}
FinishEvent(failed);
events.PopEvent();
}
return;
}
@@ -1103,7 +1100,7 @@ public:
if (inFight && !UpdateVictim())
return;
switch (events.GetEvent())
switch (events.ExecuteEvent())
{
case EVENT_HH_PLAYER_TALK:
{
@@ -1132,7 +1129,6 @@ public:
case 4:
me->CastSpell(me, SPELL_SHAKE_CAMERA_MEDIUM, true);
player->MonsterSay("Now, know demise!", LANG_UNIVERSAL, 0);
events.PopEvent();
talkCount = 0;
return; // pop and return, skip repeat
}
@@ -1147,7 +1143,6 @@ public:
AttackStart(player);
me->GetMotionMaster()->MoveChase(player);
}
events.PopEvent();
break;
}
case EVENT_HORSEMAN_CLEAVE:
@@ -1173,7 +1168,6 @@ public:
if (me->GetHealth() == me->GetMaxHealth())
{
me->CastSpell(me, SPELL_BODY_RESTORED_INFO, true);
events.PopEvent();
return;
}

View File

@@ -371,20 +371,20 @@ public:
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
switch (events.GetEvent())
switch (events.ExecuteEvent())
{
case EVENT_CALL_BAXTER:
{
EntryCheckPredicate pred(NPC_APOTHECARY_BAXTER);
summons.DoAction(ACTION_RELEASE_HELPER, pred);
events.PopEvent();
break;
}
case EVENT_CALL_FRYE:
{
EntryCheckPredicate pred(NPC_APOTHECARY_FRYE);
summons.DoAction(ACTION_RELEASE_HELPER, pred);
events.PopEvent();
break;
}
case EVENT_SPELL_PERFUME_SPRAY:
@@ -455,7 +455,6 @@ public:
void JustDied(Unit* ) { me->MonsterSay("...please don't think less of me.", LANG_UNIVERSAL, 0); }
void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
@@ -465,7 +464,7 @@ public:
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
switch (events.GetEvent())
switch (events.ExecuteEvent())
{
case EVENT_SPELL_PERFUME_SPRAY:
me->CastSpell(me->GetVictim(), SPELL_COLOGNE_SPRAY, false);