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 <killer65311@gmail.com>
This commit is contained in:
NickBelmont
2025-12-18 20:43:52 -06:00
committed by GitHub
parent 85ec01dc8f
commit ccf89fe68a
+16 -2
View File
@@ -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