public void OnUpdate() { var target = Global.TargetSelector.GetTarget(_spellConfig.Q.Range); if (target == null) { return; } if (_spellConfig.Q.Ready && this.Q1Enabled) { if (_spellConfig.IsQ2() && this.Q2Enabled || !_spellConfig.IsQ2()) { _spellConfig.Q.Cast(target); } } if (_spellConfig.E.Ready) { if (_spellConfig.IsFirst(_spellConfig.E) && this.EEnabled && target.IsValidTarget(_spellConfig.E.Range)) { _spellConfig.E.Cast(target); } } if (_spellConfig.W.Ready && _spellConfig.IsFirst(_spellConfig.W) && !_spellConfig.E.Ready && !_spellConfig.Q.Ready && this.Mode == 0) { var turret = GameObjects.AllyTurrets.OrderBy(x => x.Distance(Global.Player)).FirstOrDefault(); if (turret != null) { _wardManager.WardJump(turret.ServerPosition, _spellConfig.WardRange); } } }
public double Damage(Obj_AI_Base target) { if (target == null) { return(0); } var dmg = Global.Player.GetAutoAttackDamage(target); if (_spellConfig.E.Ready) { dmg += Global.Player.GetSpellDamage(target, SpellSlot.E) + dmg; } if (_spellConfig.Q.Ready) { if (_spellConfig.IsQ2()) { dmg += Global.Player.GetSpellDamage(target, SpellSlot.Q, DamageStage.SecondCast) + dmg; } else { dmg += Global.Player.GetSpellDamage(target, SpellSlot.Q) + Global.Player.GetSpellDamage(target, SpellSlot.Q, DamageStage.SecondCast) + dmg; } } if (_spellConfig.R.Ready) { dmg += Global.Player.GetSpellDamage(target, SpellSlot.R); } return(dmg); }
public void OnUpdate() { var target = GameObjects.EnemyHeroes.FirstOrDefault(x => x.Distance(Global.Player) < spellConfig.R.Range && x.HealthPercent() <= 40); if (target == null || !target.IsValidTarget()) { return; } if (this.SmiteEnabled && SummonerSpells.IsValid(SummonerSpells.Smite) && target.Health < SummonerSpells.SmiteChampions()) { SummonerSpells.Smite.CastOnUnit(target); } if (spellConfig.Q.Ready && (spellConfig.IsQ2() ? target.Health < Global.Player.GetSpellDamage(target, SpellSlot.Q, DamageStage.SecondCast) : target.Health < Global.Player.GetSpellDamage(target, SpellSlot.Q)) && target.IsValidTarget(spellConfig.Q.Range) && this.QEnabled) { spellConfig.Q.Cast(target); } else if (spellConfig.E.Ready && target.Health < Global.Player.GetSpellDamage(target, SpellSlot.E) && target.IsValidTarget(spellConfig.E.Range) && this.EEnabled) { spellConfig.E.Cast(); } else if (spellConfig.R.Ready && target.Health < Global.Player.GetSpellDamage(target, SpellSlot.R) && target.IsValidTarget(spellConfig.R.Range) && this.REnabled) { spellConfig.R.CastOnUnit(target); } else if (this.IgniteEnabled && SummonerSpells.IsValid(SummonerSpells.Ignite) && target.Health < SummonerSpells.IgniteDamage(target)) { SummonerSpells.Ignite.Cast(target); } }
public void OnPostAttack(AttackableUnit target) { if (target == null) { return; } if (spellConfig.Q.Ready && !spellConfig.IsQ2() && target.IsValidTarget(spellConfig.Q.Range)) { spellConfig.Q.Cast(); } else if (spellConfig.W.Ready && this.WEnabled) { spellConfig.W.Cast(Global.Player); } else if (spellConfig.E.Ready && this.EEnabled) { if (!spellConfig.IsFirst(spellConfig.E)) { spellConfig.E.Cast(); } } }
public void OnUpdate() { if (!this.Enabled || Global.Orbwalker.IsWindingUp) { return; } var minions = GameObjects.EnemyMinions.LastOrDefault(x => x.IsValidTarget(spellConfig.Q.Range) && x.Distance(Global.Player) > 300 && x.Health * 0.9 < Global.Player.GetSpellDamage(x, SpellSlot.Q) && x.MaxHealth > 6); if (minions == null || !spellConfig.Q.Ready || spellConfig.IsQ2()) { return; } spellConfig.Q.Cast(minions); }
public void OnPostAttack(AttackableUnit mobPre) { var mob = mobPre as Obj_AI_Minion; if (mob == null) { return; } var count = GameObjects.Jungle.Count(x => x.Distance(Global.Player) <= spellConfig.Q.Range / 2f); if (count <= 1 && mob.Health < Global.Player.GetAutoAttackDamage(mob)) { return; } if (Global.Player.Level <= 4) { if (spellConfig.PassiveStack() >= 1) { return; } if (spellConfig.Q.Ready) { spellConfig.Q.Cast(mob); } if (spellConfig.W.Ready && this.WEnabled && !spellConfig.IsQ2()) { spellConfig.W.CastOnUnit(Global.Player); } else if (spellConfig.E.Ready && this.EEnabled && !spellConfig.IsQ2()) { if (spellConfig.IsFirst(spellConfig.E)) { if (Items.CanUseTiamat()) { Items.CastTiamat(false); DelayAction.Queue(50, () => spellConfig.E.Cast(mob)); } else { spellConfig.E.Cast(mob); } } else { spellConfig.E.Cast(); } } } else if (Global.Player.Level <= 8) { if (spellConfig.PassiveStack() >= 1) { return; } if (spellConfig.Q.Ready) { spellConfig.Q.Cast(mob); } if (spellConfig.W.Ready && this.WEnabled) { spellConfig.W.CastOnUnit(Global.Player); } else if (spellConfig.E.Ready && this.EEnabled) { if (spellConfig.IsFirst(spellConfig.E)) { if (Items.CanUseTiamat()) { Items.CastTiamat(false); DelayAction.Queue(50, () => spellConfig.E.Cast(mob)); } else { spellConfig.E.Cast(mob); } } else { spellConfig.E.Cast(); } } } else { if (spellConfig.Q.Ready) { spellConfig.Q.Cast(mob); } else { if (spellConfig.E.Ready && this.EEnabled) { if (Items.CanUseTiamat()) { Items.CastTiamat(false); DelayAction.Queue(50, () => spellConfig.E.Cast(mob)); } else { spellConfig.E.Cast(mob); } } if (spellConfig.W.Ready && this.WEnabled) { if (spellConfig.E.Ready && this.EEnabled && !spellConfig.IsFirst(spellConfig.E)) { return; } spellConfig.W.CastOnUnit(Global.Player); } } } }
public void OnUpdate() { var target = Global.TargetSelector.GetTarget(1600); if (target == null) { return; } var distance = target.Distance(Global.Player) - target.BoundingRadius; if (_spellConfig.Q.Ready && Q1Enabled) { if (distance > 1300) { return; } if (_spellConfig.IsQ2()) { if (TurretCheckEnabled && target.IsUnderEnemyTurret() || !Q2Enabled) { return; } if (_spellConfig.QAboutToEnd || distance >= Global.Player.AttackRange + 300) { _spellConfig.Q.Cast(); } } else { _spellConfig.QSmite(target); _spellConfig.Q.Cast(target); } } if (_spellConfig.R.Ready && _spellConfig.Q.Ready && Q1Enabled && distance <= 550 && target.Health <= Global.Player.GetSpellDamage(target, SpellSlot.R) + Global.Player.GetSpellDamage(target, SpellSlot.Q) + Global.Player.GetSpellDamage(target, SpellSlot.Q, DamageStage.SecondCast)) { _spellConfig.R.CastOnUnit(target); _spellConfig.Q.Cast(target); } if (_spellConfig.W.Ready && _spellConfig.IsFirst(_spellConfig.W) && _wardTracker.IsWardReady() && WEnabled && WardEnabled && distance > (_spellConfig.Q.Ready ? 1000 : _spellConfig.WardRange)) { if (Game.TickCount - _spellConfig.Q.LastCastAttemptT <= 3000 || target.Position.CountEnemyHeroesInRange(2000) > 1) { return; } _wardManager.WardJump(target.Position, _spellConfig.WardRange); } if (_spellConfig.E.Ready && EEnabled && _spellConfig.IsFirst(_spellConfig.E) && distance <= 350) { if (Items.CanUseTiamat()) { Items.CastTiamat(false); DelayAction.Queue(50, () => _spellConfig.E.Cast(target)); } else { _spellConfig.E.Cast(target); } } }
public void OnKeyPressed() { if (!this.Enabled || !Target.IsValidTarget() || Global.Player.Level < 6) { return; } Temp.IsBubbaKush = this.Bk; var dist = GetInsecPosition().Distance(Global.Player); if (_spellConfig.Q.Ready && !(this.CanWardJump && dist <= _spellConfig.WardRange && this.QLast)) { if (_spellConfig.IsQ2()) { _spellConfig.Q.Cast(); } else if (!Global.Player.IsDashing()) { if (Target.IsValidTarget(_spellConfig.Q.Range)) { _lastQUnit = Target; _spellConfig.QSmite(Target); _spellConfig.Q.Cast(Target); } if (!this.ObjectEnabled || this.EnemyObject == null) { return; } _lastQUnit = this.EnemyObject; _spellConfig.Q.Cast(this.EnemyObject); } } if (this.CanWardJump && dist <= InsecRange()) { if (dist <= _spellConfig.WardRange) { _wardManager.WardJump(GetInsecPosition(), (int)dist); } else if (this.FlashReady) { if (Game.TickCount - _spellConfig.LastQ1CastAttempt <= 900 || _lastQUnit != null && _spellConfig.IsQ2() && InsecInRange(_lastQUnit.ServerPosition)) { return; } if (Game.TickCount - _spellConfig.Q.LastCastAttemptT <= 1000) { return; } _wardManager.WardJump(GetInsecPosition(), _spellConfig.WardRange); } } if (_spellConfig.R.Ready) { if (dist <= 125 || this.FlashReady) { if (_isBkActive) { var enemy = GameObjects.EnemyHeroes.FirstOrDefault(x => x.IsValidTarget(_spellConfig.R.Range) && x.NetworkId != Target.NetworkId); if (enemy != null) { _spellConfig.R.CastOnUnit(enemy); } } else if (Target.IsValidTarget(_spellConfig.R.Range)) { _spellConfig.R.CastOnUnit(Target); } } if (_insecManager.InsecKickValue == 0 && this.FlashReady && GetInsecPosition().Distance(Global.Player) <= 425 && GetInsecPosition().Distance(Global.Player) > 220 && (!this.CanWardJump || _wardTracker.DidJustWard)) { if (Global.Player.GetDashInfo().EndPos.Distance(GetInsecPosition()) <= 215 || this.CanWardJump) { return; } SummonerSpells.Flash.Cast(GetInsecPosition()); _spellConfig.R.CastOnUnit(Target); } } }