diff --git a/code/__defines/damage_organs.dm b/code/__defines/damage_organs.dm index 937c7d9634f..c525db81f62 100644 --- a/code/__defines/damage_organs.dm +++ b/code/__defines/damage_organs.dm @@ -78,5 +78,5 @@ // that dealing just enough burn damage to kill the player will cause the given // proportion of their max blood volume to be lost // (e.g. 0.6 == 60% lost if 200 burn damage is taken). -#define FLUIDLOSS_WIDE_BURN 0.4 //for burns from heat applied over a wider area, like from fire -#define FLUIDLOSS_CONC_BURN 0.2 //for concentrated burns, like from lasers +#define FLUIDLOSS_WIDE_BURN 0.6 //for burns from heat applied over a wider area, like from fire +#define FLUIDLOSS_CONC_BURN 0.4 //for concentrated burns, like from lasers diff --git a/code/game/objects/items/bodybag.dm b/code/game/objects/items/bodybag.dm index 6e1e74103bb..e2fad0595e0 100644 --- a/code/game/objects/items/bodybag.dm +++ b/code/game/objects/items/bodybag.dm @@ -102,10 +102,10 @@ icon = 'icons/obj/cryobag.dmi' icon_state = "bodybag_folded" - attack_self(mob/user) - var/obj/structure/closet/body_bag/cryobag/R = new /obj/structure/closet/body_bag/cryobag(user.loc) - R.add_fingerprint(user) - qdel(src) +/obj/item/bodybag/cryobag/attack_self(mob/user) + var/obj/structure/closet/body_bag/cryobag/R = new /obj/structure/closet/body_bag/cryobag(user.loc) + R.add_fingerprint(user) + qdel(src) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 499b35239f8..8db2cfa224f 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -227,11 +227,10 @@ // Handle side effects from stasis bag if(in_stasis) // First off, there's no oxygen supply, so the mob will slowly take brain damage - adjustOxyLoss(0.1) - + adjustOxyLoss(5) // Next, the method to induce stasis has some adverse side-effects, manifesting // as cloneloss - adjustCloneLoss(0.1) + adjustCloneLoss(2) if(stat != DEAD) blinded = TRUE stat = UNCONSCIOUS diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 22ac84a36bb..f6fba6d09e8 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -90,9 +90,11 @@ //Armor var/absorb = run_armor_check(def_zone, P.check_armour, P.armor_penetration) var/damaged - if ((P.damage_flags & DAM_SHARP || P.damage_flags & DAM_SHARP) && prob(absorb)) - P.damage_flags &= ~DAM_SHARP - P.damage_flags &= ~DAM_EDGE + if(prob(absorb)) + if(P.damage_flags & DAM_SHARP || P.damage_flags & DAM_SHARP || P.damage_flags & DAM_LASER) + P.damage_flags &= ~DAM_SHARP + P.damage_flags &= ~DAM_EDGE + P.damage_flags &= ~DAM_LASER if(!P.nodamage) damaged = apply_damage(P.damage, P.damage_type, def_zone, absorb, 0, P, damage_flags = P.damage_flags, used_weapon = "\a [P.name]") diff --git a/code/modules/organs/internal/_internal.dm b/code/modules/organs/internal/_internal.dm index 1f7a1b8edd7..f195e7842f0 100644 --- a/code/modules/organs/internal/_internal.dm +++ b/code/modules/organs/internal/_internal.dm @@ -96,7 +96,7 @@ degree = " a lot" if(damage < 5) degree = " a bit" - owner.custom_pain("Something inside your [parent.name] hurts[degree]!", amount) + owner.custom_pain("Something inside your [parent.name] hurts[degree]!", amount, affecting = parent) /obj/item/organ/internal/proc/get_visible_state() if(damage > max_damage) diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index 455f0e75381..f9b19fc7c6e 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -325,7 +325,7 @@ var/laser = (damage_flags & DAM_LASER) var/sharp = (damage_flags & DAM_SHARP) - if(laser) + if(laser || BP_IS_ROBOTIC(src)) damage_amt += burn cur_damage += burn_dam @@ -334,7 +334,7 @@ var/organ_damage_threshold = 10 if(sharp) - organ_damage_threshold *= 0.3 + organ_damage_threshold *= 0.5 if(laser) organ_damage_threshold *= 2 @@ -452,8 +452,8 @@ This function completely restores a damaged organ to perfect condition. /obj/item/organ/external/proc/createwound(var/type = CUT, var/damage) - - if(damage <= 0) return + if(damage <= 0) + return //moved this before the open_wound check so that having many small wounds for example doesn't somehow protect you from taking internal damage (because of the return) //Possibly trigger an internal wound, too. diff --git a/html/changelogs/mattatlas-bloodandfury.yml b/html/changelogs/mattatlas-bloodandfury.yml new file mode 100644 index 00000000000..1adf8f92a93 --- /dev/null +++ b/html/changelogs/mattatlas-bloodandfury.yml @@ -0,0 +1,44 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +# balance +# admin +# backend +# security +# refactor +################################# + +# Your name. +author: MattAtlas + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - experiment: "Lasers now have a chance to not boil blood based on the armor penetration and armor values." + - tweak: "Stasis bags now actually do damage, and will actually kill." + - backend: "Burn damage now counts as total damage when hitting robotic limbs." + - tweak: "Sharp weapons now have a harder time penetrating to organs."