[MIRROR] Multi Bugfix (#12824)

Co-authored-by: Cameron Lennox <killer65311@gmail.com>
This commit is contained in:
CHOMPStation2StaffMirrorBot
2026-06-19 09:02:42 -07:00
committed by GitHub
parent 0bfbc28d10
commit 3eabaa37be
22 changed files with 109 additions and 154 deletions
@@ -21,10 +21,8 @@
//Be absorbed by any other liquid fuel in the tile.
for(var/obj/effect/decal/cleanable/liquid_fuel/other in loc)
if(other != src)
other.amount += src.amount
other.Spread()
has_spread = 1
break
amount += other.amount
qdel(other)
. = ..()
if(!has_spread)
@@ -126,6 +126,9 @@
s.set_up(5, 1, src)
s.start()
shield_active = 0
if(isliving(loc))
var/mob/living/our_user = loc
our_user.remove_modifiers_of_type(/datum/modifier/shield_projection)
if(bcell.charge_delay) //It WILL blow up soon. Downside of self-charging cells.
to_chat(src.loc, span_critical("Your shield generator sparks and suddenly goes down! A warning message pops up on screen: \
'WARNING, INTERNAL CELL MELTDOWN IMMINENT. TIME TILL EXPLOSION: [bcell.charge_delay/10] SECONDS. DISCARD UNIT IMMEDIATELY!'"))
@@ -72,6 +72,10 @@ GLOBAL_DATUM(sleevemate_mob, /mob/living/carbon/human/dummy/mannequin)
M.ooc_notes_maybes = ooc_notes_maybes
M.ooc_notes_style = ooc_notes_style
M.soulcatcher_pref_flags = soulcatcher_pref_flags
if(ishuman(M)) //Has to be done here since making someone a changeling requires an active mind.
var/mob/living/carbon/human/ling_test = M
if(ling_test.changeling_locked)
M.make_changeling()
SEND_GLOBAL_SIGNAL(COMSIG_GLOB_RESLEEVED_MIND, M, stored_mind)
clear_mind()
@@ -166,8 +166,8 @@ CIGARETTE PACKETS ARE IN FANCY.DM
. += "[src] is nearly burnt out!"
/obj/item/clothing/mask/smokable/proc/light(flavor_text = "[usr] lights the [name].")
if(!src.lit)
src.lit = 1
if(!lit)
lit = TRUE
playsound(src, 'sound/items/cigs_lighters/cig_light.ogg', 75, 1, -1)
damtype = BURN
if(reagents.get_reagent_amount(REAGENT_ID_PHORON)) // the phoron explodes when exposed to fire
@@ -189,6 +189,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
update_icon()
set_light(2, 0.25, "#E38F46")
START_PROCESSING(SSobj, src)
return ITEM_INTERACT_SUCCESS
/obj/item/clothing/mask/smokable/proc/die(nomessage = 0)
var/turf/T = get_turf(src)
@@ -302,14 +303,13 @@ CIGARETTE PACKETS ARE IN FANCY.DM
if(nicotine_amt)
reagents.add_reagent(REAGENT_ID_NICOTINE, nicotine_amt)
/obj/item/clothing/mask/smokable/cigarette/attackby(obj/item/W as obj, mob/user as mob)
/obj/item/clothing/mask/smokable/cigarette/attackby(obj/item/W, mob/user)
..()
if(istype(W, /obj/item/melee/energy/sword))
var/obj/item/melee/energy/sword/S = W
if(S.active)
light(span_warning("[user] swings their [W], barely missing their nose. They light their [name] in the process."))
return light(span_warning("[user] swings their [W], barely missing their nose. They light their [name] in the process."))
return
/obj/item/clothing/mask/smokable/cigarette/afterattack(obj/item/reagent_containers/glass/glass, mob/user as mob, proximity)
@@ -668,22 +668,17 @@ CIGARETTE PACKETS ARE IN FANCY.DM
/obj/item/flame/lighter/attack(mob/living/M, mob/living/user, target_zone, attack_modifier)
if(lit == 1)
M.ignite_mob()
add_attack_logs(user,M,"Lit on fire with [src]")
return ITEM_INTERACT_SUCCESS
if((user.a_intent == I_HURT || user.a_intent == I_HELP && prob(25)) && M.ignite_mob())
add_attack_logs(user,M,"Lit on fire with [src]")
return ITEM_INTERACT_SUCCESS
if(istype(M.wear_mask, /obj/item/clothing/mask/smokable/cigarette) && user.zone_sel.selecting == O_MOUTH && lit)
var/obj/item/clothing/mask/smokable/cigarette/cig = M.wear_mask
if(M == user)
cig.attackby(src, user)
return ITEM_INTERACT_SUCCESS
return cig.attackby(src, user)
else
if(istype(src, /obj/item/flame/lighter/zippo))
cig.light(span_notice(span_rose("[user] whips the [name] out and holds it for [M].")))
else
cig.light(span_notice("[user] holds the [name] out for [M], and lights the [cig.name]."))
return ITEM_INTERACT_SUCCESS
return cig.light(display_offer_text(M, user, cig.name))
else
..()
@@ -693,6 +688,9 @@ CIGARETTE PACKETS ARE IN FANCY.DM
location.hotspot_expose(700, 5)
return
/obj/item/flame/lighter/proc/display_offer_text(mob/living/target, mob/living/user, cig_name)
return (span_notice("[user] holds the [name] out for [target], and lights the [cig_name]."))
/////////
//ZIPPO//
/////////
@@ -738,6 +736,9 @@ CIGARETTE PACKETS ARE IN FANCY.DM
STOP_PROCESSING(SSobj, src)
return
/obj/item/flame/lighter/zippo/display_offer_text(mob/living/target, mob/living/user, cig_name)
return (span_notice(span_rose("[user] whips the [name] out and holds it for [target], igniting the [cig_name].")))
//Here we add Zippo skins.
/obj/item/flame/lighter/zippo/black
@@ -813,6 +814,9 @@ CIGARETTE PACKETS ARE IN FANCY.DM
///Special supermatter var used for attack_self chain logic.
var/special_supermatter = FALSE
/obj/item/flame/lighter/supermatter/display_offer_text(mob/living/target, mob/living/user, cig_name)
return (span_notice(span_crimson("[user] whips the [name] out and holds it for [target], turning the tip of the [cig_name] to ash and lighting it!")))
/obj/item/flame/lighter/supermatter/syndismzippo
name = "Phoron Supermatter Zippo" // Syndicate SM Lighter
desc = "State of the Art Supermatter Lighter."
@@ -882,26 +886,6 @@ CIGARETTE PACKETS ARE IN FANCY.DM
STOP_PROCESSING(SSobj, src)
return ITEM_INTERACT_SUCCESS
/obj/item/flame/lighter/supermatter/attack(mob/living/M, mob/living/user, target_zone, attack_modifier)
if(lit == 1)
M.ignite_mob()
add_attack_logs(user,M,"Lit on fire with [src]")
return ITEM_INTERACT_SUCCESS
if(istype(M.wear_mask, /obj/item/clothing/mask/smokable/cigarette) && user.zone_sel.selecting == O_MOUTH && lit)
var/obj/item/clothing/mask/smokable/cigarette/cig = M.wear_mask
if(M == user)
cig.attackby(src, user)
else
if(istype(src, /obj/item/flame/lighter/supermatter))
cig.light(span_notice(span_rose("[user] whips the [name] out and holds it for [M].")))
else
cig.light(span_notice("[user] holds the [name] out for [M], and lights the [cig.name]."))
return ITEM_INTERACT_SUCCESS
else
..()
/obj/item/flame/lighter/supermatter/process()
var/turf/location = get_turf(src)
if(location)
@@ -955,27 +939,6 @@ CIGARETTE PACKETS ARE IN FANCY.DM
STOP_PROCESSING(SSobj, src)
return ITEM_INTERACT_SUCCESS
/obj/item/flame/lighter/supermatter/syndismzippo/attack(mob/living/M, mob/living/user, target_zone, attack_modifier)
if(lit == 1)
M.ignite_mob()
add_attack_logs(user,M,"Lit on fire with [src]")
return ITEM_INTERACT_SUCCESS
if(istype(M.wear_mask, /obj/item/clothing/mask/smokable/cigarette) && user.zone_sel.selecting == O_MOUTH && lit)
var/obj/item/clothing/mask/smokable/cigarette/cig = M.wear_mask
if(M == user)
cig.attackby(src, user)
return ITEM_INTERACT_SUCCESS
else
if(istype(src, /obj/item/flame/lighter/supermatter/syndismzippo))
cig.light(span_notice(span_rose("[user] whips the [name] out and holds it for [M].")))
else
cig.light(span_notice("[user] holds the [name] out for [M], and lights the [cig.name]."))
return ITEM_INTERACT_SUCCESS
else
..()
/obj/item/flame/lighter/process()
var/turf/location = get_turf(src)
if(location)
@@ -1130,23 +1093,6 @@ CIGARETTE PACKETS ARE IN FANCY.DM
STOP_PROCESSING(SSobj, src)
return ITEM_INTERACT_SUCCESS
/obj/item/flame/lighter/supermatter/expsmzippo/attack(mob/living/M, mob/living/user, target_zone, attack_modifier)
if (lit == 1)
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)
var/obj/item/clothing/mask/smokable/cigarette/cig = M.wear_mask
if (M == user)
cig.attackby(src, user)
else
if (istype(src, /obj/item/flame/lighter/supermatter/expsmzippo))
cig.light(span_notice(span_rose("[user] whips the [name] out and holds it for [M].")))
else
cig.light(span_notice("[user] holds the [name] out for [M], and lights the [cig.name]."))
else
..()
/obj/item/flame/lighter/supermatter/expsmzippo/process()
var/turf/location = get_turf(src)
if (location)