本文整理汇总了C#中Hero.FindItem方法的典型用法代码示例。如果您正苦于以下问题:C# Hero.FindItem方法的具体用法?C# Hero.FindItem怎么用?C# Hero.FindItem使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Hero
的用法示例。
在下文中一共展示了Hero.FindItem方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Tick
public static void Tick(EventArgs args)
{
if (!Game.IsInGame || Game.IsPaused || Game.IsWatchingGame || Game.IsChatOpen)
return;
me = ObjectMgr.LocalHero;
if (me == null)
return;
if (me.IsAlive && (!me.IsInvisible() || me.ClassID == ClassID.CDOTA_Unit_Hero_Riki) && !me.IsChanneling() && Utils.SleepCheck("AutoItems"))
{
item_bottle = me.FindItem("item_bottle");
item_phase_boots = me.FindItem("item_phase_boots");
item_magic_stick = me.FindItem("item_magic_stick");
item_magic_wand = me.FindItem("item_magic_wand");
PercentStickUse = ((double)Menu.Item("Percent Configuration").GetValue<Slider>().Value / 100);
if (item_bottle != null && me.Modifiers.Any(x => x.Name == "modifier_fountain_aura_buff") && _item_config.Item("Items: ").GetValue<AbilityToggler>().IsEnabled(item_bottle.Name))
{
if(!me.Modifiers.Any(x => x.Name == "modifier_bottle_regeneration") && (me.Health < me.MaximumHealth || me.Mana < me.MaximumMana))
item_bottle.UseAbility();
Alies = ObjectMgr.GetEntities<Hero>().Where(x => x.Team == me.Team && x != me && (x.Health < x.MaximumHealth || x.Mana < x.MaximumMana) && !x.Modifiers.Any(y => y.Name == "modifier_bottle_regeneration") && x.IsAlive && !x.IsIllusion && x.Distance2D(me) <= item_bottle.CastRange).ToList();
foreach (Hero v in Alies)
if (v != null)
item_bottle.UseAbility(v);
}
if (item_phase_boots != null && item_phase_boots.CanBeCasted() && me.NetworkActivity == NetworkActivity.Move && _item_config.Item("Items: ").GetValue<AbilityToggler>().IsEnabled(item_phase_boots.Name))
item_phase_boots.UseAbility();
if (item_magic_stick != null && item_magic_stick.CanBeCasted() && item_magic_stick.CurrentCharges > 0 && (double)me.Health / me.MaximumHealth < PercentStickUse && _item_config.Item("Items: ").GetValue<AbilityToggler>().IsEnabled(item_magic_stick.Name))
item_magic_stick.UseAbility();
if (item_magic_wand != null && item_magic_wand.CanBeCasted() && item_magic_wand.CurrentCharges > 0 && (double)me.Health / me.MaximumHealth < PercentStickUse && _item_config.Item("Items: ").GetValue<AbilityToggler>().IsEnabled(item_magic_wand.Name))
item_magic_wand.UseAbility();
Utils.Sleep(250, "AutoItems");
}
}
示例2: CalculateManaRequired
public static int CalculateManaRequired(Hero me)
{
try
{
if (Utils.SleepCheck("manaCalcErrorTimeout"))
{
var hook = me.Spellbook.Spell1;
var dismember = me.Spellbook.SpellR;
var urn = me.FindItem("item_urn_of_shadows");
var eblade = me.FindItem("item_ethereal_blade");
var dagon = me.GetDagon();
var ManaRequired = 0;
if (hook != null)
ManaRequired += (int)hook.ManaCost;
if (dismember != null)
ManaRequired += (int)dismember.ManaCost;
if (eblade != null)
ManaRequired += (int)eblade.ManaCost;
if (dagon != null)
ManaRequired += (int)dagon.ManaCost;
return (int)ManaRequired;
}
return 0;
}
catch (Exception ex)
{
// Print.Error("MANACALC: " + ex.Message);
Utils.Sleep(500, "manaCalcErrorTimeout");
return 0;
}
}
示例3: DrawRanges
public static void DrawRanges(EventArgs args)
{
if (!Game.IsInGame || Game.IsWatchingGame)
return;
me = ObjectMgr.LocalHero;
if (me == null)
return;
if (Menu.Item("menurange_arrow").GetValue<bool>())
{
if (Menu.Item("AutoMode").GetValue<bool>())
{
if (me.ClassID == ClassID.CDOTA_Unit_Hero_Nevermore)
range_arrow = 700;
else if (me.ClassID == ClassID.CDOTA_Unit_Hero_Slark)
range_arrow = 700;
else if (me.ClassID == ClassID.CDOTA_Unit_Hero_Mirana)
{
if (me.Spellbook.SpellE.Level == 1)
range_arrow = 600;
else if (me.Spellbook.SpellE.Level == 2)
range_arrow = 700;
else if (me.Spellbook.SpellE.Level == 3)
range_arrow = 800;
else if (me.Spellbook.SpellE.Level == 4)
range_arrow = 900;
else
range_arrow = (int)me.GetAttackRange();
}
else if (me.FindItem("item_force_staff")!=null || me.FindItem("item_hurricane_pike")!=null)
range_arrow = 600;
else
range_arrow = (int)me.GetAttackRange();
}
else
range_arrow = Menu.Item("menurange_own").GetValue<Slider>().Value;
if (rangedisplay == null)
{
rangedisplay = new ParticleEffect(@"particles\ui_mouseactions\range_finder_directional_b.vpcf", me);
rangedisplay.SetControlPoint(1, me.NetworkPosition);
rangedisplay.SetControlPoint(2, FindVector(me.NetworkPosition, me.Rotation, range_arrow));
}
else
{
rangedisplay.SetControlPoint(1, me.NetworkPosition);
rangedisplay.SetControlPoint(2, FindVector(me.NetworkPosition, me.Rotation, range_arrow));
}
}
else if (rangedisplay!=null)
{
rangedisplay.Dispose();
rangedisplay = null;
}
}
示例4: Game_OnUpdate
private static void Game_OnUpdate(EventArgs args)
{
if (Game.IsPaused || Game.IsWatchingGame || !Game.IsInGame)
return;
me = ObjectMgr.LocalHero;
if (me == null)
return;
if (!me.IsAlive)
return;
Unit Things = ObjectMgr.GetEntities<Unit>()
.FirstOrDefault(
x =>
(x.ClassID == ClassID.CDOTA_NPC_Observer_Ward ||
x.ClassID == ClassID.CDOTA_NPC_Observer_Ward_TrueSight || x.ClassID == ClassID.CDOTA_NPC_TechiesMines /*|| x.ClassID == ClassID.CDOTA_NPC_Treant_EyesInTheForest*/)
&& x.Team != me.Team && me.NetworkPosition.Distance2D(x.NetworkPosition) < 450 &&
x.IsVisible && x.IsAlive);
if (!me.IsChanneling() && Utils.SleepCheck("Use"))
{
if (Things != null)
{
var useItem = items.Select(item => me.FindItem(item)).FirstOrDefault(x => x != null && x.CanBeCasted());
if (useItem != null && !((useItem.Name == "item_tango_single" || useItem.Name == "item_tango") && Things.ClassID == ClassID.CDOTA_NPC_TechiesMines))
{
useItem.UseAbility(Things);
Utils.Sleep(250, "Use");
}
Utils.Sleep(250, "Use");
}
}
}
示例5: Game_OnUpdate
public static void Game_OnUpdate(EventArgs args)
{
me = ObjectManager.LocalHero;
if (me.ClassID != ClassID.CDOTA_Unit_Hero_Axe)
return;
if (me == null)
return;
if (Blink == null)
Blink = me.FindItem("item_blink");
if (Chop == null)
Chop = me.Spellbook.Spell4;
if (me.HasItem(ClassID.CDOTA_Item_UltimateScepter))
{
_chopDmg = new int[3] { 300, 425, 550 };
}
else
{
_chopDmg = new int[3] { 250, 325, 400 };
}
var ChopDmg = _chopDmg[Chop.Level - 1];
if (Menu.Item("toggle").GetValue<bool>())
{
var enemies = ObjectMgr.GetEntities<Hero>().Where(x => x.IsVisible && x.IsAlive && !x.IsIllusion && x.Team != me.Team && x.Health <= ChopDmg).ToList();
foreach (var hero in enemies)
{
var distance = me.Distance2D(hero);
if (target == null || distance < minimumDistance)
{
target = hero;
}
}
if (target != null && Utils.SleepCheck("chop") && Chop.CanBeCasted() && me.IsAlive && target.IsAlive)
{
if (Blink != null && me.Distance2D(target) > 400 && me.Distance2D(target) < Blink.CastRange && Utils.SleepCheck("blink") && Blink.CanBeCasted() && me.Health > 250)
{
Blink.UseAbility(target.Position);
Utils.Sleep(150 + Game.Ping, "blink");
}
else
{
if (target != null && Chop != null)
{
Chop.UseAbility(target);
target = null;
Utils.Sleep(150 + Game.Ping, "chop");
}
}
}
}
}
示例6: Game_OnUpdate
public static void Game_OnUpdate(EventArgs args)
{
if (!Game.IsInGame) return;
_me = ObjectMgr.LocalHero;
if (_me == null || _me.ClassID != ClassID.CDOTA_Unit_Hero_Morphling)
{
return;
}
if (!_activated) return;
if ((_target == null || !_target.IsVisible) && !_me.IsChanneling())
_me.Move(Game.MousePosition);
if (_target == null || _me.Distance2D(_target) > 500)
_target = _me.ClosestToMouseTarget(1000);
//Skills & Items
waveform = _me.Spellbook.Spell1;
adapt = _me.Spellbook.Spell2;
eblade = _me.FindItem("item_ethereal_blade");
bkb = _me.FindItem("item_black_king_bar");
if (_target != null && _target.IsAlive && !_target.IsInvul())
{
if (!Utils.SleepCheck("Morph_Wait")) return;
var targetDistance = _me.Distance2D(_target);
var attackRange = 1000;
if (targetDistance <= attackRange && waveform != null && waveform.CanBeCasted() && Utils.SleepCheck("waveform"))
{
waveform.UseAbility(_target.Position);
Utils.Sleep(150 + Game.Ping, "waveform");
}
else if (bkb !=null && _bkbToggle && Utils.SleepCheck("BKB"))
{
bkb.UseAbility();
Utils.Sleep(150 + Game.Ping, "BKB");
}
else if (eblade != null && eblade.CanBeCasted() && Utils.SleepCheck("eblade"))
{
eblade.UseAbility(_target);
Utils.Sleep(150 + Game.Ping, "eblade");
}
else if (adapt != null && adapt.CanBeCasted() && Utils.SleepCheck("adapt"))
{
adapt.UseAbility(_target);
Utils.Sleep(150 + Game.Ping, "adapt");
}
}
}
示例7: Player_OnExecuteAction
private static void Player_OnExecuteAction(Player sender, ExecuteOrderEventArgs args)
{
if (!Menu.Item("PB.Enable").GetValue<bool>()) return;
/*if (args.Order == Order.AbilityTarget || args.Order == Order.AbilityLocation)
if (args.Ability.Name == "item_tpscroll" || args.Ability.Name == "item_travel_boots" ||
args.Ability.Name == "item_travel_boots_2")
TpPos = args.TargetPosition;*/
if (args.Order == Order.Stop || args.Order == Order.Hold)
_shouldCheckForModifier = false;
if (args.Order != Order.AbilityLocation) return;
if (args.Ability.Name != "item_blink") return;
_me = args.Entities.FirstOrDefault() as Hero;//ObjectMgr.LocalHero);
if (_me==null) return;
var safeRange = _me.FindItem("item_aether_lens") == null ? 1200 : 1400;
if (!(_me.Distance2D(args.TargetPosition) > safeRange))
return;
var tpos = _me.Position;
var a = tpos.ToVector2().FindAngleBetween(args.TargetPosition.ToVector2(), true);
safeRange -= (int)_me.HullRadius;
var p = new Vector3(
tpos.X + safeRange * (float)Math.Cos(a),
tpos.Y + safeRange * (float)Math.Sin(a),
100);
if (_me.HasModifier("modifier_teleporting"))
{
if (!EnableAfterTp)
return;
_shouldCheckForModifier = true;
_myAbility = args.Ability;
args.Process = false;
_mySelectedPos = args.TargetPosition.ToVector2();
/*DelayAction.Add(new DelayActionItem((int) _me.FindModifier("modifier_teleporting").RemainingTime*1000+750, () =>
{
tpos = _me.Position;;//TpPos;
a = tpos.ToVector2().FindAngleBetween(args.TargetPosition.ToVector2(), true);
p = new Vector3(
tpos.X + safeRange * (float)Math.Cos(a),
tpos.Y + safeRange * (float)Math.Sin(a),
100);
Print("extra action");
args.Ability.UseAbility(p);
}, CancellationToken.None));*/
return;
}
_shouldCheckForModifier = false;
args.Ability.UseAbility(p,_me.IsChanneling());
args.Process = false;
}
示例8: Execute
/// <summary>
/// The execute.
/// </summary>
/// <param name="hero">
/// The hero.
/// </param>
/// <returns>
/// The <see cref="bool" />.
/// </returns>
public bool Execute(Hero hero = null)
{
if (hero == null)
{
return false;
}
var item = hero.FindItem("item_tango_single")
?? hero.FindItem("item_tango") ?? hero.FindItem("item_quelling_blade");
var nearestStack = Variables.Stacks.MinOrDefault(x => x.Position.Distance(hero.Position));
if (nearestStack == null || nearestStack.Position.Distance(hero.Position) > 1000)
{
return false;
}
foreach (var mine in
nearestStack.RemoteMines.Where(
x => x.Entity.IsValid && x.Entity.IsAlive && x.Entity.IsVisible && x.Entity.IsVisibleToEnemies))
{
if (item != null && item.CanHit(mine.Entity) && hero.GetTurnTime(mine.Position) < 0.01)
{
mine.Detonate();
return true;
}
if (!hero.IsAttacking() || !(hero.GetTurnTime(mine.Position) < 0.01)
|| !(mine.Entity.DamageTaken(hero.MaximumDamage, DamageType.Physical, hero) >= mine.Entity.Health))
{
continue;
}
mine.Detonate();
return true;
}
return false;
}
示例9: Game_OnUpdate
private static void Game_OnUpdate(EventArgs args)
{
if (!Game.IsInGame || Game.GameTime > 1800 || Game.IsPaused)
return;
var player = ObjectMgr.LocalPlayer;
_me = player.Hero;
if (player == null || player.Team == Team.Observer || _me == null || _me.MinimumDamage > 120)
return;
var quellingBlade = _me.FindItem(" item_quelling_blade ");
var damage = (quellingBlade != null) ? (_me.MinimumDamage * 1.40 + _me.BonusDamage) : (_me.MinimumDamage + _me.BonusDamage);
var creeps = ObjectMgr.GetEntities<Unit>().Where(creep => (creep.ClassID == ClassID.CDOTA_BaseNPC_Creep_Lane || creep.ClassID == ClassID.CDOTA_BaseNPC_Creep_Siege) && creep.IsSpawned).ToList();
if (!creeps.Any())
return;
foreach (var creep in creeps) {
if (creep.IsAlive && creep.IsVisible) {
string creepType;
if (creep.Health > 0 && creep.Health < damage*(1 - creep.DamageResist) + 1)
{
if (!CreepsDictionary.TryGetValue(creep, out creepType) || creepType != "passive") continue;
CreepsDictionary.Remove(creep);
CreepsTeamDictionary.Remove(creep);
creepType = "active";
CreepsDictionary.Add(creep, creepType);
CreepsTeamDictionary.Add(creep, creep.Team);
}
else if (creep.Health < damage + 88)
{
if (CreepsDictionary.TryGetValue(creep, out creepType)) continue;
creepType = "passive";
CreepsDictionary.Add(creep, creepType);
CreepsTeamDictionary.Add(creep, creep.Team);
}
}
else {
CreepsDictionary.Remove(creep);
CreepsTeamDictionary.Remove(creep);
}
}
}
示例10: Tick
public static void Tick(EventArgs args)
{
if (!Game.IsInGame || Game.IsPaused || Game.IsWatchingGame)
return;
me = ObjectMgr.LocalHero;
target = ObjectMgr.GetEntities<Hero>().Where(x => x.Health <= 100 && x.Distance2D(me) <= 950 && !x.IsIllusion && x.IsAlive && x.Team != me.Team).ToList();
if (me == null || target.FirstOrDefault() == null)
return;
urn_of_shadows = me.FindItem("item_urn_of_shadows");
if (!me.IsChanneling() && target.FirstOrDefault() != null && urn_of_shadows != null && (!me.IsInvisible() || me.ClassID == ClassID.CDOTA_Unit_Hero_Riki))
{
if (me.CanCast() && urn_of_shadows.CanBeCasted() && Utils.SleepCheck("urn"))
{
urn_of_shadows.UseAbility(target.FirstOrDefault());
Utils.Sleep(200, "urn");
}
}
}
示例11: Game_OnUpdate
public static void Game_OnUpdate(EventArgs args)
{
me = ObjectMgr.LocalHero;
if (me.ClassID != ClassID.CDOTA_Unit_Hero_Tinker)
return;
if (me == null)
return;
// Ability init
if (Laser == null)
Laser = me.Spellbook.Spell1;
// Item init
if (Blink == null)
Blink = me.FindItem("item_blink");
// Main combo
if (active && toggle)
{
}
}
示例12: Game_OnUpdate
private static void Game_OnUpdate(EventArgs args)
{
me = ObjectMgr.LocalHero;
if (!Game.IsInGame || Game.IsPaused || Game.IsWatchingGame || me == null || me.ClassID != ClassID.CDOTA_Unit_Hero_Silencer)
return;
if (Refresher == null)
{
Refresher = me.FindItem("item_refresher");
}
if (Utils.SleepCheck("GlobalSave") && Menu.Item("globaldisable").GetValue<bool>() && me.Spellbook.Spell4.CanBeCasted() && me.Mana > me.Spellbook.Spell4.ManaCost)
{
var target = ObjectMgr.GetEntities<Hero>().Where(e => e.Team != me.Team && e.IsAlive && !e.IsIllusion);
foreach (var v in target)
{
var channel = v.GetChanneledAbility();
if (v.IsChanneling() && channel.Name != "item_travel_boots" && channel.Name != "item_travel_boots_2" && channel.Name != "lion_mana_drain" && channel.Name != "elder_titan_echo_stomp" && channel.Name != "elder_titan_echo_stomp_spirit" && channel.Name != "puck_phase_shift" && channel.Name != "pugna_life_drain" && channel.Name != "sandking_sand_storm" && channel.Name != "shadow_shaman_shackles" && channel.Name != "tinker_rearm" && channel.Name != "warlock_upheaval" && channel.Name != "enraged_wildkin_tornado" && channel.Name != "windrunner_powershot" && channel.Name != "oracle_fortunes_end" && channel.Name != "keeper_of_the_light_illuminate" && channel.Name != "keeper_of_the_light_illuminate_end" && channel.Name != "keeper_of_the_light_spirit_form_illuminate" && channel.Name != "keeper_of_the_light_spirit_form_illuminate_end")
{
me.Spellbook.Spell4.UseAbility();
Utils.Sleep(300, "GlobalSave");
}
}
}
if (Utils.SleepCheck("RefreshGlobal") && Menu.Item("useref").GetValue<bool>() && Menu.Item("globaldisable").GetValue<bool>() && !me.Spellbook.Spell4.CanBeCasted() && Refresher.CanBeCasted() && me.Mana > me.Spellbook.Spell4.ManaCost + Refresher.ManaCost)
{
var target = ObjectMgr.GetEntities<Hero>().Where(e => e.Team != me.Team && e.IsAlive && !e.IsIllusion);
foreach (var v in target)
{
var channel = v.GetChanneledAbility();
if (v.IsChanneling() && channel.Name != "item_travel_boots" && channel.Name != "item_travel_boots_2" && channel.Name != "lion_mana_drain" && channel.Name != "elder_titan_echo_stomp" && channel.Name != "elder_titan_echo_stomp_spirit" && channel.Name != "puck_phase_shift" && channel.Name != "pugna_life_drain" && channel.Name != "sandking_sand_storm" && channel.Name != "shadow_shaman_shackles" && channel.Name != "tinker_rearm" && channel.Name != "warlock_upheaval" && channel.Name != "enraged_wildkin_tornado" && channel.Name != "windrunner_powershot" && channel.Name != "oracle_fortunes_end" && channel.Name != "keeper_of_the_light_illuminate" && channel.Name != "keeper_of_the_light_illuminate_end" && channel.Name != "keeper_of_the_light_spirit_form_illuminate" && channel.Name != "keeper_of_the_light_spirit_form_illuminate_end")
{
Refresher.UseAbility();
me.Spellbook.Spell4.UseAbility();
Utils.Sleep(300, "RefreshGlobal");
}
}
}
}
示例13: Game_OnUpdate
private static void Game_OnUpdate(EventArgs args)
{
if (Game.IsPaused || Game.IsWatchingGame || !Game.IsInGame)
return;
me = ObjectMgr.LocalHero;
if (me == null)
return;
if (!me.IsAlive)
return;
Unit wards = ObjectMgr.GetEntities<Unit>()
.Where(
x =>
(x.ClassID == ClassID.CDOTA_NPC_Observer_Ward ||
x.ClassID == ClassID.CDOTA_NPC_Observer_Ward_TrueSight || x.ClassID == ClassID.CDOTA_NPC_TechiesMines || x.ClassID == ClassID.CDOTA_NPC_Treant_EyesInTheForest)
&& x.Team != me.Team && GetDistance2D(x.NetworkPosition, me.NetworkPosition) < 450 &&
x.IsVisible && x.IsAlive).FirstOrDefault();
if (!me.IsChanneling() && Utils.SleepCheck("Use"))
{
if (wards != null)
{
uint i = 0;
uint last_i = 100;
string item_name = null;
List<Item> me_inventory = me.Inventory.Items.ToList();
items = new string[5] { "item_quelling_blade", "item_iron_talon", "item_bfury", "item_tango_single", "item_tango" };
foreach (Item x in me_inventory)
{
for (i = 0; i < 5; i++)
{
if (items[i] == x.Name && x.Cooldown <= 0)
{
if (i <= last_i)
{
item_name = x.Name;
last_i = i;
}
}
}
}
if (item_name != null && me.FindItem(item_name).CanBeCasted())
me.FindItem(item_name).UseAbility(wards);
Utils.Sleep(250, "Use");
}
}
}
示例14: Game_OnUpdate
public static void Game_OnUpdate(EventArgs args)
{
me = ObjectMgr.LocalHero;
if (me == null || !Game.IsInGame || Game.IsWatchingGame)
return;
if (me.ClassID != ClassID.CDOTA_Unit_Hero_Tinker)
return;
// Ability init
Laser = me.Spellbook.Spell1;
Rocket = me.Spellbook.Spell2;
Refresh = me.Spellbook.Spell4;
// Item init
Blink = me.FindItem("item_blink");
Dagon = me.GetDagon();
Hex = me.FindItem("item_sheepstick");
Soulring = me.FindItem("item_soul_ring");
Ethereal = me.FindItem("item_ethereal_blade");
Veil = me.FindItem("item_veil_of_discord");
Orchid = me.FindItem("item_orchid");
Shiva = me.FindItem("item_shiva");
// Manacost calculations
var manaForCombo = Laser.ManaCost + Rocket.ManaCost;
if (Dagon != null && Dagon.CanBeCasted())
manaForCombo += 180;
if (Hex != null && Hex.CanBeCasted())
manaForCombo += 100;
if (Ethereal != null && Ethereal.CanBeCasted())
manaForCombo += 150;
if (Veil != null && Veil.CanBeCasted())
manaForCombo += 50;
// Main combo
if (active && toggle)
{
target = me.ClosestToMouseTarget(1000);
if (target != null && target.IsAlive && !target.IsIllusion && !target.IsMagicImmune() && Utils.SleepCheck("refresh") && !Refresh.IsChanneling)
{
if (Soulring != null && me.Mana < manaForCombo && Soulring.CanBeCasted() && me.Health > 400 && Utils.SleepCheck("soulring"))
{
Soulring.UseAbility();
Utils.Sleep(150 + Game.Ping, "soulring");
}
// Blink
else if (Blink != null && Blink.CanBeCasted() && Utils.SleepCheck("blink"))
{
Utils.Sleep(300 + Game.Ping, "blink");
Utils.ChainStun(me, me.GetTurnTime(target) * 1000 + Game.Ping, null, false);
Blink.UseAbility(target.Position);
}
// Items
else if (Veil != null && Veil.CanBeCasted() && Utils.SleepCheck("veil"))
{
Veil.UseAbility(target.Position);
Utils.Sleep(150 + Game.Ping, "veil");
Utils.Sleep(300 + Game.Ping, "ve");
Utils.ChainStun(me, 170 + Game.Ping, null, false);
}
else if (Hex != null && Hex.CanBeCasted() && Utils.SleepCheck("hex"))
{
Hex.UseAbility(target);
Utils.Sleep(150 + Game.Ping, "hex");
Utils.Sleep(300 + Game.Ping, "h");
Utils.ChainStun(me, 170 + Game.Ping, null, false);
}
else if (Ethereal != null && Ethereal.CanBeCasted() && Utils.SleepCheck("ethereal"))
{
Ethereal.UseAbility(target);
Utils.Sleep(270 + Game.Ping, "ethereal");
Utils.ChainStun(me, 200 + Game.Ping, null, false);
}
else if (Dagon != null && Dagon.CanBeCasted() && Utils.SleepCheck("ethereal") && Utils.SleepCheck("h") && Utils.SleepCheck("dagon") && Utils.SleepCheck("veil"))
{
Dagon.UseAbility(target);
Utils.Sleep(270 + Game.Ping, "dagon");
Utils.ChainStun(me, 200 + Game.Ping, null, false);
}
// Skills
else if (Rocket != null && Rocket.CanBeCasted() && Utils.SleepCheck("rocket") && Utils.SleepCheck("ethereal") && Utils.SleepCheck("veil"))
{
Rocket.UseAbility();
Utils.Sleep(150 + Game.Ping, "rocket");
Utils.ChainStun(me, 150 + Game.Ping, null, false);
}
else if (Laser != null && Laser.CanBeCasted() && Utils.SleepCheck("laser") && Utils.SleepCheck("ethereal") && Utils.SleepCheck("rocket"))
{
Laser.UseAbility(target);
Utils.Sleep(150 + Game.Ping, "laser");
Utils.ChainStun(me, 150 + Game.Ping, null, false);
//.........这里部分代码省略.........
示例15: Game_OnUpdate
//.........这里部分代码省略.........
catch (Exception)
{
}
}
/*if (t.DayVision == 0 && !find)
{
Bara = t;
find = true;
BaraStartPos=Bara.Position;
}
else if (!find)
{
Bara = null;
BaraStartPos=new Vector3(0,0,0);
}*/
}
}
#endregion
#region ShowRoshanTimer
if (ShowRoshanTimer)
{
var tickDelta = Game.GameTime - _deathTime;
_roshanMinutes = Math.Floor(tickDelta / 60);
_roshanSeconds = tickDelta % 60;
var roshan =
ObjectMgr.GetEntities<Unit>()
.FirstOrDefault(unit => unit.ClassID == ClassID.CDOTA_Unit_Roshan && unit.IsAlive);
if (roshan != null)
{
_roshIsAlive = true;
//RoshanMinutes = 0;
//RoshanSeconds = 0;
//DeathTime = 0;
}
}
#endregion
#region ShowIllusions
if (ShowIllusions)
{
var illusions = ObjectMgr.GetEntities<Hero>()
.Where(
x =>
x.IsIllusion && x.Team != _me.Team);
foreach (var s in illusions)
{
HandleEffect(s);
}
}
#endregion
return;
#region AutoItems
if (!AutoItemsActive || !Utils.SleepCheck("AutoItems")) return;
if (AutoItemsMidas)
{
var midas = _me.FindItem("item_hand_of_midas");
if (midas != null && midas.CanBeCasted() && !_me.IsInvisible())
{
var creep =
ObjectMgr
.GetEntities<Unit>(
).FirstOrDefault(x => ((x is Hero && !x.IsIllusion) || (x is Creep && x.IsSpawned)) && x.IsAlive &&
x.IsVisible && _me.Distance2D(x) <= midas.CastRange && x.Team != _me.Team);
midas.UseAbility(creep);
Utils.Sleep(250, "AutoItems");
//PrintError("midas.CastRange: " + midas.CastRange);
}
}
if (AutoItemsPhase)
{
var phase = _me.FindItem("item_phase_boots");
if (phase != null && phase.CanBeCasted() && !_me.IsAttacking() && !_me.IsInvisible())
{
phase.UseAbility();
Utils.Sleep(250, "AutoItems");
}
}
if (!AutoItemsStick) return;
var stick = _me.FindItem("item_magic_stick");
var wand = _me.FindItem("item_magic_wand");
if (_me.Health * 100 / _me.MaximumHealth > 30 || !_me.IsAlive) return;
if (stick != null && stick.CanBeCasted() && !_me.IsInvisible())
{
stick.UseAbility();
Utils.Sleep(250, "AutoItems");
}
if (wand == null || !wand.CanBeCasted()) return;
wand.UseAbility();
Utils.Sleep(250, "AutoItems");
#endregion
}