Stuff burns for longer (#19761)

This makes candles, matches, and cigarettes burn for longer than they
currently do. Matches burn for twice as long, candles for about +1/3 as
long, and cigarettes around twice as long.

Code note: I don't see any problems with this for matches and candles,
but there's a comment in the current code warning strictly not to lower
the smokable burn_rate below 0.01, see the changes. I haven't been able
to hunt down exactly why this is, and it seems like the burn_rate for
the parent type was already lowered down to 0.006 a few years ago by a
previous PR intended to extend cigarette burn times. From what I can
tell reagents are still being absorbed below 0.01 by having the
cigarette on your mask slot, so if there is a serious issue with this it
can be removed under review, but I'm not certain what it would be. I've
removed every subtype modification to burn_rate, which seems to have
been left a setting substantially higher than the parent, causing pipes
and cigars in live to seem to burn out very quickly - like in a little
over a minute.
This commit is contained in:
hazelrat
2024-08-13 21:47:40 +00:00
committed by GitHub
parent 5a69a1b28e
commit ef006612dd
3 changed files with 66 additions and 13 deletions
+5 -5
View File
@@ -1,6 +1,6 @@
/obj/item/flame/candle
name = "red candle"
desc = "a small pillar candle. Its specially-formulated fuel-oxidizer wax mixture allows continued combustion in airless environments."
desc = "A small pillar candle. Its specially-formulated fuel-oxidizer wax mixture allows continued combustion in airless environments."
icon = 'icons/obj/storage/fancy/candle.dmi'
icon_state = "candle1"
item_state = "candle1"
@@ -8,20 +8,20 @@
pickup_sound = 'sound/items/pickup/gloves.ogg'
w_class = WEIGHT_CLASS_TINY
light_color = "#E09D37"
var/wax = 2000
var/wax = 3200
var/start_lit = FALSE
/obj/item/flame/candle/Initialize()
. = ..()
wax = rand(1600, 2000)
wax = rand(2800, 3400)
if(start_lit)
light()
/obj/item/flame/candle/update_icon()
var/i
if(wax > 1500)
if(wax > 2000)
i = 1
else if(wax > 800)
else if(wax > 1200)
i = 2
else i = 3
icon_state = "candle[i][lit ? "_lit" : ""]"
@@ -32,7 +32,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
slot_l_hand_str = 'icons/mob/items/lefthand_cigs_lighters.dmi',
slot_r_hand_str = 'icons/mob/items/righthand_cigs_lighters.dmi',
)
var/smoketime = 5
var/smoketime = 10
var/type_burnt = /obj/item/trash/match
w_class = WEIGHT_CLASS_TINY
origin_tech = list(TECH_MATERIAL = 1)
@@ -165,7 +165,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
var/weldermes = "USER lights NAME with FLAME"
var/ignitermes = "USER lights NAME with FLAME"
var/initial_volume = 0
var/burn_rate = 0 // Do not make lower than MINIMUM_CHEMICAL_VOLUME 0.01
var/burn_rate = 0
var/last_drag = 0 //Spam limiter for audio/message when taking a drag of cigarette.
drop_sound = 'sound/items/drop/food.ogg'
pickup_sound = 'sound/items/pickup/food.ogg'
@@ -306,7 +306,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
has_blood_overlay = FALSE
type_butt = /obj/item/trash/cigbutt
chem_volume = 30
burn_rate = 0.006 //Lasts ~166 seconds)
burn_rate = 0.003 //Lasts ~353 seconds)
surgerysound = 'sound/items/surgery/cautery.ogg'
matchmes = SPAN_NOTICE("USER lights their NAME with their FLAME.")
lightermes = SPAN_NOTICE("USER manages to light their NAME with FLAME.")
@@ -374,11 +374,9 @@ CIGARETTE PACKETS ARE IN FANCY.DM
/obj/item/clothing/mask/smokable/cigarette/vanilla
burn_rate = 0.015
reagents_to_add = list(/singleton/reagent/toxin/tobacco = 15)
/obj/item/clothing/mask/smokable/cigarette/acmeco
burn_rate = 0.015
reagents_to_add = list(
/singleton/reagent/toxin/tobacco = 5,
/singleton/reagent/mental/nicotine = 5,
@@ -387,7 +385,6 @@ CIGARETTE PACKETS ARE IN FANCY.DM
)
/obj/item/clothing/mask/smokable/cigarette/blank
burn_rate = 0.015
chem_volume = 15
reagents_to_add = null
@@ -466,7 +463,6 @@ CIGARETTE PACKETS ARE IN FANCY.DM
item_state = "cigaroff"
type_butt = /obj/item/trash/cigbutt/cigarbutt
throw_speed = 0.5
burn_rate = 0.015
chem_volume = 60
matchmes = SPAN_NOTICE("USER lights their NAME with their FLAME.")
lightermes = SPAN_NOTICE("USER manages to offend their NAME by lighting it with FLAME.")
@@ -586,7 +582,6 @@ CIGARETTE PACKETS ARE IN FANCY.DM
item_state = "pipeoff"
icon_on = "pipeon"
icon_off = "pipeoff"
burn_rate = 0.015
w_class = WEIGHT_CLASS_TINY
chem_volume = 30
matchmes = SPAN_NOTICE("USER lights their NAME with their FLAME.")