diff --git a/code/__DEFINES/origin_traits.dm b/code/__DEFINES/origin_traits.dm index e3b61db362d..2a173f55e21 100644 --- a/code/__DEFINES/origin_traits.dm +++ b/code/__DEFINES/origin_traits.dm @@ -8,6 +8,8 @@ #define TRAIT_ORIGIN_HOT_RESISTANCE "hot_resistance" #define TRAIT_ORIGIN_NO_ANIMAL_PROTEIN "no_animal_protein" #define TRAIT_ORIGIN_LIGHT_SENSITIVE "light_sensitive" +#define TRAIT_ORIGIN_STAMINA_BONUS "stamina_bonus" +#define TRAIT_ORIGIN_PAIN_RESISTANCE "pain_resistance" //Vaurca-specific traits #define TRAIT_ORIGIN_ELECTRONIC_WARFARE "electronic_warfare" diff --git a/code/modules/background/origins/origins/tajara/adhomai.dm b/code/modules/background/origins/origins/tajara/adhomai.dm index de336b9ac0d..a1269940be4 100644 --- a/code/modules/background/origins/origins/tajara/adhomai.dm +++ b/code/modules/background/origins/origins/tajara/adhomai.dm @@ -165,6 +165,8 @@ possible_accents = list(ACCENT_CREVAN) possible_citizenships = CITIZENSHIPS_ADHOMAI possible_religions = RELIGIONS_ADHOMAI + origin_traits = list(TRAIT_ORIGIN_ALCOHOL_RESISTANCE, TRAIT_ORIGIN_DRUG_RESISTANCE) + origin_traits_descriptions = list("have a higher alcoholic tolerance", "have a higher tolerance to recreative drugs") /singleton/origin_item/origin/old_nobility name = "Pre-Contact Nobility" diff --git a/code/modules/background/origins/origins/unathi/izweski.dm b/code/modules/background/origins/origins/unathi/izweski.dm index 4e1f75a6041..0698cbc8542 100644 --- a/code/modules/background/origins/origins/unathi/izweski.dm +++ b/code/modules/background/origins/origins/unathi/izweski.dm @@ -39,6 +39,8 @@ possible_accents = list(ACCENT_TZA_PEASANT) possible_citizenships = list(CITIZENSHIP_IZWESKI, CITIZENSHIP_BIESEL, CITIZENSHIP_COALITION) possible_religions = list(RELIGION_THAKH) + origin_traits = list(TRAIT_ORIGIN_STAMINA_BONUS) + origin_traits_descriptions = list("have slightly more stamina") /singleton/origin_item/origin/tza_upper name = "Tza Prairie Upper Castes" @@ -49,6 +51,8 @@ possible_accents = list(ACCENT_TZA_NOBLE) possible_citizenships = list(CITIZENSHIP_IZWESKI) possible_religions = list(RELIGION_THAKH) + origin_traits = list(TRAIT_ORIGIN_STAMINA_BONUS) + origin_traits_descriptions = list("have slightly more stamina") /singleton/origin_item/origin/southlands_lower name = "Southlands Lower Castes" @@ -82,6 +86,8 @@ possible_accents = list(ACCENT_ZAZ_LOW) possible_citizenships = list(CITIZENSHIP_IZWESKI, CITIZENSHIP_BIESEL, CITIZENSHIP_COALITION) possible_religions = list(RELIGION_THAKH, RELIGION_SKAKH, RELIGION_AUTAKH, RELIGION_SIAKH, RELIGION_NONE) + origin_traits = list(TRAIT_ORIGIN_PAIN_RESISTANCE) + origin_traits_descriptions = list("are slightly more resistant to pain") /singleton/origin_item/origin/zazalai_upper name = "Zazalai Mountains Upper Castes" @@ -94,3 +100,5 @@ possible_accents = list(ACCENT_ZAZ_HIGH) possible_citizenships = list(CITIZENSHIP_IZWESKI) possible_religions = list(RELIGION_THAKH, RELIGION_SKAKH, RELIGION_SIAKH, RELIGION_NONE) + origin_traits = list(TRAIT_ORIGIN_PAIN_RESISTANCE) + origin_traits_descriptions = list("are slightly more resistant to pain") diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index fbacd35cd9f..1893c1ce9b3 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1491,6 +1491,8 @@ brute_mod = species.brute_mod max_stamina = species.stamina + if(HAS_TRAIT(src, TRAIT_ORIGIN_STAMINA_BONUS)) + max_stamina *= 1.1 stamina = max_stamina sprint_speed_factor = species.sprint_speed_factor sprint_cost_factor = species.sprint_cost_factor diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 46803a653cb..d63c034f599 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -639,6 +639,8 @@ sprint_speed_factor = species.sprint_speed_factor max_stamina = species.stamina + if(HAS_TRAIT(src, TRAIT_ORIGIN_STAMINA_BONUS)) + max_stamina *= 1.1 stamina_recovery = species.stamina_recovery sprint_cost_factor = species.sprint_cost_factor move_delay_mod = 0 diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index ef06e9deec1..ef7f74431b3 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -1571,6 +1571,8 @@ Note that amputating the affected organ does in fact remove the infection from t var/last_pain = pain if(owner) amount *= owner.species.pain_mod + if(HAS_TRAIT(owner, TRAIT_ORIGIN_PAIN_RESISTANCE)) + amount = max(amount-1, 1) amount -= (owner.chem_effects[CE_PAINKILLER]/3) if(amount <= 0) return diff --git a/html/changelogs/RustingWithYou - origintraits.yml b/html/changelogs/RustingWithYou - origintraits.yml new file mode 100644 index 00000000000..c2fca677aea --- /dev/null +++ b/html/changelogs/RustingWithYou - origintraits.yml @@ -0,0 +1,42 @@ +################################ +# 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: RustingWithYou + +# 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: + - rscadd: "Adds two new origin traits - stamina bonus and pain resistance, currently available to Tza and Zazalai Unathi." + - qol: "Crevan Tajara now have drug and alcohol resistance."