diff options
| author | Shauren <shauren.trinity@gmail.com> | 2024-05-22 16:35:43 +0200 |
|---|---|---|
| committer | Ovahlord <dreadkiller@gmx.de> | 2024-05-28 17:12:18 +0200 |
| commit | 27d1749e2fa9a0e862c8a1be135139cd9f2d2ecb (patch) | |
| tree | 6632d91d9d682527b1e75500e201a8d8e62c27c3 /src/server/game/Entities | |
| parent | 18c0aa6f48256017c1fffdcb291d41d4ae8fc231 (diff) | |
Core/Auras: Corrected implementation of dungeon encounter related interrupt flags
(cherry picked from commit e4e6eccdf592cd0760c780d485c439f121e06d4c)
Diffstat (limited to 'src/server/game/Entities')
| -rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 45e85c5677b..f03dcdc85f7 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -538,15 +538,20 @@ void Unit::MonsterMoveWithSpeed(float x, float y, float z, float speed, bool gen void Unit::AtStartOfEncounter(EncounterType type) { - RemoveAurasWithInterruptFlags(SpellAuraInterruptFlags2::StartOfEncounter); - switch (type) { case EncounterType::DungeonEncounter: - RemoveAurasWithInterruptFlags(SpellAuraInterruptFlags2::StartOfDungeonEncounter); + if (GetMap()->IsRaid()) + RemoveAurasWithInterruptFlags(SpellAuraInterruptFlags2::StartOfRaidEncounterAndStartOfMythicPlus); + RemoveAurasWithInterruptFlags(SpellAuraInterruptFlags2::StartOfEncounter); break; case EncounterType::MythicPlusRun: - RemoveAurasWithInterruptFlags(SpellAuraInterruptFlags2::StartOfMythicPlusRun); + RemoveAurasWithInterruptFlags(SpellAuraInterruptFlags2::StartOfRaidEncounterAndStartOfMythicPlus); + RemoveAurasWithInterruptFlags(SpellAuraInterruptFlags2::EndOfRaidEncounterAndStartOfMythicPlus); + RemoveAurasWithInterruptFlags(SpellAuraInterruptFlags2::ChallengeModeStart); + break; + case EncounterType::Battleground: + RemoveAurasWithInterruptFlags(SpellAuraInterruptFlags2::StartOfRaidEncounterAndStartOfMythicPlus); break; default: break; @@ -558,12 +563,12 @@ void Unit::AtStartOfEncounter(EncounterType type) void Unit::AtEndOfEncounter(EncounterType type) { - RemoveAurasWithInterruptFlags(SpellAuraInterruptFlags2::EndOfEncounter); - switch (type) { case EncounterType::DungeonEncounter: - RemoveAurasWithInterruptFlags(SpellAuraInterruptFlags2::EndOfDungeonEncounter); + if (GetMap()->IsRaid()) + RemoveAurasWithInterruptFlags(SpellAuraInterruptFlags2::EndOfRaidEncounterAndStartOfMythicPlus); + RemoveAurasWithInterruptFlags(SpellAuraInterruptFlags2::EndOfEncounter); break; default: break; |
