From 8d1a6ef64684edc5e72dcbd7bfb3f8bb840da2fb Mon Sep 17 00:00:00 2001 From: Cabbage <130223709+SomeCabbage@users.noreply.github.com> Date: Thu, 16 Apr 2026 19:17:00 -0400 Subject: [PATCH] Quality of life for the Hearth (#5421) ## About The Pull Request Changes a bit of code. - Alters the code for wallframes, fixing and allowing the bubber edit to actually allow placement without proper flooring. - Alters the code for the large mortar, allowing it to accept anything that can be ground up into reagents (similar to the small one). - Allows crafted wall torches to be mounted on any wall, regardless of whether the area is powered or if there's a valid floor. Adds in a few quality of life improvements to the Hearthkin Hearth. - Eggplant seeds to the seed barrels. - Small pottery corner with some sand and bricks. - Glassblowing crate for ease of access. - Serving tray for ease of mass-cooking. ## Why It's Good For The Game Small code fixes to give functionality to previously broken implements. Small quality of life things to show more things to do to the ghost roles as well as allowing them easier access to said things, while not overly reducing the amount of time neccessary to spend on said things. ## Proof Of Testing Code changes work properly and as intended. Map changes load properly and are functional. No errors when building. ## Changelog :cl: add: Added the ability for crafted wall torches to be mounted on walls regardless of floor or area power. fix: The large mortar can now properly grind and juice things, including items like injectors and sheets of material. fix: Fixed an error in wallmounting code preventing a bubber bypass from working. map: Added a small clay-working corner, glassblowing kit, serving tray and eggplant seeds to the hearth. /:cl: --------- Co-authored-by: Cabbage --- .../iceboxstation_icecats_lower.dmm | 105 +++++++++++++++--- code/game/objects/items/wall_mounted.dm | 5 +- .../code/big_mortar.dm | 6 +- .../primitive_structures/code/wall_torch.dm | 3 + tgstation.dme | 1 + 5 files changed, 98 insertions(+), 22 deletions(-) create mode 100644 modular_zubbers/code/modules/primitive_structures/code/wall_torch.dm diff --git a/_maps/bubber/automapper/templates/IceBoxStation/iceboxstation_icecats_lower.dmm b/_maps/bubber/automapper/templates/IceBoxStation/iceboxstation_icecats_lower.dmm index 784285e3da0..786351ecbe0 100644 --- a/_maps/bubber/automapper/templates/IceBoxStation/iceboxstation_icecats_lower.dmm +++ b/_maps/bubber/automapper/templates/IceBoxStation/iceboxstation_icecats_lower.dmm @@ -211,6 +211,14 @@ }, /turf/open/misc/dirt/icemoon, /area/ruin/unpowered/primitive_catgirl_den) +"eY" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/water_source/puddle, +/obj/effect/turf_decal/weather/snow/corner, +/turf/open/misc/dirt/icemoon, +/area/ruin/unpowered/primitive_catgirl_den) "fd" = ( /obj/structure/wall_torch/spawns_lit/directional/south, /obj/effect/turf_decal/weather/snow/corner{ @@ -943,6 +951,14 @@ /obj/item/seeds/peas, /turf/open/misc/dirt/icemoon, /area/ruin/unpowered/primitive_catgirl_den) +"vr" = ( +/obj/structure/table/wood, +/obj/structure/throwing_wheel{ + pixel_y = 10 + }, +/obj/structure/wall_torch/spawns_lit/directional/west, +/turf/open/floor/wood/icemoon, +/area/ruin/unpowered/primitive_catgirl_den) "vx" = ( /obj/effect/turf_decal/weather/dirt{ dir = 1 @@ -988,6 +1004,7 @@ /obj/item/seeds/tea/catnip, /obj/item/seeds/bamboo, /obj/item/seeds/ambrosia, +/obj/item/seeds/eggplant, /turf/open/misc/dirt/icemoon, /area/ruin/unpowered/primitive_catgirl_den) "wF" = ( @@ -1054,6 +1071,9 @@ /area/ruin/unpowered/primitive_catgirl_den) "yp" = ( /obj/machinery/primitive_stove, +/obj/item/storage/bag/tray{ + pixel_y = 4 + }, /turf/open/floor/stone/icemoon, /area/ruin/unpowered/primitive_catgirl_den) "yD" = ( @@ -1144,6 +1164,17 @@ /obj/structure/bonfire/grill_pre_attached, /turf/open/floor/stone/icemoon, /area/ruin/unpowered/primitive_catgirl_den) +"AV" = ( +/obj/structure/closet/crate/wooden/storage_barrel, +/obj/item/stack/ore/glass/thirty{ + pixel_y = 5; + amount = 50 + }, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 10 + }, +/turf/open/misc/dirt/icemoon, +/area/ruin/unpowered/primitive_catgirl_den) "Bc" = ( /obj/structure/rack/wooden, /obj/item/forging/reagent_weapon/axe/fake_copper{ @@ -1246,12 +1277,36 @@ }, /turf/open/misc/dirt/icemoon, /area/ruin/unpowered/primitive_catgirl_den) +"Eu" = ( +/obj/effect/turf_decal/weather/snow/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/misc/dirt/icemoon, +/area/ruin/unpowered/primitive_catgirl_den) "EA" = ( /obj/structure/rack/wooden, /obj/item/gun/ballistic/bow/longbow, /obj/item/storage/bag/quiver, /turf/open/misc/dirt/icemoon, /area/ruin/unpowered/primitive_catgirl_den) +"EU" = ( +/obj/structure/closet/crate/wooden{ + name = "glassblowing crate" + }, +/obj/item/glassblowing/blowing_rod, +/obj/item/glassblowing/jacks{ + pixel_x = 6 + }, +/obj/item/glassblowing/paddle{ + pixel_y = 6 + }, +/obj/item/glassblowing/shears, +/obj/item/glassblowing/metal_cup, +/turf/open/misc/asteroid/snow/icemoon, +/area/ruin/unpowered/primitive_catgirl_den) "FB" = ( /obj/structure/mannequin/wood, /turf/open/misc/dirt/icemoon, @@ -1384,11 +1439,6 @@ }, /turf/open/misc/dirt/icemoon, /area/ruin/unpowered/primitive_catgirl_den) -"II" = ( -/obj/structure/wall_torch/spawns_lit/directional/west, -/obj/structure/flora/ash/chilly, -/turf/open/misc/asteroid/snow/icemoon, -/area/ruin/unpowered/primitive_catgirl_den) "IZ" = ( /obj/structure/wall_torch/spawns_lit/directional/north, /obj/effect/turf_decal/weather/snow/corner{ @@ -1616,6 +1666,22 @@ }, /turf/open/misc/dirt/icemoon, /area/ruin/unpowered/primitive_catgirl_den) +"Pq" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/rack/wooden, +/obj/item/stack/sheet/mineral/stone/five{ + pixel_y = -5; + pixel_x = -4 + }, +/obj/item/stack/sheet/mineral/stone/five{ + pixel_y = -5; + pixel_x = 7 + }, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 1 + }, +/turf/open/misc/dirt/icemoon, +/area/ruin/unpowered/primitive_catgirl_den) "PB" = ( /obj/effect/turf_decal/weather/snow/corner{ dir = 6 @@ -1935,6 +2001,15 @@ }, /turf/open/misc/dirt/icemoon, /area/ruin/unpowered/primitive_catgirl_den) +"Xn" = ( +/obj/effect/turf_decal/weather/snow/corner{ + dir = 5 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/turf/open/misc/dirt/icemoon, +/area/ruin/unpowered/primitive_catgirl_den) "Xv" = ( /obj/structure/rack/wooden, /obj/item/plate/blowing_glass{ @@ -3301,7 +3376,7 @@ GN GN GN GN -GN +yF GN yF yF @@ -3342,9 +3417,9 @@ Rq yF GN GN -GN -GN -GN +Pq +vr +eY GN pa hA @@ -3384,10 +3459,10 @@ jN GN GN GN -GN -yF -GN -GN +Xn +Eu +aK +AV pa kF ZJ @@ -3426,8 +3501,8 @@ vZ pa GN yF -oJ -II +EU +yD JN zS pa diff --git a/code/game/objects/items/wall_mounted.dm b/code/game/objects/items/wall_mounted.dm index 73f2d60416b..e0299b713ff 100644 --- a/code/game/objects/items/wall_mounted.dm +++ b/code/game/objects/items/wall_mounted.dm @@ -100,13 +100,10 @@ balloon_alert(user, "stand in line with wall!") return FALSE var/turf/T = get_turf(user) - if(!isfloorturf(T)) + if(!isfloorturf(T) && !bypass_floor) //BUBBER EDIT - allows for wallmounts in floorless areas balloon_alert(user, "cannot place here!") return FALSE var/area/A = get_area(T) - if(!isfloorturf(T) && !bypass_floor) //BUBBER EDIT - allows for wallmounts in floorless areas - balloon_alert(user, "cannot place here!") - return if(A.always_unpowered && !bypass_unpowered) //BUBBER EDIT - allows for wallmounts in unpowered areas balloon_alert(user, "cannot place in this area!") return diff --git a/modular_skyrat/modules/primitive_cooking_additions/code/big_mortar.dm b/modular_skyrat/modules/primitive_cooking_additions/code/big_mortar.dm index 0d2a161fbc8..41aec82b38b 100644 --- a/modular_skyrat/modules/primitive_cooking_additions/code/big_mortar.dm +++ b/modular_skyrat/modules/primitive_cooking_additions/code/big_mortar.dm @@ -152,7 +152,7 @@ balloon_alert(user, "overflowing!") break - if(target_item.juice_typepath()) + if (target_item.juice_typepath()) juice_target_item(target_item, user) else @@ -164,7 +164,7 @@ balloon_alert(user, "overflowing!") break - if(target_item.grind_results()) + if (target_item.grind_results() || target_item.reagents?.total_volume) grind_target_item(target_item, user) else @@ -172,7 +172,7 @@ return ITEM_INTERACT_SUCCESS - if(!tool.grind_results() && !tool.juice_typepath()) + if(!tool.grind_results() && !tool.juice_typepath() && !tool.reagents?.total_volume) balloon_alert(user, "can't grind this!") return ITEM_INTERACT_BLOCKING diff --git a/modular_zubbers/code/modules/primitive_structures/code/wall_torch.dm b/modular_zubbers/code/modules/primitive_structures/code/wall_torch.dm new file mode 100644 index 00000000000..ce4a67ad721 --- /dev/null +++ b/modular_zubbers/code/modules/primitive_structures/code/wall_torch.dm @@ -0,0 +1,3 @@ +/obj/item/wallframe/torch + bypass_unpowered = TRUE + bypass_floor = TRUE diff --git a/tgstation.dme b/tgstation.dme index 0b1cd60ebee..8f0f26600fe 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -9794,6 +9794,7 @@ #include "modular_zubbers\code\modules\power\supermatter\supermatter_delam.dm" #include "modular_zubbers\code\modules\power\supermatter\supermatter_gas.dm" #include "modular_zubbers\code\modules\primitive_catgirls\code\spawner.dm" +#include "modular_zubbers\code\modules\primitive_structures\code\wall_torch.dm" #include "modular_zubbers\code\modules\privacy_policy\privacy_policy.dm" #include "modular_zubbers\code\modules\projectiles\beams.dm" #include "modular_zubbers\code\modules\projectiles\ammunition\ballistic\arrows.dm"