private static void Jungleclear() { var Monsters = EntityManager.MinionsAndMonsters.GetJungleMonsters().OrderByDescending(x => x.MaxHealth).FirstOrDefault(x => x.IsValidTarget(E.Range)); if (Monsters == null) { return; } if (RivenMenu.CheckBox(RivenMenu.Jungleclear, "UseWJG")) { if (Monsters.IsValidTarget(W.Range)) { W.Cast(); } } if (RivenMenu.CheckBox(RivenMenu.Jungleclear, "UseEJG")) { if (Monsters.IsValidTarget(E.Range)) { Player.CastSpell(SpellSlot.E, Monsters.Position); } } }
public static void Initialize(DamageToUnitDelegate damageToUnit) { DamageToUnit = damageToUnit; DrawingColor = Color.DarkBlue; HealthbarEnabled = RivenMenu.CheckBox(RivenMenu.Draw, "DrawDamage"); PercentEnabled = RivenMenu.CheckBox(RivenMenu.Draw, "DrawDamage"); Drawing.OnEndScene += OnEndScene; }
private static void Loading_OnLoadingComplete(EventArgs args) { if (Player.Instance.ChampionName != "Riven") { return; } RivenMenu.Load(); Riven.Load(); }
private static void Flee() { if (RivenMenu.CheckBox(RivenMenu.Flee, "UseQFlee")) { Q.Cast((Game.CursorPos.Distance(Player.Instance) > Q.Range ? Player.Instance.Position.Extend(Game.CursorPos, Q.Range - 1).To3D() : Game.CursorPos)); } if (RivenMenu.CheckBox(RivenMenu.Flee, "UseEFlee")) { E.Cast((Game.CursorPos.Distance(Player.Instance) > E.Range ? Player.Instance.Position.Extend(Game.CursorPos, E.Range - 1).To3D() : Game.CursorPos)); } }
private static void Drawing_OnDraw(EventArgs args) { if (RivenMenu.CheckBox(RivenMenu.Draw, "DrawOFF")) { return; } if (RivenMenu.CheckBox(RivenMenu.Draw, "DrawQ")) { if (Riven.Q.IsReady()) { Circle.Draw(Color.DarkBlue, Riven.Q.Range, Player.Instance.Position); } } if (RivenMenu.CheckBox(RivenMenu.Draw, "DrawW")) { if (Riven.W.IsReady()) { Circle.Draw(Color.DarkBlue, Riven.W.Range, Player.Instance.Position); } } if (RivenMenu.CheckBox(RivenMenu.Draw, "DrawE")) { if (Riven.E.IsReady()) { Circle.Draw(Color.DarkBlue, Riven.E.Range, Player.Instance.Position); } } if (RivenMenu.CheckBox(RivenMenu.Draw, "DrawR")) { if (Riven.R.IsReady()) { Circle.Draw(Color.DarkBlue, Riven.R2.Range, Player.Instance.Position); } } if (RivenMenu.Keybind(RivenMenu.Burst, "BurstAllowed")) { if (Riven.FocusTarget != null) { Circle.Draw(Color.DarkBlue, 150, Riven.FocusTarget.Position); } } if (RivenMenu.Keybind(RivenMenu.Burst, "BurstAllowed")) { Circle.Draw(Color.Red, 800, Player.Instance.Position); } }
private static bool HasMercurial() { if (!Mercurial.IsOwned() && !RivenMenu.CheckBox(RivenMenu.Items, "Qss")) { return(false); } if (Mercurial.IsReady()) { return(true); } return(false); }
private static bool HasYoumu() { if (!Youmu.IsOwned() && !RivenMenu.CheckBox(RivenMenu.Items, "Youmu")) { return(false); } if (Youmu.IsReady()) { return(true); } return(false); }
private static bool HasQss() { if (!Qss.IsOwned() && !RivenMenu.CheckBox(RivenMenu.Items, "Qss")) { return(false); } if (Qss.IsReady()) { return(true); } return(false); }
private static void Harass() { var Target = TargetSelector.GetTarget(R2.Range, DamageType.Physical); if (Target != null) { if (Player.Instance.CountEnemiesInRange(Hydra.Range) > 0) { if (HasHydra()) { Hydra.Cast(); } if (HasTiamat()) { Tiamat.Cast(); } } if (HasYoumu()) { if (Target.Health <= RivenMenu.Slider(RivenMenu.Items, "YoumuHealth")) { Youmu.Cast(); } } if (Q.IsReady() && CountQ < 2) { if (Target.IsValidTarget(Q.Range + 300) && !Target.IsDead) { if (Player.Instance.IsFacing(Target) && ObjectManager.Player.Position.Distance(Target.ServerPosition) > 300) { Q.Cast(Player.Instance.Position.Extend(Target.ServerPosition, 200).To3D()); } } } var EPos = Player.Instance.ServerPosition + (Player.Instance.ServerPosition - Target.ServerPosition); if (Player.Instance.IsFacing(Target) && CountQ == 2 && Q.IsReady() && Target.IsValidTarget(Q.Range)) { { Player.CastSpell(SpellSlot.Q, Target.Position); if (Target.IsValidTarget(W.Range)) { Core.DelayAction(() => Player.CastSpell(SpellSlot.E, Game.CursorPos), 1200); Core.DelayAction(() => Player.CastSpell(SpellSlot.W), 1240); } } } } }
private static bool HasTiamat() { if (!Tiamat.IsOwned() && !RivenMenu.CheckBox(RivenMenu.Items, "Tiamat")) { return(false); } if (Tiamat.IsReady()) { return(true); } return(false); }
private static bool HasHydra() { if (!Hydra.IsOwned() && !RivenMenu.CheckBox(RivenMenu.Items, "Hydra")) { return(false); } if (Hydra.IsReady()) { return(true); } return(false); }
private static void Jungleclear() { { var Monsters = EntityManager.MinionsAndMonsters.GetJungleMonsters().OrderByDescending(x => x.MaxHealth).FirstOrDefault(x => x.IsValidTarget(E.Range)); if (Monsters == null) { return; } if (RivenMenu.CheckBox(RivenMenu.Jungleclear, "UseWJG")) { if (Monsters.IsValidTarget(W.Range)) { W.Cast(); } } if (RivenMenu.CheckBox(RivenMenu.Jungleclear, "UseEJG")) { if (Monsters.IsValidTarget(E.Range)) { Player.CastSpell(SpellSlot.E, Monsters.Position); } } } { if (ObjectManager.Player.Level <= 1) { var jminions = EntityManager.MinionsAndMonsters.GetJungleMonsters(Player.Instance.ServerPosition, 1000, true); foreach (var jungleMobs in jminions.Where(x => x.IsValidTarget(Player.Instance.AttackRange))) { if (jungleMobs == null) { return; } if (jungleMobs != null) { if (jungleMobs.Name == "SRU_RedMini10.1.3" || jungleMobs.Name == "SRU_BlueMini1.1.2" || jungleMobs.Name == "SRU_BlueMini21.1.3") { Player.IssueOrder(GameObjectOrder.AttackUnit, jungleMobs); } else { } } } } } }
private static void Laneclear() { var Minion = EntityManager.MinionsAndMonsters.EnemyMinions.Where(x => x.IsValid && !x.IsDead && x.IsValidTarget(W.Range)); var Minions = EntityManager.MinionsAndMonsters.GetCircularFarmLocation(Minion, Q.Range, (int)Q.Range); if (Minion == null) { return; } if (RivenMenu.CheckBox(RivenMenu.Laneclear, "UseWLane")) { if (Minions.HitNumber >= RivenMenu.Slider(RivenMenu.Laneclear, "UseWLaneMin")) { W.Cast(); } } }
private static void BeforeAttack(AttackableUnit target, Orbwalker.PreAttackArgs args) { if (ObjectManager.Player.Level <= 1) { var Junglemode = Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear); if (!Junglemode || !RivenMenu.CheckBox(RivenMenu.Jungleclear, "Level_1 JungleClearing")) { return; } else { { args.Process = false; } } } }
private static void Interrupter_OnInterruptableSpell(Obj_AI_Base sender, Interrupter.InterruptableSpellEventArgs e) { if (sender.IsMe || sender.IsAlly || sender == null) { return; } if (!RivenMenu.CheckBox(RivenMenu.Misc, "Interrupter")) { return; } if (RivenMenu.CheckBox(RivenMenu.Misc, "InterrupterW")) { if (sender.IsValidTarget(W.Range)) { W.Cast(); } } }
private static void Flee() { if (RivenMenu.CheckBox(RivenMenu.Flee, "UseQFlee")) { Q.Cast((Game.CursorPos.Distance(Player.Instance) > Q.Range ? Player.Instance.Position.Extend(Game.CursorPos, Q.Range - 1).To3D() : Game.CursorPos)); } var Target = TargetSelector.GetTarget(R2.Range, DamageType.Physical); if (RivenMenu.CheckBox(RivenMenu.Flee, "UseEFlee")) { if (Target == null || !Target.IsValidTarget(W.Range)) { E.Cast((Game.CursorPos.Distance(Player.Instance) > E.Range ? Player.Instance.Position.Extend(Game.CursorPos, E.Range - 1).To3D() : Game.CursorPos)); } else if (Target.IsValidTarget(W.Range)) { E.Cast((Game.CursorPos.Distance(Player.Instance) > E.Range ? Player.Instance.Position.Extend(Game.CursorPos, E.Range - 1).To3D() : Game.CursorPos)); Core.DelayAction(() => Player.CastSpell(SpellSlot.W), 40); } } }
private static void Gapcloser_OnGapcloser(AIHeroClient sender, Gapcloser.GapcloserEventArgs e) { if (sender.IsMe || sender.IsAlly || sender == null) { return; } if (!RivenMenu.CheckBox(RivenMenu.Misc, "Gapcloser")) { return; } if (RivenMenu.CheckBox(RivenMenu.Misc, "GapcloserW")) { if (sender.IsValidTarget(W.Range)) { if (W.IsReady()) { W.Cast(); } } } }
private static void ChooseR2(AIHeroClient Target) { switch (RivenMenu.ComboBox(RivenMenu.Combo, "UseR2Type")) { case 0: if (Target.IsValidTarget(R2.Range)) { if (RDamage(Target, Target.Health) * 0.80 >= Target.Health) { var RPred = R2.GetPrediction(FocusTarget); if (RPred.HitChance >= HitChance.High) { R2.Cast(RPred.UnitPosition); } } } break; case 1: if (FocusTarget.IsValidTarget(R2.Range)) { var RPred = R2.GetPrediction(FocusTarget); if (RPred.HitChance >= HitChance.High) { R2.Cast(RPred.UnitPosition); } } break; } }
private static void Combo() { var Target = TargetSelector.GetTarget(R2.Range, DamageType.Physical); if (Target != null) { if (R.IsReady()) { if (CheckUlt() == false) { if (Target.HealthPercent >= RivenMenu.Slider(RivenMenu.Combo, "DontR1")) { ChooseR(Target); } } } if (RivenMenu.CheckBox(RivenMenu.Combo, "UseR2Combo")) { if (CheckUlt() == true) { ChooseR2(Target); } } if (Player.Instance.CountEnemiesInRange(Hydra.Range) > 0) { if (HasHydra()) { Hydra.Cast(); } if (HasTiamat()) { Tiamat.Cast(); } } if (HasYoumu()) { if (Target.Health <= RivenMenu.Slider(RivenMenu.Items, "YoumuHealth")) { Youmu.Cast(); } } if (CountQ == 2 && Q.IsReady()) { if (Player.Instance.IsFacing(Target) && Target.IsValidTarget(450) && Target.CanMove && !Player.HasBuff("Valor")) { Player.CastSpell(SpellSlot.Q, Target.Position); } } if (CountQ != 2 && E.IsReady() && RivenMenu.CheckBox(RivenMenu.Combo, "UseECombo")) { if (Target.IsValidTarget(E.Range) && Target.CanMove) { Player.CastSpell(SpellSlot.E, Target.Position); } } if (W.IsReady() && RivenMenu.CheckBox(RivenMenu.Combo, "UseWCombo")) { if (Target.IsValidTarget(W.Range) && Target.CanMove && !Player.HasBuff("Valor")) { Player.CastSpell(SpellSlot.W, Target.Position); } } if (Player.Instance.IsFacing(Target) && ObjectManager.Player.Position.Distance(Target.ServerPosition) > Player.Instance.GetAutoAttackRange(Target) && ObjectManager.Player.Position.Distance(Target.ServerPosition) < 400) { { Q.Cast(Player.Instance.Position.Extend(Target.ServerPosition, 250).To3D()); } } } }
private static void ChooseR(AIHeroClient Target) { switch (RivenMenu.ComboBox(RivenMenu.Combo, "UseRType")) { case 0: if (Target.HealthPercent <= 40) { if (RivenMenu.CheckBox(RivenMenu.Misc, "BrokenAnimations")) { if (W.IsReady() && RivenMenu.CheckBox(RivenMenu.Combo, "UseWCombo")) { if (Target.IsValidTarget(W.Range)) { R.Cast(); W.Cast(); } } else if (E.IsReady() && RivenMenu.CheckBox(RivenMenu.Combo, "UseECombo")) { if (Target.IsValidTarget(E.Range)) { R.Cast(); Player.CastSpell(SpellSlot.E, Target.Position); } } } else { R.Cast(); } } break; case 1: if (DamageTotal(Target) >= Target.Health) { if (RivenMenu.CheckBox(RivenMenu.Misc, "BrokenAnimations")) { if (W.IsReady() && RivenMenu.CheckBox(RivenMenu.Combo, "UseWCombo")) { if (Target.IsValidTarget(W.Range)) { R.Cast(); W.Cast(); } } else if (E.IsReady() && RivenMenu.CheckBox(RivenMenu.Combo, "UseECombo")) { if (Target.IsValidTarget(E.Range)) { R.Cast(); Player.CastSpell(SpellSlot.E, Target.Position); } } } else { R.Cast(); } } break; case 2: if (RivenMenu.CheckBox(RivenMenu.Misc, "BrokenAnimations")) { if (W.IsReady() && RivenMenu.CheckBox(RivenMenu.Combo, "UseWCombo")) { if (Target.IsValidTarget(W.Range)) { R.Cast(); W.Cast(); } } else if (E.IsReady() && RivenMenu.CheckBox(RivenMenu.Combo, "UseECombo")) { if (Target.IsValidTarget(E.Range)) { R.Cast(); Player.CastSpell(SpellSlot.E, Target.Position); } } } else { R.Cast(); } break; case 3: if (RivenMenu.Keybind(RivenMenu.Combo, "ForceR")) { R.Cast(); } break; } }
private static void Game_OnUpdate(EventArgs args) { if (Player.Instance.IsDead) { return; } if (!Flash.IsReady()) { RivenMenu.Burst["BurstAllowed"].Cast <KeyBind>().CurrentValue = false; } if (Player.Instance.HasBuffOfType(BuffType.Charm) && RivenMenu.CheckBox(RivenMenu.Items, "QssCharm")) { if (HasQss()) { Qss.Cast(); } if (HasMercurial()) { Mercurial.Cast(); } } else if (Player.Instance.HasBuffOfType(BuffType.Charm) && RivenMenu.CheckBox(RivenMenu.Items, "QssFear")) { if (HasQss()) { Qss.Cast(); } if (HasMercurial()) { Mercurial.Cast(); } } else if (Player.Instance.HasBuffOfType(BuffType.Charm) && RivenMenu.CheckBox(RivenMenu.Items, "QssTaunt")) { if (HasQss()) { Qss.Cast(); } if (HasMercurial()) { Mercurial.Cast(); } } else if (Player.Instance.HasBuffOfType(BuffType.Charm) && RivenMenu.CheckBox(RivenMenu.Items, "QssSuppression")) { if (HasQss()) { Qss.Cast(); } if (HasMercurial()) { Mercurial.Cast(); } } else if (Player.Instance.HasBuffOfType(BuffType.Snare) && RivenMenu.CheckBox(RivenMenu.Items, "QssSnare")) { if (HasQss()) { Qss.Cast(); } if (HasMercurial()) { Mercurial.Cast(); } } if (RivenMenu.CheckBox(RivenMenu.Misc, "Skin")) { Player.Instance.SetSkinId(RivenMenu.Slider(RivenMenu.Misc, "SkinID")); } if (Player.Instance.CountEnemiesInRange(W.Range) >= RivenMenu.Slider(RivenMenu.Combo, "W/Auto")) { W.Cast(); } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo)) { if (RivenMenu.Keybind(RivenMenu.Burst, "BurstAllowed")) { Burst(); } else { Combo(); } if (RivenMenu.CheckBox(RivenMenu.Combo, "UseR2Combo")) { if (RivenMenu.Keybind(RivenMenu.Burst, "BurstAllowed")) { if (CheckUlt() == true) { ChooseR2(FocusTarget); } } } } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Flee)) { Flee(); } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear)) { Laneclear(); } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LastHit)) { LastHit(); } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear)) { Jungleclear(); } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Harass)) { Harass(); } }
private static void Combo() { var Target = TargetSelector.GetTarget(R2.Range, DamageType.Physical); if (Target != null) { if (R.IsReady()) { if (CheckUlt() == false) { if (Target.HealthPercent >= RivenMenu.Slider(RivenMenu.Combo, "DontR1")) { ChooseR(Target); } } } if (RivenMenu.CheckBox(RivenMenu.Combo, "UseR2Combo")) { if (CheckUlt() == true) { ChooseR2(Target); } } if (Player.Instance.CountEnemiesInRange(Hydra.Range) > 0) { if (HasHydra()) { Hydra.Cast(); } if (HasTiamat()) { Tiamat.Cast(); } } if (HasYoumu()) { if (Target.Health <= RivenMenu.Slider(RivenMenu.Items, "YoumuHealth")) { Youmu.Cast(); } } if (E.IsReady() && RivenMenu.CheckBox(RivenMenu.Combo, "UseECombo")) { if (Target.IsValidTarget(E.Range)) { Player.CastSpell(SpellSlot.E, Target.Position); } } if (W.IsReady() && RivenMenu.CheckBox(RivenMenu.Combo, "UseWCombo")) { if (Target.IsValidTarget(W.Range)) { Core.DelayAction(() => W.Cast(), 40); } } } }
private static void Orbwalker_OnPostAttack(AttackableUnit target, EventArgs args) { if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo)) { if (RivenMenu.CheckBox(RivenMenu.Combo, "UseQCombo") && Q.IsReady()) { if (CountQ == 0 || !Orbwalker.IsAutoAttacking) { Q.Cast(target.Position); } if (CountQ == 1 || !Orbwalker.IsAutoAttacking) { Q.Cast(target.Position); } if (CountQ == 2 || !Orbwalker.IsAutoAttacking) { Q.Cast(target.Position); } } } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Harass) && target.Type == GameObjectType.AIHeroClient) { if (RivenMenu.CheckBox(RivenMenu.Combo, "UseQCombo") && Q.IsReady()) { if (CountQ == 0 || !Orbwalker.IsAutoAttacking) { Q.Cast(target.Position); } if (CountQ == 1 || !Orbwalker.IsAutoAttacking) { Q.Cast(target.Position); } if (CountQ == 2 || !Orbwalker.IsAutoAttacking) { Q.Cast(target.Position); } } } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear)) { if (RivenMenu.CheckBox(RivenMenu.Laneclear, "UseQLane") && Q.IsReady()) { if (CountQ == 0 || !Orbwalker.IsAutoAttacking) { Q.Cast(target.Position); } if (CountQ == 1 || !Orbwalker.IsAutoAttacking) { Q.Cast(target.Position); } // if (CountQ == 2 || !Orbwalker.IsAutoAttacking) //{ // Q.Cast(target.Position); //} } } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear)) { if (RivenMenu.CheckBox(RivenMenu.Jungleclear, "UseQJG") && Q.IsReady()) { if (CountQ == 0 || !Orbwalker.IsAutoAttacking) { Q.Cast(target.Position); } if (CountQ == 1 || !Orbwalker.IsAutoAttacking) { Q.Cast(target.Position); } if (CountQ == 2 || !Orbwalker.IsAutoAttacking) { Q.Cast(target.Position); } } } }
private static void Burst() { if (FocusTarget.Health == 0) { return; } if (RivenMenu.ComboBox(RivenMenu.Burst, "BurstType") == 0) { if (DamageTotal(FocusTarget) >= FocusTarget.Health) { if (FocusTarget.IsValidTarget(800)) { switch (RivenMenu.Slider(RivenMenu.Burst, "BurstStyle")) { case 1: if (E.IsReady()) { Player.CastSpell(SpellSlot.E, FocusTarget.Position); } if (Flash.IsReady()) { Flash.Cast(FocusTarget.Position); } if (R.IsReady() && !CheckUlt()) { R.Cast(); } if (FocusTarget.IsValidTarget(Hydra.Range)) { if (HasTiamat()) { Tiamat.Cast(); } if (HasHydra()) { Hydra.Cast(); } } if (W.IsReady()) { if (FocusTarget.IsValidTarget(W.Range)) { W.Cast(); } } break; case 2: if (E.IsReady()) { Player.CastSpell(SpellSlot.E, FocusTarget.Position); } if (R.IsReady() && !CheckUlt()) { R.Cast(); } if (Flash.IsReady()) { Flash.Cast(FocusTarget.Position); } if (FocusTarget.IsValidTarget(Hydra.Range)) { if (HasTiamat()) { Tiamat.Cast(); } if (HasHydra()) { Hydra.Cast(); } } if (W.IsReady()) { if (FocusTarget.IsValidTarget(W.Range)) { W.Cast(); } } break; } } } } }
private static void Obj_AI_Base_OnProcessSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args) { if (sender.IsMe || sender.IsAlly || sender == null) { return; } var EPos = Player.Instance.ServerPosition + (Player.Instance.ServerPosition - sender.ServerPosition).Normalized() * 300; if (Player.Instance.IsValidTarget(args.SData.CastRange)) { if (args.Slot == SpellSlot.Q) { if (RivenMenu.CheckBox(RivenMenu.Shield, "E/" + sender.BaseSkinName + "/Q")) { if (args.SData.TargettingType == SpellDataTargetType.Unit) { if (Player.Instance.NetworkId == args.Target.NetworkId) { E.Cast(EPos); } } else if (args.SData.TargettingType == SpellDataTargetType.SelfAoe) { E.Cast(EPos); } else { E.Cast(EPos); } } } if (args.Slot == SpellSlot.W) { if (RivenMenu.CheckBox(RivenMenu.Shield, "E/" + sender.BaseSkinName + "/W")) { if (args.SData.TargettingType == SpellDataTargetType.Unit) { if (Player.Instance.NetworkId == args.Target.NetworkId) { E.Cast(EPos); } } else if (args.SData.TargettingType == SpellDataTargetType.SelfAoe) { E.Cast(EPos); } else { E.Cast(EPos); } } } if (args.Slot == SpellSlot.E) { if (RivenMenu.CheckBox(RivenMenu.Shield, "E/" + sender.BaseSkinName + "/E")) { if (args.SData.TargettingType == SpellDataTargetType.Unit) { if (Player.Instance.NetworkId == args.Target.NetworkId) { E.Cast(EPos); } } else if (args.SData.TargettingType == SpellDataTargetType.SelfAoe) { E.Cast(EPos); } else { E.Cast(EPos); } } } if (args.Slot == SpellSlot.R) { if (RivenMenu.CheckBox(RivenMenu.Shield, "E/" + sender.BaseSkinName + "/R")) { if (args.SData.TargettingType == SpellDataTargetType.Unit) { if (Player.Instance.NetworkId == args.Target.NetworkId) { E.Cast(EPos); } } else if (args.SData.TargettingType == SpellDataTargetType.SelfAoe) { E.Cast(EPos); } else { E.Cast(EPos); } } } } }
private static void Obj_AI_Base_OnProcessSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args) { { if (!sender.IsMe) { return; } if (args.SData.Name.ToLower().Contains(Riven.W.Name.ToLower())) { LastCastW = Environment.TickCount; return; } if (args.SData.Name.ToLower().Contains(Riven.Q.Name.ToLower())) { LastCastQ = Environment.TickCount; Core.DelayAction(() => { if (!Player.Instance.IsRecalling() && CountQ <= 2) { Player.CastSpell(SpellSlot.Q, Orbwalker.LastTarget != null && Orbwalker.LastAutoAttack - Environment.TickCount < 3000 ? Orbwalker.LastTarget.Position : Game.CursorPos); } }, 3480); return; } } { if (sender.IsMe || sender.IsAlly || sender == null) { return; } var EPos = Player.Instance.ServerPosition + (Player.Instance.ServerPosition - sender.ServerPosition); if (Player.Instance.IsValidTarget(args.SData.CastRange)) { if (args.Slot == SpellSlot.Q) { if (RivenMenu.CheckBox(RivenMenu.Shield, "E/" + sender.BaseSkinName + "/Q")) { if (args.SData.TargettingType == SpellDataTargetType.Unit) { if (Player.Instance.NetworkId == args.Target.NetworkId) { E.Cast(EPos); } } else if (args.SData.TargettingType == SpellDataTargetType.SelfAoe) { E.Cast(EPos); } else { E.Cast(EPos); } } } if (args.Slot == SpellSlot.W) { if (RivenMenu.CheckBox(RivenMenu.Shield, "E/" + sender.BaseSkinName + "/W")) { if (args.SData.TargettingType == SpellDataTargetType.Unit) { if (Player.Instance.NetworkId == args.Target.NetworkId) { E.Cast(EPos); } } else if (args.SData.TargettingType == SpellDataTargetType.SelfAoe) { E.Cast(EPos); } else { E.Cast(EPos); } } } if (args.Slot == SpellSlot.E) { if (RivenMenu.CheckBox(RivenMenu.Shield, "E/" + sender.BaseSkinName + "/E")) { if (args.SData.TargettingType == SpellDataTargetType.Unit) { if (Player.Instance.NetworkId == args.Target.NetworkId) { E.Cast(EPos); } } else if (args.SData.TargettingType == SpellDataTargetType.SelfAoe) { E.Cast(EPos); } else { E.Cast(EPos); } } } if (args.Slot == SpellSlot.R) { if (RivenMenu.CheckBox(RivenMenu.Shield, "E/" + sender.BaseSkinName + "/R")) { if (args.SData.TargettingType == SpellDataTargetType.Unit) { if (Player.Instance.NetworkId == args.Target.NetworkId) { E.Cast(EPos); } } else if (args.SData.TargettingType == SpellDataTargetType.SelfAoe) { E.Cast(EPos); } else { E.Cast(EPos); } } } } } }