Ethereals now have their own lungs and electrolyze breathed water vapor (#62197)

This commit is contained in:
Capsandi
2021-10-26 13:47:35 -07:00
committed by GitHub
parent 7dd6dee6fe
commit 176cc70031
3 changed files with 24 additions and 0 deletions
@@ -5,6 +5,7 @@
attack_sound = 'sound/weapons/etherealhit.ogg'
miss_sound = 'sound/weapons/etherealmiss.ogg'
meat = /obj/item/food/meat/slab/human/mutant/ethereal
mutantlungs = /obj/item/organ/lungs/ethereal
mutantstomach = /obj/item/organ/stomach/ethereal
mutanttongue = /obj/item/organ/tongue/ethereal
mutantheart = /obj/item/organ/heart/ethereal
+23
View File
@@ -122,6 +122,10 @@
//Vars for n2o and healium induced euphorias.
var/n2o_euphoria = EUPHORIA_LAST_FLAG
var/healium_euphoria = EUPHORIA_LAST_FLAG
//Handle subtypes' breath processing
handle_gas_override(breather,breath_gases, gas_breathed)
//-- OXY --//
//Too much oxygen! //Yes, some species may not like it.
@@ -427,6 +431,9 @@
return TRUE
///override this for breath handling unique to lung subtypes, breath_gas is the list of gas in the breath while gas breathed is just what is being added or removed from that list, just as they are when this is called in check_breath()
/obj/item/organ/lungs/proc/handle_gas_override(mob/living/carbon/human/breather, list/breath_gas, gas_breathed)
return
/obj/item/organ/lungs/proc/handle_too_little_breath(mob/living/carbon/human/suffocator = null, breath_pp = 0, safe_breath_min = 0, true_pp = 0)
. = 0
@@ -609,3 +616,19 @@
suffers_miasma = FALSE
#undef GAS_TOLERANCE
/obj/item/organ/lungs/ethereal
name = "aeration reticulum"
desc = "These exotic lungs seem crunchier than most."
icon_state = "lungs_ethereal"
heat_level_1_threshold = FIRE_MINIMUM_TEMPERATURE_TO_SPREAD // 150C or 433k, in line with ethereal max safe body temperature
heat_level_2_threshold = 473
heat_level_3_threshold = 1073
/obj/item/organ/lungs/ethereal/handle_gas_override(mob/living/carbon/human/breather, list/breath_gases, gas_breathed)
// H2O electrolysis
gas_breathed = breath_gases[/datum/gas/water_vapor][MOLES]
breath_gases[/datum/gas/oxygen][MOLES] += gas_breathed
breath_gases[/datum/gas/hydrogen][MOLES] += gas_breathed*2
breath_gases[/datum/gas/water_vapor][MOLES] -= gas_breathed
Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 44 KiB