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