Add verbs to Open/Close Openable containers, and add optional seals (#24780)

* Implement closing; add open/close verbs

* Add breakable seals

* Allow custom verb names; make condiment bottles closeable

* Remove pointless VV annotations and false defaults

* Split Sealable off into a new component

* Should have a Closed event too

* Oh hey, there are icons I could use

* Ternary operator

* Add support for seal visualizers

* Moved Sealable to Shared, added networking

* Replaced bottle_close1.ogg
This commit is contained in:
Tayrtahn
2024-02-13 17:08:07 -05:00
committed by GitHub
parent 52f74fa39d
commit 75e47fff9e
14 changed files with 255 additions and 9 deletions

View File

@@ -63,6 +63,11 @@
copyright: "User volivieri on freesound.org. Modified by Velcroboy on github."
source: "https://freesound.org/people/volivieri/sounds/37190/"
- files: ["bottle_close1.ogg"]
license: "CC0-1.0"
copyright: "User MellowAudio on freesound.org. Modified by Tayrtahn on github."
source: "https://freesound.org/people/MellowAudio/sounds/591485/"
- files: ["bow_pull.ogg"]
license: "CC-BY-3.0"
copyright: "User jzdnvdoosj on freesound.org. Converted to ogg by mirrorcult"
@@ -92,7 +97,7 @@
license: "CC-BY-4.0"
copyright: "User LoafDV on freesound.org. Converted to ogg end edited by lzk228"
source: "https://freesound.org/people/LoafDV/sounds/131596/"
- files: ["shovel_dig.ogg"]
license: "CC-BY-SA-3.0"
copyright: "Taken from tgstation, modified by themias (github) for ss14"

Binary file not shown.

View File

@@ -1,6 +1,8 @@
drink-component-on-use-is-empty = {$owner} is empty!
drink-component-on-examine-is-empty = [color=gray]Empty[/color]
drink-component-on-examine-is-opened = [color=yellow]Opened[/color]
drink-component-on-examine-is-sealed = The seal is intact.
drink-component-on-examine-is-unsealed = The seal is broken.
drink-component-on-examine-is-full = Full
drink-component-on-examine-is-mostly-full = Mostly Full
drink-component-on-examine-is-half-full = Halfway Full

View File

@@ -0,0 +1,2 @@
openable-component-verb-open = Open
openable-component-verb-close = Close

View File

@@ -6,6 +6,10 @@
- type: Openable
sound:
collection: bottleOpenSounds #Could use a new sound someday ¯\_(ツ)_/¯
closeable: true
closeSound:
collection: bottleCloseSounds
- type: Sealable
- type: SolutionContainerManager
solutions:
drink:

View File

@@ -10,6 +10,9 @@
- type: Openable
sound:
collection: bottleOpenSounds
closeable: true
closeSound:
collection: bottleCloseSounds
- type: SolutionContainerManager
solutions:
drink:
@@ -131,6 +134,7 @@
Quantity: 100
- type: Sprite
sprite: Objects/Consumable/Drinks/absinthebottle.rsi
- type: Sealable
- type: entity
parent: [DrinkBottleVisualsAll, DrinkBottleGlassBaseFull]
@@ -170,6 +174,7 @@
Quantity: 100
- type: Sprite
sprite: Objects/Consumable/Drinks/bottleofnothing.rsi
- type: Sealable
- type: entity
parent: [DrinkBottleVisualsOpenable, DrinkBottleGlassBaseFull]
@@ -185,6 +190,8 @@
Quantity: 100
- type: Sprite
sprite: Objects/Consumable/Drinks/champagnebottle.rsi
- type: Openable
closeable: false # Champagne corks are fat. Not worth the effort.
- type: entity
parent: [DrinkBottleVisualsAll, DrinkBottleGlassBaseFull]
@@ -202,6 +209,7 @@
currentLabel: cognac
- type: Sprite
sprite: Objects/Consumable/Drinks/cognacbottle.rsi
- type: Sealable
- type: entity
parent: [DrinkBottleVisualsAll, DrinkBottlePlasticBaseFull]
@@ -219,6 +227,7 @@
currentLabel: cola
- type: Sprite
sprite: Objects/Consumable/Drinks/colabottle.rsi
- type: Sealable
- type: entity
parent: [DrinkBottleVisualsAll, DrinkBottleGlassBaseFull]
@@ -256,6 +265,7 @@
currentLabel: gin
- type: Sprite
sprite: Objects/Consumable/Drinks/ginbottle.rsi
- type: Sealable
- type: entity
parent: [DrinkBottleVisualsAll, DrinkBottleGlassBaseFull]
@@ -271,6 +281,7 @@
Quantity: 100
- type: Sprite
sprite: Objects/Consumable/Drinks/gildlagerbottle.rsi
- type: Sealable
- type: entity
parent: [DrinkBottleVisualsOpenable, DrinkBottleGlassBaseFull]
@@ -288,6 +299,7 @@
currentLabel: coffee liqueur
- type: Sprite
sprite: Objects/Consumable/Drinks/coffeeliqueurbottle.rsi
- type: Sealable
- type: entity
parent: [DrinkBottleVisualsAll, DrinkBottleGlassBaseFull]
@@ -342,6 +354,7 @@
Quantity: 100
- type: Sprite
sprite: Objects/Consumable/Drinks/pwinebottle.rsi
- type: Sealable
- type: entity
parent: [DrinkBottleVisualsAll, DrinkBottleGlassBaseFull]
@@ -359,6 +372,7 @@
currentLabel: rum
- type: Sprite
sprite: Objects/Consumable/Drinks/rumbottle.rsi
- type: Sealable
- type: entity
parent: [DrinkBottleVisualsAll, DrinkBottlePlasticBaseFull]
@@ -377,6 +391,7 @@
currentLabel: space mountain wind
- type: Sprite
sprite: Objects/Consumable/Drinks/space_mountain_wind_bottle.rsi
- type: Sealable
- type: entity
parent: [DrinkBottleVisualsAll, DrinkBottlePlasticBaseFull]
@@ -395,6 +410,7 @@
currentLabel: space-up
- type: Sprite
sprite: Objects/Consumable/Drinks/space-up_bottle.rsi
- type: Sealable
- type: entity
parent: [DrinkBottleVisualsAll, DrinkBottleGlassBaseFull]
@@ -412,6 +428,7 @@
currentLabel: tequila
- type: Sprite
sprite: Objects/Consumable/Drinks/tequillabottle.rsi
- type: Sealable
- type: entity
parent: [DrinkBottleVisualsAll, DrinkBottleGlassBaseFull]
@@ -429,6 +446,7 @@
currentLabel: vermouth
- type: Sprite
sprite: Objects/Consumable/Drinks/vermouthbottle.rsi
- type: Sealable
- type: entity
parent: [DrinkBottleVisualsAll, DrinkBottleGlassBaseFull]
@@ -446,6 +464,7 @@
currentLabel: vodka
- type: Sprite
sprite: Objects/Consumable/Drinks/vodkabottle.rsi
- type: Sealable
- type: entity
parent: [DrinkBottleVisualsAll, DrinkBottleGlassBaseFull]
@@ -463,6 +482,7 @@
currentLabel: whiskey
- type: Sprite
sprite: Objects/Consumable/Drinks/whiskeybottle.rsi
- type: Sealable
- type: entity
parent: [DrinkBottleVisualsOpenable, DrinkBottleGlassBaseFull]
@@ -480,6 +500,7 @@
currentLabel: wine
- type: Sprite
sprite: Objects/Consumable/Drinks/winebottle.rsi
- type: Sealable
# Small Bottles
@@ -500,6 +521,8 @@
Quantity: 50
- type: Sprite
sprite: Objects/Consumable/Drinks/beer.rsi
- type: Openable
closeable: false
- type: entity
parent: [DrinkBottleVisualsAll, DrinkBottleGlassBaseFull]
@@ -518,6 +541,8 @@
currentLabel: beer
- type: Sprite
sprite: Objects/Consumable/Drinks/beer.rsi
- type: Openable
closeable: false
- type: entity
@@ -535,9 +560,10 @@
reagents:
- ReagentId: Ale
Quantity: 50
- type: Sprite
sprite: Objects/Consumable/Drinks/alebottle.rsi
- type: Openable
closeable: false
- type: entity
parent: [DrinkBottleVisualsAll, DrinkBottlePlasticBaseFull]
@@ -556,6 +582,8 @@
currentLabel: ale
- type: Sprite
sprite: Objects/Consumable/Drinks/alebottle.rsi
- type: Openable
closeable: false
- type: entity
parent: [DrinkBottleVisualsOpenable, DrinkBottlePlasticBaseFull]
@@ -587,6 +615,7 @@
fillBaseName: icon-
inHandsMaxFillLevels: 2
inHandsFillBaseName: -fill-
- type: Sealable
- type: entity
parent: DrinkWaterBottleFull

View File

@@ -337,6 +337,7 @@
- type: Openable
sound:
collection: pop
closeable: true
- type: SolutionContainerManager
solutions:
food:

View File

@@ -0,0 +1,4 @@
- type: soundCollection
id: bottleCloseSounds
files:
- /Audio/Items/bottle_close1.ogg