mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-18 02:24:11 +01:00
Organ/Surgery Overhaul Part 1
This commit is contained in:
@@ -68,13 +68,12 @@ var/const/BLOOD_VOLUME_SURVIVE = 122
|
||||
var/datum/organ/internal/heart/heart = internal_organs["heart"]
|
||||
if(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)
|
||||
if(BLOOD_VOLUME_SAFE to 10000)
|
||||
@@ -106,7 +105,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]"
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
internal_organs_by_name["liver"] = new/datum/organ/internal/liver(src)
|
||||
internal_organs_by_name["kidney"] = new/datum/organ/internal/kidney(src)
|
||||
internal_organs_by_name["brain"] = new/datum/organ/internal/brain(src)
|
||||
// internal_organs_by_name["eyes"] = new/datum/organ/internal/eyes(src)
|
||||
internal_organs_by_name["eyes"] = new/datum/organ/internal/eyes(src)
|
||||
|
||||
for(var/name in organs_by_name)
|
||||
organs += organs_by_name[name]
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
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
|
||||
@@ -31,12 +32,33 @@
|
||||
src.owner = H
|
||||
|
||||
/datum/organ/internal/proc/take_damage(amount, var/silent=0)
|
||||
src.damage += amount
|
||||
if(src.robotic == 2)
|
||||
src.damage += amount * 0.8
|
||||
else
|
||||
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 +124,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