[MIRROR] Trait Upports & Tweaks (#11941)

Co-authored-by: Cameron Lennox <killer65311@gmail.com>
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
This commit is contained in:
CHOMPStation2StaffMirrorBot
2025-11-11 00:19:39 +01:00
committed by GitHub
co-authored by Cameron Lennox Kashargul
parent f37d1ba4fa
commit dcdaf14079
35 changed files with 823 additions and 776 deletions
@@ -1,90 +0,0 @@
/datum/trait/negative/deep_sleeper
custom_only = FALSE
/datum/trait/negative/deep_breather
name ="Deep Breather"
desc = "You need more air for your lungs to properly work.."
cost = -1
custom_only = FALSE
can_take = ORGANICS
var_changes = list("minimum_breath_pressure" = 18)
excludes = list(/datum/trait/positive/light_breather)
/datum/trait/negative/thick_digits
name = "Thick Digits"
desc = "Your hands are not shaped in a way that allows useage of guns."
cost = -4
custom_only = FALSE
/datum/trait/negative/thick_digits/apply(var/datum/species/S,var/mob/living/carbon/human/H)
..()
H.add_modifier(/datum/modifier/trait/thickdigits)
/datum/trait/negative/faultwires
name = "Faulty Wires"
desc = "Due to poor construction, you have an unfortante weakness to EMPs."
cost = -3
custom_only = FALSE
can_take = SYNTHETICS
var_changes = list("emp_dmg_mod" = 1.3)
excludes = list(/datum/trait/negative/poorconstruction, /datum/trait/positive/emp_resist, /datum/trait/positive/emp_resist_major)
/datum/trait/negative/faultwires/apply(var/datum/species/S,var/mob/living/carbon/human/H)
..()
H.add_modifier(/datum/modifier/trait/empweakness)
/datum/trait/negative/poorconstruction
name = "Poor Construction"
desc = "Due to poor construction, you have an hefty weakness to EMPs."
cost = -5
custom_only = FALSE
can_take = SYNTHETICS
var_changes = list("emp_dmg_mod" = 1.6)
excludes = list(/datum/trait/negative/faultwires, /datum/trait/positive/emp_resist, /datum/trait/positive/emp_resist_major)
/datum/trait/negative/poorconstruction/apply(var/datum/species/S,var/mob/living/carbon/human/H)
..()
H.add_modifier(/datum/modifier/trait/majorempweakness)
/datum/trait/negative/meltable
name = "Water Weakness"
desc = "Due to your biology, water is harmful to you."
cost = -1
custom_only = TRUE
var_changes = list("water_resistance" = 0, "water_damage_mod" = 0.3)
excludes = list(/datum/trait/negative/meltable_major)
/datum/trait/negative/meltable_major
name = "Extreme Water Weakness"
desc = "Due to your biology, water is very harmful to you."
cost = -3
custom_only = TRUE
var_changes = list("water_resistance" = 0, "water_damage_mod" = 0.8)
excludes = list(/datum/trait/negative/meltable)
/datum/trait/negative/lightweight_light
name = "Lesser Lightweight"
desc = "Your light weight and poor balance make you very susceptible to unhelpful bumping if you are unprepared)"
cost = -1
var_changes = list("lightweight_light" = 1)
excludes = list(/datum/trait/negative/lightweight)
custom_only = FALSE
/datum/trait/negative/breathes/carbon_dioxide
name = "Carbon Dioxide Breather"
desc = "You breathe carbon dioxide instead of oxygen, much like a plant. Oxygen is not poisonous to you."
var_changes = list("breath_type" = GAS_CO2, "exhale_type" = GAS_O2, "ideal_air_type" = /datum/gas_mixture/belly_air/carbon_dioxide_breather)
/datum/trait/negative/synth_pain
name = "Obligate Pain Simulation"
desc = "Due to a structural flaw, hard-coding, or other inherent weakness, your body can feel pain, and you can't turn it off."
cost = -4
custom_only = FALSE
can_take = SYNTHETICS
excludes = list(/datum/trait/neutral/synth_cosmetic_pain)
/datum/trait/negative/synth_pain/apply(datum/species/S, mob/living/carbon/human/H, trait_prefs)
H.synth_cosmetic_pain = TRUE
. = ..()
@@ -1,22 +1,3 @@
/datum/trait/neutral/metabolism_up
can_take = ORGANICS|SYNTHETICS
/datum/trait/neutral/metabolism_down
can_take = ORGANICS|SYNTHETICS
/datum/trait/neutral/metabolism_apex
can_take = ORGANICS|SYNTHETICS
/datum/trait/neutral/hide
name = "Hide"
desc = "You can hide beneath objects!"
cost = 0
custom_only = FALSE
/datum/trait/neutral/hide/apply(var/datum/species/S,var/mob/living/carbon/human/H)
..()
add_verb(H,/mob/living/proc/hide) //CHOMPEdit TGPanel
/datum/trait/neutral/xenochimera_YR3
sort = TRAIT_SORT_SPECIES
allowed_species = list(SPECIES_XENOCHIMERA)
@@ -51,3 +32,22 @@
QDEL_NULL(implant)
H.adjust_nutrition(100)
to_chat(H, span_critical("Your NIF lets out one last sputter as it finally gives out"))
/datum/trait/neutral/mobegglaying
name = "Egg Laying"
desc = "You can lay eggs, much like an avian."
cost = 0
/datum/trait/neutral/mobegglaying/apply(var/datum/species/S,var/mob/living/carbon/human/H)
..()
add_verb(H,/mob/living/proc/mobegglaying)
/datum/trait/neutral/succubus_bite
name = "Succubus Bite"
desc = "Allows you to inject your prey with poison, much like a venemous snake."
cost = 0
custom_only = FALSE
/datum/trait/neutral/succubus_bite/apply(var/datum/species/S,var/mob/living/carbon/human/H)
..()
add_verb(H,/mob/living/proc/succubus_bite)
@@ -1,49 +1,39 @@
/datum/trait/neutral/hardfeet
custom_only = FALSE
/datum/trait/positive/linguist
custom_only = FALSE
/datum/trait/positive/toxin_gut
custom_only = FALSE
/datum/trait/positive/light_breather
name ="Light Breather"
desc = "You need less air for your lungs to properly work.."
cost = 1
custom_only = FALSE
can_take = ORGANICS
var_changes = list("minimum_breath_pressure" = 12)
excludes = list(/datum/trait/negative/deep_breather)
/datum/trait/positive/emp_resist
name = "EMP Resistance"
desc = "You are resistant to EMPs"
cost = 3
can_take = SYNTHETICS
custom_only = FALSE
var_changes = list("emp_dmg_mod" = 0.7)
excludes = list(/datum/trait/negative/faultwires, /datum/trait/negative/poorconstruction, /datum/trait/positive/emp_resist_major)
/datum/trait/positive/emp_resist/apply(var/datum/species/S,var/mob/living/carbon/human/H)
..()
H.add_modifier(/datum/modifier/trait/empresist)
/datum/trait/positive/emp_resist_major
name = "Major EMP Resistance"
desc = "You are very resistant to EMPs"
cost = 5
can_take = SYNTHETICS
custom_only = FALSE
var_changes = list("emp_dmg_mod" = 0.5)
excludes = list(/datum/trait/negative/faultwires, /datum/trait/negative/poorconstruction, /datum/trait/positive/emp_resist)
/datum/trait/positive/emp_resist_major/apply(var/datum/species/S,var/mob/living/carbon/human/H)
..()
H.add_modifier(/datum/modifier/trait/empresistb)
/datum/trait/positive/weaver
custom_only = FALSE //Let species use the webs for wierd stuff like metal webs, slime creations, etc.
category = 0
cost = 0
/datum/trait/positive/linguist //THIS HOOKING INTO THE ORIGINAL LINGUIST FUCKS THINGS HARD. DURING TRAIT REWORK, DELETE THIS AND REENABLE LINGUIST/MASTER
name = "Master Linguist"
desc = "You are a master of languages! For whatever reason you might have, you are able to learn many more languages than others. Your language cap is 12 slots."
cost = 2
var_changes = list("num_alternate_languages" = 15)
var_changes_pref = list("extra_languages" = 12)
custom_only = FALSE
/datum/trait/positive/darksight
name = "Darksight"
desc = "Allows you to see a short distance in the dark. (Half the screen)."
cost = 1
var_changes = list("darksight" = 4) //CHOMP Edit
custom_only = FALSE
banned_species = list(SPECIES_TAJARAN, SPECIES_SHADEKIN_CREW, SPECIES_SHADEKIN, SPECIES_XENOHYBRID, SPECIES_VULPKANIN, SPECIES_XENO, SPECIES_XENOCHIMERA, SPECIES_VASILISSAN, SPECIES_WEREBEAST) //These species already have strong darksight by default.
/datum/trait/positive/darksight_plus
name = "Darksight, Major"
desc = "Allows you to see in the dark for the whole screen."
cost = 2
var_changes = list("darksight" = 8)
custom_only = FALSE
banned_species = list(SPECIES_TAJARAN, SPECIES_SHADEKIN_CREW, SPECIES_SHADEKIN, SPECIES_XENOHYBRID, SPECIES_VULPKANIN, SPECIES_XENO, SPECIES_XENOCHIMERA, SPECIES_VASILISSAN, SPECIES_WEREBEAST) //These species already have strong darksight by default.
/datum/trait/positive/endurance_high
cost = 3
excludes = list(/datum/trait/positive/endurance_very_high, /datum/trait/positive/endurance_extremely_high) // CHOMPEdit: Increased Endurance.
// excludes = list(/datum/trait/positive/brute_resist, /datum/trait/positive/minor_brute_resist, /datum/trait/positive/minor_burn_resist, /datum/trait/positive/burn_resist)
// Tankiness at the cost of severe downsides should be allowed - we have a large number of negatives that hurt hard, but you can't take many positives.
/datum/trait/positive/burn_resist_plus
cost = 3 // Exact Opposite of Burn Weakness Major, except Weakness Major is 50% incoming, this is -40% incoming.
/datum/trait/positive/brute_resist_plus // Equivalent to Brute Weakness Major, cannot be taken at the same time.
cost = 3 // Exact Opposite of Brute Weakness Major, except Weakness Major is 50% incoming, this is -40% incoming.