コード例 #1
0
ファイル: Damage.cs プロジェクト: Fr0sTy7u7/ProDragon
        public IDamageItem GetItemDamage(DamageItems item)
        {
            Lazy <IDamageItem, IDamageItemMetadata> lazy = this.ItemLazies.FirstOrDefault((Lazy <IDamageItem, IDamageItemMetadata> i) => i.Metadata.Item == item);

            if (lazy == null)
            {
                return(null);
            }
            return(lazy.Value);
        }
コード例 #2
0
ファイル: Damage.cs プロジェクト: Fr0sTy7u7/ProDragon
        public double GetItemDamage(AIHeroClient source, AIBaseClient target, DamageItems item, ItemDamageType type = ItemDamageType.Default)
        {
            double      num        = 0.0;
            IDamageItem itemDamage = this.GetItemDamage(item);

            if (itemDamage != null)
            {
                if (type.HasFlag(ItemDamageType.Default))
                {
                    num += itemDamage.GetDamage(source, target);
                }
                if (type.HasFlag(ItemDamageType.Dot))
                {
                    num += itemDamage.GetDotDamage(source, target);
                }
                if (type.HasFlag(ItemDamageType.Passive))
                {
                    num += itemDamage.GetPassiveDamage(source, target);
                }
            }
            return(num);
        }
コード例 #3
0
ファイル: Damage.cs プロジェクト: xQxCPMxQx/LeagueSharp-5
 public static double GetItemDamage(this Obj_AI_Hero source, Obj_AI_Base target, DamageItems item)
 {
     switch (item)
     {
         case DamageItems.Bilgewater:
             return source.CalcDamage(target, DamageType.Magical, 100);
         case DamageItems.BlackFireTorch:
             return source.CalcDamage(target, DamageType.Magical, target.MaxHealth * 0.2);
         case DamageItems.Botrk:
             return source.CalcDamage(target, DamageType.Physical, target.MaxHealth * 0.1);
         case DamageItems.Dfg:
             return source.CalcDamage(target, DamageType.Magical, target.MaxHealth * 0.15);
         case DamageItems.FrostQueenClaim:
             return source.CalcDamage(target, DamageType.Magical, 50 + 5 * source.Level);
         case DamageItems.Hexgun:
             return source.CalcDamage(target, DamageType.Magical, 150 + 0.4 * source.FlatMagicDamageMod);
         case DamageItems.Hydra:
             return source.CalcDamage(
                 target, DamageType.Physical, source.BaseAttackDamage + source.FlatPhysicalDamageMod);
         case DamageItems.OdingVeils:
             return source.CalcDamage(target, DamageType.Magical, 200);
         case DamageItems.Tiamat:
             return source.CalcDamage(
                 target, DamageType.Physical, source.BaseAttackDamage + source.FlatPhysicalDamageMod);
         case DamageItems.LiandrysTorment:
             var d = target.Health * .2f * 3f;
             return (target.CanMove || target.HasBuff("slow", true)) ? d : d * 2;
     }
     return 1d;
 }
コード例 #4
0
        /// <summary>
        ///     Gets the damage of an Item.
        /// </summary>
        /// <param name="source"><see cref="Obj_AI_Base" /> where the damage is coming from.</param>
        /// <param name="target"><see cref="Obj_AI_Base" /> where the damage is going to.</param>
        /// <param name="damageItem">Item</param>
        /// <returns>Damage of the item.</returns>
        public static double GetItemDamage(this Obj_AI_Hero source, Obj_AI_Base target, DamageItems damageItem)
        {
            switch (damageItem)
            {
            case DamageItems.BilgewaterCutlass:
                return(source.CalculateDamage(target, DamageType.Magical, 100));

            case DamageItems.BlackFireTorch:
                return(source.CalculateDamage(target, DamageType.Magical, target.MaxHealth * 0.2));

            case DamageItems.BladeOfTheRuinedKing:
                return(source.CalculateDamage(target, DamageType.Physical, target.MaxHealth * 0.1));

            case DamageItems.FrostQueenClaim:
                return(source.CalculateDamage(target, DamageType.Magical, 50 + 5 * source.Level));

            case DamageItems.HextechGunblade:
                return(source.CalculateDamage(target, DamageType.Magical, 150 + 0.4 * source.FlatMagicDamageMod));

            case DamageItems.RavenousHydra:
                return(source.CalculateDamage(
                           target, DamageType.Physical, source.BaseAttackDamage + source.FlatPhysicalDamageMod));

            case DamageItems.OdynsVeil:
                return(source.CalculateDamage(target, DamageType.Magical, 200));

            case DamageItems.Tiamat:
                return(source.CalculateDamage(
                           target, DamageType.Physical, source.BaseAttackDamage + source.FlatPhysicalDamageMod));

            case DamageItems.LiandrysTorment:
                var d = target.Health * .2f * 3f;
                return((target.CanMove || target.HasBuffOfType(BuffType.Slow)) ? d : d * 2);
            }
            return(0d);
        }
コード例 #5
0
ファイル: Shop.cs プロジェクト: StaffanJ/Inheritence
 //Adds item to List DamageItems.
 public void AddDamageItemToShop(DamageItem item)
 {
     DamageItems.Add(item);
 }
コード例 #6
0
        public static double GetItemDamage(this AIHeroClient source, AIBaseClient target, DamageItems item)
        {
            Damage instance = DamageExtensions.Instance;

            if (instance == null)
            {
                return(0.0);
            }
            return(instance.GetItemDamage(source, target, item, ItemDamageType.Default));
        }