Rejigging Item slots (#4933)
* itemslot overhaul * remove "shared" prefix * handle component shutdown * comments, cleanup, tests * comments and minor tweak * rename ItemSlotManagerState * fix swapping * fix merge * Add ItemSlot verb text override * fix merge (IEntity -> entityUid) * Fix merge (LabelSystem) * Fix merge (nuke disk) * fix test
This commit is contained in:
@@ -1,4 +1,2 @@
|
||||
item-slots-try-insert-no-hands = You have no hands.
|
||||
|
||||
# EjectItemVerb
|
||||
eject-item-verb-text-default = Eject {$item}
|
||||
take-item-verb-text = Take {$subject}
|
||||
place-item-verb-text = Place {$subject}
|
||||
|
||||
@@ -22,18 +22,16 @@
|
||||
mask:
|
||||
- VaultImpassable
|
||||
- type: Nuke
|
||||
diskSlot:
|
||||
name: Disk
|
||||
insertSound:
|
||||
path: /Audio/Machines/terminal_insert_disc.ogg
|
||||
ejectSound:
|
||||
path: /Audio/Machines/terminal_insert_disc.ogg
|
||||
whitelist:
|
||||
tags:
|
||||
- NukeDisk
|
||||
- type: InteractionOutline
|
||||
- type: ItemSlots
|
||||
slots:
|
||||
DiskSlot:
|
||||
name: Disk
|
||||
insertSound:
|
||||
path: /Audio/Machines/terminal_insert_disc.ogg
|
||||
ejectSound:
|
||||
path: /Audio/Machines/terminal_insert_disc.ogg
|
||||
whitelist:
|
||||
tags:
|
||||
- NukeDisk
|
||||
- type: UserInterface
|
||||
interfaces:
|
||||
- key: enum.NukeUiKey.Key
|
||||
|
||||
@@ -34,23 +34,19 @@
|
||||
type: PDABoundUserInterface
|
||||
- key: enum.UplinkUiKey.Key
|
||||
type: UplinkBoundUserInterface
|
||||
- type: ItemSlots
|
||||
slots:
|
||||
pdaPenSlot:
|
||||
item: "Pen"
|
||||
whitelist:
|
||||
tags:
|
||||
- Write
|
||||
pdaIdSlot:
|
||||
name: ID Card
|
||||
insertSound:
|
||||
path: /Audio/Weapons/Guns/MagIn/batrifle_magin.ogg
|
||||
ejectSound:
|
||||
path: /Audio/Machines/id_swipe.ogg
|
||||
whitelist:
|
||||
components:
|
||||
- IdCard
|
||||
- type: PDA
|
||||
penSlot:
|
||||
startingItem: Pen
|
||||
whitelist:
|
||||
tags:
|
||||
- Write
|
||||
idSlot:
|
||||
name: ID Card
|
||||
ejectSound: /Audio/Machines/id_swipe.ogg
|
||||
insertSound: /Audio/Weapons/Guns/MagIn/batrifle_magin.ogg
|
||||
whitelist:
|
||||
components:
|
||||
- IdCard
|
||||
- type: DoorBumpOpener
|
||||
|
||||
- type: entity
|
||||
@@ -100,6 +96,15 @@
|
||||
components:
|
||||
- type: PDA
|
||||
idCard: ClownIDCard
|
||||
penSlot:
|
||||
startingItem: CrayonOrange # no pink crayon?!?
|
||||
# Maybe this is a bad idea.
|
||||
# At least they can't just spam alt-click it.
|
||||
# You need to remove the ID & alternate between inserting and ejecting
|
||||
ejectSound: /Audio/Items/bikehorn.ogg
|
||||
whitelist:
|
||||
tags:
|
||||
- Write
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: PDAVisualizer
|
||||
@@ -135,6 +140,11 @@
|
||||
components:
|
||||
- type: PDA
|
||||
idCard: MimeIDCard
|
||||
idSlot:
|
||||
name: ID Card
|
||||
whitelist:
|
||||
components:
|
||||
- IdCard
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: PDAVisualizer
|
||||
|
||||
@@ -33,6 +33,8 @@
|
||||
capacity: 5
|
||||
- type: Tag
|
||||
tags:
|
||||
- Write
|
||||
- Crayon
|
||||
- CrayonWhite
|
||||
|
||||
- type: entity
|
||||
@@ -52,6 +54,8 @@
|
||||
capacity: 5
|
||||
- type: Tag
|
||||
tags:
|
||||
- Write
|
||||
- Crayon
|
||||
- CrayonWhite
|
||||
|
||||
- type: entity
|
||||
@@ -71,6 +75,8 @@
|
||||
capacity: 5
|
||||
- type: Tag
|
||||
tags:
|
||||
- Write
|
||||
- Crayon
|
||||
- CrayonBlack
|
||||
|
||||
- type: entity
|
||||
@@ -90,6 +96,8 @@
|
||||
capacity: 5
|
||||
- type: Tag
|
||||
tags:
|
||||
- Write
|
||||
- Crayon
|
||||
- CrayonRed
|
||||
|
||||
- type: entity
|
||||
@@ -109,6 +117,8 @@
|
||||
capacity: 5
|
||||
- type: Tag
|
||||
tags:
|
||||
- Write
|
||||
- Crayon
|
||||
- CrayonOrange
|
||||
|
||||
- type: entity
|
||||
@@ -128,6 +138,8 @@
|
||||
capacity: 5
|
||||
- type: Tag
|
||||
tags:
|
||||
- Write
|
||||
- Crayon
|
||||
- CrayonYellow
|
||||
|
||||
- type: entity
|
||||
@@ -147,6 +159,8 @@
|
||||
capacity: 5
|
||||
- type: Tag
|
||||
tags:
|
||||
- Write
|
||||
- Crayon
|
||||
- CrayonGreen
|
||||
|
||||
- type: entity
|
||||
@@ -166,6 +180,8 @@
|
||||
capacity: 5
|
||||
- type: Tag
|
||||
tags:
|
||||
- Write
|
||||
- Crayon
|
||||
- CrayonBlue
|
||||
|
||||
- type: entity
|
||||
@@ -185,6 +201,8 @@
|
||||
capacity: 5
|
||||
- type: Tag
|
||||
tags:
|
||||
- Write
|
||||
- Crayon
|
||||
- CrayonPurple
|
||||
|
||||
- type: entity
|
||||
|
||||
@@ -34,12 +34,12 @@
|
||||
openSound:
|
||||
path: /Audio/Misc/zip.ogg
|
||||
- type: PaperLabel
|
||||
- type: ItemSlots
|
||||
slots:
|
||||
labelSlot:
|
||||
whitelist:
|
||||
components:
|
||||
- Paper
|
||||
labelSlot:
|
||||
insertVerbText: Attach Label
|
||||
ejectVerbText: Remove Label
|
||||
whitelist:
|
||||
components:
|
||||
- Paper
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: StorageVisualizer
|
||||
|
||||
@@ -54,9 +54,9 @@
|
||||
state_open: crate_open
|
||||
state_closed: crate_door
|
||||
- type: PaperLabel
|
||||
- type: ItemSlots
|
||||
slots:
|
||||
labelSlot:
|
||||
whitelist:
|
||||
components:
|
||||
- Paper
|
||||
labelSlot:
|
||||
insertVerbText: Attach Label
|
||||
ejectVerbText: Remove Label
|
||||
whitelist:
|
||||
components:
|
||||
- Paper
|
||||
|
||||
@@ -18,6 +18,11 @@
|
||||
- state: closed
|
||||
map: ["enum.ItemCabinetVisualLayers.Door"]
|
||||
- type: ItemCabinet
|
||||
cabinetSlot:
|
||||
ejectOnInteract: true
|
||||
whitelist:
|
||||
components:
|
||||
- FireExtinguisher
|
||||
doorSound:
|
||||
path: /Audio/Machines/machine_switch.ogg
|
||||
- type: Appearance
|
||||
@@ -25,12 +30,6 @@
|
||||
- type: ItemCabinetVisualizer
|
||||
openState: open
|
||||
closedState: closed
|
||||
- type: ItemSlots
|
||||
slots:
|
||||
cabinetSlot:
|
||||
whitelist:
|
||||
components:
|
||||
- FireExtinguisher
|
||||
placement:
|
||||
mode: SnapgridCenter
|
||||
|
||||
@@ -48,14 +47,12 @@
|
||||
suffix: Filled
|
||||
components:
|
||||
- type: ItemCabinet
|
||||
spawnPrototype: FireExtinguisher
|
||||
- type: ItemSlots
|
||||
slots:
|
||||
cabinetSlot:
|
||||
item: FireExtinguisher
|
||||
whitelist:
|
||||
components:
|
||||
- FireExtinguisher
|
||||
cabinetSlot:
|
||||
ejectOnInteract: true
|
||||
startingItem: FireExtinguisher
|
||||
whitelist:
|
||||
components:
|
||||
- FireExtinguisher
|
||||
|
||||
- type: entity
|
||||
id: ExtinguisherCabinetFilledOpen
|
||||
|
||||
@@ -16,6 +16,11 @@
|
||||
- state: glass
|
||||
map: ["enum.ItemCabinetVisualLayers.Door"]
|
||||
- type: ItemCabinet
|
||||
cabinetSlot:
|
||||
ejectOnInteract: true
|
||||
whitelist:
|
||||
tags:
|
||||
- FireAxe
|
||||
doorSound:
|
||||
path: /Audio/Machines/machine_switch.ogg
|
||||
- type: Appearance
|
||||
@@ -23,12 +28,6 @@
|
||||
- type: ItemCabinetVisualizer
|
||||
closedState: glass
|
||||
openState: glass-up
|
||||
- type: ItemSlots
|
||||
slots:
|
||||
cabinetSlot:
|
||||
whitelist:
|
||||
tags:
|
||||
- FireAxe
|
||||
placement:
|
||||
mode: SnapgridCenter
|
||||
|
||||
@@ -46,13 +45,12 @@
|
||||
suffix: Filled
|
||||
components:
|
||||
- type: ItemCabinet
|
||||
- type: ItemSlots
|
||||
slots:
|
||||
cabinetSlot:
|
||||
item: FireAxe
|
||||
whitelist:
|
||||
tags:
|
||||
- FireAxe
|
||||
cabinetSlot:
|
||||
startingItem: FireAxe
|
||||
ejectOnInteract: true
|
||||
whitelist:
|
||||
tags:
|
||||
- FireAxe
|
||||
|
||||
- type: entity
|
||||
id: FireAxeCabinetFilledOpen
|
||||
|
||||
BIN
Resources/Textures/Interface/VerbIcons/drop.svg.192dpi.png
Normal file
BIN
Resources/Textures/Interface/VerbIcons/drop.svg.192dpi.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 587 B |
@@ -0,0 +1,4 @@
|
||||
# For now, this icon is literally just the pickup icon rotated 180 degrees.
|
||||
# But maybe this will change in the future?
|
||||
sample:
|
||||
filter: true
|
||||
Reference in New Issue
Block a user