mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-29 08:08:49 +01:00
Ethereals now have their own lungs and electrolyze breathed water vapor (#62197)
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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 |
Reference in New Issue
Block a user