From 7863c4a3937f053cf301e8c73f297d4e2a78a4a1 Mon Sep 17 00:00:00 2001 From: tortellinitony <22010639+tortellinitony@users.noreply.github.com> Date: Sun, 13 Jan 2019 13:00:48 -0500 Subject: [PATCH] Add extinguishing to cigarettes and lighters. Makes vapes use container flags. --- code/game/objects/items/cigs_lighters.dm | 46 +++++++++++++++++------- 1 file changed, 33 insertions(+), 13 deletions(-) diff --git a/code/game/objects/items/cigs_lighters.dm b/code/game/objects/items/cigs_lighters.dm index 748a0d48ff7..3f50d9ba8ee 100644 --- a/code/game/objects/items/cigs_lighters.dm +++ b/code/game/objects/items/cigs_lighters.dm @@ -64,6 +64,9 @@ CIGARETTE PACKETS ARE IN FANCY.DM attack_verb = list("flicked") STOP_PROCESSING(SSobj, src) +/obj/item/match/extinguish() + matchburnout() + /obj/item/match/dropped(mob/user) matchburnout() . = ..() @@ -199,6 +202,24 @@ CIGARETTE PACKETS ARE IN FANCY.DM M.update_inv_wear_mask() M.update_inv_hands() +/obj/item/clothing/mask/cigarette/extinguish() + if(!lit) + return + name = copytext(name,5,length(name)+1) + attack_verb = null + hitsound = null + damtype = BRUTE + force = 0 + icon_state = icon_off + item_state = icon_off + STOP_PROCESSING(SSobj, src) + ENABLE_BITFIELD(reagents.flags, NO_REACT) + lit = FALSE + if(ismob(loc)) + var/mob/living/M = loc + to_chat(M, "Your [name] goes out.") + M.update_inv_wear_mask() + M.update_inv_hands() /obj/item/clothing/mask/cigarette/proc/handle_reagents() if(reagents.total_volume) @@ -559,6 +580,9 @@ CIGARETTE PACKETS ARE IN FANCY.DM STOP_PROCESSING(SSobj, src) update_icon() +/obj/item/lighter/extinguish() + set_lit(FALSE) + /obj/item/lighter/attack_self(mob/living/user) if(user.is_holding(src)) if(!lit) @@ -736,27 +760,21 @@ CIGARETTE PACKETS ARE IN FANCY.DM item_state = "[param_color]_vape" /obj/item/clothing/mask/vape/attackby(obj/item/O, mob/user, params) - if(O.is_drainable()) - if(reagents.total_volume < chem_volume) - if(O.reagents.total_volume > 0) - O.reagents.trans_to(src,25, transfered_by = user) - to_chat(user, "You add the contents of [O] to [src].") - else - to_chat(user, "[O] is empty!") - else - to_chat(user, "[src] can't hold anymore reagents!") - if(O.tool_behaviour == TOOL_SCREWDRIVER) if(!screw) - screw = 1 + screw = TRUE to_chat(user, "You open the cap on [src].") - if(super) + ENABLE_BITFIELD(reagents.flags, OPENCONTAINER) + if(obj_flags & EMAGGED) + add_overlay("vapeopen_high") + else if(super) add_overlay("vapeopen_med") else add_overlay("vapeopen_low") else - screw = 0 + screw = FALSE to_chat(user, "You close the cap on [src].") + DISABLE_BITFIELD(reagents.flags, OPENCONTAINER) cut_overlays() if(O.tool_behaviour == TOOL_MULTITOOL) @@ -774,6 +792,8 @@ CIGARETTE PACKETS ARE IN FANCY.DM if(screw && (obj_flags & EMAGGED)) to_chat(user, "[src] can't be modified!") + else + ..() /obj/item/clothing/mask/vape/emag_act(mob/user)// I WON'T REGRET WRITTING THIS, SURLY.