예제 #1
0
        private float GetComboDamage(Obj_AI_Base target)
        {
            var rStacks     = GetRStacks();
            var jumpCount   = (rStacks - (int)(target.Distance(MyHero.Position) / R.Range));
            var comboDamage = 0d;

            if (Q.IsReady())
            {
                comboDamage += MyHero.GetSpellDamage(target, SpellSlot.Q) + MyHero.CalcDamage(target, Damage.DamageType.Magical, (45 + 35 * Q.Level + 0.5 * MyHero.FlatMagicDamageMod));
            }
            if (E.IsReady())
            {
                comboDamage += MyHero.GetSpellDamage(target, SpellSlot.E);
            }

            if (HasBuff(target, "AkaliMota"))
            {
                comboDamage += MyHero.CalcDamage(target, Damage.DamageType.Magical, (45 + 35 * Q.Level + 0.5 * MyHero.FlatMagicDamageMod));
            }

            comboDamage += MyHero.CalcDamage(target, Damage.DamageType.Magical, CalcPassiveDmg());

            if (rStacks > 0)
            {
                comboDamage += jumpCount > 0 ? MyHero.GetSpellDamage(target, SpellSlot.R) * jumpCount : MyHero.GetSpellDamage(target, SpellSlot.R);
            }
            // Items comes soon

            return((float)(comboDamage + MyHero.GetAutoAttackDamage(target)));
        }
예제 #2
0
        private float GetComboDamage(Obj_AI_Base target)
        {
            var rStacks     = GetRStacks();
            var comboDamage = 0d;
            int mode        = Menu.Item("Combo_mode").GetValue <StringList>().SelectedIndex;

            if (mode == 0)
            {
                if (Q.IsReady())
                {
                    comboDamage += (MyHero.GetSpellDamage(target, SpellSlot.Q) +
                                    MyHero.CalcDamage(target, Damage.DamageType.Magical,
                                                      (45 + 35 * Q.Level + 0.5 * MyHero.FlatMagicDamageMod)));
                }
            }
            else if (Q.IsReady())
            {
                comboDamage += (MyHero.GetSpellDamage(target, SpellSlot.Q) + MyHero.CalcDamage(target, Damage.DamageType.Magical, (45 + 35 * Q.Level + 0.5 * MyHero.FlatMagicDamageMod))) * 2;
            }

            if (E.IsReady())
            {
                comboDamage += MyHero.GetSpellDamage(target, SpellSlot.E);
            }

            if (HasBuff(target, "AkaliMota"))
            {
                comboDamage += MyHero.CalcDamage(target, Damage.DamageType.Magical, (45 + 35 * Q.Level + 0.5 * MyHero.FlatMagicDamageMod));
            }

            comboDamage += MyHero.CalcDamage(target, Damage.DamageType.Magical, CalcPassiveDmg());

            if (Items.CanUseItem(Bilge.Id))
            {
                comboDamage += MyHero.GetItemDamage(target, Damage.DamageItems.Bilgewater);
            }

            if (Items.CanUseItem(Hex.Id))
            {
                comboDamage += MyHero.GetItemDamage(target, Damage.DamageItems.Hexgun);
            }

            if (Ignite != SpellSlot.Unknown && MyHero.SummonerSpellbook.CanUseSpell(Ignite) == SpellState.Ready)
            {
                comboDamage += MyHero.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite);
            }

            if (rStacks > 0)
            {
                comboDamage += MyHero.GetSpellDamage(target, SpellSlot.R) * rStacks;
            }

            return((float)(comboDamage + MyHero.GetAutoAttackDamage(target)));
        }