diff --git a/code/__DEFINES/DNA.dm b/code/__DEFINES/DNA.dm index 4a3618e941..9a2b6473af 100644 --- a/code/__DEFINES/DNA.dm +++ b/code/__DEFINES/DNA.dm @@ -23,6 +23,7 @@ #define WACKY "Wacky" #define MUT_MUTE "Mute" #define SMILE "Smile" +#define STONER "Stoner" #define UNINTELLIGABLE "Unintelligable" #define SWEDISH "Swedish" #define CHAV "Chav" diff --git a/code/datums/mutations.dm b/code/datums/mutations.dm index caab422e8b..05e4f4d458 100644 --- a/code/datums/mutations.dm +++ b/code/datums/mutations.dm @@ -608,6 +608,23 @@ GLOBAL_LIST_EMPTY(mutations_list) message = replacetext(message," muh valids "," getting my kicks ") return trim(message) +/datum/mutation/human/stoner + name = "Stoner" + quality = NEGATIVE + dna_block = NON_SCANNABLE + text_gain_indication = "You feel...totally chill, man!" + text_lose_indication = "You feel like you have a better sense of time." + +/datum/mutation/human/stoner/on_acquiring(mob/living/carbon/human/owner) + ..() + owner.grant_language(/datum/language/beachbum) + owner.remove_language(/datum/language/common) + +/datum/mutation/human/stoner/on_losing(mob/living/carbon/human/owner) + ..() + owner.grant_language(/datum/language/common) + owner.remove_language(/datum/language/beachbum) + /datum/mutation/human/laser_eyes name = "Laser Eyes" quality = POSITIVE diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm index 6100b296ed..0bda03c667 100644 --- a/code/modules/awaymissions/corpse.dm +++ b/code/modules/awaymissions/corpse.dm @@ -377,6 +377,10 @@ icon_state = "sleeper" flavour_text = "You are a beach bum!" +/obj/effect/mob_spawn/human/beach/equip(mob/living/carbon/human/H) + ..() + H.dna.add_mutation(STONER) + /////////////////Officers+Nanotrasen Security////////////////////// /obj/effect/mob_spawn/human/bridgeofficer diff --git a/code/modules/language/beachbum.dm b/code/modules/language/beachbum.dm new file mode 100644 index 0000000000..84c75c9ca4 --- /dev/null +++ b/code/modules/language/beachbum.dm @@ -0,0 +1,22 @@ +/datum/language/beachbum + name = "Beach Bumbian" + desc = "For when you're too toasted to speak normally." + speech_verb = "mumbles" + ask_verb = "grills" + exclaim_verb = "hollers" + key = "u" + space_chance = 85 + default_priority = 90 + syllables = list("cowabunga", "rad", "radical", "dudes", "bogus", "weeed", "every", + "dee", "dah", "woah", "surf", "blazed", "high", "heinous", "day", + "brah", "bro", "blown", "catch", "body", "beach", "oooo", "twenty", + "shiz", "phiz", "wizz", "pop", "chill", "awesome", "dude", "it", + "wax", "stoked", "yes", "ding", "way", "no", "wicked", "aaaa", + "cool", "hoo", "wah", "wee", "man", "maaaaaan", "mate", "wick", + "oh", "ocean", "up", "out", "rip", "slide", "big", "stomp", + "weed", "pot", "smoke", "four-twenty", "shove", "wacky", "hah", + "sick", "slash", "spit", "stoked", "shallow", "gun", "party", + "heavy", "stellar", "excellent", "triumphant", "babe", "four", + "tail", "trim", "tube", "wobble", "roll", "gnarly", "epic") + + icon_state = "beach" diff --git a/code/modules/mob/living/carbon/human/status_procs.dm b/code/modules/mob/living/carbon/human/status_procs.dm index 4e80477e6b..f1ff497a2a 100644 --- a/code/modules/mob/living/carbon/human/status_procs.dm +++ b/code/modules/mob/living/carbon/human/status_procs.dm @@ -20,3 +20,16 @@ . = ..() if(.) update_hair() + +/mob/living/carbon/human/set_drugginess(amount) + ..() + if(!amount) + remove_language(/datum/language/beachbum) + +/mob/living/carbon/human/adjust_drugginess(amount) + ..() + if(!dna.check_mutation(STONER)) + if(druggy) + grant_language(/datum/language/beachbum) + else + remove_language(/datum/language/beachbum) diff --git a/code/modules/surgery/organs/tongue.dm b/code/modules/surgery/organs/tongue.dm index 5a3555c8f9..5f23b1ef7d 100644 --- a/code/modules/surgery/organs/tongue.dm +++ b/code/modules/surgery/organs/tongue.dm @@ -15,6 +15,7 @@ /datum/language/common, /datum/language/draconic, /datum/language/monkey, + /datum/language/beachbum, /datum/language/narsie, )) diff --git a/code/modules/surgery/organs/tongue.dm.rej b/code/modules/surgery/organs/tongue.dm.rej new file mode 100644 index 0000000000..11c501c6f6 --- /dev/null +++ b/code/modules/surgery/organs/tongue.dm.rej @@ -0,0 +1,9 @@ +diff a/code/modules/surgery/organs/tongue.dm b/code/modules/surgery/organs/tongue.dm (rejected hunks) +@@ -17,6 +17,7 @@ + /datum/language/codespeak, + /datum/language/monkey, + /datum/language/narsie, ++ /datum/language/beachbum, + /datum/language/ratvar + )) + diff --git a/icons/misc/language.dmi b/icons/misc/language.dmi index 081bbf1aa3..f4894c2b90 100644 Binary files a/icons/misc/language.dmi and b/icons/misc/language.dmi differ diff --git a/tgstation.dme b/tgstation.dme index 53723583d2..7c1d803849 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -1439,6 +1439,7 @@ #include "code\modules\jobs\job_types\science.dm" #include "code\modules\jobs\job_types\security.dm" #include "code\modules\jobs\job_types\silicon.dm" +#include "code\modules\language\beachbum.dm" #include "code\modules\language\common.dm" #include "code\modules\language\draconic.dm" #include "code\modules\language\drone.dm" diff --git a/tgstation.dme.rej b/tgstation.dme.rej new file mode 100644 index 0000000000..6f5a5fec15 --- /dev/null +++ b/tgstation.dme.rej @@ -0,0 +1,9 @@ +diff a/tgstation.dme b/tgstation.dme (rejected hunks) +@@ -1390,6 +1390,7 @@ + #include "code\modules\jobs\job_types\security.dm" + #include "code\modules\jobs\job_types\silicon.dm" + #include "code\modules\jobs\map_changes\map_changes.dm" ++#include "code\modules\language\beachbum.dm" + #include "code\modules\language\codespeak.dm" + #include "code\modules\language\common.dm" + #include "code\modules\language\draconic.dm"