Пример #1
0
        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);
        }
Пример #2
0
 public static bool HasAnyFlag(this UnitVisualEffectFlags baseFlags, UnitVisualEffectFlags flag)
 {
     return((baseFlags & flag) != 0);
 }
Пример #3
0
 public static UnitVisualEffectFlags SetFlag(this UnitVisualEffectFlags baseFlags, UnitVisualEffectFlags flag, bool set)
 {
     return(set ? baseFlags | flag : baseFlags& ~flag);
 }
Пример #4
0
 public static bool HasTargetFlag(this UnitVisualEffectFlags baseFlags, UnitVisualEffectFlags flag)
 {
     return((baseFlags & flag) == flag);
 }