当前位置: 首页>>代码示例>>C#>>正文


C# Obj_AI_Base.HasQRBuff方法代码示例

本文整理汇总了C#中Obj_AI_Base.HasQRBuff方法的典型用法代码示例。如果您正苦于以下问题:C# Obj_AI_Base.HasQRBuff方法的具体用法?C# Obj_AI_Base.HasQRBuff怎么用?C# Obj_AI_Base.HasQRBuff使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Obj_AI_Base的用法示例。


在下文中一共展示了Obj_AI_Base.HasQRBuff方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: GetKSDamage

        private static float GetKSDamage(Obj_AI_Base enemy, bool includeW = true, Vector3 position = default(Vector3))
        {
            var damage = 0d;

            if (Q.IsReady() && enemy.LSIsValidTarget(Q.Range, true, position))
            {
                var q = Q.GetDamage(enemy);
                damage += q;

                if (enemy.HasQBuff() || enemy.HasQRBuff())
                {
                    damage += q;
                }
            }

            if (includeW && W.IsReady() && W.IsFirstW() &&
                enemy.LSIsValidTarget(W.Range, true, position))
            {
                damage += W.GetDamage(enemy);
            }

            if (E.IsReady() && enemy.LSIsValidTarget(E.Range, true, position))
            {
                SpellManager.EPrediction.UpdateSourcePosition(position, position);
                var pred = SpellManager.EPrediction.GetPrediction(enemy);
                if (pred.Hitchance > HitChance.Medium)
                {
                    damage += E.GetDamage(enemy);
                }
            }

            if (R.IsReady() && enemy.LSIsValidTarget(R.Range, true, position))
            {
                var d = GetUltimateDamage(enemy, SpellSlot.Unknown);
                if (enemy.HasQBuff() || enemy.HasQRBuff())
                {
                    d += Q.GetDamage(enemy);
                }

                damage += d;
            }

            return (float) damage;
        }
开发者ID:,项目名称:,代码行数:44,代码来源:

示例2: GetComboDamage

        private static float GetComboDamage(Obj_AI_Base enemy)
        {
            var damage = 0d;

            if (Q.IsReady())
            {
                var d = Player.GetSpellDamage(enemy, SpellSlot.Q);

                if (enemy.HasQBuff() || enemy.HasQRBuff())
                {
                    d *= 2;
                }

                damage += d;
            }

            if (R.IsReady())
            {
                var d = 0d;
                var level = Player.Spellbook.GetSpell(SpellSlot.R).Level;
                var maxDamage = new double[] { 200, 400, 600 }[level - 1] + 1.3f * Player.FlatMagicDamageMod;

                switch (R.GetSpellSlot())
                {
                    case SpellSlot.Q:
                        var qDmg = Player.CalcDamage(
                            enemy, Damage.DamageType.Magical,
                            new double[] { 100, 200, 300 }[level - 1] + .65f * Player.FlatMagicDamageMod);
                        d = qDmg > maxDamage ? maxDamage : qDmg;
                        break;
                    case SpellSlot.W:
                        d = Player.CalcDamage(
                            enemy, Damage.DamageType.Magical,
                            new double[] { 150, 300, 450 }[level - 1] + .975f * Player.FlatMagicDamageMod);
                        break;
                    case SpellSlot.E:
                        var eDmg = Player.CalcDamage(
                            enemy, Damage.DamageType.Magical,
                            new double[] { 100, 200, 300 }[level - 1] + .65f * Player.FlatMagicDamageMod);
                        d = eDmg > maxDamage ? maxDamage : eDmg;
                        break;
                }

                if (enemy.HasQBuff() || enemy.HasQRBuff())
                {
                    d += Player.GetSpellDamage(enemy, SpellSlot.Q);
                }

                damage += d;
            }

            if (E.IsReady())
            {
                damage += Player.GetSpellDamage(enemy, SpellSlot.E);
            }

            if (W.IsReady())
            {
                damage += Player.GetSpellDamage(enemy, SpellSlot.W);
            }

            if (Items.FQC.IsReady())
            {
                damage += Player.GetItemDamage(enemy, Damage.DamageItems.FrostQueenClaim);
            }

            if (Items.BOTRK.IsReady())
            {
                damage += Player.GetItemDamage(enemy, Damage.DamageItems.Botrk);
            }

            if (Items.LT.HasItem())
            {
                damage += Player.GetItemDamage(enemy, Damage.DamageItems.LiandrysTorment);
            }

            if (Spells.Ignite.IsReady())
            {
                damage += Player.GetSummonerSpellDamage(enemy, Damage.SummonerSpell.Ignite);
            }

            damage += Player.GetAutoAttackDamage(enemy, true);

            return (float) damage;
        }
