Skip to content
This repository was archived by the owner on May 22, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion code/datums/traits/negative.dm
Original file line number Diff line number Diff line change
Expand Up @@ -607,7 +607,7 @@
/datum/quirk/sheltered/on_spawn()
var/mob/living/carbon/human/H = quirk_holder
H.remove_language(/datum/language/common, FALSE, TRUE)
if(!H.can_speak_language(/datum/language/draconic) && !H.can_speak_language(/datum/language/machine) && !H.can_speak_language(/datum/language/sylvan))
if(!H.get_selected_language())
H.grant_language(/datum/language/japanese)

/datum/quirk/allergic
Expand Down
15 changes: 15 additions & 0 deletions code/modules/language/bonespeak.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
/datum/language/bonespeak
name = "Bonespeak"
desc = "The rhythmic rattling Plasma People use to communicate."
speech_verb = "rattles"
ask_verb = "clicks"
exclaim_verb = "clatters"
key = "b"
flags = TONGUELESS_SPEECH
space_chance = 80
syllables = list(
"tktk", "creak", "krt", "clack", "rattle", "krr"
)
icon_state = "plasmaman"
default_priority = 90
sing_verb = "crackles"
15 changes: 15 additions & 0 deletions code/modules/language/etherean.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
/datum/language/etherean
name = "Etherean"
desc = "The native language of the Ethereals."
speech_verb = "crackles"
ask_verb = "pops"
exclaim_verb = "jolts"
key = "3"
flags = TONGUELESS_SPEECH
space_chance = 70
syllables = list(
"zap", "pop", "zzzz", "bzzzz", "tzzt", "hmmmm", "mmmm", "dzzzt", "ohmm", "zpp"
)
icon_state = "ethereal"
default_priority = 90
sing_verb = "hums"
17 changes: 17 additions & 0 deletions code/modules/language/language_holder.dm
Original file line number Diff line number Diff line change
Expand Up @@ -317,6 +317,12 @@ Key procs
spoken_languages = list(/datum/language/common = list(LANGUAGE_ATOM),
/datum/language/sylvan = list(LANGUAGE_ATOM))

/datum/language_holder/plasmaman
understood_languages = list(/datum/language/common = list(LANGUAGE_ATOM),
/datum/language/bonespeak = list(LANGUAGE_ATOM))
spoken_languages = list(/datum/language/common = list(LANGUAGE_ATOM),
/datum/language/bonespeak = list(LANGUAGE_ATOM))

/datum/language_holder/pod
understood_languages = list(/datum/language/common = list(LANGUAGE_ATOM),
/datum/language/sylvan = list(LANGUAGE_ATOM))
Expand All @@ -335,6 +341,17 @@ Key procs
spoken_languages = list(/datum/language/common = list(LANGUAGE_ATOM),
/datum/language/polysmorph = list(LANGUAGE_ATOM))

/datum/language_holder/mothmen
understood_languages = list(/datum/language/common = list(LANGUAGE_ATOM),
/datum/language/mothian = list(LANGUAGE_ATOM))
spoken_languages = list(/datum/language/common = list(LANGUAGE_ATOM),
/datum/language/mothian = list(LANGUAGE_ATOM))

/datum/language_holder/ethereal
understood_languages = list(/datum/language/common = list(LANGUAGE_ATOM),
/datum/language/etherean = list(LANGUAGE_ATOM))
spoken_languages = list(/datum/language/common = list(LANGUAGE_ATOM),
/datum/language/etherean = list(LANGUAGE_ATOM))

/datum/language_holder/clockwork
understood_languages = list(/datum/language/common = list(LANGUAGE_ATOM),
Expand Down
15 changes: 15 additions & 0 deletions code/modules/language/mothian.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
/datum/language/mothian
name = "Mothian"
desc = "The native language of the Moth people."
speech_verb = "flutters"
ask_verb = "chirps"
exclaim_verb = "buzzes loudly"
key = "2"
flags = TONGUELESS_SPEECH
space_chance = 100
syllables = list(
"bzz", "zzzt", "zzt", "zt", "clck", "tzip", "dzt", "dzzzt"
)
icon_state = "moth"
default_priority = 90
sing_verb = "trills"
2 changes: 1 addition & 1 deletion code/modules/language/sylvan.dm
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,5 @@
"incas", "int", "elc", "ent", "aws", "qip", "nas", "vil", "jens", "dila", "fa",
"la", "re", "do", "ji", "ae", "so", "qe", "ce", "na", "mo", "ha", "yu"
)
icon_state = "plant"
icon_state = "sylvan"
default_priority = 90
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
species_traits = list(DYNCOLORS, AGENDER, NO_UNDERWEAR)
changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT
inherent_traits = list(TRAIT_NOHUNGER)
species_language_holder = /datum/language_holder/ethereal
sexes = FALSE //no fetish content allowed
toxic_food = NONE
inert_mutation = SHOCKTOUCH
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
toxic_food = MEAT | RAW
mutanteyes = /obj/item/organ/eyes/moth
changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT
species_language_holder = /datum/language_holder/mothmen

