mirror of
https://github.com/KabKebab/GS13.git
synced 2026-07-11 16:08:32 +01:00
Language Diversity / Racial fixes
This commit is contained in:
@@ -232,4 +232,64 @@
|
||||
|
||||
/datum/quirk/slimespeaker/remove()
|
||||
var/mob/living/M = quirk_holder
|
||||
M.remove_language(/datum/language/slime)
|
||||
M.remove_language(/datum/language/slime)
|
||||
|
||||
/datum/quirk/narsianspeaker
|
||||
name = "Nar-Sian speaker"
|
||||
desc = "Obsessed with the inner workings of the blood cult, you've learned how to speak their ancient language."
|
||||
value = 1
|
||||
gain_text = "<span class='notice'>Your mind feels sensitive to the slurred, ancient language of Nar'Sian cultists.</span>"
|
||||
lose_text = "<span class='notice'>You forget how to speak Nar'Sian!</span>"
|
||||
|
||||
/datum/quirk/narsianspeaker/add()
|
||||
var/mob/living/M = quirk_holder
|
||||
M.grant_language(/datum/language/narsie)
|
||||
|
||||
/datum/quirk/narsianspeaker/remove()
|
||||
var/mob/living/M = quirk_holder
|
||||
M.remove_language(/datum/language/narsie)
|
||||
|
||||
/datum/quirk/ratvarianspeaker
|
||||
name = "Ratvarian speaker"
|
||||
desc = "Obsessed with forbidden knowledge regarding the clock cult, you've learned how to speak their language."
|
||||
value = 1
|
||||
gain_text = "<span class='notice'>Your mind feels sensitive to the ancient language of Ratvarian cultists.</span>"
|
||||
lose_text = "<span class='notice'>You forget how to speak Ratvarian!</span>"
|
||||
|
||||
/datum/quirk/ratvarianspeaker/add()
|
||||
var/mob/living/M = quirk_holder
|
||||
M.grant_language(/datum/language/ratvar)
|
||||
|
||||
/datum/quirk/ratvarianspeaker/remove()
|
||||
var/mob/living/M = quirk_holder
|
||||
M.remove_language(/datum/language/ratvar)
|
||||
|
||||
/datum/quirk/encodedspeaker
|
||||
name = "Encoded Audio speaker"
|
||||
desc = "You've been augmented with language encoders, allowing you to understand encoded audio."
|
||||
value = 1
|
||||
gain_text = "<span class='notice'>Your mouth feels a little weird for a moment as your language encoder kicks in.</span>"
|
||||
lose_text = "<span class='notice'>You feel your encoded audio chip malfunction. You can no longer speak or understand the language of fax machines.</span>"
|
||||
|
||||
/datum/quirk/encodedspeaker/add()
|
||||
var/mob/living/M = quirk_holder
|
||||
M.grant_language(/datum/language/machine)
|
||||
|
||||
/datum/quirk/encodedspeaker/remove()
|
||||
var/mob/living/M = quirk_holder
|
||||
M.remove_language(/datum/language/machine)
|
||||
|
||||
/datum/quirk/xenospeaker
|
||||
name = "Xenocommon speaker"
|
||||
desc = "Through time observing and interacting with xenos and xeno hybrids, you've learned the intricate hissing patterns of their language."
|
||||
value = 1
|
||||
gain_text = "<span class='notice'>You feel that you are now able to hiss in the same way xenomorphs do.</span>"
|
||||
lose_text = "<span class='notice'>You seem to no longer know how to speak xenocommon.</span>"
|
||||
|
||||
/datum/quirk/xenospeaker/add()
|
||||
var/mob/living/M = quirk_holder
|
||||
M.grant_language(/datum/language/xenocommon)
|
||||
|
||||
/datum/quirk/xenospeaker/remove()
|
||||
var/mob/living/M = quirk_holder
|
||||
M.remove_language(/datum/language/xenocommon)
|
||||
|
||||
@@ -29,10 +29,12 @@
|
||||
..()
|
||||
assume_disguise(old_species, H)
|
||||
RegisterSignal(H, COMSIG_MOB_SAY, .proc/handle_speech)
|
||||
H.grant_language(/datum/language/machine)
|
||||
|
||||
/datum/species/synth/on_species_loss(mob/living/carbon/human/H)
|
||||
. = ..()
|
||||
UnregisterSignal(H, COMSIG_MOB_SAY)
|
||||
H.remove_language(/datum/language/machine)
|
||||
|
||||
/datum/species/synth/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/H)
|
||||
if(chem.id == "synthflesh")
|
||||
@@ -123,4 +125,4 @@
|
||||
if (/datum/species/golem/bananium)
|
||||
speech_args[SPEECH_SPANS] |= SPAN_CLOWN
|
||||
if (/datum/species/golem/clockwork)
|
||||
speech_args[SPEECH_SPANS] |= SPAN_ROBOT
|
||||
speech_args[SPEECH_SPANS] |= SPAN_ROBOT
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
/datum/language/ratvar,
|
||||
/datum/language/aphasia,
|
||||
/datum/language/slime,
|
||||
/datum/language/xenocommon,
|
||||
))
|
||||
healing_factor = STANDARD_ORGAN_HEALING*5 //Fast!!
|
||||
decay_factor = STANDARD_ORGAN_DECAY/2
|
||||
@@ -252,6 +253,12 @@
|
||||
/obj/item/organ/tongue/robot/can_speak_in_language(datum/language/dt)
|
||||
return ..() || electronics_magic
|
||||
|
||||
/obj/item/organ/tongue/robot/Initialize(mapload)
|
||||
. = ..()
|
||||
var/static/list/languages_possible_robot = languages_possible_base + typecacheof(list(
|
||||
/datum/language/machine))
|
||||
languages_possible = languages_possible_robot
|
||||
|
||||
/obj/item/organ/tongue/robot/handle_speech(datum/source, list/speech_args)
|
||||
speech_args[SPEECH_SPANS] |= SPAN_ROBOT
|
||||
|
||||
|
||||
@@ -227,6 +227,7 @@
|
||||
liked_food = MEAT
|
||||
|
||||
/datum/species/xeno/on_species_gain(mob/living/carbon/human/C, datum/species/old_species)
|
||||
C.grant_language(/datum/language/xenocommon)
|
||||
if(("legs" in C.dna.species.mutant_bodyparts) && C.dna.features["legs"] == "Digitigrade Legs")
|
||||
species_traits += DIGITIGRADE
|
||||
if(DIGITIGRADE in species_traits)
|
||||
@@ -234,6 +235,7 @@
|
||||
. = ..()
|
||||
|
||||
/datum/species/xeno/on_species_loss(mob/living/carbon/human/C, datum/species/new_species)
|
||||
C.remove_language(/datum/language/xenocommon)
|
||||
if(("legs" in C.dna.species.mutant_bodyparts) && C.dna.features["legs"] == "Normal Legs")
|
||||
species_traits -= DIGITIGRADE
|
||||
if(DIGITIGRADE in species_traits)
|
||||
|
||||
@@ -24,12 +24,14 @@
|
||||
var/datum/action/innate/monitor_change/screen
|
||||
|
||||
/datum/species/ipc/on_species_gain(mob/living/carbon/human/C)
|
||||
C.grant_language(/datum/language/machine)
|
||||
if(isipcperson(C) && !screen)
|
||||
screen = new
|
||||
screen.Grant(C)
|
||||
..()
|
||||
|
||||
/datum/species/ipc/on_species_loss(mob/living/carbon/human/C)
|
||||
C.remove_language(/datum/language/machine)
|
||||
if(screen)
|
||||
screen.Remove(C)
|
||||
..()
|
||||
|
||||
Reference in New Issue
Block a user