public override void HandleEffect(AuraApplication auraApplication, AuraEffectHandleMode mode, bool apply) { base.HandleEffect(auraApplication, mode, apply); if (mode != AuraEffectHandleMode.Normal) { return; } if (apply) { auraApplication.Target.StealthSubtlety += (int)EffectInfo.Value; } else { auraApplication.Target.StealthSubtlety -= (int)EffectInfo.Value; } bool hasStealthAura = auraApplication.Target.Auras.HasAuraType(AuraEffectType.Stealth); UnitVisualEffectFlags visualEffectFlags = auraApplication.Target.Attributes.VisualEffectFlags; auraApplication.Target.Attributes.VisualEffectFlags = visualEffectFlags.SetFlag(UnitVisualEffectFlags.StealthTransparency, hasStealthAura); auraApplication.Target.UpdateVisibility(true); }
public static bool HasAnyFlag(this UnitVisualEffectFlags baseFlags, UnitVisualEffectFlags flag) { return((baseFlags & flag) != 0); }
public static UnitVisualEffectFlags SetFlag(this UnitVisualEffectFlags baseFlags, UnitVisualEffectFlags flag, bool set) { return(set ? baseFlags | flag : baseFlags& ~flag); }
public static bool HasTargetFlag(this UnitVisualEffectFlags baseFlags, UnitVisualEffectFlags flag) { return((baseFlags & flag) == flag); }