/datum/species/moth/regenerate_organs(mob/living/carbon/C,datum/species/old_species,replace_current=TRUE)
. = ..()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
disliked_food = FRUIT
liked_food = VEGETABLES | GRILLED
changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC
species_language_holder = /datum/language_holder/plasmaman

/datum/species/plasmaman/spec_life(mob/living/carbon/human/H)
var/datum/gas_mixture/environment = H.loc.return_air()
Expand Down
3 changes: 3 additions & 0 deletions code/modules/surgery/organs/tongue.dm
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@
/datum/language/aphasia,
/datum/language/piratespeak,
/datum/language/sylvan,
/datum/language/bonespeak,
/datum/language/mothian,
/datum/language/etherean,
/datum/language/japanese,
/datum/language/machine, //yogs
/datum/language/darkspawn, //also yogs
Expand Down
Binary file modified icons/misc/language.dmi
Binary file not shown.
3 changes: 3 additions & 0 deletions yogstation.dme
Original file line number Diff line number Diff line change
Expand Up @@ -2048,17 +2048,20 @@
#include "code\modules\keybindings\setup.dm"
#include "code\modules\language\aphasia.dm"
#include "code\modules\language\beachbum.dm"
#include "code\modules\language\bonespeak.dm"
#include "code\modules\language\codespeak.dm"
#include "code\modules\language\common.dm"
#include "code\modules\language\draconic.dm"
#include "code\modules\language\drone.dm"
#include "code\modules\language\egg.dm"
#include "code\modules\language\encrypted.dm"
#include "code\modules\language\etherean.dm"
#include "code\modules\language\language.dm"
#include "code\modules\language\language_holder.dm"
#include "code\modules\language\language_menu.dm"
#include "code\modules\language\machine.dm"
#include "code\modules\language\monkey.dm"
#include "code\modules\language\mothian.dm"
#include "code\modules\language\mouse.dm"
#include "code\modules\language\mushroom.dm"
#include "code\modules\language\narsian.dm"
Expand Down
25 changes: 23 additions & 2 deletions yogstation/code/modules/scripting/Implementations/Telecomms.dm
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@
#define DRACONIC 16
#define BEACHTONGUE 32
#define SYLVAN 64
#define ETHEREAN 128
#define BONE 256
#define MOTH 512

GLOBAL_LIST_INIT(allowed_custom_spans,list(SPAN_ROBOT,SPAN_YELL,SPAN_ITALICS,SPAN_SANS,SPAN_COMMAND,SPAN_CLOWN))//Span classes that players are allowed to set in a radio transmission.
//this is fucking broken
GLOBAL_LIST_INIT(allowed_translations,list(/datum/language/common,/datum/language/machine,/datum/language/draconic))// language datums that players are allowed to translate to in a radio transmission.
Expand Down Expand Up @@ -117,7 +121,10 @@ GLOBAL_LIST_INIT(allowed_translations,list(/datum/language/common,/datum/languag
"polysmorph" = POLYSMORPH,
"draconic" = DRACONIC,
"beachtounge" = BEACHTONGUE,
"sylvan" = SYLVAN
"sylvan" = SYLVAN,
"etherean" = ETHEREAN,
"bonespeak" = BONE,
"mothian" = MOTH
)))

interpreter.Run() // run the thing
Expand Down Expand Up @@ -157,7 +164,12 @@ GLOBAL_LIST_INIT(allowed_translations,list(/datum/language/common,/datum/languag
oldlang = BEACHTONGUE
else if(oldlang == /datum/language/sylvan)
oldlang = SYLVAN

else if(oldlang == /datum/language/etherean)
oldlang = ETHEREAN
else if(oldlang == /datum/language/bonespeak)
oldlang = BONE
else if(oldlang == /datum/language/mothian)
oldlang = MOTH
// Signal data

var/datum/n_struct/signal/script_signal = new(list(
Expand Down Expand Up @@ -288,6 +300,12 @@ GLOBAL_LIST_INIT(allowed_translations,list(/datum/language/common,/datum/languag
return /datum/language/beachbum
if(SYLVAN)
return /datum/language/sylvan
if(ETHEREAN)
return /datum/language/etherean
if(BONE)
return /datum/language/bonespeak
if(MOTH)
return /datum/language/mothian

/datum/n_function/default/mem
name = "mem"
Expand Down Expand Up @@ -458,3 +476,6 @@ GLOBAL_LIST_INIT(allowed_translations,list(/datum/language/common,/datum/languag
#undef DRACONIC
#undef BEACHTONGUE
#undef SYLVAN
#undef ETHEREAN
#undef BONE
#undef MOTH