/// <summary> /// R 技能鑄造 /// </summary> /// <param name="useR"></param> private static void RCast(bool useR, bool useIgnite) { var target = TargetSelector.GetSelectedTarget() ?? TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Magical); var comboDmg = target != null?Common.DamageCalculate.GetComboDamage(target) : 0; if (target != null && useR) { useR = (Menu.Item("DontUlt" + target.ChampionName.ToLower()) != null && Menu.Item("DontUlt" + target.ChampionName.ToLower()).GetValue <bool>() == false); } if (target != null && useR && comboDmg > target.Health && !target.IsZombie && !Q.IsReady()) { R.Cast(target); } // 點燃鑄造 if (target != null && useIgnite && Ignite != SpellSlot.Unknown && Ignite.IsReady()) { if (DamageCalculate.GetIgniteDmage(target) > target.Health) { player.Spellbook.CastSpell(Ignite, target); } } }
private static void ComboLogic() { var target = TargetSelector.GetSelectedTarget() ?? TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical); if (target != null && !target.IsDead && !target.IsZombie && target.IsHPBarRendered) { if (Menu.Item("ComboQ").GetValue <bool>() && Q.IsReady() && target.IsValidTarget(Q.Range) && Q.CanCast(target)) { Q.Cast(true); } if (Menu.Item("ComboW").GetValue <bool>() && W.IsReady()) { if (player.HealthPercent <= Menu.Item("WM").GetValue <Slider>().Value) { W.Cast(true); } var ally = HeroManager.Allies.Where( x => x.IsValidTarget(W.Range) && x.HealthPercent <= Menu.Item("WA").GetValue <Slider>().Value).FirstOrDefault(); if (ally != null) { W.Cast(true); } } if (Menu.Item("ComboR").GetValue <bool>() && R.IsReady() && target.IsValidTarget(R.Range)) { if (target.Health <= DamageCalculate.GetRDamage(target) + player.GetAutoAttackDamage(target) * 2) { R.Cast(target); } else { R.CastIfWillHit(target, Menu.Item("RComboMin").GetValue <Slider>().Value, true); } } if (Menu.Item("IgniteCombo").GetValue <bool>() && Ignite != SpellSlot.Unknown && Ignite.IsReady()) { if (DamageCalculate.GetIgniteDmage(target) > target.Health) { player.Spellbook.CastSpell(Ignite, target); } } } }
internal static void InitTick() { var target = TargetSelector.GetTarget(EntityManager.Heroes.Enemies.Where(x => x.IsValidRange(800f)), DamageType.Physical); if (target != null && target.IsValidRange(800f)) { if (MenuInit.ComboDot && Ignite != SpellSlot.Unknown && Player.Instance.Spellbook.GetSpell(Ignite).IsReady&& target.IsValidRange(600) && ((target.Health < DamageCalculate.GetComboDamage(target) && target.IsValidRange(400)) || target.Health < DamageCalculate.GetIgniteDmage(target)) && Player.Instance.Spellbook.CastSpell(Ignite, target)) { return; } if (MenuInit.ComboYoumuu && Item.HasItem(3142) && Item.CanUseItem(3142) && target.IsValidRange(580) && Item.UseItem(3142)) { return; } if (MenuInit.ComboR1 && R.IsReady() && !isRActive && target.Health <= DamageCalculate.GetComboDamage(target) * 1.3 && target.IsValidRange(600f) && R1Logic(target)) { return; } if (MenuInit.ComboR2 != 3 && R.IsReady() && isRActive && R2Logic(target)) { return; } if (MenuInit.ComboQGap && Q.IsReady() && Environment.TickCount - lastQTime > 1200 && !Player.Instance.IsDashing() && target.IsValidRange(480) && target.DistanceToPlayer() > Player.Instance.GetAutoAttackRange() + Player.Instance.BoundingRadius + 50 && Prediction.Position.PredictUnitPosition(target, 1).DistanceToPlayer() > Player.Instance.GetAutoAttackRange() + 50) { CastQ(target); return; } if (MenuInit.ComboEGap && E.IsReady() && target.IsValidRange(600) && target.DistanceToPlayer() > Player.Instance.GetAutoAttackRange() + Player.Instance.BoundingRadius + 50) { Player.Instance.Spellbook.CastSpell(SpellSlot.E, target.Position); return; } if (MenuInit.ComboWLogic && W.IsReady() && target.IsValidRange(W.Range)) { if (qStack == 0 && Player.Instance.Spellbook.CastSpell(SpellSlot.W)) { return; } if (Q.IsReady() && qStack > 1 && Player.Instance.Spellbook.CastSpell(SpellSlot.W)) { return; } if (Player.Instance.HasBuff("RivenFeint") && Player.Instance.Spellbook.CastSpell(SpellSlot.W)) { return; } if (!target.IsFacing(Player.Instance)) { Player.Instance.Spellbook.CastSpell(SpellSlot.W); } } } }
internal static void Init() { var target = TargetSelector.GetTarget(600f, TargetSelector.DamageType.Physical); if (target != null) { if (Menu.GetBool("ComboIgnite") && Ignite != SpellSlot.Unknown && Ignite.IsReady() && target.DistanceToPlayer() <= 600f && (target.Health < DamageCalculate.GetComboDamage(target) || target.Health < DamageCalculate.GetIgniteDmage(target))) { Me.Spellbook.CastSpell(Ignite, target); } if (HeroManager.Enemies.Any(x => x.DistanceToPlayer() <= 400)) { SpellManager.CastItem(); } if (Menu.GetKey("ComboR") && R.IsReady()) { foreach (var rTarget in HeroManager.Enemies.Where(x => x.DistanceToPlayer() <= R.Range && x.Health <= DamageCalculate.GetRDamage(x) && !x.HasBuff("willrevive"))) { if (rTarget.IsValidTarget(R.Range)) { R.CastOnUnit(target, true); } } } if (Menu.GetBool("ComboQLock") && Me.HasBuff("dariusqcast") && Me.CountEnemiesInRange(800) < 3) { Orbwalker.SetMovement(false); Orbwalker.SetAttack(false); if (target.DistanceToPlayer() <= 250) { EloBuddy.Player.IssueOrder(GameObjectOrder.MoveTo, Me.Position.Extend(target.Position, -Q.Range)); } else if (target.DistanceToPlayer() <= Q.Range) { EloBuddy.Player.IssueOrder(GameObjectOrder.MoveTo, Game.CursorPos); } else { EloBuddy.Player.IssueOrder(GameObjectOrder.MoveTo, target.Position); } } else { Orbwalker.SetMovement(true); Orbwalker.SetAttack(true); } if (Menu.GetBool("ComboQ") && Q.IsReady() && target.DistanceToPlayer() <= Q.Range && SpellManager.CanQHit(target) && Me.CanMoveMent()) { if (Menu.GetBool("ComboSaveMana") && Me.Mana < SpellManager.RMana + Q.Instance.SData.Mana) { return; } if (Utils.TickCount - lastETime > 1000) { Q.Cast(true); } } if (Menu.GetBool("ComboE") && E.IsReady() && target.DistanceToPlayer() <= E.Range - 30 && !Orbwalking.InAutoAttackRange(target) && !target.HaveShiled()) { if (Menu.GetBool("ComboSaveMana") && Me.Mana < SpellManager.RMana + Q.Instance.SData.Mana) { return; } var pred = E.GetPrediction(target); E.Cast(pred.UnitPosition, true); } } }