void Apply() { var realBuff = Owner.Buffs.GetBuff(RealBuff); if (realBuff == null || realBuff.TimeLeft.TotalSeconds < (1.Rounds().Seconds.TotalSeconds * 0.99)) { var resources = Owner.Resources; if (resources.GetResourceAmount(RequiredResource) > 0) { resources.Spend(RequiredResource, 1); Buff.RunActionInContext( Helpers.CreateActionList( RealBuff.CreateApplyBuff( Helpers.CreateContextDuration(1, BuffDuration), RealBuff.IsFromSpell, Dispellable, asChild: RemoveWhenTurnedOff)), Owner.Unit); } } }