Clipboards added to autolathe (and other folder changes) (#37705)

* Added plastic clipboards; added plastic clipboards to the PTech machine; added clipboards & plastic clipboards to the autolathe

* Fixed plastic clipboard inhand sprites; added and implemented 'empty' clipboard prototypes

* Cleaned up code for empty clipboards; removed BoxFolderBaseEmpty since now it's redundant

* Extensive folder cleanup

* Bugfixed random folder spawns

* Reduced amount of paper in CrateServiceBureaucracy

* Medical folder sprite rename

* BaseTraitorSocialObjective sprite fix

* Added office paper to bureaucracy crate

* First pass at addressing recent review

* Second pass at addressing recent review

* Fix of weird migration.yml error

* whoops, forgot to undo the rename to folder-white.png in the last few commits

* whoops, didn't commit that last commit properly

* whoops, forgot to undo this reordering
This commit is contained in:
Hitlinemoss
2025-08-27 03:07:32 -04:00
committed by GitHub
parent 2965522cdd
commit 60ea2b37fb
22 changed files with 247 additions and 89 deletions

View File

@@ -124,40 +124,37 @@
contents: contents:
- id: RubberStampApproved - id: RubberStampApproved
- id: RubberStampDenied - id: RubberStampDenied
- id: Paper
amount: 5
- id: Pen - id: Pen
- id: Pen amount: 3
- id: Pen - id: BoxFolderBaseEmpty
- id: BoxFolderBase
orGroup: folderA orGroup: folderA
- id: BoxFolderBlack - id: BoxFolderBlackEmpty
orGroup: folderA orGroup: folderA
- id: BoxFolderBlue - id: BoxFolderBlueEmpty
orGroup: folderA orGroup: folderA
- id: BoxFolderGreen - id: BoxFolderGreenEmpty
orGroup: folderA orGroup: folderA
- id: BoxFolderGrey - id: BoxFolderGreyEmpty
orGroup: folderA orGroup: folderA
- id: BoxFolderRed - id: BoxFolderRedEmpty
orGroup: folderA orGroup: folderA
- id: BoxFolderWhite - id: BoxFolderYellowEmpty
orGroup: folderA orGroup: folderA
- id: BoxFolderYellow - id: BoxFolderBaseEmpty
orGroup: folderA
- id: BoxFolderBase
orGroup: folderB orGroup: folderB
- id: BoxFolderBlack - id: BoxFolderBlackEmpty
orGroup: folderB orGroup: folderB
- id: BoxFolderBlue - id: BoxFolderBlueEmpty
orGroup: folderB orGroup: folderB
- id: BoxFolderGreen - id: BoxFolderGreenEmpty
orGroup: folderB orGroup: folderB
- id: BoxFolderGrey - id: BoxFolderGreyEmpty
orGroup: folderB orGroup: folderB
- id: BoxFolderRed - id: BoxFolderRedEmpty
orGroup: folderB orGroup: folderB
- id: BoxFolderWhite - id: BoxFolderYellowEmpty
orGroup: folderB
- id: BoxFolderYellow
orGroup: folderB orGroup: folderB
- id: CrayonBox - id: CrayonBox
prob: 0.50 prob: 0.50

View File

@@ -144,15 +144,17 @@
- type: StorageFill - type: StorageFill
contents: contents:
- id: Paper - id: Paper
amount: 15 amount: 12
- id: PaperOffice
amount: 6
- id: Pen - id: Pen
amount: 2 amount: 2
- id: BoxFolderClipboard - id: BoxFolderClipboardEmpty
amount: 2 amount: 2
- id: HandLabeler - id: HandLabeler
- id: BoxFolderBlue - id: BoxFolderBlueEmpty
- id: BoxFolderRed - id: BoxFolderRedEmpty
- id: BoxFolderYellow - id: BoxFolderYellowEmpty
- id: NewtonCradle - id: NewtonCradle
- id: BoxEnvelope - id: BoxEnvelope
- id: BrbSign - id: BrbSign

View File

@@ -7,6 +7,7 @@
ClothingHeadsetGrey: 5 ClothingHeadsetGrey: 5
RubberStampApproved: 1 RubberStampApproved: 1
RubberStampDenied: 1 RubberStampDenied: 1
BoxFolderPlasticClipboardEmpty: 2
Paper: 10 Paper: 10
Envelope: 10 Envelope: 10
HandLabeler: 2 HandLabeler: 2

View File

@@ -10,15 +10,15 @@
- type: Sprite - type: Sprite
sprite: Objects/Misc/folders.rsi sprite: Objects/Misc/folders.rsi
layers: layers:
- state: folder-base - state: folder-base
- state: folder-colormap - state: folder-colormap
- type: RandomSpawner - type: RandomSpawner
offset: 0 offset: 0
prototypes: prototypes:
- BoxFolderRed - BoxFolderBase
- BoxFolderBlue - BoxFolderRed
- BoxFolderYellow - BoxFolderBlue
- BoxFolderWhite - BoxFolderYellow
- BoxFolderGrey - BoxFolderGrey
- BoxFolderBlack - BoxFolderBlack
- BoxFolderGreen - BoxFolderGreen

View File

@@ -1,6 +1,6 @@
- type: entity - type: entity
id: BoxFolderNuclearCodes
parent: BaseItem parent: BaseItem
id: BoxFolderNuclearCodes
name: nuclear code folder name: nuclear code folder
components: components:
- type: Sprite - type: Sprite
@@ -19,8 +19,8 @@
- type: Appearance - type: Appearance
- type: entity - type: entity
id: BoxFolderBase
parent: BoxBase parent: BoxBase
id: BoxFolderBaseEmpty
name: folder name: folder
description: A folder filled with top secret paperwork. description: A folder filled with top secret paperwork.
components: components:
@@ -62,22 +62,42 @@
- type: Tag - type: Tag
tags: tags:
- Folder - Folder
- type: StorageFill
contents:
- id: Paper
prob: 0.5
- id: PaperOffice
prob: 0.4
- id: Paper
prob: 0.3
- id: PaperOffice
prob: 0.2
- id: Paper
prob: 0.2
- type: entity - type: entity
id: BoxFolderRed abstract: true
parent: BoxFolderBase id: BoxFolderFill # Include this as a parent prototype to add 0-5 random papers to a folder's inventory when spawned.
suffix: Filled
components:
- type: StorageFill
contents:
- id: Paper
prob: 0.5
- id: PaperOffice
prob: 0.4
- id: Paper
prob: 0.3
- id: PaperOffice
prob: 0.2
- id: Paper
prob: 0.2
- type: entity
abstract: true
id: BoxFolderFillThreePapers # Like BoxFolderFill, but always has exactly three sheets of standard paper; use for roles' startingGear
suffix: 3 papers
components:
- type: StorageFill
contents:
- id: Paper
amount: 3
- type: entity
parent: [BoxFolderBaseEmpty, BoxFolderFill]
id: BoxFolderBase
- type: entity
parent: BoxFolderBaseEmpty
id: BoxFolderRedEmpty
suffix: Red suffix: Red
components: components:
- type: Sprite - type: Sprite
@@ -87,8 +107,13 @@
- state: folder-base - state: folder-base
- type: entity - type: entity
id: BoxFolderBlue parent: [BoxFolderRedEmpty, BoxFolderFill]
parent: BoxFolderBase id: BoxFolderRed
suffix: Red, Filled
- type: entity
parent: BoxFolderBaseEmpty
id: BoxFolderBlueEmpty
suffix: Blue suffix: Blue
components: components:
- type: Sprite - type: Sprite
@@ -98,8 +123,13 @@
- state: folder-base - state: folder-base
- type: entity - type: entity
id: BoxFolderYellow parent: [BoxFolderBlueEmpty, BoxFolderFill]
parent: BoxFolderBase id: BoxFolderBlue
suffix: Blue, Filled
- type: entity
parent: BoxFolderBaseEmpty
id: BoxFolderYellowEmpty
suffix: Yellow suffix: Yellow
components: components:
- type: Sprite - type: Sprite
@@ -109,18 +139,13 @@
- state: folder-base - state: folder-base
- type: entity - type: entity
id: BoxFolderWhite parent: [BoxFolderYellowEmpty, BoxFolderFill]
parent: BoxFolderBase id: BoxFolderYellow
suffix: White suffix: Yellow, Filled
components:
- type: Sprite
layers:
- state: folder-white
- state: folder-base
- type: entity - type: entity
id: BoxFolderGrey parent: BoxFolderBaseEmpty
parent: BoxFolderBase id: BoxFolderGreyEmpty
suffix: Grey suffix: Grey
components: components:
- type: Sprite - type: Sprite
@@ -130,8 +155,13 @@
- state: folder-base - state: folder-base
- type: entity - type: entity
id: BoxFolderBlack parent: [BoxFolderGreyEmpty, BoxFolderFill]
parent: BoxFolderBase id: BoxFolderGrey
suffix: Grey, Filled
- type: entity
parent: BoxFolderBaseEmpty
id: BoxFolderBlackEmpty
suffix: Black suffix: Black
components: components:
- type: Sprite - type: Sprite
@@ -141,8 +171,13 @@
- state: folder-base - state: folder-base
- type: entity - type: entity
id: BoxFolderGreen parent: [BoxFolderBlackEmpty, BoxFolderFill]
parent: BoxFolderBase id: BoxFolderBlack
suffix: Black, Filled
- type: entity
parent: BoxFolderBaseEmpty
id: BoxFolderGreenEmpty
suffix: Green suffix: Green
components: components:
- type: Sprite - type: Sprite
@@ -152,10 +187,30 @@
- state: folder-base - state: folder-base
- type: entity - type: entity
id: BoxFolderCentCom parent: [BoxFolderGreenEmpty, BoxFolderFill]
name: CentComm folder id: BoxFolderGreen
parent: BoxFolderBase suffix: Green, Filled
- type: entity
parent: BoxFolderBaseEmpty
id: BoxFolderWhiteEmpty
suffix: White
components:
- type: Sprite
layers:
- state: folder-white
- state: folder-base
- type: entity
parent: [BoxFolderWhiteEmpty, BoxFolderFill]
id: BoxFolderWhite
suffix: White, Filled
- type: entity
parent: BoxFolderBaseEmpty
id: BoxFolderCentComEmpty
categories: [ DoNotMap ] categories: [ DoNotMap ]
name: CentComm folder
description: CentComm's miserable little pile of secrets! description: CentComm's miserable little pile of secrets!
components: components:
- type: Sprite - type: Sprite
@@ -164,8 +219,13 @@
- state: folder-base - state: folder-base
- type: entity - type: entity
id: BoxFolderClipboard parent: [BoxFolderCentComEmpty, BoxFolderFill]
parent: BoxFolderBase id: BoxFolderCentCom
suffix: DO NOT MAP, Filled
- type: entity
parent: BoxFolderBaseEmpty
id: BoxFolderClipboardEmpty
name: clipboard name: clipboard
description: The weapon of choice for those on the front lines of bureaucracy. description: The weapon of choice for those on the front lines of bureaucracy.
components: components:
@@ -223,8 +283,42 @@
Blunt: 6 Blunt: 6
- type: entity - type: entity
id: BoxFolderCentComClipboard parent: [BoxFolderClipboardEmpty, BoxFolderFill]
parent: BoxFolderClipboard id: BoxFolderClipboard
- type: entity
parent: [BoxFolderClipboardEmpty, BoxFolderFillThreePapers]
id: BoxFolderClipboardThreePapers
- type: entity
parent: BoxFolderClipboardEmpty
id: BoxFolderPlasticClipboardEmpty
name: plastic clipboard
description: A cheap clipboard made of blue plastic. For those who aren't yet ready to wield the bureaucratic might of a proper wooden clipboard.
components:
- type: Sprite
sprite: Objects/Misc/plastic_clipboard.rsi
layers:
- state: clipboard
- state: clipboard_paper
map: ["clipboard_paper"]
visible: false
- state: clipboard_pen
map: ["clipboard_pen"]
visible: false
- state: clipboard_over
- type: Item
sprite: Objects/Misc/plastic_clipboard.rsi
- type: Clothing
sprite: Objects/Misc/plastic_clipboard.rsi
- type: entity
parent: [BoxFolderPlasticClipboardEmpty, BoxFolderFill]
id: BoxFolderPlasticClipboard
- type: entity
parent: BoxFolderClipboardEmpty
id: BoxFolderCentComClipboardEmpty
name: CentComm clipboard name: CentComm clipboard
description: A luxurious clipboard upholstered with green velvet. Often seen carried by CentComm officials, seldom seen actually used. description: A luxurious clipboard upholstered with green velvet. Often seen carried by CentComm officials, seldom seen actually used.
components: components:
@@ -245,8 +339,16 @@
sprite: Objects/Misc/cc-clipboard.rsi sprite: Objects/Misc/cc-clipboard.rsi
- type: entity - type: entity
parent: [BoxFolderCentComClipboardEmpty, BoxFolderFill]
id: BoxFolderCentComClipboard
- type: entity
parent: [BoxFolderCentComClipboardEmpty, BoxFolderFillThreePapers]
id: BoxFolderCentComClipboardThreePapers
- type: entity
parent: [BoxFolderClipboardEmpty, BaseGrandTheftContraband]
id: BoxFolderQmClipboard id: BoxFolderQmClipboard
parent: [BoxFolderClipboard, BaseGrandTheftContraband]
name: requisition digi-board name: requisition digi-board
description: A bulky electric clipboard, filled with shipping orders and financing details. With so many compromising documents, you ought to keep this safe. description: A bulky electric clipboard, filled with shipping orders and financing details. With so many compromising documents, you ought to keep this safe.
components: components:
@@ -278,8 +380,6 @@
grid: grid:
- 0,0,4,3 - 0,0,4,3
quickInsert: true quickInsert: true
- type: StorageFill
contents: [] #to override base clipboard fill
- type: ItemMapper - type: ItemMapper
mapLayers: mapLayers:
qm_clipboard_paper: qm_clipboard_paper:

View File

@@ -123,6 +123,7 @@
- PartsStatic - PartsStatic
- AtmosStatic - AtmosStatic
- CablesStatic - CablesStatic
- PaperworkStatic
- CargoStatic - CargoStatic
- MaterialsStatic - MaterialsStatic
- BasicChemistryStatic - BasicChemistryStatic

View File

@@ -6,12 +6,13 @@
rolls: !type:RangeNumberSelector rolls: !type:RangeNumberSelector
range: 2, 4 range: 2, 4
children: children:
- id: BoxFolderBlue - id: BoxFolderBase
- id: BoxFolderRed - id: BoxFolderRed
- id: BoxFolderBlue
- id: BoxFolderYellow - id: BoxFolderYellow
- id: BoxFolderWhite
- id: BoxFolderGrey - id: BoxFolderGrey
- id: BoxFolderBlack - id: BoxFolderBlack
- id: BoxFolderGreen
- !type:GroupSelector - !type:GroupSelector
rolls: !type:RangeNumberSelector rolls: !type:RangeNumberSelector
range: 0, 3 range: 0, 3

View File

@@ -17,7 +17,7 @@
- type: Objective - type: Objective
icon: icon:
sprite: Objects/Misc/folders.rsi sprite: Objects/Misc/folders.rsi
state: folder-white state: folder-colormap
- type: MultipleTraitorsRequirement - type: MultipleTraitorsRequirement
- type: entity - type: entity

View File

@@ -38,6 +38,12 @@
- CableMVStack - CableMVStack
- CableHVStack - CableHVStack
- type: latheRecipePack
id: PaperworkStatic
recipes:
- BoxFolderClipboardEmpty
- BoxFolderPlasticClipboardEmpty
## Dynamic ## Dynamic
# Things you'd expect sci salv and engi to make use of # Things you'd expect sci salv and engi to make use of

View File

@@ -277,3 +277,18 @@
materials: materials:
Steel: 30 Steel: 30
- type: latheRecipe
id: BoxFolderClipboardEmpty
result: BoxFolderClipboardEmpty
completetime: 2
materials:
Wood: 100
Steel: 25
- type: latheRecipe
id: BoxFolderPlasticClipboardEmpty
result: BoxFolderPlasticClipboardEmpty
completetime: 2
materials:
Plastic: 100
Steel: 25

View File

@@ -39,7 +39,7 @@
equipment: equipment:
id: QuartermasterPDA id: QuartermasterPDA
ears: ClothingHeadsetQM ears: ClothingHeadsetQM
belt: BoxFolderClipboard belt: BoxFolderClipboardThreePapers
pocket1: AppraisalTool pocket1: AppraisalTool
storage: storage:
back: back:

View File

@@ -28,7 +28,7 @@
id: CentcomPDA id: CentcomPDA
ears: ClothingHeadsetAltCentCom ears: ClothingHeadsetAltCentCom
belt: WeaponPistolN1984 belt: WeaponPistolN1984
pocket1: BoxFolderBlack pocket1: BoxFolderCentComClipboardThreePapers
pocket2: PenCentcom pocket2: PenCentcom

View File

@@ -65,7 +65,7 @@
id: HoPPDA id: HoPPDA
gloves: ClothingHandsGlovesHop gloves: ClothingHandsGlovesHop
ears: ClothingHeadsetAltCommand ears: ClothingHeadsetAltCommand
belt: BoxFolderClipboard belt: BoxFolderClipboardThreePapers
eyes: ClothingEyesHudCommand eyes: ClothingEyesHudCommand
storage: storage:
back: back:

View File

@@ -1239,7 +1239,7 @@
pocket1: BookSun pocket1: BookSun
pocket2: BookRandomStory pocket2: BookRandomStory
inhand: inhand:
- BoxFolderClipboard - BoxFolderClipboardThreePapers
- type: startingGear - type: startingGear
id: VisitorMusicianFancyAltA id: VisitorMusicianFancyAltA
@@ -1509,7 +1509,7 @@
back: ClothingBackpackSatchel back: ClothingBackpackSatchel
ears: ClothingHeadsetService ears: ClothingHeadsetService
pocket1: MicrophoneInstrument pocket1: MicrophoneInstrument
pocket2: BoxFolderClipboard pocket2: BoxFolderClipboardThreePapers
- type: startingGear - type: startingGear
id: VisitorReporterAlt id: VisitorReporterAlt
@@ -1520,7 +1520,7 @@
back: ClothingBackpackSatchel back: ClothingBackpackSatchel
ears: ClothingHeadsetService ears: ClothingHeadsetService
pocket1: MicrophoneInstrument pocket1: MicrophoneInstrument
pocket2: BoxFolderClipboard pocket2: BoxFolderClipboardThreePapers
- type: startingGear - type: startingGear
id: VisitorServiceWorker id: VisitorServiceWorker

Binary file not shown.

After

Width:  |  Height:  |  Size: 442 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 141 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 479 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 668 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 667 B

View File

@@ -0,0 +1,35 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Clipboard sprites are by WJohn (Github) for tgstation, taken from https://github.com/tgstation/tgstation/commit/3cc10b1785bff95e861d722b5164189951761921. Inhand sprites by nmajask (Github) for SS14. Aforementioned sprites modified again by Hitlinemoss. clipboard_paper is a modified version of paper from bureaucracy.rsi.",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "clipboard"
},
{
"name": "clipboard_over"
},
{
"name": "clipboard_paper"
},
{
"name": "clipboard_pen"
},
{
"name": "equipped-BELT",
"directions": 4
},
{
"name": "inhand-left",
"directions": 4
},
{
"name": "inhand-right",
"directions": 4
}
]
}