From 321d7ce4bee3539a7d5f7a9d41cfb2bd800e1bcb Mon Sep 17 00:00:00 2001 From: Joan Lung Date: Sun, 19 Jun 2016 15:46:36 -0400 Subject: [PATCH] Non-servant humans can't understand clockwork mobs --- code/__DEFINES/flags.dm | 1 + code/game/gamemodes/clock_cult/clock_cult.dm | 4 ++++ code/game/gamemodes/clock_cult/clock_mobs.dm | 2 ++ code/game/say.dm | 4 ++++ .../living/simple_animal/friendly/drone/extra_drone_types.dm | 4 ++-- code/modules/mob/say.dm | 5 ++++- 6 files changed, 17 insertions(+), 3 deletions(-) diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm index 0ef81b5fc3c..cbfd3ccc503 100644 --- a/code/__DEFINES/flags.dm +++ b/code/__DEFINES/flags.dm @@ -82,6 +82,7 @@ #define SLIME 16 #define DRONE 32 #define SWARMER 64 +#define RATVAR 128 // Flags for reagents #define REAGENT_NOREACT 1 diff --git a/code/game/gamemodes/clock_cult/clock_cult.dm b/code/game/gamemodes/clock_cult/clock_cult.dm index 8a784138a71..68e7b30c7d9 100644 --- a/code/game/gamemodes/clock_cult/clock_cult.dm +++ b/code/game/gamemodes/clock_cult/clock_cult.dm @@ -92,6 +92,8 @@ This file's folder contains: ticker.mode.servants_of_ratvar += M.mind ticker.mode.update_servant_icons_added(M.mind) M.mind.special_role = "Servant of Ratvar" + M.languages_spoken |= RATVAR + M.languages_understood |= RATVAR all_clockwork_mobs += M if(issilicon(M)) var/mob/living/silicon/S = M @@ -120,6 +122,8 @@ This file's folder contains: all_clockwork_mobs -= M M.mind.memory = "" //Not sure if there's a better way to do this M.mind.special_role = null + M.languages_spoken &= ~RATVAR + M.languages_understood &= ~RATVAR for(var/datum/action/innate/function_call/F in M.actions) //Removes any bound Ratvarian spears qdel(F) if(issilicon(M)) diff --git a/code/game/gamemodes/clock_cult/clock_mobs.dm b/code/game/gamemodes/clock_cult/clock_mobs.dm index 16b2c1ab388..8a13da24d3b 100644 --- a/code/game/gamemodes/clock_cult/clock_mobs.dm +++ b/code/game/gamemodes/clock_cult/clock_mobs.dm @@ -5,6 +5,8 @@ unique_name = 1 minbodytemp = 0 atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) //Robotic + languages_spoken = RATVAR + languages_understood = HUMAN|RATVAR healable = FALSE del_on_death = TRUE bubble_icon = "clock" diff --git a/code/game/say.dm b/code/game/say.dm index 1671832b9ac..a3d3c86015b 100644 --- a/code/game/say.dm +++ b/code/game/say.dm @@ -100,6 +100,10 @@ var/list/freqtospan = list( return "beeps rapidly." else if(message_langs & DRONE) return "chitters." + else if(message_langs & SWARMER) + return "hums." + else if(message_langs & RATVAR) + return "sounds like grinding cogs." else return "makes a strange sound." diff --git a/code/modules/mob/living/simple_animal/friendly/drone/extra_drone_types.dm b/code/modules/mob/living/simple_animal/friendly/drone/extra_drone_types.dm index a786ea27d40..cb72d1e5303 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/extra_drone_types.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/extra_drone_types.dm @@ -94,8 +94,8 @@ icon_state = "drone_clock" icon_living = "drone_clock" picked = TRUE - languages_spoken = HUMAN - languages_understood = HUMAN + languages_spoken = RATVAR + languages_understood = HUMAN|RATVAR health = 60 maxHealth = 60 hacked = 1 diff --git a/code/modules/mob/say.dm b/code/modules/mob/say.dm index 3d1c57bbe2d..997dc6a527e 100644 --- a/code/modules/mob/say.dm +++ b/code/modules/mob/say.dm @@ -10,7 +10,10 @@ /mob/verb/whisper(message as text) set name = "Whisper" set category = "IC" - return + if(say_disabled) //This is here to try to identify lag problems + usr << "Speech is currently admin-disabled." + return + say(message) //only carbons actually whisper, everything else just talks /mob/verb/me_verb(message as text) set name = "Me"