private static void OnFlee(Vector3 position) { if (SkillsHandler.Spells[SpellSlot.W].IsReady() && player.CountEnemiesInRange(SkillsHandler.Spells[SpellSlot.W].Range) > 0) { SkillsHandler.Spells[SpellSlot.W].Cast(); } if (SkillsHandler.Spells[SpellSlot.E].IsReady()) { if (!EActive) { SkillsHandler.Spells[SpellSlot.E].Cast(position); } else { if (CurrentEPosition.Distance(position) < 25) { if (CurrentEPosition.IsSafePositionEx() && CurrentEPosition.PassesNoEIntoEnemiesCheck()) { SkillsHandler.Spells[SpellSlot.E].Cast(); } } } } Orbwalking.Orbwalk(null, Game.CursorPos); }
private static void CheckEvade() { if (EStart != Vector3.Zero && EEnd != Vector3.Zero && EvadeHelper.EvadeDetectedSkillshots.Any( skillshot => skillshot.SpellData.IsDangerous && skillshot.SpellData.DangerValue >= 3 && skillshot.IsAboutToHit((int)TimeFromCurrentToEnd, EEnd))) { if (CurrentEPosition.IsSafePosition()) { SkillsHandler.Spells[SpellSlot.E].Cast(); } } var rSkills = EvadeHelper.EvadeDetectedSkillshots.Where( skillshot => skillshot.SpellData.IsDangerous && skillshot.SpellData.DangerValue >= 3 && skillshot.IsAboutToHit(300, ObjectManager.Player.ServerPosition)).ToList(); if (GetMenuValue <bool>("lissandra.misc.saveR") && SkillsHandler.Spells[SpellSlot.R].IsReady() && rSkills.Any()) { //Let's try this, never done it ayy lmao if ( rSkills.Any( skillshot => skillshot.Caster.GetSpellDamage(ObjectManager.Player, skillshot.SpellData.SpellName) >= ObjectManager.Player.Health + 15)) { //Found at least 1 spell that is gonna kill me. Better immune Kappa. SkillsHandler.Spells[SpellSlot.R].Cast(); } } }
private static void OnCombo() { //TODO The All In Combo. var comboTarget = TargetSelector.GetTarget(SkillsHandler.QShard.Range, TargetSelector.DamageType.Magical); if (comboTarget.IsValidTarget()) { if (GetMenuValue <bool>("lissandra.combo.useQ") && comboTarget.IsValidTarget(SkillsHandler.QShard.Range) && SkillsHandler.Spells[SpellSlot.Q].IsReady()) { var predictionPosition = SkillsHandler.GetQPrediction(comboTarget); if (predictionPosition != null) { //Found a valid Q prediction SkillsHandler.Spells[SpellSlot.Q].Cast((Vector3)predictionPosition); } } if (GetMenuValue <bool>("lissandra.combo.useW") && comboTarget.IsValidTarget(SkillsHandler.Spells[SpellSlot.W].Range) && SkillsHandler.Spells[SpellSlot.W].IsReady() && !comboTarget.IsStunned) { SkillsHandler.Spells[SpellSlot.W].Cast(); } if (GetMenuValue <bool>("lissandra.combo.useE") && comboTarget.IsValidTarget(SkillsHandler.Spells[SpellSlot.E].Range) && SkillsHandler.Spells[SpellSlot.E].IsReady()) { if (!EActive) { var comboTargetPosition = Prediction.GetPrediction(comboTarget, TimeToEEnd(ObjectManager.Player.ServerPosition, comboTarget.ServerPosition)).UnitPosition; //TODO This will probably fail horribly because it's such a long delay ayy lmao if (comboTargetPosition.IsSafePositionEx() && comboTargetPosition.PassesNoEIntoEnemiesCheck()) { SkillsHandler.Spells[SpellSlot.E].Cast(comboTargetPosition); } else { if (SkillsHandler.Spells[SpellSlot.E].IsInRange(comboTargetPosition) && CurrentEPosition.IsSafePositionEx()) { SkillsHandler.Spells[SpellSlot.E].Cast(comboTarget); } } } } if (GetMenuValue <bool>("lissandra.combo.useR") && comboTarget.IsValidTarget(SkillsHandler.Spells[SpellSlot.R].Range) && SkillsHandler.Spells[SpellSlot.R].IsReady()) { var selfR = GetMenuValue <Slider>("lissandra.combo.options.selfR").Value; var defensiveR = GetMenuValue <Slider>("lissandra.combo.options.defensiveR").Value; if (player.CountEnemiesInRange(250) >= defensiveR) { SkillsHandler.Spells[SpellSlot.R].CastOnUnit(player); } if (player.Health / player.MaxHealth * 100 < selfR && player.CountEnemiesInRange(SkillsHandler.Spells[SpellSlot.R].Range) > 0) { SkillsHandler.Spells[SpellSlot.R].CastOnUnit(player); } if (GetMenuValue <bool>("lissandra.combo.options.alwaysR")) { SkillsHandler.Spells[SpellSlot.R].CastOnUnit(comboTarget); } if ((player.GetSpellDamage(comboTarget, SpellSlot.R) * 1.2) > comboTarget.Health + 10 && Menu.Item("lissandra.combo.options.whitelistR" + comboTarget.CharData.BaseSkinName) != null && Menu.Item("lissandra.combo.options.whitelistR" + comboTarget.CharData.BaseSkinName) .GetValue <bool>() == false) { SkillsHandler.Spells[SpellSlot.R].CastOnUnit(comboTarget); } if (GetComboDamage(comboTarget) > comboTarget.Health + 10 && Menu.Item("lissandra.combo.options.whitelistR" + comboTarget.CharData.BaseSkinName) != null && Menu.Item("lissandra.combo.options.whitelistR" + comboTarget.CharData.BaseSkinName) .GetValue <bool>() == false) { SkillsHandler.Spells[SpellSlot.R].CastOnUnit(comboTarget); } } if (ShouldUseIgnite(comboTarget) && player.Distance(comboTarget) <= 600) { player.Spellbook.CastSpell(SkillsHandler.IgniteSlot, comboTarget); } } }