Merge remote-tracking branch 'upstream/master' into bs12_fixes

This commit is contained in:
alex-gh
2013-12-21 19:36:43 +01:00
67 changed files with 11193 additions and 10374 deletions
+5 -6
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)
if(heart.min_bruised_damage to heart.min_broken_damage)
blood_volume *= 0.6
if(heart.min_broken_damage to INFINITY)
blood_volume *= 0.3
//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 += 3
if(prob(15))
var/word = pick("dizzy","woosey","faint")
src << "\red You feel extremely [word]"
+7 -5
View File
@@ -35,6 +35,7 @@
/mob/living/carbon/human/var/list/organs = list()
/mob/living/carbon/human/var/list/organs_by_name = list() // map organ names to organs
/mob/living/carbon/human/var/list/internal_organs_by_name = list() // so internal organs have less ickiness too
//Creates and initializes and connects external and internal organs
/mob/living/carbon/human/proc/make_organs()
@@ -52,11 +53,12 @@
organs_by_name["r_foot"] = new/datum/organ/external/r_foot(organs_by_name["r_leg"])
if (species.name!="Slime People")
new/datum/organ/internal/heart(src)
new/datum/organ/internal/lungs(src)
new/datum/organ/internal/liver(src)
new/datum/organ/internal/kidney(src)
new/datum/organ/internal/brain(src)
internal_organs_by_name["heart"] = new/datum/organ/internal/heart(src)
internal_organs_by_name["lungs"] = new/datum/organ/internal/lungs(src)
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)
for(var/name in organs_by_name)
organs += organs_by_name[name]
+58 -3
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,11 +32,55 @@
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)
var/datum/organ/internal/eyes/E
var/datum/organ/internal/heart/H
if (!silent)
owner.custom_pain("Something inside your [parent.display_name] hurts a lot.", 1)
if(istype(E))
owner.custom_pain("Your eyes burn like mad!", 1)
if(istype(H))
owner.custom_pain("You feel a sudden, stabbing pain inside of your [parent.display_name]!", 1)
else owner.custom_pain("Something inside your [parent.display_name] hurts a lot.", 1)
/datum/organ/internal/proc/emp_act(severity)
switch(robotic)
if(0)
return
if(1)
switch (severity)
if (1.0)
take_damage(20,0)
return
if (2.0)
take_damage(7,0)
return
if(3.0)
take_damage(3,0)
return
if(2)
switch (severity)
if (1.0)
take_damage(40,0)
return
if (2.0)
take_damage(15,0)
return
if(3.0)
take_damage(10,0)
return
/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 +147,14 @@
/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(is_bruised())
owner.eye_blurry = 20
if(is_broken())
owner.eye_blind = 20