From 662030703a3d548e633a0e95366f8fea79b4befe Mon Sep 17 00:00:00 2001 From: Heroman3003 <31296024+Heroman3003@users.noreply.github.com> Date: Fri, 31 Mar 2023 17:20:54 +1000 Subject: [PATCH 1/2] Adds Firm Body trait and throwforce resistance --- code/modules/mob/living/carbon/human/human_defense.dm | 4 ++++ .../modules/mob/living/carbon/human/species/species.dm | 1 + .../living/carbon/human/species/station/prometheans.dm | 1 + .../mob/living/carbon/human/species/station/station.dm | 3 +++ .../carbon/human/species/station/station_special_vr.dm | 1 + .../carbon/human/species/station/traits_vr/positive.dm | 10 ++++++++++ 6 files changed, 20 insertions(+) diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 6bee87d69a..b999ba5761 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -435,6 +435,10 @@ emp_act var/dtype = O.damtype var/throw_damage = O.throwforce*(speed/THROWFORCE_SPEED_DIVISOR) + if(species && species.throwforce_absorb_threshold >= throw_damage) + visible_message("\The [O] simply bounces off of [src]'s body!") + return + var/zone if (istype(O.thrower, /mob/living)) var/mob/living/L = O.thrower diff --git a/code/modules/mob/living/carbon/human/species/species.dm b/code/modules/mob/living/carbon/human/species/species.dm index 04cc78d436..e08d8b84b9 100644 --- a/code/modules/mob/living/carbon/human/species/species.dm +++ b/code/modules/mob/living/carbon/human/species/species.dm @@ -122,6 +122,7 @@ var/flash_mod = 1 // Stun from blindness modifier (flashes and flashbangs) var/flash_burn = 0 // how much damage to take from being flashed if light hypersensitive var/sound_mod = 1 // Multiplier to the effective *range* of flashbangs. a flashbang's bang hits an entire screen radius, with some falloff. + var/throwforce_absorb_threshold = 0 // Ignore damage of thrown items below this value var/chem_strength_heal = 1 // Multiplier to most beneficial chem strength var/chem_strength_pain = 1 // Multiplier to painkiller strength (could be used in a negative trait to simulate long-term addiction reducing effects, etc.) diff --git a/code/modules/mob/living/carbon/human/species/station/prometheans.dm b/code/modules/mob/living/carbon/human/species/station/prometheans.dm index 33081a28bb..8c3f5db13b 100644 --- a/code/modules/mob/living/carbon/human/species/station/prometheans.dm +++ b/code/modules/mob/living/carbon/human/species/station/prometheans.dm @@ -62,6 +62,7 @@ var/datum/species/shapeshifter/promethean/prometheans oxy_mod = 0 flash_mod = 0.5 //No centralized, lensed eyes. item_slowdown_mod = 1.33 + throwforce_absorb_threshold = 10 chem_strength_alcohol = 2 diff --git a/code/modules/mob/living/carbon/human/species/station/station.dm b/code/modules/mob/living/carbon/human/species/station/station.dm index c63b1bf526..583520ad97 100644 --- a/code/modules/mob/living/carbon/human/species/station/station.dm +++ b/code/modules/mob/living/carbon/human/species/station/station.dm @@ -79,6 +79,7 @@ species_language = LANGUAGE_UNATHI health_hud_intensity = 2.5 chem_strength_alcohol = 0.75 + throwforce_absorb_threshold = 10 min_age = 32 max_age = 260 @@ -430,6 +431,7 @@ name_language = LANGUAGE_ZADDAT species_language = LANGUAGE_ZADDAT health_hud_intensity = 2.5 + throwforce_absorb_threshold = 5 minimum_breath_pressure = 20 //have fun with underpressures. any higher than this and they'll be even less suitible for life on the station @@ -548,6 +550,7 @@ health_hud_intensity = 2.5 item_slowdown_mod = 0.1 chem_strength_alcohol = 0 + throwforce_absorb_threshold = 5 num_alternate_languages = 3 name_language = LANGUAGE_ROOTLOCAL diff --git a/code/modules/mob/living/carbon/human/species/station/station_special_vr.dm b/code/modules/mob/living/carbon/human/species/station/station_special_vr.dm index 7b4d4563e4..7d71dd0a15 100644 --- a/code/modules/mob/living/carbon/human/species/station/station_special_vr.dm +++ b/code/modules/mob/living/carbon/human/species/station/station_special_vr.dm @@ -337,6 +337,7 @@ slowdown = -0.15 //Small speedboost, as they've got a bunch of legs. Or something. I dunno. brute_mod = 0.8 //20% brute damage reduction burn_mod = 1.15 //15% burn damage increase. They're spiders. Aerosol can+lighter = dead spiders. + throwforce_absorb_threshold = 10 num_alternate_languages = 3 species_language = LANGUAGE_VESPINAE diff --git a/code/modules/mob/living/carbon/human/species/station/traits_vr/positive.dm b/code/modules/mob/living/carbon/human/species/station/traits_vr/positive.dm index e006317460..64aca10d1f 100644 --- a/code/modules/mob/living/carbon/human/species/station/traits_vr/positive.dm +++ b/code/modules/mob/living/carbon/human/species/station/traits_vr/positive.dm @@ -226,3 +226,13 @@ var_changes = list("trauma_mod" = 0.85) excludes = list(/datum/trait/negative/neural_hypersensitivity) can_take = ORGANICS +<<<<<<< HEAD +======= + +/datum/trait/positive/throw_resistance + name = "Firm Body" + desc = "Your body is firm enough that small thrown items can't do anything to you." + cost = 1 + var_changes = list("throwforce_absorb_threshold" = 10) + +>>>>>>> ff288fc41b... Merge pull request #14740 from Heroman3003/firmbody From 953b86e2a49ac3b29bc095ef8ac7731e7010f851 Mon Sep 17 00:00:00 2001 From: Nadyr <41974248+Darlantanis@users.noreply.github.com> Date: Fri, 31 Mar 2023 19:34:16 -0400 Subject: [PATCH 2/2] powder that makes you say yes --- .../living/carbon/human/species/station/traits_vr/positive.dm | 4 ---- 1 file changed, 4 deletions(-) diff --git a/code/modules/mob/living/carbon/human/species/station/traits_vr/positive.dm b/code/modules/mob/living/carbon/human/species/station/traits_vr/positive.dm index 64aca10d1f..7fe4ac6e3a 100644 --- a/code/modules/mob/living/carbon/human/species/station/traits_vr/positive.dm +++ b/code/modules/mob/living/carbon/human/species/station/traits_vr/positive.dm @@ -226,13 +226,9 @@ var_changes = list("trauma_mod" = 0.85) excludes = list(/datum/trait/negative/neural_hypersensitivity) can_take = ORGANICS -<<<<<<< HEAD -======= /datum/trait/positive/throw_resistance name = "Firm Body" desc = "Your body is firm enough that small thrown items can't do anything to you." cost = 1 var_changes = list("throwforce_absorb_threshold" = 10) - ->>>>>>> ff288fc41b... Merge pull request #14740 from Heroman3003/firmbody