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


C# Hero.DamageTaken方法代码示例

本文整理汇总了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);
			
		}
开发者ID:Air13,项目名称:ESharp,代码行数:15,代码来源:Tinker_Air13.cs

示例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));
 }
开发者ID:YukinoAguria,项目名称:ensagesharp,代码行数:6,代码来源:Program.cs

示例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;
		}
开发者ID:Air13,项目名称:ESharp,代码行数:23,代码来源:Tinker_Air13.cs

示例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;
		
		
		
		}
开发者ID:Air13,项目名称:ESharp,代码行数:19,代码来源:Tinker_Air13.cs

示例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;
        }
开发者ID:Air13,项目名称:ESharp,代码行数:84,代码来源:Tinker_Air13.cs

示例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;
 }
开发者ID:anon2281,项目名称:EnsageSharp-1,代码行数:11,代码来源:Program.cs

示例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);
            }
        }
开发者ID:dendimonster,项目名称:EnsageSharp-1,代码行数:101,代码来源:Program.cs


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