protected override bool CanRun(object context) { const string spellName = "Feign Death"; if (!Utils.CombatCheckOk(spellName, false)) { return(false); } if (Settings.FeignDeath.Contains("never")) { return(false); } if (Settings.FeignDeath.Contains("on aggro") && !Utils.AllMobsAttackingPetOrOther && Spell.CanCast(spellName)) { if ((!Target.IsHealthPercentAbove(30) && !Target.IsElite && !Utils.Adds) || (Me.GotAlivePet && Me.GotTarget && CT.GetThreatInfoFor(Me.Pet).RawPercent < 5) || !Settings.FeignDeath.Contains("low health")) { return(false); } if (Target.IsCaster || Target.IsDistanceLessThan(Target.InteractRange + 10)) { return(true); } } if ((Settings.FeignDeath.Contains("low health") && Self.IsHealthPercentAbove(Settings.FeignDeathHealth)) || !Me.GotAlivePet || Utils.IsBattleground || Utils.AllMobsAttackingPetOrOther) { return(false); } return(Spell.CanCast(spellName)); }