本文整理汇总了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;
}
示例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;
}
示例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;
}
示例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;
}