예제 #1
0
        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);
                }
            }
        }