Organ/Surgery Overhaul Part 1

This commit is contained in:
ZomgPonies
2013-12-19 07:25:55 -05:00
parent aa25918e50
commit 5ce256b73c
21 changed files with 241 additions and 84 deletions
+6 -7
View File
@@ -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]"
+1 -1
View File
@@ -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]
+36 -2
View File
@@ -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