开发者ID:zjian1013,项目名称:tr33s,代码行数:85,代码来源:Program.cs

示例3: GetComboDamage

        private static float GetComboDamage(Obj_AI_Base enemy, SpellSlot slot = SpellSlot.Unknown, int t = 0)
        {
            var damage = 0d;

            if (Q.IsReady(t))
            {
                // 2 for q mark
                var d = Q.GetDamage(enemy);
                if (enemy.HasQBuff() || enemy.HasQRBuff())
                {
                    d += Q.GetDamage(enemy);
                }
                damage += d;
            }

            if (W.IsReady(t) && W.IsFirstW())
            {
                damage += W.GetDamage(enemy);
            }

            if (E.IsReady(t))
            {
                damage += E.GetDamage(enemy);
            }

            if (R.IsReady(t))
            {
                var d = GetUltimateDamage(enemy, slot);
                if (enemy.HasQBuff() || enemy.HasQRBuff())
                {
                    d += Q.GetDamage(enemy);
                }

                damage += d;
            }

            damage += 2*Player.GetAutoAttackDamage(enemy, true);

            return (float) damage;
        }
开发者ID:,项目名称:,代码行数:40,代码来源:

示例4: GetComboDamage

        private static float GetComboDamage(Obj_AI_Base enemy, SpellSlot slot, int t = 0)
        {
            var damage = 0d;

            if (Q.IsReady(t))
            {
                // 2 for q mark
                var d = Q.GetDamage(enemy);
                if (enemy.HasQBuff() || enemy.HasQRBuff())
                {
                    d += Q.GetDamage(enemy);
                }
                damage += d;
            }

            if (W.IsReady(t) && W.IsFirstW())
            {
                damage += W.GetDamage(enemy);
            }

            if (E.IsReady(t))
            {
                damage += E.GetDamage(enemy);
            }

            if (R.IsReady(t))
            {
                var d = GetUltimateDamage(enemy, slot);
                if (enemy.HasQBuff() || enemy.HasQRBuff())
                {
                    d += Q.GetDamage(enemy);
                }

                damage += d;
            }

            if (ItemManager.FrostQueensClaim.IsValidAndReady())
            {
                damage += Player.GetItemDamage(enemy, Damage.DamageItems.FrostQueenClaim);
            }

            if (ItemManager.Botrk.IsValidAndReady())
            {
                damage += Player.GetItemDamage(enemy, Damage.DamageItems.Botrk);
            }

            if (ItemManager.Cutlass.IsValidAndReady())
            {
                damage += Player.GetItemDamage(enemy, Damage.DamageItems.Bilgewater);
            }

            if (ItemManager.LiandrysTorment.IsValidAndReady())
            {
                damage += Player.GetItemDamage(enemy, Damage.DamageItems.LiandrysTorment);
            }

            if (TreeLib.Managers.SpellManager.Ignite != null && TreeLib.Managers.SpellManager.Ignite.IsReady())
            {
                damage += Player.GetSummonerSpellDamage(enemy, Damage.SummonerSpell.Ignite);
            }

            damage += 2 * Player.GetAutoAttackDamage(enemy, true);

            return (float) damage;
        }
开发者ID:StopMotionCuber,项目名称:LeagueSharp-1,代码行数:65,代码来源:LeBlanc.cs


注:本文中的Obj_AI_Base.HasQRBuff方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。