Core/Auras: Implement SpellAuraInterruptFlags2::EndOfEncounter

Port From (https://github.com/TrinityCore/TrinityCore/commit/998ee363c5e41141da158ea39c0dae0814967fba)
This commit is contained in:
hondacrx
2023-05-21 17:19:33 -04:00
parent fd377ebc0d
commit f670656393
3 changed files with 11 additions and 0 deletions
@@ -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
+5
View File
@@ -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;