コード例 #1
0
 public static bool Check(Obj_AI_Hero target, DamageType damageType = DamageType.True, bool ignoreShields = true)
 {
     try
     {
         if (target.HasBuffOfType(BuffType.Invulnerability) || target.IsInvulnerable)
         {
             return(true);
         }
         foreach (var invulnerable in Items)
         {
             if (invulnerable.Champion == null || invulnerable.Champion == target.ChampionName)
             {
                 if (invulnerable.DamageType == null || invulnerable.DamageType == damageType)
                 {
                     if (!ignoreShields && invulnerable.IsShield && target.HasBuff(invulnerable.BuffName))
                     {
                         return(true);
                     }
                     if (invulnerable.CustomCheck != null && CustomCheck(invulnerable, target, damageType))
                     {
                         return(true);
                     }
                 }
             }
         }
         return(false);
     }
     catch (Exception ex)
     {
         Global.Logger.AddItem(new LogItem(ex));
     }
     return(false);
 }
コード例 #2
0
 public static bool Check(Obj_AI_Hero target, DamageType damageType = DamageType.True, bool ignoreShields = true)
 {
     try
     {
         if (target.HasBuffOfType(BuffType.Invulnerability) || target.IsInvulnerable)
         {
             return true;
         }
         foreach (var invulnerable in Items)
         {
             if (invulnerable.Champion == null || invulnerable.Champion == target.ChampionName)
             {
                 if (invulnerable.DamageType == null || invulnerable.DamageType == damageType)
                 {
                     if (!ignoreShields && invulnerable.IsShield && target.HasBuff(invulnerable.BuffName))
                     {
                         return true;
                     }
                     if (invulnerable.CustomCheck != null && CustomCheck(invulnerable, target, damageType))
                     {
                         return true;
                     }
                 }
             }
         }
         return false;
     }
     catch (Exception ex)
     {
         Global.Logger.AddItem(new LogItem(ex));
     }
     return false;
 }
コード例 #3
0
 public Spell(SpellSlot slot, float range = 3.402823E+38f, DamageType damageType = DamageType.Physical)
     : base(
         slot, range,
         damageType == DamageType.Physical
             ? TargetSelector.DamageType.Physical
             : (damageType == DamageType.Magical
                 ? TargetSelector.DamageType.Magical
                 : TargetSelector.DamageType.True)) {}
コード例 #4
0
 public Spell(SpellSlot slot, float range = 3.402823E+38f, DamageType damageType = DamageType.Physical)
     : base(
         slot, range,
         damageType == DamageType.Physical
             ? TargetSelector.DamageType.Physical
             : (damageType == DamageType.Magical
                 ? TargetSelector.DamageType.Magical
                 : TargetSelector.DamageType.True))
 {
 }
コード例 #5
0
 public static Obj_AI_Hero GetTarget(float range, DamageType damageType, bool ignoreShields, Vector3 from)
 {
     if (Target != null &&
         TargetSelector.IsValidTarget(
             Target, ForceFocus ? float.MaxValue : range, damageType, ignoreShields, from))
     {
         return Target;
     }
     return null;
 }
コード例 #6
0
 private TargetSelector.DamageType ConvertDamageType(DamageType type)
 {
     switch (type)
     {
         case DamageType.Physical:
             return TargetSelector.DamageType.Physical;
         case DamageType.Magical:
             return TargetSelector.DamageType.Magical;
         case DamageType.True:
             return TargetSelector.DamageType.True;
     }
     return TargetSelector.DamageType.Physical;
 }
コード例 #7
0
 public InvulnerableStruct(string champion,
     string buffName,
     DamageType? damageType,
     bool isShield,
     Func<Obj_AI_Base, DamageType, bool> customCheck = null)
     : this()
 {
     Champion = champion;
     BuffName = buffName;
     DamageType = damageType;
     IsShield = isShield;
     CustomCheck = customCheck;
 }
コード例 #8
0
        private TargetSelector.DamageType ConvertDamageType(DamageType type)
        {
            switch (type)
            {
            case DamageType.Physical:
                return(TargetSelector.DamageType.Physical);

            case DamageType.Magical:
                return(TargetSelector.DamageType.Magical);

            case DamageType.True:
                return(TargetSelector.DamageType.True);
            }
            return(TargetSelector.DamageType.Physical);
        }
コード例 #9
0
 public static Obj_AI_Hero GetTarget(float range, DamageType damageType, bool ignoreShields, Vector3 from)
 {
     try
     {
         if (Target != null &&
             TargetSelector.IsValidTarget(
                 Target, TargetSelector.ForceFocus ? float.MaxValue : range, damageType, ignoreShields, from))
         {
             return Target;
         }
     }
     catch (Exception ex)
     {
         Global.Logger.AddItem(new LogItem(ex));
     }
     return null;
 }
コード例 #10
0
 public static Obj_AI_Hero GetTarget(float range, DamageType damageType, bool ignoreShields, Vector3 from)
 {
     try
     {
         if (Target != null &&
             TargetSelector.IsValidTarget(
                 Target, TargetSelector.ForceFocus ? float.MaxValue : range, damageType, ignoreShields, from))
         {
             return(Target);
         }
     }
     catch (Exception ex)
     {
         Global.Logger.AddItem(new LogItem(ex));
     }
     return(null);
 }
コード例 #11
0
 private static bool CustomCheck(Item invulnerable, Obj_AI_Hero target, DamageType damageType)
 {
     try
     {
         if (invulnerable != null)
         {
             if (invulnerable.CustomCheck(target, damageType))
             {
                 return(true);
             }
         }
     }
     catch (Exception ex)
     {
         Global.Logger.AddItem(new LogItem(ex));
     }
     return(false);
 }
コード例 #12
0
 private static bool CustomCheck(Item invulnerable, Obj_AI_Hero target, DamageType damageType)
 {
     try
     {
         if (invulnerable != null)
         {
             if (invulnerable.CustomCheck(target, damageType))
             {
                 return true;
             }
         }
     }
     catch (Exception ex)
     {
         Global.Logger.AddItem(new LogItem(ex));
     }
     return false;
 }
コード例 #13
0
 public Item(string champion,
     string buffName,
     DamageType? damageType,
     bool isShield,
     Func<Obj_AI_Base, DamageType, bool> customCheck = null)
 {
     Champion = champion;
     BuffName = buffName;
     DamageType = damageType;
     IsShield = isShield;
     CustomCheck = customCheck;
 }
コード例 #14
0
 public Item(string champion,
     string buffName,
     DamageType? damageType,
     bool isShield,
     int minHealthPercent = -1,
     Func<Obj_AI_Base, DamageType, bool> customCheck = null)
 {
     Champion = champion;
     BuffName = buffName;
     DamageType = damageType;
     IsShield = isShield;
     MinHealthPercent = minHealthPercent;
     CustomCheck = customCheck;
 }