Пример #1
0
        public override bool Stack(Buff buff)
        {
            TimedBuff newbuff = (TimedBuff)buff;
            // update buff if new timeout is longer than current one, or if new buff has no timeout
            if (newbuff.Timeout == null || this.Timeout != null && newbuff.Timeout.TimeoutTick > this.Timeout.TimeoutTick)
                this.Timeout = newbuff.Timeout;

            return true;
        }
Пример #2
0
        public override bool Stack(Buff buff)
        {
            base.Stack(buff);

            bool canStack = this.IsCountingStacks && StackCount != MaxStackCount;

            if (this.Timeout != null)
            {
                Target.Attributes[_Buff_Icon_Start_TickN, PowerSNO] = this.Timeout.TimeoutTick;
                Target.Attributes[_Buff_Icon_End_TickN, PowerSNO] = this.Timeout.TimeoutTick;
                if (canStack)
                    Target.Attributes[_Buff_Icon_CountN, PowerSNO] += 1;
            }
            Target.Attributes.BroadcastChangedIfRevealed();

            if (canStack)
                this.StackCount += 1;

            return true;
        }
Пример #3
0
 public virtual bool Stack(Buff buff) { return false; }
Пример #4
0
        public override bool Stack(Buff buff)
        {
            base.Stack(buff);

            //User.Attributes[GameAttribute.Buff_Icon_Count0, PowerSNO] += 1;
            if (this.Timeout != null)
            {
                User.Attributes[_Buff_Icon_Start_TickN, PowerSNO] = this.Timeout.TimeoutTick;
                User.Attributes[_Buff_Icon_End_TickN, PowerSNO] = this.Timeout.TimeoutTick;
                User.Attributes.BroadcastChangedIfRevealed();
            }
            return true;
        }