Exemple #1
0
        internal static float GetRawDamage(Obj_AI_Base target)
        {
            float damage = 0;

            if (target != null)
            {
                if (_q.IsReady())
                {
                    damage += Player.Instance.GetSpellDamage(target, SpellSlot.Q);
                    damage += Player.Instance.GetAutoAttackDamage(target);
                    damage += SpellDamage.LucianPassive();
                }
                if (_w.IsReady())
                {
                    damage += Player.Instance.GetSpellDamage(target, SpellSlot.W);
                    damage += Player.Instance.GetAutoAttackDamage(target);
                    damage += SpellDamage.LucianPassive();
                }
                if (_e.IsReady())
                {
                    damage += Player.Instance.GetAutoAttackDamage(target);
                    damage += SpellDamage.LucianPassive();
                }
            }
            return(damage);
        }
Exemple #2
0
 private static void Killsteal()
 {
     if (KsTarget() == null)
     {
         return;
     }
     if (Value.Use("killsteal.e") && _e.IsReady())
     {
         if (Prediction.Health.GetPrediction(KsTarget(), Game.Ping + _e.CastDelay) <
             Player.Instance.GetAutoAttackDamage(KsTarget()) + SpellDamage.LucianPassive())
         {
             var safeE = OKTRGeometry.SafeDashPosRework(200, KsTarget(), 120);
             if (safeE != Vector3.Zero)
             {
                 _e.Cast(safeE);
             }
         }
     }
     if (Value.Use("killsteal.q") & _q.IsReady())
     {
         if (Prediction.Health.GetPrediction(KsTarget(), Game.Ping + _q.CastDelay) <
             Player.Instance.GetSpellDamage(KsTarget(), SpellSlot.Q))
         {
             QExtendLogic(KsTarget());
         }
     }
     if (KsTarget().Distance(Player.Instance) < Player.Instance.GetAutoAttackRange())
     {
         if (!Orbwalker.IsAutoAttacking && _passive &&
             Prediction.Health.GetPrediction(KsTarget(), Game.Ping + _e.CastDelay) <
             Player.Instance.GetAutoAttackDamage(KsTarget()) + SpellDamage.LucianPassive())
         {
             ToggleOrb();
             Player.IssueOrder(GameObjectOrder.AttackUnit, KsTarget());
             Core.DelayAction(ToggleOrb, (int)(Player.Instance.AttackCastDelay * 1000));
         }
         else if (!Orbwalker.IsAutoAttacking &&
                  Prediction.Health.GetPrediction(KsTarget(), Game.Ping + _e.CastDelay) <
                  Player.Instance.GetAutoAttackDamage(KsTarget()))
         {
             ToggleOrb();
             Player.IssueOrder(GameObjectOrder.AttackUnit, KsTarget(), true);
             Core.DelayAction(ToggleOrb, (int)(Player.Instance.AttackCastDelay * 1000));
         }
     }
 }