From 70bc97eef08127f276f59b2fdb213a1a6d3b32ad Mon Sep 17 00:00:00 2001 From: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> Date: Thu, 31 Aug 2023 00:36:27 +0200 Subject: [PATCH] Prevents motion alarms from picking up QDELING mobs, and tries to make them drop those already picked up. (#17178) * Atomization * sdf --------- Co-authored-by: FluffyGhost --- code/game/machinery/camera/motion.dm | 6 +-- ...yGhost-prevent_motion_ref_qdeling_mobs.yml | 41 +++++++++++++++++++ 2 files changed, 44 insertions(+), 3 deletions(-) create mode 100644 html/changelogs/FluffyGhost-prevent_motion_ref_qdeling_mobs.yml diff --git a/code/game/machinery/camera/motion.dm b/code/game/machinery/camera/motion.dm index 8fabc8d0dab..4b5aefcaeed 100644 --- a/code/game/machinery/camera/motion.dm +++ b/code/game/machinery/camera/motion.dm @@ -18,7 +18,7 @@ triggerAlarm() else if (detectTime == -1) for (var/mob/target in motionTargets) - if (target.stat == 2) lostTarget(target) + if (target.stat == 2 || QDELING(target)) lostTarget(target) // If not detecting with motion camera... if (!area_motion) // See if the camera is still in range @@ -30,7 +30,7 @@ if (istype(target, /mob/living/silicon/ai)) return 0 if (detectTime == 0) detectTime = world.time // start the clock - if (!(target in motionTargets)) + if (!(target in motionTargets) && !QDELING(target)) motionTargets += target return 1 @@ -59,6 +59,6 @@ /obj/machinery/camera/HasProximity(atom/movable/AM as mob|obj) // Motion cameras outside of an "ai monitored" area will use this to detect stuff. if (!area_motion) - if(isliving(AM)) + if(isliving(AM) && !QDELING(AM)) newTarget(AM) diff --git a/html/changelogs/FluffyGhost-prevent_motion_ref_qdeling_mobs.yml b/html/changelogs/FluffyGhost-prevent_motion_ref_qdeling_mobs.yml new file mode 100644 index 00000000000..574eaf26348 --- /dev/null +++ b/html/changelogs/FluffyGhost-prevent_motion_ref_qdeling_mobs.yml @@ -0,0 +1,41 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +# balance +# admin +# backend +# security +# refactor +################################# + +# Your name. +author: FluffyGhost + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - bugfix: "Prevents motion alarms from picking up QDELING mobs, and tries to make them drop those already picked up."