From e27a6f3070bc520a55ec46d663bfc489d785ab3e Mon Sep 17 00:00:00 2001 From: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> Date: Wed, 13 Dec 2023 20:06:40 +0100 Subject: [PATCH] Hail Lii'dra (#17925) * fsad * uihj --- aurorastation.dme | 1 - code/__defines/misc.dm | 2 - code/datums/observation/see_in_dark_set.dm | 25 --------- .../changeling/implements/hivemind.dm | 1 - code/game/gamemodes/events.dm | 2 +- code/game/objects/items/weapons/AI_modules.dm | 2 - code/modules/admin/verbs/randomverbs.dm | 2 - code/modules/mob/abstract/freelook/eye.dm | 1 - .../modules/mob/abstract/observer/observer.dm | 3 - code/modules/mob/death.dm | 1 - code/modules/mob/language/language.dm | 55 +++++++++++++++++-- code/modules/mob/language/station.dm | 4 +- code/modules/mob/living/carbon/alien/life.dm | 2 - code/modules/mob/living/carbon/brain/life.dm | 4 -- .../living/carbon/human/species/species.dm | 1 - .../human/species/station/vaurca/vaurca.dm | 2 +- code/modules/mob/living/carbon/slime/slime.dm | 1 - code/modules/mob/living/default_language.dm | 23 ++++---- code/modules/mob/living/life.dm | 3 - code/modules/mob/living/living_defines.dm | 1 - code/modules/mob/living/silicon/ai/life.dm | 2 - code/modules/mob/living/silicon/robot/life.dm | 6 -- .../constructs/constructs/cult_construct.dm | 1 - .../constructs/constructs/harvester.dm | 1 - .../constructs/constructs/wraith.dm | 1 - .../living/simple_animal/friendly/adhomai.dm | 3 - .../mob/living/simple_animal/friendly/carp.dm | 1 - .../mob/living/simple_animal/friendly/cat.dm | 1 - .../living/simple_animal/friendly/corgi.dm | 1 - .../simple_animal/friendly/cosmozoan.dm | 1 - .../simple_animal/friendly/farm_animals.dm | 3 - .../mob/living/simple_animal/friendly/fish.dm | 1 - .../mob/living/simple_animal/friendly/fox.dm | 1 - .../mob/living/simple_animal/friendly/rat.dm | 1 - .../living/simple_animal/friendly/ratking.dm | 1 - .../living/simple_animal/hostile/adhomai.dm | 2 - .../mob/living/simple_animal/hostile/bear.dm | 1 - .../simple_animal/hostile/cavern_geist.dm | 1 - .../simple_animal/hostile/changeling.dm | 2 - .../hostile/commanded/guard_dog.dm | 1 - .../simple_animal/hostile/commanded/ives.dm | 1 - .../simple_animal/hostile/giant_spider.dm | 1 - .../simple_animal/hostile/hivebots/hivebot.dm | 1 - .../hostile/hivebots/hivebot_beacon.dm | 1 - .../hostile/hivebots/hivebot_harvester.dm | 1 - .../simple_animal/hostile/icarus_drone.dm | 1 - .../living/simple_animal/hostile/krampus.dm | 1 - .../mob/living/simple_animal/hostile/morph.dm | 1 - .../simple_animal/hostile/phoron_worm.dm | 1 - .../mob/living/simple_animal/hostile/pra.dm | 1 - .../hostile/retaliate/aquatic.dm | 1 - .../simple_animal/hostile/retaliate/cavern.dm | 2 - .../living/simple_animal/hostile/sarlacc.dm | 2 - .../simple_animal/hostile/space_fauna.dm | 2 - .../simple_animal/hostile/spider_queen.dm | 1 - code/modules/mob/mob_defines.dm | 4 ++ code/modules/organs/subtypes/parasite.dm | 4 ++ .../fluffyghost-fixliidrazombies.yml | 47 ++++++++++++++++ 58 files changed, 121 insertions(+), 120 deletions(-) delete mode 100644 code/datums/observation/see_in_dark_set.dm create mode 100644 html/changelogs/fluffyghost-fixliidrazombies.yml diff --git a/aurorastation.dme b/aurorastation.dme index 85a359ef9be..7ada5eb5b47 100644 --- a/aurorastation.dme +++ b/aurorastation.dme @@ -393,7 +393,6 @@ #include "code\datums\observation\instruments.dm" #include "code\datums\observation\moved.dm" #include "code\datums\observation\observation.dm" -#include "code\datums\observation\see_in_dark_set.dm" #include "code\datums\observation\see_invisible_set.dm" #include "code\datums\observation\set_invisibility.dm" #include "code\datums\observation\shuttle_moved.dm" diff --git a/code/__defines/misc.dm b/code/__defines/misc.dm index bfd23621af2..141b155bef8 100644 --- a/code/__defines/misc.dm +++ b/code/__defines/misc.dm @@ -32,8 +32,6 @@ #define SEE_INVISIBLE_OBSERVER 61 #define SEE_INVISIBLE_SYSTEM 99 -#define SEE_IN_DARK_DEFAULT 2 - #define SEE_INVISIBLE_MINIMUM 5 #define INVISIBILITY_MAXIMUM 100 #define INVISIBILITY_ABSTRACT 101 // Special invis value that can never be seen by see_invisible. diff --git a/code/datums/observation/see_in_dark_set.dm b/code/datums/observation/see_in_dark_set.dm deleted file mode 100644 index 31f62e6e233..00000000000 --- a/code/datums/observation/see_in_dark_set.dm +++ /dev/null @@ -1,25 +0,0 @@ -// Observer Pattern Implementation: See In Dark Set -// Registration type: /mob -// -// Raised when: A mob's see_in_dark value changes. -// -// Arguments that the called proc should expect: -// /mob/sightee: The mob that had its see_in_dark set -// /old_see_in_dark: see_in_dark before the change -// /new_see_in_dark: see_in_dark after the change - -var/singleton/observ/see_in_dark_set/see_in_dark_set_event = new() - -/singleton/observ/see_in_dark_set - name = "See In Dark Set" - expected_type = /mob - -/*************************** -* See In Dark Set Handling * -***************************/ - -/mob/proc/set_see_in_dark(var/new_see_in_dark) - var/old_see_in_dark = sight - if(old_see_in_dark != new_see_in_dark) - see_in_dark = new_see_in_dark - see_in_dark_set_event.raise_event(src, old_see_in_dark, new_see_in_dark) diff --git a/code/game/gamemodes/changeling/implements/hivemind.dm b/code/game/gamemodes/changeling/implements/hivemind.dm index bbf9c1920ea..6ab4df8b210 100644 --- a/code/game/gamemodes/changeling/implements/hivemind.dm +++ b/code/game/gamemodes/changeling/implements/hivemind.dm @@ -1,6 +1,5 @@ /mob/abstract/hivemind name = "internal hivemind" - see_in_dark = 2 see_invisible = SEE_INVISIBLE_LIVING var/mob/living/carbon/human/changeling_mob // the head honcho diff --git a/code/game/gamemodes/events.dm b/code/game/gamemodes/events.dm index 3f8637d16b7..20f5db97fe0 100644 --- a/code/game/gamemodes/events.dm +++ b/code/game/gamemodes/events.dm @@ -79,7 +79,7 @@ Would like to add a law like "Law x is _______" where x = a number, and _____ is //AI laws for(var/mob/living/silicon/ai/M in living_mob_list) - if(M.stat != 2 && M.see_in_dark != 0) + if(M.stat != 2) var/who2 = pick("ALIENS", "BEARS", "CLOWNS", "XENOS", "PETES", "BOMBS", "FETISHES", "WIZARDS", "SYNDICATE AGENTS", "CENTCOM OFFICERS", "SPACE PIRATES", "TRAITORS", "MONKEYS", "BEES", "CARP", "CRABS", "EELS", "BANDITS", "LIGHTS") var/what2 = pick("BOLTERS", "STAVES", "DICE", "SINGULARITIES", "TOOLBOXES", "NETTLES", "AIRLOCKS", "CLOTHES", "WEAPONS", "MEDKITS", "BOMBS", "CANISTERS", "CHAIRS", "BBQ GRILLS", "ID CARDS", "CAPTAINS") var/what2pref = pick("SOFT", "WARM", "WET", "COLD", "ICY", "SEXY", "UGLY", "CUBAN") diff --git a/code/game/objects/items/weapons/AI_modules.dm b/code/game/objects/items/weapons/AI_modules.dm index 396a736d7f4..2f234e6cb5e 100755 --- a/code/game/objects/items/weapons/AI_modules.dm +++ b/code/game/objects/items/weapons/AI_modules.dm @@ -40,8 +40,6 @@ AI MODULES if (comp.current.stat == 2 || comp.current.control_disabled == 1) to_chat(usr, "Upload failed. No signal is being detected from the AI.") - else if (comp.current.see_in_dark == 0) - to_chat(usr, "Upload failed. Only a faint signal is being detected from the AI, and it is not responding to our requests. It may be low on power.") else src.transmitInstructions(comp.current, usr) to_chat(comp.current, "These are your laws now:") diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 67289a24e50..a2195753ea5 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -508,8 +508,6 @@ Traitors and the like can also be revived with the previous role mostly intact. for(var/mob/living/silicon/ai/M in mob_list) if (M.stat == 2) to_chat(usr, "Upload failed. No signal is being detected from the AI.") - else if (M.see_in_dark == 0) - to_chat(usr, "Upload failed. Only a faint signal is being detected from the AI, and it is not responding to our requests. It may be low on power.") else M.add_ion_law(input) for(var/mob/living/silicon/ai/O in mob_list) diff --git a/code/modules/mob/abstract/freelook/eye.dm b/code/modules/mob/abstract/freelook/eye.dm index 9bed8fd720d..e7d4ce0e832 100644 --- a/code/modules/mob/abstract/freelook/eye.dm +++ b/code/modules/mob/abstract/freelook/eye.dm @@ -16,7 +16,6 @@ var/acceleration = 1 var/owner_follows_eye = 0 - see_in_dark = 7 status_flags = GODMODE invisibility = INVISIBILITY_EYE diff --git a/code/modules/mob/abstract/observer/observer.dm b/code/modules/mob/abstract/observer/observer.dm index 6e290ffbb1d..b7b3f2fb9b1 100644 --- a/code/modules/mob/abstract/observer/observer.dm +++ b/code/modules/mob/abstract/observer/observer.dm @@ -42,7 +42,6 @@ sight |= SEE_TURFS | SEE_MOBS | SEE_OBJS | SEE_SELF see_invisible = SEE_INVISIBLE_OBSERVER - see_in_dark = 100 add_verb(src, /mob/abstract/observer/proc/dead_tele) set_stat(DEAD) @@ -873,12 +872,10 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp if(on_restricted_level()) //On the restricted level they have the same sight as the mob set_sight(sight&(~SEE_TURFS)&(~SEE_MOBS)&(~SEE_OBJS)) - set_see_in_dark(2) set_see_invisible(SEE_INVISIBLE_OBSERVER) else //Outside of the restrcited level, they have enhanced vision set_sight(sight|SEE_TURFS|SEE_MOBS|SEE_OBJS) - set_see_in_dark(100) set_see_invisible(SEE_INVISIBLE_LEVEL_TWO) if (!seedarkness) diff --git a/code/modules/mob/death.dm b/code/modules/mob/death.dm index 7eb56567d8a..e90730184e8 100644 --- a/code/modules/mob/death.dm +++ b/code/modules/mob/death.dm @@ -73,7 +73,6 @@ layer = MOB_LAYER set_sight(sight|SEE_TURFS|SEE_MOBS|SEE_OBJS) - set_see_in_dark(8) set_see_invisible(SEE_INVISIBLE_LEVEL_TWO) drop_r_hand() diff --git a/code/modules/mob/language/language.dm b/code/modules/mob/language/language.dm index fe034fe5604..60321cb0aff 100644 --- a/code/modules/mob/language/language.dm +++ b/code/modules/mob/language/language.dm @@ -190,22 +190,65 @@ SHOULD_NOT_SLEEP(TRUE) return TRUE -// Language handling. -/mob/proc/add_language(var/language) +/** + * Adds a language to the known ones for the mob, returns `TRUE` if added successfully, `FALSE` otherwise + * + * Does NOT make it the default language + * + * * language - The language to add, can either be a `/datum/language` or a string, see the LANGUAGE_* defines in `code\__defines\species_languages.dm` for the strings + */ +/mob/proc/add_language(language) + SHOULD_NOT_SLEEP(TRUE) + var/datum/language/new_language if(istype(language, /datum/language)) new_language = language else new_language = all_languages[language] - if (!istype(new_language) || !new_language) - CRASH("ERROR: Language [language] not found in list of all languages. The language you're looking for may have been moved, renamed, or removed. Please recheck the spelling of the name.") + if(!istype(new_language) || !new_language) + crash_with("ERROR: Language [language] not found in list of all languages. The language you're looking for may have been moved, renamed, or removed. Please recheck the spelling of the name.") if(new_language in languages) - return 0 + return FALSE languages.Add(new_language) - return 1 + return TRUE + +/** + * Set default language for a `/mob/living`, return `TRUE` if set successfully, `FALSE` otherwise + * + * * language - The language to set as default, can either be a `/datum/language`, a string as per `LANGUAGE_*` defines in `code\__defines\species_languages.dm`, + * or `null` to remove the default language + */ +/mob/living/proc/set_default_language(language) + SHOULD_NOT_SLEEP(TRUE) + + var/datum/language/new_default_language + if(istype(language, /datum/language)) + new_default_language = language + else + new_default_language = all_languages[language] + + if(!isnull(new_default_language) && !istype(new_default_language)) + stack_trace("ERROR: Language [language] not found in list of all languages. The language you're looking for may have been moved, renamed, or removed. Please recheck the spelling of the name.") + return FALSE + + if(!isnull(new_default_language) && !(new_default_language in languages)) + stack_trace("Trying to set a default language that is not known by the mob! The language must first be added for it to be set as default!") + return FALSE + + default_language = new_default_language + return TRUE + +//Silicons can only speak languages listed in the `speech_synthesizer_langs`, even if they can understand more +/mob/living/silicon/set_default_language(language) + + //Return FALSE if they can't speak this language + if(!(language in speech_synthesizer_langs)) + return FALSE + + . = ..() /mob/proc/remove_language(var/rem_language) var/datum/language/L = all_languages[rem_language] diff --git a/code/modules/mob/language/station.dm b/code/modules/mob/language/station.dm index 3c769d00f96..888f8954805 100644 --- a/code/modules/mob/language/station.dm +++ b/code/modules/mob/language/station.dm @@ -318,7 +318,9 @@ /datum/language/bug/check_speech_restrict(var/mob/speaker) var/mob/living/carbon/human/H = speaker var/obj/item/organ/internal/vaurca/neuralsocket/S = H.internal_organs_by_name[BP_NEURAL_SOCKET] - if(S.muted || S.disrupted) + + //Black k'ois zombies don't have neural sockets but need to talk, hence check if the socket exists, or it will runtime for them + if(S && (S.muted || S.disrupted)) to_chat(speaker, SPAN_WARNING("You have been muted over the Hivenet!")) return FALSE else diff --git a/code/modules/mob/living/carbon/alien/life.dm b/code/modules/mob/living/carbon/alien/life.dm index 29834a96694..007c6450c64 100644 --- a/code/modules/mob/living/carbon/alien/life.dm +++ b/code/modules/mob/living/carbon/alien/life.dm @@ -96,14 +96,12 @@ if(stat == DEAD || HAS_FLAG(mutations, XRAY)) set_sight(sight|SEE_TURFS|SEE_MOBS|SEE_OBJS) - set_see_in_dark(8) set_see_invisible(SEE_INVISIBLE_LEVEL_TWO) else if(stat != DEAD && is_ventcrawling == FALSE) if(species && species.vision_flags) sight = species.vision_flags else set_sight(sight&(~SEE_TURFS)&(~SEE_MOBS)&(~SEE_OBJS)) - set_see_in_dark(2) set_see_invisible(SEE_INVISIBLE_LIVING) if (healths) diff --git a/code/modules/mob/living/carbon/brain/life.dm b/code/modules/mob/living/carbon/brain/life.dm index 95145ad47b6..237c1304f4b 100644 --- a/code/modules/mob/living/carbon/brain/life.dm +++ b/code/modules/mob/living/carbon/brain/life.dm @@ -167,11 +167,9 @@ /mob/living/carbon/brain/handle_regular_hud_updates() if(stat == DEAD || HAS_FLAG(mutations, XRAY)) set_sight(sight|SEE_TURFS|SEE_MOBS|SEE_OBJS) - set_see_in_dark(8) set_see_invisible(SEE_INVISIBLE_LEVEL_TWO) else if(stat != DEAD) set_sight(sight&(~SEE_TURFS)&(~SEE_MOBS)&(~SEE_OBJS)) - set_see_in_dark(2) set_see_invisible(SEE_INVISIBLE_LIVING) if (healths) @@ -196,11 +194,9 @@ if(stat == DEAD || HAS_FLAG(mutations, XRAY)) set_sight(sight|SEE_TURFS|SEE_MOBS|SEE_OBJS) - set_see_in_dark(8) set_see_invisible(SEE_INVISIBLE_LEVEL_TWO) else if(stat != DEAD) set_sight(sight&(~SEE_TURFS)&(~SEE_MOBS)&(~SEE_OBJS)) - set_see_in_dark(2) set_see_invisible(SEE_INVISIBLE_LIVING) if (client) diff --git a/code/modules/mob/living/carbon/human/species/species.dm b/code/modules/mob/living/carbon/human/species/species.dm index 49847e35fb3..f8310ebe3bb 100644 --- a/code/modules/mob/living/carbon/human/species/species.dm +++ b/code/modules/mob/living/carbon/human/species/species.dm @@ -548,7 +548,6 @@ return 1 if(!H.druggy) - H.set_see_in_dark((H.sight == (SEE_TURFS|SEE_MOBS|SEE_OBJS)) ? 8 : min(darksight + H.equipment_darkness_modifier, 8)) if(H.seer) var/obj/effect/rune/R = locate(/obj/effect/rune) in get_turf(H) if(R && R.type == /datum/rune/see_invisible) diff --git a/code/modules/mob/living/carbon/human/species/station/vaurca/vaurca.dm b/code/modules/mob/living/carbon/human/species/station/vaurca/vaurca.dm index 5b04fb38c75..a0e1cf20b83 100644 --- a/code/modules/mob/living/carbon/human/species/station/vaurca/vaurca.dm +++ b/code/modules/mob/living/carbon/human/species/station/vaurca/vaurca.dm @@ -30,7 +30,7 @@ meat_type = /obj/item/reagent_containers/food/snacks/meat/bug rarity_value = 4 slowdown = 1 - darksight = 8 //USELESS + darksight = 8 //Allows you to see through black k'ois if the night vision is on eyes = "vaurca_eyes" //makes it so that eye colour is not changed when skin colour is. eyes_are_impermeable = TRUE diff --git a/code/modules/mob/living/carbon/slime/slime.dm b/code/modules/mob/living/carbon/slime/slime.dm index faecdd3634e..e4a10ac2ac9 100644 --- a/code/modules/mob/living/carbon/slime/slime.dm +++ b/code/modules/mob/living/carbon/slime/slime.dm @@ -17,7 +17,6 @@ nutrition = 700 max_nutrition = 1200 - see_in_dark = 8 update_slimes = 0 // canstun and canweaken don't affect slimes because they ignore stun and weakened variables diff --git a/code/modules/mob/living/default_language.dm b/code/modules/mob/living/default_language.dm index 49cedff0fa6..541f641c587 100644 --- a/code/modules/mob/living/default_language.dm +++ b/code/modules/mob/living/default_language.dm @@ -1,26 +1,27 @@ /mob/living var/datum/language/default_language -/mob/living/verb/set_default_language() +/mob/living/verb/set_default_language_verb() set name = "Set Default Language" set category = "IC" var/datum/language/language = input(src, "Choose a language.", "Set Default Language") as null|anything in languages - if(language) - to_chat(src, "You will now speak [language] if you do not specify a language when speaking.") - else - to_chat(src, "You will now speak whatever your standard default language is if you do not specify one when speaking.") - default_language = language + if(!language) + to_chat(src, SPAN_NOTICE("You will keep speaking your current default language, by default.")) + return -// Silicons can't neccessarily speak everything in their languages list -/mob/living/silicon/set_default_language(language as null|anything in speech_synthesizer_langs) - ..() + var/set_result = set_default_language(language) + + if(set_result) + to_chat(src, SPAN_NOTICE("You will now speak [language] if you do not specify a language when speaking.")) + else + to_chat(src, SPAN_NOTICE("You are unable to speak [language], choose another one or keep using [default_language].")) /mob/living/verb/check_default_language() set name = "Check Default Language" set category = "IC" if(default_language) - to_chat(src, "You are currently speaking [default_language] by default.") + to_chat(src, SPAN_NOTICE("You are currently speaking [default_language] by default.")) else - to_chat(src, "Your current default language is your species or mob type default.") + to_chat(src, SPAN_NOTICE("Your current default language is your species or mob type default.")) diff --git a/code/modules/mob/living/life.dm b/code/modules/mob/living/life.dm index a667ad51409..708f7d47838 100644 --- a/code/modules/mob/living/life.dm +++ b/code/modules/mob/living/life.dm @@ -162,7 +162,6 @@ /mob/living/proc/update_sight() set_sight(0) - set_see_in_dark(0) if(stat == DEAD || eyeobj) update_dead_sight() else @@ -180,12 +179,10 @@ set_sight_flags &= ~BLIND set_sight(set_sight_flags) - set_see_in_dark(initial(see_in_dark)) set_see_invisible(initial(see_invisible)) /mob/living/proc/update_dead_sight() set_sight(sight|SEE_TURFS|SEE_MOBS|SEE_OBJS) - set_see_in_dark(8) set_see_invisible(SEE_INVISIBLE_LEVEL_TWO) /mob/living/proc/handle_hud_icons() diff --git a/code/modules/mob/living/living_defines.dm b/code/modules/mob/living/living_defines.dm index d5daded159e..4c99b36b6e3 100644 --- a/code/modules/mob/living/living_defines.dm +++ b/code/modules/mob/living/living_defines.dm @@ -1,5 +1,4 @@ /mob/living - see_in_dark = 2 see_invisible = SEE_INVISIBLE_LIVING //Health and life related vars diff --git a/code/modules/mob/living/silicon/ai/life.dm b/code/modules/mob/living/silicon/ai/life.dm index 98851eba16c..8724c2c3ce8 100644 --- a/code/modules/mob/living/silicon/ai/life.dm +++ b/code/modules/mob/living/silicon/ai/life.dm @@ -148,13 +148,11 @@ update_icon() overlay_fullscreen("blind", /obj/screen/fullscreen/blind) set_sight(sight&(~SEE_TURFS)&(~SEE_MOBS)&(~SEE_OBJS)) - set_see_in_dark(0) set_see_invisible(SEE_INVISIBLE_LIVING) else if(stat == DEAD) update_dead_sight() else set_sight(sight|SEE_TURFS|SEE_MOBS|SEE_OBJS) - set_see_in_dark(8) set_see_invisible(SEE_INVISIBLE_LIVING) /mob/living/silicon/ai/is_blind() diff --git a/code/modules/mob/living/silicon/robot/life.dm b/code/modules/mob/living/silicon/robot/life.dm index fb8779c9db6..f369e0b66bd 100644 --- a/code/modules/mob/living/silicon/robot/life.dm +++ b/code/modules/mob/living/silicon/robot/life.dm @@ -149,26 +149,20 @@ ..() if(stat == DEAD || HAS_FLAG(mutations, XRAY) || (sight_mode & BORGXRAY)) set_sight(sight|SEE_TURFS|SEE_MOBS|SEE_OBJS) - set_see_in_dark(8) set_see_invisible(SEE_INVISIBLE_LEVEL_TWO) else if((sight_mode & BORGMESON) && (sight_mode & BORGTHERM)) set_sight(sight|SEE_TURFS|SEE_MOBS) - set_see_in_dark(8) set_see_invisible(SEE_INVISIBLE_NOLIGHTING) else if(sight_mode & BORGMESON) set_sight(sight|SEE_TURFS) - set_see_in_dark(8) set_see_invisible(SEE_INVISIBLE_NOLIGHTING) else if(sight_mode & BORGMATERIAL) set_sight(sight|SEE_OBJS) - set_see_in_dark(8) else if(sight_mode & BORGTHERM) set_sight(sight|SEE_MOBS) - set_see_in_dark(8) set_see_invisible(SEE_INVISIBLE_LEVEL_TWO) else if(stat != DEAD) set_sight(sight&(~SEE_TURFS)&(~SEE_MOBS)&(~SEE_OBJS)) - set_see_in_dark(8) set_see_invisible(SEE_INVISIBLE_LIVING) switch(sensor_mode) diff --git a/code/modules/mob/living/simple_animal/constructs/constructs/cult_construct.dm b/code/modules/mob/living/simple_animal/constructs/constructs/cult_construct.dm index c38b5f70fd7..5c193d470d3 100644 --- a/code/modules/mob/living/simple_animal/constructs/constructs/cult_construct.dm +++ b/code/modules/mob/living/simple_animal/constructs/constructs/cult_construct.dm @@ -27,7 +27,6 @@ show_stat_health = TRUE faction = "cult" supernatural = TRUE - see_in_dark = 8 see_invisible = SEE_INVISIBLE_LEVEL_ONE blood_type = "#000000" diff --git a/code/modules/mob/living/simple_animal/constructs/constructs/harvester.dm b/code/modules/mob/living/simple_animal/constructs/constructs/harvester.dm index 5a978f1f019..3880a00b1ec 100644 --- a/code/modules/mob/living/simple_animal/constructs/constructs/harvester.dm +++ b/code/modules/mob/living/simple_animal/constructs/constructs/harvester.dm @@ -14,7 +14,6 @@ organ_names = list("core", "harvesting array") speed = -1 environment_smash = 1 - see_in_dark = 7 attack_sound = 'sound/weapons/pierce.ogg' can_repair = TRUE construct_spells = list( diff --git a/code/modules/mob/living/simple_animal/constructs/constructs/wraith.dm b/code/modules/mob/living/simple_animal/constructs/constructs/wraith.dm index 959afb0c0e1..b42581091ca 100644 --- a/code/modules/mob/living/simple_animal/constructs/constructs/wraith.dm +++ b/code/modules/mob/living/simple_animal/constructs/constructs/wraith.dm @@ -13,7 +13,6 @@ organ_names = list("core", "right arm", "left arm") speed = -1 environment_smash = TRUE - see_in_dark = 7 attack_sound = 'sound/weapons/rapidslice.ogg' construct_spells = list(/spell/targeted/ethereal_jaunt/shift) diff --git a/code/modules/mob/living/simple_animal/friendly/adhomai.dm b/code/modules/mob/living/simple_animal/friendly/adhomai.dm index cb5c47e253c..fea5911fd6e 100644 --- a/code/modules/mob/living/simple_animal/friendly/adhomai.dm +++ b/code/modules/mob/living/simple_animal/friendly/adhomai.dm @@ -77,7 +77,6 @@ emote_see = list("shakes its head") speak_chance = 1 turns_per_move = 5 - see_in_dark = 6 meat_amount = 30 organ_names = list("head", "chest", "right fore leg", "left fore leg", "right rear leg", "left rear leg") response_help = "pets" @@ -262,7 +261,6 @@ emote_see = list("shakes its head", "stomps its feet") speak_chance = 1 turns_per_move = 5 - see_in_dark = 6 organ_names = list("head", "chest", "right fore leg", "left fore leg", "right rear leg", "left rear leg") response_help = "pets" @@ -331,7 +329,6 @@ emote_see = list("shakes its head") speak_chance = 1 turns_per_move = 5 - see_in_dark = 6 meat_amount = 50 organ_names = list("head", "chest", "right fore leg", "left fore leg", "right rear leg", "left rear leg") response_help = "pets" diff --git a/code/modules/mob/living/simple_animal/friendly/carp.dm b/code/modules/mob/living/simple_animal/friendly/carp.dm index 23b1a305d93..f2f5497d6f8 100644 --- a/code/modules/mob/living/simple_animal/friendly/carp.dm +++ b/code/modules/mob/living/simple_animal/friendly/carp.dm @@ -15,7 +15,6 @@ emote_see = list("floats steadily", "inflates its gills") speak_chance = 1 turns_per_move = 5 - see_in_dark = 6 meat_type = /obj/item/reagent_containers/food/snacks/fish/carpmeat organ_names = list("head", "chest", "tail", "left flipper", "right flipper") response_help = "brushes" diff --git a/code/modules/mob/living/simple_animal/friendly/cat.dm b/code/modules/mob/living/simple_animal/friendly/cat.dm index cad97e1c3d8..aa1cfd807f6 100644 --- a/code/modules/mob/living/simple_animal/friendly/cat.dm +++ b/code/modules/mob/living/simple_animal/friendly/cat.dm @@ -16,7 +16,6 @@ emote_see = list("shakes their head", "shivers") speak_chance = 1 turns_per_move = 5 - see_in_dark = 6 meat_type = /obj/item/reagent_containers/food/snacks/meat organ_names = list("head", "chest", "right fore leg", "left fore leg", "right rear leg", "left rear leg") response_help = "pets" diff --git a/code/modules/mob/living/simple_animal/friendly/corgi.dm b/code/modules/mob/living/simple_animal/friendly/corgi.dm index 6bc59061c08..ea57ffd8764 100644 --- a/code/modules/mob/living/simple_animal/friendly/corgi.dm +++ b/code/modules/mob/living/simple_animal/friendly/corgi.dm @@ -19,7 +19,6 @@ response_help = "pets" response_disarm = "bops" response_harm = "kicks" - see_in_dark = 5 mob_size = 3.5 max_nutrition = 70 //Dogs are insatiable eating monsters. This scales with their mob size too stomach_size_mult = 8 diff --git a/code/modules/mob/living/simple_animal/friendly/cosmozoan.dm b/code/modules/mob/living/simple_animal/friendly/cosmozoan.dm index b9644c67e21..6d95768cbc1 100644 --- a/code/modules/mob/living/simple_animal/friendly/cosmozoan.dm +++ b/code/modules/mob/living/simple_animal/friendly/cosmozoan.dm @@ -31,7 +31,6 @@ minbodytemp = 0 flying = TRUE - see_in_dark = 8 see_invisible = SEE_INVISIBLE_NOLIGHTING /mob/living/simple_animal/cosmozoan/Initialize() diff --git a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm index 61e328774ce..d46fbfc6936 100644 --- a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm +++ b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm @@ -12,7 +12,6 @@ emote_see = list("shakes its head", "stamps a foot", "glares around") speak_chance = 1 turns_per_move = 5 - see_in_dark = 6 meat_type = /obj/item/reagent_containers/food/snacks/meat meat_amount = 6 mob_size = 4.5//weight based on Chanthangi goats @@ -89,7 +88,6 @@ emote_see = list("shakes its head") speak_chance = 1 turns_per_move = 5 - see_in_dark = 6 meat_type = /obj/item/reagent_containers/food/snacks/meat meat_amount = 40 //Cows are huge, should be worth a lot of meat organ_names = list("head", "chest", "right fore leg", "left fore leg", "right rear leg", "left rear leg") @@ -134,7 +132,6 @@ emote_see = list("sways its tail") speak_chance = 1 turns_per_move = 5 - see_in_dark = 6 meat_type = /obj/item/reagent_containers/food/snacks/meat/pig meat_amount = 20 organ_names = list("head", "chest", "right fore leg", "left fore leg", "right rear leg", "left rear leg") diff --git a/code/modules/mob/living/simple_animal/friendly/fish.dm b/code/modules/mob/living/simple_animal/friendly/fish.dm index 1a3a511c821..aa230df4dae 100644 --- a/code/modules/mob/living/simple_animal/friendly/fish.dm +++ b/code/modules/mob/living/simple_animal/friendly/fish.dm @@ -6,7 +6,6 @@ emote_hear = list("glubs","glibs") emote_see = list("flops around", "inflates its gills") speak_chance = 1 - see_in_dark = 6 density = FALSE mob_size = MOB_SMALL item_state = "fish" diff --git a/code/modules/mob/living/simple_animal/friendly/fox.dm b/code/modules/mob/living/simple_animal/friendly/fox.dm index a69c9b777d1..09dc451a797 100644 --- a/code/modules/mob/living/simple_animal/friendly/fox.dm +++ b/code/modules/mob/living/simple_animal/friendly/fox.dm @@ -13,7 +13,6 @@ emote_see = list("shakes its head", "shivers") speak_chance = 1 turns_per_move = 5 - see_in_dark = 6 meat_type = /obj/item/reagent_containers/food/snacks/meat meat_amount = 3 organ_names = list("head", "chest", "right fore leg", "left fore leg", "right rear leg", "left rear leg") diff --git a/code/modules/mob/living/simple_animal/friendly/rat.dm b/code/modules/mob/living/simple_animal/friendly/rat.dm index 699852badf3..eb19e17c2f8 100644 --- a/code/modules/mob/living/simple_animal/friendly/rat.dm +++ b/code/modules/mob/living/simple_animal/friendly/rat.dm @@ -26,7 +26,6 @@ pass_flags = PASSTABLE speak_chance = 3 turns_per_move = 5 - see_in_dark = 6 maxHealth = 5 health = 5 meat_type = /obj/item/reagent_containers/food/snacks/meat/rat diff --git a/code/modules/mob/living/simple_animal/friendly/ratking.dm b/code/modules/mob/living/simple_animal/friendly/ratking.dm index 5ef119bdd84..d21d9600555 100644 --- a/code/modules/mob/living/simple_animal/friendly/ratking.dm +++ b/code/modules/mob/living/simple_animal/friendly/ratking.dm @@ -21,7 +21,6 @@ icon_dead = "rat_gray_dead" icon_rest = "rat_gray_sleep" - see_in_dark = 8 see_invisible = SEE_INVISIBLE_NOLIGHTING var/swarm_name = "peasentry" diff --git a/code/modules/mob/living/simple_animal/hostile/adhomai.dm b/code/modules/mob/living/simple_animal/hostile/adhomai.dm index 49dec00d672..07126157a24 100644 --- a/code/modules/mob/living/simple_animal/hostile/adhomai.dm +++ b/code/modules/mob/living/simple_animal/hostile/adhomai.dm @@ -101,7 +101,6 @@ environment_smash = 1 attack_emote = "wiggles toward" - see_in_dark = 10 see_invisible = SEE_INVISIBLE_NOLIGHTING blood_type = "#281C2D" @@ -132,7 +131,6 @@ mob_size = 5 attack_emote = "hums at" - see_in_dark = 10 see_invisible = SEE_INVISIBLE_NOLIGHTING smart_ranged = TRUE diff --git a/code/modules/mob/living/simple_animal/hostile/bear.dm b/code/modules/mob/living/simple_animal/hostile/bear.dm index a4d464731d1..c6c955b4d4f 100644 --- a/code/modules/mob/living/simple_animal/hostile/bear.dm +++ b/code/modules/mob/living/simple_animal/hostile/bear.dm @@ -15,7 +15,6 @@ emote_see = list("stares ferociously", "stomps") speak_chance = 10 turns_per_move = 10 - see_in_dark = 6 meat_type = /obj/item/reagent_containers/food/snacks/bearmeat meat_amount = 5 organ_names = list("chest", "lower body", "left arm", "right arm", "left leg", "right leg", "head") diff --git a/code/modules/mob/living/simple_animal/hostile/cavern_geist.dm b/code/modules/mob/living/simple_animal/hostile/cavern_geist.dm index dc39167b5d6..283c2506964 100644 --- a/code/modules/mob/living/simple_animal/hostile/cavern_geist.dm +++ b/code/modules/mob/living/simple_animal/hostile/cavern_geist.dm @@ -31,7 +31,6 @@ attacktext = "mangled" attack_sound = 'sound/weapons/bloodyslice.ogg' - see_in_dark = 8 see_invisible = SEE_INVISIBLE_NOLIGHTING pixel_x = -16 speed = -1 diff --git a/code/modules/mob/living/simple_animal/hostile/changeling.dm b/code/modules/mob/living/simple_animal/hostile/changeling.dm index 8d35d49789d..f6ada972b01 100644 --- a/code/modules/mob/living/simple_animal/hostile/changeling.dm +++ b/code/modules/mob/living/simple_animal/hostile/changeling.dm @@ -37,7 +37,6 @@ attack_sound = 'sound/weapons/bloodyslice.ogg' emote_sounds = list('sound/effects/creatures/bear_loud_1.ogg', 'sound/effects/creatures/bear_loud_2.ogg', 'sound/effects/creatures/bear_loud_3.ogg', 'sound/effects/creatures/bear_loud_4.ogg') - see_in_dark = 8 see_invisible = SEE_INVISIBLE_NOLIGHTING minbodytemp = 0 @@ -167,7 +166,6 @@ attacktext = "mangled" attack_sound = 'sound/weapons/bloodyslice.ogg' - see_in_dark = 8 see_invisible = SEE_INVISIBLE_NOLIGHTING pass_flags = PASSTABLE diff --git a/code/modules/mob/living/simple_animal/hostile/commanded/guard_dog.dm b/code/modules/mob/living/simple_animal/hostile/commanded/guard_dog.dm index b51670bc3fb..e09c43c8e90 100644 --- a/code/modules/mob/living/simple_animal/hostile/commanded/guard_dog.dm +++ b/code/modules/mob/living/simple_animal/hostile/commanded/guard_dog.dm @@ -16,7 +16,6 @@ speak_chance = 1 turns_per_move = 7 - see_in_dark = 6 speak = list("Woof!", "Bark!", "AUUUUUU!","AwooOOOoo!") speak_emote = list("barks", "woofs") diff --git a/code/modules/mob/living/simple_animal/hostile/commanded/ives.dm b/code/modules/mob/living/simple_animal/hostile/commanded/ives.dm index 8135b879246..83ca6e81d92 100644 --- a/code/modules/mob/living/simple_animal/hostile/commanded/ives.dm +++ b/code/modules/mob/living/simple_animal/hostile/commanded/ives.dm @@ -20,7 +20,6 @@ speak_chance = 1 turns_per_move = 7 - see_in_dark = 6 speak = list("Rawr!", "Gawrgle!", "Bizzbop!", "Bweeewoooo!") speak_emote = list("roars pitifully", "squeals out a mechanical attempt at a growl") diff --git a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm index 7da9e4f49e7..26ad2fa9f09 100644 --- a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm +++ b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm @@ -19,7 +19,6 @@ emote_hear = list("chitters") speak_chance = 5 turns_per_move = 5 - see_in_dark = 10 meat_amount = 3 meat_type = /obj/item/reagent_containers/food/snacks/xenomeat organ_names = list("thorax", "legs", "head") diff --git a/code/modules/mob/living/simple_animal/hostile/hivebots/hivebot.dm b/code/modules/mob/living/simple_animal/hostile/hivebots/hivebot.dm index 81b45ace41a..f291400a5c6 100644 --- a/code/modules/mob/living/simple_animal/hostile/hivebots/hivebot.dm +++ b/code/modules/mob/living/simple_animal/hostile/hivebots/hivebot.dm @@ -31,7 +31,6 @@ tameable = FALSE flying = TRUE smart_melee = FALSE - see_in_dark = 8 pass_flags = PASSTABLE|PASSRAILING emote_hear = list("emits a harsh noise") emote_sounds = list( diff --git a/code/modules/mob/living/simple_animal/hostile/hivebots/hivebot_beacon.dm b/code/modules/mob/living/simple_animal/hostile/hivebots/hivebot_beacon.dm index 767a01be86c..602a0709f93 100644 --- a/code/modules/mob/living/simple_animal/hostile/hivebots/hivebot_beacon.dm +++ b/code/modules/mob/living/simple_animal/hostile/hivebots/hivebot_beacon.dm @@ -33,7 +33,6 @@ max_n2 = 0 minbodytemp = 0 speed = -10 - see_in_dark = 8 destroy_surroundings = 0 var/bot_type var/bot_amt = 160 //Number of total bots that are spawned before the beacon disappears completely. diff --git a/code/modules/mob/living/simple_animal/hostile/hivebots/hivebot_harvester.dm b/code/modules/mob/living/simple_animal/hostile/hivebots/hivebot_harvester.dm index f3ae47cd03b..fdc5a1e6100 100644 --- a/code/modules/mob/living/simple_animal/hostile/hivebots/hivebot_harvester.dm +++ b/code/modules/mob/living/simple_animal/hostile/hivebots/hivebot_harvester.dm @@ -30,7 +30,6 @@ tameable = FALSE flying = 1 mob_size = MOB_LARGE - see_in_dark = 8 pass_flags = PASSTABLE|PASSRAILING attack_emote = "focuses on" var/mob/living/simple_animal/hostile/hivebotbeacon/linked_parent = null diff --git a/code/modules/mob/living/simple_animal/hostile/icarus_drone.dm b/code/modules/mob/living/simple_animal/hostile/icarus_drone.dm index a1cfcf88e52..54a5523e4e5 100644 --- a/code/modules/mob/living/simple_animal/hostile/icarus_drone.dm +++ b/code/modules/mob/living/simple_animal/hostile/icarus_drone.dm @@ -56,7 +56,6 @@ tameable = FALSE flying = TRUE - see_in_dark = 8 see_invisible = SEE_INVISIBLE_NOLIGHTING psi_pingable = FALSE diff --git a/code/modules/mob/living/simple_animal/hostile/krampus.dm b/code/modules/mob/living/simple_animal/hostile/krampus.dm index 380566ccdc6..c7f4443d0d3 100644 --- a/code/modules/mob/living/simple_animal/hostile/krampus.dm +++ b/code/modules/mob/living/simple_animal/hostile/krampus.dm @@ -30,7 +30,6 @@ attacktext = "punished" attack_sound = 'sound/weapons/bladeslice.ogg' - see_in_dark = 8 see_invisible = SEE_INVISIBLE_NOLIGHTING minbodytemp = 0 diff --git a/code/modules/mob/living/simple_animal/hostile/morph.dm b/code/modules/mob/living/simple_animal/hostile/morph.dm index 697c8d1192d..e5a859d4cbf 100644 --- a/code/modules/mob/living/simple_animal/hostile/morph.dm +++ b/code/modules/mob/living/simple_animal/hostile/morph.dm @@ -32,7 +32,6 @@ melee_damage_lower = 12 melee_damage_upper = 16 - see_in_dark = 8 see_invisible = SEE_INVISIBLE_NOLIGHTING stop_sight_update = TRUE diff --git a/code/modules/mob/living/simple_animal/hostile/phoron_worm.dm b/code/modules/mob/living/simple_animal/hostile/phoron_worm.dm index 66f9eb6a0d9..850d27e5386 100644 --- a/code/modules/mob/living/simple_animal/hostile/phoron_worm.dm +++ b/code/modules/mob/living/simple_animal/hostile/phoron_worm.dm @@ -31,7 +31,6 @@ mob_swap_flags = HUMAN|SIMPLE_ANIMAL|SLIME|MONKEY mob_push_flags = ALLMOBS - see_in_dark = 8 see_invisible = SEE_INVISIBLE_NOLIGHTING minbodytemp = 0 diff --git a/code/modules/mob/living/simple_animal/hostile/pra.dm b/code/modules/mob/living/simple_animal/hostile/pra.dm index 298edd6903b..6ed340c5782 100644 --- a/code/modules/mob/living/simple_animal/hostile/pra.dm +++ b/code/modules/mob/living/simple_animal/hostile/pra.dm @@ -194,7 +194,6 @@ tameable = FALSE flying = TRUE - see_in_dark = 8 see_invisible = SEE_INVISIBLE_NOLIGHTING emote_sounds = list('sound/effects/creatures/PRA_drone.ogg') diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/aquatic.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/aquatic.dm index 2600da8aad5..bf00ecb5072 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/aquatic.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/aquatic.dm @@ -37,7 +37,6 @@ name = "carnivorous aquatic creature" desc = "A threatening-looking aquatic creature with a mouth full of densely-packed, razor sharp teeth." emote_see = list("swishes around elegantly", "floats threateningly") - see_in_dark = 6 mob_size = MOB_LARGE icon_state = "thresher" icon_living = "thresher" diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/cavern.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/cavern.dm index 766efda93cf..bfd37eb863e 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/cavern.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/cavern.dm @@ -45,7 +45,6 @@ faction = "cavern" flying = TRUE - see_in_dark = 8 see_invisible = SEE_INVISIBLE_NOLIGHTING /mob/living/simple_animal/hostile/retaliate/cavern_dweller/Allow_Spacemove(var/check_drift = 0) @@ -110,7 +109,6 @@ minbodytemp = 0 light_range = 10 light_wedge = LIGHT_WIDE - see_in_dark = 8 psi_pingable = FALSE faction = "sol" diff --git a/code/modules/mob/living/simple_animal/hostile/sarlacc.dm b/code/modules/mob/living/simple_animal/hostile/sarlacc.dm index d207d48f54c..d9fd68986bf 100644 --- a/code/modules/mob/living/simple_animal/hostile/sarlacc.dm +++ b/code/modules/mob/living/simple_animal/hostile/sarlacc.dm @@ -92,7 +92,6 @@ desc = "The gaping maw opens and closes eternally, insatiably... Rumours however tell that those who can sate it are rewarded." icon = 'icons/mob/npc/cavern.dmi' icon_state = "sarlacc" - see_in_dark = 8 health = 100 maxHealth = 100 gender = NEUTER @@ -313,7 +312,6 @@ desc = "This pulsating brain seems somehow connected to all the other orifices in this room..." icon = 'icons/mob/npc/cavern.dmi' icon_state = "sarlaccbrain" - see_in_dark = 8 see_invisible = SEE_INVISIBLE_NOLIGHTING universal_speak = 1 diff --git a/code/modules/mob/living/simple_animal/hostile/space_fauna.dm b/code/modules/mob/living/simple_animal/hostile/space_fauna.dm index 09394fdda5c..d1c3a5a6819 100644 --- a/code/modules/mob/living/simple_animal/hostile/space_fauna.dm +++ b/code/modules/mob/living/simple_animal/hostile/space_fauna.dm @@ -48,7 +48,6 @@ attack_emote = "nashes at" flying = TRUE - see_in_dark = 8 see_invisible = SEE_INVISIBLE_NOLIGHTING /mob/living/simple_animal/hostile/carp/update_icon() @@ -291,5 +290,4 @@ attack_emote = "nashes at" flying = TRUE - see_in_dark = 8 see_invisible = SEE_INVISIBLE_NOLIGHTING diff --git a/code/modules/mob/living/simple_animal/hostile/spider_queen.dm b/code/modules/mob/living/simple_animal/hostile/spider_queen.dm index 921ac9eca16..ac9801b9023 100644 --- a/code/modules/mob/living/simple_animal/hostile/spider_queen.dm +++ b/code/modules/mob/living/simple_animal/hostile/spider_queen.dm @@ -13,7 +13,6 @@ emote_hear = list("chitters") speak_chance = 5 turns_per_move = 5 - see_in_dark = 10 see_invisible = SEE_INVISIBLE_NOLIGHTING meat_type = /obj/item/reagent_containers/food/snacks/xenomeat organ_names = list("thorax", "legs", "head") diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index 49dd4d3799d..871a8a8b743 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -6,6 +6,10 @@ sight = DEFAULT_SIGHT var/datum/mind/mind + // we never want to hide a turf because it's not lit + // We can rely on the lighting plane to handle that for us + see_in_dark = 1e6 + var/stat = 0 //Whether a mob is alive or dead. TODO: Move this to living - Nodrak can_be_buckled = TRUE diff --git a/code/modules/organs/subtypes/parasite.dm b/code/modules/organs/subtypes/parasite.dm index 9cedb4dce6e..bc4778c48e1 100644 --- a/code/modules/organs/subtypes/parasite.dm +++ b/code/modules/organs/subtypes/parasite.dm @@ -230,8 +230,12 @@ owner.remove_language(L.name) owner.add_language(LANGUAGE_VAURCA) owner.add_language(LANGUAGE_LIIDRA) + owner.set_default_language(LANGUAGE_LIIDRA) removed_langs = TRUE + owner.set_see_invisible(SEE_INVISIBLE_NOLIGHTING) + owner.add_client_color(/datum/client_color/vaurca) + if(prob(10)) if(owner.can_feel_pain()) to_chat(owner, SPAN_WARNING("You feel an unbearable pain in your mind!")) diff --git a/html/changelogs/fluffyghost-fixliidrazombies.yml b/html/changelogs/fluffyghost-fixliidrazombies.yml new file mode 100644 index 00000000000..b67c0d93511 --- /dev/null +++ b/html/changelogs/fluffyghost-fixliidrazombies.yml @@ -0,0 +1,47 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +# balance +# admin +# backend +# security +# refactor +################################# + +# Your name. +author: FluffyGhost + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - bugfix: "Liidra zombies now speak Liidraic by default." + - bugfix: "Fixed a runtime that prevented the Liidra zombies from speaking in the hivenet." + - rscadd: "Liidra zombies now see in the dark, like their Vaurca counterparts." + - backend: "Refactored set_default_language into a proc, updated the verbs that interact with it." + - backend: "Minor refactor of the set default language verb." + - backend: "DMDoc'd add_language and minor refactor of it." + - backend: "Removed see_in_dark related things, set it as per TG, we rely on the lighting plane only now."