From ce471f015ce4fc630ecd41145f1253fb3039f69a Mon Sep 17 00:00:00 2001 From: AnturK Date: Mon, 27 Mar 2017 20:42:59 +0200 Subject: [PATCH] Stops monkey hordes from spamming chat log to some extent (#25517) --- code/modules/mob/living/carbon/monkey/combat.dm | 14 +++++++++++--- code/modules/mob/living/living.dm | 15 ++++++++------- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/code/modules/mob/living/carbon/monkey/combat.dm b/code/modules/mob/living/carbon/monkey/combat.dm index a58eabd44d7..7eed766eaab 100644 --- a/code/modules/mob/living/carbon/monkey/combat.dm +++ b/code/modules/mob/living/carbon/monkey/combat.dm @@ -16,6 +16,8 @@ var/pickpocketing = FALSE var/disposing_body = FALSE var/obj/machinery/disposal/bodyDisposal = null + var/next_battle_screech = 0 + var/battle_screech_cooldown = 50 /mob/living/carbon/monkey/proc/IsStandingStill() return resisting || pickpocketing || disposing_body @@ -59,6 +61,12 @@ return 1 return 0 +/mob/living/carbon/monkey/proc/battle_screech() + if(next_battle_screech < world.time) + emote(pick("roar","screech")) + for(var/mob/living/carbon/monkey/M in view(7,src)) + M.next_battle_screech = world.time + battle_screech_cooldown + /mob/living/carbon/monkey/proc/equip_item(var/obj/item/I) if(I.loc == src) @@ -197,7 +205,7 @@ for(var/mob/living/L in around) if( should_target(L) ) if(L.stat == CONSCIOUS) - emote(pick("roar","screech")) + battle_screech() retaliate(L) return TRUE else if(bodyDisposal) @@ -241,7 +249,7 @@ var/list/around = view(src, MONKEY_ENEMY_VISION) for(var/mob/living/carbon/monkey/M in around) if(M.mode == MONKEY_IDLE && prob(MONKEY_RECRUIT_PROB)) - M.emote(pick("roar","screech")) + M.battle_screech() M.target = target M.mode = MONKEY_HUNT @@ -406,7 +414,7 @@ enemies[L] += MONKEY_HATRED_AMOUNT if(a_intent != INTENT_HARM) - emote(pick("roar","screech")) + battle_screech() a_intent = INTENT_HARM /mob/living/carbon/monkey/attack_hand(mob/living/L) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 59640dc8451..abad6b4084e 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -907,13 +907,14 @@ // used by secbot and monkeys Crossed /mob/living/proc/knockOver(var/mob/living/carbon/C) - C.visible_message("[pick( \ - "[C] dives out of [src]'s way!", \ - "[C] stumbles over [src]!", \ - "[C] jumps out of [src]'s path!", \ - "[C] trips over [src] and falls!", \ - "[C] topples over [src]!", \ - "[C] leaps out of [src]'s way!")]") + if(C.key) //save us from monkey hordes + C.visible_message("[pick( \ + "[C] dives out of [src]'s way!", \ + "[C] stumbles over [src]!", \ + "[C] jumps out of [src]'s path!", \ + "[C] trips over [src] and falls!", \ + "[C] topples over [src]!", \ + "[C] leaps out of [src]'s way!")]") C.Weaken(2) /mob/living/post_buckle_mob(mob/living/M)