diff --git a/baystation12.dme b/baystation12.dme index dd97295aaca..217edfba026 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -622,6 +622,7 @@ #include "code\game\objects\items\mountable_frames\apc_frame.dm" #include "code\game\objects\items\mountable_frames\driver_button.dm" #include "code\game\objects\items\mountable_frames\fire_alarm.dm" +#include "code\game\objects\items\mountable_frames\fireaxe_cabinet_frame.dm" #include "code\game\objects\items\mountable_frames\frames.dm" #include "code\game\objects\items\mountable_frames\intercom.dm" #include "code\game\objects\items\mountable_frames\lights.dm" diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index e430f812367..cee77adcf5a 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -1260,8 +1260,7 @@ var/list/WALLITEMS = list( "/obj/machinery/newscaster", "/obj/machinery/firealarm", "/obj/structure/noticeboard", "/obj/machinery/door_control", "/obj/machinery/computer/security/telescreen", "/obj/machinery/embedded_controller/radio/simple_vent_controller", "/obj/item/weapon/storage/secure/safe", "/obj/machinery/door_timer", "/obj/machinery/flasher", "/obj/machinery/keycard_auth", - "/obj/structure/mirror", "/obj/structure/closet/fireaxecabinet", "/obj/machinery/computer/security/telescreen/entertainment", - "obj/structure/sign" + "/obj/structure/mirror", "/obj/structure/closet/fireaxecabinet", "obj/structure/sign" ) /proc/gotwallitem(loc, dir) for(var/obj/O in loc) diff --git a/code/game/objects/items/mountable_frames/fireaxe_cabinet_frame.dm b/code/game/objects/items/mountable_frames/fireaxe_cabinet_frame.dm new file mode 100644 index 00000000000..276e2a77f74 --- /dev/null +++ b/code/game/objects/items/mountable_frames/fireaxe_cabinet_frame.dm @@ -0,0 +1,14 @@ +/obj/item/mounted/frame/fireaxe_cabinet_frame + name = "fireaxe cabinet frame" + desc = "Used for building fireaxe cabinets" + icon = 'icons/obj/closet.dmi' + icon_state = "fireaxe_assembly" + flags = FPRINT + //m_amt = 2*CC_PER_SHEET_METAL //It's plasteel + melt_temperature = MELTPOINT_STEEL + w_type = NOT_RECYCLABLE //Plasteel recycling doesn't exist, to my knowledge. + mount_reqs = list("simfloor", "nospace") + +/obj/item/mounted/frame/fireaxe_cabinet_frame/do_build(turf/on_wall, mob/user) + new /obj/structure/closet/fireaxecabinet/empty(get_turf(src), get_dir(user, on_wall), 1) + qdel(src) \ No newline at end of file diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index e7f79e25adb..9d47990071e 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -156,7 +156,7 @@ var/global/list/datum/stack_recipe/plasteel_recipes = list ( \ new/datum/stack_recipe("RUST fuel compressor frame", /obj/item/mounted/frame/rust_fuel_compressor, 12, time = 50, one_per_turf = 1), \ new/datum/stack_recipe("Mass Driver frame", /obj/machinery/mass_driver_frame, 3, time = 50, one_per_turf = 1), \ new/datum/stack_recipe("Tank dispenser", /obj/structure/dispenser/empty, 2, time = 10, one_per_turf = 1), \ - new/datum/stack_recipe("Fireaxe cabinet", /obj/structure/closet/fireaxecabinet/, 2, time = 50, one_per_turf = 1), \ + new/datum/stack_recipe("Fireaxe cabinet", /obj/item/mounted/frame/fireaxe_cabinet_frame, 2, time = 50), \ null, \ new/datum/stack_recipe("Vault Door assembly", /obj/structure/door_assembly/door_assembly_vault, 8, time = 50, one_per_turf = 1, on_floor = 1), \ ) diff --git a/code/game/objects/structures/crates_lockers/closets/fireaxe.dm b/code/game/objects/structures/crates_lockers/closets/fireaxe.dm index 8a88e9a37d6..2be2b8b1571 100644 --- a/code/game/objects/structures/crates_lockers/closets/fireaxe.dm +++ b/code/game/objects/structures/crates_lockers/closets/fireaxe.dm @@ -13,9 +13,20 @@ var/hitstaken = 0 var/smashed = 0 locked = 1 + layer = TURF_LAYER + 0.1 //The sprite is fucking huge, so render it under all other mounted items so it doesn't cover any of them. /obj/structure/closet/fireaxecabinet/empty fireaxe = null + locked = 0 //Doesn't matter if an empty cabinet is locked. Make sure to lock it after you put the axe in, though. + localopened = 1 + +/obj/structure/closet/fireaxecabinet/New(loc, var/ndir) + ..() + if(ndir) + pixel_x = (ndir & 3)? 0 : (ndir == 4 ? 32 : -32) //Stolen from one of several near-identical other things + pixel_y = (ndir & 3)? (ndir == 1 ? 32 : -32) : 0 //Stolen from one of several near-identical other things + dir = ndir + update_icon() /obj/structure/closet/fireaxecabinet/examine(mob/user) diff --git a/icons/obj/closet.dmi b/icons/obj/closet.dmi index 5aa848aabe0..57b2b313f02 100644 Binary files a/icons/obj/closet.dmi and b/icons/obj/closet.dmi differ