mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-02-17 17:24:33 +00:00
fix(Core/Util): EventMap::RepeatEvent when eventId is retrieved by ExecuteEvent() call (#3426)
This commit is contained in:
@@ -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:
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user