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); }
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)); } } }