Port /datum/status_effect and convert wetness and fire stacks to it (#18180)

* Port /datum/status_effect system

* Port fire stacks to status_effects

* Fixes and adjustments to wetness

* One last little thing

* Fixes these compile errors

A few things on the backend got updated...Adjusts them here.

---------

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
Co-authored-by: Cameron Lennox <killer65311@gmail.com>
This commit is contained in:
ShadowLarkens
2025-09-17 01:50:37 -04:00
committed by GitHub
co-authored by Kashargul Cameron Lennox
parent bd8893cbdb
commit a1322afa05
80 changed files with 1748 additions and 237 deletions
@@ -38,7 +38,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
/obj/item/flame/match/process()
if(isliving(loc))
var/mob/living/M = loc
M.IgniteMob()
M.ignite_mob()
var/turf/location = get_turf(src)
smoketime--
if(smoketime < 1)
@@ -644,7 +644,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
return
if(lit == 1)
M.IgniteMob()
M.ignite_mob()
add_attack_logs(user,M,"Lit on fire with [src]")
if(istype(M.wear_mask, /obj/item/clothing/mask/smokable/cigarette) && user.zone_sel.selecting == O_MOUTH && lit)
@@ -844,7 +844,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
return
if(lit == 1)
M.IgniteMob()
M.ignite_mob()
add_attack_logs(user,M,"Lit on fire with [src]")
if(istype(M.wear_mask, /obj/item/clothing/mask/smokable/cigarette) && user.zone_sel.selecting == O_MOUTH && lit)
@@ -915,7 +915,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
return
if(lit == 1)
M.IgniteMob()
M.ignite_mob()
add_attack_logs(user,M,"Lit on fire with [src]")
if(istype(M.wear_mask, /obj/item/clothing/mask/smokable/cigarette) && user.zone_sel.selecting == O_MOUTH && lit)
@@ -1081,7 +1081,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
return
if (lit == 1)
M.IgniteMob()
M.ignite_mob()
add_attack_logs(user, M, "Lit on fire with [src]")
if (istype(M.wear_mask, /obj/item/clothing/mask/smokable/cigarette) && user.zone_sel.selecting == O_MOUTH && lit)
@@ -166,7 +166,7 @@
var/turf/location = get_turf(user)
if(isliving(O))
var/mob/living/L = O
L.IgniteMob()
L.ignite_mob()
if (istype(location, /turf))
location.hotspot_expose(700, 50, 1)
/obj/item/weldingtool/attack_self(mob/user)
+1 -3
View File
@@ -25,9 +25,7 @@
user.visible_message(span_notice("[user] uses [src] to towel themselves off."))
playsound(src, 'sound/weapons/towelwipe.ogg', 25, 1)
if(user.fire_stacks > 0)
user.fire_stacks = (max(0, user.fire_stacks - 1.5))
else if(user.fire_stacks < 0)
user.fire_stacks = (min(0, user.fire_stacks + 1.5))
user.adjust_fire_stacks(-1.5)
/obj/item/towel/random/Initialize(mapload)
. = ..()