From b81ef976852f5bd2245770bc5577bd7fa226793a Mon Sep 17 00:00:00 2001
From: Iajret Creature <122297233+Steals-The-PRs@users.noreply.github.com>
Date: Sun, 19 Nov 2023 12:39:04 +0300
Subject: [PATCH] Primitive stuffs (#701)
* Update sheet_types.dm
* Update stone.dm
* Add files via upload
* Add files via upload
* Update storage_structures.dm
* Add files via upload
* Update tgstation.dme
* Update tgstation.dme
* Update stone_griddle.dm
* Update storage_structures.dm
Co-authored-by: xXPawnStarrXx <53197594+xXPawnStarrXx@users.noreply.github.com>
---
.../items/stacks/sheets/sheet_types.dm | 4 ++
.../code/stone_griddle.dm | 32 +++++++++
.../code/stone_oven.dm | 2 +-
.../code/stone_stove.dm | 2 +-
.../icons/stone_kitchen_machines.dmi | Bin 3918 -> 4824 bytes
.../code/storage_structures.dm | 61 ++++++++++++++++++
.../primitive_structures/icons/storage.dmi | Bin 1353 -> 906 bytes
modular_skyrat/modules/stone/code/stone.dm | 3 +
tgstation.dme | 1 +
9 files changed, 103 insertions(+), 2 deletions(-)
create mode 100644 modular_skyrat/modules/primitive_cooking_additions/code/stone_griddle.dm
diff --git a/modular_skyrat/master_files/code/game/objects/items/stacks/sheets/sheet_types.dm b/modular_skyrat/master_files/code/game/objects/items/stacks/sheets/sheet_types.dm
index 3f9d3657870..d68f78c5d46 100644
--- a/modular_skyrat/master_files/code/game/objects/items/stacks/sheets/sheet_types.dm
+++ b/modular_skyrat/master_files/code/game/objects/items/stacks/sheets/sheet_types.dm
@@ -74,8 +74,12 @@ GLOBAL_LIST_INIT(skyrat_wood_recipes, list(
new/datum/stack_recipe("large wooden mortar", /obj/structure/large_mortar, 10, time = 3 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_TOOLS),
new/datum/stack_recipe("wooden cutting board", /obj/item/cutting_board, 5, time = 2 SECONDS, check_density = FALSE, category = CAT_TOOLS),
new/datum/stack_recipe("wooden shelf", /obj/structure/rack/wooden, 2, time = 2 SECONDS, one_per_turf = TRUE, on_solid_ground = FALSE, category = CAT_STRUCTURE),
+ new/datum/stack_recipe("seed shelf", /obj/machinery/smartfridge/seedshelf, 10, time = 2 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_STRUCTURE),
+ new/datum/stack_recipe("produce bin", /obj/machinery/smartfridge/producebin, 10, time = 2 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_STRUCTURE),
new/datum/stack_recipe("storage barrel", /obj/structure/closet/crate/wooden/storage_barrel, 4, time = 2 SECONDS, one_per_turf = TRUE, on_solid_ground = FALSE, category = CAT_STRUCTURE),
new/datum/stack_recipe("worm barrel", /obj/structure/wormfarm, 5, time = 2 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_TOOLS),
+ new/datum/stack_recipe("sturdy wooden fence", /obj/structure/railing/wooden_fencing, 5, time = 2 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_TOOLS),
+ new/datum/stack_recipe("sturdy wooden fence gate", /obj/structure/railing/wooden_fencing/gate, 5, time = 2 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_TOOLS),
))
/obj/item/stack/sheet/mineral/wood/get_main_recipes()
diff --git a/modular_skyrat/modules/primitive_cooking_additions/code/stone_griddle.dm b/modular_skyrat/modules/primitive_cooking_additions/code/stone_griddle.dm
new file mode 100644
index 00000000000..c704eb02c4b
--- /dev/null
+++ b/modular_skyrat/modules/primitive_cooking_additions/code/stone_griddle.dm
@@ -0,0 +1,32 @@
+/obj/machinery/griddle/stone
+ name = "stone griddle"
+ desc = "You could probably cook an egg on this... the griddle slab looks very unsanitary."
+ icon = 'modular_skyrat/modules/primitive_cooking_additions/icons/stone_kitchen_machines.dmi'
+ icon_state = "griddle1_off"
+ density = TRUE
+ pass_flags_self = PASSMACHINE | PASSTABLE| LETPASSTHROW // It's roughly the height of a table.
+ layer = BELOW_OBJ_LAYER
+ use_power = FALSE
+ circuit = null
+ resistance_flags = FIRE_PROOF
+ processing_flags = START_PROCESSING_MANUALLY
+ variant = 1
+
+/obj/machinery/griddle/Initialize(mapload)
+ . = ..()
+ grill_loop = new(src, FALSE)
+ if(isnum(variant))
+ variant = 1
+
+/obj/machinery/griddle/stone/examine(mob/user)
+ . = ..()
+
+ . += span_notice("It can be taken apart with a crowbar.")
+
+/obj/machinery/griddle/stone/crowbar_act(mob/living/user, obj/item/tool)
+ user.balloon_alert_to_viewers("disassembling...")
+ if(!tool.use_tool(src, user, 2 SECONDS, volume = 100))
+ return
+ new /obj/item/stack/sheet/mineral/stone(drop_location(), 5)
+ deconstruct(TRUE)
+ return TOOL_ACT_TOOLTYPE_SUCCESS
diff --git a/modular_skyrat/modules/primitive_cooking_additions/code/stone_oven.dm b/modular_skyrat/modules/primitive_cooking_additions/code/stone_oven.dm
index 3549fa03ff6..91bca3b5e95 100644
--- a/modular_skyrat/modules/primitive_cooking_additions/code/stone_oven.dm
+++ b/modular_skyrat/modules/primitive_cooking_additions/code/stone_oven.dm
@@ -56,7 +56,7 @@
user.balloon_alert_to_viewers("disassembling...")
if(!tool.use_tool(src, user, 2 SECONDS, volume = 100))
return
- new /obj/item/stack/sheet/mineral/clay(drop_location(), 5)
+ new /obj/item/stack/sheet/mineral/stone(drop_location(), 5)
deconstruct(TRUE)
return TOOL_ACT_TOOLTYPE_SUCCESS
diff --git a/modular_skyrat/modules/primitive_cooking_additions/code/stone_stove.dm b/modular_skyrat/modules/primitive_cooking_additions/code/stone_stove.dm
index 6359e50baae..642835b93a7 100644
--- a/modular_skyrat/modules/primitive_cooking_additions/code/stone_stove.dm
+++ b/modular_skyrat/modules/primitive_cooking_additions/code/stone_stove.dm
@@ -26,7 +26,7 @@
user.balloon_alert_to_viewers("disassembling...")
if(!tool.use_tool(src, user, 2 SECONDS, volume = 100))
return
- new /obj/item/stack/sheet/mineral/clay(drop_location(), 5)
+ new /obj/item/stack/sheet/mineral/stone(drop_location(), 5)
deconstruct(TRUE)
return TOOL_ACT_TOOLTYPE_SUCCESS
diff --git a/modular_skyrat/modules/primitive_cooking_additions/icons/stone_kitchen_machines.dmi b/modular_skyrat/modules/primitive_cooking_additions/icons/stone_kitchen_machines.dmi
index 90023ecd4cd65494cfaa93827d3e955a20cedae7..1bf7f523366437d1af2e0a9216c6d6a84176a550 100644
GIT binary patch
literal 4824
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
Dcuh|p
literal 3918
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
diff --git a/modular_skyrat/modules/primitive_structures/code/storage_structures.dm b/modular_skyrat/modules/primitive_structures/code/storage_structures.dm
index 7422ea25e8c..8c6f872c712 100644
--- a/modular_skyrat/modules/primitive_structures/code/storage_structures.dm
+++ b/modular_skyrat/modules/primitive_structures/code/storage_structures.dm
@@ -50,3 +50,64 @@
/obj/structure/closet/crate/wooden/storage_barrel/deconstruct(disassembled = TRUE)
new /obj/item/stack/sheet/mineral/wood(drop_location(), 4)
return ..()
+
+/obj/machinery/smartfridge/producebin
+ name = "Produce Bin"
+ desc = "A wooden hamper, used to hold plant products and try keep them safe from pests."
+ icon_state = "producebin"
+ icon = 'modular_skyrat/modules/primitive_structures/icons/storage.dmi'
+ resistance_flags = FLAMMABLE
+ visible_contents = FALSE
+ base_build_path = /obj/machinery/smartfridge/producebin
+ use_power = NO_POWER_USE
+ light_power = 0
+ idle_power_usage = 0
+ circuit = null
+ has_emissive = FALSE
+ can_atmos_pass = ATMOS_PASS_YES
+ visible_contents = FALSE
+
+/obj/machinery/smartfridge/producebin/accept_check(obj/item/weapon)
+ return (istype(weapon, /obj/item/food/grown))
+
+/obj/machinery/smartfridge/producebin/structure_examine()
+ . = span_info("The whole rack can be [EXAMINE_HINT("pried")] apart.")
+
+
+/obj/machinery/smartfridge/producebin/crowbar_act(mob/living/user, obj/item/tool)
+ user.balloon_alert_to_viewers("disassembling...")
+ if(!tool.use_tool(src, user, 2 SECONDS, volume = 100))
+ return
+ new /obj/item/stack/sheet/mineral/wood(drop_location(), 10)
+ deconstruct(TRUE)
+ return TOOL_ACT_TOOLTYPE_SUCCESS
+
+/obj/machinery/smartfridge/seedshelf
+ name = "Seedshelf"
+ desc = "A wooden shelf, used to hold seeds preventing them from germinating early."
+ icon_state = "seedshelf"
+ icon = 'modular_skyrat/modules/primitive_structures/icons/storage.dmi'
+ resistance_flags = FLAMMABLE
+ visible_contents = FALSE
+ base_build_path = /obj/machinery/smartfridge/seedshelf
+ use_power = NO_POWER_USE
+ light_power = 0
+ idle_power_usage = 0
+ circuit = null
+ has_emissive = FALSE
+ can_atmos_pass = ATMOS_PASS_YES
+ visible_contents = FALSE
+
+/obj/machinery/smartfridge/seedshelf/accept_check(obj/item/weapon)
+ return istype(weapon, /obj/item/seeds)
+
+/obj/machinery/smartfridge/seedshelf/structure_examine()
+ . = span_info("The whole rack can be [EXAMINE_HINT("pried")] apart.")
+
+/obj/machinery/smartfridge/seedshelf/crowbar_act(mob/living/user, obj/item/tool)
+ user.balloon_alert_to_viewers("disassembling...")
+ if(!tool.use_tool(src, user, 2 SECONDS, volume = 100))
+ return
+ new /obj/item/stack/sheet/mineral/wood(drop_location(), 10)
+ deconstruct(TRUE)
+ return TOOL_ACT_TOOLTYPE_SUCCESS
diff --git a/modular_skyrat/modules/primitive_structures/icons/storage.dmi b/modular_skyrat/modules/primitive_structures/icons/storage.dmi
index 61d5004b370d91856403a8047edc513613e2d2d3..2b71389146d898652b2d4f27f6f27da0172d912d 100644
GIT binary patch
delta 805
zcmV+=1KRw_3W^6=iBL{Q4GJ0x0000DNk~Le0001B0000$1Oos702dl>Jpcdz8&FJC
zMF0Q*EDsDxBpQ1^F0gS(H8(yaBPmc-TzrCui&@=900001bW%=J06^y0W&i*Hl945I
ze~+Njf};GC(&W^nOu|ZwQ&UsGZpEciS;5uM1sntbC7?|$22S-<0007iNklf%XuJz1TT)Un~oZ0vZidb=kQ}0NtaOK24He)-9?Zj0=foWywPv^@_
z#=qUF)>RVlrrL_eq>AoF5D`;0(Iucpe`02wYiGIy03Q)Fo2dq{kqV2_J^D->HROS7^+;;d;IPx_k~hwb1K*
zXqa#qhRY*S0CK&yh9t0dFwa1$%YgsL1W5Eh0BV{O!jy9T0$@3%o0xF#t&!`3H6CHy
zSqRq1b-}GqKhY%^efjG9%yj{{fBkWFbALaagS~TIIuElI#`BQr5}<<>^mupWdhOP#
z*63P5JzX=IE>x%he8POuX1Z`|R5hUcQPXy2y3Thxyi|cCsCXNvx_sT&a_H0Ni3Usv
z5ldYyLwu46`Bigde~dW>4I%l(1If?|Kxa?x>`9s|2ir>*5h%7q*x9bPf4y5ycDn*e
z^kh0$p);s^V`66WWi8V_5uxMf1OR2qim%aPU-rMH0Cfb|5z2iqe
z)6#5j-g!i0OD_TBn<7v=Ll4Ueo9E$gTY3qwJ=O)VX^sC30PFe0p%bj5mqe@pg>r1<
jB!sbu!1O;7s%8FfSb|2dm9h|700000NkvXXu0mjfayf4s
delta 1256
zcmVZWd&D17qDvqC~!0rOyp#(000DrNkl0F=!M)6rGbm6hsk|6bYt~3kZp#
z7lMsgL{Kcmv^EwtR#ui;YH4L7Z;Aly`8i>ff_T121@Sx@3n<{dbI>@*RmLpU}%-8N)+PXIa3oqqB8
zhaf`WB>#N<>`B=~U?Ra=0&x9v=gDc6lSGbTToBq*=9>d0`!Nt?=keKe{qs3^f5*JE
zIS~OEG}jnUy|#*g?OIps{NcSI~P}mK_8LOTLx~L=?v5Jux&7
zc68{=0g5D27_gx<#|bp<_O&zO$;*{oB)|sde`s!K*Yz?9#tAU_pGW`@MJ6)vJ)cL;
z<2dZfiO@>|=FVRXcD^-xA_mS7fA|^Y4rBa-TNnDq;W);@Zg{xomgpq`Tis1@>{KKC
z^gB5QX9yJ9GAK$^I2780T^U{yaIm{Bw!-&TV^$20g${pu(--!f5FJ3&@VR-hw6+#G
z54$pY2%yaC5_J7f)wV?^+&FOM=AGpG;PvxV8?CY3=m2@0*m>AnkL~k3f6zmKZH68M
zrrR2Ie{|n(cG|o3{N!XZX6DijF{`mX{G}yYLL|fi$R$&T2CVNA;B|J<;B~tVXw%a_
zSCW&nY8X$BkNj#U^P4F}R38Co9Lj8osZ&z{p{aWYKu#bZ=!o2jk7ubFyi9^7@W#jV
zy)C?MhN^&<5kSRFkUu
z-S?aT013Ihw3t+WSxRA>(%ZXkkPtu1@4F-YvnYjSm;@59x=T6&Za7Ko=Bp30%`iZ
zYiJ4JVGqeU4+)sZ^?4tmyaZw$JxPFY0?yFO1U`=I^W3gae^5q1nm&)agHE5<$<{i3
z-Zhj2RH@IqhBgP3rO*2YB>`3H^R8j61gp^JUBkK^E=!+xjm*yjiq_{{V_&Mn9Lfl&
zQlEE?eIEfz0wNu~1e9fW5NJ!`s`Po+P!dq3KJOaZ+hA4tylWWifGYHP*GMgd%GT#y
zLrXwa`n+oxIwPP8ecm;!Hb$zeNsm|k52QK2C&bax^?8TLwLy~(pVevC5%3=f2x=%-
STe_kE0000