Reworks the effects of brain damage (#23343)

* start

* now based on percentage of Brain Health

* minor case of major brain damblage

* 4

* move a bit around + adding stumble

* i really do not like these

* i was in a silly goofy mood

Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>

* more jittery

* Span fix

Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>

---------

Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
This commit is contained in:
BiancaWilkson
2024-01-06 21:36:40 +00:00
committed by GitHub
co-authored by DGamerL Luc
parent 0537dc6570
commit 2140320fc8
7 changed files with 64 additions and 55 deletions
+1 -1
View File
@@ -286,7 +286,7 @@
if(stat == UNCONSCIOUS || just_sleeping)
msg += "[p_they(TRUE)] [p_are()]n't responding to anything around [p_them()] and seems to be asleep.\n"
else if(getBrainLoss() >= 60)
msg += "[p_they(TRUE)] [p_have()] a stupid expression on [p_their()] face.\n"
msg += "[p_they(TRUE)] [p_are()] staring forward with a blank expression.\n"
if(get_int_organ(/obj/item/organ/internal/brain))
msg += examine_show_ssd()
@@ -99,56 +99,6 @@
else if(!vision || vision.is_broken()) // Vision organs cut out or broken? Permablind.
EyeBlind(4 SECONDS)
if(getBrainLoss() >= 60 && stat != DEAD)
if(prob(3))
var/list/crazysay = list("IM A [pick("PONY","LIZARD","taJaran","kitty","Vulpakin","drASK","BIRDIE","voxxie","race car","combat meCH","SPESSSHIP")] [pick("NEEEEEEIIIIIIIIIGH","sKREEEEEE","MEOW","NYA~","rawr","Barkbark","Hissssss","vROOOOOM","pewpew","choo Choo")]!",
"without oxigen blob don't evoluate?",
"CAPTAINS A COMDOM",
"[pick("", "that damn traitor")] [pick("joerge", "george", "gorge", "gdoruge")] [pick("mellens", "melons", "mwrlins")] is grifing me HAL;P!!!",
"can u give me [pick("telikesis","halk","eppilapse")]?",
"THe saiyans screwed",
"Bi is THE BEST OF BOTH WORLDS",
"I WANNA PET TEH monkeyS",
"stop grifing me!!!!",
"SOTP IT!",
"HALPZ SITCULITY",
"VOXES caN't LOVE",
"my dad own this station",
"the CHef put [pick("PROTEIN", "toiret waTer", "RiPPleing TendIes", "Einzymes","HORRY WALTER","nuTriments","ReActive MutAngen","TeSLium","sKrektonium")] in my [pick("wiSh soup","Bullito","rAingurber","sOilent GREEn","KoI Susishes","yaya")]!",
"the monkey have TASER ARMS!",
"qM blew my points on [pick("cOMbat Shtogun","inSuLated gloves","LOTS MASSHEEN!")]",
"EI'NATH!",
"WAKE UP SHEEPLES!",
"et wus my [pick("wittle brother!!","fiancee","friend staying over","entiRe orphanage","love interest","wife","husband","liTTle kids","sentient cAT","accidentally")]!",
"FUS RO DAH",
"fuckin tangerines!!!",
"stAT ME",
"my FACE",
"rOLl it eaSy!",
"waaaaaagh!!!",
"red wonz go fasta",
"FOR TEH EMPRAH",
"HAZ A SECURE DAY!!!!",
"dem dwarfs man, dem dwarfs",
"SPESS MAHREENS",
"hwee did eet fhor khayosss",
"lifelike texture",
"luv can bloooom",
"PACKETS!!!",
"[pick("WHERE MY","aYE need","giv me my","bath me inn.")] [pick("dermaline","alKkyZine","dylOvene","inAprovaline","biCaridine","Hyperzine","kELotane","lePorazine","bAcch Salts","tricord","clOnexazone","hydroChloric Acid","chlORine Hydrate","paRoxetine")]!",
"mALPRACTICEBAY",
"I HavE A pe H dee iN ENTerpriSE resOUrCE pLaNNIN",
"h-h-HalP MaINT",
"dey come, dey COME! DEY COME!!!",
"THE END IS NIGH!",
"I FOT AND DIED FOR MUH [pick("RITES","FREEDOM","payCHECK","cARGO points","teCH Level","doG","mAPLe syrup","fluffy fWiends","gATEway LoOt")]",
"KILL DEM [pick("mainTnacE cHickinNS","kiRA CulwnNES","FLOOR CLUWNEs","MIME ASSASSIN","BOMBING TAJARAN","cC offiser","morPhlings","slinglings")]!",
"I CAN FORCE YOU TO SAY WHATEREVE!!?!?!")
if(prob(66))
say(pick(crazysay))
else
emote("drool")
/mob/living/carbon/human/handle_mutations_and_radiation()
for(var/mutation_type in active_mutations)
var/datum/mutation/mutation = GLOB.dna_mutations[mutation_type]
@@ -2074,7 +2074,7 @@ Eyes need to have significantly high darksight to shine unless the mob has the X
makeCluwne()
/mob/living/carbon/human/is_literate()
return getBrainLoss() < 100
return getBrainLoss() < 90
/mob/living/carbon/human/fakefire(fire_icon = "Generic_mob_burning")
@@ -158,7 +158,7 @@ GLOBAL_LIST_INIT(soapy_words, list(
if(prob(braindam / 4))
S.message = stutter(S.message)
verb = "gibbers"
if(prob(braindam))
else if(prob(braindam / 2))
S.message = uppertext(S.message)
verb = "yells loudly"
+1 -1
View File
@@ -520,7 +520,7 @@
if(istype(H))
if(H.getBrainLoss() >= 60)
for(var/mob/M in viewers(src, null))
to_chat(M, "<span class='danger'>[H] stares cluelessly at [src] and drools.</span>")
to_chat(M, "<span class='danger'>[H] stares cluelessly at [src].</span>")
return FALSE
else if(prob(H.getBrainLoss()))
to_chat(user, "<span class='danger'>You momentarily forget how to use [src].</span>")
+59
View File
@@ -125,6 +125,65 @@
if(owner && vital)
owner.setBrainLoss(120)
/obj/item/organ/internal/brain/on_life()
if(decoy_brain || damage < 10)
return
switch(damage)
if(10 to 30)
handle_minor_brain_damage()
if(31 to 60)
handle_moderate_brain_damage()
if(61 to 80)
handle_severe_brain_damage()
if(81 to 100)
handle_critical_brain_damage()
/obj/item/organ/internal/brain/proc/handle_minor_brain_damage()
if(prob(5))
owner.Dizzy(5 SECONDS)
to_chat(owner, "<span class='warning'>Your head feels foggy.</span>")
else if(prob(4))
owner.vomit()
to_chat(owner, "<span class='warning>'You feel nauseous.</span>")
/obj/item/organ/internal/brain/proc/handle_moderate_brain_damage()
if(prob(4))
owner.Confused(20 SECONDS)
to_chat(owner, "<span class='warning'>It's suddenly difficult to walk straight.</span>")
else if(prob(5))
owner.EyeBlurry(15 SECONDS)
to_chat(owner, "<span class='warning'>Your vision unfocuses.</span>")
else if(prob(3))
owner.Drowsy(20 SECONDS)
to_chat(owner, "<span class='warning'>You're getting tired.</span>")
/obj/item/organ/internal/brain/proc/handle_severe_brain_damage()
if(prob(5))
owner.Hallucinate(60 SECONDS)
to_chat(owner, "<span class='warning'>You start losing your grip on reality.</span>")
else if(prob(10))
owner.Slur(60 SECONDS)
owner.Stuttering(60 SECONDS)
to_chat(owner, "<span class='warning'>You can't form your words properly.</span>")
else if(prob(2))
owner.Stun(5 SECONDS)
to_chat(owner, "<span class='warning'>You stare forward in a stupor.</span>")
else if(prob(5))
owner.KnockDown(1 SECONDS)
to_chat(owner, "<span class='warning'>You lose your footing, and stumble.</span>")
/obj/item/organ/internal/brain/proc/handle_critical_brain_damage()
if(prob(4))
owner.Silence(45 SECONDS)
to_chat(owner, "<span class='warning'>You open your mouth to speak, but no sound comes out.</span>")
else if(prob(5))
owner.EyeBlind(30 SECONDS)
to_chat(owner, "<span class='warning'>Your vision gives out.</span>")
else if(prob(5))
owner.Weaken(10 SECONDS)
owner.Jitter(150 SECONDS)
to_chat(owner, "<span class='warning'>You start to have a seizure.</span>")
/obj/item/organ/internal/brain/prepare_eat()
return // Too important to eat.