Changes Plasmamen belt tanks volume and the rate that their lungs consume plasma to 1/4 of the previous value. (#62081)

Plasmamen belt tank volume is 24, the extended engineering one is 6 and the emergency internals are 3.
The issue balance wise is that all of those have the same pocket size and can be printed at the same Research tier, this results on smart atmos/engineers printing a plasmamen belt tank and filling it with O2 so their internals can last for almost 2 hours instead of the 24 minutes of the extended O2.

Now they have the same volume but plasmamen lungs were rebalanced to consume plasma at a lower rate. To be clear, it will have no effect on how long the internal last for a plasmamen.

Removes a no skill trick that gives you internals that will last for all shift, you can still make those but it will take a tiny bit of effort now.

Also a small step to make internals balanced.
This commit is contained in:
GuillaumePrata
2021-11-02 06:06:33 -03:00
committed by GitHub
parent d982c13b3f
commit 1663f3efcb
4 changed files with 48 additions and 3 deletions

View File

@@ -519,7 +519,7 @@
icon_state = "lungs-plasma"
safe_oxygen_min = 0 //We don't breathe this
safe_plasma_min = 16 //We breathe THIS!
safe_plasma_min = 4 //We breathe THIS!
safe_plasma_max = 0
/obj/item/organ/lungs/slime

View File

@@ -32,5 +32,48 @@
TEST_ASSERT(!lab_rat.has_alert("not_enough_oxy"), "Humans can't get a full breath from the standard initial_gas_mix on a turf")
/// Tests to make sure plasmaman can breath from their internal tanks
/datum/unit_test/breath_sanity_plasmamen
/datum/unit_test/breath_sanity_plasmamen/Run()
var/mob/living/carbon/human/species/plasma/lab_rat = allocate(/mob/living/carbon/human/species/plasma)
var/obj/item/clothing/mask/breath/tube = allocate(/obj/item/clothing/mask/breath)
var/obj/item/tank/internals/plasmaman/source = allocate(/obj/item/tank/internals/plasmaman)
lab_rat.equip_to_slot_if_possible(tube, ITEM_SLOT_MASK)
lab_rat.equip_to_slot_if_possible(source, ITEM_SLOT_HANDS)
source.toggle_internals(lab_rat)
lab_rat.breathe()
TEST_ASSERT(!lab_rat.has_alert("not_enough_plas"), "Plasmamen can't get a full breath from a standard plasma tank")
lab_rat.clear_alert("not_enough_plas")
//Prep the mob
source.toggle_internals(lab_rat)
TEST_ASSERT(!lab_rat.internal, "Plasmaman toggle_internals() failed to toggle internals")
/// Tests to make sure ashwalkers can breath from the lavaland air
/datum/unit_test/breath_sanity_ashwalker
/datum/unit_test/breath_sanity_ashwalker/Run()
var/mob/living/carbon/human/species/lizard/ashwalker/lab_rat = allocate(/mob/living/carbon/human/species/lizard/ashwalker)
//Prep the mob
lab_rat.forceMove(run_loc_floor_bottom_left)
var/turf/open/to_fill = run_loc_floor_bottom_left
//Prep the floor
to_fill.initial_gas_mix = LAVALAND_DEFAULT_ATMOS
to_fill.air = new
to_fill.air.copy_from_turf(to_fill)
lab_rat.breathe()
TEST_ASSERT(!lab_rat.has_alert("not_enough_oxy"), "Ashwalkers can't get a full breath from the Lavaland's initial_gas_mix on a turf")
/datum/unit_test/breath_sanity_ashwalker/Destroy()
//Reset initial_gas_mix to avoid future issues on other tests
var/turf/open/to_fill = run_loc_floor_bottom_left
to_fill.initial_gas_mix = OPENTURF_DEFAULT_ATMOS
return ..()