Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Makes hulk more susceptible to cold damage #56131

Merged
merged 2 commits into from Jan 13, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 4 additions & 0 deletions code/__DEFINES/atmospherics.dm
Expand Up @@ -162,6 +162,10 @@
#define BODYTEMP_COLD_DAMAGE_LIMIT (BODYTEMP_NORMAL - 40)
/// The body temperature limit the human body can take before it will take wound damage.
#define BODYTEMP_HEAT_WOUND_LIMIT (BODYTEMP_NORMAL + 90) // 400.5 k
/// The modifier on cold damage limit hulks get ontop of their regular limit
#define BODYTEMP_HULK_COLD_DAMAGE_LIMIT_MODIFIER 25
/// The modifier on cold damage hulks get.
#define HULK_COLD_DAMAGE_MOD 2

/// what min_cold_protection_temperature is set to for space-helmet quality headwear. MUST NOT BE 0.
#define SPACE_HELM_MIN_TEMP_PROTECT 2.0
Expand Down
18 changes: 12 additions & 6 deletions code/modules/mob/living/carbon/human/species.dm
Expand Up @@ -1816,15 +1816,21 @@ GLOBAL_LIST_EMPTY(roundstart_races)
// Apply the damage to all body parts
humi.apply_damage(burn_damage, BURN, spread_damage = TRUE)

// Apply some burn damage to the body
if(humi.coretemperature < bodytemp_cold_damage_limit && !HAS_TRAIT(humi, TRAIT_RESISTCOLD))
// Apply some burn / brute damage to the body (Dependent if the person is hulk or not)
var/is_hulk = HAS_TRAIT(humi, TRAIT_HULK)

var/cold_damage_limit = bodytemp_cold_damage_limit + (is_hulk ? BODYTEMP_HULK_COLD_DAMAGE_LIMIT_MODIFIER : 0)

if(humi.coretemperature < cold_damage_limit && !HAS_TRAIT(humi, TRAIT_RESISTCOLD))
var/damage_type = is_hulk ? BRUTE : BURN
This conversation was marked as resolved.
Show resolved Hide resolved
var/damage_mod = coldmod * humi.physiology.cold_mod * (is_hulk ? HULK_COLD_DAMAGE_MOD : 1)
switch(humi.coretemperature)
if(201 to bodytemp_cold_damage_limit)
humi.apply_damage(COLD_DAMAGE_LEVEL_1 * coldmod * humi.physiology.cold_mod, BURN)
if(201 to cold_damage_limit)
humi.apply_damage(COLD_DAMAGE_LEVEL_1 * damage_mod, damage_type)
if(120 to 200)
humi.apply_damage(COLD_DAMAGE_LEVEL_2 * coldmod * humi.physiology.cold_mod, BURN)
humi.apply_damage(COLD_DAMAGE_LEVEL_2 * damage_mod, damage_type)
else
humi.apply_damage(COLD_DAMAGE_LEVEL_3 * coldmod * humi.physiology.cold_mod, BURN)
humi.apply_damage(COLD_DAMAGE_LEVEL_3 * damage_mod, damage_type)

/**
* Used to apply burn wounds on random limbs
Expand Down