Files
+37 21b4095dfd [MDB IGNORE] [IDB IGNORE] Upstream Sync - 04/17/2026 (#5453)
Upstream 04/17/2026

fixes https://github.com/Bubberstation/Bubberstation/issues/5549

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: tgstation-ci[bot] <179393467+tgstation-ci[bot]@users.noreply.github.com>
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Rhials <28870487+Rhials@users.noreply.github.com>
Co-authored-by: rageguy505 <54517726+rageguy505@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Aliceee2ch <160794176+Aliceee2ch@users.noreply.github.com>
Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
Co-authored-by: Tsar-Salat <62388554+Tsar-Salat@users.noreply.github.com>
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
Co-authored-by: Maxipat <108554989+Maxipat112@users.noreply.github.com>
Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: SimplyLogan <47579821+loganuk@users.noreply.github.com>
Co-authored-by: loganuk <fakeemail123@aol.com>
Co-authored-by: Leland Kemble <70413276+lelandkemble@users.noreply.github.com>
Co-authored-by: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com>
Co-authored-by: Roxy <75404941+TealSeer@users.noreply.github.com>
Co-authored-by: Lucy <lucy@absolucy.moe>
Co-authored-by: siliconOpossum <138069572+siliconOpossum@users.noreply.github.com>
Co-authored-by: Isratosh <Isratosh@hotmail.com>
Co-authored-by: TheRyeGuyWhoWillNowDie <70169560+TheRyeGuyWhoWillNowDie@users.noreply.github.com>
Co-authored-by: Neocloudy <88008002+Neocloudy@users.noreply.github.com>
Co-authored-by: Alexander V. <volas@ya.ru>
Co-authored-by: ElGitificador <168473461+ElGitificador@users.noreply.github.com>
Co-authored-by: Twaticus <46540570+Twaticus@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
Co-authored-by: Cameron Lennox <killer65311@gmail.com>
Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Iamgoofball <iamgoofball@gmail.com>
Co-authored-by: Layzu666 <121319428+Layzu666@users.noreply.github.com>
Co-authored-by: Arturlang <24881678+Arturlang@users.noreply.github.com>
Co-authored-by: _0Steven <42909981+00-Steven@users.noreply.github.com>
Co-authored-by: mrmanlikesbt <99309552+mrmanlikesbt@users.noreply.github.com>
Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com>
Co-authored-by: John F. Kennedy <54908920+MacaroniCritter@users.noreply.github.com>
Co-authored-by: Cursor <102828457+theselfish@users.noreply.github.com>
Co-authored-by: Josh <josh.adam.powell@gmail.com>
Co-authored-by: Josh Powell <josh.powell@softwire.com>
Co-authored-by: Yobrocharlie <Charliemiller5617@gmail.com>
Co-authored-by: Hardly3D <66234359+Hardly3D@users.noreply.github.com>
Co-authored-by: shayoki <96078776+shayoki@users.noreply.github.com>
Co-authored-by: LT3 <83487515+lessthnthree@users.noreply.github.com>
2026-05-16 00:56:00 +02:00

147 lines
6.2 KiB
Plaintext

/obj/item/stack/sheet/mineral/stone
name = "stone"
desc = "Stone brick."
singular_name = "stone block"
icon = 'modular_skyrat/modules/stone/icons/ore.dmi'
icon_state = "sheet-stone"
inhand_icon_state = "sheet-metal"
mats_per_unit = list(/datum/material/stone=SHEET_MATERIAL_AMOUNT)
force = 10
throwforce = 15
resistance_flags = FIRE_PROOF
merge_type = /obj/item/stack/sheet/mineral/stone
material_type = /datum/material/stone
matter_amount = 0
source = null
walltype = /turf/closed/wall/mineral/stone
stairs_type = /obj/structure/stairs/stone
GLOBAL_LIST_INIT(stone_recipes, list ( \
new/datum/stack_recipe("stone brick wall", /turf/closed/wall/mineral/stone, 5, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND | CRAFT_TRANSFERS_REAGENT_COMPONENTS, category = CAT_STRUCTURE), \
new/datum/stack_recipe("stone brick tile", /obj/item/stack/tile/mineral/stone, 1, 4, 20, category = CAT_TILES),
new/datum/stack_recipe("millstone", /obj/structure/millstone, 6, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_STRUCTURE),
new/datum/stack_recipe("stone cauldron", /obj/machinery/cauldron, 5, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_STRUCTURE),
new/datum/stack_recipe("stone stove", /obj/machinery/primitive_stove, 5, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_STRUCTURE),
new/datum/stack_recipe("stone oven", /obj/machinery/oven/stone, 5, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_STRUCTURE),
new/datum/stack_recipe("stone griddle", /obj/machinery/griddle/stone, 5, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_STRUCTURE),
))
/obj/item/stack/sheet/mineral/stone/get_main_recipes()
. = ..()
. += GLOB.stone_recipes
/datum/material/stone
name = "stone"
desc = "It's stone."
mat_flags = MATERIAL_CLASS_RIGID | MATERIAL_BASIC_RECIPES
sheet_type = /obj/item/stack/sheet/mineral/stone
color = "#59595a"
greyscale_color = "#59595a"
value_per_unit = 0.0025
mat_properties = list(
MATERIAL_BEAUTY = 0.3,
)
turf_sound_override = FOOTSTEP_PLATING
/obj/item/stack/stone
name = "rough stone"
desc = "Large chunks of uncut stone, tough enough to safely build out of... if you could manage to cut them into something usable."
icon = 'modular_skyrat/modules/stone/icons/ore.dmi'
icon_state = "stone_ore"
singular_name = "rough stone boulder"
mats_per_unit = list(/datum/material/stone = SHEET_MATERIAL_AMOUNT)
merge_type = /obj/item/stack/stone
force = 10
throwforce = 15
/obj/item/stack/stone/examine()
. = ..()
. += span_notice("With a <b>chisel</b> or even a <b>pickaxe</b> of some kind, you could cut this into <b>blocks</b>.")
/obj/item/stack/stone/attackby(obj/item/attacking_item, mob/user, params)
if((attacking_item.tool_behaviour != TOOL_MINING) && !(istype(attacking_item, /obj/item/chisel)))
return ..()
playsound(src, 'sound/effects/pickaxe/picaxe1.ogg', 50, TRUE)
balloon_alert_to_viewers("cutting...")
if(!do_after(user, 5 SECONDS, target = src))
balloon_alert_to_viewers("stopped cutting")
return FALSE
new /obj/item/stack/sheet/mineral/stone(get_turf(src), amount)
qdel(src)
/obj/item/stack/tile/mineral/stone
name = "stone tile"
singular_name = "stone floor tile"
desc = "A tile made of stone bricks, for that fortress look."
icon_state = "tile_herringbone"
inhand_icon_state = "tile"
turf_type = /turf/open/floor/stone
mineralType = "stone"
mats_per_unit = list(/datum/material/stone = HALF_SHEET_MATERIAL_AMOUNT / 2)
merge_type = /obj/item/stack/tile/mineral/stone
/turf/open/floor/stone
desc = "Blocks of stone arranged in a tile-like pattern, odd, really, how it looks like real stone too, because it is!" //A play on the original description for stone tiles
slowdown = -0.3
/turf/closed/wall/mineral/stone
name = "stone wall"
desc = "A wall made of solid stone bricks."
icon = 'modular_skyrat/modules/stone/icons/wall.dmi'
icon_state = "wall-0"
base_icon_state = "wall"
sheet_type = /obj/item/stack/sheet/mineral/stone
explosive_resistance = 2 // Rock and stone to the bone, or at least a bit longer than walls made of metal sheets!
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = SMOOTH_GROUP_STONE_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS
canSmoothWith = SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_WINDOW_FULLTILE + SMOOTH_GROUP_STONE_WALLS + SMOOTH_GROUP_WALLS
custom_materials = list(
/datum/material/stone = SHEET_MATERIAL_AMOUNT * 2,
)
/turf/closed/wall/mineral/stone/try_decon(obj/item/item_used, mob/user) // Lets you break down stone walls with stone breaking tools
if(item_used.tool_behaviour != TOOL_MINING)
return ..()
if(!item_used.tool_start_check(user, amount = 0))
return FALSE
balloon_alert_to_viewers("breaking down...")
if(!item_used.use_tool(src, user, 5 SECONDS))
return FALSE
dismantle_wall()
return TRUE
/turf/closed/indestructible/stone
name = "stone wall"
desc = "A wall made of unusually solid stone bricks."
icon = 'modular_skyrat/modules/stone/icons/wall.dmi'
icon_state = "wall-0"
base_icon_state = "wall"
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = SMOOTH_GROUP_STONE_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS
canSmoothWith = SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_WINDOW_FULLTILE + SMOOTH_GROUP_STONE_WALLS + SMOOTH_GROUP_WALLS
custom_materials = list(
/datum/material/stone = SHEET_MATERIAL_AMOUNT * 2,
)
/obj/structure/falsewall/stone
name = "stone wall"
desc = "A wall made of solid stone bricks."
icon = 'modular_skyrat/modules/stone/icons/wall.dmi'
icon_state = "wall-open"
base_icon_state = "wall"
fake_icon = 'modular_skyrat/modules/stone/icons/wall.dmi'
mineral = /obj/item/stack/sheet/mineral/stone
walltype = /turf/closed/wall/mineral/stone
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = SMOOTH_GROUP_STONE_WALLS + SMOOTH_GROUP_WALLS + SMOOTH_GROUP_CLOSED_TURFS
canSmoothWith = SMOOTH_GROUP_AIRLOCK + SMOOTH_GROUP_WINDOW_FULLTILE + SMOOTH_GROUP_STONE_WALLS + SMOOTH_GROUP_WALLS
/turf/closed/mineral/gets_drilled(mob/user, give_exp = FALSE)
if(prob(5))
new /obj/item/stack/stone(src)
return ..()