diff --git a/Resources/Audio/Items/attributions.yml b/Resources/Audio/Items/attributions.yml index 9c577b2128..267d6f3a0a 100644 --- a/Resources/Audio/Items/attributions.yml +++ b/Resources/Audio/Items/attributions.yml @@ -52,3 +52,13 @@ license: "CC-BY-SA-3.0" copyright: "Taken from /tg/station, edited by Flareguy for Space Station 14" source: "https://github.com/tgstation/tgstation/blob/6665eec76c98a4f3f89bebcd10b34b47dcc0b8ae/sound/weapons/armbomb.ogg" + +- files: ["bottle_clunk.ogg"] + license: "CC-BY-4.0" + copyright: "User volivieri on freesound.org. Modified by Velcroboy on github." + source: "https://freesound.org/people/volivieri/sounds/37190/" + +- files: ["bottle_clunk_2.ogg"] + license: "CC-BY-4.0" + copyright: "User volivieri on freesound.org. Modified by Velcroboy on github." + source: "https://freesound.org/people/volivieri/sounds/37190/" diff --git a/Resources/Audio/Items/bottle_clunk.ogg b/Resources/Audio/Items/bottle_clunk.ogg new file mode 100644 index 0000000000..1c6b435f3f Binary files /dev/null and b/Resources/Audio/Items/bottle_clunk.ogg differ diff --git a/Resources/Audio/Items/bottle_clunk_2.ogg b/Resources/Audio/Items/bottle_clunk_2.ogg new file mode 100644 index 0000000000..81afc70a7d Binary files /dev/null and b/Resources/Audio/Items/bottle_clunk_2.ogg differ diff --git a/Resources/Prototypes/Catalog/Cargo/cargo_service.yml b/Resources/Prototypes/Catalog/Cargo/cargo_service.yml index a8880fe4f0..0ddf41a464 100644 --- a/Resources/Prototypes/Catalog/Cargo/cargo_service.yml +++ b/Resources/Prototypes/Catalog/Cargo/cargo_service.yml @@ -116,4 +116,24 @@ product: CrateJanitorBiosuit cost: 800 category: Service + group: market + +- type: cargoProduct + id: ServiceFoodCartHot + icon: + sprite: Objects/Specific/Kitchen/food_carts.rsi + state: icon-hot + product: FoodCartHot + cost: 2000 + category: Service + group: market + +- type: cargoProduct + id: ServiceFoodCartCold + icon: + sprite: Objects/Specific/Kitchen/food_carts.rsi + state: icon-cold + product: FoodCartCold + cost: 2000 + category: Service group: market diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/condiments.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/condiments.yml index 577f18abd0..2762d3dacb 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/condiments.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/condiments.yml @@ -417,6 +417,9 @@ visible: true - type: Icon state: bottle-coldsauce + - type: Tag + tags: + - Coldsauce - type: entity parent: BaseFoodCondimentBottle @@ -483,6 +486,9 @@ visible: true - type: Icon state: bottle-hotsauce + - type: Tag + tags: + - Hotsauce - type: entity parent: BaseFoodCondimentBottle @@ -505,6 +511,9 @@ visible: true - type: Icon state: bottle-ketchup + - type: Tag + tags: + - Ketchup - type: entity parent: BaseFoodCondimentBottle @@ -528,6 +537,9 @@ # So there's no error. - type: Icon state: bottle-ketchup + - type: Tag + tags: + - BBQsauce # Shakers diff --git a/Resources/Prototypes/Entities/Objects/Specific/Kitchen/foodcarts.yml b/Resources/Prototypes/Entities/Objects/Specific/Kitchen/foodcarts.yml new file mode 100644 index 0000000000..be69667c3d --- /dev/null +++ b/Resources/Prototypes/Entities/Objects/Specific/Kitchen/foodcarts.yml @@ -0,0 +1,163 @@ +- type: entity + name: Food Cart + id: FoodCartBase + abstract: true + parent: BaseStructureDynamic + description: A cart for food. + components: + - type: Sprite + netsync: false + - type: Rotatable + - type: InteractionOutline + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.3 + density: 125 + layer: + - MobLayer + mask: + - MobMask + - type: Damageable + damageContainer: Inorganic + damageModifierSet: Metallic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 400 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 200 + behaviors: + - !type:EmptyAllContainersBehaviour + - !type:DoActsBehavior + acts: ["Destruction"] + - !type:PlaySoundBehavior + sound: + path: /Audio/Effects/metalbreak.ogg + - type: Appearance + - type: UserInterface + interfaces: + - key: enum.StorageUiKey.Key + type: StorageBoundUserInterface + - type: Storage + popup: false + capacity: 30 + - type: TileFrictionModifier + modifier: 0.4 # makes it slide + +# Add this if freezing/heating container/objects thermodynamics becomes a thing + + #- type: PowerCellSlot + # cellSlotId: cell_slot + #- type: ContainerContainer + # containers: + # cell_slot: !type:ContainerSlot + #- type: ItemSlots + # slots: + # cell_slot: + # name: power-cell-slot-component-slot-name-default + # startingItem: PowerCellMedium + +- type: entity + name: Hot Food Cart + id: FoodCartHot + parent: FoodCartBase + description: Get out there and slang some dogs. + components: + - type: Sprite + netSync: false + noRot: true + sprite: Objects/Specific/Kitchen/food_carts.rsi + layers: + - state: stand-food + - type: Storage + blacklist: + tags: + - Coldsauce + - Hotsauce + - BBQsauce + - Ketchup + - type: ItemSlots + slots: + coldsauce_slot: + name: Cold Sauce + insertSound: /Audio/Items/bottle_clunk.ogg + ejectSound: /Audio/Items/bottle_clunk_2.ogg + whitelist: + tags: + - Coldsauce + priority: 6 + hotsauce_slot: + name: Hot Sauce + insertSound: /Audio/Items/bottle_clunk.ogg + ejectSound: /Audio/Items/bottle_clunk_2.ogg + whitelist: + tags: + - Hotsauce + priority: 5 + bbqsauce_slot: + name: BBQ Sauce + insertSound: /Audio/Items/bottle_clunk.ogg + ejectSound: /Audio/Items/bottle_clunk_2.ogg + whitelist: + tags: + - BBQsauce + priority: 4 + ketchup_slot: + name: Ketchup + insertSound: /Audio/Items/bottle_clunk.ogg + ejectSound: /Audio/Items/bottle_clunk_2.ogg + whitelist: + tags: + - Ketchup + priority: 3 + - type: ItemMapper + mapLayers: + cart_hotsauce: + whitelist: + tags: + - Hotsauce + cart_coldsauce: + whitelist: + tags: + - Coldsauce + cart_bbqsauce: + whitelist: + tags: + - BBQsauce + cart_ketchup: + whitelist: + tags: + - Ketchup + sprite: Objects/Specific/Kitchen/food_carts.rsi + - type: ContainerContainer + containers: + storagebase: !type:Container + ents: [] + coldsauce_slot: !type:ContainerSlot {} + hotsauce_slot: !type:ContainerSlot {} + bbqsauce_slot: !type:ContainerSlot {} + ketchup_slot: !type:ContainerSlot {} + +- type: entity + name: Cold Food Cart + id: FoodCartCold + parent: FoodCartBase + description: It's the Ice Cream Man! It's the Ice Cream Man! + components: + - type: Sprite + netSync: false + noRot: true + sprite: Objects/Specific/Kitchen/food_carts.rsi + layers: + - state: stand-ice + - type: ContainerContainer + containers: + storagebase: !type:Container diff --git a/Resources/Prototypes/tags.yml b/Resources/Prototypes/tags.yml index fc66933b75..6e03bd421e 100644 --- a/Resources/Prototypes/tags.yml +++ b/Resources/Prototypes/tags.yml @@ -26,7 +26,10 @@ id: Balloon - type: Tag - id: BaseballBat + id: BaseballBat + +- type: Tag + id: BBQsauce - type: Tag id: Bee @@ -303,7 +306,10 @@ id: CluwneHorn - type: Tag #Ohioans die happy - id: Corn + id: Corn + +- type: Tag + id: Coldsauce - type: Tag id: Cow @@ -574,6 +580,9 @@ - type: Tag id: HonkerRArm +- type: Tag + id: Hotsauce + - type: Tag #Drop this innate tool instead of deleting it. id: InnateDontDelete @@ -598,6 +607,8 @@ - type: Tag id: Kangaroo +- type: Tag + id: Ketchup - type: Tag id: KeyedInstrument diff --git a/Resources/Textures/Objects/Specific/Kitchen/food_carts.rsi/cart_bbqsauce.png b/Resources/Textures/Objects/Specific/Kitchen/food_carts.rsi/cart_bbqsauce.png new file mode 100644 index 0000000000..2dc0deef4d Binary files /dev/null and b/Resources/Textures/Objects/Specific/Kitchen/food_carts.rsi/cart_bbqsauce.png differ diff --git a/Resources/Textures/Objects/Specific/Kitchen/food_carts.rsi/cart_coldsauce.png b/Resources/Textures/Objects/Specific/Kitchen/food_carts.rsi/cart_coldsauce.png new file mode 100644 index 0000000000..9569bd4ae2 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Kitchen/food_carts.rsi/cart_coldsauce.png differ diff --git a/Resources/Textures/Objects/Specific/Kitchen/food_carts.rsi/cart_hotsauce.png b/Resources/Textures/Objects/Specific/Kitchen/food_carts.rsi/cart_hotsauce.png new file mode 100644 index 0000000000..dbb6479195 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Kitchen/food_carts.rsi/cart_hotsauce.png differ diff --git a/Resources/Textures/Objects/Specific/Kitchen/food_carts.rsi/cart_ketchup.png b/Resources/Textures/Objects/Specific/Kitchen/food_carts.rsi/cart_ketchup.png new file mode 100644 index 0000000000..4555be5f03 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Kitchen/food_carts.rsi/cart_ketchup.png differ diff --git a/Resources/Textures/Objects/Specific/Kitchen/food_carts.rsi/icon-cold.png b/Resources/Textures/Objects/Specific/Kitchen/food_carts.rsi/icon-cold.png new file mode 100644 index 0000000000..c3b480e83b Binary files /dev/null and b/Resources/Textures/Objects/Specific/Kitchen/food_carts.rsi/icon-cold.png differ diff --git a/Resources/Textures/Objects/Specific/Kitchen/food_carts.rsi/icon-hot.png b/Resources/Textures/Objects/Specific/Kitchen/food_carts.rsi/icon-hot.png new file mode 100644 index 0000000000..a2ec036a3f Binary files /dev/null and b/Resources/Textures/Objects/Specific/Kitchen/food_carts.rsi/icon-hot.png differ diff --git a/Resources/Textures/Objects/Specific/Kitchen/food_carts.rsi/meta.json b/Resources/Textures/Objects/Specific/Kitchen/food_carts.rsi/meta.json new file mode 100644 index 0000000000..e11b4e0c10 --- /dev/null +++ b/Resources/Textures/Objects/Specific/Kitchen/food_carts.rsi/meta.json @@ -0,0 +1,41 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from tgstation, Updated for ss14 by Rosy!", + "states": [ + { + "name": "stand-food", + "directions": 4 + }, + { + "name": "stand-ice", + "directions": 4 + }, + { + "name": "cart_hotsauce", + "directions": 4 + }, + { + "name": "cart_coldsauce", + "directions": 4 + }, + { + "name": "cart_bbqsauce", + "directions": 4 + }, + { + "name": "cart_ketchup", + "directions": 4 + }, + { + "name": "icon-hot" + }, + { + "name": "icon-cold" + } + ] +} diff --git a/Resources/Textures/Objects/Specific/Kitchen/food_carts.rsi/stand-food.png b/Resources/Textures/Objects/Specific/Kitchen/food_carts.rsi/stand-food.png new file mode 100644 index 0000000000..4260c6920e Binary files /dev/null and b/Resources/Textures/Objects/Specific/Kitchen/food_carts.rsi/stand-food.png differ diff --git a/Resources/Textures/Objects/Specific/Kitchen/food_carts.rsi/stand-ice.png b/Resources/Textures/Objects/Specific/Kitchen/food_carts.rsi/stand-ice.png new file mode 100644 index 0000000000..6f8474eed1 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Kitchen/food_carts.rsi/stand-ice.png differ