From d9186a0c7bfbf96c689541f6601ae44695d79977 Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Sun, 15 Sep 2019 11:11:07 -0400 Subject: [PATCH] Fixes Double-Bonking Light Replacer --- code/game/objects/items/devices/lightreplacer.dm | 1 + code/modules/power/lighting.dm | 15 +++++++-------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/code/game/objects/items/devices/lightreplacer.dm b/code/game/objects/items/devices/lightreplacer.dm index 94731757895..f331ff72f94 100644 --- a/code/game/objects/items/devices/lightreplacer.dm +++ b/code/game/objects/items/devices/lightreplacer.dm @@ -238,6 +238,7 @@ return 0 /obj/item/lightreplacer/afterattack(atom/T, mob/U, proximity) + . = ..() if(!proximity) return if(!isturf(T)) diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index 6b4b5f05e82..2c3704c2551 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -110,7 +110,8 @@ src.transfer_fingerprints_to(newlight) qdel(src) return - ..() + else + return ..() /obj/machinery/light_construct/small name = "small light fixture frame" @@ -299,17 +300,15 @@ // attack with item - insert light (if right type), otherwise try to break the light /obj/machinery/light/attackby(obj/item/W, mob/living/user, params) - user.changeNext_move(CLICK_CD_MELEE) //does not call parent requires manual definition //Light replacer code if(istype(W, /obj/item/lightreplacer)) var/obj/item/lightreplacer/LR = W LR.ReplaceLight(src, user) // attempt to insert light - if(istype(W, /obj/item/light)) + else if(istype(W, /obj/item/light)) if(status != LIGHT_EMPTY) to_chat(user, "There is a [fitting] already inserted.") - return else src.add_fingerprint(user) var/obj/item/light/L = W @@ -388,6 +387,8 @@ do_sparks(3, 1, src) if(prob(75)) electrocute_mob(user, get_area(src), src, rand(0.7, 1), TRUE) + else + return ..() // returns whether this light has power @@ -681,8 +682,7 @@ // attack bulb/tube with object // if a syringe, can inject plasma to make it explode -/obj/item/light/attackby(var/obj/item/I, var/mob/user, params) - ..() +/obj/item/light/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/reagent_containers/syringe)) var/obj/item/reagent_containers/syringe/S = I @@ -697,8 +697,7 @@ S.reagents.clear_reagents() else - ..() - return + return ..() // called after an attack with a light item // shatter light, unless it was an attempt to put it in a light socket