diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index 84f32308964cb..ecbe98f9381d9 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -34,7 +34,7 @@ icon = 'icons/obj/supermatter.dmi' icon_state = "darkmatter_shard" density = 1 - anchored = 0 + anchored = FALSE light_range = 4 resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF | FREEZE_PROOF @@ -335,9 +335,22 @@ return /obj/machinery/power/supermatter_shard/attackby(obj/item/W as obj, mob/living/user as mob, params) - if(!istype(W) || (W.flags & ABSTRACT) || !istype(user)) + if(istype(W,/obj/item/wrench)) //allows wrench/unwrench shards + if(!anchored) + anchored = !anchored + WRENCH_ANCHOR_MESSAGE + playsound(src.loc,W.usesound, 75, 1) + consume_wrench(W) + user.visible_message("As [user] tighten bolts of \the [src] with \a [W] the tool disappears") + else if (anchored) + anchored = !anchored + WRENCH_UNANCHOR_MESSAGE + playsound(src.loc,W.usesound, 75, 1) + consume_wrench(W) + user.visible_message("As [user] loosen bolts of \the [src] with \a [W] the tool disappears") + else if(!istype(W) || (W.flags & ABSTRACT) || !istype(user)) return - if(user.drop_item(W)) + else if(user.drop_item(W)) Consume(W) user.visible_message("As [user] touches \the [src] with \a [W], silence fills the room...",\ "You touch \the [src] with \the [W], and everything suddenly goes silent.\"\n\The [W] flashes into dust as you flinch away from \the [src].",\ @@ -377,6 +390,8 @@ power += 200 supermatter_zap() +/obj/machinery/power/supermatter_shard/proc/consume_wrench(atom/movable/AM) + qdel(AM) //destroys wrench when anchored\unanchored supermatter //Some poor sod got eaten, go ahead and irradiate people nearby. for(var/mob/living/L in range(10))