fix(Core/Creatures): Properly reset encounter if boss despawns on evade. (#11251)

Fixes #8167
This commit is contained in:
UltraNix
2022-04-02 16:46:27 +02:00
committed by GitHub
parent 23e4dc9503
commit ff654397e8
2 changed files with 6 additions and 20 deletions

View File

@@ -219,6 +219,12 @@ void CreatureAI::EnterEvadeMode()
}
}
Reset();
if (me->IsVehicle()) // use the same sequence of addtoworld, aireset may remove all summons!
{
me->GetVehicleKit()->Reset(true);
}
// despawn bosses at reset - only verified tbc/woltk bosses with this reset type - add bosses in last line respectively (dungeon/raid) and increase array limit
CreatureTemplate const* cInfo = sObjectMgr->GetCreatureTemplate(me->GetEntry());
if (cInfo && cInfo->HasFlagsExtra(CREATURE_FLAG_EXTRA_HARD_RESET))
@@ -226,14 +232,6 @@ void CreatureAI::EnterEvadeMode()
me->DespawnOnEvade();
me->m_Events.AddEvent(new PhasedRespawn(*me), me->m_Events.CalculateTime(20000));
}
else // bosses will run back to the spawnpoint at reset
{
Reset();
if (me->IsVehicle()) // use the same sequence of addtoworld, aireset may remove all summons!
{
me->GetVehicleKit()->Reset(true);
}
}
}
/*void CreatureAI::AttackedBy(Unit* attacker)