public override void Actualize(object contextObj) { var context = (ThoughtContext)contextObj; var position = ObjectManager.Player.Distance(Game.CursorPos, true) <= 300 * 300 ? Game.CursorPos : KatarinaUtilities.GetMousePosition(); KatarinaUtilities.WardJump(context, position.X, position.Y); }
public override void Actualize(object contextObj) { var context = (ThoughtContext)contextObj; var ks = default(KillStealResult); var target = context.Targets.FirstOrDefault(x => (ks = CalculateKillSteal(x)) != KillStealResult.CantKill); switch (ks) { case KillStealResult.QKill: KatarinaUtilities.CastQ(target); break; case KillStealResult.WKill: KatarinaUtilities.CastW(); break; case KillStealResult.EKill: KatarinaUtilities.CastE(target); break; case KillStealResult.QwKill: KatarinaUtilities.CastW(); break; case KillStealResult.QeKill: KatarinaUtilities.CastE(target); break; case KillStealResult.QweKill: KatarinaUtilities.CastE(target); break; case KillStealResult.WeKill: KatarinaUtilities.CastW(); break; case KillStealResult.UltKs: KatarinaUtilities.CastR(); break; case KillStealResult.FullComboKs: KatarinaUtilities.CastE(target); KatarinaUtilities.CastQ(target); KatarinaUtilities.CastW(target); KatarinaUtilities.CastR(); break; case KillStealResult.FullComboItemsKs: UseItems(target); break; case KillStealResult.ItemsKs: UseItems(target); break; } }
public override void Actualize(object contextObj) { var context = (ThoughtContext)contextObj; if ((!context.CastingUlt || (context.Plugin.Config.Item("StopUlt").GetValue <bool>()) && context.Target.Unit.Health < (context.Target.DamageContext.QDamage + context.Target.DamageContext.WDamage + context.Target.DamageContext.EDamage))) { if (context.Plugin.Config.Item("ComboItems").GetValue <bool>()) { UseItems(context.Target); } if (context.Plugin.Q.IsReady()) { KatarinaUtilities.CastQ(context.Target); } if (context.Plugin.Config.Item("ComboDetonateQ").GetValue <bool>() && context.Target.Unit.Buffs.Any(x => x.Name == "katarinaqmark")) { if (!context.Plugin.Q.IsReady()) { KatarinaUtilities.CastE(context.Target); } if (!context.Plugin.E.IsReady()) { KatarinaUtilities.CastW(context.Target); } } else { if (context.Plugin.E.IsReady()) { KatarinaUtilities.CastE(context.Target); } if (!context.Plugin.E.IsReady()) { KatarinaUtilities.CastW(context.Target); } } if (context.Plugin.R.IsReady()) { KatarinaUtilities.CastR(); } } var igniteTarget = context.Targets.Where(x => x.IgniteCanKill).OrderByDescending(x => x.Unit.Health).FirstOrDefault(); if (igniteTarget != null) { KatarinaUtilities.CastIgnite(igniteTarget); } }
public override void Actualize(object contextObj) { var context = (ThoughtContext)contextObj; if (IsHarassKeyDown()) { KatarinaUtilities.CastQ(context.Target); switch (context.Plugin.Config.Item("HarrassQWE").GetValue <StringList>().SelectedIndex) { case 0: if (context.Plugin.Config.Item("HarassDetonateQ").GetValue <bool>() && context.Target.Unit.Buffs.Any(x => x.Name == "katarinaqmark")) { if (!context.Plugin.Q.IsReady()) { KatarinaUtilities.CastE(context.Target); } if (!context.Plugin.E.IsReady()) { KatarinaUtilities.CastW(context.Target); } } else if (!context.Plugin.Config.Item("HarassDetonateQ").GetValue <bool>()) { KatarinaUtilities.CastE(context.Target); if (!context.Plugin.E.IsReady() && IsWithinWRange()) { KatarinaUtilities.CastW(context.Target); } } break; case 1: if (ObjectManager.Player.Distance(context.Target.Unit, true) < Katarina.Instance.W.Range * Katarina.Instance.W.Range) { KatarinaUtilities.CastW(context.Target); } break; } } if (!context.Plugin.Config.Item("FarmKey").GetValue <KeyBind>().Active&& context.Plugin.Config.Item("WHarass").GetValue <bool>() && IsWithinWRange()) { KatarinaUtilities.CastW(); } }
public override void Actualize(object contextObj) { var context = (ThoughtContext)contextObj; var qFarm = context.Plugin.Config.Item("QFarm").GetValue <bool>(); var wFarm = context.Plugin.Config.Item("WFarm").GetValue <bool>(); var eFarm = context.Plugin.Config.Item("EFarm").GetValue <bool>(); foreach (var minion in ObjectManager.Get <Obj_AI_Minion>().Where(x => x != null && x.IsValid && x.IsEnemy)) { //var wDmg = DamageLib.getDmg(minion, DamageLib.SpellType.W); var wDmg = ObjectManager.Player.GetSpellDamage(minion, SpellSlot.W); var eDmg = ObjectManager.Player.GetSpellDamage(minion, SpellSlot.E); if (minion.IsValidTarget(context.Plugin.W.Range)) { if (qFarm && wFarm) { if (KatarinaUtilities.GetRangedHealthCheck(ObjectManager.Player, minion, SpellSlot.Q, 1000f, Katarina.Instance.Q.Speed) && context.Plugin.Q.IsReady()) { KatarinaUtilities.CastQ(minion); } else if (context.Plugin.W.IsReady() && minion.Health <= wDmg * 0.75) { KatarinaUtilities.CastW(); } } else if (qFarm && context.Plugin.Q.IsReady() && KatarinaUtilities.GetRangedHealthCheck(ObjectManager.Player, minion, SpellSlot.Q, 1000f, 1400f)) { KatarinaUtilities.CastQ(minion); } else if (wFarm && context.Plugin.W.IsReady() && minion.Health <= wDmg) { KatarinaUtilities.CastW(); } } else { if (qFarm && KatarinaUtilities.GetRangedHealthCheck(ObjectManager.Player, minion, SpellSlot.Q, 1000f, Katarina.Instance.Q.Speed) && minion.IsValidTarget(context.Plugin.Q.Range)) { KatarinaUtilities.CastQ(minion); } if (eFarm && minion.Health <= eDmg * 0.75 && minion.IsValidTarget(context.Plugin.E.Range)) { KatarinaUtilities.CastE(minion); } } } }
public void CalculateDamage() { if (_target == null || !_target.IsValid) { return; } _damageContext.PDamage = Katarina.Instance.Q.IsReady() //? DamageLib.getDmg(_target, DamageLib.SpellType.Q, DamageLib.StageType.Default) ? ObjectManager.Player.GetSpellDamage(_target, SpellSlot.Q) : 0; _damageContext.QDamage = Katarina.Instance.Q.IsReady() ? ObjectManager.Player.GetSpellDamage(_target, SpellSlot.Q) : 0; _damageContext.WDamage = Katarina.Instance.W.IsReady() ? ObjectManager.Player.GetSpellDamage(_target, SpellSlot.W) : 0; _damageContext.EDamage = Katarina.Instance.E.IsReady() ? ObjectManager.Player.GetSpellDamage(_target, SpellSlot.E) : 0; _damageContext.RDamage = Katarina.Instance.R.IsReady() ? ObjectManager.Player.GetSpellDamage(_target, SpellSlot.R) * 10 : 0; _damageContext.DFGDamage = Items.CanUseItem((int)ItemIds.DeathfireGrasp) ? ObjectManager.Player.GetItemDamage(_target, Damage.DamageItems.Dfg) : 0; _damageContext.HXGDamage = Items.CanUseItem((int)ItemIds.HextechGunblade) ? ObjectManager.Player.GetItemDamage(_target, Damage.DamageItems.Hexgun) : 0; _damageContext.BWCDamage = Items.CanUseItem((int)ItemIds.BilgewaterCutlass) ? ObjectManager.Player.GetItemDamage(_target, Damage.DamageItems.Bilgewater) : 0; _damageContext.LiandrysDamage = Items.HasItem((int)ItemIds.LiandrysTorment) ? KatarinaUtilities.GetLiandrysDamage(this) : 0; var ignite = ObjectManager.Player.SummonerSpellbook.Spells.FirstOrDefault(x => x.Name == "summonerdot"); _damageContext.IgniteDamage = ignite != null && ignite.State == SpellState.Ready ? ObjectManager.Player.GetSummonerSpellDamage(_target, Damage.SummonerSpell.Ignite) : 0; if (_target.Health > (_damageContext.PDamage + _damageContext.QDamage + _damageContext.EDamage + _damageContext.WDamage + _damageContext.RDamage + _damageContext.ItemDamage)) { _killIndex = 1; } else if (_target.Health <= _damageContext.QDamage) { _killIndex = Katarina.Instance.Q.IsReady() ? 2 : 11; } else if (_target.Health <= _damageContext.WDamage) { _killIndex = Katarina.Instance.W.IsReady() ? 3 : 11; } else if (_target.Health <= _damageContext.EDamage) { _killIndex = Katarina.Instance.E.IsReady() ? 4 : 11; } else if (_target.Health <= (_damageContext.QDamage + _damageContext.WDamage) && Katarina.Instance.Q.IsReady() && Katarina.Instance.W.IsReady()) { if (Katarina.Instance.Q.IsReady() && Katarina.Instance.W.IsReady()) { _killIndex = 5; } else { _killIndex = 11; } } else if (_target.Health <= (_damageContext.QDamage + _damageContext.EDamage) && Katarina.Instance.Q.IsReady() && Katarina.Instance.E.IsReady()) { if (Katarina.Instance.Q.IsReady() && Katarina.Instance.E.IsReady()) { _killIndex = 6; } else { _killIndex = 11; } } else if (_target.Health <= (_damageContext.WDamage + _damageContext.EDamage) && Katarina.Instance.W.IsReady() && Katarina.Instance.E.IsReady()) { if (Katarina.Instance.W.IsReady() && Katarina.Instance.E.IsReady()) { _killIndex = 7; } else { _killIndex = 11; } } else if (_target.Health <= (_damageContext.QDamage + _damageContext.WDamage + _damageContext.EDamage) && Katarina.Instance.Q.IsReady() && Katarina.Instance.W.IsReady() && Katarina.Instance.E.IsReady()) { if (Katarina.Instance.Q.IsReady() && Katarina.Instance.W.IsReady() && Katarina.Instance.E.IsReady()) { _killIndex = 8; } else { _killIndex = 11; } } else if ((_target.Health <= (_damageContext.QDamage + _damageContext.WDamage + _damageContext.EDamage + _damageContext.ItemDamage) || _target.Health <= (_damageContext.QDamage + _damageContext.PDamage + _damageContext.WDamage + _damageContext.EDamage + _damageContext.ItemDamage)) && Katarina.Instance.Q.IsReady() && Katarina.Instance.W.IsReady() && Katarina.Instance.E.IsReady()) { if (Katarina.Instance.Q.IsReady() && Katarina.Instance.W.IsReady() && Katarina.Instance.E.IsReady()) { _killIndex = 9; } else { _killIndex = 11; } } else if (_target.Health <= (_damageContext.QDamage + _damageContext.PDamage + _damageContext.WDamage + _damageContext.EDamage + _damageContext.RDamage + _damageContext.ItemDamage)) { if (Katarina.Instance.Q.IsReady() && Katarina.Instance.W.IsReady() && Katarina.Instance.E.IsReady()) { _killIndex = 10; } else { _killIndex = 11; } } }