From 26f5d3d2acb6f2a54788be645f41b7e67bffa7ee Mon Sep 17 00:00:00 2001 From: Discozavisim <107996502+Discozavisim@users.noreply.github.com> Date: Thu, 6 Feb 2025 13:35:14 +0100 Subject: [PATCH] =?UTF-8?q?=D0=95=D0=91=D0=90=D0=A2=D0=AC=20=D0=A2=D0=A3?= =?UTF-8?q?=D0=A2=20=D0=9E=D0=9F=D0=A2=D0=98=D0=9C=D0=98=D0=97=D0=90=D0=A6?= =?UTF-8?q?=D0=98=D0=98=20=D0=9D=D0=98=D0=A5=D0=A3=D0=AF=20=D0=90=D0=A5?= =?UTF-8?q?=D0=A3=D0=95=D0=A2=D0=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/__DEFINES/cooldowns.dm | 2 +- code/datums/emotes.dm | 17 ++++++---- code/modules/mob/living/carbon/human/emote.dm | 10 +++--- code/modules/wod13/npcroles.dm | 31 +++++++++++-------- 4 files changed, 34 insertions(+), 26 deletions(-) diff --git a/code/__DEFINES/cooldowns.dm b/code/__DEFINES/cooldowns.dm index d0d6dbdcf5..65945ce749 100644 --- a/code/__DEFINES/cooldowns.dm +++ b/code/__DEFINES/cooldowns.dm @@ -35,7 +35,7 @@ #define COOLDOWN_MECHA_ARMOR "mecha_armor" #define COOLDOWN_MECHA_MELEE_ATTACK "mecha_melee" #define COOLDOWN_MECHA_SMOKE "mecha_smoke" - +#define COOLDOWN_MOB_AUDIO "mob_audio_cooldown" //TIMER COOLDOWN MACROS #define COMSIG_CD_STOP(cd_index) "cooldown_[cd_index]" diff --git a/code/datums/emotes.dm b/code/datums/emotes.dm index 7121306a15..7585865506 100644 --- a/code/datums/emotes.dm +++ b/code/datums/emotes.dm @@ -23,8 +23,9 @@ var/stat_allowed = CONSCIOUS var/sound //Sound to play when emote is called var/vary = FALSE //used for the honk borg emote - var/only_forced_audio = FALSE //can only code call this event instead of the player. +// var/only_forced_audio = FALSE //can only code call this event instead of the player. var/cooldown = 0.8 SECONDS + var/audio_cooldown = 10 SECONDS /datum/emote/New() if (ispath(mob_type_allowed_typecache)) @@ -50,10 +51,10 @@ msg = replace_pronoun(user, msg) - if(isliving(user)) - var/mob/living/L = user - for(var/obj/item/implant/I in L.implants) - I.trigger(key, L) +// if(isliving(user)) +// var/mob/living/L = user +// for(var/obj/item/implant/I in L.implants) +// I.trigger(key, L) if(!msg) return @@ -62,7 +63,11 @@ // var/dchatmsg = "[user] [msg]" var/tmp_sound = get_sound(user) - if(tmp_sound && (!only_forced_audio || !intentional)) + if(tmp_sound) + if(TIMER_COOLDOWN_CHECK(user, COOLDOWN_MOB_AUDIO)) + return + TIMER_COOLDOWN_START(user, type, audio_cooldown) + S_TIMER_COOLDOWN_START(user, COOLDOWN_MOB_AUDIO, 10 SECONDS) playsound(user, tmp_sound, 50, vary) /* // [ChillRaccoon] - ghosts shouldn't see emotes if they arent see emoting object for(var/mob/M in GLOB.dead_mob_list) diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm index 01063de49a..69a9591203 100644 --- a/code/modules/mob/living/carbon/human/emote.dm +++ b/code/modules/mob/living/carbon/human/emote.dm @@ -50,7 +50,7 @@ message = "screams!" message_mime = "acts out a scream!" emote_type = EMOTE_AUDIBLE - only_forced_audio = TRUE +// only_forced_audio = TRUE vary = TRUE /datum/emote/living/carbon/human/scream/get_sound(mob/living/user) @@ -59,15 +59,13 @@ var/mob/living/carbon/human/H = user if(H.mind?.miming) return - if(ishumanbasic(H) || isfelinid(H)) + if(ishuman(H)) if(user.gender == FEMALE) return pick('sound/voice/human/femalescream_1.ogg', 'sound/voice/human/femalescream_2.ogg', 'sound/voice/human/femalescream_3.ogg', 'sound/voice/human/femalescream_4.ogg', 'sound/voice/human/femalescream_5.ogg') else - if(prob(1)) - return 'sound/voice/human/wilhelm_scream.ogg' +// if(prob(1)) +// return 'sound/voice/human/wilhelm_scream.ogg' return pick('sound/voice/human/malescream_1.ogg', 'sound/voice/human/malescream_2.ogg', 'sound/voice/human/malescream_3.ogg', 'sound/voice/human/malescream_4.ogg', 'sound/voice/human/malescream_5.ogg', 'sound/voice/human/malescream_6.ogg') - else if(ismoth(H)) - return 'sound/voice/moth/scream_moth.ogg' else if(ismonkey(user)) //If its a monkey, override it. return pick('sound/creatures/monkey/monkey_screech_1.ogg', 'sound/creatures/monkey/monkey_screech_2.ogg', diff --git a/code/modules/wod13/npcroles.dm b/code/modules/wod13/npcroles.dm index 9681dcb84a..f079fccb5c 100644 --- a/code/modules/wod13/npcroles.dm +++ b/code/modules/wod13/npcroles.dm @@ -1311,25 +1311,30 @@ my_weapon = new /obj/item/gun/ballistic/automatic/vampire/m1911(src) AssignSocialRole(/datum/socialrole/guard) -/mob/living/carbon/human/npc/walkby/club/Life() +/mob/living/carbon/human/npc/walkby/club/Initialize() + . = ..() + for(var/obj/machinery/jukebox/Juke in range(7, src)) + if(Juke) + MyJuke = Juke + +/mob/living/carbon/human/npc/walkby/club/handle_automated_action() . = ..() if(staying && stat < 2) - if(prob(5)) - var/hasjukebox = FALSE - for(var/obj/machinery/jukebox/J in range(5, src)) - if(J) - hasjukebox = TRUE - if(J.active) - if(prob(50)) - dancefirst(src) - else - dancesecond(src) - if(!hasjukebox) - staying = FALSE + if(MyJuke) + if(MyJuke.active) + if(prob(10)) + if(prob(50)) + dancefirst(src) + else + dancesecond(src) + else + staying = FALSE + MyJuke = null /mob/living/carbon/human/npc/walkby/club vampire_faction = "City" staying = TRUE + var/obj/machinery/jukebox/MyJuke /datum/socialrole/stripfemale s_tones = list("albino",