From ccf89fe68a19fe45c899f1c141a2eb1f46df15b0 Mon Sep 17 00:00:00 2001 From: NickBelmont <89628295+NickBelmont@users.noreply.github.com> Date: Thu, 18 Dec 2025 20:43:52 -0600 Subject: [PATCH] Unstable metamorph ray can be fixed with multitool (#18830) * Unstable metamorph ray can be fixed with multitool * Make sure the ray doesn't re-randomize on firing * Actually make the method for the right subtype b/c I'm dumb. --------- Co-authored-by: Cameron Lennox --- code/modules/vore/mouseray.dm | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/code/modules/vore/mouseray.dm b/code/modules/vore/mouseray.dm index 3ab94b088c..882fb22d60 100644 --- a/code/modules/vore/mouseray.dm +++ b/code/modules/vore/mouseray.dm @@ -321,16 +321,30 @@ "leopardmander" = /mob/living/simple_mob/vore/leopardmander ) + /obj/item/gun/energy/mouseray/metamorphosis/advanced/random name = "unstable metamorphosis ray" tf_allow_select = FALSE +/obj/item/gun/energy/mouseray/metamorphosis/advanced/random/attackby(var/obj/item/A as obj, mob/user as mob) + if(A.has_tool_quality(TOOL_MULTITOOL)) + if(tf_allow_select) + to_chat(user, span_warning("You scramble the stored data on \the [src], making it less reliable.")) + tf_allow_select = FALSE + name = "unstable metamorphosis ray" + else + to_chat(user, span_warning("You repair the damage to the \the [src].")) + tf_allow_select = TRUE + name = "stable metamorphosis ray" + ..() + /obj/item/gun/energy/mouseray/metamorphosis/advanced/random/Fire(atom/target, mob/living/user, clickparams, pointblank, reflex) if(world.time < cooldown) to_chat(user, span_warning("\The [src] isn't ready yet.")) return - var/choice = pick(tf_possible_types) - tf_type = tf_possible_types[choice] + if(!tf_allow_select) //Keep a repaired gun from re-randomizing + var/choice = pick(tf_possible_types) + tf_type = tf_possible_types[choice] . = ..() /obj/item/gun/energy/mouseray/woof