Пример #1
0
    /******************* Unity Function *******************/
    protected virtual void Awake()
    {
        m_HasPlayed = false;
        m_CanPlay   = true;

        m_Body          = transform.Find("Body").gameObject;
        m_ArmorCollider = m_Body.GetComponent <Collider> ();

        m_MoveController    = transform.GetComponent <MoveController> ();
        m_BuffController    = transform.GetComponent <BuffController> ();
        m_WeaponController  = transform.GetComponent <WeaponController> ();
        m_PassiveController = transform.GetComponent <PassiveController> ();
        m_HUDController     = transform.GetComponent <HUDController> ();

        m_ArmorReductionMultiplier  = 1;
        m_ShieldReductionMultiplier = 1;
    }
Пример #2
0
        public override void Execute()
        {
            var q = PluginModel.Q;
            var w = PluginModel.W;

            var target = AdvancedTargetSelector.GetTarget(w.Range, DamageType.Physical);

            if (target == null || !target.IsValidTarget())
            {
                return;
            }

            PluginModel.ActiveMode = EnumModeManager.Harass;

            Orbwalker.ForcedTarget = target;

            if (PassiveController.HasUltiPassive(target))
            {
                var targetpos = Prediction.Position.PredictUnitPosition(target, 250);
                var poses     = PassiveController.UltiPassivePos(target);
                var castpos   = poses.OrderByDescending(x => x.Distance(targetpos)).FirstOrDefault();

                q.Cast(castpos);
            }

            if (q.IsReady() && Misc.IsChecked(PluginModel.HarassMenu, "hsQ") && ManaManager.CanUseSpell(PluginModel.HarassMenu, "hsMana"))
            {
                var targetpos = Prediction.Position.PredictUnitPosition(target, 250);

                if (Misc.IsChecked(PluginModel.HarassMenu, "hsQPassiveRange") && q.IsInRange(targetpos.To3D()) &&
                    PassiveController.HasPassive(target))
                {
                    var castPos        = PassiveController.PassivePosition(target);
                    var validPositions = PassiveController.PassiveRadiusPoint(target);

                    if (castPos.IsValid() && castPos.Distance(Player.Instance.ServerPosition) <= 300 && castPos.InTheCone(validPositions, castPos.To2D()))
                    {
                        Player.CastSpell(SpellSlot.Q, castPos);
                    }
                }
                else
                {
                    Player.CastSpell(SpellSlot.Q, target.ServerPosition);
                }
            }

            if (w.IsReady() && Misc.IsChecked(PluginModel.HarassMenu, "hsW") && ManaManager.CanUseSpell(PluginModel.HarassMenu, "hsMana"))
            {
                if (q.IsReady() || !(target.Distance(Player.Instance) > Player.Instance.GetAutoAttackRange()))
                {
                    return;
                }

                var prediction = w.GetPrediction(target);

                if (prediction.HitChancePercent >= 70)
                {
                    w.Cast(prediction.CastPosition);
                }
            }
        }