コード例 #1
0
        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);
            }
        }
コード例 #2
0
 private void InitShadowManager()
 {
     if( shadowManager == null )
     {
         shadowManager = ReferenceManager.ShadowManager;
     }
 }
コード例 #3
0
ファイル: Harass.cs プロジェクト: yegithub/Aimtec-2
        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);
            }
        }
コード例 #4
0
        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);
            }
        }
コード例 #5
0
ファイル: Zed.cs プロジェクト: FerDSilvaa/LSharpDZiJava
        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();
                }
            }
        }
コード例 #6
0
    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);
    }
コード例 #7
0
    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> ();
    }
コード例 #8
0
    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>();
    }
コード例 #9
0
    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> ();
    }
コード例 #10
0
        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);
                }
            }
        }
コード例 #11
0
        public static void OnKeyPressed()
        {
            Global.Orbwalker.Move(Game.CursorPos);

            if (ShadowManager.CanCastFirst(SpellSlot.W))
            {
                SpellManager.W.Cast(Game.CursorPos);
            }
            else
            {
                SpellManager.W.Cast();
            }
        }
コード例 #12
0
        /// <summary>
        ///     TODO The on load.
        /// </summary>
        public static void OnLoad()
        {
            if (Player.ChampionName != "Zed")
            {
                return;
            }

            ShadowManager.OnLoad();

            InitMenu();
            InitSpells();
            InitEvents();
        }
コード例 #13
0
        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);
            }
        }
コード例 #14
0
ファイル: Zed.cs プロジェクト: FerDSilvaa/LSharpDZiJava
 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();
 }
コード例 #15
0
        /// <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();
                    }
                }
            }
        }
コード例 #16
0
        /// <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();
        }
コード例 #17
0
        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;
        }
コード例 #18
0
ファイル: Zed.cs プロジェクト: onlinekg/LSharpDZiJava
        /// <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();
        }
コード例 #19
0
    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);
    }
コード例 #20
0
        /// <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();
                }
            }
        }
コード例 #21
0
 private void OnEnable()
 {
     _object = target as ShadowManager;
     EditorApplication.update += Update;
 }
コード例 #22
0
        /// <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();
                }
            }
        }
コード例 #23
0
        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;
        }
コード例 #24
0
ファイル: GameManager.cs プロジェクト: zephyr1125/TiledShadow
 private void InitShadow()
 {
     _shadowView           = FindObjectOfType <ShadowView>();
     _shadowManager        = new ShadowManager();
     _shadowManager.action = _shadowView.OnReceiveShadowData;
 }
コード例 #25
0
        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
            }
        }
コード例 #26
0
ファイル: Zed.cs プロジェクト: onlinekg/LSharpDZiJava
        /// <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();
                }
            }
        }
コード例 #27
0
ファイル: LaneClear.cs プロジェクト: yegithub/Aimtec-2
        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);
                }
            }
        }
コード例 #28
0
        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);
            }
        }
コード例 #29
0
        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());
                    }
                }
            }
        }