/// <summary> /// Fired when the game loads. /// </summary> /// <param name="args">The <see cref="EventArgs"/> instance containing the event data.</param> private static void Game_OnGameLoad(EventArgs args) { if (Player.ChampionName != "Zed") { return; } Q = new Spell(SpellSlot.Q, 900f); W = new Spell(SpellSlot.W, 600f); E = new Spell(SpellSlot.E, 290f); R = new Spell(SpellSlot.R, 625f); Q.SetSkillshot(.4f, 45, 1700, false, SkillshotType.SkillshotLine); CreateMenu(); ObjectManager.Player.LastCastedSpellName(); ShadowManager.Initialize(); Botrk = new Items.Item((int)ItemId.Blade_of_the_Ruined_King, 550); Cutlass = new Items.Item((int)ItemId.Bilgewater_Cutlass, 550); Hydra = new Items.Item((int)ItemId.Ravenous_Hydra_Melee_Only, 400); Tiamat = new Items.Item((int)ItemId.Tiamat_Melee_Only); Utility.HpBarDamageIndicator.DamageToUnit = DamageToUnit; Utility.HpBarDamageIndicator.Enabled = true; Game.PrintChat("<font color=\"#7CFC00\"><b>Project Zed:</b></font> by Shiver & ChewyMoon loaded"); Game.OnUpdate += Game_OnUpdate; Drawing.OnDraw += Drawing_OnDraw; Obj_AI_Base.OnProcessSpellCast += Obj_AI_Base_OnProcessSpellCast; }
/// <summary> /// Does the combo. /// </summary> /// <param name="checkHp">if set to <c>true</c> will use R only if the target is killable.</param> private static void DoCombo(bool checkHp) { var target = TargetSelector.GetTarget( ShadowManager.RShadowState == ShadowManager.ShadowState.Cast ? R.Range : Q.Range, TargetSelector.DamageType.Physical); if (target == null) { CloseGap(); } if (target == null || !target.IsValidTarget()) { return; } var useQCombo = Menu.Item("UseQCombo").IsActive(); var useWCombo = Menu.Item("UseWCombo").IsActive(); var useECombo = Menu.Item("UseECombo").IsActive(); var useRCombo = Menu.Item("UseRCombo").IsActive(); if (useRCombo && R.IsReady() && ShadowManager.RShadowState == ShadowManager.ShadowState.Cast) { if (checkHp && DamageToUnit(target) > target.Health) { R.CastOnUnit(target); } else if (!checkHp) { R.CastOnUnit(target); } } if (useRCombo && R.IsReady() && ShadowManager.RShadowState == ShadowManager.ShadowState.Swap && ShadowManager.CanSwapToR(target, LastTarget)) { R.Cast(); } if (useWCombo && W.IsReady() && ShadowManager.WShadowState == ShadowManager.ShadowState.Cast) { var position = Player.ServerPosition.Extend(target.ServerPosition, W.Range); W.Cast(position); } if (useWCombo && W.IsReady() && ShadowManager.WShadowState == ShadowManager.ShadowState.Swap && ShadowManager.CanSwapToW(target, LastTarget)) { W.Cast(); } if (useQCombo && Q.IsReady()) { Q.Cast(target); } if (useECombo && E.IsReady() && ShadowManager.CanCastE) { E.Cast(); } LastTarget = target; }