diff --git a/code/__SPLURTCODE/DEFINES/mobs.dm b/code/__SPLURTCODE/DEFINES/mobs.dm index f4fed80f83..394e66d000 100644 --- a/code/__SPLURTCODE/DEFINES/mobs.dm +++ b/code/__SPLURTCODE/DEFINES/mobs.dm @@ -9,3 +9,5 @@ #undef PIXEL_SHIFT_MAXIMUM #define PIXEL_SHIFT_MAXIMUM 32 + +#define BREATH_NITROGEN /datum/breathing_class/nitrogen diff --git a/modular_splurt/code/game/objects/items/tanks/tank_types.dm b/modular_splurt/code/game/objects/items/tanks/tank_types.dm new file mode 100644 index 0000000000..ddc098d0a7 --- /dev/null +++ b/modular_splurt/code/game/objects/items/tanks/tank_types.dm @@ -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 diff --git a/modular_splurt/code/modules/atmospherics/auxgm/breathing_classes.dm b/modular_splurt/code/modules/atmospherics/auxgm/breathing_classes.dm new file mode 100644 index 0000000000..304ad74220 --- /dev/null +++ b/modular_splurt/code/modules/atmospherics/auxgm/breathing_classes.dm @@ -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 diff --git a/modular_splurt/code/modules/clothing/outfits/standard.dm b/modular_splurt/code/modules/clothing/outfits/standard.dm index 89e34afd8a..e336946cca 100644 --- a/modular_splurt/code/modules/clothing/outfits/standard.dm +++ b/modular_splurt/code/modules/clothing/outfits/standard.dm @@ -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 diff --git a/modular_splurt/code/modules/clothing/suits/heavy.dm b/modular_splurt/code/modules/clothing/suits/heavy.dm index 4c6199b1ec..21548928f0 100644 --- a/modular_splurt/code/modules/clothing/suits/heavy.dm +++ b/modular_splurt/code/modules/clothing/suits/heavy.dm @@ -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 @@ -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 diff --git a/modular_splurt/code/modules/surgery/organs/lungs.dm b/modular_splurt/code/modules/surgery/organs/lungs.dm index ec89182492..abe7f747df 100644 --- a/modular_splurt/code/modules/surgery/organs/lungs.dm +++ b/modular_splurt/code/modules/surgery/organs/lungs.dm @@ -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 diff --git a/modular_splurt/icons/mob/inhands/items_lefthand.dmi b/modular_splurt/icons/mob/inhands/items_lefthand.dmi index d1fb17b873..8dc4a255b2 100644 Binary files a/modular_splurt/icons/mob/inhands/items_lefthand.dmi and b/modular_splurt/icons/mob/inhands/items_lefthand.dmi differ diff --git a/modular_splurt/icons/mob/inhands/items_righthand.dmi b/modular_splurt/icons/mob/inhands/items_righthand.dmi index 3d3b6f27ed..906801c2a2 100644 Binary files a/modular_splurt/icons/mob/inhands/items_righthand.dmi and b/modular_splurt/icons/mob/inhands/items_righthand.dmi differ diff --git a/modular_splurt/icons/obj/items_and_weapons.dmi b/modular_splurt/icons/obj/items_and_weapons.dmi index 0dd0e88c6a..26f84969d2 100644 Binary files a/modular_splurt/icons/obj/items_and_weapons.dmi and b/modular_splurt/icons/obj/items_and_weapons.dmi differ diff --git a/tgstation.dme b/tgstation.dme index 485a5ccd67..b552e4f4c6 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -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" @@ -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"