Example #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 += SpellData.LucianPassive();
                }
                if (_w.IsReady())
                {
                    damage += Player.Instance.GetSpellDamage(target, SpellSlot.W);
                    damage += Player.Instance.GetAutoAttackDamage(target);
                    damage += SpellData.LucianPassive();
                }
                if (_e.IsReady())
                {
                    damage += Player.Instance.GetAutoAttackDamage(target);
                    damage += SpellData.LucianPassive();
                }
            }
            return(damage);
        }
Example #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()) + SpellData.LucianPassive())
         {
             var safeE = OKTRGeometry.SafeDashLogic(_e.Range);
             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()) + SpellData.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));
         }
     }
 }