本文整理汇总了C#中SpellSlot.GetSpellDataInst方法的典型用法代码示例。如果您正苦于以下问题:C# SpellSlot.GetSpellDataInst方法的具体用法?C# SpellSlot.GetSpellDataInst怎么用?C# SpellSlot.GetSpellDataInst使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SpellSlot
的用法示例。
在下文中一共展示了SpellSlot.GetSpellDataInst方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetSpellDamage
public override float GetSpellDamage(SpellSlot slot, Obj_AI_Base target)
{
if (target != null)
{
var level = slot.GetSpellDataInst().Level;
switch (slot)
{
case SpellSlot.Q:
return MyHero.CalculateDamageOnUnit(target, DamageType.Magical,
35f * level + 30f + 0.7f * MyHero.FlatMagicDamageMod);
case SpellSlot.W:
return 3 * MyHero.CalculateDamageOnUnit(target, DamageType.Magical,
12f * level + 10f + 0.2f * MyHero.FlatMagicDamageMod);
case SpellSlot.E:
return 0f;
case SpellSlot.R:
return MyHero.CalculateDamageOnUnit(target, DamageType.Magical,
60f * level + 40f + 0.6f * MyHero.FlatMagicDamageMod);
}
}
return base.GetSpellDamage(slot, target);
}
示例2: GetSpellDamage
public override float GetSpellDamage(SpellSlot slot, Obj_AI_Base target)
{
if (target != null)
{
var level = slot.GetSpellDataInst().Level;
switch (slot)
{
case SpellSlot.Q:
return MyHero.CalculateDamageOnUnit(target, DamageType.Magical,
40f * level + 35f + 0.45f * MyHero.FlatMagicDamageMod) / 2f;
case SpellSlot.W:
return MyHero.CalculateDamageOnUnit(target, DamageType.Magical,
45f * level + 45f + 0.9f * MyHero.FlatMagicDamageMod) / 2;
case SpellSlot.E:
return MyHero.CalculateDamageOnUnit(target, DamageType.Magical,
25f * level + 30f + 0.55f * MyHero.FlatMagicDamageMod);
case SpellSlot.R:
return MyHero.CalculateDamageOnUnit(target, DamageType.Magical,
100f * level + 50f + 0.5f * MyHero.FlatMagicDamageMod);
}
}
return base.GetSpellDamage(slot, target);
}
示例3: GetSpellDamage
public override float GetSpellDamage(SpellSlot slot, Obj_AI_Base target)
{
if (target != null)
{
var level = slot.GetSpellDataInst().Level;
switch (slot)
{
case SpellSlot.Q:
return MyHero.CalculateDamageOnUnit(target, DamageType.Physical,
25f * level + 35f + (0.25f + 0.05f * level) * MyHero.TotalAttackDamage + 0.6f * MyHero.FlatMagicDamageMod);
case SpellSlot.W:
return 3 * MyHero.CalculateDamageOnUnit(target, DamageType.Physical,
(target is AIHeroClient ? 1f : 0.65f) * (35f * level + 15f + 0.7f * MyHero.TotalAttackDamage));
case SpellSlot.E:
return MyHero.CalculateDamageOnUnit(target, DamageType.Magical,
(target is AIHeroClient ? 1f : 0.65f) * (60f * level - 40f + 1.2f * MyHero.TotalAttackDamage + 1f * MyHero.FlatMagicDamageMod));
case SpellSlot.R:
var shotDamage =
MyHero.CalculateDamageOnUnit(target, DamageType.Physical, 75f * level - 25f + 0.25f * MyHero.TotalAttackDamage) * (1f + 0.02f * (target.MaxHealth - target.Health) / target.MaxHealth * 100f);
var normalShotsDamage = (Stacks - 1) * shotDamage;
var lastShotDamage = (2f + (MyHero.HasItem(ItemId.Infinity_Edge) ? 0.5f : 0f)) * shotDamage;
return normalShotsDamage + lastShotDamage;
}
}
return base.GetSpellDamage(slot, target);
}
示例4: GetSpellDamage
public override float GetSpellDamage(SpellSlot slot, Obj_AI_Base target)
{
if (target != null)
{
var level = slot.GetSpellDataInst().Level;
switch (slot)
{
case SpellSlot.Q:
return MyHero.CalculateDamageOnUnit(target, DamageType.Magical,
45f * level + 30f + 0.45f * MyHero.FlatMagicDamageMod);
case SpellSlot.W:
return MyHero.CalculateDamageOnUnit(target, DamageType.Magical,
15f * level + 5f + 0.15f * MyHero.FlatMagicDamageMod) * 2.5f;
case SpellSlot.E:
return MyHero.CalculateDamageOnUnit(target, DamageType.Magical,
4f * level + 48f + 0.1f * MyHero.FlatMagicDamageMod + (IsPoisoned(target) ? (-20 + 30 * level + 0.35f * MyHero.FlatMagicDamageMod) : 0f));
case SpellSlot.R:
return MyHero.CalculateDamageOnUnit(target, DamageType.Magical,
100f * level + 50f + 0.5f * MyHero.FlatMagicDamageMod);
}
}
return base.GetSpellDamage(slot, target);
}
示例5: GetSpellDamage
public override float GetSpellDamage(SpellSlot slot, Obj_AI_Base target)
{
if (target != null)
{
var level = slot.GetSpellDataInst().Level;
var result = 0f;
switch (slot)
{
case SpellSlot.Q:
return MyHero.CalculateDamageOnUnit(target, DamageType.Physical,
40f * level + 35f + 1f * MyHero.FlatPhysicalDamageMod);
case SpellSlot.W:
if (WShadowIsValid || (IsW1 && W.IsReady))
{
if (Q.IsReady)
{
result += GetSpellDamage(SpellSlot.Q, target) / 2f;
}
}
return result;
case SpellSlot.E:
return MyHero.CalculateDamageOnUnit(target, DamageType.Physical,
30f * level + 30f + 0.8f * MyHero.FlatPhysicalDamageMod);
case SpellSlot.R:
var hero = target as AIHeroClient;
if (hero == null)
{
return 0f;
}
if (RShadowIsValid || (IsR1 && R.IsReady))
{
if (Q.IsReady)
{
result += GetSpellDamage(SpellSlot.Q, target) / 2f;
}
}
if (RShadowIsValid)
{
if (TargetHaveR(hero))
{
return result;
}
return 0f;
}
return result +
MyHero.CalculateDamageOnUnit(target, DamageType.Physical, 1f * MyHero.TotalAttackDamage);
}
}
return base.GetSpellDamage(slot, target);
}
示例6: GetSpellDamage
public override float GetSpellDamage(SpellSlot slot, Obj_AI_Base target)
{
if (target != null)
{
var level = slot.GetSpellDataInst().Level;
switch (slot)
{
case SpellSlot.Q:
return (target.Type == GameObjectType.AIHeroClient && level == 5 ? 1.15f : 1) * MyHero.CalculateDamageOnUnit(target, DamageType.Magical,
45f * level + 5f + 0.75f * MyHero.FlatMagicDamageMod);
case SpellSlot.W:
return MyHero.CalculateDamageOnUnit(target, DamageType.Magical,
40f * level + 40f + 0.7f * MyHero.FlatMagicDamageMod);
case SpellSlot.E:
return MyHero.CalculateDamageOnUnit(target, DamageType.Magical,
45f * level + 25f + 0.4f * MyHero.FlatMagicDamageMod);
case SpellSlot.R:
return (Spheres.Count + 3) * MyHero.CalculateDamageOnUnit(target, DamageType.Magical,
45f * level + 45f + 0.2f * MyHero.FlatMagicDamageMod);
}
}
return base.GetSpellDamage(slot, target);
}