private static void Combo() { var t = AssassinManager.GetTarget(Q.Range, TargetSelector.DamageType.Physical); if (t == null) { return; } if (t.IsValidTarget(Orbwalking.GetRealAutoAttackRange(null) + 95) && shenBuffActive) { return; } var minQRange = Config.Item("ComboUseQMinRange").GetValue <Slider>().Value; if (Q.IsReady() && Q.GetDamage(t) > t.Health) { Q.Cast(t); } if (E.IsReady()) { switch (Config.Item("Combo.CastE").GetValue <StringList>().SelectedIndex) { case 0: if (E.IsReady() && Q.IsReady() && t.IsValidTarget(Q.Range)) { if (Player.Distance(t) >= minQRange && t.IsValidTarget(Q.Range)) { Q.CastOnUnit(t); } E.Cast(); } break; case 1: if (E.IsReady() && t.IsValidTarget(Orbwalking.GetRealAutoAttackRange(null) + 95)) { E.Cast(); } break; } if (eCounterStrike && t.IsValidTarget(Orbwalking.GetRealAutoAttackRange(null) + 65)) { E.Cast(); } } if (Q.IsReady() && Player.Distance(t) >= minQRange && t.IsValidTarget(Q.Range)) { Q.Cast(t); } if (ObjectManager.Player.Distance(t) <= E.Range) { CastItems(); //UseItems(t); } if (W.IsReady() && ObjectManager.Player.CountEnemiesInRange(Orbwalking.GetRealAutoAttackRange(t)) > 0) { W.Cast(); } if (E.IsReady() && ObjectManager.Player.CountEnemiesInRange(Orbwalking.GetRealAutoAttackRange(t)) > 0) { E.Cast(); } if (PlayerSpells.IgniteSlot != SpellSlot.Unknown && Player.Spellbook.CanUseSpell(PlayerSpells.IgniteSlot) == SpellState.Ready) { if (Player.GetSummonerSpellDamage(t, Damage.SummonerSpell.Ignite) > t.Health && ObjectManager.Player.Distance(t) <= 500) { Player.Spellbook.CastSpell(PlayerSpells.IgniteSlot, t); } } if (R.IsReady()) { if (Player.Distance(t) < Player.AttackRange) { if ( ObjectManager.Player.CountEnemiesInRange( (int)Orbwalking.GetRealAutoAttackRange(ObjectManager.Player)) >= 2 || t.Health > Player.Health) { R.CastOnUnit(Player); } } } }
private static void Combo() { var t = AssassinManager.GetTarget(Q.Range, TargetSelector.DamageType.Physical); if (t == null) { return; } if (t.IsValidTarget(Orbwalking.GetRealAutoAttackRange(null) + 95) && (shennBuffActive || usedSpell)) { return; } var minQRange = Config.Item("ComboUseQMinRange").GetValue <Slider>().Value; if (Q.IsReady() && Player.Distance(t) >= minQRange && ObjectManager.Player.Distance(t) <= Q.Range) { if (E.IsReady()) { E.Cast(); } Q.Cast(t); } if (ObjectManager.Player.Distance(t) <= E.Range) { UseItems(t); } if (W.IsReady() && ObjectManager.Player.CountEnemiesInRange(Orbwalking.GetRealAutoAttackRange(t)) > 0) { W.Cast(); } if (E.IsReady() && ObjectManager.Player.CountEnemiesInRange(Orbwalking.GetRealAutoAttackRange(t)) > 0) { E.Cast(); } if (igniteSlot != SpellSlot.Unknown && Player.Spellbook.CanUseSpell(igniteSlot) == SpellState.Ready) { if (Player.GetSummonerSpellDamage(t, Damage.SummonerSpell.Ignite) > t.Health && ObjectManager.Player.Distance(t) <= 500) { Player.Spellbook.CastSpell(igniteSlot, t); } } if (R.IsReady()) { if (Player.Distance(t) < Player.AttackRange) { if ( ObjectManager.Player.CountEnemiesInRange( (int)Orbwalking.GetRealAutoAttackRange(ObjectManager.Player)) >= 2 || t.Health > Player.Health) { R.CastOnUnit(Player); } } } }