diff --git a/code/controllers/subsystem/jukeboxes.dm b/code/controllers/subsystem/jukeboxes.dm
index 2b227e9cab..3ebeaf71ea 100644
--- a/code/controllers/subsystem/jukeboxes.dm
+++ b/code/controllers/subsystem/jukeboxes.dm
@@ -103,7 +103,7 @@ SUBSYSTEM_DEF(jukeboxes)
for(var/mob/M in GLOB.player_list)
if(!M.client)
continue
- if(!(M.client.prefs.toggles & SOUND_INSTRUMENTS))
+ if(!(M.client.prefs.toggles & SOUND_INSTRUMENTS) || !M.can_hear())
M.stop_sound_channel(jukeinfo[2])
continue
diff --git a/code/game/objects/effects/spiders.dm b/code/game/objects/effects/spiders.dm
index 48fba2687d..14b3c4e73e 100644
--- a/code/game/objects/effects/spiders.dm
+++ b/code/game/objects/effects/spiders.dm
@@ -152,6 +152,16 @@
else
..()
+/obj/structure/spider/spiderling/attack_hand(mob/user)
+ . = ..()
+ if(user.a_intent != INTENT_HELP)
+ user.changeNext_move(CLICK_CD_MELEE)
+ user.do_attack_animation(src)
+ user.visible_message("[user] splats [src].", "You splat [src].", "You hear a splat...")
+ playsound(loc, 'sound/effects/snap.ogg', 25)
+ qdel(src)
+ return TRUE
+
/obj/structure/spider/spiderling/process()
if(travelling_in_vent)
if(isturf(loc))
diff --git a/code/game/objects/items/stacks/wrap.dm b/code/game/objects/items/stacks/wrap.dm
index b438c863a8..10240e902b 100644
--- a/code/game/objects/items/stacks/wrap.dm
+++ b/code/game/objects/items/stacks/wrap.dm
@@ -66,7 +66,7 @@
return
if(!istype(target))
return
- if(target.anchored)
+ if(target.anchored || (user in target))
return
if(isitem(target))
diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm
index bb0224bbfc..7be6269589 100644
--- a/code/modules/admin/admin.dm
+++ b/code/modules/admin/admin.dm
@@ -639,15 +639,13 @@
var/almcam = CONFIG_GET(flag/allow_ai_multicam)
CONFIG_SET(flag/allow_ai_multicam, !almcam)
if (almcam)
- to_chat(world, "The AI no longer has multicam.")
for(var/i in GLOB.ai_list)
var/mob/living/silicon/ai/aiPlayer = i
if(aiPlayer.multicam_on)
aiPlayer.end_multicam()
- else
- to_chat(world, "The AI now has multicam.")
log_admin("[key_name(usr)] toggled AI multicam.")
world.update_status()
+ to_chat(GLOB.ai_list | GLOB.admins, "The AI [almcam ? "no longer" : "now"] has multicam.")
SSblackbox.record_feedback("nested tally", "admin_toggle", 1, list("Toggle Multicam", "[!almcam ? "Disabled" : "Enabled"]")) //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/datum/admins/proc/toggleaban()
diff --git a/code/modules/mob/living/simple_animal/friendly/mouse.dm b/code/modules/mob/living/simple_animal/friendly/mouse.dm
index c5a4fa6e1e..1599acf82c 100644
--- a/code/modules/mob/living/simple_animal/friendly/mouse.dm
+++ b/code/modules/mob/living/simple_animal/friendly/mouse.dm
@@ -64,22 +64,21 @@
..()
/mob/living/simple_animal/mouse/handle_automated_action()
- if(isbelly(loc))
+ if(!prob(chew_probability) || !isturf(loc))
return
- if(prob(chew_probability))
- var/turf/open/floor/F = get_turf(src)
- if(istype(F) && !F.intact)
- var/obj/structure/cable/C = locate() in F
- if(C && prob(15))
- if(C.avail())
- visible_message("[src] chews through the [C]. It's toast!")
- playsound(src, 'sound/effects/sparks2.ogg', 100, 1)
- C.deconstruct()
- death(toast=1)
- else
- C.deconstruct()
- visible_message("[src] chews through the [C].")
+ var/turf/open/floor/F = get_turf(src)
+ if(istype(F) && !F.intact)
+ var/obj/structure/cable/C = locate() in F
+ if(C && prob(15))
+ if(C.avail())
+ visible_message("[src] chews through the [C]. It's toast!")
+ playsound(src, 'sound/effects/sparks2.ogg', 100, 1)
+ C.deconstruct()
+ death(toast=1)
+ else
+ C.deconstruct()
+ visible_message("[src] chews through the [C].")
/*
* Mouse types
diff --git a/code/modules/modular_computers/hardware/battery_module.dm b/code/modules/modular_computers/hardware/battery_module.dm
index c6b96e3136..55f7c19cd7 100644
--- a/code/modules/modular_computers/hardware/battery_module.dm
+++ b/code/modules/modular_computers/hardware/battery_module.dm
@@ -12,6 +12,10 @@
battery = new battery_type(src)
..()
+/obj/item/computer_hardware/battery/Destroy()
+ . = ..()
+ QDEL_NULL(battery)
+
/obj/item/computer_hardware/battery/try_insert(obj/item/I, mob/living/user = null)
if(!holder)
return FALSE