Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MODULAR] Vox breathe nitrogen #1010

Merged
merged 3 commits into from
Nov 27, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions code/__SPLURTCODE/DEFINES/mobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,5 @@

#undef PIXEL_SHIFT_MAXIMUM
#define PIXEL_SHIFT_MAXIMUM 32

#define BREATH_NITROGEN /datum/breathing_class/nitrogen
17 changes: 17 additions & 0 deletions modular_splurt/code/game/objects/items/tanks/tank_types.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
/obj/item/tank/internals/nitrogen
name = "nitrogen internals tank"
desc = "An enlarged internals tank. This one is full of nitrogen. If you don't breathe nitrogen, you shouldn't use this."
icon_state = "nitrogen_belt"
icon = 'modular_splurt/icons/obj/items_and_weapons.dmi'
lefthand_file = 'modular_splurt/icons/mob/inhands/items_lefthand.dmi'
righthand_file = 'modular_splurt/icons/mob/inhands/items_righthand.dmi'
distribute_pressure = TANK_DEFAULT_RELEASE_PRESSURE
flags_1 = CONDUCT_1
slot_flags = ITEM_SLOT_BELT
w_class = WEIGHT_CLASS_SMALL
force = 4
volume = 6

/obj/item/tank/internals/nitrogen/populate_gas()
air_contents.set_moles(GAS_N2, (12*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)) //Double the normal, since these are likely gonna be a nightmare to get refilled
return
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
/datum/breathing_class/nitrogen
gases = list(
GAS_N2 = 1,
)
products = list(
GAS_CO2 = 1,
)
low_alert_category = "not_enough_N2"
low_alert_datum = /atom/movable/screen/alert/not_enough_nitro
high_alert_category = "too_much_N2"
high_alert_datum = /atom/movable/screen/alert/too_much_nitro
3 changes: 2 additions & 1 deletion modular_splurt/code/modules/clothing/outfits/standard.dm
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
/datum/outfit/vox
name = "Vox"
r_hand = /obj/item/tank/internals/plasmaman/belt/full
r_hand = /obj/item/tank/internals/nitrogen
l_hand = /obj/item/tank/internals/doublenitrogen
mask = /obj/item/clothing/mask/breath
28 changes: 27 additions & 1 deletion modular_splurt/code/modules/clothing/suits/heavy.dm
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,22 @@
air_contents.set_moles(GAS_PLASMA, (3*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C))
return

/obj/item/tank/internals/doublenitrogen
name = "double nitrogen tank"
desc = "Two tanks of nitrogen stuck together. Double the nitrogen double the fun"
icon_state = "nitrogencbrn"
icon = 'modular_splurt/icons/obj/items_and_weapons.dmi'
lefthand_file = 'modular_splurt/icons/mob/inhands/items_lefthand.dmi'
righthand_file = 'modular_splurt/icons/mob/inhands/items_righthand.dmi'
distribute_pressure = TANK_DEFAULT_RELEASE_PRESSURE
force = 10
dog_fashion = null
volume = 140

/obj/item/tank/internals/doublenitrogen/populate_gas()
air_contents.set_moles(GAS_N2, (3*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C))
return

//research nods

/datum/design/cbrn/cbrncivi
Expand Down Expand Up @@ -239,12 +255,22 @@
category = list("Equipment")
departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SERVICE | DEPARTMENTAL_FLAG_CARGO | DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_MEDICAL

/datum/design/cbrn/nitrotank
name = "Double Nitrogen Tank"
desc = "A Double Nitrogen tank."
id = "cbrn_nitrogen"
build_type = PROTOLATHE
materials = list(/datum/material/iron = 200)
build_path = /obj/item/tank/internals/doublenitrogen
category = list("Equipment")
departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SERVICE | DEPARTMENTAL_FLAG_CARGO | DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_MEDICAL

/datum/techweb_node/cbrn
id = "cbrn"
display_name = "CBRN gear"
description = "Chemical, Biological, Radiological and Nuclear protective gear"
prereq_ids = list("engineering")
design_ids = list("cbrn_civi", "cbrn_sec", "cbrn_engi", "cbrn_serv", "cbrn_cargo", "cbrn_sci", "cbrn_med", "cbrn_mask", "cbrn_boots", "cbrn_gloves", "cbrn_glovesengi", "cbrn_hood", "cbrn_oxy", "cbrn_plasma")
design_ids = list("cbrn_civi", "cbrn_sec", "cbrn_engi", "cbrn_serv", "cbrn_cargo", "cbrn_sci", "cbrn_med", "cbrn_mask", "cbrn_boots", "cbrn_gloves", "cbrn_glovesengi", "cbrn_hood", "cbrn_oxy", "cbrn_plasma","cbrn_nitrogen")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2000)

/datum/techweb_node/mopp
Expand Down
10 changes: 5 additions & 5 deletions modular_splurt/code/modules/surgery/organs/lungs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@
desc = "Helps regulate the body temperature of synthetic beings. Helpful!"

/obj/item/organ/lungs/vox
name = "plasma filter"
desc = "A spongy rib-shaped mass for filtering plasma from the air."
icon_state = "lungs-plasma"
breathing_class = BREATH_PLASMA
name = "vox lungs"
desc = "A set of lungs adapted to filter nitrogen. They're filled with.. dust."
icon_state = "lungs-x"
breathing_class = BREATH_NITROGEN
maxHealth = INFINITY//I don't understand how plamamen work, so I'm not going to try t give them special lungs atm

/obj/item/organ/lungs/vox/populate_gas_info()
..()
gas_max -= GAS_PLASMA
gas_max += GAS_O2
Binary file modified modular_splurt/icons/mob/inhands/items_lefthand.dmi
Binary file not shown.
Binary file modified modular_splurt/icons/mob/inhands/items_righthand.dmi
Binary file not shown.
Binary file modified modular_splurt/icons/obj/items_and_weapons.dmi
Binary file not shown.
2 changes: 2 additions & 0 deletions tgstation.dme
Original file line number Diff line number Diff line change
Expand Up @@ -4530,6 +4530,7 @@
#include "modular_splurt\code\game\objects\items\storage\secure.dm"
#include "modular_splurt\code\game\objects\items\storage\tailbag.dm"
#include "modular_splurt\code\game\objects\items\storage\wallets.dm"
#include "modular_splurt\code\game\objects\items\tanks\tank_types.dm"
#include "modular_splurt\code\game\objects\items\weaponry\armyknife.dm"
#include "modular_splurt\code\game\objects\items\weaponry\melee.dm"
#include "modular_splurt\code\game\objects\structures\barricades.dm"
Expand Down Expand Up @@ -4619,6 +4620,7 @@
#include "modular_splurt\code\modules\arousal\organs\vagina.dm"
#include "modular_splurt\code\modules\arousal\organs\womb.dm"
#include "modular_splurt\code\modules\arousal\toys\dildos.dm"
#include "modular_splurt\code\modules\atmospherics\auxgm\breathing_classes.dm"
#include "modular_splurt\code\modules\atmospherics\auxgm\gas_types.dm"
#include "modular_splurt\code\modules\atmospherics\machinery\components\unary_devices\outlet_injector.dm"
#include "modular_splurt\code\modules\atmospherics\machinery\components\unary_devices\vent_pump.dm"
Expand Down
Loading