mirror of
https://github.com/space-syndicate/space-station-14.git
synced 2026-10-09 10:21:18 +03:00
Adds support for unlimited stacks (#5084)
Co-authored-by: ike709 <ike709@github.com>
This commit is contained in:
parent
0bbc4d9afe
commit
0865409521
3 changed files with 16 additions and 2 deletions
|
|
@ -62,6 +62,8 @@ namespace Content.Server.Stack
|
|||
{
|
||||
// Set the split stack's count.
|
||||
SetCount(entity.Uid, amount, stackComp);
|
||||
// Don't let people dupe unlimited stacks
|
||||
stackComp.Unlimited = false;
|
||||
}
|
||||
|
||||
return entity;
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ namespace Content.Shared.Stacks
|
|||
{
|
||||
public sealed override string Name => "Stack";
|
||||
|
||||
|
||||
[ViewVariables(VVAccess.ReadWrite)]
|
||||
[DataField("stackType", required:true, customTypeSerializer:typeof(PrototypeIdSerializer<StackPrototype>))]
|
||||
public string StackTypeId { get; private set; } = string.Empty;
|
||||
|
|
@ -32,7 +33,14 @@ namespace Content.Shared.Stacks
|
|||
/// </summary>
|
||||
[ViewVariables(VVAccess.ReadOnly)]
|
||||
[DataField("max")]
|
||||
public int MaxCount { get; set; } = 30;
|
||||
public int MaxCount { get; set; } = 30;
|
||||
|
||||
/// <summary>
|
||||
/// Set to true to not reduce the count when used.
|
||||
/// </summary>
|
||||
[DataField("unlimited")]
|
||||
[ViewVariables(VVAccess.ReadOnly)]
|
||||
public bool Unlimited { get; set; }
|
||||
|
||||
[ViewVariables]
|
||||
public int AvailableSpace => MaxCount - Count;
|
||||
|
|
|
|||
|
|
@ -73,7 +73,11 @@ namespace Content.Shared.Stacks
|
|||
}
|
||||
|
||||
// We do have enough things in the stack, so remove them and change.
|
||||
SetCount(uid, stack.Count - amount, stack);
|
||||
if (!stack.Unlimited)
|
||||
{
|
||||
SetCount(uid, stack.Count - amount, stack);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue