public static void OnGapcloser(Obj_AI_Hero sender, GapcloserArgs args) { if (sender.IsMe || !sender.IsEnemy || args.EndPosition.Distance(Global.Player) > 1000) { return; } if (SpellManager.W.Ready && MenuConfig.Misc["W"].Enabled) { var allyT = GameObjects.AllyTurrets.FirstOrDefault(x => x.IsValid); if (allyT != null && ShadowManager.CanCastFirst(SpellSlot.W)) { SpellManager.W.Cast(allyT.ServerPosition); } else { ShadowManager.SwitchToShadows(); } } else if (SpellManager.R.Ready) { var enemy = GameObjects.EnemyHeroes.OrderBy(x => x.Health).FirstOrDefault(x => x.IsValidTarget(SpellManager.R.Range)); if (enemy == null) { return; } SpellManager.R.Cast(enemy); } }
private void InitShadowManager() { if( shadowManager == null ) { shadowManager = ReferenceManager.ShadowManager; } }
public static void OnUpdate() { var target = Global.TargetSelector.GetTarget(SpellManager.WCastRange + SpellManager.Q.Range); if (target == null || Maths.GetEnergyPercent() < MenuConfig.Harass["Energy"].Value) { return; } if (SpellManager.E.Ready && MenuConfig.Harass["E"].Enabled) { SpellManager.CastE(target); } if (SpellManager.W.Ready && target.IsValidTarget(SpellManager.WCastRange + SpellManager.E.Range)) { if (ShadowManager.CanCastFirst(SpellSlot.W) && MenuConfig.Harass["W"].Enabled) { SpellManager.CastW(target); } else if (ShadowManager.CanSwitchToShadow(SpellSlot.W) && MenuConfig.Harass["W2"].Enabled && Global.Player.HealthPercent() >= MenuConfig.Harass["Health"].Value && !target.IsUnderEnemyTurret()) { SpellManager.CastW(target, true); } } if (SpellManager.Q.Ready && MenuConfig.Harass["Q"].Enabled) { SpellManager.CastQ(target); } }
public static void OnUpdate() { var target = TargetSelector.GetTarget(SpellManager.WCastRange + Global.Player.AttackRange); if (target == null || Maths.GetEnergyPercent() < MenuConfig.Harass["Energy"].Value) { return; } if (SpellManager.W.Ready && MenuConfig.Harass["W"].Enabled) { if (ShadowManager.CanCastW1()) { SpellManager.W.Cast(target.ServerPosition); } else if (!ShadowManager.CanCastW1() && ShadowManager.CanSwitchToShadow() && MenuConfig.Harass["W2"].Enabled && Global.Player.HealthPercent() >= MenuConfig.Harass["Health"].Value && !target.IsUnderEnemyTurret()) { SpellManager.W.Cast(); } } else if (SpellManager.Q.Ready && MenuConfig.Harass["Q"].Enabled) { SpellManager.CastQ(target); } else if (SpellManager.E.Ready && MenuConfig.Harass["E"].Enabled) { SpellManager.CastE(target); } }
private static void CastW(Obj_AI_Hero target) { if (!HasEnergy(new[] { SpellSlot.W, SpellSlot.Q })) { return; } if (ShadowManager.WShadow.IsUsable) { if (_spells[SpellSlot.W].IsReady() && WShadowSpell.ToggleState == 0 && Environment.TickCount - _spells[SpellSlot.W].LastCastAttemptT > 0) { Vector2 position = Player.ServerPosition.To2D() .Extend(target.ServerPosition.To2D(), _spells[SpellSlot.W].Range); if (position.Distance(target) <= _spells[SpellSlot.Q].Range) { if (IsPassWall(Player.ServerPosition, target.ServerPosition)) { return; } _spells[SpellSlot.W].Cast(position); _spells[SpellSlot.W].LastCastAttemptT = Environment.TickCount + 500; } } } if (ShadowManager.CanGoToShadow(ShadowManager.WShadow) && WShadowSpell.ToggleState == 2) { if (Menu.Item("com.idz.zed.combo.swapw").GetValue <bool>() && ShadowManager.WShadow.ShadowObject.Distance(target.ServerPosition) < Player.Distance(target.ServerPosition)) { _spells[SpellSlot.W].Cast(); } } }
void Start() { universe = (Universe)GameObject.Find("GameManager").GetComponent(typeof(Universe)); cellCoordPosition = gameObject.GetComponent <CellCoordPosition>(); shadowManager = gameObject.GetComponent <ShadowManager>(); for (int i = 0; i < numOfPlanets; i++) { int randomIndex = Random.Range(0, planets.Count); GameObject planet = planets[randomIndex]; PrefabCoord planetCoord = new PrefabCoord(); planetCoord.prefab = planet; planetCoord.GlobalX = (long)Random.Range(-maxGlobalDistance, maxGlobalDistance); planetCoord.GlobalY = (long)Random.Range(-maxGlobalDistance, maxGlobalDistance); planetCoord.GlobalZ = 0; planetCoord.LocalX = Random.Range(-cellCoordPosition.GetCellSize(), cellCoordPosition.GetCellSize()); planetCoord.LocalY = Random.Range(-cellCoordPosition.GetCellSize(), cellCoordPosition.GetCellSize()); planetCoord.LocalZ = 0; planetCoord.GlobalX += (long)cellCoordPosition.GetGlobalPos().x; planetCoord.GlobalY += (long)cellCoordPosition.GetGlobalPos().y; planetCoord.GlobalZ += (long)cellCoordPosition.GetGlobalPos().z; planetCoord.LocalX += cellCoordPosition.GetLocalPos().x; planetCoord.LocalY += cellCoordPosition.GetLocalPos().y; planetCoord.LocalZ += cellCoordPosition.GetLocalPos().z; GameObject instantiatedPlanet = universe.InstatntiateUniverseObject(planetCoord); instantiatedPlanets.Add(instantiatedPlanet); shadowManager.planet[i] = instantiatedPlanet; } shadowManager.Init(numOfPlanets); }
float y; //Anchor point Y // Use this for initialization void Start() { sinValue = 0; shadowManager = textShadow.GetComponent <ShadowManager> (); titleManager = title.GetComponent <TitleManager> (); textMesh = this.GetComponent <TextMesh> (); }
public ShadowManager shadowManager; // consider changing this for consistency across scripts // Use this for initialization void Awake() { myText = transform.GetChild(0).transform.GetComponent <Text>().text; GameObject shadowGO = GameObject.Find("Shadow Cube"); shadow = shadowGO.transform.GetComponent <Shadow>(); shadowManager = shadowGO.transform.GetComponent <ShadowManager>(); }
float y; //Anchor point Y // Use this for initialization void Start() { sinValue = 0; x = this.transform.position.x; y = this.transform.position.y; shadowManager = boardShadow.GetComponent <ShadowManager> (); spriteRenderer = this.GetComponent <SpriteRenderer> (); }
public override void Execute() { var q = PluginModel.Q; var w = PluginModel.W; var e = PluginModel.E; var target = AdvancedTargetSelector.GetTarget(q.Range + w.Range, DamageType.Physical); if (target == null || !target.IsValidTarget()) { return; } if (w.IsReady() && e.IsReady() && q.IsReady() && Misc.IsChecked(PluginModel.HarassMenu, "hsQ") && Misc.IsChecked(PluginModel.HarassMenu, "hsW") && Misc.IsChecked(PluginModel.HarassMenu, "hsE") && !Player.Instance.HasBuff("zedwhandler")) { var predictionW = w.GetPrediction(target); if (predictionW.HitChance >= HitChance.Medium && !Player.Instance.HasBuff("zedwhandler") && ShadowManager.CanCastW) { Player.CastSpell(SpellSlot.W, predictionW.CastPosition); } } if (e.IsReady() && Misc.IsChecked(PluginModel.HarassMenu, "hsE")) { if (e.IsInRange(target)) { e.Cast(); } else { var shadows = ShadowManager.GetShadows(); if (shadows.Count > 0) { if (shadows.FirstOrDefault(shadow => shadow.Distance(target) < e.Range) != null) { e.Cast(); } } } } if (q.IsReady() && Misc.IsChecked(PluginModel.HarassMenu, "hsQ")) { var predictionQ = q.GetPrediction(target); if (predictionQ.HitChance >= HitChance.High) { q.Cast(predictionQ.CastPosition); } } }
public static void OnKeyPressed() { Global.Orbwalker.Move(Game.CursorPos); if (ShadowManager.CanCastFirst(SpellSlot.W)) { SpellManager.W.Cast(Game.CursorPos); } else { SpellManager.W.Cast(); } }
/// <summary> /// TODO The on load. /// </summary> public static void OnLoad() { if (Player.ChampionName != "Zed") { return; } ShadowManager.OnLoad(); InitMenu(); InitSpells(); InitEvents(); }
public static void OnUpdate() { var target = TargetSelector.GetTarget(SpellManager.WCastRange + SpellManager.R.Range); if (target == null) { return; } if (SpellManager.R.Ready && target.IsValidTarget(SpellManager.R.Range) && !(MenuConfig.Combo["Killable"].Enabled && Dmg.Damage(target) < target.Health)) { if (!MenuConfig.Combo[target.ChampionName].Enabled) { return; } SpellManager.CastR(target); } if (SpellManager.W.Ready && MenuConfig.Combo["W"].Enabled) { if (ShadowManager.CanCastW1()) { if (!target.IsValidTarget(SpellManager.R.Range)) { SpellManager.W.Cast(target.ServerPosition); } else if (MenuConfig.Combo["Extend"].Enabled) { foreach (var shadow in ShadowManager.Shadows) { SpellManager.W.Cast(target.ServerPosition.Extend(shadow.ServerPosition, -2000f)); } } } else if (ShadowManager.CanSwitchToShadow() && ShadowManager.Shadows.FirstOrDefault().Distance(target) <= Global.Player.Distance(target) && target.Distance(Global.Player) > Global.Player.AttackRange + 65) { SpellManager.W.Cast(); } } else if (SpellManager.Q.Ready && MenuConfig.Combo["Q"].Enabled) { SpellManager.CastQ(target); } if (SpellManager.E.Ready && MenuConfig.Combo["E"].Enabled) { SpellManager.CastE(target); } }
private static void OnFlee() { if (!MenuHelper.GetKeybindValue("fleeActive")) { return; } Player.IssueOrder(GameObjectOrder.MoveTo, Game.CursorPos); if (_spells[SpellSlot.W].IsReady() && ShadowManager.WShadow.IsUsable) { _spells[SpellSlot.W].Cast(Game.CursorPos); } if (ShadowManager.WShadow.Exists && ShadowManager.CanGoToShadow(ShadowManager.WShadow)) { _spells[SpellSlot.W].Cast(); } CastE(); }
/// <summary> /// TODO The on create object. /// </summary> /// <param name="sender"> /// TODO The sender. /// </param> /// <param name="args"> /// TODO The args. /// </param> private static void OnCreateObject(GameObject sender, EventArgs args) { if (!(sender is Obj_GeneralParticleEmitter)) { } if (getCheckBoxItem(comboMenu, "com.idz.zed.combo.swapr")) { if (sender.Name == "Zed_Base_R_buf_tell.troy") { // _deathmarkKilled = true; if (RShadowSpell.ToggleState == 2 && ShadowManager.CanGoToShadow(ShadowManager.RShadow)) { _spells[SpellSlot.R].Cast(); } } } }
/// <summary> /// TODO The on flee. /// </summary> private static void OnFlee() { if (!getKeyBindItem(fleeMenu, "fleeActive") || !Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Flee)) { return; } EloBuddy.Player.IssueOrder(GameObjectOrder.MoveTo, Game.CursorPos); if (_spells[SpellSlot.W].IsReady() && ShadowManager.WShadow.IsUsable) { _spells[SpellSlot.W].Cast(Game.CursorPos); } if (ShadowManager.WShadow.Exists && ShadowManager.CanGoToShadow(ShadowManager.WShadow)) { _spells[SpellSlot.W].Cast(); } CastE(); }
private void PlaymodeStateChangedHandler() { if (ShadowManager.IsDestroyed) { return; } ShadowManager shadowManager = ShadowManager.Instance; if (EditorApplication.isPlaying && !EditorApplication.isPaused) { shadowManager.Clear(false, true); shadowManager.UpdateStaticShadows(); _updateFrameCount = 1; _isClearedOnPlaymodeChange = false; _isPausedOnPlaymodeChangeToPlay = _isPausedOnPlaymodeChangeLast; } _isPausedOnPlaymodeChangeLast = EditorApplication.isPaused; }
/// <summary> /// TODO The on load. /// </summary> public static void OnLoad() { if (Player.ChampionName != "Zed") { return; } Game.PrintChat("iDZed loaded!"); ShadowManager.OnLoad(); _orbwalkingModesDictionary = new Dictionary <Orbwalking.OrbwalkingMode, OnOrbwalkingMode> { { Orbwalking.OrbwalkingMode.Combo, Combo }, { Orbwalking.OrbwalkingMode.Mixed, Harass }, { Orbwalking.OrbwalkingMode.LastHit, LastHit }, { Orbwalking.OrbwalkingMode.LaneClear, Laneclear }, { Orbwalking.OrbwalkingMode.None, () => { } } }; InitMenu(); InitSpells(); InitEvents(); }
void Start() { universe = (Universe)GameObject.Find("GameManager").GetComponent(typeof(Universe)); cellCoordPosition = gameObject.GetComponent <CellCoordPosition>(); shadowManager = gameObject.GetComponent <ShadowManager>(); int i = 0; foreach (PrefabCoord planet in planets) { planet.GlobalX += (long)cellCoordPosition.GetGlobalPos().x; planet.GlobalY += (long)cellCoordPosition.GetGlobalPos().y; planet.GlobalZ += (long)cellCoordPosition.GetGlobalPos().z; planet.LocalX += cellCoordPosition.GetLocalPos().x; planet.LocalY += cellCoordPosition.GetLocalPos().y; planet.LocalZ += cellCoordPosition.GetLocalPos().z; GameObject instantiatedPlanet = universe.InstatntiateUniverseObject(planet); instantiatedPlanets.Add(instantiatedPlanet); shadowManager.planet[i] = instantiatedPlanet; i++; } shadowManager.Init(i); }
/// <summary> /// TODO The cast w. /// </summary> /// <param name="target"> /// TODO The target. /// </param> private static void CastW(AIHeroClient target) { if (!HasEnergy(new[] { SpellSlot.W, SpellSlot.Q })) { return; } if (ShadowManager.WShadow.IsUsable) { if (_spells[SpellSlot.W].IsReady() && WShadowSpell.ToggleState == 0 && Environment.TickCount - _spells[SpellSlot.W].LastCastAttemptT > 0) { var position = Player.ServerPosition.LSTo2D() .LSExtend(target.ServerPosition.LSTo2D(), _spells[SpellSlot.W].Range); if (position.LSDistance(target) <= _spells[SpellSlot.Q].Range) { if (IsPassWall(Player.ServerPosition, target.ServerPosition)) { return; } _spells[SpellSlot.W].Cast(position); _spells[SpellSlot.W].LastCastAttemptT = Environment.TickCount + 500; } } } if (ShadowManager.CanGoToShadow(ShadowManager.WShadow) && WShadowSpell.ToggleState == 2) { if (getCheckBoxItem(comboMenu, "com.idz.zed.combo.swapw") && ShadowManager.WShadow.ShadowObject.LSDistance(target.ServerPosition) < Player.LSDistance(target.ServerPosition)) { _spells[SpellSlot.W].Cast(); } } }
private void OnEnable() { _object = target as ShadowManager; EditorApplication.update += Update; }
/// <summary> /// TODO The do line combo. /// </summary> /// <param name="target"> /// TODO The target. /// </param> private static void DoLineCombo(AIHeroClient target) { if (ShadowManager.RShadow.IsUsable) { if (getCheckBoxItem(miscMenu, "checkQWE")) { if (_spells[SpellSlot.Q].IsReady() && _spells[SpellSlot.W].IsReady() && _spells[SpellSlot.E].IsReady()) { if (_spells[SpellSlot.R].IsReady() && _spells[SpellSlot.R].IsInRange(target)) { _spells[SpellSlot.R].Cast(target); } } } else { if (_spells[SpellSlot.R].IsReady() && _spells[SpellSlot.R].IsInRange(target)) { _spells[SpellSlot.R].Cast(target); } } } if (GetMarkedTarget() != null) { target = GetMarkedTarget(); } if (ShadowManager.RShadow.Exists && ShadowManager.WShadow.IsUsable) { var wCastLocation = Player.ServerPosition - Vector3.Normalize(target.ServerPosition - Player.ServerPosition) * 400; if (ShadowManager.WShadow.IsUsable && WShadowSpell.ToggleState == 0 && Environment.TickCount - _spells[SpellSlot.W].LastCastAttemptT > 0) { _spells[SpellSlot.W].Cast(wCastLocation); // Maybe add a delay giving the target a chance to flash / zhonyas then it will place w at best location for more damage _spells[SpellSlot.W].LastCastAttemptT = Environment.TickCount + 500; } } if (ShadowManager.WShadow.Exists && ShadowManager.RShadow.Exists) { CastQ(target); CastE(); } else if (ShadowManager.RShadow.Exists && !ShadowManager.WShadow.IsUsable && !ShadowManager.WShadow.Exists) { CastQ(target); CastE(); } if (ShadowManager.CanGoToShadow(ShadowManager.WShadow) && WShadowSpell.ToggleState == 2) { // && !_deathmarkKilled) if (getCheckBoxItem(comboMenu, "com.idz.zed.combo.swapw") && ShadowManager.WShadow.ShadowObject.LSDistance(target.ServerPosition) < Player.LSDistance(target.ServerPosition)) { _spells[SpellSlot.W].Cast(); } } }
private void EditorUpdate() { string currentScene = Application.loadedLevelName; string currentEditorScene = EditorApplication.currentScene; ShadowManager shadowManager = ShadowManager.Instance; // Re-attach camera events and repaint when // some frames have passed if (_updateFrameCount > 0) { _updateFrameCount--; EditorApplication.delayCall += () => { shadowManager.UpdateCameraEvents(Camera.allCameras); shadowManager.UpdateCameraEvents(SceneView.GetAllSceneCameras()); shadowManager.UpdateStaticShadows(); SceneView.RepaintAll(); }; } // Clear before entering Play mode if (!_isPausedOnPlaymodeChangeToPlay && !_isClearedOnPlaymodeChange && _reloadMarker != null && EditorApplication.isPlayingOrWillChangePlaymode && !ShadowManager.IsDestroyed) { ShadowManager.Instance.Clear(false, true); ShadowManager.Instance.UpdateStaticShadows(); _isClearedOnPlaymodeChange = true; } // When current scene has changed if (_reloadMarker != null && (_lastScene != currentScene || _lastEditorScene != currentEditorScene) && !ShadowManager.IsDestroyed) { // Destroy ShadowManager if there are no shadows in the scene if (ShadowManager.Instance.ShadowManagers.Count == 0) { DestroyImmediate(ShadowManager.Instance.gameObject); } else if (!EditorApplication.isPlaying && !EditorApplication.isPlayingOrWillChangePlaymode) { // Otherwise just clean ShadowManager.Instance.Clear(false, true); ShadowManager.Instance.UpdateStaticShadows(); EditorApplication.delayCall += () => { shadowManager.UpdateCameraEvents(Camera.allCameras); }; } } if (_reloadMarker == null) { _reloadMarker = new object(); SetIsMustUpdate(); } _lastScene = currentScene; _lastEditorScene = currentEditorScene; }
private void InitShadow() { _shadowView = FindObjectOfType <ShadowView>(); _shadowManager = new ShadowManager(); _shadowManager.action = _shadowView.OnReceiveShadowData; }
public override void Execute() { if (PluginModel.ActionQueue.ExecuteNextAction(PluginModel.ComboQueue)) { return; } var q = PluginModel.Q; var r = PluginModel.R; var w = PluginModel.W; var e = PluginModel.E; var target = AdvancedTargetSelector.GetTarget(q.Range, DamageType.Physical); if (target == null || !target.IsValidTarget()) { if (Player.Instance.HasBuff("zedr2") && r.IsReady() && Misc.IsChecked(PluginModel.ComboMenu, "comboR") && ShadowManager.CanCastR(false)) { var nearEnemyTower = EntityManager.Turrets.Enemies.FirstOrDefault(t => t.Distance(Player.Instance) < 1050 && !t.IsDead); if (nearEnemyTower == null) { return; } r.Cast(); } return; } if (Misc.IsChecked(PluginModel.ComboMenu, "comboStyle")) { #region All In if (Player.Instance.HasBuff("zedr2") && r.IsReady() && Misc.IsChecked(PluginModel.ComboMenu, "comboR")) { if (w.IsReady() && Misc.IsChecked(PluginModel.ComboMenu, "comboW") && w.State != SpellState.NoMana) { if (Player.Instance.HasBuff("zedwhandler") && Player.Instance.AttackRange <= Player.Instance.Distance(target) && !Player.Instance.HasBuff("zedr2")) { var shadows = ShadowManager.GetShadows(); if (shadows.Count > 0) { foreach ( var shadow in shadows.Where( shadow => shadow.Distance(target) < Player.Instance.Distance(target))) { ShadowManager.Cast(target); } } } else { if (!Player.Instance.HasBuff("zedwhandler")) { Player.CastSpell(SpellSlot.W, Prediction.Position.PredictUnitPosition(target, 250).To3D()); } } } if (e.IsReady() && Misc.IsChecked(PluginModel.ComboMenu, "comboE") && e.State != SpellState.NoMana) { var shadows = ShadowManager.GetShadows(); if (Player.Instance.Distance(target) < e.Range) { e.Cast(); } else if (shadows.Count > 0) { foreach ( var shadow in shadows.Where(shadow => shadow.Distance(target) < Player.Instance.Distance(target))) { e.Cast(); } } } if (q.IsReady() && Misc.IsChecked(PluginModel.ComboMenu, "comboQ") && q.IsInRange(target) && q.State != SpellState.NoMana) { var predictionQ = q.GetPrediction(target); if (predictionQ.HitChance >= HitChance.Medium) { q.Cast(predictionQ.CastPosition); } } if (!q.IsReady() && Misc.IsChecked(PluginModel.ComboMenu, "comboQ") && (!w.IsReady() && Misc.IsChecked(PluginModel.ComboMenu, "comboW") || Player.Instance.HasBuff("zedwhandler")) && !e.IsReady() && Misc.IsChecked(PluginModel.ComboMenu, "comboE") && Orbwalker.CanAutoAttack && Player.Instance.IsInAutoAttackRange(target)) { Player.IssueOrder(GameObjectOrder.AttackUnit, target); } else if (!q.IsReady() && Misc.IsChecked(PluginModel.ComboMenu, "comboQ") && (!w.IsReady() && Misc.IsChecked(PluginModel.ComboMenu, "comboW") || Player.Instance.HasBuff("zedwhandler")) && !e.IsReady() && Misc.IsChecked(PluginModel.ComboMenu, "comboE") && Orbwalker.CanAutoAttack && !Player.Instance.IsInAutoAttackRange(target)) { Orbwalker.OrbwalkTo(target.Position); } } else if (r.IsReady() && Misc.IsChecked(PluginModel.ComboMenu, "comboR") && !Player.Instance.HasBuff("zedr2") && ShadowManager.CanCastR(true)) { if (r.IsInRange(target) && !Player.Instance.HasBuff("zedr2")) { r.Cast(target); } } else { if (w.IsReady() && Misc.IsChecked(PluginModel.ComboMenu, "comboW") && w.State != SpellState.NoMana) { if (Player.Instance.HasBuff("zedwhandler") && Player.Instance.IsInAutoAttackRange(target)) { var shadows = ShadowManager.GetShadows(); if (shadows.Count > 0) { var turret = EntityManager.Turrets.Enemies.FirstOrDefault(t => t.Distance(target) < 1050); foreach ( var shadow in shadows.Where( shadow => shadow.Distance(target) < Player.Instance.Distance(target) && (turret == null || turret.IsDead))) { ShadowManager.Cast(target); } } } else { if (!Player.Instance.HasBuff("zedwhandler")) { Player.CastSpell(SpellSlot.W, Prediction.Position.PredictUnitPosition(target, 250).To3D()); } } } if (e.IsReady() && Misc.IsChecked(PluginModel.ComboMenu, "comboE") && Player.Instance.Distance(target) < e.Range && e.State != SpellState.NoMana) { e.Cast(); } if (q.IsReady() && Misc.IsChecked(PluginModel.ComboMenu, "comboQ") && q.IsInRange(target) && q.State != SpellState.NoMana) { var predictionQ = q.GetPrediction(target); if (predictionQ.HitChance >= HitChance.Medium) { q.Cast(predictionQ.CastPosition); } } } #endregion } else { #region lineCombo if (Player.Instance.HasBuff("zedr2") && r.IsReady() && Misc.IsChecked(PluginModel.ComboMenu, "comboR") && ShadowManager.CanCastR(false)) { ItemManager.UseAll(target); if (w.IsReady() && Misc.IsChecked(PluginModel.ComboMenu, "comboW") && w.State != SpellState.NoMana) { if (Player.Instance.HasBuff("zedwhandler") && Player.Instance.AttackRange <= Player.Instance.Distance(target)) { var shadows = ShadowManager.GetShadows(); if (shadows.Count > 0) { foreach (var shadow in shadows.Where(shadow => shadow.Distance(target) < Player.Instance.Distance(target))) { ShadowManager.Cast(target); } } } else { if (!Player.Instance.HasBuff("zedwhandler") && PluginModel.StartPosCombo.IsZero) { var extendedAfterStartCombo = PluginModel.StartPosCombo.Extend(target, target.Distance(PluginModel.StartPosCombo) + w.Range); Player.CastSpell(SpellSlot.W, extendedAfterStartCombo.To3D()); } } } if (e.IsReady() && Misc.IsChecked(PluginModel.ComboMenu, "comboE") && e.State != SpellState.NoMana) { var shadows = ShadowManager.GetShadows(); if (Player.Instance.Distance(target) < e.Range) { e.Cast(); } else if (shadows.Count > 0) { foreach (var shadow in shadows.Where(shadow => shadow.Distance(target) < Player.Instance.Distance(target))) { e.Cast(); } } } if (q.IsReady() && Misc.IsChecked(PluginModel.ComboMenu, "comboQ") && q.IsInRange(target) && q.State != SpellState.NoMana) { var predictionQ = q.GetPrediction(target); if (predictionQ.HitChance >= HitChance.Medium) { q.Cast(predictionQ.CastPosition); } } if (!q.IsReady() && Misc.IsChecked(PluginModel.ComboMenu, "comboQ") && (!w.IsReady() && Misc.IsChecked(PluginModel.ComboMenu, "comboW") || Player.Instance.HasBuff("zedwhandler")) && !e.IsReady() && Misc.IsChecked(PluginModel.ComboMenu, "comboE") && Orbwalker.CanAutoAttack && Player.Instance.IsInAutoAttackRange(target)) { Player.IssueOrder(GameObjectOrder.AttackUnit, target); } else if (!q.IsReady() && Misc.IsChecked(PluginModel.ComboMenu, "comboQ") && (!w.IsReady() && Misc.IsChecked(PluginModel.ComboMenu, "comboW") || Player.Instance.HasBuff("zedwhandler")) && !e.IsReady() && Misc.IsChecked(PluginModel.ComboMenu, "comboE") && Orbwalker.CanAutoAttack && !Player.Instance.IsInAutoAttackRange(target)) { Orbwalker.OrbwalkTo(target.Position); } } else if (r.IsReady() && Misc.IsChecked(PluginModel.ComboMenu, "comboR") && r.State != SpellState.NoMana && !Player.Instance.HasBuff("zedr2") && ShadowManager.CanCastR(true)) { if (r.IsInRange(target)) { PluginModel.StartPosCombo = Player.Instance.ServerPosition; r.Cast(target); PluginModel.LastRCast = Game.Time; } } else { if (w.IsReady() && Misc.IsChecked(PluginModel.ComboMenu, "comboW") && w.State != SpellState.NoMana) { if (Player.Instance.HasBuff("zedwhandler") && Player.Instance.IsInAutoAttackRange(target)) { var shadows = ShadowManager.GetShadows(); if (shadows.Count > 0) { var turret = EntityManager.Turrets.Enemies.FirstOrDefault(t => t.Distance(target) < 1050); foreach (var shadow in shadows.Where(shadow => shadow.Distance(target) < Player.Instance.Distance(target) && (turret == null || turret.IsDead))) { ShadowManager.Cast(target); } } } else { if (!Player.Instance.HasBuff("zedwhandler")) { Player.CastSpell(SpellSlot.W, Prediction.Position.PredictUnitPosition(target, 250).To3D()); } } } if (e.IsReady() && Misc.IsChecked(PluginModel.ComboMenu, "comboE") && Player.Instance.Distance(target) < e.Range && e.State != SpellState.NoMana) { e.Cast(); } if (q.IsReady() && Misc.IsChecked(PluginModel.ComboMenu, "comboQ") && q.IsInRange(target) && q.State != SpellState.NoMana) { var predictionQ = q.GetPrediction(target); if (predictionQ.HitChance >= HitChance.Medium) { q.Cast(predictionQ.CastPosition); } } } #endregion } }
/// <summary> /// TODO The do line combo. /// </summary> /// <param name="target"> /// TODO The target. /// </param> private static void DoLineCombo(Obj_AI_Hero target) { if (ShadowManager.RShadow.IsUsable) { if (MenuHelper.IsMenuEnabled("checkQWE")) { if (_spells[SpellSlot.Q].IsReady() && _spells[SpellSlot.W].IsReady() && _spells[SpellSlot.E].IsReady()) { if (_spells[SpellSlot.R].IsReady() && _spells[SpellSlot.R].IsInRange(target)) { _spells[SpellSlot.R].Cast(target); } } } else { if (Menu.Item("dontult:" + target.ChampionName).GetValue <bool>()) { return; } if (_spells[SpellSlot.R].IsReady() && _spells[SpellSlot.R].IsInRange(target)) { _spells[SpellSlot.R].Cast(target); } } } if (GetMarkedTarget() != null) { target = GetMarkedTarget(); } ItemManager.UseDeathmarkItems(); ItemManager.UseSummonerSpells(); if (ShadowManager.RShadow.Exists && ShadowManager.WShadow.IsUsable) { var wCastLocation = Player.ServerPosition - Vector3.Normalize(target.ServerPosition - Player.ServerPosition) * 400; if (ShadowManager.WShadow.IsUsable && WShadowSpell.ToggleState == 0 && Environment.TickCount - _spells[SpellSlot.W].LastCastAttemptT > 0) { _spells[SpellSlot.W].Cast(wCastLocation); // Maybe add a delay giving the target a chance to flash / zhonyas then it will place w at best location for more damage _spells[SpellSlot.W].LastCastAttemptT = Environment.TickCount + 500; } } if (ShadowManager.WShadow.Exists && ShadowManager.RShadow.Exists) { CastQ(target); CastE(); } else if (ShadowManager.RShadow.Exists && !ShadowManager.WShadow.IsUsable && !ShadowManager.WShadow.Exists) { CastQ(target); CastE(); } if (ShadowManager.CanGoToShadow(ShadowManager.WShadow) && WShadowSpell.ToggleState == 2) { // && !_deathmarkKilled) if (MenuHelper.IsMenuEnabled("com.idz.zed.combo.swapw") && ShadowManager.WShadow.ShadowObject.Distance(target.ServerPosition) < Player.Distance(target.ServerPosition)) { _spells[SpellSlot.W].Cast(); } } }
public static void OnUpdate() { if (MenuConfig.LaneClear["Check"].Enabled && Global.Player.CountEnemyHeroesInRange(2000) > 0 || Maths.GetEnergyPercent() < MenuConfig.LaneClear["Energy"].Value) { return; } if (_turretTarget != null && _turret != null && MenuConfig.LaneClear["TurretFarm"].Enabled) { if (_turretTarget.IsDead) { _turret = null; _turretTarget = null; } else { var turretDamage = _turret.GetAutoAttackDamage(_turretTarget); var playerDamage = Global.Player.GetAutoAttackDamage(_turretTarget); var inAaRange = _turretTarget.Distance(Global.Player) <= Global.Player.AttackRange + 65; if (!inAaRange) { return; } if (_turretTarget.Health < playerDamage * 2 + turretDamage && _turretTarget.Health > turretDamage + playerDamage && Global.Orbwalker.CanAttack()) { Global.Orbwalker.Attack(_turretTarget); } else if (SpellManager.E.Ready && _turretTarget.Health < Global.Player.GetSpellDamage(_turretTarget, SpellSlot.E) + playerDamage) { SpellManager.CastE(_turretTarget); } else if (SpellManager.Q.Ready && _turretTarget.Health < Global.Player.GetSpellDamage(_turretTarget, SpellSlot.Q) + playerDamage) { SpellManager.CastQ(_turretTarget); } } } else { var minion = GameObjects.EnemyMinions.FirstOrDefault(x => x.IsValidTarget(SpellManager.Q.Range)); if (minion == null) { return; } if (SpellManager.Q.Ready && MenuConfig.LaneClear["Q"].Enabled) { SpellManager.CastQ(minion, MenuConfig.LaneClear["Q"].Value); } if (SpellManager.W.Ready && MenuConfig.LaneClear["W"].Enabled) { if (GameObjects.EnemyMinions.Count(x => x.IsValidTarget(1300)) >= 6 && Global.Player.Level >= 12 && Maths.GetEnergyPercent() >= 70) { if (ShadowManager.CanCastFirst(SpellSlot.W)) { SpellManager.W.Cast(minion.ServerPosition); } else { SpellManager.W.Cast(); } } } if (SpellManager.E.Ready && MenuConfig.LaneClear["E"].Enabled) { SpellManager.CastE(minion, MenuConfig.LaneClear["E"].Value, true); } } }
public static void OnUpdate() { var target = Global.TargetSelector.GetTarget(SpellManager.WCastRange + SpellManager.Q.Range); if (target == null) { return; } if (SpellManager.R.Ready && target.IsValidTarget(SpellManager.R.Range) && !(MenuConfig.Combo["Killable"].Enabled && Dmg.Damage(target) < target.Health)) { if (target.HealthPercent() <= 25 || !MenuConfig.Combo[target.ChampionName].Enabled) { return; } SpellManager.CastR(target); } if (SpellManager.W.Ready && MenuConfig.Combo["W"].Enabled && target.IsValidTarget(SpellManager.WCastRange + SpellManager.R.Range)) { if (ShadowManager.CanCastFirst(SpellSlot.W)) { if (Game.TickCount - SpellManager.LastR < 1500) { foreach (var shadow in ShadowManager.Shadows) { if (shadow == null) { continue; } if (target.IsDashing()) { SpellManager.W.Cast(target.GetDashInfo().EndPos); } switch (MenuConfig.Combo["Style"].Value) { case 0: var trianglePos = target.ServerPosition + (target.ServerPosition - shadow.ServerPosition).To2D().Perpendicular().To3D().Normalized() * 350; if (trianglePos.Distance(target) > SpellManager.WCastRange) { goto case 1; } SpellManager.W.Cast(trianglePos); break; case 1: SpellManager.W.Cast(target.ServerPosition.Extend(shadow.ServerPosition, -SpellManager.WCastRange)); break; case 2: SpellManager.W.Cast(Game.CursorPos); break; } } } else if (target.IsValidTarget(SpellManager.WCastRange + 200) && ShadowManager.CanCastFirst(SpellSlot.W) && !(SpellManager.R.Ready && target.HealthPercent() > 25)) { SpellManager.W.Cast(target.ServerPosition); } } else if (ShadowManager.CanSwitchToShadow(SpellSlot.W) && ShadowManager.Shadows.FirstOrDefault().Distance(target) <= Global.Player.Distance(target) && target.Distance(Global.Player) > Global.Player.AttackRange + 65) { SpellManager.W.Cast(); } } else if (SpellManager.Q.Ready && MenuConfig.Combo["Q"].Enabled) { SpellManager.CastQ(target); } if (SpellManager.E.Ready && MenuConfig.Combo["E"].Enabled) { SpellManager.CastE(target); } }
public override void Execute() { var q = PluginModel.Q; var w = PluginModel.W; var e = PluginModel.E; var target = AdvancedTargetSelector.GetTarget(q.Range, DamageType.Physical); if (target == null || !target.IsValidTarget() || Player.Instance.HasBuff("zedr2") || target.IsDead) { return; } if (DmgLib.PossibleDamage(target) < target.Health) { return; } if (w.IsReady() && e.IsReady() && q.IsReady() && Misc.IsChecked(PluginModel.PermaActiveMenu, "paQ") && Misc.IsChecked(PluginModel.PermaActiveMenu, "paW") && Misc.IsChecked(PluginModel.PermaActiveMenu, "paE") && !Player.Instance.HasBuff("zedwhandler") && !target.IsDead) { Player.CastSpell(SpellSlot.W, target.Position); } if (e.IsReady() && Misc.IsChecked(PluginModel.PermaActiveMenu, "paE") && !target.IsDead) { if (e.IsInRange(target)) { e.Cast(); } else { var shadows = ShadowManager.GetShadows(); if (shadows.Count > 0) { if (shadows.FirstOrDefault(shadow => shadow.Distance(target) < e.Range) != null) { e.Cast(); } } } } if (q.IsReady() && Misc.IsChecked(PluginModel.PermaActiveMenu, "paQ") && !target.IsDead) { var predictionQ = q.GetPrediction(target); var shadows = ShadowManager.GetShadows(); if (predictionQ.HitChance >= HitChance.High) { q.Cast(predictionQ.CastPosition); } else if (shadows.Count > 0) { var predictionPos = Prediction.Position.PredictUnitPosition(target, q.CastDelay); if (shadows.FirstOrDefault(shadow => shadow.Distance(target) < q.Range) != null) { q.Cast(predictionPos.To3D()); } } } }