diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 114ff37ad14..e902f73b7c6 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -537,6 +537,7 @@ GLOBAL_LIST_INIT(runed_metal_recipes, list ( \ novariants = TRUE grind_results = list(/datum/reagent/iron = 5, /datum/reagent/blood = 15) material_type = /datum/material/runedmetal + has_unique_girder = TRUE /obj/item/stack/sheet/runed_metal/attack_self(mob/living/user) if(!iscultist(user)) @@ -573,6 +574,7 @@ GLOBAL_LIST_INIT(bronze_recipes, list ( \ new/datum/stack_recipe("fulltile bronze window", /obj/structure/window/bronze/fulltile/unanchored, 2, time = 0, on_floor = TRUE, window_checks = TRUE), \ new/datum/stack_recipe("pinion airlock assembly", /obj/structure/door_assembly/door_assembly_bronze, 4, time = 50, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("bronze pinion airlock assembly", /obj/structure/door_assembly/door_assembly_bronze/seethru, 4, time = 50, one_per_turf = TRUE, on_floor = TRUE), \ + new/datum/stack_recipe("bronze floor tile", /obj/item/stack/tile/bronze, 1, 4, 20), \ new/datum/stack_recipe("bronze hat", /obj/item/clothing/head/bronze), \ new/datum/stack_recipe("bronze suit", /obj/item/clothing/suit/bronze), \ new/datum/stack_recipe("bronze boots", /obj/item/clothing/shoes/bronze), \ @@ -580,8 +582,8 @@ GLOBAL_LIST_INIT(bronze_recipes, list ( \ new/datum/stack_recipe("bronze chair", /obj/structure/chair/bronze, 1, time = 0, one_per_turf = TRUE, on_floor = TRUE), \ )) -/obj/item/stack/tile/bronze - name = "brass" +/obj/item/stack/sheet/bronze + name = "bronze" desc = "On closer inspection, what appears to be wholly-unsuitable-for-building brass is actually more structurally stable bronze." singular_name = "bronze sheet" icon_state = "sheet-brass" @@ -591,19 +593,21 @@ GLOBAL_LIST_INIT(bronze_recipes, list ( \ lefthand_file = 'icons/mob/inhands/misc/sheets_lefthand.dmi' righthand_file = 'icons/mob/inhands/misc/sheets_righthand.dmi' resistance_flags = FIRE_PROOF | ACID_PROOF + sheettype = "bronze" force = 5 throwforce = 10 max_amount = 50 throw_speed = 1 throw_range = 3 - turf_type = /turf/open/floor/bronze novariants = FALSE - grind_results = list(/datum/reagent/iron = 5, /datum/reagent/copper = 3) //we have no "tin" reagent so this is the closest thing - merge_type = /obj/item/stack/tile/bronze + grind_results = list(/datum/reagent/iron = 20, /datum/reagent/copper = 12) //we have no "tin" reagent so this is the closest thing + merge_type = /obj/item/stack/sheet/bronze tableVariant = /obj/structure/table/bronze material_type = /datum/material/bronze + walltype = /turf/closed/wall/mineral/bronze + has_unique_girder = TRUE -/obj/item/stack/tile/bronze/get_main_recipes() +/obj/item/stack/sheet/bronze/get_main_recipes() . = ..() . += GLOB.bronze_recipes diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index 72d761b3a23..80f340a0ace 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -39,6 +39,8 @@ var/absorption_rate /// Amount of matter for RCD var/matter_amount = 0 + /// Does this stack require a unique girder in order to make a wall? + var/has_unique_girder = FALSE /obj/item/stack/Initialize(mapload, new_amount, merge = TRUE, list/mat_override=null, mat_amt=1) if(new_amount != null) diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm index 72c6ae94b0e..b072eb08a13 100644 --- a/code/game/objects/items/stacks/tiles/tile_types.dm +++ b/code/game/objects/items/stacks/tiles/tile_types.dm @@ -443,3 +443,12 @@ /obj/item/stack/tile/eighties/loaded amount = 15 + +/obj/item/stack/tile/bronze + name = "bronze tile" + singular_name = "bronze floor tile" + desc = "A clangy tile made of high-quality bronze. Clockwork construction techniques allow the clanging to be minimized." + icon_state = "tile_brass" + turf_type = /turf/open/floor/bronze + mats_per_unit = list(/datum/material/bronze=500) + merge_type = /obj/item/stack/tile/bronze diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index 94ee3c24216..59957c1c5fb 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -165,7 +165,7 @@ qdel(src) return - if(S.sheettype != "runed") + if(!S.has_unique_girder) var/M = S.sheettype if(state == GIRDER_DISPLACED) var/falsewall_type = text2path("/obj/structure/falsewall/[M]") @@ -424,8 +424,8 @@ transfer_fingerprints_to(B) qdel(src) - else if(istype(W, /obj/item/stack/tile/bronze)) - var/obj/item/stack/tile/bronze/B = W + else if(istype(W, /obj/item/stack/sheet/bronze)) + var/obj/item/stack/sheet/bronze/B = W if(B.get_amount() < 2) to_chat(user, "You need at least two bronze sheets to build a bronze wall!") return diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index a2b498c18c3..dbe7ba65685 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -159,7 +159,7 @@ return //window placing begin - else if(is_glass_sheet(W)) + else if(is_glass_sheet(W) || istype(W, /obj/item/stack/sheet/bronze)) if (!broken) var/obj/item/stack/ST = W if (ST.get_amount() < 2) @@ -189,6 +189,8 @@ WD = new/obj/structure/window/shuttle(drop_location()) else if(istype(W, /obj/item/stack/sheet/plastitaniumglass)) WD = new/obj/structure/window/plasma/reinforced/plastitanium(drop_location()) + else if(istype(W, /obj/item/stack/sheet/bronze)) + WD = new/obj/structure/window/bronze/fulltile(drop_location()) else WD = new/obj/structure/window/fulltile(drop_location()) //normal window WD.setDir(dir_to_set) diff --git a/code/game/turfs/closed/wall/misc_walls.dm b/code/game/turfs/closed/wall/misc_walls.dm index 0335e1e489c..306beb7aa23 100644 --- a/code/game/turfs/closed/wall/misc_walls.dm +++ b/code/game/turfs/closed/wall/misc_walls.dm @@ -86,6 +86,6 @@ icon_state = "clockwork_wall-0" base_icon_state = "clockwork_wall" smoothing_flags = SMOOTH_BITMASK - sheet_type = /obj/item/stack/tile/bronze + sheet_type = /obj/item/stack/sheet/bronze sheet_amount = 2 girder_type = /obj/structure/girder/bronze diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index 5f8672f6712..6aa79bdd1aa 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -735,7 +735,7 @@ var/obj/item/stack/sheet/iron/M = exposed_obj reac_volume = min(reac_volume, M.amount) - new/obj/item/stack/tile/bronze(get_turf(M), reac_volume) + new/obj/item/stack/sheet/bronze(get_turf(M), reac_volume) M.use(reac_volume) /datum/reagent/nitrogen