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

@@ -101,7 +101,7 @@ public:
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
switch (events.GetEvent())
switch (events.ExecuteEvent())
{
case EVENT_ROCK_SHARDS:
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
@@ -127,12 +127,10 @@ public:
}
case EVENT_IMPALE:
me->CastSpell(me->GetVictim(), RAID_MODE(SPELL_IMPALE_10, SPELL_IMPALE_25), false);
events.PopEvent();
break;
case EVENT_BERSERK:
me->CastSpell(me, SPELL_BERSERK, true);
Talk(EMOTE_BERSERK);
events.PopEvent();
break;
default:
break;

View File

@@ -153,7 +153,7 @@ public:
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
switch (events.GetEvent())
switch (events.ExecuteEvent())
{
case EVENT_CHAIN_LIGHTNING:
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
@@ -176,7 +176,6 @@ public:
break;
case EVENT_SUMMON_NEXT_MINION:
me->SummonCreature(NPC_TEMPEST_MINION, TempestMinions[urand(0, 3)], TEMPSUMMON_CORPSE_DESPAWN, 0);
events.PopEvent();
break;
default:
break;

View File

@@ -121,7 +121,7 @@ public:
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
switch (events.GetEvent())
switch (events.ExecuteEvent())
{
case EVENT_BURNING_BREATH:
rotateTimer = 1500;

View File

@@ -116,8 +116,6 @@ public:
void UpdateAI(uint32 diff)
{
if (!UpdateVictim())
return;
@@ -125,7 +123,7 @@ public:
if (me->HasUnitState(UNIT_STATE_CASTING))
return;
switch (events.GetEvent())
switch (events.ExecuteEvent())
{
case EVENT_FREEZING_GROUND:
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
@@ -144,7 +142,6 @@ public:
case EVENT_CAST_WHITEOUT_GROUND_EFFECT: // Whiteout Ground effect trigger
if (Unit* whiteOutGround = me->SummonCreature(NPC_WHITEOUT_GROUND_EFFECT, -43.3316, -288.708, 92.2511, 1.58825, TEMPSUMMON_TIMED_DESPAWN, 4000))
whiteOutGround->CastSpell(whiteOutGround, SPELL_WHITEOUT_VISUAL, false); // Cast the spell
events.PopEvent();
break;
}