From 4c4627330395362534857571c5829b05c9cd811e Mon Sep 17 00:00:00 2001 From: deltanedas <39013340+deltanedas@users.noreply.github.com> Date: Mon, 2 Oct 2023 20:21:15 +0100 Subject: [PATCH] Add rolling pins for flattening dough (#20624) --- .../Locale/en-US/tools/tool-qualities.ftl | 5 +++- .../Inventories/dinnerware.yml | 1 + .../Consumable/Drinks/drinks_bottles.yml | 4 +++ .../Objects/Consumable/Drinks/drinks_cans.yml | 4 +++ .../Objects/Consumable/Food/ingredients.yml | 6 +++++ .../Objects/Misc/fire_extinguisher.yml | 4 +++ .../Entities/Objects/Tools/gas_tanks.yml | 19 +++++++++++--- .../Entities/Objects/Tools/tools.yml | 24 ++++++++++++++++++ .../Objects/Weapons/Melee/baseball_bat.yml | 4 +++ .../Construction/Graphs/food/pizza.yml | 14 ++++++++++ .../Recipes/Cooking/meal_recipes.yml | 16 ++++++------ Resources/Prototypes/tool_qualities.yml | 9 ++++++- .../Guidebook/Service/FoodRecipes.xml | 4 ++- .../Objects/Tools/rolling_pin.rsi/icon.png | Bin 0 -> 999 bytes .../Tools/rolling_pin.rsi/inhand-left.png | Bin 0 -> 680 bytes .../Tools/rolling_pin.rsi/inhand-right.png | Bin 0 -> 681 bytes .../Objects/Tools/rolling_pin.rsi/meta.json | 22 ++++++++++++++++ 17 files changed, 121 insertions(+), 15 deletions(-) create mode 100644 Resources/Prototypes/Recipes/Construction/Graphs/food/pizza.yml create mode 100644 Resources/Textures/Objects/Tools/rolling_pin.rsi/icon.png create mode 100644 Resources/Textures/Objects/Tools/rolling_pin.rsi/inhand-left.png create mode 100644 Resources/Textures/Objects/Tools/rolling_pin.rsi/inhand-right.png create mode 100644 Resources/Textures/Objects/Tools/rolling_pin.rsi/meta.json diff --git a/Resources/Locale/en-US/tools/tool-qualities.ftl b/Resources/Locale/en-US/tools/tool-qualities.ftl index d12eb1104e..331925b4b9 100644 --- a/Resources/Locale/en-US/tools/tool-qualities.ftl +++ b/Resources/Locale/en-US/tools/tool-qualities.ftl @@ -26,4 +26,7 @@ tool-quality-honking-name = Honking tool-quality-honking-tool-name = Bike Horn tool-quality-woodcutting-name = Woodcutting -tool-quality-woodcutting-tool-name = Hatchet \ No newline at end of file +tool-quality-woodcutting-tool-name = Hatchet + +tool-quality-rolling-name = Rolling +tool-quality-rolling-tool-name = Rolling Pin diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/dinnerware.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/dinnerware.yml index ccf702b210..86f35b5269 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/dinnerware.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/dinnerware.yml @@ -3,6 +3,7 @@ startingInventory: ButchCleaver: 1 KitchenKnife: 5 + RollingPin: 4 Spoon: 4 Fork: 4 FoodBowlBig: 10 diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_bottles.yml b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_bottles.yml index bd81756816..2fa487fa2c 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_bottles.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_bottles.yml @@ -39,6 +39,10 @@ max: 1 - !type:DoActsBehavior acts: [ "Destruction" ] + - type: Tool + qualities: + - Rolling + speed: 0.75 # not as good as a rolling pin but does the job - type: TrashOnEmpty solution: drink diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cans.yml b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cans.yml index a68aba3d6e..118b242136 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cans.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cans.yml @@ -48,6 +48,10 @@ damage: types: Blunt: 0 + - type: Tool + qualities: + - Rolling + speed: 0.25 # its small so takes longer to roll the entire dough flat - type: ItemCooldown - type: SpaceGarbage - type: TrashOnEmpty diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/ingredients.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/ingredients.yml index c3b3bba35b..8ef9bab706 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/ingredients.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/ingredients.yml @@ -334,6 +334,9 @@ - type: SliceableFood count: 3 slice: FoodDoughSlice + - type: Construction + graph: Pizza + node: start - type: entity name: dough slice @@ -424,6 +427,9 @@ components: - type: Sprite state: dough-flat + - type: Construction + graph: Pizza + node: flat - type: entity name: pizza bread diff --git a/Resources/Prototypes/Entities/Objects/Misc/fire_extinguisher.yml b/Resources/Prototypes/Entities/Objects/Misc/fire_extinguisher.yml index 344d707443..66ab0ab7fb 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/fire_extinguisher.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/fire_extinguisher.yml @@ -42,6 +42,10 @@ Blunt: 10 soundHit: path: /Audio/Weapons/smash.ogg + - type: Tool + qualities: + - Rolling + speed: 0.5 # its very big, akward to use - type: Appearance - type: GenericVisualizer visuals: diff --git a/Resources/Prototypes/Entities/Objects/Tools/gas_tanks.yml b/Resources/Prototypes/Entities/Objects/Tools/gas_tanks.yml index 7f4ee54f79..0fde43be31 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/gas_tanks.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/gas_tanks.yml @@ -42,7 +42,17 @@ price: 20 - type: entity + abstract: true parent: GasTankBase + id: GasTankRoundBase + components: + - type: Tool + qualities: + - Rolling + speed: 0.6 # fairly unwieldly but nice round surface + +- type: entity + parent: GasTankRoundBase id: OxygenTank name: oxygen tank description: A standard cylindrical gas tank for oxygen. @@ -68,7 +78,7 @@ sprite: Objects/Tanks/yellow.rsi - type: entity - parent: GasTankBase + parent: GasTankRoundBase id: NitrogenTank name: nitrogen tank description: A standard cylindrical gas tank for nitrogen. @@ -81,7 +91,7 @@ sprite: Objects/Tanks/red.rsi - type: entity - parent: GasTankBase + parent: GasTankRoundBase id: EmergencyOxygenTank name: emergency oxygen tank description: An easily portable tank for emergencies. Contains very little oxygen, rated for survival use only. @@ -152,7 +162,7 @@ Blunt: 7.5 - type: entity - parent: GasTankBase + parent: GasTankRoundBase id: AirTank name: air tank description: Mixed anyone? @@ -168,7 +178,7 @@ sprite: Objects/Tanks/generic.rsi - type: entity - parent: GasTankBase + parent: GasTankRoundBase id: NitrousOxideTank name: nitrous oxide tank description: Contains a mixture of air and nitrous oxide. Make sure you don't refill it with pure N2O. @@ -186,6 +196,7 @@ sprite: Objects/Tanks/anesthetic.rsi - type: entity + # it's a square so no rolling dough parent: GasTankBase id: PlasmaTank name: plasma tank diff --git a/Resources/Prototypes/Entities/Objects/Tools/tools.yml b/Resources/Prototypes/Entities/Objects/Tools/tools.yml index 82bef616de..c9e7bd0403 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/tools.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/tools.yml @@ -497,3 +497,27 @@ Wood: 50 - type: StaticPrice price: 25 + +- type: entity + parent: BaseItem + id: RollingPin + name: rolling pin + description: A tool used to shape and flatten dough. + components: + - type: Sprite + sprite: Objects/Tools/rolling_pin.rsi + state: icon + - type: Item + sprite: Objects/Tools/rolling_pin.rsi + size: 10 + - type: ItemCooldown + - type: MeleeWeapon + damage: + types: + Blunt: 7 + - type: Tool + qualities: + - Rolling + - type: PhysicalComposition + materialComposition: + Wood: 100 diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/baseball_bat.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/baseball_bat.yml index c8134180bc..4cd71e7239 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/baseball_bat.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/baseball_bat.yml @@ -18,6 +18,10 @@ Blunt: 8 - type: Item size: 80 + - type: Tool + qualities: + - Rolling + speed: 0.75 # a bit unwieldly but does the job - type: Clothing quickEquip: false slots: diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/food/pizza.yml b/Resources/Prototypes/Recipes/Construction/Graphs/food/pizza.yml new file mode 100644 index 0000000000..c8184100dd --- /dev/null +++ b/Resources/Prototypes/Recipes/Construction/Graphs/food/pizza.yml @@ -0,0 +1,14 @@ +- type: constructionGraph + id: Pizza + start: start + graph: + - node: start + entity: FoodDough + edges: + - to: flat + steps: + - tool: Rolling + doAfter: 1 + - node: flat + entity: FoodDoughFlat + # TODO: add stuff for adding ingredients then cooking the pizza, wsci diff --git a/Resources/Prototypes/Recipes/Cooking/meal_recipes.yml b/Resources/Prototypes/Recipes/Cooking/meal_recipes.yml index 3b15730535..1290c73a1d 100644 --- a/Resources/Prototypes/Recipes/Cooking/meal_recipes.yml +++ b/Resources/Prototypes/Recipes/Cooking/meal_recipes.yml @@ -482,14 +482,14 @@ solids: FoodBreadPlainSlice: 2 -#Pizzas +#Pizzas TODO: contruction graph based pizza - type: microwaveMealRecipe id: RecipeMargheritaPizza name: margherita pizza recipe result: FoodPizzaMargherita time: 30 solids: - FoodDough: 1 + FoodDoughFlat: 1 FoodCheeseSlice: 1 FoodTomato: 4 @@ -499,7 +499,7 @@ result: FoodPizzaMushroom time: 25 solids: - FoodDough: 1 + FoodDoughFlat: 1 FoodMushroom: 5 - type: microwaveMealRecipe @@ -508,7 +508,7 @@ result: FoodPizzaMeat time: 30 solids: - FoodDough: 1 + FoodDoughFlat: 1 FoodMeat: 3 FoodCheeseSlice: 1 FoodTomato: 1 @@ -519,7 +519,7 @@ result: FoodPizzaVegetable time: 30 solids: - FoodDough: 1 + FoodDoughFlat: 1 FoodEggplant: 1 FoodCarrot: 1 FoodCorn: 1 @@ -531,7 +531,7 @@ result: FoodPizzaPineapple time: 30 solids: - FoodDough: 1 + FoodDoughFlat: 1 FoodMeatChickenCutlet: 3 FoodPineappleSlice: 5 @@ -541,7 +541,7 @@ result: FoodPizzaDank time: 30 solids: - FoodDough: 1 + FoodDoughFlat: 1 FoodAmbrosiaVulgaris: 3 FoodCheeseSlice: 1 FoodTomato: 1 @@ -552,7 +552,7 @@ result: FoodPizzaDonkpocket time: 30 solids: - FoodDough: 1 + FoodDoughFlat: 1 FoodDonkpocketWarm: 3 FoodCheeseSlice: 1 FoodTomato: 1 diff --git a/Resources/Prototypes/tool_qualities.yml b/Resources/Prototypes/tool_qualities.yml index 6525454287..ff55d9fcf1 100644 --- a/Resources/Prototypes/tool_qualities.yml +++ b/Resources/Prototypes/tool_qualities.yml @@ -59,4 +59,11 @@ name: tool-quality-honking-name toolName: tool-quality-honking-tool-name spawn: BikeHorn - icon: { sprite: Objects/Fun/bikehorn.rsi, state: icon } \ No newline at end of file + icon: { sprite: Objects/Fun/bikehorn.rsi, state: icon } + +- type: tool + id: Rolling + name: tool-quality-rolling-name + toolName: tool-quality-rolling-tool-name + spawn: RollingPin + icon: { sprite: Objects/Tools/rolling_pin.rsi, state: icon } diff --git a/Resources/ServerInfo/Guidebook/Service/FoodRecipes.xml b/Resources/ServerInfo/Guidebook/Service/FoodRecipes.xml index 02bf32677e..338cbea408 100644 --- a/Resources/ServerInfo/Guidebook/Service/FoodRecipes.xml +++ b/Resources/ServerInfo/Guidebook/Service/FoodRecipes.xml @@ -25,6 +25,7 @@ WARNING: This is not an automatically generated list, things here may become out + @@ -39,6 +40,7 @@ WARNING: This is not an automatically generated list, things here may become out - Bun: Microwave Dough Slice for 5 Seconds - Cutlet: Slice Raw Meat - Cheese Wedge: Slice Cheese Wheel +- Flat Dough: Use a rolling pin or a round object (fire extinguisher, soda can, bottle) on Dough. ## Food Examples @@ -46,7 +48,7 @@ WARNING: This is not an automatically generated list, things here may become out - Plain Burger: Microwave 1 Bun and 1 Raw Meat for 10 Seconds - Tomato Soup: 10u Water, 1 Bowl, and 2 Tomatoes for 10 Seconds - Citrus Salad: 1 Bowl, 1 Lemon, 1 Lime, 1 Orange for 5 Seconds -- Margherita Pizza: Microwave 1 Dough, 1 Cheese Wedge, and 4 Tomatoes for 30 Seconds +- Margherita Pizza: Microwave 1 Flat Dough, 1 Cheese Wedge, and 4 Tomatoes for 30 Seconds - Cake: 1 Cake Batter for 15 Seconds - Apple Pie: 1 Pie Dough, 3 Apples, and 1 Pie Tin for 15 Seconds diff --git a/Resources/Textures/Objects/Tools/rolling_pin.rsi/icon.png b/Resources/Textures/Objects/Tools/rolling_pin.rsi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4cc81ec2c614806835b450af07d541fbd08bf599 GIT binary patch literal 999 zcmV*oE?f@9~#lo=GnPeo<4(H?h*htiTQ8N#cm1msq_Yag&g0t}Ig? zrWk>ZG!lqIf`Sq@p~FFpvPm;*?VGCkmQW-QqrZhRI63ktkT*(diK?oUHPTi3bd<&1 z|IgFbW~ROBp*Ya_>bjrfKyV+ZR$TY@)OD+8K;Q+qHXHsT&1vqN^h!gE90TDU;PR%S zDF?vSE-?6P$y}~U0SdpS0UsAYUl!=U2YS}MS=IM({sd&U>51-u!y{mV&WAVt01)YD z5jWSmv;Y7A32;bRa{vGf5&!@T5&_cPe*6Fc0vt(1K~z}7?Uv1J)Ib= z3xdM-;z96UFCGf+UQ`f8SD_vXqTc*BD=2EKF4k@d+1+fuHXkP0WRi?CDIOb>-4sOj zfq@V*{GNH=Co=;qwbcKtwgk#Y(Kn6rgzr7PgY8?_QDj1_8~W#Y?{Nq3zZ_#jB!zQ? zI^nOL>_B%SOzi*%-#=jMMjQJF0}RZwInBD@Z+jgCVG7Upks`yT)*AK?e-^@PX#t17 z>2=|U1cu{cMp78Mhgp)AnlCO4f5G6t2*!qulx8q351JRVbZ6&lAcsHiBJv4_6BD!{ zz%)G=EhFuZQ!)$9aw$5@ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Tools/rolling_pin.rsi/inhand-left.png b/Resources/Textures/Objects/Tools/rolling_pin.rsi/inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..d35603348105d3528d3f5939a6be0eea39fa88e6 GIT binary patch literal 680 zcmV;Z0$2TsP)aTcv)qbkIRWBtsR47DPchY8|>1DYb%Cm*h2Rg(M9xDN&&ow<^jWWcs7-kR`Y98 z@E!dar!65YGuv9oWYXxmejecy^&u{Lb-&kf4Hi_J0lq%sIc9N(n5IE`%drIS5f8JH zTp&Inj&T~0_*UqO$8Um*9)Ahux$Gj~7d@q78!K(hO57lxB90n*g*E39UlLNym1U}< zw8vm0ixiTSg@Ot;p~FF(s!5r3_Dwf@ODL0v(c3~5oE$}z$QvWILS0p=8tE!MI;tY~ z|9RTl?2OkvlmvQTUH5YW2<`**n(O|ax^Ddp2)qE-X3JluoD$!p*IHWi7>Miump3g< zIRLJ9fstoR=5j*{(DrK@@Nofz^T5zOFtF}r)jY@f6Oh}cUvvi?9s!edKeF)${dZ^x z@bnM}00009a7bBm000XT000XT0n*)m`~Uy|-bqA3RCwC$+Pw|JFc5}eCsGC=RFsjZ zEhH*LnE{{(6Hu@Q+c8EaU;+xGucM5AV%g|@YTwD{q`S`;0000000027p7+rWTjNsn zQXloJ>H&1=$K@FP2&wv1`3O}H|2xF>ym!`GuR5JqU5??~HJi_G({#H-a~e9YL3Cbq zs;~9|^c8Q@WHx?@>V5y7qUiFW1H{w<0000000000;2#y4AIP=RE^>vQ z>rzGM2SRfJOQp;Ytg;>t%>^u#GC$C+@pVFT0ZSF1AIP!WCqDoHi1!7Z5n947e%37j O0000aTcv)qbkIRWBtsR47DPchY8|>1DYb%Cm*h2Rg(M9xDN&&ow<^jWWcs7-kR`Y98 z@E!dar!65YGuv9oWYXxmejecy^&u{Lb-&kf4Hi_J0lq%sIc9N(n5IE`%drIS5f8JH zTp&Inj&T~0_*UqO$8Um*9)Ahux$Gj~7d@q78!K(hO57lxB90n*g*E39UlLNym1U}< zw8vm0ixiTSg@Ot;p~FF(s!5r3_Dwf@ODL0v(c3~5oE$}z$QvWILS0p=8tE!MI;tY~ z|9RTl?2OkvlmvQTUH5YW2<`**n(O|ax^Ddp2)qE-X3JluoD$!p*IHWi7>Miump3g< zIRLJ9fstoR=5j*{(DrK@@Nofz^T5zOFtF}r)jY@f6Oh}cUvvi?9s!edKeF)${dZ^x z@bnM}00009a7bBm000XT000XT0n*)m`~Uy|-$_J4RCwC$+Pw|JFc5~}bEFJFs3;>* zTS!!hk^!Iy6Hu@Q+c8EaU;+xG>rwzR_y-%kPnp8{zDs#00ssI20001Bs-KIyoOZ6J z%$iqoM=5{auj4$H`KJZvuC;uW{MK4IY?sxRpAJELXrEV_XCF6x>)OT2j5jeg4?y#4 z5AE~O0IuWR%(_mF!yxabS2E45`L&1k`RajM%l}gc0000000000fZvO@gRfQY^?8xQ z&NYOhZxwuY@F7y)Dm0-F`0U_Aq`p;XLjO+C4&FoYw+cCS@a*{k0BJk`)i+wgL|;KM P00000NkvXXu0mjfz&9=D literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Tools/rolling_pin.rsi/meta.json b/Resources/Textures/Objects/Tools/rolling_pin.rsi/meta.json new file mode 100644 index 0000000000..407ebc30c0 --- /dev/null +++ b/Resources/Textures/Objects/Tools/rolling_pin.rsi/meta.json @@ -0,0 +1,22 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "icon.png taken from https://github.com/DesertRose2/desertrose/blob/0348c98f8343b5cb82d87df12411ba647b2b1b4f/icons/obj/kitchen.dmi. Inhand sprites created by deltanedas (github) for SS14.", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} -- 2.51.2