if (!TryGetSeed(component, out var seed))
return;
- using (args.PushGroup(nameof(SeedComponent)))
+ using (args.PushGroup(nameof(SeedComponent), 1))
{
var name = Loc.GetString(seed.DisplayName);
args.PushMarkup(Loc.GetString($"seed-component-description", ("seedName", name)));
using Robust.Shared.Prototypes;
using Robust.Shared.Random;
using Robust.Shared.Timing;
+using Content.Server.Labels.Components;
+using Content.Shared.Containers.ItemSlots;
namespace Content.Server.Botany.Systems;
[Dependency] private readonly TagSystem _tagSystem = default!;
[Dependency] private readonly RandomHelperSystem _randomHelper = default!;
[Dependency] private readonly IRobustRandom _random = default!;
+ [Dependency] private readonly ItemSlotsSystem _itemSlots = default!;
public const float HydroponicsSpeedMultiplier = 1f;
}
component.LastCycle = _gameTiming.CurTime;
+ if (TryComp<PaperLabelComponent>(args.Used, out var paperLabel))
+ {
+ _itemSlots.TryEjectToHands(args.Used, paperLabel.LabelSlot, args.User);
+ }
QueueDel(args.Used);
CheckLevelSanity(uid, component);
comp-paper-label-has-label = There is a label attached, it reads:
comp-paper-label-has-label-blank = There is a label attached, but it's blank.
comp-paper-label-has-label-cant-read = There is a label attached, but you can't read it from this distance.
+comp-paper-label-insert = Attach label
+comp-paper-label-eject = Detach label
- type: SolutionContainerManager
- type: Sprite
sprite: Objects/Specific/Hydroponics/seeds.rsi
- state: seed
+ layers:
+ - state: seed
+ - state: paper
+ visible: false
+ map: ["enum.PaperLabelVisuals.Layer"]
+ sprite: Objects/Specific/Hydroponics/seeds.rsi
+ - type: Appearance
+ - type: GenericVisualizer
+ visuals:
+ enum.PaperLabelVisuals.HasLabel:
+ enum.PaperLabelVisuals.Layer:
+ True: { visible: true }
+ False: { visible: false }
- type: Item
size: Tiny
- type: StaticPrice
price: 20
+ - type: ItemSlots
+ - type: ContainerContainer
+ containers:
+ paper_label: !type:ContainerSlot
+ - type: PaperLabel
+ labelSlot:
+ insertVerbText: comp-paper-label-insert
+ ejectVerbText: comp-paper-label-eject
+ whitelist:
+ components:
+ - Paper
+ blacklist:
+ tags:
+ - Book
- type: entity
parent: SeedBase
- type: EntityStorageLayingDownOverride
- type: PaperLabel
labelSlot:
- insertVerbText: Attach Label
- ejectVerbText: Remove Label
+ insertVerbText: comp-paper-label-insert
+ ejectVerbText: comp-paper-label-eject
whitelist:
components:
- Paper
acts: ["Destruction"]
- type: PaperLabel
labelSlot:
- insertVerbText: Attach Label
- ejectVerbText: Remove Label
+ insertVerbText: comp-paper-label-insert
+ ejectVerbText: comp-paper-label-eject
whitelist:
components:
- Paper
- type: MovedByPressure
- type: PaperLabel
labelSlot:
- insertVerbText: Attach Label
- ejectVerbText: Remove Label
+ insertVerbText: comp-paper-label-insert
+ ejectVerbText: comp-paper-label-eject
whitelist:
components:
- Paper
Invoice: { state: invoice }
- type: PaperLabel
labelSlot:
- insertVerbText: Attach Label
- ejectVerbText: Remove Label
+ insertVerbText: comp-paper-label-insert
+ ejectVerbText: comp-paper-label-eject
whitelist:
components:
- Paper
{
"version": 1,
"license": "CC-BY-SA-3.0",
- "copyright": "Taken from https://github.com/vgstation-coders/vgstation13 at 1dbcf389b0ec6b2c51b002df5fef8dd1519f8068",
+ "copyright": "Taken from https://github.com/vgstation-coders/vgstation13 at 1dbcf389b0ec6b2c51b002df5fef8dd1519f8068, paper layer by Ian321",
"size": {
"x": 32,
"y": 32
},
{
"name": "seed-synthbrain"
+ },
+ {
+ "name": "paper"
}
]
}