private static void OrbwalkerOnPreAttack(AttackableUnit target, EventArgs args) { if (SettingsModes.Combo.UseItems && Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo) && CanUseItem(ItemId.Youmuus_Ghostblade)) { Youmuu.Cast(); } if (target is AIHeroClient && SettingsModes.Combo.UseSmite && Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo) && (SpellManager.HasChillingSmite() || SpellManager.HasChallengingSmite()) && SpellManager.Smite.IsReady()) { var enemy = (AIHeroClient)target; if (enemy.IsValidTarget(SpellManager.Smite.Range)) { SpellManager.Smite.Cast(enemy); Debug.WriteChat("Casting Smite before attacking enemy in combo"); } } // No sense in checking if W is off cooldown if (!SpellManager.W.IsReady()) { return; } // Check if we should use W to attack heroes if ((SettingsModes.Combo.UseW && Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo)) || (SettingsModes.Harass.UseW && Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Harass)) || (Orbwalker.LaneClearAttackChamps && SettingsModes.LaneClear.UseW && Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear))) { if (target is AIHeroClient && PlayerMana >= SettingsMana.MinWMana) { SpellManager.W.Cast(); Debug.WriteChat("Casting W, because attacking enemy hero in Combo or Harras or LaneClear."); return; } } // Check if we should use W to attack minions/monsters/turrets if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear) || Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear)) { if (target is Obj_AI_Minion && PlayerMana >= SettingsMana.MinQMana) { if (SettingsModes.JungleClear.UseW && target.Team == GameObjectTeam.Neutral) { SpellManager.W.Cast(); Debug.WriteChat("Casting W, because attacking monster in JungleClear"); } else if (SettingsModes.LaneClear.UseW && target.IsEnemy) { SpellManager.W.Cast(); Debug.WriteChat("Casting W, because attacking minion in LaneClear"); } } } }
private static void ObjAiBaseOnBuffGain(Obj_AI_Base sender, Obj_AI_BaseBuffGainEventArgs args) { // Cast Challenging Smite in Ult if (SettingsModes.Combo.UseSmite && sender.IsEnemy && sender is AIHeroClient && SpellManager.HasChallengingSmite() && args.Buff.Name.Equals("suppression") && args.Buff.SourceName.Equals("Warwick") && SettingsModes.Combo.UseSmite && Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo)) { SpellManager.Smite.Cast(sender); Debug.WriteChat("Casting Smite in combo with ult."); } }