Adds CO2 Breather Trait (#9810)

This commit is contained in:
Ectype
2025-01-07 09:15:39 -06:00
committed by GitHub
parent f014732116
commit 2e5cd9aa72
6 changed files with 78 additions and 0 deletions

View File

@@ -200,6 +200,39 @@
gauge_icon = "indicator_double" // Ensuring unique sprite stuff ig. gauge_icon = "indicator_double" // Ensuring unique sprite stuff ig.
volume = 10 volume = 10
//CHOMPEdit Start - for CO2 breathers
/obj/item/tank/carbon_dioxide
name = "carbon dioxide tank"
desc = "A tank of carbon dioxide"
icon_state = "emergency_double"
distribute_pressure = ONE_ATMOSPHERE*O2STANDARD
/obj/item/tank/carbon_dioxide/Initialize()
. = ..()
src.air_contents.adjust_gas(GAS_CO2, (10*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C))
/obj/item/tank/emergency/carbon_dioxide
name = "emergency carbon dioxide tank"
desc = "An emergency tank of carbon dioxide"
icon_state = "emergency_tst"
slot_flags = SLOT_BELT
distribute_pressure = ONE_ATMOSPHERE*O2STANDARD
/obj/item/tank/emergency/carbon_dioxide/Initialize()
. = ..()
src.air_contents.adjust_gas(GAS_CO2, (10*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C))
/obj/item/tank/emergency/carbon_dioxide/double
name = "double emergency carbon dioxide tank"
desc = "An double tank of carbon dioxide"
icon_state = "emergency_double"
distribute_pressure = ONE_ATMOSPHERE*O2STANDARD
/obj/item/tank/emergency/carbon_dioxide/double/Initialize()
. = ..()
src.air_contents.adjust_gas(GAS_CO2, (10*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C))
//CHOMPEdit End
/* /*
* Nitrogen * Nitrogen
*/ */

View File

@@ -95,3 +95,25 @@
icon_state = "oxygen_fr" icon_state = "oxygen_fr"
gauge_icon = "indicator_bigtank" gauge_icon = "indicator_bigtank"
gauge_cap = 3 gauge_cap = 3
//CHOMPEdit Start - for CO2 breathers
/obj/item/tank/carbon_dioxide
icon = 'icons/obj/tank_vr.dmi'
icon_state = "oxygen_f"
gauge_icon = "indicator_bigtank"
gauge_cap = 3
/obj/item/tank/emergency/carbon_dioxide
icon = 'icons/obj/tank_vr.dmi'
icon_state = "emergency_tst"
gauge_icon = "indicator_smalltank"
volume = 6
gauge_cap = 3
/obj/item/tank/emergency/carbon_dioxide/double
icon = 'icons/obj/tank_vr.dmi'
icon_state = "emergency_double"
gauge_icon = "indicator_double"
volume = 12
gauge_cap = 3
//CHOMPEdit End

View File

@@ -29,3 +29,9 @@
path = /obj/item/tank/emergency/phoron/double path = /obj/item/tank/emergency/phoron/double
whitelisted = SPECIES_CUSTOM //CHOMPedit: voxes don't need phoron here, not full whitelist removal because I am unsure of what use non-customs get whitelisted = SPECIES_CUSTOM //CHOMPedit: voxes don't need phoron here, not full whitelist removal because I am unsure of what use non-customs get
sort_category = "Xenowear" sort_category = "Xenowear"
/datum/gear/double_tank_carbon_dioxide
display_name = "Pocket sized double carbon dioxide tank (Customs)"
path = /obj/item/tank/emergency/carbon_dioxide/double
whitelisted = SPECIES_CUSTOM
sort_category = "Xenowear"

View File

@@ -421,6 +421,7 @@
var_changes = list("breath_type" = "null", "poison_type" = "null", "exhale_type" = "null", "water_breather" = "TRUE") var_changes = list("breath_type" = "null", "poison_type" = "null", "exhale_type" = "null", "water_breather" = "TRUE")
excludes = list(/datum/trait/negative/breathes/phoron, excludes = list(/datum/trait/negative/breathes/phoron,
/datum/trait/negative/breathes/nitrogen, /datum/trait/negative/breathes/nitrogen,
/datum/trait/negative/breathes/carbon_dioxide,
/datum/trait/positive/light_breather, /datum/trait/positive/light_breather,
/datum/trait/negative/deep_breather /datum/trait/negative/deep_breather
) )

View File

@@ -935,6 +935,17 @@
gas = list( gas = list(
GAS_N2 = 100) GAS_N2 = 100)
//CHOMPEdit Start - for CO2 breathers
/datum/gas_mixture/belly_air/carbon_dioxide_breather
volume = 2500
temperature = 293.150
total_moles = 104
/datum/gas_mixture/carbon_dioxide_breather/New()
. = ..()
gas = list(
GAS_CO2 = 100)
//CHOMPEdit End
/mob/living/proc/feed_grabbed_to_self_falling_nom(var/mob/living/user, var/mob/living/prey) /mob/living/proc/feed_grabbed_to_self_falling_nom(var/mob/living/user, var/mob/living/prey)
// CHOMPAdd Start // CHOMPAdd Start

View File

@@ -96,3 +96,8 @@
var_changes = list("lightweight_light" = 1) var_changes = list("lightweight_light" = 1)
excludes = list(/datum/trait/negative/lightweight) excludes = list(/datum/trait/negative/lightweight)
custom_only = FALSE 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)