diff --git a/Source/Game/Entities/Player/Player.Combat.cs b/Source/Game/Entities/Player/Player.Combat.cs index 48f1a2af8..dd66add4b 100644 --- a/Source/Game/Entities/Player/Player.Combat.cs +++ b/Source/Game/Entities/Player/Player.Combat.cs @@ -631,7 +631,7 @@ namespace Game.Entities // @todo should we always synchronize UNIT_FIELD_BYTES_2, 1 of controller and controlled? // no, we shouldn't, those are checked for affecting player by client if (!pvpInfo.IsInNoPvPArea && !IsGameMaster() - && (pvpInfo.IsInFFAPvPArea || Global.WorldMgr.IsFFAPvPRealm())) + && (pvpInfo.IsInFFAPvPArea || Global.WorldMgr.IsFFAPvPRealm() || HasAuraType(AuraType.SetFFAPvp))) { if (!IsFFAPvP()) { diff --git a/Source/Game/Spells/Auras/AuraEffect.cs b/Source/Game/Spells/Auras/AuraEffect.cs index e0835ed65..7b415076f 100644 --- a/Source/Game/Spells/Auras/AuraEffect.cs +++ b/Source/Game/Spells/Auras/AuraEffect.cs @@ -6065,6 +6065,19 @@ namespace Game.Spells } } + [AuraEffectHandler(AuraType.SetFFAPvp)] + void HandleSetFFAPvP(AuraApplication aurApp, AuraEffectHandleModes mode, bool apply) + { + if (!mode.HasAnyFlag(AuraEffectHandleModes.Real)) + return; + + Player target = aurApp.GetTarget().ToPlayer(); + if (!target) + return; + + target.UpdatePvPState(true); + } + [AuraEffectHandler(AuraType.ModOverrideZonePvpType)] void HandleModOverrideZonePVPType(AuraApplication aurApp, AuraEffectHandleModes mode, bool apply) {