From 5f764b7d1b800e2e285963bc0c85585764f1da7f Mon Sep 17 00:00:00 2001
From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com>
Date: Mon, 4 Mar 2019 20:33:53 -0500
Subject: [PATCH] Update candle.dm
---
code/game/objects/items/candle.dm | 58 +++++++++++++++----------------
1 file changed, 28 insertions(+), 30 deletions(-)
diff --git a/code/game/objects/items/candle.dm b/code/game/objects/items/candle.dm
index b7a3b0c76c..1165501d9a 100644
--- a/code/game/objects/items/candle.dm
+++ b/code/game/objects/items/candle.dm
@@ -8,72 +8,70 @@
item_state = "candle1"
w_class = WEIGHT_CLASS_TINY
light_color = LIGHT_COLOR_FIRE
+ heat = 1000
var/wax = 1000
var/lit = FALSE
var/infinite = FALSE
var/start_lit = FALSE
- heat = 1000
/obj/item/candle/Initialize()
. = ..()
if(start_lit)
- // No visible message
- light(show_message = FALSE)
+ light()
/obj/item/candle/update_icon()
- var/i
- if(wax>750)
- i = 1
- else if(wax>400)
- i = 2
- else i = 3
- icon_state = "candle[i][lit ? "_lit" : ""]"
-
+ icon_state = "candle[(wax > 400) ? ((wax > 750) ? 1 : 2) : 3][lit ? "_lit" : ""]"
/obj/item/candle/attackby(obj/item/W, mob/user, params)
- ..()
var/msg = W.ignition_effect(src, user)
if(msg)
light(msg)
+ else
+ return ..()
/obj/item/candle/fire_act(exposed_temperature, exposed_volume)
- if(!src.lit)
+ if(!lit)
light() //honk
- ..()
+ return ..()
+
+/obj/item/candle/is_hot()
+ return lit * heat
/obj/item/candle/proc/light(show_message)
- if(!src.lit)
- src.lit = TRUE
- //src.damtype = "fire"
+ if(!lit)
+ lit = TRUE
if(show_message)
usr.visible_message(show_message)
- set_light(CANDLE_LUMINOSITY, 0.8)
+ set_light(CANDLE_LUMINOSITY)
START_PROCESSING(SSobj, src)
update_icon()
+/obj/item/candle/proc/put_out_candle()
+ if(!lit)
+ return
+ lit = FALSE
+ update_icon()
+ set_light(0)
+ return TRUE
+
+/obj/item/candle/extinguish()
+ put_out_candle()
+ return ..()
/obj/item/candle/process()
if(!lit)
- return
+ return PROCESS_KILL
if(!infinite)
wax--
if(!wax)
- new/obj/item/trash/candle(src.loc)
+ new /obj/item/trash/candle(loc)
qdel(src)
update_icon()
open_flame()
/obj/item/candle/attack_self(mob/user)
- if(lit)
- user.visible_message(
- "[user] snuffs [src].")
- lit = FALSE
- update_icon()
- set_light(0)
-
-/obj/item/candle/is_hot()
- return lit * heat
-
+ if(put_out_candle())
+ user.visible_message("[user] snuffs [src].")
/obj/item/candle/infinite
infinite = TRUE