From 1f4bd7e6a4464935776199c76d2e93b6cb11ac97 Mon Sep 17 00:00:00 2001
From: Enric Gabriel <43283559+SandPoot@users.noreply.github.com>
Date: Thu, 2 Jul 2020 00:43:04 -0300
Subject: [PATCH] Sagaru language (#17)
* stupid super custom species
* makes people actually able to speak it + solves minor problems
---
code/modules/surgery/organs/tongue.dm | 1 +
sandcode/code/__DEFINES/language.dm | 2 ++
sandcode/code/__DEFINES/traits.dm | 3 ++-
sandcode/code/datums/traits/neutral.dm | 18 ++++++++++++++++++
sandcode/code/modules/language/language.dm | 16 ++++++++++++++++
sandcode/icons/misc/language.dmi | Bin 0 -> 346 bytes
tgstation.dme | 2 ++
7 files changed, 41 insertions(+), 1 deletion(-)
create mode 100644 sandcode/code/__DEFINES/language.dm
create mode 100644 sandcode/code/modules/language/language.dm
create mode 100644 sandcode/icons/misc/language.dmi
diff --git a/code/modules/surgery/organs/tongue.dm b/code/modules/surgery/organs/tongue.dm
index 1c4a2d3043..e8d6539507 100644
--- a/code/modules/surgery/organs/tongue.dm
+++ b/code/modules/surgery/organs/tongue.dm
@@ -24,6 +24,7 @@
/datum/language/slime,
/datum/language/vampiric,
/datum/language/dwarf,
+ /datum/language/sandcode/sergal,
))
healing_factor = STANDARD_ORGAN_HEALING*5 //Fast!!
decay_factor = STANDARD_ORGAN_DECAY/2
diff --git a/sandcode/code/__DEFINES/language.dm b/sandcode/code/__DEFINES/language.dm
new file mode 100644
index 0000000000..eaa5838303
--- /dev/null
+++ b/sandcode/code/__DEFINES/language.dm
@@ -0,0 +1,2 @@
+//i want fancy merp language
+#define LANGUAGE_SERGAL "Sagaru"
diff --git a/sandcode/code/__DEFINES/traits.dm b/sandcode/code/__DEFINES/traits.dm
index 68f7dcf62d..de41e25baf 100644
--- a/sandcode/code/__DEFINES/traits.dm
+++ b/sandcode/code/__DEFINES/traits.dm
@@ -1,2 +1,3 @@
//mob traits
-#define TRAIT_SHELTERED "sheltered" // thanks yog, i want it
\ No newline at end of file
+#define TRAIT_SHELTERED "sheltered" // thanks yog, i want it
+#define TRAIT_KNOWSSAGARU "knows sagaru"
diff --git a/sandcode/code/datums/traits/neutral.dm b/sandcode/code/datums/traits/neutral.dm
index 415ec9aab1..3f5811e272 100644
--- a/sandcode/code/datums/traits/neutral.dm
+++ b/sandcode/code/datums/traits/neutral.dm
@@ -11,3 +11,21 @@
var/datum/brain_trauma/severe/hypnotic_stupor/T = new()
var/mob/living/carbon/human/H = quirk_holder
H.gain_trauma(T, TRAUMA_RESILIENCE_ABSOLUTE)
+
+/datum/quirk/knows_sagaru
+ name = "Sagaru"
+ desc = "From heavy study or just being born in Tal, you know the language Sagaru"
+ value = 0
+ human_only = TRUE
+ gain_text = "You remember that you know Sagaru."
+ lose_text = "You simply forgot how to speak Sagaru."
+ medical_record_text = null
+ mob_trait = TRAIT_KNOWSSAGARU
+
+/datum/quirk/knows_sagaru/add()
+ var/mob/living/carbon/human/H = quirk_holder
+ H.grant_language(/datum/language/sandcode/sergal)
+
+/datum/quirk/knows_sagaru/remove() //theorically you're not even able to lose it, but what if you do?
+ var/mob/living/carbon/human/H = quirk_holder
+ H.remove_language(/datum/language/sandcode/sergal)
diff --git a/sandcode/code/modules/language/language.dm b/sandcode/code/modules/language/language.dm
new file mode 100644
index 0000000000..5205743209
--- /dev/null
+++ b/sandcode/code/modules/language/language.dm
@@ -0,0 +1,16 @@
+// And so, people started making weird sounds that only similar ones could understand and do them too.
+
+/datum/language/sandcode
+ icon = 'sandcode/icons/misc/language.dmi'
+
+/datum/language/sandcode/sergal
+ name = LANGUAGE_SERGAL
+ desc = "The dominant language of the Sergal homeworld, Tal. It consists of aggressive low-pitched hissing and throaty growling."
+ speech_verb = "snarls"
+ ask_verb = "snarls"
+ exclaim_verb = "barks"
+ key = "z"
+ space_chance = 40
+ syllables = list("grr", "gah", "woof", "arf", "arra", "rah", "wor", "sarg")
+ icon_state = "cheese"
+ flags = TONGUELESS_SPEECH
diff --git a/sandcode/icons/misc/language.dmi b/sandcode/icons/misc/language.dmi
new file mode 100644
index 0000000000000000000000000000000000000000..7dd6956d2aa86950cc8ab69d61c60728bbcf5767
GIT binary patch
literal 346
zcmV-g0j2(lP)1d#_2iao+*02QLyZ5mZoZi;udX;dFkc2Lr&t!fK_m*J!=
sqo-ln0iHB$-Re&Kv0dM#>E1u{0;E<0Y=4cS$p8QV07*qoM6N<$f_PSrE&u=k
literal 0
HcmV?d00001
diff --git a/tgstation.dme b/tgstation.dme
index bbe9ddd31b..de76e5b49e 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -3491,6 +3491,7 @@
#include "modular_citadel\code\modules\reagents\chemistry\recipes\fermi.dm"
#include "modular_citadel\code\modules\reagents\objects\clothes.dm"
#include "modular_citadel\code\modules\reagents\objects\items.dm"
+#include "sandcode\code\__DEFINES\language.dm"
#include "sandcode\code\__DEFINES\traits.dm"
#include "sandcode\code\datums\traits\negative.dm"
#include "sandcode\code\datums\traits\neutral.dm"
@@ -3512,6 +3513,7 @@
#include "sandcode\code\modules\crafting\recipes\recipes_misc.dm"
#include "sandcode\code\modules\hydroponics\grown\misc.dm"
#include "sandcode\code\modules\integrated_electronics\subtypes\output.dm"
+#include "sandcode\code\modules\language\language.dm"
#include "sandcode\code\modules\misc\misc.dm"
#include "sandcode\code\modules\mob\emote.dm"
#include "sandcode\code\modules\mob\living\give.dm"