diff --git a/modular_chomp/code/modules/mob/living/carbon/human/species/station/traits/negative.dm b/modular_chomp/code/modules/mob/living/carbon/human/species/station/traits/negative.dm index 2f8284734e..b568612064 100644 --- a/modular_chomp/code/modules/mob/living/carbon/human/species/station/traits/negative.dm +++ b/modular_chomp/code/modules/mob/living/carbon/human/species/station/traits/negative.dm @@ -10,4 +10,75 @@ can_take = ORGANICS var_changes = list("minimum_breath_pressure" = 18) - excludes = list(/datum/trait/positive/light_breather) \ No newline at end of file + 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) diff --git a/modular_chomp/code/modules/mob/living/carbon/human/species/station/traits/positive.dm b/modular_chomp/code/modules/mob/living/carbon/human/species/station/traits/positive.dm index ff0ab69b06..52d67904b5 100644 --- a/modular_chomp/code/modules/mob/living/carbon/human/species/station/traits/positive.dm +++ b/modular_chomp/code/modules/mob/living/carbon/human/species/station/traits/positive.dm @@ -15,4 +15,41 @@ custom_only = FALSE can_take = ORGANICS var_changes = list("minimum_breath_pressure" = 12) - excludes = list(/datum/trait/negative/deep_breather) \ No newline at end of file + 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) diff --git a/modular_chomp/code/modules/mob/living/carbon/human/species/station/traits/trait_mods.dm b/modular_chomp/code/modules/mob/living/carbon/human/species/station/traits/trait_mods.dm new file mode 100644 index 0000000000..8a5dd6d10b --- /dev/null +++ b/modular_chomp/code/modules/mob/living/carbon/human/species/station/traits/trait_mods.dm @@ -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 diff --git a/modular_chomp/code/modules/projectiles/gun.dm b/modular_chomp/code/modules/projectiles/gun.dm index eef7109553..fe9d714c42 100644 --- a/modular_chomp/code/modules/projectiles/gun.dm +++ b/modular_chomp/code/modules/projectiles/gun.dm @@ -6,7 +6,10 @@ if(L.has_modifier_of_type(/datum/modifier/underwater_stealth)) to_chat(user,"You cannot use guns whilst hiding underwater!") return 0 - if(L.has_modifier_of_type(/datum/modifier/rednet)) + else if(L.has_modifier_of_type(/datum/modifier/rednet)) to_chat(user,"Your gun refuses to fire!") return 0 + else if(L.has_modifier_of_type(/datum/modifier/trait/thickdigits)) + to_chat(user,"Your hands can't pull the trigger!!") + return 0 return ..() diff --git a/vorestation.dme b/vorestation.dme index b7680042c1..1ee5ca1e51 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -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\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\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\silicon\robot\robot.dm" #include "modular_chomp\code\modules\mob\living\silicon\robot\robot_movement.dm"