public static int GetCustomDamage(this AIHeroClient source, string auraname, AIHeroClient target) { if (auraname == "sheen") { return (int) source.CalcDamage(target, DamageType.Physical, 1.0 * source.FlatPhysicalDamageMod + source.BaseAttackDamage); } if (auraname == "lichbane") { return (int) source.CalcDamage(target, DamageType.Magical, (0.75 * source.FlatPhysicalDamageMod + source.BaseAttackDamage) + (0.50 * source.FlatMagicDamageMod)); } return 0; }
public static int GetCustomDamage(this Obj_AI_Hero source, string auraname, Obj_AI_Hero target) { switch (auraname) { case "itemsunfirecapeaura": return (int) source.CalcDamage(target, Damage.DamageType.Magical, 25 + (1 * source.Level)); case "gangplankattackdotpassive": return (int) source.CalcDamage(target, Damage.DamageType.True, 20 + (10 * source.Level) + 1.2 * (source.BaseAttackDamage + source.FlatPhysicalDamageMod)); case "bantamtraptarget": return (int) source.CalcDamage(target, Damage.DamageType.Magical, new[] { 50, 81, 112 }[source.Level / 6] + 0.25 * (source.FlatMagicDamageMod)); case "sheen": return (int) source.CalcDamage(target, Damage.DamageType.Physical, 1.0 * source.FlatPhysicalDamageMod + source.BaseAttackDamage); case "lichbane": return (int) source.CalcDamage(target, Damage.DamageType.Magical, (0.75*source.FlatPhysicalDamageMod + source.BaseAttackDamage) + (0.50*source.FlatMagicDamageMod)); } return 0; }
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; }
/// <summary> /// Calculates Yasuo's Sweeping Blade (E) damage. /// </summary> /// <param name="player">Player Object</param> /// <param name="target">Target Object</param> /// <returns>Sweeping Blade Damage</returns> public static double GetSweepingBladeDamage(this Obj_AI_Hero player, Obj_AI_Base target) { var stacksPassive = Yasuo.Player.Buffs.Find(b => b.DisplayName.Equals("YasuoDashScalar")); var stacks = 1 + 0.25 * ((stacksPassive != null) ? stacksPassive.Count : 0); var damage = 50 + (20 * YasuoSpells.E.Level * stacks + (player.FlatMagicDamageMod * 0.6)); return player.CalcDamage(target, Damage.DamageType.Magical, damage); }