public override AbilityPriority CreateHeal() { var result = new AbilityPriority(); result.Add("Runic Healing", r => GameManager.LocalPlayer.Mana >= 40 && r.HealthPercent < Settings.RunicHealingHPPercent); result.Add("Runes of Protection", r => GameManager.LocalPlayer.Mana >= 34 && InstanceManager.Party.Average(s => s.ShieldPercent) < Settings.RunesOfProtectionSPPercent); result.Add("Vitality Burst", r => GameManager.LocalPlayer.Mana >= 12 && InstanceManager.Party.Average(s => s.HealthPercent) < Settings.VitalityBurstHPPercent); result.Add("Astral Infusion", r => GameManager.LocalPlayer.Mana >= 52 && GameManager.LocalPlayer.HealthPercent < Settings.AstralInfusionHPPercent); result.Add("Healing Salve", r => GameManager.LocalPlayer.Mana >= 20 && !GameManager.LocalPlayer.HasBuff("Healing Salve")); result.Add("Dual Fire", r => GameManager.LocalPlayer.Mana >= 16 && InstanceManager.Party.Average(s => s.HealthPercent) < Settings.DualFireHPPercent); result.Add("Healing Torrent", r => GameManager.LocalPlayer.Mana >= 31 && InstanceManager.Party.Average(s => s.HealthPercent) < Settings.HealingTorrentHPPercent); result.Add("Voidspring", r => GameManager.LocalPlayer.Mana >= 27 && InstanceManager.Party.Average(s => s.HealthPercent) < Settings.VoidSpringHPPercent); result.Add("Regenerative Pulse", r => GameManager.LocalPlayer.Mana >= 33 && InstanceManager.Party.Average(s => s.HealthPercent) < Settings.RegenerativePulseHPPercent); result.Add("Sustain", r => GameManager.LocalPlayer.Mana >= 30 && InstanceManager.Party.Average(s => s.HealthPercent) < Settings.SustainHPPercent); return(result); }
public override AbilityPriority CreateCombat() { var result = new AbilityPriority(); // Spell Interrupt result.Add("Kick", r => r.IsCasting); // CC handle & break result.Add("Flash Bang", r => r.HasCC(CCStateType.Blind)); result.Add("Tether Bolt", r => GameManager.LocalPlayer.HasCC(CCStateType.Tether)); result.Add("Unstoppable Force", r => GameManager.LocalPlayer.HasCleansableCC()); result.Add("Leap", r => r.Distance > 10 || GameManager.LocalPlayer.HasCleansableCC()); result.Add("Savage Strikes", r => GameManager.LocalPlayer.HasCC(CCStateType.Knockback)); // Shield handle result.Add("Shield Burst", r => GameManager.LocalPlayer.ShieldPercent == 0); // Buff application result.Add("Polarity Field", r => !r.HasBuff("Exhaust") && r.GetSurrounding().Count() > 1); result.Add("Augmented Blade", r => !r.HasBuff("Wound")); result.Add("Smackdown", r => r.HasBuff("Expose")); result.Add("Sentinel", r => !GameManager.LocalPlayer.HasBuff("Guard")); // Cast when-up result.Add("Power Link", r => true); result.Add("Defense Grid", r => true); result.Add("Emergency Reserves", r => true); // TANK? result.Add("Plasma Blast", r => r.CurrentTarget != null && r.CurrentTarget.Guid != GameManager.LocalPlayer.Guid); result.Add("Atomic Surge", r => InstanceManager.IsTank && r.CurrentTarget != null && r.CurrentTarget.Guid != GameManager.LocalPlayer.Guid); result.Add("Bum Rush", r => InstanceManager.IsTank || GameManager.LocalPlayer.HealthPercent < 70); result.Add("Tremor", r => r.GetSurrounding().Count() > 1); // Spenders result.Add("Rampage", r => GameManager.LocalPlayer.InnateResourcePercent >= 90); result.Add("Whirlwind", r => GameManager.LocalPlayer.InnateResourcePercent >= 90); result.Add("Expulsion", r => GameManager.LocalPlayer.Buffs.Where(b => b.IsHarmful).Count() >= 1); result.Add("Bolstering Strike", r => GameManager.LocalPlayer.InnateResource > 250 && InstanceManager.Party.Average(s => s.HealthPercent) < 50); result.Add("Jolt", r => GameManager.LocalPlayer.InnateResource > 90 && GameManager.LocalPlayer.InnateResourcePercent >= 90); result.Add("Plasma Wall", r => GameManager.LocalPlayer.InnateResource > 90 && GameManager.LocalPlayer.InnateResourcePercent >= 90); result.Add("Ripsaw", r => r.GetSurrounding().Count() > 1); // Builders result.Add("Menacing Strike", r => GameManager.LocalPlayer.InnateResourcePercent < 90 && GameManager.LocalPlayer.HealthPercent < 70); result.Add("Breaching Strikes", r => GameManager.LocalPlayer.InnateResourcePercent < 90 && GameManager.LocalPlayer.InnateResourcePercent < 90); result.Add("Relentless Strikes", r => GameManager.LocalPlayer.InnateResourcePercent < 90); return(result); }
public override AbilityPriority CreateCombat() { var result = new AbilityPriority(); // Spell interrupt result.Add("Stagger", r => r.IsCasting); result.Add("False Retreat", r => r.IsCasting); result.Add("Pounce", r => r.IsCasting); result.Add("Tether Mine", r => r.IsCasting); result.Add("Collapse", r => r.IsCasting); // Buff application result.Add("Phlebotomize", r => GameManager.LocalPlayer.SuitPower >= 15 && !r.HasBuff("Wound")); result.Add("Reaver", r => !r.HasCC(CCStateType.Taunt)); result.Add("Bloodthirst", r => !GameManager.LocalPlayer.HasBuff("Lifesteal")); result.Add("Preperation", r => !GameManager.LocalPlayer.HasBuff("Empower") && !GameManager.LocalPlayer.HasBuff("Defense")); result.Add("Decimate", r => !r.HasBuff("Weaken")); #region Concussive Kicks result.Add("Concussive Kicks", r => { var punish = GetSpell("Punish"); if (punish != null && punish.CooldownTimeRemaining.TotalMilliseconds < 2000) { return(false); } return(!GameManager.LocalPlayer.HasBuff("Concussive Kicks - Cooldown") || GameManager.LocalPlayer.HasBuff("Concussive Kicks - Cooldown") && GameManager.LocalPlayer.SuitPower >= 15); }); #endregion // Cast when-up //result.Add("Tactical Retreat", r => true); REMOVED result.Add("Whiplash", r => true); result.Add("Razor Storm", r => true); result.Add("Stim Drone", r => true); // Spenders result.Add("Neutralize", r => GameManager.LocalPlayer.SuitPower >= 15 && !GameManager.LocalPlayer.HasBuff("Neutralize")); result.Add("Punish", r => GameManager.LocalPlayer.SuitPower < 35 && !GameManager.LocalPlayer.HasBuff("Punish")); #region Shred result.Add("Shred", r => { var impale = GetSpell("Impale"); if (impale != null && impale.Ability.TierIndex >= 8) { return(GameManager.LocalPlayer.SuitPower < 30); } return(GameManager.LocalPlayer.SuitPower <= 35); }); #endregion #region Impale result.Add("Impale", r => { var impale = GetSpell("Impale"); if (impale != null && impale.Ability.TierIndex >= 8) { return(GameManager.LocalPlayer.SuitPower >= 30); } return(GameManager.LocalPlayer.SuitPower >= 35); }); #endregion result.Add("Clone", r => GameManager.LocalPlayer.SuitPower >= 25); result.Add("Analyze Weakness", r => GameManager.LocalPlayer.SuitPower >= 15); result.Add("Ruin", r => GameManager.LocalPlayer.SuitPower >= 10); result.Add("Cripple", r => GameManager.LocalPlayer.SuitPower >= 5 && GameManager.LocalPlayer.SuitPower >= 3); result.Add("Nano Field", r => GameManager.LocalPlayer.SuitPower >= 20); result.Add("Razor Disk", r => GameManager.LocalPlayer.SuitPower >= 20); result.Add("Nano Virus", r => GameManager.LocalPlayer.SuitPower >= 10); result.Add("Amplification Spike", r => GameManager.LocalPlayer.SuitPower >= 25); result.Add("Frenzy", r => GameManager.LocalPlayer.SuitPower >= 30); result.Add("Nano Dart", r => GameManager.LocalPlayer.SuitPower >= 10); // Builders result.Add("Steadfast", r => GameManager.LocalPlayer.SuitPower < 100 && !GameManager.LocalPlayer.HasBuff("Defense")); return(result); }
public override AbilityPriority CreateCombat() { var result = new AbilityPriority(); //result.Add("Hyper Wave", r => r.ThreatListGuids.Contains(GameManager.LocalPlayer.Guid)); //result.Add("Particle Ejector", r => r.ThreatListGuids.Contains(GameManager.LocalPlayer.Guid)); result.Add("Shatter Impairment", r => GameManager.LocalPlayer.HasCleansableCC()); // Interrupt result.Add("Obstruct Vision", r => r.IsCasting); result.Add("Code Red", r => r.IsCasting); result.Add("Diminisherbot", r => r.IsCasting); result.Add("Zap", r => r.IsCasting); result.Add("Urgent Withdrawal", r => r.IsCasting); result.Add("Bruiserbot", r => (r.IsCasting) || r.GetSurrounding().Count() >= Settings.BruiserbotSurroundAmount); result.Add("Repairbot", r => InstanceManager.Party.Average(s => s.ShieldPercent) <= Settings.RepairbotSPercent); result.Add("Recursive Matrix", r => GameManager.LocalPlayer.GetSurrounding(20).Count() >= Settings.RecursiveMatrixSurroundAmount); // Buff management result.Add("Bio Shell", r => !r.HasBuff("Expose")); result.Add("Unstable Anomaly", r => !r.HasBuff("Wound")); result.Add("Unsteady Miasma", r => !r.HasBuff("Blunder")); result.Add("Personal Defense Unit", r => !GameManager.LocalPlayer.HasBuff("Defense")); // Proc / Cast when up // IsSpellReady is used for procs! result.Add("Quick Burst", r => IsSpellProcReady("Quick Burst")); result.Add("Artillerybot", r => IsSpellProcReady("Artillerybot")); result.Add("Feedback", r => IsSpellProcReady("Feedback")); result.Add("Thresher", r => IsSpellProcReady("Thresher")); // Spender result.Add("Electrocute", r => GameManager.LocalPlayer.InnateResourcePercent >= Settings.ElectrocuteIPercent); result.Add("Mortar Strike", r => GameManager.LocalPlayer.InnateResourcePercent >= Settings.MortarStrikeIPercent); result.Add("Bolt Caster", r => GameManager.LocalPlayer.InnateResourcePercent >= Settings.BoltCasterIPercent); // Builders result.Add("Disruptive Module", r => GameManager.LocalPlayer.InnateResourcePercent < Settings.DisruptiveModuleIPercent && InstanceManager.Party.Average(s => s.ShieldPercent) <= Settings.DisruptiveModuleSPercent); result.Add("Flak Cannon", r => GameManager.LocalPlayer.InnateResourcePercent <= Settings.FlakCannonIPercent); result.Add("Ricochet", r => !r.HasBuff("Exhaust") && GameManager.LocalPlayer.InnateResourcePercent <= Settings.RicochetIPercent); result.Add("Target Acquisition", r => GameManager.LocalPlayer.InnateResourcePercent <= Settings.TargetAquisitionIPercent); result.Add("Shock Pulse", r => GameManager.LocalPlayer.InnateResourcePercent <= Settings.ShockPulseIPercent); result.Add("Volatile Injection", r => GameManager.LocalPlayer.InnateResourcePercent <= Settings.VolatileInjectionIPercent); result.Add("Energy Auger", r => GameManager.LocalPlayer.InnateResourcePercent <= Settings.EnergyAugerIPercent); result.Add("Pulse Blast", r => GameManager.LocalPlayer.InnateResourcePercent <= Settings.PulseBlastIPercent); return(result); }
public override AbilityPriority CreateCombat() { var result = new AbilityPriority(); // Spell interrupting result.Add("Gate", r => r.IsCasting && GameManager.LocalPlayer.InnateResource <= 1); result.Add("Flash Freeze", r => r.IsCasting); result.Add("Chill", r => r.IsCasting); result.Add("Arcane Shock", r => r.IsCasting); #region Spatial Shift result.Add("Spatial Shift", r => { if (r != null) { Actor Target = r; return(Target.IsCasting && (GameManager.LocalPlayer.InnateResource == 1 || GameManager.LocalPlayer.InnateResource >= 2 && (CanCast("Gate") || CanCast("Arcane Shock")))); } return(false); }); #endregion // Cleansing result.Add("Void Slip", r => GameManager.LocalPlayer.HasCleansableCC()); result.Add("Purify", r => GameManager.LocalPlayer.Mana >= 15 && GameManager.LocalPlayer.HealthPercent < Settings.PurifyHPPercent && GameManager.LocalPlayer.Buffs.Count(s => s.IsHarmful) >= 1); // Buff application result.Add("Void Pact", r => !GameManager.LocalPlayer.HasBuff("Empower")); result.Add("Phase Shift", r => !GameManager.LocalPlayer.HasBuff("Defense")); // Special result.Add("Gather Focus", r => GameManager.LocalPlayer.Mana < 100); result.Add("Affinity", r => InstanceManager.LowestHealth.HealthPercent < Settings.AffinityHPPercent); // Builder & spenders #region Spell surge // Build reliant Spell Surge result.Add("Ignite", r => { if (r != null) { Actor Target = r; var Ignite = GetSpell("Ignite"); return(Ignite != null && Ignite.CanCast && (Ignite.Ability.TierIndex <= 8 && !Target.HasBuff("Ignite") || Ignite.Ability.TierIndex == 8)); } return(false); }, async cast => { await SpellCastBehaviors.CastSimple("Spell Surge"); await SpellCastBehaviors.CastSimple("Ignite"); return(await SpellCastBehaviors.CastSimple("Spell Surge")); }); result.Add("Quick Draw", r => { if (r != null) { Actor Target = r; var QuickDraw = GetSpell("Quick Draw"); return(QuickDraw != null && QuickDraw.CanCast && Target.HealthPercent < 30 && GameManager.LocalPlayer.Mana >= 50); } return(false); }, async cast => { await SpellCastBehaviors.CastSimple("Spell Surge"); await SpellCastBehaviors.CastSimple("Quick Draw"); return(await SpellCastBehaviors.CastSimple("Spell Surge")); }); result.Add("Flame Burst", r => { if (r != null) { Actor Target = r; var FlameBurst = GetSpell("Flame Burst"); return(FlameBurst != null && FlameBurst.CanCast && (FlameBurst.Ability.TierIndex == 8 && Target.HasBuff("Ignite") || FlameBurst.Ability.TierIndex < 8)); } return(false); }, async cast => { await SpellCastBehaviors.CastSimple("Spell Surge"); await SpellCastBehaviors.CastSimple("Flame Burst"); return(await SpellCastBehaviors.CastSimple("Spell Surge")); }); result.Add("Assassinate", r => { if (r != null) { Actor Target = r; var Assassinate = GetSpell("Assassinate"); return(Assassinate != null && Assassinate.CanCast && (Target.HealthPercent >= 30 && GameManager.LocalPlayer.Mana > 25 || Target.HealthPercent < 30)); } return(false); }, async cast => { await SpellCastBehaviors.CastSimple("Spell Surge"); await SpellCastBehaviors.CastSimple("Assassinate"); return(await SpellCastBehaviors.CastSimple("Spell Surge")); }); // "Spam" Spell Surge result.Add("Wild Barrage", r => true, async cast => { await SpellCastBehaviors.CastSimple("Spell Surge"); await SpellCastBehaviors.CastSimple("Wild Barrage"); return(await SpellCastBehaviors.CastSimple("Spell Surge")); }); result.Add("Rapid Fire", r => true, async cast => { await SpellCastBehaviors.CastSimple("Spell Surge"); await SpellCastBehaviors.CastSimple("Rapid Fire"); return(await SpellCastBehaviors.CastSimple("Spell Surge")); }); result.Add("True Shot", r => true, async cast => { await SpellCastBehaviors.CastSimple("Spell Surge"); await SpellCastBehaviors.CastSimple("True Shot"); return(await SpellCastBehaviors.CastSimple("Spell Surge")); }); result.Add("Arcane Missiles", r => !r.HasBuff("Expose"), async cast => { await SpellCastBehaviors.CastSimple("Spell Surge"); await SpellCastBehaviors.CastSimple("Arcane Missiles"); return(await SpellCastBehaviors.CastSimple("Spell Surge")); }); result.Add("Charged Shot", r => true, async cast => { await SpellCastBehaviors.CastSimple("Spell Surge"); await SpellCastBehaviors.CastSimple("Charged Shot"); return(await SpellCastBehaviors.CastSimple("Spell Surge")); }); #endregion return(result); }
public override AbilityPriority CreateCombat() { var result = new AbilityPriority(); // Spell interrupting result.Add("Magnetic Lockdown", r => r.IsCasting); result.Add("Paralytic Surge", r => r.IsCasting); // Cleansing result.Add("Dematerialize", r => r.Buffs.Count(s => s.IsBeneficial) > 1); result.Add("Calm", r => GameManager.LocalPlayer.HasCleansableCC()); result.Add("Antidote", r => GameManager.LocalPlayer.Mana > 24 && GameManager.LocalPlayer.HealthPercent < 50 && GameManager.LocalPlayer.Buffs.Count(s => s.IsHarmful) > 1); // Buff application result.Add("Fissure", r => !r.HasBuff("Expose")); result.Add("Protection Probes", r => !GameManager.LocalPlayer.HasBuff("Defense")); result.Add("Empowering Probes", r => !GameManager.LocalPlayer.HasBuff("Empower")); // Cast when-up / health percentage result.Add("Collider", r => r.HealthPercent < 30); result.Add("Nullifier", r => true); result.Add("Devastator Probes", r => true); result.Add("Annihilation", r => true); result.Add("Urgency", r => true); result.Add("Restrictor", r => true); // Spenders result.Add("Gamma Rays", r => GameManager.LocalPlayer.InnateResource >= 2); result.Add("Quantum Cascade", r => GameManager.LocalPlayer.InnateResource >= 2); // Chargers result.Add("Discharge", r => GameManager.LocalPlayer.InnateResource < 2); result.Add("Atomize", r => GameManager.LocalPlayer.InnateResource < 2); result.Add("Recharge", r => GameManager.LocalPlayer.Mana < 80); return(result); }
public override AbilityPriority CreateHeal() { var result = new AbilityPriority(); result.Add("Emission", r => GameManager.LocalPlayer.InnateResource < 2); result.Add("Crisis Wave", r => GameManager.LocalPlayer.InnateResource >= 2 && GameManager.LocalPlayer.Mana >= 35 && InstanceManager.Party.Average(s => s.HealthPercent) < Settings.CrisisWaveHPPercent); result.Add("Dual Shock", r => GameManager.LocalPlayer.Mana >= 35 && InstanceManager.Party.Average(s => s.HealthPercent) < Settings.DualShockHPPercent); result.Add("Mending Probes", r => GameManager.LocalPlayer.Mana >= 18 && InstanceManager.Party.Average(s => s.HealthPercent) < Settings.MendingProbesHPPercent); result.Add("Triage", r => GameManager.LocalPlayer.Mana >= 20 && InstanceManager.Party.OrderBy(s => s.HealthPercent).FirstOrDefault().HealthPercent < Settings.TriageHPPercent && InstanceManager.Party.OrderBy(s => s.ShieldPercent).FirstOrDefault().ShieldPercent < Settings.TriageSPPercent); result.Add("Flash", r => GameManager.LocalPlayer.Mana >= 28 && InstanceManager.Party.Average(s => s.HealthPercent) < Settings.FlashHPPercent); result.Add("Barrier", r => GameManager.LocalPlayer.Mana >= 86 && InstanceManager.Party.Average(s => s.HealthPercent) < Settings.BarrierHPPercent && InstanceManager.Party.Average(s => s.ShieldPercent) < Settings.BarrierSPPercent); result.Add("Rejuvenator", r => GameManager.LocalPlayer.Mana >= 30 && InstanceManager.Party.Average(s => s.HealthPercent) < Settings.RejuvenatorHPPercent); result.Add("Shield Surge", r => GameManager.LocalPlayer.Mana >= 41 && GameManager.LocalPlayer.InnateResource >= 2 && InstanceManager.Party.Average(s => s.ShieldPercent) < Settings.ShieldSurgeSPPercent); result.Add("Extricate", r => GameManager.LocalPlayer.Mana >= 46 && GameManager.LocalPlayer.HealthPercent < Settings.ExtricateHPPercent); result.Add("Field Probes", r => GameManager.LocalPlayer.HasBuff("Beacon") && InstanceManager.Party.Average(s => s.HealthPercent) < 50); return(result); }
public override AbilityPriority CreateCombat() { var result = new AbilityPriority(); // High Priority / Buff Management result.Add("Haunt", r => !r.HasBuff("Haunt")); result.Add("Fade Out", r => GameManager.LocalPlayer.HasCleansableCC()); // Medium Priority / Psi Point Specific result.Add("Reap", r => GameManager.LocalPlayer.InnateResource == 5); result.Add("Mind Burst", r => GameManager.LocalPlayer.InnateResource == 5); result.Add("Telekinetic Storm", r => GameManager.LocalPlayer.InnateResource == 5); result.Add("Spectral Form", r => GameManager.LocalPlayer.InnateResource >= 4); // Medium Low Priority / Cast Once (summon) result.Add("Spectral Swarm", r => true); result.Add("Geist", r => true); // Low Priority / Interrupt result.Add("Shockwave", r => r.IsCasting); result.Add("Restraint", r => r.IsCasting); result.Add("Crush", r => r.IsCasting); result.Add("Incapacitate", r => r.IsCasting); // Spam Priority / Psi Point builders result.Add("Psychic Frenzy", r => GameManager.LocalPlayer.InnateResource < 5); result.Add("Illusionary Blades", r => GameManager.LocalPlayer.InnateResource < 5); result.Add("Blade Dance", r => GameManager.LocalPlayer.InnateResource < 5); result.Add("Telekinetic Strike", r => GameManager.LocalPlayer.InnateResource < 5); result.Add("Concentrated Blade", r => GameManager.LocalPlayer.InnateResource < 5); return(result); }
public override AbilityPriority CreateHeal() { var result = new AbilityPriority(); // High Priority / Buff Management result.Add("Phantasmal Armor", r => (InstanceManager.Tank != null ? InstanceManager.Tank.HealthPercent : GameManager.LocalPlayer.HealthPercent) < Settings.PhantasmalArmorHP); result.Add("Catharsis", r => GameManager.LocalPlayer.HealthPercent <Settings.CatharsisHP && InstanceManager.CleanseTarget.Buffs.Count> Settings.CatharsisBuff, async cast => { var Target = InstanceManager.CleanseTarget; if (Omnibus.WindowSettings.EnableMovement) { Target.Face(); } return(await SpellCastBehaviors.CastSimple("Catharsis", () => Target, awaitCastFinished: true)); }); // Medium Priority / Psi Point Specific result.Add("Mental Boon", r => GameManager.LocalPlayer.InnateResource == 5 && GameManager.LocalPlayer.HealthPercent < Settings.MentalBoonHP); result.Add("Reverie", r => InstanceManager.AveragePartyHealth < Settings.ReverieHP && GameManager.LocalPlayer.InnateResource == 5); result.Add("Mending Banner", r => InstanceManager.AveragePartyHealth < Settings.MendingBannerHP && GameManager.LocalPlayer.InnateResource == 5); // Medium Low Priority / Health Percentage result.Add("Projected Spirit", r => InstanceManager.AveragePartyHealth > Settings.ProjectedSpiritHP); // Low Priority / Psi Point Builders result.Add("Meditate", r => GameManager.LocalPlayer.InnateResource < 5 && GameManager.LocalPlayer.HealthPercent <= Settings.MeditateHP); result.Add("Pyrokinetic Flame", r => InstanceManager.AveragePartyHealth < Settings.PyrokineticFlameHP && GameManager.LocalPlayer.InnateResource < 5); result.Add("Warden", r => GameManager.LocalPlayer.InnateResource < 5 && (GameManager.LocalPlayer.HealthPercent < Settings.WardenHP || InstanceManager.AveragePartyHealth < Settings.WardenAllyHP)); result.Add("Mirage", r => GameManager.LocalPlayer.InnateResource < 5 && GameManager.LocalPlayer.HealthPercent < Settings.MirageHP); result.Add("Soothe", r => GameManager.LocalPlayer.InnateResource < 5 && GameManager.LocalPlayer.HealthPercent < Settings.SootheHP); result.Add("Bolster", r => GameManager.LocalPlayer.InnateResource < 5 && GameManager.LocalPlayer.HealthPercent < Settings.BolsterHP); result.Add("Mind Over Body", r => GameManager.LocalPlayer.InnateResource < 5 && GameManager.LocalPlayer.HealthPercent < Settings.MindOverBodyHP); return(result); }