diff --git a/code/game/objects/items/weapons/cigs_lighters.dm b/code/game/objects/items/weapons/cigs_lighters.dm index 3f834519516..6d041847857 100644 --- a/code/game/objects/items/weapons/cigs_lighters.dm +++ b/code/game/objects/items/weapons/cigs_lighters.dm @@ -101,17 +101,8 @@ CIGARETTE PACKETS ARE IN FANCY.DM flags |= NOREACT // so it doesn't react until you light it create_reagents(chem_volume) // making the cigarrete a chemical holder with a maximum volume of 15 -/obj/item/clothing/mask/smokable/process() - var/turf/location = get_turf(src) - smoketime-- - if(smoketime < 1) - die() - if(ishuman(loc)) - var/mob/living/carbon/human/C = loc - to_chat(C, "Your [name] goes out.") - return - if(location) - location.hotspot_expose(700, 5) +/obj/item/clothing/mask/smokable/proc/smoke(amount) + smoketime -= amount if(reagents && reagents.total_volume) // check if it has any reagents at all if(ishuman(loc)) var/mob/living/carbon/human/C = loc @@ -120,6 +111,15 @@ CIGARETTE PACKETS ARE IN FANCY.DM else // else just remove some of the reagents reagents.remove_any(REM) +/obj/item/clothing/mask/smokable/process() + var/turf/location = get_turf(src) + smoke(1) + if(smoketime < 1) + die() + return + if(location) + location.hotspot_expose(700, 5) + /obj/item/clothing/mask/smokable/examine(mob/user) ..() if(is_pipe) @@ -214,6 +214,17 @@ CIGARETTE PACKETS ARE IN FANCY.DM M.update_inv_l_hand(0) M.update_inv_r_hand(1) +/obj/item/clothing/mask/smokable/attack(mob/living/carbon/human/H, mob/user, def_zone) + if(lit && H == user && istype(H)) + var/obj/item/blocked = H.check_mouth_coverage() + if(blocked) + to_chat(H, "\The [blocked] is in the way!") + return 1 + to_chat(H, "You take a drag on your [name].") + smoke(5) + return 1 + return ..() + /obj/item/clothing/mask/smokable/attackby(obj/item/weapon/W as obj, mob/user as mob) ..() if(isflamesource(W))