diff --git a/Content.Shared/_NF/Containers/CondimentCupComponent.cs b/Content.Shared/_NF/Containers/CondimentCupComponent.cs new file mode 100644 index 00000000000..01ef61f9ed0 --- /dev/null +++ b/Content.Shared/_NF/Containers/CondimentCupComponent.cs @@ -0,0 +1,11 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared._NF.Containers.Components; +/// +/// CondimentCup empty component +/// +[RegisterComponent, NetworkedComponent] +public sealed partial class CondimentCupComponent : Component +{ + +} diff --git a/Content.Shared/_NF/Containers/CondimentSqueezeBottleComponent.cs b/Content.Shared/_NF/Containers/CondimentSqueezeBottleComponent.cs new file mode 100644 index 00000000000..7d7711f1a3b --- /dev/null +++ b/Content.Shared/_NF/Containers/CondimentSqueezeBottleComponent.cs @@ -0,0 +1,11 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared._NF.Containers.Components; +/// +/// CondimentSqueezeBottle empty component +/// +[RegisterComponent, NetworkedComponent] +public sealed partial class CondimentSqueezeBottleComponent : Component +{ + +} diff --git a/Resources/Locale/en-US/_NF/reagents/meta/consumable/food/condiments.ftl b/Resources/Locale/en-US/_NF/reagents/meta/consumable/food/condiments.ftl new file mode 100644 index 00000000000..f89397fcb53 --- /dev/null +++ b/Resources/Locale/en-US/_NF/reagents/meta/consumable/food/condiments.ftl @@ -0,0 +1,2 @@ +reagent-name-coldsauce = coldsauce +reagent-desc-coldsauce = Coldsauce. Leaves the tongue numb in its passage. diff --git a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml index 45e157b6e91..8af06f49954 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml @@ -517,6 +517,7 @@ - SalvageTechFabCircuitboardNF # Frontier - NFScrapProcessorCircuitboard # Frontier - BlueprintLithographMachineCircuitboard # Frontier + - CondimentDispenserCircuitboard # Frontier dynamicRecipes: - ThermomachineFreezerMachineCircuitBoard - HellfireFreezerMachineCircuitBoard diff --git a/Resources/Prototypes/_NF/Catalog/ReagentDispensers/condiments.yml b/Resources/Prototypes/_NF/Catalog/ReagentDispensers/condiments.yml new file mode 100644 index 00000000000..366a7b6c185 --- /dev/null +++ b/Resources/Prototypes/_NF/Catalog/ReagentDispensers/condiments.yml @@ -0,0 +1,11 @@ +- type: reagentDispenserInventory + id: CondimentDispenserInventory + inventory: + - DrinkAstrotameJug + - DrinkBbqSauceJug + - DrinkColdsauceJug + - DrinkHorseradishSauceJug + - DrinkHotsauceJug + - DrinkKetchupJug + - DrinkMustardJug + - DrinkSoysauceJug diff --git a/Resources/Prototypes/_NF/Entities/Objects/Consumable/Drinks/condiments_bottles.yml b/Resources/Prototypes/_NF/Entities/Objects/Consumable/Drinks/condiments_bottles.yml new file mode 100644 index 00000000000..aea59ed3e51 --- /dev/null +++ b/Resources/Prototypes/_NF/Entities/Objects/Consumable/Drinks/condiments_bottles.yml @@ -0,0 +1,135 @@ +- type: entity + parent: DrinkBottlePlasticBaseFull + id: DrinkAstrotameJug + name: astrotame jug + description: The sweetness of a thousand sugars but none of the calories. Put it in your coffee. + components: + - type: SolutionContainerManager + solutions: + drink: + maxVol: 150 + reagents: + - ReagentId: Astrotame + Quantity: 150 + - type: Drink + - type: Label + currentLabel: reagent-name-astrotame + +- type: entity + parent: DrinkBottlePlasticBaseFull + id: DrinkBbqSauceJug + name: bbq sauce jug + description: Finally, ketchup for grownups. + components: + - type: SolutionContainerManager + solutions: + drink: + maxVol: 150 + reagents: + - ReagentId: BbqSauce + Quantity: 150 + - type: Drink + - type: Label + currentLabel: reagent-name-bbq-sauce + +- type: entity + parent: DrinkBottlePlasticBaseFull + id: DrinkColdsauceJug + name: coldsauce jug + description: Something to make every meal a little cooler. + components: + - type: SolutionContainerManager + solutions: + drink: + maxVol: 150 + reagents: + - ReagentId: Frostoil + Quantity: 150 + - type: Drink + - type: Label + currentLabel: reagent-name-coldsauce + +- type: entity + parent: DrinkBottlePlasticBaseFull + id: DrinkHorseradishSauceJug + name: horseradish sauce jug + description: Now with 50% more horse. + components: + - type: SolutionContainerManager + solutions: + drink: + maxVol: 150 + reagents: + - ReagentId: HorseradishSauce + Quantity: 150 + - type: Drink + - type: Label + currentLabel: reagent-name-horseradish-sauce + +- type: entity + parent: DrinkBottlePlasticBaseFull + id: DrinkHotsauceJug + name: hotsauce jug + description: The antithesis of no more tears shampoo. + components: + - type: SolutionContainerManager + solutions: + drink: + maxVol: 150 + reagents: + - ReagentId: Hotsauce + Quantity: 150 + - type: Drink + - type: Label + currentLabel: reagent-name-hotsauce + +- type: entity + parent: DrinkBottlePlasticBaseFull + id: DrinkKetchupJug + name: ketchup jug + description: Someone filled a tomato with sugar until it burst. Delicious. + components: + - type: SolutionContainerManager + solutions: + drink: + maxVol: 150 + reagents: + - ReagentId: Ketchup + Quantity: 150 + - type: Drink + - type: Label + currentLabel: reagent-name-ketchup + +- type: entity + parent: DrinkBottlePlasticBaseFull + id: DrinkMustardJug + name: mustard jug + description: All of the implications of real mustard with none of the flavor. + components: + - type: SolutionContainerManager + solutions: + drink: + maxVol: 150 + reagents: + - ReagentId: Mustard + Quantity: 150 + - type: Drink + - type: Label + currentLabel: reagent-name-mustard + +- type: entity + parent: DrinkBottlePlasticBaseFull + id: DrinkSoysauceJug + name: soy sauce jug + description: You can only dream of putting some of this on a bowl of rice. + components: + - type: SolutionContainerManager + solutions: + drink: + maxVol: 150 + reagents: + - ReagentId: Soysauce + Quantity: 150 + - type: Drink + - type: Label + currentLabel: reagent-name-soysauce diff --git a/Resources/Prototypes/_NF/Entities/Objects/Consumable/Drinks/drinks.yml b/Resources/Prototypes/_NF/Entities/Objects/Consumable/Drinks/drinks.yml index 761d49039ee..61a58dbf889 100644 --- a/Resources/Prototypes/_NF/Entities/Objects/Consumable/Drinks/drinks.yml +++ b/Resources/Prototypes/_NF/Entities/Objects/Consumable/Drinks/drinks.yml @@ -95,3 +95,20 @@ - type: Icon sprite: _NF/Objects/Consumable/Drinks/beesknees.rsi state: icon + +# condiment cup +- type: entity + parent: DrinkWaterCup + id: CondimentCup + name: condiment cup + description: A flimsy cup that can be filled with condiments. Warranty void if filled with other things. + components: + - type: Sprite + sprite: _NF/Objects/Consumable/Drinks/condiment_cup.rsi + - type: Clothing + sprite: _NF/Clothing/Head/Hats/condiment_cup.rsi + - type: CondimentCup + - type: SolutionContainerManager + solutions: + drink: + maxVol: 10 diff --git a/Resources/Prototypes/_NF/Entities/Objects/Consumable/Food/Containers/condiments.yml b/Resources/Prototypes/_NF/Entities/Objects/Consumable/Food/Containers/condiments.yml index a6ab68876f6..6b43a731960 100644 --- a/Resources/Prototypes/_NF/Entities/Objects/Consumable/Food/Containers/condiments.yml +++ b/Resources/Prototypes/_NF/Entities/Objects/Consumable/Food/Containers/condiments.yml @@ -28,16 +28,9 @@ sprite: _NF/Objects/Consumable/Food/condiments.rsi - type: Icon sprite: _NF/Objects/Consumable/Food/condiments.rsi - # - type: EmitSoundOnActivate - # sound: - # collection: squeezeBottleUseSounds - # params: - # variation: 0.125 - # - type: EmitSoundOnLand - # sound: - # collection: squeezeBottleUseSounds - # params: - # variation: 0.125 + - type: CondimentSqueezeBottle + - type: FitsInDispenser + solution: food - type: entity parent: BaseFoodCondimentSqueezeBottle diff --git a/Resources/Prototypes/_NF/Entities/Objects/Devices/production.yml b/Resources/Prototypes/_NF/Entities/Objects/Devices/production.yml index bfd5c43d1db..182d5c2add6 100644 --- a/Resources/Prototypes/_NF/Entities/Objects/Devices/production.yml +++ b/Resources/Prototypes/_NF/Entities/Objects/Devices/production.yml @@ -348,3 +348,22 @@ stackRequirements: Steel: 5 Plastic: 5 + +- type: entity + id: CondimentDispenserCircuitboard + parent: BaseMachineCircuitboard + name: condiment dispenser machine board + description: A machine printed circuit board for a condiment dispenser. + components: + - type: Sprite + state: service + - type: MachineBoard + prototype: CondimentDispenserEmpty + requirements: # Frontier + MatterBin: 1 # Frontier + stackRequirements: + Steel: 5 + tagRequirements: + GlassBeaker: + amount: 1 + defaultPrototype: Beaker diff --git a/Resources/Prototypes/_NF/Entities/Objects/Specific/Service/condimentcup.yml b/Resources/Prototypes/_NF/Entities/Objects/Specific/Service/condimentcup.yml new file mode 100644 index 00000000000..5d236032593 --- /dev/null +++ b/Resources/Prototypes/_NF/Entities/Objects/Specific/Service/condimentcup.yml @@ -0,0 +1,43 @@ +- type: entity + name: condiment cup dispenser + description: It holds little condiment cups. They claim to be recyled. + id: CondimentCupDispenser + parent: [BaseItem, PaperBin] + components: + - type: Sprite + sprite: _NF/Objects/Specific/Service/condiment_cup_dispenser.rsi + state: dispenser0 + - type: ItemMapper + sprite: _NF/Objects/Specific/Service/condiment_cup_dispenser.rsi + mapLayers: + dispenser1: + whitelist: + components: + - CondimentCup + - type: Bin + whitelist: + components: + - CondimentCup + +- type: entity + name: condiment cup dispenser + suffix: 10 + description: It holds little condiment cups. They claim to be recyled. + id: CondimentCupDispenser10 + parent: CondimentCupDispenser + components: + - type: Bin + initialContents: + - CondimentCup + - CondimentCup + - CondimentCup + - CondimentCup + - CondimentCup + - CondimentCup + - CondimentCup + - CondimentCup + - CondimentCup + - CondimentCup + whitelist: + components: + - CondimentCup diff --git a/Resources/Prototypes/_NF/Entities/Structures/Dispensers/condiments.yml b/Resources/Prototypes/_NF/Entities/Structures/Dispensers/condiments.yml new file mode 100644 index 00000000000..f0b25439ebb --- /dev/null +++ b/Resources/Prototypes/_NF/Entities/Structures/Dispensers/condiments.yml @@ -0,0 +1,36 @@ +- type: entity + parent: ReagentDispenserBase + id: CondimentDispenser + name: condiment dispenser + suffix: Filled + description: A condiment dispenser with a single slot for a condiment cup. + components: + - type: Rotatable + - type: Sprite + sprite: _NF/Structures/smalldispensers.rsi + drawdepth: SmallObjects + state: icon + - type: ReagentDispenser + storageWhitelist: + tags: + - DrinkBottle + pack: CondimentDispenserInventory + - type: Transform + noRot: false + - type: Machine + board: CondimentDispenserCircuitboard + - type: GuideHelp + guides: + - Bartender + - Drinks + +- type: entity + id: CondimentDispenserEmpty + suffix: Empty + parent: CondimentDispenser + components: + - type: ReagentDispenser + storageWhitelist: + tags: + - DrinkBottle + pack: EmptyInventory diff --git a/Resources/Prototypes/_NF/Entities/Structures/Machines/lathe.yml b/Resources/Prototypes/_NF/Entities/Structures/Machines/lathe.yml index ae15f942792..9a8a5e67723 100644 --- a/Resources/Prototypes/_NF/Entities/Structures/Machines/lathe.yml +++ b/Resources/Prototypes/_NF/Entities/Structures/Machines/lathe.yml @@ -134,6 +134,8 @@ - FoodPlateSmallPlastic - NapkinDrum - Napkin + - CondimentCupDispenser + - CondimentCup - FoodCondimentSqueezeBottleClear ## EVA - ClothingOuterEVASuitHydro diff --git a/Resources/Prototypes/_NF/Recipes/Lathes/electronics.yml b/Resources/Prototypes/_NF/Recipes/Lathes/electronics.yml index 96cd0950d1c..4de8b2c445e 100644 --- a/Resources/Prototypes/_NF/Recipes/Lathes/electronics.yml +++ b/Resources/Prototypes/_NF/Recipes/Lathes/electronics.yml @@ -46,6 +46,14 @@ Steel: 800 Glass: 900 +- type: latheRecipe + parent: BaseCircuitboardRecipe + id: CondimentDispenserCircuitboard + result: CondimentDispenserCircuitboard + materials: + Steel: 100 + Glass: 500 + # Thrusters - type: latheRecipe id: ThrusterSecurityMachineCircuitboard @@ -105,4 +113,4 @@ result: PortableGeneratorHyperPacmanMachineCircuitboard materials: Steel: 350 - Glass: 350 \ No newline at end of file + Glass: 350 diff --git a/Resources/Prototypes/_NF/Recipes/Lathes/service.yml b/Resources/Prototypes/_NF/Recipes/Lathes/service.yml index 853acc01279..0d693561ceb 100644 --- a/Resources/Prototypes/_NF/Recipes/Lathes/service.yml +++ b/Resources/Prototypes/_NF/Recipes/Lathes/service.yml @@ -58,6 +58,21 @@ Plastic: 100 Steel: 100 +- type: latheRecipe + id: CondimentCupDispenser + result: CondimentCupDispenser + parent: BaseServiceItemsRecipe + applyMaterialDiscount: false + +- type: latheRecipe + id: CondimentCup + result: CondimentCup + parent: BaseServiceItemsRecipe + completetime: 0.1 + applyMaterialDiscount: false + materials: + Steel: 10 + - type: latheRecipe id: FoodCondimentSqueezeBottleClear result: FoodCondimentSqueezeBottleClear diff --git a/Resources/Prototypes/_NF/tags.yml b/Resources/Prototypes/_NF/tags.yml index e22609d87a2..1a7e9b6ff15 100644 --- a/Resources/Prototypes/_NF/tags.yml +++ b/Resources/Prototypes/_NF/tags.yml @@ -152,4 +152,4 @@ id: NFVGRoidInterior - type: Tag - id: NFFoamRPG \ No newline at end of file + id: NFFoamRPG diff --git a/Resources/Textures/_NF/Clothing/Head/Hats/condiment_cup.rsi/equipped-HELMET.png b/Resources/Textures/_NF/Clothing/Head/Hats/condiment_cup.rsi/equipped-HELMET.png new file mode 100644 index 00000000000..c2b156524af Binary files /dev/null and b/Resources/Textures/_NF/Clothing/Head/Hats/condiment_cup.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/_NF/Clothing/Head/Hats/condiment_cup.rsi/icon.png b/Resources/Textures/_NF/Clothing/Head/Hats/condiment_cup.rsi/icon.png new file mode 100644 index 00000000000..0d9a9acb692 Binary files /dev/null and b/Resources/Textures/_NF/Clothing/Head/Hats/condiment_cup.rsi/icon.png differ diff --git a/Resources/Textures/_NF/Clothing/Head/Hats/condiment_cup.rsi/meta.json b/Resources/Textures/_NF/Clothing/Head/Hats/condiment_cup.rsi/meta.json new file mode 100644 index 00000000000..e53406df8f1 --- /dev/null +++ b/Resources/Textures/_NF/Clothing/Head/Hats/condiment_cup.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "equipped-HELMET, icon by wallflowerghost(discord), edited by dvir001 (GitHub)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-HELMET", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_NF/Objects/Consumable/Drinks/condiment_cup.rsi/icon-0.png b/Resources/Textures/_NF/Objects/Consumable/Drinks/condiment_cup.rsi/icon-0.png new file mode 100644 index 00000000000..e570dc439c8 Binary files /dev/null and b/Resources/Textures/_NF/Objects/Consumable/Drinks/condiment_cup.rsi/icon-0.png differ diff --git a/Resources/Textures/_NF/Objects/Consumable/Drinks/condiment_cup.rsi/icon-1.png b/Resources/Textures/_NF/Objects/Consumable/Drinks/condiment_cup.rsi/icon-1.png new file mode 100644 index 00000000000..589dcf55b36 Binary files /dev/null and b/Resources/Textures/_NF/Objects/Consumable/Drinks/condiment_cup.rsi/icon-1.png differ diff --git a/Resources/Textures/_NF/Objects/Consumable/Drinks/condiment_cup.rsi/meta.json b/Resources/Textures/_NF/Objects/Consumable/Drinks/condiment_cup.rsi/meta.json new file mode 100644 index 00000000000..90542ff7b90 --- /dev/null +++ b/Resources/Textures/_NF/Objects/Consumable/Drinks/condiment_cup.rsi/meta.json @@ -0,0 +1,17 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "icon-0/1 by wallflowerghost(discord)", + "states": [ + { + "name": "icon-0" + }, + { + "name": "icon-1" + } + ] +} diff --git a/Resources/Textures/_NF/Objects/Specific/Service/condiment_cup_dispenser.rsi/dispenser0.png b/Resources/Textures/_NF/Objects/Specific/Service/condiment_cup_dispenser.rsi/dispenser0.png new file mode 100644 index 00000000000..c6d594488b7 Binary files /dev/null and b/Resources/Textures/_NF/Objects/Specific/Service/condiment_cup_dispenser.rsi/dispenser0.png differ diff --git a/Resources/Textures/_NF/Objects/Specific/Service/condiment_cup_dispenser.rsi/dispenser1.png b/Resources/Textures/_NF/Objects/Specific/Service/condiment_cup_dispenser.rsi/dispenser1.png new file mode 100644 index 00000000000..85e367189d3 Binary files /dev/null and b/Resources/Textures/_NF/Objects/Specific/Service/condiment_cup_dispenser.rsi/dispenser1.png differ diff --git a/Resources/Textures/_NF/Objects/Specific/Service/condiment_cup_dispenser.rsi/meta.json b/Resources/Textures/_NF/Objects/Specific/Service/condiment_cup_dispenser.rsi/meta.json new file mode 100644 index 00000000000..6c27c69df8f --- /dev/null +++ b/Resources/Textures/_NF/Objects/Specific/Service/condiment_cup_dispenser.rsi/meta.json @@ -0,0 +1,17 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by dustylens", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "dispenser0" + }, + { + "name": "dispenser1" + } + ] +} diff --git a/Resources/Textures/_NF/Structures/smalldispensers.rsi/icon.png b/Resources/Textures/_NF/Structures/smalldispensers.rsi/icon.png new file mode 100644 index 00000000000..de1dfe52b9c Binary files /dev/null and b/Resources/Textures/_NF/Structures/smalldispensers.rsi/icon.png differ diff --git a/Resources/Textures/_NF/Structures/smalldispensers.rsi/meta.json b/Resources/Textures/_NF/Structures/smalldispensers.rsi/meta.json new file mode 100644 index 00000000000..7f3397b2939 --- /dev/null +++ b/Resources/Textures/_NF/Structures/smalldispensers.rsi/meta.json @@ -0,0 +1,14 @@ +{ + "version": 1, + "license": "CC0-1.0", + "copyright": "wallflowerghost(discord)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + } + ] +}