mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 18:53:06 +00:00
Fixes #5508
This commit is contained in:
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user