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.