mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-08-22 04:37:45 +01:00
Medical Hoopery
Added eyes as an internal organ, removed the eye-stat var on mobs and changed it to properly direct it to eye damage. Altered all reference. Updated the sleeper to allow for ejection of the beakers and occupants in panel. Updated the body scanner to check for prosthetics/mechanized organs, and inform the individual of the blind disability. Laid the groundwork for mechanical and assisted internal organs. Groundwork for chemical: Peridaxon, a chemical that allows for the slow regeneration from organ damage.
This commit is contained in:
@@ -55,12 +55,12 @@ var/const/BLOOD_VOLUME_SURVIVE = 122
|
||||
// being pumped properly anymore.
|
||||
var/datum/organ/internal/heart/heart = internal_organs["heart"]
|
||||
switch(heart.damage)
|
||||
if(5 to 10)
|
||||
if(1 to heart.min_bruised_damage)
|
||||
blood_volume *= 0.8
|
||||
if(11 to 20)
|
||||
blood_volume *= 0.5
|
||||
if(21 to INFINITY)
|
||||
blood_volume *= 0.3
|
||||
if(heart.min_bruised_damage to heart.min_broken_damage)
|
||||
blood_volume *= 0.6
|
||||
if(heart.min_broken_damage to INFINITY)
|
||||
blood_volume *= 0.4
|
||||
|
||||
//Effects of bloodloss
|
||||
switch(blood_volume)
|
||||
@@ -93,7 +93,7 @@ var/const/BLOOD_VOLUME_SURVIVE = 122
|
||||
src << "\red You feel extremely [word]"
|
||||
if(BLOOD_VOLUME_SURVIVE to BLOOD_VOLUME_BAD)
|
||||
oxyloss += 5
|
||||
toxloss += 5
|
||||
toxloss += 1
|
||||
if(prob(15))
|
||||
var/word = pick("dizzy","woosey","faint")
|
||||
src << "\red You feel extremely [word]"
|
||||
|
||||
@@ -56,6 +56,7 @@
|
||||
new/datum/organ/internal/liver(src)
|
||||
new/datum/organ/internal/kidney(src)
|
||||
new/datum/organ/internal/brain(src)
|
||||
new/datum/organ/internal/eyes(src)
|
||||
|
||||
for(var/name in organs_by_name)
|
||||
organs += organs_by_name[name]
|
||||
|
||||
@@ -5,15 +5,15 @@
|
||||
/mob/living/carbon/human/var/list/internal_organs = list()
|
||||
|
||||
/datum/organ/internal
|
||||
// amount of damage to the organ
|
||||
var/damage = 0
|
||||
var/damage = 0 // amount of damage to the organ
|
||||
var/min_bruised_damage = 10
|
||||
var/min_broken_damage = 30
|
||||
var/parent_organ = "chest"
|
||||
var/robotic = 0 //For being a robot
|
||||
|
||||
/datum/organ/internal/proc/rejuvenate()
|
||||
damage=0
|
||||
|
||||
|
||||
/datum/organ/internal/proc/is_bruised()
|
||||
return damage >= min_bruised_damage
|
||||
|
||||
@@ -31,12 +31,33 @@
|
||||
src.owner = H
|
||||
|
||||
/datum/organ/internal/proc/take_damage(amount, var/silent=0)
|
||||
if(src.robotic == 2)
|
||||
src.damage += amount * 0.8
|
||||
src.damage += amount
|
||||
|
||||
var/datum/organ/external/parent = owner.get_organ(parent_organ)
|
||||
if (!silent)
|
||||
owner.custom_pain("Something inside your [parent.display_name] hurts a lot.", 1)
|
||||
|
||||
|
||||
/datum/organ/internal/proc/emp_act(severity)
|
||||
if(src.robotic == 1)
|
||||
take_damage(15, 0)
|
||||
if(severity == 2)
|
||||
take_damage(5, 0)
|
||||
if(src.robotic == 2)
|
||||
take_damage(30, 0)
|
||||
if(severity == 2)
|
||||
take_damage(15, 0)
|
||||
|
||||
/datum/organ/internal/proc/mechanize() //Being used to make robutt hearts, etc
|
||||
robotic = 2
|
||||
|
||||
/datum/organ/internal/proc/mechassist() //Used to add things like pacemakers, etc
|
||||
robotic = 1
|
||||
min_bruised_damage = 15
|
||||
min_broken_damage = 35
|
||||
|
||||
/****************************************************
|
||||
INTERNAL ORGANS DEFINES
|
||||
****************************************************/
|
||||
@@ -102,4 +123,16 @@
|
||||
|
||||
/datum/organ/internal/brain
|
||||
name = "brain"
|
||||
parent_organ = "head"
|
||||
parent_organ = "head"
|
||||
|
||||
/datum/organ/internal/eyes
|
||||
name = "eyes"
|
||||
parent_organ = "head"
|
||||
|
||||
process() //Eye damage replaces the old eye_stat var.
|
||||
if(damage > min_bruised_damage)
|
||||
if(damage > min_broken_damage)
|
||||
owner.client.screen += global_hud.darkMask
|
||||
owner.eye_blind = 20
|
||||
else
|
||||
owner.client.screen += global_hud.vimpaired
|
||||
|
||||
Reference in New Issue
Block a user