mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-28 01:51:46 +00:00
* HARK! THERE ARE SOME MAIDENS THAT NEED SAVING! * claymores, chairs * mapmerge, price increase, no losing the flag, no teleporting in, other small stuff * oldworld language, medieval mutation, reviews * see desc for full changelog huge improvements to how medieval speech feels, CTF now fully lit, json beautified, bugs squashed and more NOTELEPORT exploits also quashed. (I NEED TO UNDO THIS FOR ATOMIZATION) * removes my fixes? also bugfixes and CTF separation * dumb json mistake, starting work on reality simulators * BOWS ARE BROOOOOOOOOOOOOOOOOKEN * br * getting closer to working * well, mostly everything now. * finally ready * removes languages stuff as it is buggy and does not work, fixes more bugs, fixes more bugs, fixes more bugs * conflict fix * linting * more lint * bow buff, speech fix, TON of ctf fixes * oh fuck year * NO MORE INSTA DELETING CREW * whoops * review handled * pooosh * conflict fix
251 lines
9.7 KiB
Plaintext
251 lines
9.7 KiB
Plaintext
//These are all minor mutations that affect your speech somehow.
|
|
//Individual ones aren't commented since their functions should be evident at a glance
|
|
|
|
/datum/mutation/human/nervousness
|
|
name = "Nervousness"
|
|
desc = "Causes the holder to stutter."
|
|
quality = MINOR_NEGATIVE
|
|
text_gain_indication = "<span class='danger'>You feel nervous.</span>"
|
|
|
|
/datum/mutation/human/nervousness/on_life()
|
|
if(prob(10))
|
|
owner.stuttering = max(10, owner.stuttering)
|
|
|
|
|
|
/datum/mutation/human/wacky
|
|
name = "Wacky"
|
|
desc = "You are not a clown. You are the entire circus."
|
|
quality = MINOR_NEGATIVE
|
|
text_gain_indication = "<span class='sans'>You feel an off sensation in your voicebox.</span>"
|
|
text_lose_indication = "<span class='notice'>The off sensation passes.</span>"
|
|
|
|
/datum/mutation/human/wacky/on_acquiring(mob/living/carbon/human/owner)
|
|
if(..())
|
|
return
|
|
RegisterSignal(owner, COMSIG_MOB_SAY, .proc/handle_speech)
|
|
|
|
/datum/mutation/human/wacky/on_losing(mob/living/carbon/human/owner)
|
|
if(..())
|
|
return
|
|
UnregisterSignal(owner, COMSIG_MOB_SAY)
|
|
|
|
/datum/mutation/human/wacky/proc/handle_speech(datum/source, list/speech_args)
|
|
SIGNAL_HANDLER
|
|
|
|
speech_args[SPEECH_SPANS] |= SPAN_SANS
|
|
|
|
/datum/mutation/human/mute
|
|
name = "Mute"
|
|
desc = "Completely inhibits the vocal section of the brain."
|
|
quality = NEGATIVE
|
|
text_gain_indication = "<span class='danger'>You feel unable to express yourself at all.</span>"
|
|
text_lose_indication = "<span class='danger'>You feel able to speak freely again.</span>"
|
|
|
|
/datum/mutation/human/mute/on_acquiring(mob/living/carbon/human/owner)
|
|
if(..())
|
|
return
|
|
ADD_TRAIT(owner, TRAIT_MUTE, GENETIC_MUTATION)
|
|
|
|
/datum/mutation/human/mute/on_losing(mob/living/carbon/human/owner)
|
|
if(..())
|
|
return
|
|
REMOVE_TRAIT(owner, TRAIT_MUTE, GENETIC_MUTATION)
|
|
|
|
/datum/mutation/human/unintelligible
|
|
name = "Unintelligible"
|
|
desc = "Partially inhibits the vocal center of the brain, severely distorting speech."
|
|
quality = NEGATIVE
|
|
text_gain_indication = "<span class='danger'>You can't seem to form any coherent thoughts!</span>"
|
|
text_lose_indication = "<span class='danger'>Your mind feels more clear.</span>"
|
|
|
|
/datum/mutation/human/unintelligible/on_acquiring(mob/living/carbon/human/owner)
|
|
if(..())
|
|
return
|
|
ADD_TRAIT(owner, TRAIT_UNINTELLIGIBLE_SPEECH, GENETIC_MUTATION)
|
|
|
|
/datum/mutation/human/unintelligible/on_losing(mob/living/carbon/human/owner)
|
|
if(..())
|
|
return
|
|
REMOVE_TRAIT(owner, TRAIT_UNINTELLIGIBLE_SPEECH, GENETIC_MUTATION)
|
|
|
|
/datum/mutation/human/swedish
|
|
name = "Swedish"
|
|
desc = "A horrible mutation originating from the distant past. Thought to be eradicated after the incident in 2037."
|
|
quality = MINOR_NEGATIVE
|
|
text_gain_indication = "<span class='notice'>You feel Swedish, however that works.</span>"
|
|
text_lose_indication = "<span class='notice'>The feeling of Swedishness passes.</span>"
|
|
|
|
/datum/mutation/human/swedish/on_acquiring(mob/living/carbon/human/owner)
|
|
if(..())
|
|
return
|
|
RegisterSignal(owner, COMSIG_MOB_SAY, .proc/handle_speech)
|
|
|
|
/datum/mutation/human/swedish/on_losing(mob/living/carbon/human/owner)
|
|
if(..())
|
|
return
|
|
UnregisterSignal(owner, COMSIG_MOB_SAY)
|
|
|
|
/datum/mutation/human/swedish/proc/handle_speech(datum/source, list/speech_args)
|
|
SIGNAL_HANDLER
|
|
|
|
var/message = speech_args[SPEECH_MESSAGE]
|
|
if(message)
|
|
message = replacetext(message,"w","v")
|
|
message = replacetext(message,"j","y")
|
|
message = replacetext(message,"a",pick("å","ä","æ","a"))
|
|
message = replacetext(message,"bo","bjo")
|
|
message = replacetext(message,"o",pick("ö","ø","o"))
|
|
if(prob(30))
|
|
message += " Bork[pick("",", bork",", bork, bork")]!"
|
|
speech_args[SPEECH_MESSAGE] = trim(message)
|
|
|
|
/datum/mutation/human/chav
|
|
name = "Chav"
|
|
desc = "Unknown"
|
|
quality = MINOR_NEGATIVE
|
|
text_gain_indication = "<span class='notice'>Ye feel like a reet prat like, innit?</span>"
|
|
text_lose_indication = "<span class='notice'>You no longer feel like being rude and sassy.</span>"
|
|
|
|
/datum/mutation/human/chav/on_acquiring(mob/living/carbon/human/owner)
|
|
if(..())
|
|
return
|
|
RegisterSignal(owner, COMSIG_MOB_SAY, .proc/handle_speech)
|
|
|
|
/datum/mutation/human/chav/on_losing(mob/living/carbon/human/owner)
|
|
if(..())
|
|
return
|
|
UnregisterSignal(owner, COMSIG_MOB_SAY)
|
|
|
|
/datum/mutation/human/chav/proc/handle_speech(datum/source, list/speech_args)
|
|
var/message = speech_args[SPEECH_MESSAGE]
|
|
if(message)
|
|
message = " [message] "
|
|
message = replacetext(message," looking at "," gawpin' at ")
|
|
message = replacetext(message," great "," bangin' ")
|
|
message = replacetext(message," man "," mate ")
|
|
message = replacetext(message," friend ",pick(" mate "," bruv "," bledrin "))
|
|
message = replacetext(message," what "," wot ")
|
|
message = replacetext(message," drink "," wet ")
|
|
message = replacetext(message," get "," giz ")
|
|
message = replacetext(message," what "," wot ")
|
|
message = replacetext(message," no thanks "," wuddent fukken do one ")
|
|
message = replacetext(message," i don't know "," wot mate ")
|
|
message = replacetext(message," no "," naw ")
|
|
message = replacetext(message," robust "," chin ")
|
|
message = replacetext(message," hi "," how what how ")
|
|
message = replacetext(message," hello "," sup bruv ")
|
|
message = replacetext(message," kill "," bang ")
|
|
message = replacetext(message," murder "," bang ")
|
|
message = replacetext(message," windows "," windies ")
|
|
message = replacetext(message," window "," windy ")
|
|
message = replacetext(message," break "," do ")
|
|
message = replacetext(message," your "," yer ")
|
|
message = replacetext(message," security "," coppers ")
|
|
speech_args[SPEECH_MESSAGE] = trim(message)
|
|
|
|
|
|
/datum/mutation/human/elvis
|
|
name = "Elvis"
|
|
desc = "A terrifying mutation named after its 'patient-zero'."
|
|
quality = MINOR_NEGATIVE
|
|
locked = TRUE
|
|
text_gain_indication = "<span class='notice'>You feel pretty good, honeydoll.</span>"
|
|
text_lose_indication = "<span class='notice'>You feel a little less conversation would be great.</span>"
|
|
|
|
/datum/mutation/human/elvis/on_life()
|
|
switch(pick(1,2))
|
|
if(1)
|
|
if(prob(15))
|
|
var/list/dancetypes = list("swinging", "fancy", "stylish", "20'th century", "jivin'", "rock and roller", "cool", "salacious", "bashing", "smashing")
|
|
var/dancemoves = pick(dancetypes)
|
|
owner.visible_message("<b>[owner]</b> busts out some [dancemoves] moves!")
|
|
if(2)
|
|
if(prob(15))
|
|
owner.visible_message("<b>[owner]</b> [pick("jiggles their hips", "rotates their hips", "gyrates their hips", "taps their foot", "dances to an imaginary song", "jiggles their legs", "snaps their fingers")]!")
|
|
|
|
/datum/mutation/human/elvis/on_acquiring(mob/living/carbon/human/owner)
|
|
if(..())
|
|
return
|
|
RegisterSignal(owner, COMSIG_MOB_SAY, .proc/handle_speech)
|
|
|
|
/datum/mutation/human/elvis/on_losing(mob/living/carbon/human/owner)
|
|
if(..())
|
|
return
|
|
UnregisterSignal(owner, COMSIG_MOB_SAY)
|
|
|
|
/datum/mutation/human/elvis/proc/handle_speech(datum/source, list/speech_args)
|
|
SIGNAL_HANDLER
|
|
|
|
var/message = speech_args[SPEECH_MESSAGE]
|
|
if(message)
|
|
message = " [message] "
|
|
message = replacetext(message," i'm not "," I ain't ")
|
|
message = replacetext(message," girl ",pick(" honey "," baby "," baby doll "))
|
|
message = replacetext(message," man ",pick(" son "," buddy "," brother"," pal "," friendo "))
|
|
message = replacetext(message," out of "," outta ")
|
|
message = replacetext(message," thank you "," thank you, thank you very much ")
|
|
message = replacetext(message," thanks "," thank you, thank you very much ")
|
|
message = replacetext(message," what are you "," whatcha ")
|
|
message = replacetext(message," yes ",pick(" sure", "yea "))
|
|
message = replacetext(message," muh valids "," my kicks ")
|
|
speech_args[SPEECH_MESSAGE] = trim(message)
|
|
|
|
|
|
/datum/mutation/human/stoner
|
|
name = "Stoner"
|
|
desc = "A common mutation that severely decreases intelligence."
|
|
quality = NEGATIVE
|
|
locked = TRUE
|
|
text_gain_indication = "<span class='notice'>You feel...totally chill, man!</span>"
|
|
text_lose_indication = "<span class='notice'>You feel like you have a better sense of time.</span>"
|
|
|
|
/datum/mutation/human/stoner/on_acquiring(mob/living/carbon/human/owner)
|
|
..()
|
|
owner.grant_language(/datum/language/beachbum, TRUE, TRUE, LANGUAGE_STONER)
|
|
owner.add_blocked_language(subtypesof(/datum/language) - /datum/language/beachbum, LANGUAGE_STONER)
|
|
|
|
/datum/mutation/human/stoner/on_losing(mob/living/carbon/human/owner)
|
|
..()
|
|
owner.remove_language(/datum/language/beachbum, TRUE, TRUE, LANGUAGE_STONER)
|
|
owner.remove_blocked_language(subtypesof(/datum/language) - /datum/language/beachbum, LANGUAGE_STONER)
|
|
|
|
/datum/mutation/human/medieval
|
|
name = "Medieval"
|
|
desc = "A horrible mutation originating from the distant past, thought to have once been a common gene in all of old world Europe."
|
|
quality = MINOR_NEGATIVE
|
|
text_gain_indication = "<span class='notice'>You feel like seeking the holy grail!</span>"
|
|
text_lose_indication = "<span class='notice'>You no longer feel like seeking anything.</span>"
|
|
|
|
/datum/mutation/human/medieval/on_acquiring(mob/living/carbon/human/owner)
|
|
if(..())
|
|
return
|
|
RegisterSignal(owner, COMSIG_MOB_SAY, .proc/handle_speech)
|
|
|
|
/datum/mutation/human/medieval/on_losing(mob/living/carbon/human/owner)
|
|
if(..())
|
|
return
|
|
UnregisterSignal(owner, COMSIG_MOB_SAY)
|
|
|
|
/datum/mutation/human/medieval/proc/handle_speech(datum/source, list/speech_args)
|
|
SIGNAL_HANDLER
|
|
|
|
var/message = speech_args[SPEECH_MESSAGE]
|
|
if(message)
|
|
message = " [message] "
|
|
var/list/medieval_words = strings("medieval_replacement.json", "medieval")
|
|
var/list/startings = strings("medieval_replacement.json", "startings")
|
|
for(var/key in medieval_words)
|
|
var/value = medieval_words[key]
|
|
if(islist(value))
|
|
value = pick(value)
|
|
if(uppertext(key) == key)
|
|
value = uppertext(value)
|
|
if(capitalize(key) == key)
|
|
value = capitalize(value)
|
|
message = replacetextEx(message,regex("\b[REGEX_QUOTE(key)]\b","ig"), value)
|
|
message = trim(message)
|
|
var/chosen_starting = pick(startings)
|
|
message = "[chosen_starting] [message]"
|
|
|
|
speech_args[SPEECH_MESSAGE] = message
|