diff --git a/_maps/minigame/deathmatch/meta_brig.dmm b/_maps/minigame/deathmatch/meta_brig.dmm index ada1f617030..a17b4ded433 100644 --- a/_maps/minigame/deathmatch/meta_brig.dmm +++ b/_maps/minigame/deathmatch/meta_brig.dmm @@ -27,10 +27,6 @@ /area/space) "ao" = ( /obj/structure/rack, -/obj/machinery/camera/motion{ - c_tag = "Armory - Internal"; - dir = 4 - }, /obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/tile/blue{ dir = 8 diff --git a/code/datums/brain_damage/split_personality.dm b/code/datums/brain_damage/split_personality.dm index e56fd2e9596..7a1db758f87 100644 --- a/code/datums/brain_damage/split_personality.dm +++ b/code/datums/brain_damage/split_personality.dm @@ -16,7 +16,7 @@ /datum/brain_trauma/severe/split_personality/on_gain() var/mob/living/brain_owner = owner - if(brain_owner.stat == DEAD || !GET_CLIENT(brain_owner)) //No use assigning people to a corpse or braindead + if(brain_owner.stat == DEAD || !GET_CLIENT(brain_owner) || istype(get_area(brain_owner), /area/deathmatch)) //No use assigning people to a corpse or braindead return FALSE . = ..() make_backseats() diff --git a/code/modules/assembly/signaler.dm b/code/modules/assembly/signaler.dm index 751585d439b..2e6037ff53d 100644 --- a/code/modules/assembly/signaler.dm +++ b/code/modules/assembly/signaler.dm @@ -26,6 +26,8 @@ var/hearing_range = 1 /// String containing the last piece of logging data relating to when this signaller has received a signal. var/last_receive_signal_log + /// Signal range, see /datum/radio_frequency/proc/post_signal + var/range = 0 //Everywhere /obj/item/assembly/signaler/suicide_act(mob/living/carbon/user) user.visible_message(span_suicide("[user] eats \the [src]! If it is signaled, [user.p_they()] will die!")) @@ -153,7 +155,7 @@ add_to_signaler_investigate_log(logging_data) var/datum/signal/signal = new(list("code" = code), logging_data = logging_data) - radio_connection.post_signal(src, signal) + radio_connection.post_signal(src, signal, range = range) /obj/item/assembly/signaler/receive_signal(datum/signal/signal) . = FALSE @@ -203,3 +205,8 @@ if(ispAI(user)) return TRUE . = ..() + +/obj/item/assembly/signaler/low_range + name = "low-power remote signaling device" + desc = "Used to remotely activate devices, within a small range of 9 tiles. Allows for syncing when using a secure signaler on another." + range = 9 diff --git a/code/modules/deathmatch/deathmatch_loadouts.dm b/code/modules/deathmatch/deathmatch_loadouts.dm index e8ef8afa355..be968073d1b 100644 --- a/code/modules/deathmatch/deathmatch_loadouts.dm +++ b/code/modules/deathmatch/deathmatch_loadouts.dm @@ -645,7 +645,7 @@ r_pocket = /obj/item/grenade/syndieminibomb implants = list(/obj/item/implant/explosive/macro) backpack_contents = list( - /obj/item/assembly/signaler = 10, + /obj/item/assembly/signaler/low_range = 10, ) /datum/outfit/deathmatch_loadout/tider diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm index a71e72e2938..503fe9d8d13 100644 --- a/code/modules/projectiles/projectile/magic.dm +++ b/code/modules/projectiles/projectile/magic.dm @@ -353,6 +353,10 @@ /obj/projectile/magic/wipe/on_hit(mob/living/carbon/target, blocked = 0, pierce_hit) . = ..() if(iscarbon(target)) + if(istype(get_area(target), /area/deathmatch)) + target.adjustOrganLoss(ORGAN_SLOT_BRAIN, 25) // Roughly 8 hits to kill + target.visible_message(span_warning("[target] grips their head in pain!")) + return BULLET_ACT_HIT for(var/x in target.get_traumas())//checks to see if the victim is already going through possession if(istype(x, /datum/brain_trauma/special/imaginary_friend/trapped_owner)) target.visible_message(span_warning("[src] vanishes on contact with [target]!"))