diff --git a/code/game/objects/items/weapons/lighters.dm b/code/game/objects/items/weapons/lighters.dm
index cca83a3917b..ac8c7d04a95 100644
--- a/code/game/objects/items/weapons/lighters.dm
+++ b/code/game/objects/items/weapons/lighters.dm
@@ -183,6 +183,7 @@
attack_verb = list("burnt","singed")
processing_objects.Add(src)
update_icon()
+ return TRUE
/obj/item/match/proc/matchburnout()
if(lit)
@@ -196,6 +197,7 @@
desc = "A match. This one has seen better days."
attack_verb = list("flicked")
processing_objects.Remove(src)
+ return TRUE
/obj/item/match/dropped(mob/user)
matchburnout()
diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm
index 50872791f59..bc6f7259ebc 100644
--- a/code/modules/clothing/clothing.dm
+++ b/code/modules/clothing/clothing.dm
@@ -385,18 +385,12 @@ BLIND // can't see anything
/obj/item/clothing/shoes/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/match) && src.loc == user)
var/obj/item/match/M = I
- if(!M.lit) // Match isn't lit, but isn't burnt.
- M.lit = 1
- M.icon_state = "match_lit"
- processing_objects.Add(M)
- M.update_icon()
+ if(M.matchignite()) // Match isn't lit, but isn't burnt.
user.visible_message("[user] strikes a [M] on the bottom of [src], lighting it.","You strike the [M] on the bottom of [src] to light it.")
playsound(user.loc, 'sound/goonstation/misc/matchstick_light.ogg', 50, 1)
- else if(M.lit == 1) // Match is lit, not extinguished.
- M.dropped()
+ else
user.visible_message("[user] crushes the [M] into the bottom of [src], extinguishing it.","You crush the [M] into the bottom of [src], extinguishing it.")
- else // Match has been previously lit and extinguished.
- to_chat(user, "The [M] has already been extinguished.")
+ M.dropped()
return
if(istype(I, /obj/item/wirecutters))