/// <summary> /// Initializes tracking of debuffs. /// </summary> /// <param name="activity"></param> public DebuffActivity(TkActivity activity) { var paralyzeDebuffs = new List <BuffKeySpell>(); paralyzeDebuffs.AddRange(Mage.Paralyze); paralyzeDebuffs.AddRange(Mage.MassParalyze); Blindness = new DebuffStatus(activity, Mage.Blind); Paralysis = new DebuffStatus(activity, paralyzeDebuffs); Scourge = new DebuffStatus(activity, Poet.Scourge); Venom = new DebuffStatus(activity, Mage.Venom); Vex = new DebuffStatus(activity, Mage.Vex); }
public static async Task <bool> CastDebuffCure(TkClient caster, TkClient target, DebuffStatus status, KeySpell debuffCureSpell) { if (!status.IsActive) { return(false); } if (!await CastStatus(caster, target.Self.Uid, target.Self.Name, debuffCureSpell)) // Do not combine with the IsActive condition { return(false); } status.ResetStatusCooldown(); return(true); }