Merge pull request #5374 from Verkister/ironguts

Adds positive trait for food toxin immunity.
This commit is contained in:
Razgriz
2022-12-11 19:36:20 -07:00
committed by GitHub
3 changed files with 32 additions and 19 deletions
@@ -21,6 +21,7 @@
var/datum/reagents/metabolism/bloodstream/bloodstr = null
var/datum/reagents/metabolism/ingested/ingested = null
var/datum/reagents/metabolism/touch/touching = null
var/toxin_gut = FALSE //CHOMPAdd
var/pulse = PULSE_NORM //current pulse level
@@ -7,16 +7,16 @@
/datum/trait/positive/darksight
name = "Darksight"
desc = "Allows you to see a short distance in the dark. (Half the screen)."
desc = "Allows you to see a short distance in the dark. (Half the screen)."
cost = 1
var_changes = list("darksight" = 4) //CHOMP Edit
/datum/trait/positive/darksight_plus
name = "Darksight, Major"
desc = "Allows you to see in the dark for the whole screen."
desc = "Allows you to see in the dark for the whole screen."
cost = 2
var_changes = list("darksight" = 8)
/datum/trait/positive/densebones
name = "Dense Bones"
desc = "Your bones (or robotic limbs) are more dense or stronger then what is considered normal. It is much harder to fracture your bones, yet pain from fractures is much more intense. Bones require 50% more damage to break, and deal 2x pain on break."
@@ -201,7 +201,7 @@
pulse_modifier = 2 //Heart is in overdrive
bleeding_rate_percent = 1.25 //Bleed more with higher blood pressure.
metabolism_percent = 2.5 //Metabolism in overdrive
var/original_length
var/list/original_values
@@ -243,7 +243,7 @@
accuracy_dispersion = 25
incoming_hal_damage_percent = 1.75
incoming_oxy_damage_percent = 1.25
/datum/trait/positive/insect_sting
name = "Insect Sting"
desc = "Allows you to sting your victim with a smalll amount of poison"
@@ -252,7 +252,7 @@
/datum/trait/positive/insect_sting/apply(var/datum/species/S,var/mob/living/carbon/human/H)
..(S,H)
H.verbs |= /mob/living/proc/insect_sting
// TANKINESS LETS GOOOOOOOOO
/datum/trait/positive/burn_resist_plus // Equivalent to Burn Weakness Major, cannot be taken at the same time.
name = "Burn Resist, Major"
@@ -260,14 +260,14 @@
cost = 3 // Exact Opposite of Burn Weakness Major, except Weakness Major is 50% incoming, this is -40% incoming.
var_changes = list("burn_mod" = 0.6)
excludes = list(/datum/trait/positive/burn_resist, /datum/trait/positive/minor_burn_resist)
/datum/trait/positive/brute_resist_plus // Equivalent to Brute Weakness Major, cannot be taken at the same time.
name = "Brute Resist, Major"
desc = "Adds 40% resistance to brute damage sources."
cost = 3 // Exact Opposite of Brute Weakness Major, except Weakness Major is 50% incoming, this is -40% incoming.
var_changes = list("brute_mod" = 0.6)
excludes = list(/datum/trait/positive/brute_resist, /datum/trait/positive/minor_brute_resist)
/datum/trait/positive/endurance_very_high
name = "High Endurance, Major"
desc = "Increases your maximum total hitpoints to 150. You require 300 damage in total to die, compared to 200 normally. You will still go into crit after losing 150 HP, compared to crit at 100 HP."
@@ -290,15 +290,15 @@
/datum/trait/positive/endurance_extremely_high/apply(var/datum/species/S,var/mob/living/carbon/human/H)
..(S,H)
H.setMaxHealth(S.total_health)
// CHOMPNote: Reshuffling traits to match our current upstream, VORE.
/datum/trait/positive/pain_tolerance_minor // Minor Pain Tolerance, 10% reduced pain
name = "Pain Tolerance, Minor"
desc = "You are slightly more resistant to pain than most, and experience 10% less pain from all sources."
cost = 1
var_changes = list("pain_mod" = 0.9)
/datum/trait/positive/pain_tolerance
/datum/trait/positive/pain_tolerance
name = "Pain Tolerance"
desc = "You are noticeably more resistant to pain than most, and experience 20% less pain from all sources."
cost = 2
@@ -309,8 +309,8 @@
desc = "You are extremely resistant to pain sources, and experience 40% less pain from all sources."
cost = 3 // Equivalent to High Pain Intolerance, but less pain resisted for balance reasons.
var_changes = list("pain_mod" = 0.6)
/datum/trait/positive/improved_biocompat
name = "Improved Biocompatibility"
desc = "Your body is naturally (or artificially) more receptive to healing chemicals without being vulnerable to the 'bad stuff'. You heal more efficiently from most chemicals, with no other drawbacks. Remember to note this down in your medical records! Chems heal for 20% more."
@@ -322,21 +322,21 @@
desc = "Decreases stun duration from flashes and other light-based stuns and disabilities by 50%."
cost = 2
var_changes = list("flash_mod" = 0.5)
/datum/trait/positive/speed_fast_minor
name = "Haste, Minor"
desc = "Allows you to move a little bit faster on average than baseline."
cost = 2
var_changes = list("slowdown" = -0.25)
excludes = list(/datum/trait/positive/hardy_extreme,/datum/trait/positive/hardy_plus,/datum/trait/positive/speed_fast)
/datum/trait/positive/hardy_extreme
name = "Hardy, Extreme"
desc = "Allows you to carry heavy equipment with no slowdown at all."
cost = 3
var_changes = list("item_slowdown_mod" = 0.0)
excludes = list(/datum/trait/positive/speed_fast,/datum/trait/positive/speed_fast_minor,/datum/trait/positive/hardy,/datum/trait/positive/hardy_plus)
/datum/trait/positive/bloodsucker_plus
name = "Evolved Bloodsucker"
desc = "Makes you able to gain nutrition by draining blood as well as eating food. To compensate, you get fangs that can be used to drain blood from prey."
@@ -349,10 +349,19 @@
H.verbs |= /mob/living/carbon/human/proc/bloodsuck
/datum/trait/positive/sonar
name="Perceptive Hearing"
name ="Perceptive Hearing"
desc = "You can hear slight vibrations in the air very easily, if you focus."
cost = 1
/datum/trait/positive/sonar/apply(var/datum/species/S,var/mob/living/carbon/human/H)
..(S,H)
H.verbs |= /mob/living/carbon/human/proc/sonar_ping
/datum/trait/positive/toxin_gut
name ="Robust Gut"
desc = "You are immune to ingested toxins. Does not protect from possible harm caused by other drugs, meds, allergens etc."
cost = 1
/datum/trait/positive/toxin_gut/apply(var/datum/species/S,var/mob/living/carbon/human/H)
..(S,H)
H.toxin_gut = TRUE
+4 -1
View File
@@ -165,6 +165,9 @@
if(CHEM_BLOOD)
affect_blood(M, alien, removed)
if(CHEM_INGEST)
if(istype(src, /datum/reagent/toxin) && M.toxin_gut) //CHOMPAdd
remove_self(removed)
return
affect_ingest(M, alien, removed * ingest_abs_mult)
if(CHEM_TOUCH)
affect_touch(M, alien, removed)
@@ -214,7 +217,7 @@
/datum/reagent/Destroy() // This should only be called by the holder, so it's already handled clearing its references
holder = null
. = ..()
//YW edit start
// Called when reagents are removed from a container, most likely after metabolizing in a mob
/datum/reagent/proc/on_remove(var/atom/A)