diff --git a/code/modules/mob/living/simple_animal/friendly/mouse.dm b/code/modules/mob/living/simple_animal/friendly/mouse.dm
index c0b3e188..5288f5e9 100644
--- a/code/modules/mob/living/simple_animal/friendly/mouse.dm
+++ b/code/modules/mob/living/simple_animal/friendly/mouse.dm
@@ -189,7 +189,25 @@
icon_dead = "mouse_plasma" //No need for a dead sprite since it qdels itself on death
/mob/living/simple_animal/mouse/boommouse/death(gibbed, toast)
+ var/turf/T = get_turf(src)
+ message_admins("A boommouse explosion was triggered at [ADMIN_VERBOSEJMP(T)].")
visible_message("The boommouse violently explodes!")
atmos_spawn_air("plasma=15;TEMP=750")
explosion(src.loc, 0, 0, 2, 0, 1, 0, 2, 0, 0)
qdel(src)
+
+/mob/living/simple_animal/mouse/boommouse/attackby(obj/item/I, mob/living/user, params)
+ var/turf/T = get_turf(src)
+ message_admins("[ADMIN_LOOKUPFLW(user)] is attacking a boommouse at [ADMIN_VERBOSEJMP(T)].")
+ if(istype(I, /obj/item/weldingtool))
+ var/obj/item/weldingtool/W = I
+ if(W.welding)
+ user.visible_message("[user] burns the boommouse with [user.p_their()] [W.name]!", "That was stupid of you.")
+ var/message_admins = "[ADMIN_LOOKUPFLW(user)] triggered a boommouse explosion at [ADMIN_VERBOSEJMP(T)]."
+ GLOB.bombers += message_admins
+ message_admins(message_admins)
+ user.log_message("triggered a boommouse explosion.", LOG_ATTACK)
+ death()
+ return ..()
+
+ //TODO - look into attacked_by to make this better and less shitcode