/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 chisel or even a pickaxe of some kind, you could cut this into blocks.") /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 ..()