Core/Auras: Implement SpellAuraInterruptFlags2::EndOfEncounter
Port From (https://github.com/TrinityCore/TrinityCore/commit/998ee363c5e41141da158ea39c0dae0814967fba)
This commit is contained in:
@@ -852,6 +852,8 @@ namespace Game.BattleGrounds
|
||||
player.RemoveAura(BattlegroundConst.SpellMercenaryShapeshift);
|
||||
player.RemovePlayerFlagEx(PlayerFlagsEx.MercenaryMode);
|
||||
|
||||
player.AtEndOfEncounter();
|
||||
|
||||
player.RemoveAurasWithInterruptFlags(SpellAuraInterruptFlags2.LeaveArenaOrBattleground);
|
||||
|
||||
if (!player.IsAlive()) // resurrect on exit
|
||||
|
||||
@@ -591,6 +591,11 @@ namespace Game.Entities
|
||||
Unit.ProcSkillsAndAuras(this, null, new ProcFlagsInit(ProcFlags.EncounterStart), new ProcFlagsInit(), ProcFlagsSpellType.MaskAll, ProcFlagsSpellPhase.None, ProcFlagsHit.None, null, null, null);
|
||||
}
|
||||
|
||||
void AtEndOfEncounter()
|
||||
{
|
||||
RemoveAurasWithInterruptFlags(SpellAuraInterruptFlags2.EndOfEncounter);
|
||||
}
|
||||
|
||||
public void _RegisterDynObject(DynamicObject dynObj)
|
||||
{
|
||||
m_dynObj.Add(dynObj);
|
||||
|
||||
@@ -372,6 +372,8 @@ namespace Game.Maps
|
||||
case EncounterState.Fail:
|
||||
ResetCombatResurrections();
|
||||
SendEncounterEnd();
|
||||
|
||||
instance.DoOnPlayers(player => player.AtEndOfEncounter());
|
||||
break;
|
||||
case EncounterState.Done:
|
||||
ResetCombatResurrections();
|
||||
@@ -382,6 +384,8 @@ namespace Game.Maps
|
||||
DoUpdateCriteria(CriteriaType.DefeatDungeonEncounter, dungeonEncounter.Id);
|
||||
SendBossKillCredit(dungeonEncounter.Id);
|
||||
}
|
||||
|
||||
instance.DoOnPlayers(player => player.AtEndOfEncounter());
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user