From 0369dd0918e2314e599cc035fbe80ce64cba6dc0 Mon Sep 17 00:00:00 2001 From: Moose1002 <33578674+Moose1002@users.noreply.github.com> Date: Sat, 24 Apr 2021 17:07:34 -0400 Subject: [PATCH] Fixed an issue where dogs would respond to commands if dead (#58629) --- code/datums/ai/dog/dog_controller.dm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/code/datums/ai/dog/dog_controller.dm b/code/datums/ai/dog/dog_controller.dm index f60cf980000..8e3a81dae7f 100644 --- a/code/datums/ai/dog/dog_controller.dm +++ b/code/datums/ai/dog/dog_controller.dm @@ -192,7 +192,9 @@ if(carried_item) examine_text += "[pawn.p_they(TRUE)] [pawn.p_are()] carrying [carried_item.get_examine_string(user)] in [pawn.p_their()] mouth." if(blackboard[BB_DOG_FRIENDS][user]) - examine_text += "[pawn.p_they(TRUE)] seem[pawn.p_s()] happy to see you!" + var/mob/living/living_pawn = pawn + if(!IS_DEAD_OR_INCAP(living_pawn)) + examine_text += "[pawn.p_they(TRUE)] seem[pawn.p_s()] happy to see you!" /// If we died, drop anything we were carrying /datum/ai_controller/dog/proc/on_death(mob/living/ol_yeller) @@ -250,6 +252,10 @@ if(!COOLDOWN_FINISHED(src, command_cooldown)) return + var/mob/living/living_pawn = pawn + if(IS_DEAD_OR_INCAP(living_pawn)) + return + var/spoken_text = speech_args[SPEECH_MESSAGE] // probably should check for full words var/command if(findtext(spoken_text, "heel") || findtext(spoken_text, "sit") || findtext(spoken_text, "stay")) @@ -301,6 +307,9 @@ return if(!can_see(pawn, pointing_friend, length=AI_DOG_VISION_RANGE) || !can_see(pawn, pointed_movable, length=AI_DOG_VISION_RANGE)) return + var/mob/living/living_pawn = pawn + if(IS_DEAD_OR_INCAP(living_pawn)) + return COOLDOWN_START(src, command_cooldown, AI_DOG_COMMAND_COOLDOWN)