This commit is contained in:
Zuhayr
2014-07-14 12:16:02 +09:30
parent bc2f91b4e4
commit d8ff5d8ac6
2 changed files with 14 additions and 11 deletions

View File

@@ -58,7 +58,6 @@
dizziness = 0 dizziness = 0
jitteriness = 0 jitteriness = 0
hud_updateflag |= 1 << HEALTH_HUD hud_updateflag |= 1 << HEALTH_HUD
hud_updateflag |= 1 << STATUS_HUD hud_updateflag |= 1 << STATUS_HUD
@@ -117,8 +116,6 @@
ticker.mode.check_win() //Calls the rounds wincheck, mainly for wizard, malf, and changeling now ticker.mode.check_win() //Calls the rounds wincheck, mainly for wizard, malf, and changeling now
return ..(gibbed) return ..(gibbed)
/mob/living/carbon/human/proc/makeSkeleton() /mob/living/carbon/human/proc/makeSkeleton()
if(SKELETON in src.mutations) return if(SKELETON in src.mutations) return

View File

@@ -32,6 +32,7 @@
var/damage_msg = "\red You feel an intense pain" var/damage_msg = "\red You feel an intense pain"
var/broken_description var/broken_description
var/vital //Lose a vital limb, die immediately.
var/status = 0 var/status = 0
var/open = 0 var/open = 0
var/stage = 0 var/stage = 0
@@ -355,7 +356,7 @@ INFECTION_LEVEL_THREE above this germ level the player will take additional toxi
Note that amputating the affected organ does in fact remove the infection from the player's body. Note that amputating the affected organ does in fact remove the infection from the player's body.
*/ */
/datum/organ/external/proc/update_germs() /datum/organ/external/proc/update_germs()
if(status & (ORGAN_ROBOT|ORGAN_DESTROYED) || (owner.species && owner.species.flags & IS_PLANT)) //Robotic limbs shouldn't be infected, nor should nonexistant limbs. if(status & (ORGAN_ROBOT|ORGAN_DESTROYED) || (owner.species && owner.species.flags & IS_PLANT)) //Robotic limbs shouldn't be infected, nor should nonexistant limbs.
germ_level = 0 germ_level = 0
return return
@@ -363,7 +364,7 @@ Note that amputating the affected organ does in fact remove the infection from t
if(owner.bodytemperature >= 170) //cryo stops germs from moving and doing their bad stuffs if(owner.bodytemperature >= 170) //cryo stops germs from moving and doing their bad stuffs
//** Syncing germ levels with external wounds //** Syncing germ levels with external wounds
handle_germ_sync() handle_germ_sync()
//** Handle antibiotics and curing infections //** Handle antibiotics and curing infections
handle_antibiotics() handle_antibiotics()
@@ -386,10 +387,10 @@ Note that amputating the affected organ does in fact remove the infection from t
/datum/organ/external/proc/handle_germ_effects() /datum/organ/external/proc/handle_germ_effects()
var/antibiotics = owner.reagents.get_reagent_amount("spaceacillin") var/antibiotics = owner.reagents.get_reagent_amount("spaceacillin")
if (germ_level > 0 && germ_level < INFECTION_LEVEL_ONE && prob(60)) //this could be an else clause, but it looks cleaner this way if (germ_level > 0 && germ_level < INFECTION_LEVEL_ONE && prob(60)) //this could be an else clause, but it looks cleaner this way
germ_level-- //since germ_level increases at a rate of 1 per second with dirty wounds, prob(60) should give us about 5 minutes before level one. germ_level-- //since germ_level increases at a rate of 1 per second with dirty wounds, prob(60) should give us about 5 minutes before level one.
if(germ_level >= INFECTION_LEVEL_ONE) if(germ_level >= INFECTION_LEVEL_ONE)
//having an infection raises your body temperature //having an infection raises your body temperature
var/fever_temperature = (owner.species.heat_level_1 - owner.species.body_temperature - 1)* min(germ_level/INFECTION_LEVEL_THREE, 1) + owner.species.body_temperature var/fever_temperature = (owner.species.heat_level_1 - owner.species.body_temperature - 1)* min(germ_level/INFECTION_LEVEL_THREE, 1) + owner.species.body_temperature
@@ -400,7 +401,7 @@ Note that amputating the affected organ does in fact remove the infection from t
if(prob(round(germ_level/10))) if(prob(round(germ_level/10)))
if (antibiotics < 5) if (antibiotics < 5)
germ_level++ germ_level++
if (prob(5)) //adjust this to tweak how fast people take toxin damage from infections if (prob(5)) //adjust this to tweak how fast people take toxin damage from infections
owner.adjustToxLoss(1) owner.adjustToxLoss(1)
@@ -411,7 +412,7 @@ Note that amputating the affected organ does in fact remove the infection from t
if (I.germ_level > 0 && I.germ_level < min(germ_level, INFECTION_LEVEL_TWO)) //once the organ reaches whatever we can give it, or level two, switch to a different one if (I.germ_level > 0 && I.germ_level < min(germ_level, INFECTION_LEVEL_TWO)) //once the organ reaches whatever we can give it, or level two, switch to a different one
if (!target_organ || I.germ_level > target_organ.germ_level) //choose the organ with the highest germ_level if (!target_organ || I.germ_level > target_organ.germ_level) //choose the organ with the highest germ_level
target_organ = I target_organ = I
if (!target_organ) if (!target_organ)
//figure out which organs we can spread germs to and pick one at random //figure out which organs we can spread germs to and pick one at random
var/list/candidate_organs = list() var/list/candidate_organs = list()
@@ -420,7 +421,7 @@ Note that amputating the affected organ does in fact remove the infection from t
candidate_organs += I candidate_organs += I
if (candidate_organs.len) if (candidate_organs.len)
target_organ = pick(candidate_organs) target_organ = pick(candidate_organs)
if (target_organ) if (target_organ)
target_organ.germ_level++ target_organ.germ_level++
@@ -666,6 +667,9 @@ Note that amputating the affected organ does in fact remove the infection from t
// OK so maybe your limb just flew off, but if it was attached to a pair of cuffs then hooray! Freedom! // OK so maybe your limb just flew off, but if it was attached to a pair of cuffs then hooray! Freedom!
release_restraints() release_restraints()
if(vital)
owner.death()
/**************************************************** /****************************************************
HELPERS HELPERS
****************************************************/ ****************************************************/
@@ -829,7 +833,7 @@ Note that amputating the affected organ does in fact remove the infection from t
max_damage = 75 max_damage = 75
min_broken_damage = 40 min_broken_damage = 40
body_part = UPPER_TORSO body_part = UPPER_TORSO
vital = 1
/datum/organ/external/groin /datum/organ/external/groin
name = "groin" name = "groin"
@@ -838,6 +842,7 @@ Note that amputating the affected organ does in fact remove the infection from t
max_damage = 50 max_damage = 50
min_broken_damage = 30 min_broken_damage = 30
body_part = LOWER_TORSO body_part = LOWER_TORSO
vital = 1
/datum/organ/external/l_arm /datum/organ/external/l_arm
name = "l_arm" name = "l_arm"
@@ -931,6 +936,7 @@ Note that amputating the affected organ does in fact remove the infection from t
min_broken_damage = 40 min_broken_damage = 40
body_part = HEAD body_part = HEAD
var/disfigured = 0 var/disfigured = 0
vital = 1
/datum/organ/external/head/get_icon() /datum/organ/external/head/get_icon()
if (!owner) if (!owner)