Cursed Traits (#7568)

Co-authored-by: Raeschen <rycoop29@gmail.com>
This commit is contained in:
FluffMedic
2024-02-16 05:44:52 -05:00
committed by GitHub
parent 3995338290
commit c14d24d058
5 changed files with 138 additions and 3 deletions

View File

@@ -10,4 +10,75 @@
can_take = ORGANICS can_take = ORGANICS
var_changes = list("minimum_breath_pressure" = 18) var_changes = list("minimum_breath_pressure" = 18)
excludes = list(/datum/trait/positive/light_breather) 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/nodefib
name = "Unreviveable"
desc = "For whatever strange genetic reason, defibs cannot restart your heart."
cost = 0
custom_only = FALSE
var_changes = list("flags" = NO_DEFIB)
can_take = ORGANICS //Mostly because I think synth code bypasses the no defib thing. Or maybe that is just vox
excludes = list(/datum/trait/negative/noresleeve) //No, just, no
/datum/trait/negative/noresleeve
name = "Unsleeveable"
desc = "Your genetics have been ruined, to the point where resleeving can no longer bring you back, including the autoresleever."
cost = -1
custom_only = TRUE
var_changes = list("flags" = NO_SCAN)
excludes = list(/datum/trait/negative/nodefib) //No, just, no
/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)

View File

@@ -15,4 +15,41 @@
custom_only = FALSE custom_only = FALSE
can_take = ORGANICS can_take = ORGANICS
var_changes = list("minimum_breath_pressure" = 12) var_changes = list("minimum_breath_pressure" = 12)
excludes = list(/datum/trait/negative/deep_breather) excludes = list(/datum/trait/negative/deep_breather)
/datum/trait/positive/virus_immune
name = "Virus Immune"
desc = "You are immune to viruses."
cost = 1
can_take = ORGANICS //no reason to clog up synth selection
var_changes = list("virus_immune" = 1)
/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)

View File

@@ -0,0 +1,23 @@
/datum/modifier/trait/thickdigits
name = "Thick Digits"
desc = "Your hands cannot properly wield weapons."
/datum/modifier/trait/empresist
name = "Emp Resist"
desc = "You are resistant to EMPs."
emp_modifier = 1
/datum/modifier/trait/empresistb
name = "Major Emp Resist"
desc = "You are resistant to EMPs."
emp_modifier = 2
/datum/modifier/trait/empweakness
name = "Emp Weakness"
desc = "You are weak to EMPs."
emp_modifier = -1
/datum/modifier/trait/majorempweakness
name = "Major Emp Weakness"
desc = "You are weak to EMPs."
emp_modifier = -2

View File

@@ -6,7 +6,10 @@
if(L.has_modifier_of_type(/datum/modifier/underwater_stealth)) if(L.has_modifier_of_type(/datum/modifier/underwater_stealth))
to_chat(user,"<span class='warning'>You cannot use guns whilst hiding underwater!</span>") to_chat(user,"<span class='warning'>You cannot use guns whilst hiding underwater!</span>")
return 0 return 0
if(L.has_modifier_of_type(/datum/modifier/rednet)) else if(L.has_modifier_of_type(/datum/modifier/rednet))
to_chat(user,"<span class='warning'>Your gun refuses to fire!</span>") to_chat(user,"<span class='warning'>Your gun refuses to fire!</span>")
return 0 return 0
else if(L.has_modifier_of_type(/datum/modifier/trait/thickdigits))
to_chat(user,"<span class='warning'>Your hands can't pull the trigger!!</span>")
return 0
return ..() return ..()

View File

@@ -4788,6 +4788,7 @@
#include "modular_chomp\code\modules\mob\living\carbon\human\species\station\traits\negative.dm" #include "modular_chomp\code\modules\mob\living\carbon\human\species\station\traits\negative.dm"
#include "modular_chomp\code\modules\mob\living\carbon\human\species\station\traits\neutral.dm" #include "modular_chomp\code\modules\mob\living\carbon\human\species\station\traits\neutral.dm"
#include "modular_chomp\code\modules\mob\living\carbon\human\species\station\traits\positive.dm" #include "modular_chomp\code\modules\mob\living\carbon\human\species\station\traits\positive.dm"
#include "modular_chomp\code\modules\mob\living\carbon\human\species\station\traits\trait_mods.dm"
#include "modular_chomp\code\modules\mob\living\carbon\human\species\station\traits\xenomorph_hybrid_trait.dm" #include "modular_chomp\code\modules\mob\living\carbon\human\species\station\traits\xenomorph_hybrid_trait.dm"
#include "modular_chomp\code\modules\mob\living\silicon\robot\robot.dm" #include "modular_chomp\code\modules\mob\living\silicon\robot\robot.dm"
#include "modular_chomp\code\modules\mob\living\silicon\robot\robot_movement.dm" #include "modular_chomp\code\modules\mob\living\silicon\robot\robot_movement.dm"