private static void Obj_AI_Base_OnSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args) { if (!sender.IsMe) { return; } if (args.SData.IsAutoAttack()) { Queuer.Remove("AA"); if (Queuer.Queue.Any() && Queuer.Queue[0] == "Q") { var target = args.Target as Obj_AI_Base; if (target != null && (SpellManager.Spells[SpellSlot.R].IsReady() && Player.Instance.CalculateDamageOnUnit(target, DamageType.Physical, (int)DamageHandler.RDamage(target)) >= target.Health && SpellEvents.HasR2 && Program.ComboMenu["combo.useR2"].Cast <CheckBox>().CurrentValue)) { Queuer.Queue = new List <string>(); return; } Player.CastSpell(SpellSlot.Q, args.Target.Position); Queuer.Remove("Q"); Orbwalker.ResetAutoAttack(); } else if (!Queuer.Queue.Any() && Queuer.tiamat != null && Queuer.tiamat.CanUseItem() && Program.ComboMenu["combo.hydra"].Cast <CheckBox>().CurrentValue&& Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo) && args.Target is AIHeroClient) { Queuer.tiamat.Cast(); Orbwalker.ResetAutoAttack(); } } if (args.SData.Name.ToLower().Contains("itemtiamatcleave")) { Queuer.Remove("H"); Orbwalker.ResetAutoAttack(); } if (Orbwalker.ActiveModesFlags == Orbwalker.ActiveModes.None && !Program.ComboMenu["combo.alwaysCancelQ"].Cast <CheckBox>().CurrentValue) { return; } if (args.SData.Name.ToLower().Contains("riventricleave")) { Orbwalker.ResetAutoAttack(); if (QCount == 2) { Core.DelayAction(CancelAnimation, 362 + Game.Ping); return; } Core.DelayAction(CancelAnimation, 250 + Game.Ping); } }
private static void Obj_AI_Base_OnProcessSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args) { if (!sender.IsMe) { return; } if (args.SData.Name.ToLower().Contains("attack")) { if (PassiveStacks > 0) { PassiveStacks--; } LastCast["AA"] = Environment.TickCount; } switch (args.SData.Name.ToLower()) { case "riventricleave": //Q LastCast["Q"] = Environment.TickCount; Queuer.Remove("Q"); if (PassiveStacks <= 2) { PassiveStacks++; } // Managing Q Stacks if (QCount <= 1) { QCount++; } else { QCount = 0; } break; case "rivenmartyr": //W LastCast["W"] = Environment.TickCount; if (PassiveStacks <= 2) { PassiveStacks++; } Queuer.Remove("W"); break; case "rivenfeint": //E LastCast["E"] = Environment.TickCount; if (PassiveStacks <= 2) { PassiveStacks++; } Queuer.Remove("E"); break; case "rivenfengshuiengine": //R1 LastCast["R1"] = Environment.TickCount; if (PassiveStacks <= 2) { PassiveStacks++; } Queuer.Remove("R1"); HasR = true; HasR2 = true; break; case "rivenizunablade": //R2 LastCast["R2"] = Environment.TickCount; if (PassiveStacks <= 2) { PassiveStacks++; } Queuer.Remove("R2"); HasR2 = false; break; } }