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; }
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; }
public virtual bool Stack(Buff buff) { return false; }
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; }