From a135d0183522948e6d2ff6201a54e4bde7459d7c Mon Sep 17 00:00:00 2001 From: Anasari Date: Thu, 23 Aug 2018 14:47:43 +0800 Subject: [PATCH] Fixes --- .../mountable_frames/extinguisher_frame.dm | 2 +- .../items/stacks/sheets/sheet_types.dm | 2 +- code/game/objects/structures/extinguisher.dm | 26 ++++++++++++++++--- 3 files changed, 25 insertions(+), 5 deletions(-) diff --git a/code/game/objects/items/mountable_frames/extinguisher_frame.dm b/code/game/objects/items/mountable_frames/extinguisher_frame.dm index 531005ca902..5356a154a6d 100644 --- a/code/game/objects/items/mountable_frames/extinguisher_frame.dm +++ b/code/game/objects/items/mountable_frames/extinguisher_frame.dm @@ -6,5 +6,5 @@ mount_reqs = list("simfloor", "nospace") /obj/item/mounted/frame/extinguisher/do_build(turf/on_wall, mob/user) - new /obj/structure/extinguisher_cabinet(get_turf(src), get_dir(user, on_wall)) + new /obj/structure/extinguisher_cabinet/empty(get_turf(src), get_dir(user, on_wall)) qdel(src) diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 0e9be717ca1..b7ea68ae0df 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -90,7 +90,7 @@ var/global/list/datum/stack_recipe/metal_recipes = list( new /datum/stack_recipe("air alarm frame", /obj/item/mounted/frame/alarm_frame, 2), new /datum/stack_recipe("fire alarm frame", /obj/item/mounted/frame/firealarm, 2), new /datum/stack_recipe("intercom frame", /obj/item/mounted/frame/intercom, 2), - new /datum/stack_recipe("extinguisher cabinet frame", /obj/item/mounted/frame/extinguisher, 5), + new /datum/stack_recipe("extinguisher cabinet frame", /obj/item/mounted/frame/extinguisher, 2), null ) diff --git a/code/game/objects/structures/extinguisher.dm b/code/game/objects/structures/extinguisher.dm index ce550871c63..568fb0ededc 100644 --- a/code/game/objects/structures/extinguisher.dm +++ b/code/game/objects/structures/extinguisher.dm @@ -1,3 +1,8 @@ +#define NO_EXTINGUISHER 0 +#define NORMAL_EXTINGUISHER 1 +#define MINI_EXTINGUISHER 2 + + /obj/structure/extinguisher_cabinet name = "extinguisher cabinet" desc = "A small wall mounted cabinet designed to hold a fire extinguisher." @@ -5,7 +10,8 @@ icon_state = "extinguisher_closed" anchored = 1 density = 0 - var/obj/item/extinguisher/has_extinguisher = new/obj/item/extinguisher + var/obj/item/extinguisher/has_extinguisher = null + var/extinguishertype var/opened = 0 var/material_drop = /obj/item/stack/sheet/metal @@ -14,11 +20,18 @@ if(ndir) pixel_x = (ndir & EAST|WEST) ? (ndir == EAST ? 28 : -28) : 0 pixel_y = (ndir & NORTH|SOUTH)? (ndir == WEST ? 28 : -28) : 0 + switch(extinguishertype) + if(NO_EXTINGUISHER) + return + if(MINI_EXTINGUISHER) + has_extinguisher = new/obj/item/extinguisher/mini + else + has_extinguisher = new/obj/item/extinguisher /obj/structure/extinguisher_cabinet/Destroy() QDEL_NULL(has_extinguisher) return ..() - + /obj/structure/extinguisher_cabinet/attackby(obj/item/O, mob/user, params) if(isrobot(user) || isalien(user)) return @@ -39,7 +52,6 @@ return var/obj/item/weldingtool/WT = O if(!WT.remove_fuel(0, user)) - to_chat(user, "You need more welding fuel to complete this task.") return to_chat(user, "You begin cutting [src] apart...") playsound(loc, WT.usesound, 40, 1) @@ -99,3 +111,11 @@ icon_state = "extinguisher_full" else icon_state = "extinguisher_empty" + +/obj/structure/extinguisher_cabinet/empty/New(turf/loc, ndir = null) + extinguishertype = NO_EXTINGUISHER + ..() + +#undef NO_EXTINGUISHER +#undef NORMAL_EXTINGUISHER +#undef MINI_EXTINGUISHER