Files
Paradise/code/modules/mob/living/silicon/silicon_emote.dm
T
2d6545a291 Runechats emotes with sound effects. (#23255)
* Remove emote_sound from the codebase

* quick cleanups

* Update code/datums/emote.dm

oops

Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>

* gnarg

Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>

---------

Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
2023-11-29 18:18:20 +00:00

106 lines
3.0 KiB
Plaintext

/datum/emote/living/silicon
// Humans are allowed for the sake of IPCs
mob_type_allowed_typecache = list(/mob/living/silicon, /mob/living/simple_animal/bot, /mob/living/carbon/human)
mob_type_blacklist_typecache = list()
/datum/emote/living/silicon/can_run_emote(mob/user, status_check, intentional)
. = ..()
// Let IPCs (and people with robo-heads) make beep-boop noises
if(!.)
return FALSE
if(ishuman(user))
var/mob/living/carbon/human/H = user
var/obj/item/organ/external/head/head = H.get_organ(BODY_ZONE_HEAD)
if(head && !head.is_robotic())
return FALSE
/datum/emote/living/silicon/scream
key = "scream"
key_third_person = "screams"
message = "screams!"
message_param = "screams at %t!"
emote_type = EMOTE_AUDIBLE
vary = TRUE
sound = "sound/goonstation/voice/robot_scream.ogg"
volume = 80
/datum/emote/living/silicon/ping
key = "ping"
key_third_person = "pings"
message = "pings."
message_param = "pings at %t."
emote_type = EMOTE_AUDIBLE
sound = "sound/machines/ping.ogg"
/datum/emote/living/silicon/buzz
key = "buzz"
key_third_person = "buzzes"
message = "buzzes."
message_param = "buzzes at %t."
emote_type = EMOTE_AUDIBLE
sound = "sound/machines/buzz-sigh.ogg"
/datum/emote/living/silicon/buzz2
key = "buzz2"
message = "emits an irritated buzzing sound."
message_param = "emits an irritated buzzing sound at %t."
emote_type = EMOTE_AUDIBLE
sound = "sound/machines/buzz-two.ogg"
/datum/emote/living/silicon/beep
key = "beep"
key_third_person = "beeps"
message = "beeps."
message_param = "beeps at %t."
emote_type = EMOTE_AUDIBLE
sound = "sound/machines/twobeep.ogg"
/datum/emote/living/silicon/boop
key = "boop"
key_third_person = "boops"
message = "boops."
message_param = "boops at %t."
emote_type = EMOTE_AUDIBLE
sound = "sound/machines/boop.ogg"
/datum/emote/living/silicon/yes
key = "yes"
message = "emits an affirmative blip."
message_param = "emits an affirmative blip at %t."
emote_type = EMOTE_AUDIBLE
sound = "sound/machines/synth_yes.ogg"
/datum/emote/living/silicon/no
key = "no"
message = "emits a negative blip."
message_param = "emits a negative blip at %t."
emote_type = EMOTE_AUDIBLE
sound = "sound/machines/synth_no.ogg"
/datum/emote/living/silicon/law
key = "law"
message = "shows its legal authorization barcode."
message_param = "shows %t its legal authorization barcode."
emote_type = EMOTE_AUDIBLE
sound = "sound/voice/biamthelaw.ogg"
/datum/emote/living/silicon/law/can_run_emote(mob/user, status_check, intentional)
. = ..()
var/mob/living/silicon/robot/bot = user
if(!istype(bot) || !istype(bot.module, /obj/item/robot_module/security))
return FALSE
/datum/emote/living/silicon/halt
key = "halt"
message = "screeches \"HALT! SECURITY!\" from its speakers."
message_param = "instructs %t to HALT."
emote_type = EMOTE_AUDIBLE
sound = "sound/voice/halt.ogg"
/datum/emote/living/silicon/halt/can_run_emote(mob/user, status_check, intentional)
. = ..()
var/mob/living/silicon/robot/bot = user
if(!istype(bot) || !istype(bot.module, /obj/item/robot_module/security))
return FALSE