本文整理汇总了C#中Hero.DamageTaken方法的典型用法代码示例。如果您正苦于以下问题:C# Hero.DamageTaken方法的具体用法?C# Hero.DamageTaken怎么用?C# Hero.DamageTaken使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Hero
的用法示例。
在下文中一共展示了Hero.DamageTaken方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: OneHitLeft
static bool OneHitLeft(Hero en)
{
var cleardmg = me.BonusDamage + me.DamageAverage;
var hitDmg = en.DamageTaken(cleardmg, DamageType.Physical, me);
if(((en.Health<factdamage(en)) && (en.Health>factdamage(en)-hitDmg))
&& !IsPhysDamageImune(en)
&& me.Distance2D(en) < me.GetAttackRange()+50
)
return true;
else
return false;
//return ((en.Health-factdamage(en)-hitDmg)<0 && Math.Abs(en.Health-factdamage(en)-hitDmg)<hitDmg);
}
示例2: NotDieFromSpell
private static bool NotDieFromSpell(Ability spell, Hero enemy, Hero me)
{
if (me.Modifiers.FirstOrDefault(modifier => modifier.Name == "modifier_pugna_nether_ward_aura") == null)
return true;
return !(me.Health < me.DamageTaken((spell.ManaCost * (float)1.75), DamageType.Magical, enemy, false));
}
示例3: HitCount
static int HitCount(Hero en)
{
var cleardmg = me.BonusDamage + me.DamageAverage;
var hitDmg = en.DamageTaken(cleardmg, DamageType.Physical, me);
//if (!me.CanAttack() || en.IsAttackImmune() || en.IsInvul() || ((int)Math.Ceiling((en.Health - procastdamage)/hitDmg))<=0)
if (me.CanAttack() && !en.IsAttackImmune() && !en.IsInvul())
{
/*
if ((ethereal != null && ethereal.CanBeCasted())
|| (ghost != null && ghost.CanBeCasted() && Menu.Item("Items: ").GetValue<AbilityToggler>().IsEnabled(ghost.Name))
)
return ((int)Math.Ceiling((en.Health - procastdamage)/hitDmg));
else
return ((int)Math.Ceiling((en.Health - procastdamage)/hitDmg)+1);*/
if ((int)Math.Ceiling((en.Health - procastdamage+hitDmg) / hitDmg) <= 0)
return 0;
else
return ((int)Math.Ceiling((en.Health - procastdamage+hitDmg) / hitDmg));
}
else
return 999;
}
示例4: ProcastCounter
static int ProcastCounter(Hero en)
{
var maxprocastdmgstatic = (en.DamageTaken(averagedamage()*100/75, DamageType.Magical, me, false, 0, 0, 0));
var cleardmg = me.BonusDamage + me.DamageAverage;
var hitDmg = en.DamageTaken(cleardmg, DamageType.Physical, me);
if (!en.IsMagicImmune() && !en.IsInvul())
{
if (IsPhysDamageImune(en))
return (int)Math.Ceiling(en.Health / maxprocastdmgstatic);
else
return (int)Math.Ceiling(en.Health / maxprocastdmgstatic - hitDmg/en.Health );
}
else
return 999;
}
示例5: factdamage
static int factdamage(Hero en)
{
if (en != null && en.IsAlive && en.IsValid)
{
int alletherealdmg = 0, alldagondmg = 0, dagondist = 0, alllaserdmg = 0, allrocketdmg = 0, allshivadmg = 0, allphysdmg = 0;
int etherealdamage = (int)(((me.TotalIntelligence * 2) + 75));
int factdamage1 = 0;
spellamplymult = 1 + (me.TotalIntelligence/16/100);
if (((ethereal != null && ethereal.CanBeCasted()) || (ethereal != null && IsCasted(ethereal))) && /*Menu.Item("Items: ").GetValue<AbilityToggler>().IsEnabled(ethereal.Name)&&*/ !en.Modifiers.Any(y => y.Name == "modifier_item_ethereal_blade_ethereal"))
etherealmult = 1.4;
else
etherealmult = 1;
if (veil != null && veil.CanBeCasted() && /*Menu.Item("Items: ").GetValue<AbilityToggler>().IsEnabled(veil.Name) &&*/ !en.Modifiers.Any(y => y.Name == "modifier_item_veil_of_discord_debuff"))
veilmult = 1.25;
else
veilmult = 1;
if (me.FindItem("item_aether_lens")!=null)
lensmult = 1.05;
else
lensmult = 1;
allmult = etherealmult * veilmult * lensmult * spellamplymult;
if (dagon != null && dagon.CanBeCasted() /*&& Menu.Item("Items: ").GetValue<AbilityToggler>().IsEnabled("item_dagon")*/)
{
alldagondmg = (int)(en.DamageTaken(dagondamage[dagon.Level - 1], DamageType.Magical, me, false, 0, 0, 0)*allmult);
dagondist = dagondistance[dagon.Level - 1];
}
else
{
alldagondmg = 0;
dagondist = 0;
}
if (((ethereal != null && ethereal.CanBeCasted()) || (ethereal != null && IsCasted(ethereal))) /* && Menu.Item("Items: ").GetValue<AbilityToggler>().IsEnabled(ethereal.Name)*/)
alletherealdmg = (int)(en.DamageTaken(etherealdamage, DamageType.Magical, me, false, 0, 0, 0) *allmult);
else
alletherealdmg = 0;
if (((shiva != null && shiva.CanBeCasted()) || (shiva != null && IsCasted(shiva))) /* && Menu.Item("Items: ").GetValue<AbilityToggler>().IsEnabled(shiva.Name)*/)
allshivadmg = (int)(en.DamageTaken(200, DamageType.Magical, me, false, 0, 0, 0) *allmult);
else
allshivadmg = 0;
if (Laser!=null && Laser.Level>0 && Laser.CanBeCasted())
alllaserdmg = (int)(en.DamageTaken((int)(laser_damage[Laser.Level - 1]), DamageType.Pure, me, false, 0, 0, 0)* lensmult * spellamplymult);
else
alllaserdmg = 0;
if ((Rocket != null && Rocket.Level>0 && Rocket.CanBeCasted()) || (Rocket != null && Rocket.Level>0 && IsCasted(Rocket)))
if (me.Distance2D(en) < 800 + aetherrange + ensage_error)
allrocketdmg = (int)(en.DamageTaken((int)(rocket_damage[Rocket.Level - 1]), DamageType.Magical, me, false, 0, 0, 0)* allmult);
else if (me.Distance2D(en) >= 800 + aetherrange + ensage_error && me.Distance2D(en) < 1500 + aetherrange + ensage_error)
allrocketdmg = (int)(en.DamageTaken((int)(rocket_damage[Rocket.Level - 1]), DamageType.Magical, me, false, 0, 0, 0)* veilmult * lensmult * spellamplymult);
else if (me.Distance2D(en) >= 1500 + aetherrange + ensage_error && me.Distance2D(en) < 2500)
allrocketdmg = (int)(en.DamageTaken((int)(rocket_damage[Rocket.Level - 1]), DamageType.Magical, me, false, 0, 0, 0)* lensmult * spellamplymult);
else
allrocketdmg = 0;
if (me.CanAttack()
&& !en.IsAttackImmune()
&& me.Distance2D(en)<me.GetAttackRange()+50
&& !en.IsInvul()
&& !IsPhysDamageImune(en)
//&& (ethereal == null || !ethereal.CanBeCasted())
//&& (ghost == null || !ghost.CanBeCasted() || !Menu.Item("Items: ").GetValue<AbilityToggler>().IsEnabled(ghost.Name))
)
allphysdmg = (int)(en.DamageTaken(me.BonusDamage + me.DamageAverage, DamageType.Physical, me));
else
allphysdmg = 0;
factdamage1 = ((me.Distance2D(en)<650+aetherrange + ensage_error)? alllaserdmg : 0 )+ ((me.Distance2D(en)<2500)? allrocketdmg : 0) + ((me.Distance2D(en)<800+aetherrange + ensage_error)? alletherealdmg: 0) + ((me.Distance2D(en)<dagondist+aetherrange + ensage_error)? alldagondmg: 0) + ((me.Distance2D(en)<900 + ensage_error)? allshivadmg : 0) + allphysdmg; //factical damage in current range
return factdamage1;
}
else
return 0;
}
示例6: GetCount
private static int GetCount(Hero v, uint health, float damage)
{
var n = 0;
float dmg = 0;
do
{
n++;
dmg += damage;
} while (health - v.DamageTaken(dmg, DamageType.Magical, _me, false) > 0 && n < 30);
return n;
}
示例7: ComboInAction
//.........这里部分代码省略.........
{
if (dist >= Pull.CastRange + 1100)
{
me.Move(target.Position);
Utils.Sleep(200, "nextAction");
break;
}
if (Menu.Item("dagger").GetValue<StringList>().SelectedIndex ==
(int) DaggerStage.AfterSmash)
{
var ang = me.FindAngleBetween(target.Position, true);
var p = new Vector2((float) (me.Position.X + 1100*Math.Cos(ang)),
(float) (me.Position.Y + 1100*Math.Sin(ang)));
blink.UseAbility(p.ToVector3(true));
Utils.Sleep(100, "nextAction");
if (Menu.Item("debug").GetValue<bool>()) PrintInfo("dagger is used");
}
}
}
}
}
else
{
if (Remnant.CanBeCasted())
{
if (me.NetworkActivity == NetworkActivity.Move)
me.Stop();
Remnant.UseAbility(target.Position);
if (Menu.Item("debug").GetValue<bool>()) PrintInfo("remnant create");
}
}
}
else
_stage++;
break;
case 3:
if (Roll.CanBeCasted() && !Pull.CanBeCasted())
{
Roll.UseAbility(target.Position);
Utils.Sleep(100 + Roll.FindCastPoint(), "nextAction");
if (Menu.Item("debug").GetValue<bool>()) PrintInfo("roll casted");
}
else
_stage++;
break;
case 4:
if (Magnetize.CanBeCasted())
{
if (me.Distance2D(target) < 300)
{
Magnetize.UseAbility();
Utils.Sleep(100 + Magnetize.FindCastPoint(), "nextAction");
_stage++;
if (Menu.Item("debug").GetValue<bool>()) PrintInfo("Magnetize casted");
}
}
break;
case 5:
if (Remnant.CanBeCasted() && Menu.Item("supult").GetValue<bool>())
{
var mod = target.Modifiers.FirstOrDefault(x => x.Name == "modifier_earth_spirit_magnetize");
if (mod != null && mod.RemainingTime <= 0.5+Game.Ping && me.Distance2D(target)<=Remnant.CastRange)
{
Remnant.UseAbility(target.Position);
Utils.Sleep(1000, "nextAction");
me.Attack(target,true);
break;
}
if (Utils.SleepCheck("attackcd"))
{
me.Attack(target);
Utils.Sleep(150, "attackcd");
}
}
else if (Utils.SleepCheck("attackcd"))
{
me.Attack(target);
Utils.Sleep(200, "attackcd");
}
if (Menu.Item("killsteal").GetValue<bool>() && Push.CanBeCasted() && target.DamageTaken(50 * Push.Level, DamageType.Magical, me) > target.Health)
{
Push.UseAbility(target);
Utils.Sleep(500, "nextAction");
me.Attack(target, true);
break;
}
if (Menu.Item("rolling").GetValue<bool>() && Roll.CanBeCasted())
{
Roll.UseAbility(target.Position);
Utils.Sleep(500, "nextAction");
}
break;
}
if (Menu.Item("items").GetValue<bool>())
{
LetsUseItems(me, target);
}
}