mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-29 08:08:49 +01:00
Brain Traumas (#31727)
* Reworks Brain Damage * mechanics * rebalancing * hulks in wheelchairs * yup * bugsquash * Adds narcolepsy, phobias and agnosia. Not guaranteed 100% bug-free yet, testmerge at your own risk. * lizard phobia * Did you know there's a skeleton inside of you RIGHT NOW? * Fixes for the new stuff * The issue with those is that in most rounds you won't see them I'll keep them available so they can be added manually, for example by events and such * Goof reviews * Brainloss is based off brain organ integrity removes brainloss var * Replaces some getorganslot with defines * eyes * put the traumas in the brainnnn * text * args * Adds godwoken, puts split personality in severe, adds brainwashing * Bluespace prophet special trauma (untested) * Some minor stuff * Monophobia, and tweaks * More fixes * fix * a * new tail * Discoordination and Muscle Weakness * thanks for the review! * [B]oneless * agnosia fix * . * go away agnosia * pretend it didn't happen * Shitcode-free-er * bitwisdom * psychotic brawling * i guess this might be important * latest reviews * . * conflict-free * addresses it * surgery fix * a masterpiece * fix * fix again * config * damage formula reworked * who needs to test anyway * fixes some bugs * fix 2 * proper spookin * bluespace prophet fixes and improvements * no bible healing * . * normalizes monophobia chances
This commit is contained in:
@@ -246,6 +246,11 @@
|
||||
duration = 8
|
||||
randomdir = 0
|
||||
|
||||
/obj/effect/temp_visual/bluespace_fissure
|
||||
name = "bluespace fissure"
|
||||
icon_state = "bluestream_fade"
|
||||
duration = 9
|
||||
|
||||
/obj/effect/temp_visual/gib_animation
|
||||
icon = 'icons/mob/mob.dmi'
|
||||
duration = 15
|
||||
|
||||
@@ -164,10 +164,6 @@ ARCD
|
||||
if (!ishuman(usr) && !usr.has_unlimited_silicon_privilege)
|
||||
return ..(usr)
|
||||
|
||||
var/mob/living/carbon/human/H = usr
|
||||
if(H.getBrainLoss() >= 60)
|
||||
return
|
||||
|
||||
var/t1 = text("")
|
||||
|
||||
|
||||
|
||||
@@ -545,7 +545,7 @@
|
||||
H.emote("gasp")
|
||||
H.Jitter(100)
|
||||
if(tplus > tloss)
|
||||
H.setBrainLoss( max(0, min(99, ((tlimit - tplus) / tlimit * 100))))
|
||||
H.adjustBrainLoss( max(0, min(99, ((tlimit - tplus) / tlimit * 100))), 150)
|
||||
add_logs(user, H, "revived", defib)
|
||||
if(req_defib)
|
||||
defib.deductcharge(revivecost)
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
add_fingerprint(user)
|
||||
if(istype(M) && on && user.zone_selected in list("eyes", "mouth"))
|
||||
|
||||
if((user.disabilities & CLUMSY || user.getBrainLoss() >= 60) && prob(50)) //too dumb to use flashlight properly
|
||||
if((user.disabilities & (CLUMSY | DUMB)) && prob(50)) //too dumb to use flashlight properly
|
||||
return ..() //just hit them in the head
|
||||
|
||||
if(!user.IsAdvancedToolUser())
|
||||
|
||||
@@ -85,7 +85,7 @@ GAS ANALYZER
|
||||
/obj/item/device/healthanalyzer/attack(mob/living/M, mob/living/carbon/human/user)
|
||||
|
||||
// Clumsiness/brain damage check
|
||||
if ((user.disabilities & CLUMSY || user.getBrainLoss() >= 60) && prob(50))
|
||||
if ((user.disabilities & (CLUMSY | DUMB)) && prob(50))
|
||||
to_chat(user, "<span class='notice'>You stupidly try to analyze the floor's vitals!</span>")
|
||||
user.visible_message("<span class='warning'>[user] has analyzed the floor's vitals!</span>")
|
||||
to_chat(user, "<span class='info'>Analyzing results for The floor:\n\tOverall status: <b>Healthy</b>")
|
||||
@@ -145,14 +145,21 @@ GAS ANALYZER
|
||||
to_chat(user, "\t<span class='alert'>Subject appears to have [M.getCloneLoss() > 30 ? "severe" : "minor"] cellular damage.</span>")
|
||||
if(advanced)
|
||||
to_chat(user, "\t<span class='info'>Cellular Damage Level: [M.getCloneLoss()].</span>")
|
||||
if (M.getBrainLoss() >= 100 || !M.getorgan(/obj/item/organ/brain))
|
||||
if (M.getBrainLoss() >= 200 || !M.getorgan(/obj/item/organ/brain))
|
||||
to_chat(user, "\t<span class='alert'>Subject brain function is non-existent.</span>")
|
||||
else if (M.getBrainLoss() >= 60)
|
||||
to_chat(user, "\t<span class='alert'>Severe brain damage detected. Subject likely to have mental retardation.</span>")
|
||||
else if (M.getBrainLoss() >= 10)
|
||||
to_chat(user, "\t<span class='alert'>Brain damage detected. Subject may have had a concussion.</span>")
|
||||
else if (M.getBrainLoss() >= 120)
|
||||
to_chat(user, "\t<span class='alert'>Severe brain damage detected. Subject likely to have mental traumas.</span>")
|
||||
else if (M.getBrainLoss() >= 45)
|
||||
to_chat(user, "\t<span class='alert'>Brain damage detected.</span>")
|
||||
if(iscarbon(M))
|
||||
var/mob/living/carbon/C = M
|
||||
if(LAZYLEN(C.get_traumas()))
|
||||
var/list/trauma_text = list()
|
||||
for(var/datum/brain_trauma/B in C.get_traumas())
|
||||
trauma_text += B.scan_desc
|
||||
to_chat(user, "\t<span class='alert'>Cerebral traumas detected: subjects appears to be suffering from [english_list(trauma_text)].</span>")
|
||||
if(advanced)
|
||||
to_chat(user, "\t<span class='info'>Brain Activity Level: [100 - M.getBrainLoss()]%.</span>")
|
||||
to_chat(user, "\t<span class='info'>Brain Activity Level: [(200 - M.getBrainLoss())/2]%.</span>")
|
||||
if (M.radiation)
|
||||
to_chat(user, "\t<span class='alert'>Subject is irradiated.</span>")
|
||||
if(advanced)
|
||||
|
||||
@@ -264,13 +264,13 @@
|
||||
name = "\improper DNA injector (Smile)"
|
||||
add_mutations_static = list(SMILE)
|
||||
|
||||
/obj/item/dnainjector/unintelligablemut
|
||||
name = "\improper DNA injector (Unintelligable)"
|
||||
add_mutations_static = list(UNINTELLIGABLE)
|
||||
/obj/item/dnainjector/unintelligiblemut
|
||||
name = "\improper DNA injector (Unintelligible)"
|
||||
add_mutations_static = list(UNINTELLIGIBLE)
|
||||
|
||||
/obj/item/dnainjector/antiunintelligable
|
||||
name = "\improper DNA injector (Anti-Unintelligable)"
|
||||
remove_mutations_static = list(UNINTELLIGABLE)
|
||||
/obj/item/dnainjector/antiunintelligible
|
||||
name = "\improper DNA injector (Anti-Unintelligible)"
|
||||
remove_mutations_static = list(UNINTELLIGIBLE)
|
||||
|
||||
/obj/item/dnainjector/swedishmut
|
||||
name = "\improper DNA injector (Swedish)"
|
||||
|
||||
@@ -124,7 +124,7 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "bible",
|
||||
else if(iscarbon(M))
|
||||
var/mob/living/carbon/C = M
|
||||
if(!istype(C.head, /obj/item/clothing/head/helmet))
|
||||
C.adjustBrainLoss(10)
|
||||
C.adjustBrainLoss(5, 60)
|
||||
to_chat(C, "<span class='danger'>You feel dumber.</span>")
|
||||
|
||||
if(smack)
|
||||
|
||||
Reference in New Issue
Block a user