diff --git a/_maps/map_files/Delta/delta.dmm b/_maps/map_files/Delta/delta.dmm
index 6375aa31de2..ca73b4ceed7 100644
--- a/_maps/map_files/Delta/delta.dmm
+++ b/_maps/map_files/Delta/delta.dmm
@@ -1172,8 +1172,8 @@
"agT" = (
/obj/item/clothing/suit/storage/hazardvest,
/obj/item/clothing/suit/storage/hazardvest,
-/obj/item/tank/emergency_oxygen/double,
-/obj/item/tank/emergency_oxygen/double,
+/obj/item/tank/internals/emergency_oxygen/double,
+/obj/item/tank/internals/emergency_oxygen/double,
/obj/item/clothing/mask/breath,
/obj/item/clothing/mask/breath,
/obj/item/clothing/head/hardhat/orange,
@@ -1292,7 +1292,7 @@
/area/security/podbay)
"ahc" = (
/obj/structure/rack,
-/obj/item/tank/oxygen,
+/obj/item/tank/internals/oxygen,
/obj/item/clothing/suit/space/hardsuit/security,
/obj/item/clothing/mask/breath,
/obj/item/clothing/shoes/magboots,
@@ -7150,8 +7150,8 @@
/area/engine/controlroom)
"avK" = (
/obj/structure/table/reinforced,
-/obj/item/tank/emergency_oxygen/engi,
-/obj/item/tank/emergency_oxygen/engi,
+/obj/item/tank/internals/emergency_oxygen/engi,
+/obj/item/tank/internals/emergency_oxygen/engi,
/obj/effect/decal/warning_stripes/yellow/hollow,
/turf/simulated/floor/plasteel,
/area/engine/controlroom)
@@ -12752,7 +12752,7 @@
pixel_x = -28;
pixel_y = 0
},
-/obj/item/tank/plasma,
+/obj/item/tank/internals/plasma,
/obj/effect/decal/warning_stripes/yellow/hollow,
/turf/simulated/floor/plasteel,
/area/engine/controlroom)
@@ -15573,7 +15573,7 @@
/obj/structure/rack,
/obj/item/storage/toolbox/emergency,
/obj/item/wrench,
-/obj/item/tank/emergency_oxygen/engi,
+/obj/item/tank/internals/emergency_oxygen/engi,
/turf/simulated/floor/plasteel{
dir = 9;
icon_state = "caution"
@@ -18770,8 +18770,8 @@
initialize_directions = 11;
level = 1
},
-/obj/item/tank/emergency_oxygen,
-/obj/item/tank/emergency_oxygen,
+/obj/item/tank/internals/emergency_oxygen,
+/obj/item/tank/internals/emergency_oxygen,
/obj/item/clothing/mask/breath,
/obj/item/clothing/mask/breath,
/turf/simulated/floor/plasteel{
@@ -23212,7 +23212,7 @@
pixel_x = 32;
pixel_y = 0
},
-/obj/item/tank/emergency_oxygen/engi,
+/obj/item/tank/internals/emergency_oxygen/engi,
/obj/effect/decal/warning_stripes/yellow/hollow,
/turf/simulated/floor/plasteel{
dir = 5;
@@ -38451,8 +38451,8 @@
/area/atmos)
"bAb" = (
/obj/structure/table/reinforced,
-/obj/item/tank/emergency_oxygen,
-/obj/item/tank/emergency_oxygen,
+/obj/item/tank/internals/emergency_oxygen,
+/obj/item/tank/internals/emergency_oxygen,
/obj/item/clothing/mask/breath,
/obj/item/clothing/mask/breath,
/turf/simulated/floor/plasteel{
@@ -39565,10 +39565,10 @@
/obj/item/clothing/suit/storage/hazardvest,
/obj/item/clothing/suit/storage/hazardvest,
/obj/item/clothing/suit/storage/hazardvest,
-/obj/item/tank/emergency_oxygen/double,
-/obj/item/tank/emergency_oxygen/double,
-/obj/item/tank/emergency_oxygen/double,
-/obj/item/tank/emergency_oxygen/double,
+/obj/item/tank/internals/emergency_oxygen/double,
+/obj/item/tank/internals/emergency_oxygen/double,
+/obj/item/tank/internals/emergency_oxygen/double,
+/obj/item/tank/internals/emergency_oxygen/double,
/obj/item/clothing/mask/breath,
/obj/item/clothing/mask/breath,
/obj/item/clothing/mask/breath,
@@ -58772,7 +58772,7 @@
/obj/structure/rack,
/obj/item/crowbar,
/obj/item/wrench,
-/obj/item/tank/emergency_oxygen/engi,
+/obj/item/tank/internals/emergency_oxygen/engi,
/turf/simulated/floor/plating,
/area/maintenance/fpmaint2)
"ciq" = (
@@ -59592,7 +59592,7 @@
/obj/structure/rack,
/obj/item/crowbar,
/obj/item/stack/cable_coil/yellow,
-/obj/item/tank/emergency_oxygen/engi,
+/obj/item/tank/internals/emergency_oxygen/engi,
/obj/effect/decal/warning_stripes/yellow/hollow,
/turf/simulated/floor/plasteel,
/area/engine/engineering)
@@ -61391,7 +61391,7 @@
/area/engine/engineering)
"cmX" = (
/obj/structure/rack,
-/obj/item/tank/oxygen,
+/obj/item/tank/internals/oxygen,
/obj/item/radio,
/obj/machinery/firealarm{
dir = 1;
@@ -64507,7 +64507,7 @@
/obj/structure/rack,
/obj/item/crowbar/red,
/obj/item/wrench,
-/obj/item/tank/emergency_oxygen/engi,
+/obj/item/tank/internals/emergency_oxygen/engi,
/obj/item/stack/sheet/mineral/plasma{
amount = 5
},
@@ -65106,7 +65106,7 @@
pixel_x = -28;
pixel_y = 0
},
-/obj/item/tank/plasma,
+/obj/item/tank/internals/plasma,
/obj/effect/decal/warning_stripes/yellow/hollow,
/turf/simulated/floor/plasteel{
dir = 5;
@@ -68703,11 +68703,11 @@
/obj/item/clothing/suit/storage/hazardvest,
/obj/item/clothing/suit/storage/hazardvest,
/obj/item/clothing/suit/storage/hazardvest,
-/obj/item/tank/emergency_oxygen/double,
-/obj/item/tank/emergency_oxygen/double,
-/obj/item/tank/emergency_oxygen/double,
-/obj/item/tank/emergency_oxygen/double,
-/obj/item/tank/emergency_oxygen/double,
+/obj/item/tank/internals/emergency_oxygen/double,
+/obj/item/tank/internals/emergency_oxygen/double,
+/obj/item/tank/internals/emergency_oxygen/double,
+/obj/item/tank/internals/emergency_oxygen/double,
+/obj/item/tank/internals/emergency_oxygen/double,
/obj/item/clothing/mask/breath,
/obj/item/clothing/mask/breath,
/obj/item/clothing/mask/breath,
@@ -106533,10 +106533,10 @@
/obj/item/clothing/suit/storage/hazardvest,
/obj/item/clothing/suit/storage/hazardvest,
/obj/item/clothing/suit/storage/hazardvest,
-/obj/item/tank/emergency_oxygen/double,
-/obj/item/tank/emergency_oxygen/double,
-/obj/item/tank/emergency_oxygen/double,
-/obj/item/tank/emergency_oxygen/double,
+/obj/item/tank/internals/emergency_oxygen/double,
+/obj/item/tank/internals/emergency_oxygen/double,
+/obj/item/tank/internals/emergency_oxygen/double,
+/obj/item/tank/internals/emergency_oxygen/double,
/obj/item/clothing/mask/breath,
/obj/item/clothing/mask/breath,
/obj/item/clothing/mask/breath,
@@ -106557,7 +106557,7 @@
tag = ""
},
/obj/structure/rack,
-/obj/item/tank/oxygen,
+/obj/item/tank/internals/oxygen,
/obj/item/radio,
/obj/item/clothing/mask/breath,
/turf/simulated/floor/plating,
@@ -106570,7 +106570,7 @@
tag = ""
},
/obj/structure/rack,
-/obj/item/tank/oxygen,
+/obj/item/tank/internals/oxygen,
/obj/item/radio,
/obj/item/clothing/mask/breath,
/obj/effect/decal/warning_stripes/yellow/hollow,
diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm
index 60c239f4ac6..12f74d2cdb8 100644
--- a/_maps/map_files/MetaStation/MetaStation.dmm
+++ b/_maps/map_files/MetaStation/MetaStation.dmm
@@ -2755,15 +2755,15 @@
},
/area/security/permabrig)
"ahA" = (
-/obj/item/tank/oxygen{
+/obj/item/tank/internals/oxygen{
pixel_x = -4;
pixel_y = -1
},
-/obj/item/tank/oxygen{
+/obj/item/tank/internals/oxygen{
pixel_x = 4;
pixel_y = -1
},
-/obj/item/tank/anesthetic{
+/obj/item/tank/internals/anesthetic{
pixel_x = 2
},
/obj/item/storage/toolbox/mechanical,
@@ -15684,8 +15684,8 @@
/obj/item/clothing/gloves/color/yellow,
/obj/item/clothing/suit/storage/hazardvest,
/obj/item/clothing/suit/storage/hazardvest,
-/obj/item/tank/emergency_oxygen/engi,
-/obj/item/tank/emergency_oxygen/engi,
+/obj/item/tank/internals/emergency_oxygen/engi,
+/obj/item/tank/internals/emergency_oxygen/engi,
/obj/effect/decal/warning_stripes/yellow,
/turf/simulated/floor/plasteel,
/area/engine/engineering)
@@ -33709,7 +33709,7 @@
},
/area/engine/chiefs_office)
"bmF" = (
-/obj/item/tank/air,
+/obj/item/tank/internals/air,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/turf/simulated/floor/plating,
/area/maintenance/maintcentral{
@@ -43286,10 +43286,10 @@
/obj/item/clothing/mask/breath{
pixel_x = 4
},
-/obj/item/tank/emergency_oxygen{
+/obj/item/tank/internals/emergency_oxygen{
pixel_x = -8
},
-/obj/item/tank/emergency_oxygen{
+/obj/item/tank/internals/emergency_oxygen{
pixel_x = -8
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
@@ -46533,7 +46533,7 @@
/obj/item/clothing/mask/breath{
pixel_x = 4
},
-/obj/item/tank/emergency_oxygen{
+/obj/item/tank/internals/emergency_oxygen{
pixel_x = -8
},
/obj/structure/table,
@@ -49054,7 +49054,7 @@
/obj/machinery/power/rad_collector{
anchored = 1
},
-/obj/item/tank/plasma,
+/obj/item/tank/internals/plasma,
/obj/structure/cable{
d2 = 8;
icon_state = "0-8"
@@ -54250,8 +54250,8 @@
/turf/simulated/floor/wood,
/area/ntrep)
"bWR" = (
-/obj/item/tank/oxygen,
-/obj/item/tank/oxygen,
+/obj/item/tank/internals/oxygen,
+/obj/item/tank/internals/oxygen,
/obj/item/clothing/mask/gas,
/obj/item/clothing/mask/gas,
/obj/structure/table,
@@ -69576,7 +69576,7 @@
})
"cyh" = (
/obj/structure/rack,
-/obj/item/tank/anesthetic,
+/obj/item/tank/internals/anesthetic,
/obj/item/clothing/mask/gas,
/turf/simulated/floor/plating,
/area/maintenance/aft{
@@ -70518,8 +70518,8 @@
name = "Aft Maintenance"
})
"czL" = (
-/obj/item/tank/air,
-/obj/item/tank/air,
+/obj/item/tank/internals/air,
+/obj/item/tank/internals/air,
/obj/item/clothing/mask/breath,
/obj/item/clothing/mask/breath,
/obj/machinery/space_heater,
@@ -72844,7 +72844,7 @@
/area/medical/genetics)
"cDB" = (
/obj/structure/rack,
-/obj/item/tank/air,
+/obj/item/tank/internals/air,
/obj/item/wrench,
/obj/effect/spawner/lootdrop/maintenance,
/turf/simulated/floor/plating,
@@ -88438,7 +88438,7 @@
"dgm" = (
/obj/effect/decal/warning_stripes/yellow/hollow,
/obj/structure/closet/emcloset,
-/obj/item/tank/emergency_oxygen,
+/obj/item/tank/internals/emergency_oxygen,
/obj/item/clothing/mask/breath,
/turf/simulated/floor/plasteel,
/area/hallway/secondary/entry{
@@ -91158,7 +91158,7 @@
/obj/item/clothing/mask/breath{
pixel_x = 4
},
-/obj/item/tank/emergency_oxygen{
+/obj/item/tank/internals/emergency_oxygen{
pixel_x = -8
},
/turf/simulated/floor/plating,
diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_biodome_beach.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_biodome_beach.dmm
index 98afd5183c2..1be71d3b8a8 100644
--- a/_maps/map_files/RandomRuins/LavaRuins/lavaland_biodome_beach.dmm
+++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_biodome_beach.dmm
@@ -178,7 +178,7 @@
/area/ruin/powered/beach)
"aJ" = (
/obj/structure/closet/crate,
-/obj/item/tank/emergency_oxygen,
+/obj/item/tank/internals/emergency_oxygen,
/obj/item/trash/candy,
/obj/effect/turf_decal/sand,
/obj/item/toy/figure/bartender,
@@ -406,7 +406,7 @@
/area/ruin/powered/beach)
"cR" = (
/obj/structure/table/wood,
-/obj/item/tank/oxygen,
+/obj/item/tank/internals/oxygen,
/obj/item/pickaxe,
/obj/item/clothing/mask/gas,
/turf/simulated/floor/pod,
diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_animal_hospital.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_animal_hospital.dmm
index fe3615237da..c19abad2f7f 100644
--- a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_animal_hospital.dmm
+++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_animal_hospital.dmm
@@ -629,15 +629,15 @@
/area/ruin/powered/animal_hospital)
"bH" = (
/obj/structure/table,
-/obj/item/tank/oxygen,
-/obj/item/tank/oxygen,
+/obj/item/tank/internals/oxygen,
+/obj/item/tank/internals/oxygen,
/obj/effect/turf_decal/tile/blue{
dir = 1
},
/obj/effect/turf_decal/tile/blue{
dir = 8
},
-/obj/item/tank/oxygen,
+/obj/item/tank/internals/oxygen,
/turf/simulated/floor/plasteel,
/area/ruin/powered/animal_hospital)
"bI" = (
diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_hermit.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_hermit.dmm
index bcddc0f965d..7bea889e743 100644
--- a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_hermit.dmm
+++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_hermit.dmm
@@ -84,7 +84,7 @@
"r" = (
/obj/structure/rack,
/obj/item/pickaxe/emergency,
-/obj/item/tank/oxygen,
+/obj/item/tank/internals/oxygen,
/turf/simulated/floor/plating/asteroid/basalt,
/area/ruin/powered)
"s" = (
diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm
index e0870fd0ff3..f04c362a81d 100644
--- a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm
+++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm
@@ -239,7 +239,7 @@
pixel_x = 32
},
/obj/structure/closet/emcloset/anchored,
-/obj/item/tank/emergency_oxygen/engi,
+/obj/item/tank/internals/emergency_oxygen/engi,
/obj/item/flashlight/seclite,
/obj/item/clothing/mask/gas,
/obj/structure/sign/vacuum{
@@ -536,7 +536,7 @@
pixel_x = 32
},
/obj/structure/closet/emcloset/anchored,
-/obj/item/tank/emergency_oxygen/engi,
+/obj/item/tank/internals/emergency_oxygen/engi,
/obj/item/flashlight/seclite,
/obj/item/clothing/mask/gas,
/obj/effect/decal/cleanable/dirt,
@@ -2285,12 +2285,12 @@
dir = 1
},
/obj/structure/closet/crate/internals,
-/obj/item/tank/oxygen/yellow,
-/obj/item/tank/oxygen/yellow,
-/obj/item/tank/oxygen/yellow,
-/obj/item/tank/emergency_oxygen/double,
-/obj/item/tank/emergency_oxygen/double,
-/obj/item/tank/emergency_oxygen/double,
+/obj/item/tank/internals/oxygen/yellow,
+/obj/item/tank/internals/oxygen/yellow,
+/obj/item/tank/internals/oxygen/yellow,
+/obj/item/tank/internals/emergency_oxygen/double,
+/obj/item/tank/internals/emergency_oxygen/double,
+/obj/item/tank/internals/emergency_oxygen/double,
/obj/item/clothing/mask/gas,
/obj/item/clothing/mask/gas,
/obj/item/clothing/mask/gas,
@@ -4961,7 +4961,7 @@
/obj/item/clothing/gloves/combat{
pixel_y = -6
},
-/obj/item/tank/emergency_oxygen{
+/obj/item/tank/internals/emergency_oxygen{
pixel_x = 4;
pixel_y = 4
},
diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_xeno_nest.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_xeno_nest.dmm
index 63ffac70fd8..ec1443e4b37 100644
--- a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_xeno_nest.dmm
+++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_xeno_nest.dmm
@@ -156,7 +156,7 @@
/obj/structure/alien/weeds,
/obj/structure/bed/nest,
/obj/effect/decal/cleanable/blood/gibs,
-/obj/item/tank/emergency_oxygen,
+/obj/item/tank/internals/emergency_oxygen,
/obj/item/clothing/suit/space/syndicate/orange,
/obj/item/clothing/mask/gas,
/obj/item/clothing/head/helmet/space/syndicate/orange,
diff --git a/_maps/map_files/RandomRuins/SpaceRuins/abandonedzoo.dmm b/_maps/map_files/RandomRuins/SpaceRuins/abandonedzoo.dmm
index 72ed4f08af3..92098db8367 100644
--- a/_maps/map_files/RandomRuins/SpaceRuins/abandonedzoo.dmm
+++ b/_maps/map_files/RandomRuins/SpaceRuins/abandonedzoo.dmm
@@ -396,7 +396,7 @@
},
/obj/structure/rack,
/obj/item/clothing/suit/space/hardsuit/medical,
-/obj/item/tank/emergency_oxygen/double,
+/obj/item/tank/internals/emergency_oxygen/double,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
diff --git a/_maps/map_files/RandomRuins/SpaceRuins/listeningpost.dmm b/_maps/map_files/RandomRuins/SpaceRuins/listeningpost.dmm
index 5607083f0a8..61faecbacdf 100644
--- a/_maps/map_files/RandomRuins/SpaceRuins/listeningpost.dmm
+++ b/_maps/map_files/RandomRuins/SpaceRuins/listeningpost.dmm
@@ -96,7 +96,7 @@
"t" = (
/obj/structure/rack,
/obj/item/tank/jetpack/carbondioxide,
-/obj/item/tank/air,
+/obj/item/tank/internals/air,
/turf/simulated/floor/plasteel,
/area/ruin/powered)
"u" = (
diff --git a/_maps/map_files/RandomRuins/SpaceRuins/oldstation.dmm b/_maps/map_files/RandomRuins/SpaceRuins/oldstation.dmm
index 6562103334e..b22acc77af3 100644
--- a/_maps/map_files/RandomRuins/SpaceRuins/oldstation.dmm
+++ b/_maps/map_files/RandomRuins/SpaceRuins/oldstation.dmm
@@ -1028,10 +1028,10 @@
/obj/structure/closet/crate/engineering{
name = "plasma tank crate"
},
-/obj/item/tank/plasma/full,
-/obj/item/tank/plasma/full,
-/obj/item/tank/plasma/full,
-/obj/item/tank/plasma/full,
+/obj/item/tank/internals/plasma/full,
+/obj/item/tank/internals/plasma/full,
+/obj/item/tank/internals/plasma/full,
+/obj/item/tank/internals/plasma/full,
/turf/simulated/floor/plating,
/area/ruin/space/ancientstation/thetacorridor)
"cR" = (
@@ -1399,7 +1399,7 @@
"dP" = (
/obj/structure/table,
/obj/effect/decal/cleanable/dirt,
-/obj/item/tank/emergency_oxygen,
+/obj/item/tank/internals/emergency_oxygen,
/turf/simulated/floor/plasteel{
dir = 0;
icon_state = "blue"
@@ -1801,7 +1801,7 @@
"eJ" = (
/obj/structure/table,
/obj/machinery/atmospherics/unary/vent_pump/on,
-/obj/item/tank/oxygen,
+/obj/item/tank/internals/oxygen,
/obj/item/clothing/mask/breath,
/turf/simulated/floor/plasteel{
dir = 9;
@@ -1907,7 +1907,7 @@
"eV" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/table,
-/obj/item/tank/anesthetic,
+/obj/item/tank/internals/anesthetic,
/obj/item/clothing/mask/breath/medical,
/turf/simulated/floor/plasteel{
icon_state = "white"
diff --git a/_maps/map_files/RandomRuins/SpaceRuins/onehalf.dmm b/_maps/map_files/RandomRuins/SpaceRuins/onehalf.dmm
index 93dc1fffed4..2a76eadd283 100644
--- a/_maps/map_files/RandomRuins/SpaceRuins/onehalf.dmm
+++ b/_maps/map_files/RandomRuins/SpaceRuins/onehalf.dmm
@@ -1126,7 +1126,7 @@
/area/ruin/onehalf/bridge)
"cM" = (
/obj/structure/safe/floor,
-/obj/item/tank/oxygen/red,
+/obj/item/tank/internals/oxygen/red,
/obj/item/clothing/mask/gas/syndicate,
/obj/item/clothing/suit/space/hardsuit/syndi,
/obj/item/reagent_containers/food/drinks/bottle/rum,
diff --git a/_maps/map_files/RandomRuins/SpaceRuins/whiteship.dmm b/_maps/map_files/RandomRuins/SpaceRuins/whiteship.dmm
index 8959d8f5f6d..1ecf46d8751 100644
--- a/_maps/map_files/RandomRuins/SpaceRuins/whiteship.dmm
+++ b/_maps/map_files/RandomRuins/SpaceRuins/whiteship.dmm
@@ -376,7 +376,7 @@
/area/shuttle/abandoned)
"aY" = (
/obj/structure/table,
-/obj/item/tank/oxygen,
+/obj/item/tank/internals/oxygen,
/turf/simulated/shuttle/floor{
icon_state = "floor3"
},
@@ -512,10 +512,10 @@
/area/shuttle/abandoned)
"br" = (
/obj/structure/rack,
-/obj/item/tank/emergency_oxygen,
-/obj/item/tank/emergency_oxygen,
-/obj/item/tank/emergency_oxygen,
-/obj/item/tank/emergency_oxygen,
+/obj/item/tank/internals/emergency_oxygen,
+/obj/item/tank/internals/emergency_oxygen,
+/obj/item/tank/internals/emergency_oxygen,
+/obj/item/tank/internals/emergency_oxygen,
/obj/item/storage/toolbox/mechanical,
/turf/simulated/shuttle/floor{
icon_state = "floor3"
diff --git a/_maps/map_files/RandomZLevels/academy.dmm b/_maps/map_files/RandomZLevels/academy.dmm
index 9237881653b..4ae6583b295 100644
--- a/_maps/map_files/RandomZLevels/academy.dmm
+++ b/_maps/map_files/RandomZLevels/academy.dmm
@@ -971,8 +971,8 @@
/area/awaymission/academy/headmaster)
"cU" = (
/obj/structure/closet/crate/internals,
-/obj/item/tank/oxygen,
-/obj/item/tank/oxygen/red,
+/obj/item/tank/internals/oxygen,
+/obj/item/tank/internals/oxygen/red,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
diff --git a/_maps/map_files/RandomZLevels/blackmarketpackers.dmm b/_maps/map_files/RandomZLevels/blackmarketpackers.dmm
index c6de0762d16..c2937708deb 100644
--- a/_maps/map_files/RandomZLevels/blackmarketpackers.dmm
+++ b/_maps/map_files/RandomZLevels/blackmarketpackers.dmm
@@ -266,7 +266,7 @@
"aT" = (
/obj/item/scalpel,
/obj/structure/closet/crate,
-/obj/item/tank/anesthetic,
+/obj/item/tank/internals/anesthetic,
/turf/simulated/floor/plating/airless,
/area/awaymission/BMPship/Gate)
"aU" = (
diff --git a/_maps/map_files/RandomZLevels/centcomAway.dmm b/_maps/map_files/RandomZLevels/centcomAway.dmm
index 16ecc9308ae..39e84d28b50 100644
--- a/_maps/map_files/RandomZLevels/centcomAway.dmm
+++ b/_maps/map_files/RandomZLevels/centcomAway.dmm
@@ -2553,7 +2553,7 @@
/area/awaymission/centcomAway/general)
"gB" = (
/obj/structure/table/reinforced,
-/obj/item/tank/anesthetic,
+/obj/item/tank/internals/anesthetic,
/obj/item/clothing/mask/breath/medical,
/turf/simulated/floor/plasteel{
icon_state = "white"
diff --git a/_maps/map_files/RandomZLevels/moonoutpost19.dmm b/_maps/map_files/RandomZLevels/moonoutpost19.dmm
index d7e3d89a005..97c119ac941 100644
--- a/_maps/map_files/RandomZLevels/moonoutpost19.dmm
+++ b/_maps/map_files/RandomZLevels/moonoutpost19.dmm
@@ -2660,7 +2660,7 @@
icon_state = "weeds1"
},
/obj/structure/bed/nest,
-/obj/item/tank/oxygen,
+/obj/item/tank/internals/oxygen,
/obj/item/clothing/suit/space/syndicate/orange,
/obj/item/clothing/mask/gas,
/obj/item/clothing/head/helmet/space/syndicate/orange,
@@ -5968,7 +5968,7 @@
req_access_txt = "271"
},
/obj/item/clothing/suit/storage/labcoat,
-/obj/item/tank/air,
+/obj/item/tank/internals/air,
/obj/item/clothing/mask/gas,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plasteel,
diff --git a/_maps/map_files/RandomZLevels/spacebattle.dmm b/_maps/map_files/RandomZLevels/spacebattle.dmm
index 12bd63adda5..2b73166db76 100644
--- a/_maps/map_files/RandomZLevels/spacebattle.dmm
+++ b/_maps/map_files/RandomZLevels/spacebattle.dmm
@@ -1846,7 +1846,7 @@
/area/awaymission/spacebattle/cruiser)
"fG" = (
/obj/structure/closet/crate/internals,
-/obj/item/tank/emergency_oxygen,
+/obj/item/tank/internals/emergency_oxygen,
/obj/item/storage/firstaid/o2,
/turf/simulated/floor/plating,
/area/awaymission/spacebattle/cruiser)
@@ -2239,7 +2239,7 @@
/area/awaymission/spacebattle/cruiser)
"hj" = (
/obj/structure/closet/crate/secure/plasma,
-/obj/item/tank/plasma,
+/obj/item/tank/internals/plasma,
/turf/simulated/floor/plating,
/area/awaymission/spacebattle/cruiser)
"hk" = (
@@ -2300,7 +2300,7 @@
/area/awaymission/spacebattle/cruiser)
"ht" = (
/obj/structure/closet/crate/medical,
-/obj/item/tank/anesthetic,
+/obj/item/tank/internals/anesthetic,
/turf/simulated/floor/plating,
/area/awaymission/spacebattle/cruiser)
"hu" = (
diff --git a/_maps/map_files/RandomZLevels/stationCollision.dmm b/_maps/map_files/RandomZLevels/stationCollision.dmm
index d56e1f6e539..cb740c91553 100644
--- a/_maps/map_files/RandomZLevels/stationCollision.dmm
+++ b/_maps/map_files/RandomZLevels/stationCollision.dmm
@@ -4414,7 +4414,7 @@
dir = 1
},
/obj/effect/decal/remains/human,
-/obj/item/tank/anesthetic,
+/obj/item/tank/internals/anesthetic,
/obj/item/clothing/mask/breath,
/turf/simulated/floor/plasteel{
icon_state = "white"
diff --git a/_maps/map_files/RandomZLevels/terrorspiders.dmm b/_maps/map_files/RandomZLevels/terrorspiders.dmm
index 662392dd018..badb9f72ce9 100644
--- a/_maps/map_files/RandomZLevels/terrorspiders.dmm
+++ b/_maps/map_files/RandomZLevels/terrorspiders.dmm
@@ -8401,11 +8401,11 @@
dir = 1
},
/obj/structure/table,
-/obj/item/tank/emergency_oxygen{
+/obj/item/tank/internals/emergency_oxygen{
pixel_x = -8;
pixel_y = 0
},
-/obj/item/tank/emergency_oxygen{
+/obj/item/tank/internals/emergency_oxygen{
pixel_x = -8;
pixel_y = 0
},
diff --git a/_maps/map_files/RandomZLevels/undergroundoutpost45.dmm b/_maps/map_files/RandomZLevels/undergroundoutpost45.dmm
index ff51dba1d99..56e78685a50 100644
--- a/_maps/map_files/RandomZLevels/undergroundoutpost45.dmm
+++ b/_maps/map_files/RandomZLevels/undergroundoutpost45.dmm
@@ -5908,7 +5908,7 @@
name = "scientist's locker";
req_access_txt = "201"
},
-/obj/item/tank/air,
+/obj/item/tank/internals/air,
/obj/item/clothing/mask/gas,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plasteel{
@@ -11684,11 +11684,11 @@
dir = 1
},
/obj/structure/table,
-/obj/item/tank/emergency_oxygen{
+/obj/item/tank/internals/emergency_oxygen{
pixel_x = -8;
pixel_y = 0
},
-/obj/item/tank/emergency_oxygen{
+/obj/item/tank/internals/emergency_oxygen{
pixel_x = -8;
pixel_y = 0
},
diff --git a/_maps/map_files/RandomZLevels/wildwest.dmm b/_maps/map_files/RandomZLevels/wildwest.dmm
index b9110dabaca..a0b04ac7449 100644
--- a/_maps/map_files/RandomZLevels/wildwest.dmm
+++ b/_maps/map_files/RandomZLevels/wildwest.dmm
@@ -2675,7 +2675,7 @@
/obj/item/clothing/suit/space/syndicate/black/orange,
/obj/item/clothing/head/helmet/space/syndicate/black/orange,
/obj/item/clothing/mask/gas/syndicate,
-/obj/item/tank/oxygen,
+/obj/item/tank/internals/oxygen,
/obj/item/clothing/shoes/magboots,
/turf/simulated/shuttle{
tag = "icon-floor2";
diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm
index 0fa4f94c362..7a5b8ca5679 100644
--- a/_maps/map_files/cyberiad/cyberiad.dmm
+++ b/_maps/map_files/cyberiad/cyberiad.dmm
@@ -1120,7 +1120,7 @@
},
/obj/effect/decal/warning_stripes/east,
/obj/structure/rack,
-/obj/item/tank/oxygen,
+/obj/item/tank/internals/oxygen,
/obj/item/tank/jetpack/oxygen,
/turf/simulated/floor/plasteel,
/area/security/podbay)
@@ -12378,7 +12378,7 @@
dir = 1
},
/obj/item/clothing/suit/fire/firefighter,
-/obj/item/tank/oxygen,
+/obj/item/tank/internals/oxygen,
/obj/item/clothing/mask/gas,
/obj/item/extinguisher,
/obj/item/clothing/head/hardhat/red,
@@ -16152,7 +16152,7 @@
/area/maintenance/fsmaint2)
"aHc" = (
/obj/structure/rack,
-/obj/item/tank/emergency_oxygen/engi,
+/obj/item/tank/internals/emergency_oxygen/engi,
/turf/simulated/floor/plating,
/area/maintenance/fsmaint2)
"aHd" = (
@@ -16720,7 +16720,7 @@
/area/crew_quarters/arcade)
"aIv" = (
/obj/structure/rack,
-/obj/item/tank/air,
+/obj/item/tank/internals/air,
/turf/simulated/floor/plating,
/area/maintenance/fsmaint2)
"aIw" = (
@@ -24242,7 +24242,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/effect/spawner/lootdrop/maintenance,
-/obj/item/tank/emergency_oxygen,
+/obj/item/tank/internals/emergency_oxygen,
/turf/simulated/floor/plating,
/area/maintenance/fpmaint)
"aYc" = (
@@ -25517,8 +25517,8 @@
dir = 8;
layer = 2.9
},
-/obj/item/tank/emergency_oxygen/engi,
-/obj/item/tank/emergency_oxygen/engi,
+/obj/item/tank/internals/emergency_oxygen/engi,
+/obj/item/tank/internals/emergency_oxygen/engi,
/obj/item/clothing/mask/gas,
/obj/item/clothing/mask/gas{
pixel_x = -3;
@@ -26182,7 +26182,7 @@
/area/maintenance/fpmaint)
"bbT" = (
/obj/structure/rack,
-/obj/item/tank/oxygen,
+/obj/item/tank/internals/oxygen,
/turf/simulated/floor/plating,
/area/maintenance/fpmaint)
"bbU" = (
@@ -27084,8 +27084,8 @@
tag = "icon-bulb1 (EAST)"
},
/obj/structure/rack,
-/obj/item/tank/emergency_oxygen,
-/obj/item/tank/emergency_oxygen/engi{
+/obj/item/tank/internals/emergency_oxygen,
+/obj/item/tank/internals/emergency_oxygen/engi{
pixel_x = 2;
pixel_y = -2
},
@@ -32280,8 +32280,8 @@
dir = 8;
layer = 2.9
},
-/obj/item/tank/emergency_oxygen,
-/obj/item/tank/emergency_oxygen,
+/obj/item/tank/internals/emergency_oxygen,
+/obj/item/tank/internals/emergency_oxygen,
/obj/item/clothing/mask/breath,
/obj/item/clothing/mask/breath,
/obj/machinery/light_switch{
@@ -32472,8 +32472,8 @@
/obj/structure/closet/emcloset,
/obj/item/clothing/mask/breath,
/obj/item/clothing/mask/breath,
-/obj/item/tank/emergency_oxygen,
-/obj/item/tank/emergency_oxygen,
+/obj/item/tank/internals/emergency_oxygen,
+/obj/item/tank/internals/emergency_oxygen,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "darkred"
@@ -33971,8 +33971,8 @@
/obj/structure/closet/emcloset,
/obj/item/clothing/mask/breath,
/obj/item/clothing/mask/breath,
-/obj/item/tank/emergency_oxygen,
-/obj/item/tank/emergency_oxygen,
+/obj/item/tank/internals/emergency_oxygen,
+/obj/item/tank/internals/emergency_oxygen,
/obj/machinery/light{
dir = 8
},
@@ -47992,7 +47992,7 @@
pixel_x = 4;
pixel_y = 4
},
-/obj/item/tank/anesthetic,
+/obj/item/tank/internals/anesthetic,
/obj/item/clothing/mask/breath/medical,
/obj/item/reagent_containers/spray/cleaner{
desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back.";
@@ -48973,18 +48973,18 @@
/area/engine/gravitygenerator)
"bUA" = (
/obj/structure/table,
-/obj/item/tank/emergency_oxygen/nitrogen{
+/obj/item/tank/internals/emergency_oxygen/nitrogen{
pixel_x = 5;
pixel_y = 5
},
-/obj/item/tank/emergency_oxygen/nitrogen{
+/obj/item/tank/internals/emergency_oxygen/nitrogen{
pixel_x = 5
},
-/obj/item/tank/emergency_oxygen/plasma{
+/obj/item/tank/internals/emergency_oxygen/plasma{
pixel_x = -5;
pixel_y = 5
},
-/obj/item/tank/emergency_oxygen/plasma{
+/obj/item/tank/internals/emergency_oxygen/plasma{
pixel_x = -5
},
/turf/simulated/floor/plasteel{
@@ -49111,8 +49111,8 @@
/area/hallway/primary/central/se)
"bUM" = (
/obj/structure/closet/crate/freezer,
-/obj/item/tank/emergency_oxygen/engi/empty,
-/obj/item/tank/emergency_oxygen/engi/empty,
+/obj/item/tank/internals/emergency_oxygen/engi/empty,
+/obj/item/tank/internals/emergency_oxygen/engi/empty,
/obj/item/reagent_containers/iv_bag/blood/AMinus,
/obj/item/reagent_containers/iv_bag/blood/APlus,
/obj/item/reagent_containers/iv_bag/blood/BMinus,
@@ -51563,7 +51563,7 @@
/area/teleporter)
"bZc" = (
/obj/structure/rack,
-/obj/item/tank/oxygen,
+/obj/item/tank/internals/oxygen,
/obj/item/clothing/mask/gas,
/turf/simulated/floor/plating,
/area/teleporter)
@@ -53484,8 +53484,8 @@
/area/medical/genetics_cloning)
"cca" = (
/obj/structure/closet/crate/freezer,
-/obj/item/tank/emergency_oxygen/engi/empty,
-/obj/item/tank/emergency_oxygen/engi/empty,
+/obj/item/tank/internals/emergency_oxygen/engi/empty,
+/obj/item/tank/internals/emergency_oxygen/engi/empty,
/obj/item/reagent_containers/iv_bag/blood/AMinus,
/obj/item/reagent_containers/iv_bag/blood/APlus,
/obj/item/reagent_containers/iv_bag/blood/BMinus,
@@ -54149,8 +54149,8 @@
"ccS" = (
/obj/structure/closet/emcloset,
/obj/item/clothing/mask/breath,
-/obj/item/tank/emergency_oxygen,
-/obj/item/tank/emergency_oxygen,
+/obj/item/tank/internals/emergency_oxygen,
+/obj/item/tank/internals/emergency_oxygen,
/obj/item/clothing/mask/breath,
/obj/effect/decal/warning_stripes/yellow/hollow,
/obj/effect/decal/warning_stripes/east,
@@ -66791,8 +66791,8 @@
/area/medical/virology)
"cyV" = (
/obj/structure/closet/crate/freezer,
-/obj/item/tank/emergency_oxygen/engi/empty,
-/obj/item/tank/emergency_oxygen/engi/empty,
+/obj/item/tank/internals/emergency_oxygen/engi/empty,
+/obj/item/tank/internals/emergency_oxygen/engi/empty,
/obj/item/reagent_containers/iv_bag/blood/AMinus,
/obj/item/reagent_containers/iv_bag/blood/APlus,
/obj/item/reagent_containers/iv_bag/blood/BMinus,
@@ -66990,7 +66990,7 @@
/turf/simulated/floor/plating,
/area/storage/tech)
"czo" = (
-/obj/item/tank/oxygen,
+/obj/item/tank/internals/oxygen,
/turf/simulated/floor/plating,
/area/maintenance/asmaint)
"czp" = (
@@ -72595,9 +72595,9 @@
layer = 2.9
},
/obj/item/clothing/suit/storage/hazardvest,
-/obj/item/tank/emergency_oxygen/engi,
+/obj/item/tank/internals/emergency_oxygen/engi,
/obj/item/clothing/suit/storage/hazardvest,
-/obj/item/tank/emergency_oxygen/engi,
+/obj/item/tank/internals/emergency_oxygen/engi,
/obj/item/clothing/mask/gas,
/obj/item/clothing/mask/gas{
pixel_x = -3;
@@ -73498,10 +73498,10 @@
dir = 8;
layer = 2.9
},
-/obj/item/tank/emergency_oxygen/engi,
+/obj/item/tank/internals/emergency_oxygen/engi,
/obj/item/clothing/suit/storage/hazardvest,
/obj/item/clothing/suit/storage/hazardvest,
-/obj/item/tank/emergency_oxygen/engi,
+/obj/item/tank/internals/emergency_oxygen/engi,
/obj/item/clothing/mask/gas,
/obj/item/clothing/mask/gas{
pixel_x = -3;
@@ -76305,7 +76305,7 @@
icon_state = "4-8"
},
/obj/structure/table/reinforced,
-/obj/item/tank/emergency_oxygen/engi,
+/obj/item/tank/internals/emergency_oxygen/engi,
/obj/item/clothing/gloves/color/black,
/obj/item/clothing/glasses/meson/engine,
/turf/simulated/floor/engine,
@@ -80622,8 +80622,8 @@
/obj/structure/closet/emcloset,
/obj/item/clothing/mask/breath,
/obj/item/clothing/mask/breath,
-/obj/item/tank/emergency_oxygen,
-/obj/item/tank/emergency_oxygen,
+/obj/item/tank/internals/emergency_oxygen,
+/obj/item/tank/internals/emergency_oxygen,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "purple"
@@ -90401,7 +90401,7 @@
d2 = 8;
icon_state = "4-8"
},
-/obj/item/tank/plasma,
+/obj/item/tank/internals/plasma,
/obj/effect/decal/cleanable/dirt,
/obj/machinery/door/poddoor/shutters/radiation/preopen{
dir = 2;
diff --git a/_maps/map_files/generic/centcomm.dmm b/_maps/map_files/generic/centcomm.dmm
index 2f86fff6d16..324687f2a32 100644
--- a/_maps/map_files/generic/centcomm.dmm
+++ b/_maps/map_files/generic/centcomm.dmm
@@ -3103,7 +3103,7 @@
/obj/item/clothing/under/plasmaman/wizard,
/obj/item/clothing/head/helmet/space/plasmaman/wizard,
/obj/item/clothing/mask/breath,
-/obj/item/tank/plasma/plasmaman/belt/full,
+/obj/item/tank/internals/plasmaman/belt/full,
/turf/unsimulated/floor{
icon_state = "grimy"
},
@@ -3745,7 +3745,7 @@
/area/centcom/gamma)
"ke" = (
/obj/structure/rack,
-/obj/item/tank/emergency_oxygen/vox,
+/obj/item/tank/internals/emergency_oxygen/double/vox,
/obj/item/clothing/mask/breath/vox,
/turf/unsimulated/floor{
icon_state = "grimy"
@@ -6386,7 +6386,7 @@
/obj/item/storage/box/handcuffs,
/obj/item/storage/box/flashbangs,
/obj/item/clothing/mask/gas,
-/obj/item/tank/emergency_oxygen/double,
+/obj/item/tank/internals/emergency_oxygen/double,
/obj/item/radio/headset/ert{
pixel_x = 6;
pixel_y = -6
@@ -10071,7 +10071,7 @@
/area/admin)
"xq" = (
/obj/structure/table,
-/obj/item/tank/oxygen/yellow,
+/obj/item/tank/internals/oxygen/yellow,
/obj/random/bomb_supply,
/obj/item/clothing/under/rebeloutfit,
/obj/item/clothing/suit/poncho/ponchoshame,
@@ -12717,10 +12717,10 @@
/obj/item/clothing/mask/breath,
/obj/item/clothing/mask/breath,
/obj/item/clothing/mask/breath,
-/obj/item/tank/emergency_oxygen/engi,
-/obj/item/tank/emergency_oxygen/engi,
-/obj/item/tank/emergency_oxygen/engi,
-/obj/item/tank/emergency_oxygen/engi,
+/obj/item/tank/internals/emergency_oxygen/engi,
+/obj/item/tank/internals/emergency_oxygen/engi,
+/obj/item/tank/internals/emergency_oxygen/engi,
+/obj/item/tank/internals/emergency_oxygen/engi,
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "bot"
@@ -12960,15 +12960,15 @@
/area/space)
"Fo" = (
/obj/structure/closet/crate/internals,
-/obj/item/tank/oxygen/red,
+/obj/item/tank/internals/oxygen/red,
/obj/item/clothing/mask/gas,
-/obj/item/tank/oxygen/red,
+/obj/item/tank/internals/oxygen/red,
/obj/item/clothing/mask/gas,
-/obj/item/tank/oxygen/red,
+/obj/item/tank/internals/oxygen/red,
/obj/item/clothing/mask/gas,
-/obj/item/tank/oxygen/red,
+/obj/item/tank/internals/oxygen/red,
/obj/item/clothing/mask/gas,
-/obj/item/tank/oxygen/red,
+/obj/item/tank/internals/oxygen/red,
/obj/item/clothing/mask/gas,
/turf/simulated/shuttle/floor{
icon_state = "floor4"
@@ -14622,7 +14622,7 @@
/turf/simulated/shuttle/floor4,
/area/space)
"MY" = (
-/obj/item/tank/emergency_oxygen,
+/obj/item/tank/internals/emergency_oxygen,
/obj/item/clothing/mask/breath,
/turf/simulated/shuttle/floor4/vox,
/area/shuttle/vox)
@@ -15169,7 +15169,7 @@
/obj/item/harpoon,
/obj/item/harpoon,
/obj/item/harpoon,
-/obj/item/tank/nitrogen,
+/obj/item/tank/internals/nitrogen,
/obj/machinery/light/spot{
dir = 4;
icon_state = "tube1";
@@ -16022,12 +16022,12 @@
/area/shuttle/vox)
"TE" = (
/obj/structure/rack,
-/obj/item/tank/nitrogen,
-/obj/item/tank/nitrogen,
-/obj/item/tank/nitrogen,
-/obj/item/tank/nitrogen,
-/obj/item/tank/nitrogen,
-/obj/item/tank/nitrogen,
+/obj/item/tank/internals/nitrogen,
+/obj/item/tank/internals/nitrogen,
+/obj/item/tank/internals/nitrogen,
+/obj/item/tank/internals/nitrogen,
+/obj/item/tank/internals/nitrogen,
+/obj/item/tank/internals/nitrogen,
/turf/simulated/shuttle/floor4/vox,
/area/shuttle/vox)
"TF" = (
@@ -16320,7 +16320,7 @@
/obj/item/robot_parts/r_arm,
/obj/item/clothing/mask/surgical,
/obj/item/reagent_containers/iv_bag/blood/OMinus,
-/obj/item/tank/anesthetic,
+/obj/item/tank/internals/anesthetic,
/obj/item/clothing/mask/breath/medical,
/obj/item/robot_parts/l_leg,
/obj/item/robot_parts/r_leg,
diff --git a/_maps/map_files/shuttles/admin_armory.dmm b/_maps/map_files/shuttles/admin_armory.dmm
index 837f867a52b..68bdbe498ce 100644
--- a/_maps/map_files/shuttles/admin_armory.dmm
+++ b/_maps/map_files/shuttles/admin_armory.dmm
@@ -863,7 +863,7 @@
/area/shuttle/administration)
"HN" = (
/obj/structure/sign/poster/official/do_not_question,
-/obj/item/tank/emergency_oxygen/engi,
+/obj/item/tank/internals/emergency_oxygen/engi,
/turf/simulated/shuttle/wall{
dir = 2;
icon_state = "swall3"
@@ -1178,12 +1178,12 @@
/area/shuttle/administration)
"Un" = (
/obj/structure/table/reinforced,
-/obj/item/tank/emergency_oxygen/engi{
+/obj/item/tank/internals/emergency_oxygen/engi{
pixel_x = 3;
pixel_y = -3
},
-/obj/item/tank/emergency_oxygen/engi,
-/obj/item/tank/emergency_oxygen/engi{
+/obj/item/tank/internals/emergency_oxygen/engi,
+/obj/item/tank/internals/emergency_oxygen/engi{
pixel_x = -3;
pixel_y = 3
},
diff --git a/_maps/map_files/shuttles/emergency_cyb.dmm b/_maps/map_files/shuttles/emergency_cyb.dmm
index baccd222187..d0bf17f8cba 100644
--- a/_maps/map_files/shuttles/emergency_cyb.dmm
+++ b/_maps/map_files/shuttles/emergency_cyb.dmm
@@ -353,10 +353,10 @@
/obj/item/clothing/mask/breath,
/obj/item/clothing/mask/breath,
/obj/item/clothing/mask/breath,
-/obj/item/tank/emergency_oxygen/engi,
-/obj/item/tank/emergency_oxygen/engi,
-/obj/item/tank/emergency_oxygen/engi,
-/obj/item/tank/emergency_oxygen/engi,
+/obj/item/tank/internals/emergency_oxygen/engi,
+/obj/item/tank/internals/emergency_oxygen/engi,
+/obj/item/tank/internals/emergency_oxygen/engi,
+/obj/item/tank/internals/emergency_oxygen/engi,
/turf/simulated/floor/plasteel{
icon_state = "bot";
dir = 1
diff --git a/_maps/map_files/shuttles/emergency_meta.dmm b/_maps/map_files/shuttles/emergency_meta.dmm
index cfd300d1abd..ca2819c79c8 100644
--- a/_maps/map_files/shuttles/emergency_meta.dmm
+++ b/_maps/map_files/shuttles/emergency_meta.dmm
@@ -174,11 +174,11 @@
/obj/item/clothing/suit/storage/hazardvest,
/obj/item/clothing/suit/storage/hazardvest,
/obj/item/clothing/suit/storage/hazardvest,
-/obj/item/tank/emergency_oxygen/engi,
-/obj/item/tank/emergency_oxygen/engi,
-/obj/item/tank/emergency_oxygen/engi,
-/obj/item/tank/emergency_oxygen/engi,
-/obj/item/tank/emergency_oxygen/engi,
+/obj/item/tank/internals/emergency_oxygen/engi,
+/obj/item/tank/internals/emergency_oxygen/engi,
+/obj/item/tank/internals/emergency_oxygen/engi,
+/obj/item/tank/internals/emergency_oxygen/engi,
+/obj/item/tank/internals/emergency_oxygen/engi,
/obj/item/clothing/mask/breath{
pixel_x = -5;
pixel_y = -2
@@ -324,11 +324,11 @@
/obj/item/clothing/suit/storage/hazardvest,
/obj/item/clothing/suit/storage/hazardvest,
/obj/item/clothing/suit/storage/hazardvest,
-/obj/item/tank/emergency_oxygen/engi,
-/obj/item/tank/emergency_oxygen/engi,
-/obj/item/tank/emergency_oxygen/engi,
-/obj/item/tank/emergency_oxygen/engi,
-/obj/item/tank/emergency_oxygen/engi,
+/obj/item/tank/internals/emergency_oxygen/engi,
+/obj/item/tank/internals/emergency_oxygen/engi,
+/obj/item/tank/internals/emergency_oxygen/engi,
+/obj/item/tank/internals/emergency_oxygen/engi,
+/obj/item/tank/internals/emergency_oxygen/engi,
/obj/item/clothing/mask/breath{
pixel_x = -5;
pixel_y = -2
@@ -931,7 +931,7 @@
/obj/structure/rack{
dir = 1
},
-/obj/item/tank/oxygen,
+/obj/item/tank/internals/oxygen,
/obj/item/clothing/suit/fire/firefighter,
/obj/item/clothing/mask/gas,
/obj/item/clothing/head/hardhat/red,
diff --git a/code/__DEFINES/atmospherics.dm b/code/__DEFINES/atmospherics.dm
index 27bc5ad5f4d..c74377dbb02 100644
--- a/code/__DEFINES/atmospherics.dm
+++ b/code/__DEFINES/atmospherics.dm
@@ -21,8 +21,8 @@
#define MOLES_O2STANDARD (MOLES_CELLSTANDARD*O2STANDARD) // O2 standard value (21%)
#define MOLES_N2STANDARD (MOLES_CELLSTANDARD*N2STANDARD) // N2 standard value (79%)
#define CELL_VOLUME 2500 //liters in a cell
-#define BREATH_VOLUME 0.5 //liters in a normal breath
-#define BREATH_MOLES (ONE_ATMOSPHERE * BREATH_VOLUME /(T20C*R_IDEAL_GAS_EQUATION))
+//liters in a normal breath
+#define BREATH_VOLUME 1
#define BREATH_PERCENTAGE (BREATH_VOLUME/CELL_VOLUME) //Amount of air to take a from a tile
//EXCITED GROUPS
@@ -124,6 +124,8 @@
#define TANK_RUPTURE_PRESSURE (40.*ONE_ATMOSPHERE) //Tank spills all contents into atmosphere
#define TANK_FRAGMENT_PRESSURE (50.*ONE_ATMOSPHERE) //Boom 3x3 base explosion
#define TANK_FRAGMENT_SCALE (10.*ONE_ATMOSPHERE) //+1 for each SCALE kPa aboe threshold
+#define TANK_MAX_RELEASE_PRESSURE (ONE_ATMOSPHERE * 3)
+#define TANK_MIN_RELEASE_PRESSURE 0
#define TANK_DEFAULT_RELEASE_PRESSURE 16
// Atmos alarm defines
diff --git a/code/datums/outfits/outfit_admin.dm b/code/datums/outfits/outfit_admin.dm
index d5be5f50f35..aca1ab9bcf3 100644
--- a/code/datums/outfits/outfit_admin.dm
+++ b/code/datums/outfits/outfit_admin.dm
@@ -318,7 +318,7 @@
glasses = /obj/item/clothing/glasses/thermal/monocle
id = /obj/item/card/id/syndicate/vox
l_pocket = /obj/item/melee/classic_baton/telescopic
- r_pocket = /obj/item/tank/emergency_oxygen/vox
+ r_pocket = /obj/item/tank/internals/emergency_oxygen/double/vox
backpack_contents = list(
/obj/item/flashlight = 1,
/obj/item/restraints/handcuffs/cable/zipties = 1,
@@ -484,7 +484,7 @@
shoes = /obj/item/clothing/shoes/black
head = /obj/item/clothing/head/xenos
glasses = /obj/item/clothing/glasses/thermal
- l_pocket = /obj/item/tank/emergency_oxygen/double/full
+ l_pocket = /obj/item/tank/internals/emergency_oxygen/double
r_pocket = /obj/item/toy/toy_xeno
backpack_contents = list(
/obj/item/storage/box/survival = 1,
@@ -734,7 +734,7 @@
mask = /obj/item/clothing/mask/gas/syndicate
glasses = /obj/item/clothing/glasses/night
id = /obj/item/card/id/syndicate
- suit_store = /obj/item/tank/emergency_oxygen/double/full
+ suit_store = /obj/item/tank/internals/emergency_oxygen/double
/datum/outfit/admin/chrono/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
@@ -961,7 +961,7 @@
l_ear = /obj/item/radio/headset/ert
glasses = /obj/item/clothing/glasses/meson/cyber
id = /obj/item/card/id
- suit_store = /obj/item/tank/oxygen
+ suit_store = /obj/item/tank/internals/oxygen
backpack_contents = list(
/obj/item/storage/box/survival = 1,
/obj/item/flashlight = 1
diff --git a/code/datums/outfits/plasmamen.dm b/code/datums/outfits/plasmamen.dm
index db1cfc0fa2f..ed1484852e1 100644
--- a/code/datums/outfits/plasmamen.dm
+++ b/code/datums/outfits/plasmamen.dm
@@ -3,7 +3,7 @@
head = /obj/item/clothing/head/helmet/space/plasmaman
uniform = /obj/item/clothing/under/plasmaman
- r_hand = /obj/item/tank/plasma/plasmaman/belt/full
+ r_hand = /obj/item/tank/internals/plasmaman/belt/full
mask = /obj/item/clothing/mask/breath
/datum/outfit/plasmaman/bar
diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm
index 659d44e2faf..6a25e22b985 100644
--- a/code/datums/supplypacks.dm
+++ b/code/datums/supplypacks.dm
@@ -89,11 +89,11 @@ GLOBAL_LIST_INIT(all_supply_groups, list(SUPPLY_EMERGENCY,SUPPLY_SECURITY,SUPPLY
/mob/living/simple_animal/bot/floorbot,
/mob/living/simple_animal/bot/medbot,
/mob/living/simple_animal/bot/medbot,
- /obj/item/tank/air,
- /obj/item/tank/air,
- /obj/item/tank/air,
- /obj/item/tank/air,
- /obj/item/tank/air,
+ /obj/item/tank/internals/air,
+ /obj/item/tank/internals/air,
+ /obj/item/tank/internals/air,
+ /obj/item/tank/internals/air,
+ /obj/item/tank/internals/air,
/obj/item/clothing/mask/gas,
/obj/item/clothing/mask/gas,
/obj/item/clothing/mask/gas,
@@ -111,9 +111,9 @@ GLOBAL_LIST_INIT(all_supply_groups, list(SUPPLY_EMERGENCY,SUPPLY_SECURITY,SUPPLY
contains = list(/obj/item/clothing/mask/gas,
/obj/item/clothing/mask/gas,
/obj/item/clothing/mask/gas,
- /obj/item/tank/air,
- /obj/item/tank/air,
- /obj/item/tank/air)
+ /obj/item/tank/internals/air,
+ /obj/item/tank/internals/air,
+ /obj/item/tank/internals/air)
cost = 10
containername = "internals crate"
@@ -125,8 +125,8 @@ GLOBAL_LIST_INIT(all_supply_groups, list(SUPPLY_EMERGENCY,SUPPLY_SECURITY,SUPPLY
/obj/item/clothing/mask/gas,
/obj/item/flashlight,
/obj/item/flashlight,
- /obj/item/tank/oxygen/red,
- /obj/item/tank/oxygen/red,
+ /obj/item/tank/internals/oxygen/red,
+ /obj/item/tank/internals/oxygen/red,
/obj/item/extinguisher,
/obj/item/extinguisher,
/obj/item/clothing/head/hardhat/red,
@@ -159,8 +159,8 @@ GLOBAL_LIST_INIT(all_supply_groups, list(SUPPLY_EMERGENCY,SUPPLY_SECURITY,SUPPLY
name = "Vox Life Support Supplies"
contains = list(/obj/item/clothing/mask/breath/vox,
/obj/item/clothing/mask/breath/vox,
- /obj/item/tank/emergency_oxygen/vox,
- /obj/item/tank/emergency_oxygen/vox)
+ /obj/item/tank/internals/emergency_oxygen/double/vox,
+ /obj/item/tank/internals/emergency_oxygen/double/vox)
cost = 50
containertype = /obj/structure/closet/crate/medical
containername = "vox life support supplies crate"
@@ -169,8 +169,8 @@ GLOBAL_LIST_INIT(all_supply_groups, list(SUPPLY_EMERGENCY,SUPPLY_SECURITY,SUPPLY
name = "Plasmaman Supply Kit"
contains = list(/obj/item/clothing/under/plasmaman,
/obj/item/clothing/under/plasmaman,
- /obj/item/tank/plasma/plasmaman/belt/full,
- /obj/item/tank/plasma/plasmaman/belt/full,
+ /obj/item/tank/internals/plasmaman/belt/full,
+ /obj/item/tank/internals/plasmaman/belt/full,
/obj/item/clothing/mask/breath,
/obj/item/clothing/mask/breath,
/obj/item/clothing/head/helmet/space/plasmaman,
@@ -447,9 +447,9 @@ GLOBAL_LIST_INIT(all_supply_groups, list(SUPPLY_EMERGENCY,SUPPLY_SECURITY,SUPPLY
/datum/supply_packs/security/armory/eweapons
name = "Incendiary Weapons Crate"
contains = list(/obj/item/flamethrower/full,
- /obj/item/tank/plasma,
- /obj/item/tank/plasma,
- /obj/item/tank/plasma,
+ /obj/item/tank/internals/plasma,
+ /obj/item/tank/internals/plasma,
+ /obj/item/tank/internals/plasma,
/obj/item/grenade/chem_grenade/incendiary,
/obj/item/grenade/chem_grenade/incendiary,
/obj/item/grenade/chem_grenade/incendiary)
@@ -922,7 +922,7 @@ GLOBAL_LIST_INIT(all_supply_groups, list(SUPPLY_EMERGENCY,SUPPLY_SECURITY,SUPPLY
contains = list(/obj/item/cautery,
/obj/item/surgicaldrill,
/obj/item/clothing/mask/breath/medical,
- /obj/item/tank/anesthetic,
+ /obj/item/tank/internals/anesthetic,
/obj/item/FixOVein,
/obj/item/hemostat,
/obj/item/scalpel,
@@ -979,9 +979,9 @@ GLOBAL_LIST_INIT(all_supply_groups, list(SUPPLY_EMERGENCY,SUPPLY_SECURITY,SUPPLY
/datum/supply_packs/science/plasma
name = "Plasma Assembly Crate"
- contains = list(/obj/item/tank/plasma,
- /obj/item/tank/plasma,
- /obj/item/tank/plasma,
+ contains = list(/obj/item/tank/internals/plasma,
+ /obj/item/tank/internals/plasma,
+ /obj/item/tank/internals/plasma,
/obj/item/assembly/igniter,
/obj/item/assembly/igniter,
/obj/item/assembly/igniter,
diff --git a/code/game/gamemodes/changeling/powers/mutations.dm b/code/game/gamemodes/changeling/powers/mutations.dm
index be88e0bb6e0..fb2d19e7d0b 100644
--- a/code/game/gamemodes/changeling/powers/mutations.dm
+++ b/code/game/gamemodes/changeling/powers/mutations.dm
@@ -422,7 +422,7 @@
icon_state = "lingspacesuit"
desc = "A huge, bulky mass of pressure and temperature-resistant organic tissue, evolved to facilitate space travel."
flags = STOPSPRESSUREDMAGE | NODROP | DROPDEL
- allowed = list(/obj/item/flashlight, /obj/item/tank/emergency_oxygen, /obj/item/tank/oxygen)
+ allowed = list(/obj/item/flashlight, /obj/item/tank/internals)
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 90, "acid" = 90) //No armor at all
/obj/item/clothing/suit/space/changeling/New()
diff --git a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm
index 1ffae321f32..51abf843c93 100644
--- a/code/game/gamemodes/cult/cult_items.dm
+++ b/code/game/gamemodes/cult/cult_items.dm
@@ -119,7 +119,7 @@
item_state = "cult_armour"
desc = "A bulky suit of armor, bristling with spikes. It looks space proof."
w_class = WEIGHT_CLASS_NORMAL
- allowed = list(/obj/item/tome, /obj/item/melee/cultblade, /obj/item/tank)
+ allowed = list(/obj/item/tome, /obj/item/melee/cultblade, /obj/item/tank/internals)
slowdown = 1
armor = list("melee" = 70, "bullet" = 50, "laser" = 30,"energy" = 15, "bomb" = 30, "bio" = 30, "rad" = 30, "fire" = 40, "acid" = 75)
magical = TRUE
diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm
index 7c2071f8e58..fcfbe682b41 100644
--- a/code/game/gamemodes/nuclear/nuclear.dm
+++ b/code/game/gamemodes/nuclear/nuclear.dm
@@ -286,13 +286,13 @@
switch(race)
if("Vox" || "Vox Armalis")
synd_mob.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/syndicate(synd_mob), slot_wear_mask)
- synd_mob.equip_to_slot_or_del(new /obj/item/tank/emergency_oxygen/vox(synd_mob), slot_l_hand)
+ synd_mob.equip_to_slot_or_del(new /obj/item/tank/internals/emergency_oxygen/double/vox(synd_mob), slot_l_hand)
synd_mob.internal = synd_mob.l_hand
synd_mob.update_action_buttons_icon()
if("Plasmaman")
synd_mob.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/syndicate(synd_mob), slot_wear_mask)
- synd_mob.equip_or_collect(new /obj/item/tank/plasma/plasmaman(synd_mob), slot_s_store)
+ synd_mob.equip_or_collect(new /obj/item/tank/internals/plasmaman(synd_mob), slot_s_store)
synd_mob.equip_or_collect(new /obj/item/extinguisher_refill(synd_mob), slot_in_backpack)
synd_mob.equip_or_collect(new /obj/item/extinguisher_refill(synd_mob), slot_in_backpack)
synd_mob.internal = synd_mob.get_item_by_slot(slot_s_store)
diff --git a/code/game/jobs/job/support.dm b/code/game/jobs/job/support.dm
index 5d8c630cf7b..b4af01cd417 100644
--- a/code/game/jobs/job/support.dm
+++ b/code/game/jobs/job/support.dm
@@ -211,7 +211,7 @@
suit = /obj/item/clothing/suit/hooded/explorer
mask = /obj/item/clothing/mask/gas/explorer
glasses = /obj/item/clothing/glasses/meson
- suit_store = /obj/item/tank/emergency_oxygen
+ suit_store = /obj/item/tank/internals/emergency_oxygen
internals_slot = slot_s_store
backpack_contents = list(
/obj/item/flashlight/seclite=1,\
diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm
index f7efcd7733d..003456e6ccd 100644
--- a/code/game/machinery/suit_storage_unit.dm
+++ b/code/game/machinery/suit_storage_unit.dm
@@ -165,7 +165,7 @@
/obj/machinery/suit_storage_unit/ert/command
suit_type = /obj/item/clothing/suit/space/hardsuit/ert/commander
mask_type = /obj/item/clothing/mask/breath
- storage_type = /obj/item/tank/emergency_oxygen/double
+ storage_type = /obj/item/tank/internals/emergency_oxygen/double
/obj/machinery/suit_storage_unit/ert/command/secure
secure = TRUE
@@ -173,7 +173,7 @@
/obj/machinery/suit_storage_unit/ert/security
suit_type = /obj/item/clothing/suit/space/hardsuit/ert/security
mask_type = /obj/item/clothing/mask/breath
- storage_type = /obj/item/tank/emergency_oxygen/double
+ storage_type = /obj/item/tank/internals/emergency_oxygen/double
/obj/machinery/suit_storage_unit/ert/security/secure
secure = TRUE
@@ -181,7 +181,7 @@
/obj/machinery/suit_storage_unit/ert/engineer
suit_type = /obj/item/clothing/suit/space/hardsuit/ert/engineer
mask_type = /obj/item/clothing/mask/breath
- storage_type = /obj/item/tank/emergency_oxygen/double
+ storage_type = /obj/item/tank/internals/emergency_oxygen/double
/obj/machinery/suit_storage_unit/ert/engineer/secure
secure = TRUE
@@ -189,7 +189,7 @@
/obj/machinery/suit_storage_unit/ert/medical
suit_type = /obj/item/clothing/suit/space/hardsuit/ert/medical
mask_type = /obj/item/clothing/mask/breath
- storage_type = /obj/item/tank/emergency_oxygen/double
+ storage_type = /obj/item/tank/internals/emergency_oxygen/double
/obj/machinery/suit_storage_unit/ert/medical/secure
secure = TRUE
diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm
index dd466654884..42d4673bb36 100644
--- a/code/game/machinery/vending.dm
+++ b/code/game/machinery/vending.dm
@@ -1687,7 +1687,7 @@
req_access_txt = "29"
products = list(/obj/item/clothing/suit/storage/labcoat = 4,/obj/item/clothing/under/rank/roboticist = 4,/obj/item/stack/cable_coil = 4,/obj/item/flash = 4,
/obj/item/stock_parts/cell/high = 12, /obj/item/assembly/prox_sensor = 3,/obj/item/assembly/signaler = 3,/obj/item/healthanalyzer = 3,
- /obj/item/scalpel = 2,/obj/item/circular_saw = 2,/obj/item/tank/anesthetic = 2,/obj/item/clothing/mask/breath/medical = 5,
+ /obj/item/scalpel = 2,/obj/item/circular_saw = 2,/obj/item/tank/internals/anesthetic = 2,/obj/item/clothing/mask/breath/medical = 5,
/obj/item/screwdriver = 5,/obj/item/crowbar = 5)
refill_canister = /obj/item/vending_refill/robotics
@@ -1711,7 +1711,7 @@
/obj/item/reagent_containers/food/snacks/candy/candy_corn = 6)
contraband = list(/obj/item/kitchen/knife = 6,
/obj/item/reagent_containers/food/drinks/coffee = 12,
- /obj/item/tank/emergency_oxygen = 6,
+ /obj/item/tank/internals/emergency_oxygen = 6,
/obj/item/clothing/mask/breath = 6)
refill_canister = /obj/item/vending_refill/sustenance
diff --git a/code/game/objects/effects/spawners/bombspawner.dm b/code/game/objects/effects/spawners/bombspawner.dm
index 9b62faa5252..10600cb1fee 100644
--- a/code/game/objects/effects/spawners/bombspawner.dm
+++ b/code/game/objects/effects/spawners/bombspawner.dm
@@ -24,8 +24,8 @@
..()
var/obj/item/transfer_valve/V = new(src.loc)
- var/obj/item/tank/plasma/PT = new(V)
- var/obj/item/tank/oxygen/OT = new(V)
+ var/obj/item/tank/internals/plasma/PT = new(V)
+ var/obj/item/tank/internals/oxygen/OT = new(V)
V.tank_one = PT
V.tank_two = OT
diff --git a/code/game/objects/effects/spawners/lootdrop.dm b/code/game/objects/effects/spawners/lootdrop.dm
index 76f80e0b02a..7e24cfab25c 100644
--- a/code/game/objects/effects/spawners/lootdrop.dm
+++ b/code/game/objects/effects/spawners/lootdrop.dm
@@ -117,8 +117,8 @@
/obj/item/storage/fancy/cigarettes/dromedaryco = 10,
/obj/item/storage/toolbox/mechanical = 10,
/obj/item/screwdriver = 30,
- /obj/item/tank/emergency_oxygen = 20,
- /obj/item/tank/emergency_oxygen/engi = 10,
+ /obj/item/tank/internals/emergency_oxygen = 20,
+ /obj/item/tank/internals/emergency_oxygen/engi = 10,
/obj/item/vending_refill/cola = 10,
/obj/item/weldingtool = 30,
/obj/item/wirecutters = 10,
@@ -320,7 +320,7 @@
/obj/item/storage/belt/utility/chief/full = 25,
/obj/item/rcd/combat = 25,
/obj/item/rpd/bluespace = 25,
- /obj/item/tank/emergency_oxygen/double/full = 25,
+ /obj/item/tank/internals/emergency_oxygen/double = 25,
/obj/item/slimepotion/speed = 25,
/obj/item/storage/backpack/holding = 25,
/obj/item/clothing/glasses/meson/night = 25, // NV mesons
diff --git a/code/game/objects/items/weapons/flamethrower.dm b/code/game/objects/items/weapons/flamethrower.dm
index b18ec5ee0b6..60239b0e6fd 100644
--- a/code/game/objects/items/weapons/flamethrower.dm
+++ b/code/game/objects/items/weapons/flamethrower.dm
@@ -20,7 +20,7 @@
var/operating = FALSE//cooldown
var/obj/item/weldingtool/weldtool = null
var/obj/item/assembly/igniter/igniter = null
- var/obj/item/tank/plasma/ptank = null
+ var/obj/item/tank/internals/plasma/ptank = null
var/warned_admins = FALSE //for the message_admins() when lit
//variables for prebuilt flamethrowers
var/create_full = FALSE
@@ -89,7 +89,7 @@
update_icon()
return
- else if(istype(I, /obj/item/tank/plasma))
+ else if(istype(I, /obj/item/tank/internals/plasma))
if(ptank)
if(user.drop_item())
I.forceMove(src)
@@ -227,7 +227,7 @@
igniter.secured = FALSE
status = TRUE
if(create_with_tank)
- ptank = new /obj/item/tank/plasma/full(src)
+ ptank = new /obj/item/tank/internals/plasma/full(src)
update_icon()
/obj/item/flamethrower/full
diff --git a/code/game/objects/items/weapons/pneumaticCannon.dm b/code/game/objects/items/weapons/pneumaticCannon.dm
index 21127f6869f..93f5afea391 100644
--- a/code/game/objects/items/weapons/pneumaticCannon.dm
+++ b/code/game/objects/items/weapons/pneumaticCannon.dm
@@ -12,7 +12,7 @@
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 60, "acid" = 50)
var/maxWeightClass = 20 //The max weight of items that can fit into the cannon
var/loadedWeightClass = 0 //The weight of items currently in the cannon
- var/obj/item/tank/tank = null //The gas tank that is drawn from to fire things
+ var/obj/item/tank/internals/tank = null //The gas tank that is drawn from to fire things
var/gasPerThrow = 3 //How much gas is drawn from a tank's pressure to fire
var/list/loadedItems = list() //The items loaded into the cannon that will be fired out
var/pressureSetting = 1 //How powerful the cannon is - higher pressure = more gas but more powerful throws
@@ -34,8 +34,8 @@
/obj/item/pneumatic_cannon/attackby(obj/item/W, mob/user, params)
..()
- if(istype(W, /obj/item/tank/) && !tank)
- if(istype(W, /obj/item/tank/emergency_oxygen))
+ if(istype(W, /obj/item/tank/internals/) && !tank)
+ if(istype(W, /obj/item/tank/internals/emergency_oxygen))
to_chat(user, "\The [W] is too small for \the [src].")
return
updateTank(W, 0, user)
diff --git a/code/game/objects/items/weapons/powerfist.dm b/code/game/objects/items/weapons/powerfist.dm
index 217cb963719..fe1f549e8ef 100644
--- a/code/game/objects/items/weapons/powerfist.dm
+++ b/code/game/objects/items/weapons/powerfist.dm
@@ -15,7 +15,7 @@
var/click_delay = 1.5
var/fisto_setting = 1
var/gasperfist = 3
- var/obj/item/tank/tank = null //Tank used for the gauntlet's piston-ram.
+ var/obj/item/tank/internals/tank = null //Tank used for the gauntlet's piston-ram.
/obj/item/melee/powerfist/Destroy()
@@ -30,9 +30,9 @@
. += "[bicon(tank)] It has [tank] mounted onto it."
/obj/item/melee/powerfist/attackby(obj/item/W, mob/user, params)
- if(istype(W, /obj/item/tank))
+ if(istype(W, /obj/item/tank/internals))
if(!tank)
- var/obj/item/tank/IT = W
+ var/obj/item/tank/internals/IT = W
if(IT.volume <= 3)
to_chat(user, "[IT] is too small for [src].")
return
diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm
index 03db813b24e..2f3d6a3e7cd 100644
--- a/code/game/objects/items/weapons/storage/boxes.dm
+++ b/code/game/objects/items/weapons/storage/boxes.dm
@@ -44,7 +44,7 @@
..()
contents = list()
new /obj/item/clothing/mask/breath( src )
- new /obj/item/tank/emergency_oxygen( src )
+ new /obj/item/tank/internals/emergency_oxygen( src )
new /obj/item/reagent_containers/hypospray/autoinjector( src )
new /obj/item/flashlight/flare/glowstick/emergency( src )
return
@@ -56,7 +56,7 @@
..()
contents = list()
new /obj/item/clothing/mask/breath/vox(src)
- new /obj/item/tank/emergency_oxygen/nitrogen(src)
+ new /obj/item/tank/internals/emergency_oxygen/nitrogen(src)
new /obj/item/reagent_containers/hypospray/autoinjector(src)
new /obj/item/flashlight/flare/glowstick/emergency(src)
@@ -67,7 +67,7 @@
..()
contents = list()
new /obj/item/clothing/mask/breath(src)
- new /obj/item/tank/emergency_oxygen/plasma(src)
+ new /obj/item/tank/internals/emergency_oxygen/plasma(src)
new /obj/item/reagent_containers/hypospray/autoinjector(src)
new /obj/item/flashlight/flare/glowstick/emergency(src)
@@ -78,7 +78,7 @@
..()
contents = list()
new /obj/item/clothing/mask/breath( src )
- new /obj/item/tank/emergency_oxygen/engi( src )
+ new /obj/item/tank/internals/emergency_oxygen/engi( src )
new /obj/item/reagent_containers/hypospray/autoinjector( src )
new /obj/item/flashlight/flare/glowstick/emergency( src )
return
@@ -90,7 +90,7 @@
..()
contents = list()
new /obj/item/clothing/mask/gas/explorer(src)
- new /obj/item/tank/emergency_oxygen/engi(src)
+ new /obj/item/tank/internals/emergency_oxygen/engi(src)
new /obj/item/crowbar/red(src)
new /obj/item/reagent_containers/hypospray/autoinjector(src)
new /obj/item/flashlight/flare/glowstick/emergency(src)
@@ -102,7 +102,7 @@
..()
contents = list()
new /obj/item/clothing/mask/gas/syndicate(src)
- new /obj/item/tank/emergency_oxygen/syndi(src)
+ new /obj/item/tank/internals/emergency_oxygen/engi/syndi(src)
new /obj/item/reagent_containers/hypospray/autoinjector(src)
new /obj/item/reagent_containers/food/pill/initropidril(src)
new /obj/item/flashlight/flare/glowstick/red(src)
@@ -1006,7 +1006,7 @@
..()
contents = list()
new /obj/item/clothing/mask/breath(src)
- new /obj/item/tank/emergency_oxygen/double/full(src)
+ new /obj/item/tank/internals/emergency_oxygen/double(src)
new /obj/item/flashlight/seclite(src)
new /obj/item/kitchen/knife/combat(src)
@@ -1025,7 +1025,7 @@
/obj/item/storage/box/responseteam/New()
..()
new /obj/item/clothing/mask/breath(src)
- new /obj/item/tank/emergency_oxygen/engi/full(src)
+ new /obj/item/tank/internals/emergency_oxygen/engi(src)
new /obj/item/flashlight/flare(src)
new /obj/item/crowbar/red(src)
new /obj/item/kitchen/knife/combat(src)
diff --git a/code/game/objects/items/weapons/storage/uplink_kits.dm b/code/game/objects/items/weapons/storage/uplink_kits.dm
index 099b3aed522..ae8bd6ca3dc 100644
--- a/code/game/objects/items/weapons/storage/uplink_kits.dm
+++ b/code/game/objects/items/weapons/storage/uplink_kits.dm
@@ -126,7 +126,7 @@
/obj/item/storage/box/syndie_kit/space
name = "Boxed Space Suit and Helmet"
- can_hold = list(/obj/item/clothing/suit/space/syndicate/black/red, /obj/item/clothing/head/helmet/space/syndicate/black/red, /obj/item/tank/emergency_oxygen/syndi, /obj/item/clothing/mask/gas/syndicate)
+ can_hold = list(/obj/item/clothing/suit/space/syndicate/black/red, /obj/item/clothing/head/helmet/space/syndicate/black/red, /obj/item/tank/internals/emergency_oxygen/engi/syndi, /obj/item/clothing/mask/gas/syndicate)
max_w_class = WEIGHT_CLASS_NORMAL
/obj/item/storage/box/syndie_kit/space/New()
@@ -134,19 +134,19 @@
new /obj/item/clothing/suit/space/syndicate/black/red(src)
new /obj/item/clothing/head/helmet/space/syndicate/black/red(src)
new /obj/item/clothing/mask/gas/syndicate(src)
- new /obj/item/tank/emergency_oxygen/syndi(src)
+ new /obj/item/tank/internals/emergency_oxygen/engi/syndi(src)
return
/obj/item/storage/box/syndie_kit/hardsuit
name = "Boxed Blood Red Suit and Helmet"
- can_hold = list(/obj/item/clothing/suit/space/hardsuit/syndi, /obj/item/tank/emergency_oxygen/syndi, /obj/item/clothing/mask/gas/syndicate)
+ can_hold = list(/obj/item/clothing/suit/space/hardsuit/syndi, /obj/item/tank/internals/emergency_oxygen/engi/syndi, /obj/item/clothing/mask/gas/syndicate)
max_w_class = WEIGHT_CLASS_NORMAL
/obj/item/storage/box/syndie_kit/hardsuit/New()
..()
new /obj/item/clothing/suit/space/hardsuit/syndi(src)
new /obj/item/clothing/mask/gas/syndicate(src)
- new /obj/item/tank/emergency_oxygen/syndi(src)
+ new /obj/item/tank/internals/emergency_oxygen/engi/syndi(src)
/obj/item/storage/box/syndie_kit/conversion
name = "box (CK)"
diff --git a/code/game/objects/items/weapons/tanks/jetpack.dm b/code/game/objects/items/weapons/tanks/jetpack.dm
index 1f7304a7128..b7ecfc6761e 100644
--- a/code/game/objects/items/weapons/tanks/jetpack.dm
+++ b/code/game/objects/items/weapons/tanks/jetpack.dm
@@ -4,12 +4,21 @@
icon_state = "jetpack"
w_class = WEIGHT_CLASS_BULKY
item_state = "jetpack"
- distribute_pressure = ONE_ATMOSPHERE*O2STANDARD
+ distribute_pressure = ONE_ATMOSPHERE * O2STANDARD
actions_types = list(/datum/action/item_action/set_internals, /datum/action/item_action/toggle_jetpack, /datum/action/item_action/jetpack_stabilization)
+ var/gas_type = "oxygen"
var/on = 0
var/stabilizers = 0
var/volume_rate = 500 //Needed for borg jetpack transfer
+/obj/item/tank/jetpack/populate_gas()
+ if(gas_type)
+ switch(gas_type)
+ if("oxygen")
+ air_contents.oxygen = ((6 * ONE_ATMOSPHERE) * volume / (R_IDEAL_GAS_EQUATION * T20C))
+ if("carbon dioxide")
+ air_contents.carbon_dioxide = ((6 * ONE_ATMOSPHERE) * volume / (R_IDEAL_GAS_EQUATION * T20C))
+
/obj/item/tank/jetpack/on_mob_move(direction, mob/user)
if(on)
var/turf/T = get_step(src, GetOppositeDir(direction))
@@ -29,14 +38,6 @@
stabilizers = !stabilizers
to_chat(user, "You turn [src]'s stabilization [stabilizers ? "on" : "off"].")
-
-/obj/item/tank/jetpack/examine(mob/user)
- . = ..()
- if(get_dist(user, src) <= 0 && air_contents.oxygen < 10)
- . += "The meter on [src] indicates you are almost out of air!"
- playsound(user, 'sound/effects/alert.ogg', 50, 1)
-
-
/obj/item/tank/jetpack/proc/cycle(mob/user)
if(user.incapacitated())
return
@@ -77,16 +78,27 @@
T.assume_air(removed)
return 1
+/obj/item/tank/jetpack/improvised
+ name = "improvised jetpack"
+ desc = "A jetpack made from two air tanks, a fire extinguisher and some atmospherics equipment. It doesn't look like it can hold much."
+ icon_state = "jetpack-improvised"
+ item_state = "jetpack-improvised"
+ volume = 20 //normal jetpacks have 70 volume
+ gas_type = null //it starts empty
+
+/obj/item/tank/jetpack/improvised/allow_thrust(num, mob/living/user)
+ if(rand(0, 250) == 0)
+ to_chat(user, "You feel your jetpack's engines cut out.")
+ turn_off(user)
+ return
+ return ..()
+
/obj/item/tank/jetpack/void
name = "Void Jetpack (Oxygen)"
desc = "It works well in a void."
icon_state = "jetpack-void"
item_state = "jetpack-void"
-/obj/item/tank/jetpack/void/New()
- ..()
- air_contents.oxygen = (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
-
/obj/item/tank/jetpack/void/grey
name = "Void Jetpack (Oxygen)"
icon_state = "jetpack-void-grey"
@@ -95,16 +107,20 @@
name = "Retro Jetpack (Oxygen)"
icon_state = "jetpack-void-gold"
-
/obj/item/tank/jetpack/oxygen
name = "Jetpack (Oxygen)"
desc = "A tank of compressed oxygen for use as propulsion in zero-gravity areas. Use with caution."
icon_state = "jetpack"
item_state = "jetpack"
-/obj/item/tank/jetpack/oxygen/New()
- ..()
- air_contents.oxygen = (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
+/obj/item/tank/jetpack/oxygen/harness
+ name = "jet harness (oxygen)"
+ desc = "A lightweight tactical harness, used by those who don't want to be weighed down by traditional jetpacks."
+ icon_state = "jetpack-mini"
+ item_state = "jetpack-mini"
+ volume = 40
+ throw_range = 7
+ w_class = WEIGHT_CLASS_NORMAL
/obj/item/tank/jetpack/oxygen/captain
name = "Captain's jetpack"
@@ -115,24 +131,11 @@
w_class = WEIGHT_CLASS_NORMAL
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF //steal objective items are hard to destroy.
-/obj/item/tank/jetpack/oxygen/harness
- name = "jet harness (oxygen)"
- desc = "A lightweight tactical harness, used by those who don't want to be weighed down by traditional jetpacks."
- icon_state = "jetpack-mini"
- item_state = "jetpack-mini"
- volume = 40
- throw_range = 8
- w_class = WEIGHT_CLASS_NORMAL
-
-/obj/item/tank/jetpack/oxygenblack
- name = "Jetpack (Oxygen)"
- desc = "A black tank of compressed oxygen for use as propulsion in zero-gravity areas. Use with caution."
- icon_state = "jetpack-black"
- item_state = "jetpack-black"
-
-/obj/item/tank/jetpack/oxygenblack/New()
- ..()
- air_contents.oxygen = (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
+/obj/item/tank/jetpack/oxygen/security
+ name = "security jetpack (oxygen)"
+ desc = "A tank of compressed oxygen for use as propulsion in zero-gravity areas by security forces."
+ icon_state = "jetpack-sec"
+ item_state = "jetpack-sec"
/obj/item/tank/jetpack/carbondioxide
name = "Jetpack (Carbon Dioxide)"
@@ -140,16 +143,7 @@
distribute_pressure = 0
icon_state = "jetpack-black"
item_state = "jetpack-black"
-
-/obj/item/tank/jetpack/carbondioxide/New()
- ..()
- air_contents.carbon_dioxide = (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
-
-/obj/item/tank/jetpack/carbondioxide/examine(mob/user)
- . = ..()
- if(get_dist(user, src) <= 0 && air_contents.carbon_dioxide < 10)
- . += "The meter on [src] indicates you are almost out of air!"
- playsound(user, 'sound/effects/alert.ogg', 50, 1)
+ gas_type = "carbon dioxide"
/obj/item/tank/jetpack/suit
name = "hardsuit jetpack upgrade"
@@ -161,8 +155,9 @@
actions_types = list(/datum/action/item_action/toggle_jetpack, /datum/action/item_action/jetpack_stabilization)
volume = 1
slot_flags = null
+ gas_type = null
var/datum/gas_mixture/temp_air_contents
- var/obj/item/tank/tank = null
+ var/obj/item/tank/internals/tank = null
var/mob/living/carbon/human/cur_user
/obj/item/tank/jetpack/suit/New()
diff --git a/code/game/objects/items/weapons/tanks/tank_types.dm b/code/game/objects/items/weapons/tanks/tank_types.dm
index 8a5255a01b8..2964c960501 100644
--- a/code/game/objects/items/weapons/tanks/tank_types.dm
+++ b/code/game/objects/items/weapons/tanks/tank_types.dm
@@ -1,250 +1,224 @@
/* Types of tanks!
* Contains:
* Oxygen
- * Nitrogen
- * Plasma
- * Air Mix
* Anesthetic
+ * Air
+ * Plasma
+ * Emergency Oxygen
+ * Generic
*/
/*
* Oxygen
*/
-/obj/item/tank/oxygen
+/obj/item/tank/internals/oxygen
name = "oxygen tank"
- desc = "A tank of oxygen."
+ desc = "A tank of oxygen, this one is blue."
icon_state = "oxygen"
+ distribute_pressure = TANK_DEFAULT_RELEASE_PRESSURE
+ force = 10
dog_fashion = /datum/dog_fashion/back
-/obj/item/tank/oxygen/New()
- ..()
- air_contents.oxygen = (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
+/obj/item/tank/internals/oxygen/populate_gas()
+ air_contents.oxygen = (6 * ONE_ATMOSPHERE) * volume / (R_IDEAL_GAS_EQUATION * T20C)
-/obj/item/tank/oxygen/examine(mob/user)
- . = ..()
- if(get_dist(user, src) <= 0 && air_contents.oxygen < 10)
- . += "The meter on [src] indicates you are almost out of air!"
-
-/obj/item/tank/oxygen/empty/New()
- ..()
- air_contents.oxygen = null
-
-/obj/item/tank/oxygen/yellow
+/obj/item/tank/internals/oxygen/yellow
desc = "A tank of oxygen, this one is yellow."
icon_state = "oxygen_f"
dog_fashion = null
-/obj/item/tank/oxygen/red
+/obj/item/tank/internals/oxygen/red
desc = "A tank of oxygen, this one is red."
icon_state = "oxygen_fr"
dog_fashion = null
-/obj/item/tank/emergency_oxygen
+/obj/item/tank/internals/oxygen/empty/populate_gas()
+ return
+
+/*
+ * Anesthetic
+ */
+/obj/item/tank/internals/anesthetic
+ name = "anesthetic tank"
+ desc = "A tank with an N2O/O2 gas mix."
+ icon_state = "anesthetic"
+ item_state = "an_tank"
+ force = 10
+
+/obj/item/tank/internals/anesthetic/populate_gas()
+ air_contents.oxygen = (3 * ONE_ATMOSPHERE) * volume / (R_IDEAL_GAS_EQUATION * T20C) * O2STANDARD
+ air_contents.sleeping_agent = (3 * ONE_ATMOSPHERE) * volume / (R_IDEAL_GAS_EQUATION * T20C) * N2STANDARD
+
+/*
+ * Plasma
+ */
+/obj/item/tank/internals/plasma
+ name = "plasma tank"
+ desc = "Contains dangerous plasma. Do not inhale. Warning: extremely flammable."
+ icon_state = "plasma"
+ flags = CONDUCT
+ slot_flags = null //they have no straps!
+ force = 8
+
+/obj/item/tank/internals/plasma/populate_gas()
+ air_contents.toxins = (3 * ONE_ATMOSPHERE) * volume / (R_IDEAL_GAS_EQUATION * T20C)
+
+/obj/item/tank/internals/plasma/attackby(obj/item/I, mob/user, params)
+ if(istype(I, /obj/item/flamethrower))
+ var/obj/item/flamethrower/F = I
+ if((!F.status)||(F.ptank))
+ return
+ master = F
+ F.ptank = src
+ user.unEquip(src)
+ loc = F
+ F.update_icon()
+ else
+ return ..()
+
+/obj/item/tank/internals/plasma/full/populate_gas()
+ air_contents.toxins = (10 * ONE_ATMOSPHERE) * volume / (R_IDEAL_GAS_EQUATION * T20C)
+
+/obj/item/tank/internals/plasma/empty/populate_gas()
+ return
+
+/*
+ * Plasmaman Plasma Tank
+ */
+/obj/item/tank/internals/plasmaman
+ name = "plasma internals tank"
+ desc = "A tank of plasma gas designed specifically for use as internals, particularly for plasma-based lifeforms. If you're not a Plasmaman, you probably shouldn't use this."
+ icon_state = "plasma_fr"
+ item_state = "plasma_fr"
+ force = 10
+ distribute_pressure = TANK_DEFAULT_RELEASE_PRESSURE
+
+/obj/item/tank/internals/plasmaman/populate_gas()
+ air_contents.toxins = (3 * ONE_ATMOSPHERE) * volume / (R_IDEAL_GAS_EQUATION * T20C)
+
+/obj/item/tank/internals/plasmaman/full/populate_gas()
+ air_contents.toxins = (10 * ONE_ATMOSPHERE) * volume / (R_IDEAL_GAS_EQUATION * T20C)
+
+
+/obj/item/tank/internals/plasmaman/belt
+ icon_state = "plasmaman_tank_belt"
+ item_state = "plasmaman_tank_belt"
+ slot_flags = SLOT_BELT
+ force = 5
+ volume = 35
+ w_class = WEIGHT_CLASS_SMALL
+
+/obj/item/tank/internals/plasmaman/belt/full/populate_gas()
+ air_contents.toxins = (10 * ONE_ATMOSPHERE) * volume / (R_IDEAL_GAS_EQUATION * T20C)
+
+/obj/item/tank/internals/plasmaman/belt/empty/populate_gas()
+ return
+
+/obj/item/tank/internals/emergency_oxygen/plasma
+ name = "emergency plasma tank"
+ desc = "An emergency tank designed specifically for Plasmamen."
+ icon_state = "emergency_p"
+
+/obj/item/tank/internals/emergency_oxygen/plasma/populate_gas()
+ air_contents.toxins = (10 * ONE_ATMOSPHERE) * volume / (R_IDEAL_GAS_EQUATION * T20C)
+
+/*
+ * Emergency Oxygen
+ */
+/obj/item/tank/internals/emergency_oxygen
name = "emergency oxygen tank"
desc = "Used for emergencies. Contains very little oxygen, so try to conserve it until you actually need it."
icon_state = "emergency"
flags = CONDUCT
slot_flags = SLOT_BELT
w_class = WEIGHT_CLASS_SMALL
- force = 4.0
+ force = 4
+ distribute_pressure = TANK_DEFAULT_RELEASE_PRESSURE
volume = 3 //Tiny. Real life equivalents only have 21 breaths of oxygen in them. They're EMERGENCY tanks anyway -errorage (dangercon 2011)
+/obj/item/tank/internals/emergency_oxygen/populate_gas()
+ air_contents.oxygen = (10 * ONE_ATMOSPHERE) * volume / (R_IDEAL_GAS_EQUATION * T20C)
-/obj/item/tank/emergency_oxygen/New()
- ..()
- air_contents.oxygen = (3*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
+/obj/item/tank/internals/emergency_oxygen/empty/populate_gas()
+ return
-/obj/item/tank/emergency_oxygen/examine(mob/user)
- . = ..()
- if(get_dist(user, src) <= 0 && air_contents.oxygen < 0.2)
- . += "The meter on [src] indicates you are almost out of air!"
- playsound(user, 'sound/effects/alert.ogg', 50, 1)
-
-/obj/item/tank/emergency_oxygen/empty/New()
- ..()
- air_contents.oxygen = null
-
-/obj/item/tank/emergency_oxygen/engi
+/obj/item/tank/internals/emergency_oxygen/engi
name = "extended-capacity emergency oxygen tank"
icon_state = "emergency_engi"
- volume = 6
+ volume = 6 // should last 24 minutes if full
-/obj/item/tank/emergency_oxygen/engi/full/New()
- ..()
- air_contents.oxygen = (10*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
+/obj/item/tank/internals/emergency_oxygen/engi/empty/populate_gas()
+ return
-
-/obj/item/tank/emergency_oxygen/engi/empty/New()
- ..()
- air_contents.oxygen = null
-
-/obj/item/tank/emergency_oxygen/syndi
+/obj/item/tank/internals/emergency_oxygen/engi/syndi
name = "suspicious emergency oxygen tank"
icon_state = "emergency_syndi"
desc = "A dark emergency oxygen tank. The label on the back reads \"Original Oxygen Tank Design, Do Not Steal.\""
- volume = 6
-/obj/item/tank/emergency_oxygen/double
+/obj/item/tank/internals/emergency_oxygen/double
name = "double emergency oxygen tank"
icon_state = "emergency_double"
- volume = 10
+ volume = 12 //If it's double of the above, shouldn't it be double the volume??
-/obj/item/tank/emergency_oxygen/double/empty/New()
- ..()
- air_contents.oxygen = null
-
-/obj/item/tank/emergency_oxygen/double/full
- name = "pressurized double emergency oxygen tank"
- desc = "Used for \"emergencies,\" it actually contains a fair amount of oxygen."
-
-/obj/item/tank/emergency_oxygen/double/full/New()
- ..()
- air_contents.oxygen = (10*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
+/obj/item/tank/internals/emergency_oxygen/double/empty/populate_gas()
+ return
/*
* Nitrogen
*/
-
-/obj/item/tank/nitrogen
+/obj/item/tank/internals/nitrogen
name = "nitrogen tank"
desc = "A tank of nitrogen."
icon_state = "oxygen_fr"
sprite_sheets = list("Vox Armalis" = 'icons/mob/species/armalis/back.dmi') //Do it for Big Bird.
+ distribute_pressure = TANK_DEFAULT_RELEASE_PRESSURE
-/obj/item/tank/nitrogen/New()
- ..()
- air_contents.nitrogen = (3*ONE_ATMOSPHERE)*70/(R_IDEAL_GAS_EQUATION*T20C)
+/obj/item/tank/internals/nitrogen/populate_gas()
+ air_contents.nitrogen = (6 * ONE_ATMOSPHERE) * volume / (R_IDEAL_GAS_EQUATION * T20C)
-/obj/item/tank/nitrogen/examine(mob/user)
- . = ..()
- if(get_dist(user, src) <= 0 && air_contents.nitrogen < 10)
- . += "The meter on the [src.name] indicates you are almost out of air!"
-
-/obj/item/tank/emergency_oxygen/vox
- name = "vox specialized nitrogen tank"
- desc = "A high-tech nitrogen tank designed specifically for Vox."
- icon_state = "emergency_vox"
- volume = 25
- sprite_sheets = list("Vox Armalis" = 'icons/mob/species/armalis/belt.dmi') //Do it for Big Bird.
-
-/obj/item/tank/emergency_oxygen/vox/New()
- ..()
- air_contents.oxygen -= (3*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
- air_contents.nitrogen = (10*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
-
-/obj/item/tank/emergency_oxygen/nitrogen
+/obj/item/tank/internals/emergency_oxygen/nitrogen
name = "emergency nitrogen tank"
desc = "An emergency tank designed specifically for Vox."
icon_state = "emergency_nitrogen"
- volume = 3
-/obj/item/tank/emergency_oxygen/nitrogen/New()
- ..()
- air_contents.oxygen -= (3*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
- air_contents.nitrogen = (10*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
+/obj/item/tank/internals/emergency_oxygen/nitrogen/populate_gas()
+ air_contents.nitrogen = (10 * ONE_ATMOSPHERE) * volume / (R_IDEAL_GAS_EQUATION * T20C)
-/*
- Plasma
-*/
+/obj/item/tank/internals/emergency_oxygen/double/vox
+ name = "vox specialized nitrogen tank"
+ desc = "A high-tech nitrogen tank designed specifically for Vox."
+ icon_state = "emergency_vox"
+ sprite_sheets = list("Vox Armalis" = 'icons/mob/species/armalis/belt.dmi') //Do it for Big Bird.
+ volume = 35
-/obj/item/tank/plasma
- name = "plasma tank"
- desc = "Contains dangerous plasma. Do not inhale. Warning: extremely flammable."
- icon_state = "plasma"
- flags = CONDUCT
- slot_flags = null //they have no straps!
-
-/obj/item/tank/plasma/New()
- ..()
- air_contents.toxins = (3*ONE_ATMOSPHERE)*70/(R_IDEAL_GAS_EQUATION*T20C)
-
-/obj/item/tank/plasma/attackby(obj/item/W as obj, mob/user as mob, params)
- ..()
-
- if(istype(W, /obj/item/flamethrower))
- var/obj/item/flamethrower/F = W
- if((!F.status)||(F.ptank)) return
- master = F
- F.ptank = src
- user.unEquip(src)
- loc = F
- F.update_icon()
-
-/obj/item/tank/plasma/full/New()
- ..()
- air_contents.toxins = (10*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
-
-/obj/item/tank/plasma/plasmaman
- name = "plasma internals tank"
- desc = "A tank of plasma gas designed specifically for use as internals, particularly for plasma-based lifeforms. If you're not a Plasmaman, you probably shouldn't use this."
- icon_state = "plasmaman_tank"
- item_state = "plasmaman_tank"
- force = 10
-
-/obj/item/tank/plasma/plasmaman/examine(mob/user)
- . = ..()
- if(get_dist(user, src) <= 0 && air_contents.toxins < 0.2)
- . += "The meter on [src] indicates you are almost out of plasma!"
- playsound(user, 'sound/effects/alert.ogg', 50, 1)
-
-
-/obj/item/tank/plasma/plasmaman/belt
- icon_state = "plasmaman_tank_belt"
- item_state = "plasmaman_tank_belt"
- slot_flags = SLOT_BELT
- force = 5
- volume = 25
- w_class = WEIGHT_CLASS_SMALL
-
-/obj/item/tank/plasma/plasmaman/belt/full/New()
- ..()
- air_contents.toxins = (10 * ONE_ATMOSPHERE) * volume / (R_IDEAL_GAS_EQUATION * T20C)
-
-/obj/item/tank/emergency_oxygen/plasma
- name = "emergency plasma tank"
- desc = "An emergency tank designed specifically for Plasmamen."
- icon_state = "emergency_p"
- volume = 3
-
-/obj/item/tank/emergency_oxygen/plasma/New()
- ..()
- air_contents.oxygen -= (3*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
- air_contents.toxins = (10*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
+/obj/item/tank/internals/emergency_oxygen/double/vox/populate_gas()
+ air_contents.nitrogen = (10 * ONE_ATMOSPHERE) * volume / (R_IDEAL_GAS_EQUATION * T20C)
/*
* Air Mix
*/
-/obj/item/tank/air
+/obj/item/tank/internals/air
name = "air tank"
desc = "Mixed anyone?"
icon_state = "air"
item_state = "air"
distribute_pressure = ONE_ATMOSPHERE
-/obj/item/tank/air/examine(mob/user)
- . = ..()
- if(get_dist(user, src) <= 0 && air_contents.oxygen < 1)
- . += "The meter on [src] indicates you are almost out of air!"
- playsound(user, 'sound/effects/alert.ogg', 50, 1)
-
-/obj/item/tank/air/New()
- ..()
- air_contents.oxygen = (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C) * O2STANDARD
- air_contents.nitrogen = (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C) * N2STANDARD
-
+/obj/item/tank/internals/air/populate_gas()
+ air_contents.oxygen = (3 * ONE_ATMOSPHERE) * volume / (R_IDEAL_GAS_EQUATION * T20C) * O2STANDARD
+ air_contents.nitrogen = (3 * ONE_ATMOSPHERE) * volume / (R_IDEAL_GAS_EQUATION * T20C) * N2STANDARD
/*
- * Anesthetic
+ * Generic
*/
-/obj/item/tank/anesthetic
- name = "anesthetic tank"
- desc = "A tank with an N2O/O2 gas mix."
- icon_state = "anesthetic"
- item_state = "an_tank"
- distribute_pressure = ONE_ATMOSPHERE
-
-/obj/item/tank/anesthetic/New()
- ..()
- air_contents.oxygen = (3 * ONE_ATMOSPHERE) * 70 / (R_IDEAL_GAS_EQUATION * T20C) * O2STANDARD
- air_contents.sleeping_agent = (3 * ONE_ATMOSPHERE) * 70 / (R_IDEAL_GAS_EQUATION * T20C) * N2STANDARD
+/obj/item/tank/internals/generic
+ name = "gas tank"
+ desc = "A generic tank used for storing and transporting gasses. Can be used for internals."
+ icon_state = "generic"
+ item_state = "generic"
+ distribute_pressure = TANK_DEFAULT_RELEASE_PRESSURE
+ force = 10
+ dog_fashion = /datum/dog_fashion/back
+/obj/item/tank/internals/generic/populate_gas()
+ return
diff --git a/code/game/objects/items/weapons/tanks/tanks.dm b/code/game/objects/items/weapons/tanks/tanks.dm
index 73a75919af8..be1e8e48feb 100644
--- a/code/game/objects/items/weapons/tanks/tanks.dm
+++ b/code/game/objects/items/weapons/tanks/tanks.dm
@@ -1,5 +1,3 @@
-#define TANK_MAX_RELEASE_PRESSURE (3*ONE_ATMOSPHERE)
-
/obj/item/tank
name = "tank"
icon = 'icons/obj/tank.dmi'
@@ -8,14 +6,14 @@
hitsound = 'sound/weapons/smash.ogg'
w_class = WEIGHT_CLASS_NORMAL
pressure_resistance = ONE_ATMOSPHERE * 5
- force = 5.0
- throwforce = 10.0
+ force = 5
+ throwforce = 10
throw_speed = 1
throw_range = 4
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 10, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 30)
actions_types = list(/datum/action/item_action/set_internals)
var/datum/gas_mixture/air_contents = null
- var/distribute_pressure = TANK_DEFAULT_RELEASE_PRESSURE
+ var/distribute_pressure = ONE_ATMOSPHERE
var/integrity = 3
var/volume = 70
@@ -25,6 +23,9 @@
air_contents = new /datum/gas_mixture()
air_contents.volume = volume //liters
air_contents.temperature = T20C
+
+ populate_gas()
+
START_PROCESSING(SSobj, src)
return
@@ -35,6 +36,8 @@
return ..()
+/obj/item/tank/proc/populate_gas()
+ return
/obj/item/tank/ui_action_click(mob/user)
toggle_internals(user)
@@ -82,7 +85,7 @@
. += "It's \a [bicon(icon)][src]! If you want any more information you'll need to get closer."
return
- var/celsius_temperature = air_contents.temperature-T0C
+ var/celsius_temperature = air_contents.temperature - T0C
var/descriptive
if(celsius_temperature < 20)
@@ -147,10 +150,10 @@
/obj/item/tank/ui_data(mob/user)
var/list/data = list()
- data["tankPressure"] = round(air_contents.return_pressure() ? air_contents.return_pressure() : 0)
- data["releasePressure"] = round(distribute_pressure ? distribute_pressure : 0)
+ data["tankPressure"] = round(air_contents.return_pressure())
+ data["releasePressure"] = round(distribute_pressure)
data["defaultReleasePressure"] = round(TANK_DEFAULT_RELEASE_PRESSURE)
- data["minReleasePressure"] = round(TANK_DEFAULT_RELEASE_PRESSURE)
+ data["minReleasePressure"] = round(TANK_MIN_RELEASE_PRESSURE)
data["maxReleasePressure"] = round(TANK_MAX_RELEASE_PRESSURE)
var/mob/living/carbon/C = user
if(!istype(C))
@@ -171,7 +174,7 @@
if(pressure == "reset")
pressure = initial(distribute_pressure)
else if(pressure == "min")
- pressure = TANK_DEFAULT_RELEASE_PRESSURE
+ pressure = TANK_MIN_RELEASE_PRESSURE
else if(pressure == "max")
pressure = TANK_MAX_RELEASE_PRESSURE
else if(text2num(pressure) != null)
@@ -179,7 +182,7 @@
else
. = FALSE
if(.)
- distribute_pressure = clamp(round(pressure), TANK_DEFAULT_RELEASE_PRESSURE, TANK_MAX_RELEASE_PRESSURE)
+ distribute_pressure = clamp(round(pressure), TANK_MIN_RELEASE_PRESSURE, TANK_MAX_RELEASE_PRESSURE)
if("internals")
toggle_internals(usr)
else
@@ -204,10 +207,9 @@
return null
var/tank_pressure = air_contents.return_pressure()
- if(tank_pressure < distribute_pressure)
- distribute_pressure = tank_pressure
+ var/actual_distribute_pressure = clamp(tank_pressure, 0, distribute_pressure)
- var/moles_needed = distribute_pressure*volume_to_return/(R_IDEAL_GAS_EQUATION*air_contents.temperature)
+ var/moles_needed = actual_distribute_pressure * volume_to_return / (R_IDEAL_GAS_EQUATION * air_contents.temperature)
return remove_air(moles_needed)
diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm
index 1023ffd73c8..16c5f626b84 100644
--- a/code/game/objects/objs.dm
+++ b/code/game/objects/objs.dm
@@ -118,8 +118,11 @@
// null if object handles breathing logic for lifeform
// datum/air_group to tell lifeform to process using that breath return
//DEFAULT: Take air from turf to give to have mob process
+
if(breath_request > 0)
- return remove_air(breath_request)
+ var/datum/gas_mixture/environment = return_air()
+ var/breath_percentage = BREATH_VOLUME / environment.return_volume()
+ return remove_air(environment.total_moles() * breath_percentage)
else
return null
diff --git a/code/game/objects/structures/crates_lockers/closets/job_closets.dm b/code/game/objects/structures/crates_lockers/closets/job_closets.dm
index 7af65b16270..25c6572b9a8 100644
--- a/code/game/objects/structures/crates_lockers/closets/job_closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets/job_closets.dm
@@ -149,5 +149,5 @@
new /obj/item/clothing/head/soft/blue(src)
new /obj/item/clothing/suit/storage/paramedic(src)
new /obj/item/clothing/suit/storage/paramedic(src)
- new /obj/item/tank/emergency_oxygen/engi(src)
- new /obj/item/tank/emergency_oxygen/engi(src)
+ new /obj/item/tank/internals/emergency_oxygen/engi(src)
+ new /obj/item/tank/internals/emergency_oxygen/engi(src)
diff --git a/code/game/objects/structures/crates_lockers/closets/l3closet.dm b/code/game/objects/structures/crates_lockers/closets/l3closet.dm
index fc72cfa1dc1..6eb2b680b35 100644
--- a/code/game/objects/structures/crates_lockers/closets/l3closet.dm
+++ b/code/game/objects/structures/crates_lockers/closets/l3closet.dm
@@ -31,7 +31,7 @@
new /obj/item/clothing/suit/bio_suit/virology( src )
new /obj/item/clothing/head/bio_hood/virology( src )
new /obj/item/clothing/mask/breath(src)
- new /obj/item/tank/oxygen(src)
+ new /obj/item/tank/internals/oxygen(src)
/obj/structure/closet/l3closet/security
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm b/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm
index 157f0b18a85..98d0bce5e5e 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm
@@ -35,7 +35,7 @@
new /obj/item/radio/headset/headset_cargo(src)
new /obj/item/clothing/gloves/fingerless(src)
new /obj/item/clothing/suit/fire/firefighter(src)
- new /obj/item/tank/emergency_oxygen(src)
+ new /obj/item/tank/internals/emergency_oxygen(src)
new /obj/item/clothing/mask/gas(src)
new /obj/item/clothing/glasses/meson(src)
new /obj/item/clothing/head/soft(src)
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm
index 3200cf3a7ad..f11b301202c 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm
@@ -139,7 +139,7 @@
new /obj/item/grenade/gas/oxygen(src)
new /obj/item/clothing/suit/storage/hazardvest(src)
new /obj/item/clothing/mask/gas(src)
- new /obj/item/tank/emergency_oxygen/engi(src)
+ new /obj/item/tank/internals/emergency_oxygen/engi(src)
new /obj/item/holosign_creator/atmos(src)
new /obj/item/watertank/atmos(src)
new /obj/item/clothing/suit/fire/atmos(src)
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm
index 6a0885cf1d1..a56c63937e3 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm
@@ -37,9 +37,9 @@
req_access = list(ACCESS_SURGERY)
/obj/structure/closet/secure_closet/medical2/populate_contents()
- new /obj/item/tank/anesthetic(src)
- new /obj/item/tank/anesthetic(src)
- new /obj/item/tank/anesthetic(src)
+ new /obj/item/tank/internals/anesthetic(src)
+ new /obj/item/tank/internals/anesthetic(src)
+ new /obj/item/tank/internals/anesthetic(src)
new /obj/item/clothing/mask/breath/medical(src)
new /obj/item/clothing/mask/breath/medical(src)
new /obj/item/clothing/mask/breath/medical(src)
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm b/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm
index 125dae94f87..07eee5bc80c 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm
@@ -18,7 +18,7 @@
new /obj/item/clothing/shoes/white(src)
// new /obj/item/cartridge/signal/toxins(src)
new /obj/item/radio/headset/headset_sci(src)
- new /obj/item/tank/air(src)
+ new /obj/item/tank/internals/air(src)
new /obj/item/clothing/mask/gas(src)
new /obj/item/clothing/shoes/sandal/white(src)
@@ -64,7 +64,7 @@
new /obj/item/clothing/shoes/white(src)
new /obj/item/clothing/gloves/color/latex(src)
new /obj/item/radio/headset/heads/rd(src)
- new /obj/item/tank/air(src)
+ new /obj/item/tank/internals/air(src)
new /obj/item/clothing/mask/gas(src)
new /obj/item/clothing/suit/armor/reactive/teleport(src)
new /obj/item/flash(src)
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm
index 1a6cf561f78..65998bec8f2 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm
@@ -32,7 +32,7 @@
new /obj/item/gun/energy/gun(src)
new /obj/item/door_remote/captain(src)
new /obj/item/reagent_containers/food/drinks/mug/cap(src)
- new /obj/item/tank/emergency_oxygen/double(src)
+ new /obj/item/tank/internals/emergency_oxygen/double(src)
/obj/structure/closet/secure_closet/hop
diff --git a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm
index 39375adb0e1..09bc5e5887f 100644
--- a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm
@@ -25,23 +25,23 @@
/obj/structure/closet/emcloset/populate_contents()
switch(pickweight(list("small" = 55, "aid" = 25, "tank" = 10, "both" = 10, "nothing" = 0, "delete" = 0)))
if("small")
- new /obj/item/tank/emergency_oxygen(src)
- new /obj/item/tank/emergency_oxygen(src)
+ new /obj/item/tank/internals/emergency_oxygen(src)
+ new /obj/item/tank/internals/emergency_oxygen(src)
new /obj/item/clothing/mask/breath(src)
new /obj/item/clothing/mask/breath(src)
if("aid")
- new /obj/item/tank/emergency_oxygen(src)
+ new /obj/item/tank/internals/emergency_oxygen(src)
new /obj/item/storage/toolbox/emergency(src)
new /obj/item/clothing/mask/breath(src)
new /obj/item/storage/firstaid/o2(src)
if("tank")
- new /obj/item/tank/emergency_oxygen/engi(src)
+ new /obj/item/tank/internals/emergency_oxygen/engi(src)
new /obj/item/clothing/mask/breath(src)
- new /obj/item/tank/emergency_oxygen/engi(src)
+ new /obj/item/tank/internals/emergency_oxygen/engi(src)
new /obj/item/clothing/mask/breath(src)
if("both")
new /obj/item/storage/toolbox/emergency(src)
- new /obj/item/tank/emergency_oxygen/engi(src)
+ new /obj/item/tank/internals/emergency_oxygen/engi(src)
new /obj/item/clothing/mask/breath(src)
new /obj/item/storage/firstaid/o2(src)
if("nothing")
@@ -57,7 +57,7 @@
qdel(src)*/
/obj/structure/closet/emcloset/legacy/populate_contents()
- new /obj/item/tank/oxygen(src)
+ new /obj/item/tank/internals/oxygen(src)
new /obj/item/clothing/mask/gas(src)
/*
@@ -73,7 +73,7 @@
/obj/structure/closet/firecloset/populate_contents()
new /obj/item/clothing/suit/fire/firefighter(src)
new /obj/item/clothing/mask/gas(src)
- new /obj/item/tank/oxygen/red(src)
+ new /obj/item/tank/internals/oxygen/red(src)
new /obj/item/extinguisher(src)
new /obj/item/clothing/head/hardhat/red(src)
@@ -81,7 +81,7 @@
new /obj/item/clothing/suit/fire/firefighter(src)
new /obj/item/clothing/mask/gas(src)
new /obj/item/flashlight(src)
- new /obj/item/tank/oxygen/red(src)
+ new /obj/item/tank/internals/oxygen/red(src)
new /obj/item/extinguisher(src)
new /obj/item/clothing/head/hardhat/red(src)
@@ -191,7 +191,7 @@
new /obj/item/clothing/suit/fire/firefighter(src)
new /obj/item/clothing/mask/gas(src)
new /obj/item/flashlight(src)
- new /obj/item/tank/oxygen/red(src)
+ new /obj/item/tank/internals/oxygen/red(src)
new /obj/item/extinguisher(src)
new /obj/item/clothing/head/hardhat/red(src)
diff --git a/code/game/objects/structures/crates_lockers/walllocker.dm b/code/game/objects/structures/crates_lockers/walllocker.dm
index 733b34a0414..4a2f9a7ed88 100644
--- a/code/game/objects/structures/crates_lockers/walllocker.dm
+++ b/code/game/objects/structures/crates_lockers/walllocker.dm
@@ -23,9 +23,9 @@
icon_opened = "emergopen"
/obj/structure/closet/walllocker/emerglocker/populate_contents()
- new /obj/item/tank/emergency_oxygen(src)
- new /obj/item/tank/emergency_oxygen(src)
- new /obj/item/tank/emergency_oxygen(src)
+ new /obj/item/tank/internals/emergency_oxygen(src)
+ new /obj/item/tank/internals/emergency_oxygen(src)
+ new /obj/item/tank/internals/emergency_oxygen(src)
new /obj/item/clothing/mask/breath(src)
new /obj/item/clothing/mask/breath(src)
new /obj/item/clothing/mask/breath(src)
diff --git a/code/game/objects/structures/tank_dispenser.dm b/code/game/objects/structures/tank_dispenser.dm
index 1a67c1668e4..8748ab570fd 100644
--- a/code/game/objects/structures/tank_dispenser.dm
+++ b/code/game/objects/structures/tank_dispenser.dm
@@ -30,11 +30,11 @@
/obj/structure/dispenser/proc/initialize_tanks()
for(var/I in 1 to starting_plasma_tanks)
- var/obj/item/tank/plasma/P = new(src)
+ var/obj/item/tank/internals/plasma/P = new(src)
stored_plasma_tanks.Add(P)
for(var/I in 1 to starting_oxygen_tanks)
- var/obj/item/tank/oxygen/O = new(src)
+ var/obj/item/tank/internals/oxygen/O = new(src)
stored_oxygen_tanks.Add(O)
/obj/structure/dispenser/update_icon()
@@ -89,11 +89,11 @@
return TRUE
/obj/structure/dispenser/attackby(obj/item/I, mob/user, params)
- if(istype(I, /obj/item/tank/oxygen) || istype(I, /obj/item/tank/air) || istype(I, /obj/item/tank/anesthetic))
+ if(istype(I, /obj/item/tank/internals/oxygen) || istype(I, /obj/item/tank/internals/air) || istype(I, /obj/item/tank/internals/anesthetic))
try_insert_tank(user, stored_oxygen_tanks, I)
return
- if(istype(I, /obj/item/tank/plasma))
+ if(istype(I, /obj/item/tank/internals/plasma))
try_insert_tank(user, stored_plasma_tanks, I)
return
@@ -112,7 +112,7 @@
if(!LAZYLEN(tank_list))
return // There are no tanks left to withdraw.
- var/obj/item/tank/T = tank_list[1]
+ var/obj/item/tank/internals/T = tank_list[1]
tank_list.Remove(T)
if(!user.put_in_hands(T))
diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm
index b1629bf01eb..81a6854639e 100644
--- a/code/modules/admin/verbs/debug.dm
+++ b/code/modules/admin/verbs/debug.dm
@@ -744,7 +744,7 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention)
for(var/obj/machinery/power/rad_collector/Rad in GLOB.machines)
if(Rad.anchored)
if(!Rad.loaded_tank)
- var/obj/item/tank/plasma/Plasma = new/obj/item/tank/plasma(Rad)
+ var/obj/item/tank/internals/plasma/Plasma = new/obj/item/tank/internals/plasma(Rad)
Plasma.air_contents.toxins = 70
Rad.drainratio = 0
Rad.loaded_tank = Plasma
diff --git a/code/modules/admin/verbs/striketeam.dm b/code/modules/admin/verbs/striketeam.dm
index 87649fe3d4e..59ab53f3ca6 100644
--- a/code/modules/admin/verbs/striketeam.dm
+++ b/code/modules/admin/verbs/striketeam.dm
@@ -193,7 +193,7 @@ GLOBAL_VAR_INIT(sent_strike_team, 0)
equip_to_slot_or_del(new /obj/item/melee/energy/sword/saber(src), slot_l_store)
equip_to_slot_or_del(new /obj/item/shield/energy(src), slot_r_store)
- equip_to_slot_or_del(new /obj/item/tank/emergency_oxygen/double/full(src), slot_s_store)
+ equip_to_slot_or_del(new /obj/item/tank/internals/emergency_oxygen/double(src), slot_s_store)
equip_to_slot_or_del(new /obj/item/gun/projectile/revolver/mateba(src), slot_belt)
equip_to_slot_or_del(new /obj/item/gun/energy/pulse(src), slot_r_hand)
diff --git a/code/modules/admin/verbs/vox_raiders.dm b/code/modules/admin/verbs/vox_raiders.dm
index c474cf785e2..9a15b0b15db 100644
--- a/code/modules/admin/verbs/vox_raiders.dm
+++ b/code/modules/admin/verbs/vox_raiders.dm
@@ -49,7 +49,7 @@ GLOBAL_VAR_INIT(vox_tick, 1)
equip_to_slot_or_del(new /obj/item/gun/dartgun/vox/medical, slot_r_hand)
equip_to_slot_or_del(new /obj/item/clothing/mask/breath/vox(src), slot_wear_mask)
- equip_to_slot_or_del(new /obj/item/tank/nitrogen(src), slot_back)
+ equip_to_slot_or_del(new /obj/item/tank/internals/nitrogen(src), slot_back)
equip_to_slot_or_del(new /obj/item/flashlight(src), slot_r_store)
var/obj/item/card/id/syndicate/vox/W = new(src)
diff --git a/code/modules/antagonists/traitor/contractor/datums/syndicate_contract.dm b/code/modules/antagonists/traitor/contractor/datums/syndicate_contract.dm
index 9faf77487b3..482580acb19 100644
--- a/code/modules/antagonists/traitor/contractor/datums/syndicate_contract.dm
+++ b/code/modules/antagonists/traitor/contractor/datums/syndicate_contract.dm
@@ -408,13 +408,13 @@
// Give some species the necessary to survive. Courtesy of the Syndicate.
if(istype(H))
- var/obj/item/tank/emergency_oxygen/tank
+ var/obj/item/tank/internals/emergency_oxygen/tank
var/obj/item/clothing/mask/breath/mask
if(isvox(H))
- tank = new /obj/item/tank/emergency_oxygen/nitrogen(H)
+ tank = new /obj/item/tank/internals/emergency_oxygen/nitrogen(H)
mask = new /obj/item/clothing/mask/breath/vox(H)
else if(isplasmaman(H))
- tank = new /obj/item/tank/emergency_oxygen/plasma(H)
+ tank = new /obj/item/tank/internals/emergency_oxygen/plasma(H)
mask = new /obj/item/clothing/mask/breath(H)
if(tank)
diff --git a/code/modules/awaymissions/mission_code/ghost_role_spawners/oldstation.dm b/code/modules/awaymissions/mission_code/ghost_role_spawners/oldstation.dm
index 62f4226394d..ab868439cee 100644
--- a/code/modules/awaymissions/mission_code/ghost_role_spawners/oldstation.dm
+++ b/code/modules/awaymissions/mission_code/ghost_role_spawners/oldstation.dm
@@ -71,7 +71,7 @@
shoes = /obj/item/clothing/shoes/workboots
id = /obj/item/card/id/away/old/eng
gloves = /obj/item/clothing/gloves/color/fyellow/old
- l_pocket = /obj/item/tank/emergency_oxygen
+ l_pocket = /obj/item/tank/internals/emergency_oxygen
assignedrole = "Ancient Crew"
/obj/effect/mob_spawn/human/oldeng/Destroy()
diff --git a/code/modules/awaymissions/mission_code/ruins/oldstation.dm b/code/modules/awaymissions/mission_code/ruins/oldstation.dm
index 9489ddec45b..ab1f4ca2603 100644
--- a/code/modules/awaymissions/mission_code/ruins/oldstation.dm
+++ b/code/modules/awaymissions/mission_code/ruins/oldstation.dm
@@ -62,7 +62,7 @@
item_state = "void"
desc = "A CentCom engineering dark red space suit. Age has degraded the suit making is difficult to move around in."
slowdown = 4
- allowed = list(/obj/item/flashlight, /obj/item/tank, /obj/item/multitool)
+ allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/multitool)
/obj/item/clothing/head/helmet/old
name = "degrading helmet"
diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm
index 15d409b92b2..d4293bd92a8 100644
--- a/code/modules/clothing/clothing.dm
+++ b/code/modules/clothing/clothing.dm
@@ -512,7 +512,7 @@ BLIND // can't see anything
icon = 'icons/obj/clothing/suits.dmi'
name = "suit"
var/fire_resist = T0C+100
- allowed = list(/obj/item/tank/emergency_oxygen)
+ allowed = list(/obj/item/tank/internals/emergency_oxygen)
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0)
slot_flags = SLOT_OCLOTHING
var/blood_overlay_type = "suit"
@@ -626,7 +626,7 @@ BLIND // can't see anything
permeability_coefficient = 0.02
flags = STOPSPRESSUREDMAGE | THICKMATERIAL
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
- allowed = list(/obj/item/flashlight,/obj/item/tank)
+ allowed = list(/obj/item/flashlight, /obj/item/tank/internals)
slowdown = 1
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 50, "fire" = 80, "acid" = 70)
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL
diff --git a/code/modules/clothing/spacesuits/alien.dm b/code/modules/clothing/spacesuits/alien.dm
index 0412570a161..aad6a5af1a0 100644
--- a/code/modules/clothing/spacesuits/alien.dm
+++ b/code/modules/clothing/spacesuits/alien.dm
@@ -75,7 +75,7 @@
// Can't be equipped by any other species due to bone structure and vox cybernetics.
/obj/item/clothing/suit/space/vox
w_class = WEIGHT_CLASS_NORMAL
- allowed = list(/obj/item/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/melee/energy/sword/saber,/obj/item/restraints/handcuffs,/obj/item/tank)
+ allowed = list(/obj/item/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/melee/energy/sword/saber,/obj/item/restraints/handcuffs, /obj/item/tank/internals)
armor = list(melee = 40, bullet = 40, laser = 30, energy = 15, bomb = 30, bio = 30, rad = 30, fire = 80, acid = 85)
heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT
diff --git a/code/modules/clothing/spacesuits/ert.dm b/code/modules/clothing/spacesuits/ert.dm
index ddca690d648..8e9d3f3e94a 100644
--- a/code/modules/clothing/spacesuits/ert.dm
+++ b/code/modules/clothing/spacesuits/ert.dm
@@ -49,9 +49,9 @@
icon_state = "ert_commander"
item_state = "suit-command"
w_class = WEIGHT_CLASS_NORMAL
- allowed = list(/obj/item/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/melee/energy/sword/saber,/obj/item/restraints/handcuffs,/obj/item/tank)
+ allowed = list(/obj/item/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/melee/energy/sword/saber,/obj/item/restraints/handcuffs,/obj/item/tank/internals)
armor = list(melee = 45, bullet = 25, laser = 30, energy = 10, bomb = 25, bio = 100, rad = 50, fire = 80, acid = 80)
- allowed = list(/obj/item/flashlight, /obj/item/tank, /obj/item/t_scanner, /obj/item/rcd, /obj/item/crowbar, \
+ allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/t_scanner, /obj/item/rcd, /obj/item/crowbar, \
/obj/item/screwdriver, /obj/item/weldingtool, /obj/item/wirecutters, /obj/item/wrench, /obj/item/multitool, \
/obj/item/radio, /obj/item/analyzer, /obj/item/gun, /obj/item/melee/baton, /obj/item/reagent_containers/spray/pepper, \
/obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/restraints/handcuffs)
diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm
index 64ca479175f..3af6b4055d7 100644
--- a/code/modules/clothing/spacesuits/hardsuit.dm
+++ b/code/modules/clothing/spacesuits/hardsuit.dm
@@ -130,7 +130,7 @@
item_state = "eng_hardsuit"
max_integrity = 300
armor = list("melee" = 10, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 10, "bio" = 100, "rad" = 75, "fire" = 50, "acid" = 75)
- allowed = list(/obj/item/flashlight,/obj/item/tank,/obj/item/t_scanner, /obj/item/rcd, /obj/item/rpd)
+ allowed = list(/obj/item/flashlight,/obj/item/tank/internals,/obj/item/t_scanner, /obj/item/rcd, /obj/item/rpd)
siemens_coefficient = 0
var/obj/item/clothing/head/helmet/space/hardsuit/helmet
actions_types = list(/datum/action/item_action/toggle_helmet)
@@ -300,7 +300,7 @@
max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT
resistance_flags = FIRE_PROOF
armor = list("melee" = 30, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 50, "bio" = 100, "rad" = 50, "fire" = 50, "acid" = 75)
- allowed = list(/obj/item/flashlight, /obj/item/tank, /obj/item/storage/bag/ore, /obj/item/pickaxe, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator)
+ allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/storage/bag/ore, /obj/item/pickaxe, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator)
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/mining
heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
@@ -391,7 +391,7 @@
var/on = 1
actions_types = list(/datum/action/item_action/toggle_hardsuit_mode)
armor = list("melee" = 40, "bullet" = 50, "laser" = 30, "energy" = 15, "bomb" = 35, "bio" = 100, "rad" = 50, "fire" = 50, "acid" = 90)
- allowed = list(/obj/item/gun, /obj/item/ammo_box,/obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/energy/sword, /obj/item/restraints/handcuffs, /obj/item/tank)
+ allowed = list(/obj/item/gun, /obj/item/ammo_box,/obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/energy/sword, /obj/item/restraints/handcuffs, /obj/item/tank/internals)
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi
jetpack = /obj/item/tank/jetpack/suit
@@ -470,7 +470,7 @@
name = "medical hardsuit"
desc = "A special helmet designed for work in a hazardous, low pressure environment. Built with lightweight materials for extra comfort."
item_state = "medical_hardsuit"
- allowed = list(/obj/item/flashlight,/obj/item/tank,/obj/item/storage/firstaid,/obj/item/healthanalyzer,/obj/item/stack/medical,/obj/item/rad_laser)
+ allowed = list(/obj/item/flashlight,/obj/item/tank/internals,/obj/item/storage/firstaid,/obj/item/healthanalyzer,/obj/item/stack/medical,/obj/item/rad_laser)
armor = list("melee" = 30, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 10, "bio" = 100, "rad" = 60, "fire" = 60, "acid" = 75)
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/medical
slowdown = 0.5
@@ -490,7 +490,7 @@
desc = "A special suit that protects against hazardous, low pressure environments. Has an additional layer of armor."
item_state = "sec_hardsuit"
armor = list("melee" = 35, "bullet" = 15, "laser" = 30, "energy" = 10, "bomb" = 10, "bio" = 100, "rad" = 50, "fire" = 75, "acid" = 75)
- allowed = list(/obj/item/gun,/obj/item/flashlight,/obj/item/tank,/obj/item/melee/baton,/obj/item/reagent_containers/spray/pepper,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/restraints/handcuffs)
+ allowed = list(/obj/item/gun,/obj/item/flashlight,/obj/item/tank/internals,/obj/item/melee/baton,/obj/item/reagent_containers/spray/pepper,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/restraints/handcuffs)
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/security
/obj/item/clothing/head/helmet/space/hardsuit/security/hos
@@ -537,7 +537,7 @@
desc = "A hardsuit with built in energy shielding. Will rapidly recharge when not under fire."
icon_state = "hardsuit-hos"
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/shielded
- allowed = list(/obj/item/flashlight,/obj/item/tank, /obj/item/gun,/obj/item/reagent_containers/spray/pepper,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/restraints/handcuffs)
+ allowed = list(/obj/item/flashlight,/obj/item/tank/internals, /obj/item/gun,/obj/item/reagent_containers/spray/pepper,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/restraints/handcuffs)
armor = list("melee" = 30, "bullet" = 15, "laser" = 30, "energy" = 10, "bomb" = 10, "bio" = 100, "rad" = 50, "fire" = 100, "acid" = 100)
resistance_flags = FIRE_PROOF | ACID_PROOF
var/current_charges = 3
@@ -597,7 +597,7 @@
item_state = "syndie_hardsuit"
item_color = "syndi"
armor = list("melee" = 40, "bullet" = 50, "laser" = 30, "energy" = 15, "bomb" = 35, "bio" = 100, "rad" = 50, "fire" = 100, "acid" = 100)
- allowed = list(/obj/item/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/melee/energy/sword/saber,/obj/item/restraints/handcuffs,/obj/item/tank)
+ allowed = list(/obj/item/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/melee/energy/sword/saber,/obj/item/restraints/handcuffs,/obj/item/tank/internals)
slowdown = 0
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/shielded/syndi
jetpack = /obj/item/tank/jetpack/suit
diff --git a/code/modules/clothing/spacesuits/miscellaneous.dm b/code/modules/clothing/spacesuits/miscellaneous.dm
index 158aea81f7f..c3ce1778a27 100644
--- a/code/modules/clothing/spacesuits/miscellaneous.dm
+++ b/code/modules/clothing/spacesuits/miscellaneous.dm
@@ -29,7 +29,7 @@
icon_state = "caparmor"
item_state = "capspacesuit"
w_class = WEIGHT_CLASS_BULKY
- allowed = list(/obj/item/tank, /obj/item/flashlight,/obj/item/gun/energy, /obj/item/gun/projectile, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton,/obj/item/restraints/handcuffs)
+ allowed = list(/obj/item/tank/internals, /obj/item/flashlight,/obj/item/gun/energy, /obj/item/gun/projectile, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton,/obj/item/restraints/handcuffs)
armor = list("melee" = 40, "bullet" = 50, "laser" = 50, "energy" = 25, "bomb" = 50, "bio" = 100, "rad" = 50, "fire" = 100, "acid" = 100)
species_restricted = list("exclude", "Wryn")
@@ -57,7 +57,7 @@
desc = "A heavily armored, advanced space suit that protects against most forms of damage."
icon_state = "deathsquad"
item_state = "swat_suit"
- allowed = list(/obj/item/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/restraints/handcuffs,/obj/item/tank,/obj/item/kitchen/knife/combat)
+ allowed = list(/obj/item/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/restraints/handcuffs,/obj/item/tank/internals,/obj/item/kitchen/knife/combat)
armor = list("melee" = 80, "bullet" = 80, "laser" = 50, "energy" = 50, "bomb" = 100, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100)
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
resistance_flags = FIRE_PROOF | ACID_PROOF
@@ -70,7 +70,7 @@
desc = "Space-proof tactical SWAT armor."
icon_state = "heavy"
item_state = "swat_suit"
- allowed = list(/obj/item/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/restraints/handcuffs,/obj/item/tank,/obj/item/kitchen/knife/combat)
+ allowed = list(/obj/item/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/restraints/handcuffs,/obj/item/tank/internals,/obj/item/kitchen/knife/combat)
armor = list("melee" = 40, "bullet" = 30, "laser" = 30,"energy" = 30, "bomb" = 50, "bio" = 90, "rad" = 20, "fire" = 100, "acid" = 100)
strip_delay = 120
resistance_flags = FIRE_PROOF | ACID_PROOF
@@ -150,7 +150,7 @@
icon_state = "pirate"
item_state = "pirate"
w_class = WEIGHT_CLASS_NORMAL
- allowed = list(/obj/item/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/restraints/handcuffs,/obj/item/tank)
+ allowed = list(/obj/item/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/restraints/handcuffs,/obj/item/tank/internals)
slowdown = 0
armor = list("melee" = 30, "bullet" = 50, "laser" = 30,"energy" = 15, "bomb" = 30, "bio" = 30, "rad" = 30, "fire" = 60, "acid" = 75)
strip_delay = 40
diff --git a/code/modules/clothing/spacesuits/syndi.dm b/code/modules/clothing/spacesuits/syndi.dm
index 72d7bfc01a6..8e702089d7f 100644
--- a/code/modules/clothing/spacesuits/syndi.dm
+++ b/code/modules/clothing/spacesuits/syndi.dm
@@ -20,7 +20,7 @@
item_state = "space_suit_syndicate"
desc = "Has a tag on it: Totally not property of a hostile corporation, honest!"
w_class = WEIGHT_CLASS_NORMAL
- allowed = list(/obj/item/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/melee/energy/sword/saber,/obj/item/restraints/handcuffs,/obj/item/tank)
+ allowed = list(/obj/item/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/melee/energy/sword/saber,/obj/item/restraints/handcuffs,/obj/item/tank/internals)
armor = list("melee" = 40, "bullet" = 50, "laser" = 30,"energy" = 15, "bomb" = 30, "bio" = 30, "rad" = 30, "fire" = 80, "acid" = 85)
sprite_sheets = list(
"Tajaran" = 'icons/mob/species/tajaran/suit.dmi',
diff --git a/code/modules/clothing/spacesuits/void.dm b/code/modules/clothing/spacesuits/void.dm
index 9591dc08bfb..482c0fc137d 100644
--- a/code/modules/clothing/spacesuits/void.dm
+++ b/code/modules/clothing/spacesuits/void.dm
@@ -18,7 +18,7 @@
icon_state = "void-red"
item_state = "void"
desc = "A high tech, NASA Centcom branch designed space suit. Used for AI satellite maintenance."
- allowed = list(/obj/item/flashlight,/obj/item/tank,/obj/item/multitool)
+ allowed = list(/obj/item/flashlight,/obj/item/tank/internals,/obj/item/multitool)
sprite_sheets = list(
"Tajaran" = 'icons/mob/species/tajaran/suit.dmi',
"Unathi" = 'icons/mob/species/unathi/suit.dmi',
@@ -82,7 +82,7 @@
icon_state = "void-syndi"
desc = "A high tech, NASA Centcom branch designed space suit. This one looks rather suspicious."
w_class = WEIGHT_CLASS_NORMAL
- allowed = list(/obj/item/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/melee/energy/sword/saber,/obj/item/restraints/handcuffs,/obj/item/tank)
+ allowed = list(/obj/item/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/melee/energy/sword/saber,/obj/item/restraints/handcuffs,/obj/item/tank/internals)
armor = list("melee" = 40, "bullet" = 50, "laser" = 30,"energy" = 15, "bomb" = 30, "bio" = 30, "rad" = 30, "fire" = 80, "acid" = 85)
//random spawner
diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm
index 2394c27dbe8..650e8edf141 100644
--- a/code/modules/clothing/suits/armor.dm
+++ b/code/modules/clothing/suits/armor.dm
@@ -252,7 +252,7 @@
icon_state = "detective-armor"
item_state = "armor"
blood_overlay_type = "armor"
- allowed = list(/obj/item/tank/emergency_oxygen,/obj/item/reagent_containers/spray/pepper,/obj/item/flashlight,/obj/item/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/restraints/handcuffs,/obj/item/storage/fancy/cigarettes,/obj/item/lighter,/obj/item/detective_scanner,/obj/item/taperecorder)
+ allowed = list(/obj/item/tank/internals/emergency_oxygen,/obj/item/reagent_containers/spray/pepper,/obj/item/flashlight,/obj/item/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/restraints/handcuffs,/obj/item/storage/fancy/cigarettes,/obj/item/lighter,/obj/item/detective_scanner,/obj/item/taperecorder)
resistance_flags = FLAMMABLE
dog_fashion = null
@@ -395,7 +395,7 @@
item_state = "centcom"
w_class = WEIGHT_CLASS_BULKY
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
- allowed = list(/obj/item/gun/energy,/obj/item/melee/baton,/obj/item/restraints/handcuffs,/obj/item/tank/emergency_oxygen)
+ allowed = list(/obj/item/gun/energy,/obj/item/melee/baton,/obj/item/restraints/handcuffs,/obj/item/tank/internals/emergency_oxygen)
flags = THICKMATERIAL
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS
@@ -485,7 +485,7 @@
//same defense as basic sec armor
/obj/item/clothing/suit/storage/lawyer/blackjacket/armored
desc = "A snappy dress jacket, reinforced with a layer of armor protecting the torso."
- allowed = list(/obj/item/tank/emergency_oxygen, /obj/item/gun/projectile/revolver, /obj/item/gun/projectile/automatic/pistol)
+ allowed = list(/obj/item/tank/internals/emergency_oxygen, /obj/item/gun/projectile/revolver, /obj/item/gun/projectile/automatic/pistol)
body_parts_covered = UPPER_TORSO|LOWER_TORSO
cold_protection = UPPER_TORSO|LOWER_TORSO
min_cold_protection_temperature = ARMOR_MIN_TEMP_PROTECT
@@ -500,7 +500,7 @@
icon_state = "dragon"
item_state = "dragon"
desc = "A suit of armour fashioned from the remains of an ash drake."
- allowed = list(/obj/item/flashlight, /obj/item/tank, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe, /obj/item/twohanded/spear)
+ allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe, /obj/item/twohanded/spear)
armor = list("melee" = 70, "bullet" = 30, "laser" = 50, "energy" = 40, "bomb" = 70, "bio" = 60, "rad" = 50, "fire" = 100, "acid" = 100)
hoodtype = /obj/item/clothing/head/hooded/drake
heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
@@ -525,7 +525,7 @@
icon_state = "goliath_cloak"
item_state = "goliath_cloak"
desc = "A staunch, practical cape made out of numerous monster materials, it is coveted amongst exiles & hermits."
- allowed = list(/obj/item/flashlight, /obj/item/tank, /obj/item/pickaxe, /obj/item/twohanded/spear, /obj/item/organ/internal/regenerative_core/legion, /obj/item/kitchen/knife/combat/survival)
+ allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/pickaxe, /obj/item/twohanded/spear, /obj/item/organ/internal/regenerative_core/legion, /obj/item/kitchen/knife/combat/survival)
armor = list("melee" = 35, "bullet" = 10, "laser" = 25, "energy" = 10, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 60, "acid" = 60) //a fair alternative to bone armor, requiring alternative materials and gaining a suit slot
hoodtype = /obj/item/clothing/head/hooded/goliath
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
diff --git a/code/modules/clothing/suits/bio.dm b/code/modules/clothing/suits/bio.dm
index eff7a9448ac..f2bc0f1bd8e 100644
--- a/code/modules/clothing/suits/bio.dm
+++ b/code/modules/clothing/suits/bio.dm
@@ -29,7 +29,7 @@
flags = THICKMATERIAL
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
slowdown = 1
- allowed = list(/obj/item/tank/emergency_oxygen,/obj/item/pen,/obj/item/flashlight/pen)
+ allowed = list(/obj/item/tank/internals/emergency_oxygen,/obj/item/pen,/obj/item/flashlight/pen)
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 80, "fire" = 30, "acid" = 100)
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL
strip_delay = 70
diff --git a/code/modules/clothing/suits/jobs.dm b/code/modules/clothing/suits/jobs.dm
index 6ffa40fe727..49b552d099d 100644
--- a/code/modules/clothing/suits/jobs.dm
+++ b/code/modules/clothing/suits/jobs.dm
@@ -8,7 +8,7 @@
icon_state = "paramedic-vest"
item_state = "paramedic-vest"
allowed = list(/obj/item/stack/medical, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/hypospray, /obj/item/reagent_containers/applicator, /obj/item/reagent_containers/syringe,
- /obj/item/healthanalyzer, /obj/item/flashlight, /obj/item/radio, /obj/item/tank/emergency_oxygen,/obj/item/rad_laser)
+ /obj/item/healthanalyzer, /obj/item/flashlight, /obj/item/radio, /obj/item/tank/internals/emergency_oxygen,/obj/item/rad_laser)
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 10, rad = 10, fire = 50, acid = 50)
sprite_sheets = list(
@@ -23,7 +23,7 @@
item_state = "brigphysician-vest"
allowed = list(/obj/item/stack/medical, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/hypospray, /obj/item/reagent_containers/applicator, /obj/item/reagent_containers/syringe,
/obj/item/healthanalyzer, /obj/item/flashlight, \
- /obj/item/radio, /obj/item/tank/emergency_oxygen,/obj/item/rad_laser)
+ /obj/item/radio, /obj/item/tank/internals/emergency_oxygen,/obj/item/rad_laser)
armor = list(melee = 10, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 10, rad = 0, fire = 50, acid = 50)
sprite_sheets = list(
@@ -52,7 +52,7 @@
item_state = "bio_suit"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
flags_inv = HIDEJUMPSUIT
- allowed = list(/obj/item/disk, /obj/item/stamp, /obj/item/reagent_containers/food/drinks/flask, /obj/item/melee, /obj/item/storage/lockbox/medal, /obj/item/flash, /obj/item/storage/box/matches, /obj/item/lighter, /obj/item/clothing/mask/cigarette, /obj/item/storage/fancy/cigarettes, /obj/item/tank/emergency_oxygen)
+ allowed = list(/obj/item/disk, /obj/item/stamp, /obj/item/reagent_containers/food/drinks/flask, /obj/item/melee, /obj/item/storage/lockbox/medal, /obj/item/flash, /obj/item/storage/box/matches, /obj/item/lighter, /obj/item/clothing/mask/cigarette, /obj/item/storage/fancy/cigarettes, /obj/item/tank/internals/emergency_oxygen)
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/suit.dmi'
@@ -85,7 +85,7 @@
item_state = "chaplain_hoodie"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
hoodtype = /obj/item/clothing/head/hooded/chaplain_hood
- allowed = list(/obj/item/storage/bible, /obj/item/nullrod, /obj/item/reagent_containers/food/drinks/bottle/holywater, /obj/item/storage/fancy/candle_box, /obj/item/candle, /obj/item/tank/emergency_oxygen)
+ allowed = list(/obj/item/storage/bible, /obj/item/nullrod, /obj/item/reagent_containers/food/drinks/bottle/holywater, /obj/item/storage/fancy/candle_box, /obj/item/candle, /obj/item/tank/internals/emergency_oxygen)
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/suit.dmi'
@@ -100,7 +100,7 @@
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS|HANDS
flags_inv = HIDESHOES|HIDEJUMPSUIT
hoodtype = /obj/item/clothing/head/hooded/nun_hood
- allowed = list(/obj/item/storage/bible, /obj/item/nullrod, /obj/item/reagent_containers/food/drinks/bottle/holywater, /obj/item/storage/fancy/candle_box, /obj/item/candle, /obj/item/tank/emergency_oxygen)
+ allowed = list(/obj/item/storage/bible, /obj/item/nullrod, /obj/item/reagent_containers/food/drinks/bottle/holywater, /obj/item/storage/fancy/candle_box, /obj/item/candle, /obj/item/tank/internals/emergency_oxygen)
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/suit.dmi'
@@ -115,7 +115,7 @@
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS|HANDS
flags_inv = HIDESHOES|HIDEJUMPSUIT
hoodtype = /obj/item/clothing/head/hooded/monk_hood
- allowed = list(/obj/item/storage/bible, /obj/item/nullrod, /obj/item/reagent_containers/food/drinks/bottle/holywater, /obj/item/storage/fancy/candle_box, /obj/item/candle, /obj/item/tank/emergency_oxygen)
+ allowed = list(/obj/item/storage/bible, /obj/item/nullrod, /obj/item/reagent_containers/food/drinks/bottle/holywater, /obj/item/storage/fancy/candle_box, /obj/item/candle, /obj/item/tank/internals/emergency_oxygen)
/obj/item/clothing/suit/witchhunter
name = "witchhunter garb"
@@ -123,7 +123,7 @@
icon_state = "witchhunter"
item_state = "witchhunter"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
- allowed = list(/obj/item/storage/bible, /obj/item/nullrod, /obj/item/reagent_containers/food/drinks/bottle/holywater, /obj/item/storage/fancy/candle_box, /obj/item/candle, /obj/item/tank/emergency_oxygen)
+ allowed = list(/obj/item/storage/bible, /obj/item/nullrod, /obj/item/reagent_containers/food/drinks/bottle/holywater, /obj/item/storage/fancy/candle_box, /obj/item/candle, /obj/item/tank/internals/emergency_oxygen)
//Chef
@@ -162,7 +162,7 @@
desc = "A slick, authoritative cloak designed for the Chief Engineer."
icon_state = "cemantle"
item_state = "cemantle"
- allowed = list(/obj/item/flashlight, /obj/item/tank, /obj/item/t_scanner, /obj/item/rcd, /obj/item/rpd)
+ allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/t_scanner, /obj/item/rcd, /obj/item/rpd)
//Chief Medical Officer
/obj/item/clothing/suit/mantle/labcoat/chief_medical_officer
@@ -179,7 +179,7 @@
item_state = "det_suit"
blood_overlay_type = "coat"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
- allowed = list(/obj/item/tank/emergency_oxygen, /obj/item/reagent_containers/spray/pepper, /obj/item/flashlight, /obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/detective_scanner, /obj/item/taperecorder)
+ allowed = list(/obj/item/tank/internals/emergency_oxygen, /obj/item/reagent_containers/spray/pepper, /obj/item/flashlight, /obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/detective_scanner, /obj/item/taperecorder)
armor = list("melee" = 25, "bullet" = 10, "laser" = 25, "energy" = 10, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 45)
cold_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
@@ -231,7 +231,7 @@
icon_state = "hazard"
item_state = "hazard"
blood_overlay_type = "armor"
- allowed = list (/obj/item/flashlight, /obj/item/t_scanner, /obj/item/tank/emergency_oxygen, /obj/item/rcd, /obj/item/rpd)
+ allowed = list (/obj/item/flashlight, /obj/item/t_scanner, /obj/item/tank/internals/emergency_oxygen, /obj/item/rcd, /obj/item/rpd)
resistance_flags = NONE
sprite_sheets = list(
@@ -339,7 +339,7 @@
item_state = "fr_jacket_open"
blood_overlay_type = "armor"
allowed = list(/obj/item/stack/medical, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/hypospray, /obj/item/reagent_containers/applicator, /obj/item/reagent_containers/syringe,
- /obj/item/healthanalyzer, /obj/item/flashlight, /obj/item/radio, /obj/item/tank/emergency_oxygen,/obj/item/rad_laser)
+ /obj/item/healthanalyzer, /obj/item/flashlight, /obj/item/radio, /obj/item/tank/internals/emergency_oxygen,/obj/item/rad_laser)
ignore_suitadjust = 0
suit_adjusted = 1
actions_types = list(/datum/action/item_action/button)
diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm
index a4847dc80b5..6efe1d38026 100644
--- a/code/modules/clothing/suits/miscellaneous.dm
+++ b/code/modules/clothing/suits/miscellaneous.dm
@@ -139,7 +139,7 @@
item_state = "syndicate-black-red"
desc = "A plastic replica of the syndicate space suit, you'll look just like a real murderous syndicate agent in this! This is a toy, it is not made for use in space!"
w_class = WEIGHT_CLASS_NORMAL
- allowed = list(/obj/item/flashlight,/obj/item/tank/emergency_oxygen,/obj/item/toy)
+ allowed = list(/obj/item/flashlight,/obj/item/tank/internals/emergency_oxygen,/obj/item/toy)
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
resistance_flags = NONE
@@ -160,7 +160,7 @@
item_state = "imperium_monk"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
flags_inv = HIDESHOES|HIDEJUMPSUIT
- allowed = list(/obj/item/storage/bible, /obj/item/nullrod, /obj/item/reagent_containers/food/drinks/bottle/holywater, /obj/item/storage/fancy/candle_box, /obj/item/candle, /obj/item/tank/emergency_oxygen)
+ allowed = list(/obj/item/storage/bible, /obj/item/nullrod, /obj/item/reagent_containers/food/drinks/bottle/holywater, /obj/item/storage/fancy/candle_box, /obj/item/candle, /obj/item/tank/internals/emergency_oxygen)
/obj/item/clothing/suit/chickensuit
name = "chicken suit"
@@ -223,7 +223,7 @@
item_state = "holidaypriest"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
flags_inv = HIDEJUMPSUIT
- allowed = list(/obj/item/storage/bible, /obj/item/nullrod, /obj/item/reagent_containers/food/drinks/bottle/holywater, /obj/item/storage/fancy/candle_box, /obj/item/candle, /obj/item/tank/emergency_oxygen)
+ allowed = list(/obj/item/storage/bible, /obj/item/nullrod, /obj/item/reagent_containers/food/drinks/bottle/holywater, /obj/item/storage/fancy/candle_box, /obj/item/candle, /obj/item/tank/internals/emergency_oxygen)
/obj/item/clothing/suit/cardborg
name = "cardborg suit"
@@ -299,7 +299,7 @@
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
cold_protection = UPPER_TORSO|LOWER_TORSO|ARMS
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT //Space carp like space, so you should too
- allowed = list(/obj/item/tank/emergency_oxygen)
+ allowed = list(/obj/item/tank/internals/emergency_oxygen)
hoodtype = /obj/item/clothing/head/hooded/carp_hood
/obj/item/clothing/head/hooded/carp_hood
@@ -371,7 +371,7 @@
cold_protection = UPPER_TORSO|LOWER_TORSO|ARMS
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0)
- allowed = list(/obj/item/flashlight, /obj/item/tank/emergency_oxygen, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter)
+ allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter)
sprite_sheets = list("Vox" = 'icons/mob/species/vox/suit.dmi')
@@ -441,7 +441,7 @@
w_class = WEIGHT_CLASS_NORMAL
item_state = "coatengineer"
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 20, "fire" = 30, "acid" = 45)
- allowed = list(/obj/item/flashlight, /obj/item/tank/emergency_oxygen, /obj/item/t_scanner, /obj/item/rcd)
+ allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/t_scanner, /obj/item/rcd)
hoodtype = /obj/item/clothing/head/hooded/winterhood/engineering
/obj/item/clothing/head/hooded/winterhood/engineering
@@ -480,7 +480,7 @@
icon_state = "wintercoat_miner"
w_class = WEIGHT_CLASS_NORMAL
item_state = "coatminer"
- allowed = list(/obj/item/pickaxe, /obj/item/flashlight, /obj/item/tank/emergency_oxygen, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter)
+ allowed = list(/obj/item/pickaxe, /obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter)
armor = list("melee" = 10, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0)
hoodtype = /obj/item/clothing/head/hooded/winterhood/miner
@@ -499,7 +499,7 @@
icon_state = "black_hoodie"
item_state = "blueshieldcoat"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
- allowed = list(/obj/item/flashlight, /obj/item/tank/emergency_oxygen)
+ allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen)
hoodtype = /obj/item/clothing/head/hooded/hood
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/suit.dmi'
@@ -690,7 +690,7 @@
ignore_suitadjust = 1
actions_types = list()
adjust_flavour = null
- allowed = list(/obj/item/flashlight,/obj/item/tank/emergency_oxygen,/obj/item/toy,/obj/item/storage/fancy/cigarettes,/obj/item/lighter,/obj/item/gun/projectile/automatic/pistol,/obj/item/gun/projectile/revolver,/obj/item/gun/projectile/revolver/detective)
+ allowed = list(/obj/item/flashlight,/obj/item/tank/internals/emergency_oxygen,/obj/item/toy,/obj/item/storage/fancy/cigarettes,/obj/item/lighter,/obj/item/gun/projectile/automatic/pistol,/obj/item/gun/projectile/revolver,/obj/item/gun/projectile/revolver/detective)
/obj/item/clothing/suit/jacket/miljacket/navy
name = "navy military jacket"
@@ -757,7 +757,7 @@
gas_transfer_coefficient = 0.01
permeability_coefficient = 0.01
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
- allowed = list(/obj/item/tank/emergency_oxygen,/obj/item/pen,/obj/item/flashlight/pen)
+ allowed = list(/obj/item/tank/internals/emergency_oxygen,/obj/item/pen,/obj/item/flashlight/pen)
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 100, rad = 20, fire = 50, acid = 50)
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL
@@ -778,7 +778,7 @@
icon_state = "bomber"
item_state = "bomber"
ignore_suitadjust = 0
- allowed = list(/obj/item/flashlight,/obj/item/tank/emergency_oxygen,/obj/item/toy,/obj/item/storage/fancy/cigarettes,/obj/item/lighter)
+ allowed = list(/obj/item/flashlight,/obj/item/tank/internals/emergency_oxygen,/obj/item/toy,/obj/item/storage/fancy/cigarettes,/obj/item/lighter)
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
cold_protection = UPPER_TORSO|LOWER_TORSO|ARMS
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
diff --git a/code/modules/clothing/suits/utility.dm b/code/modules/clothing/suits/utility.dm
index 52182e1cf1f..526086d2347 100644
--- a/code/modules/clothing/suits/utility.dm
+++ b/code/modules/clothing/suits/utility.dm
@@ -18,7 +18,7 @@
gas_transfer_coefficient = 0.90
permeability_coefficient = 0.50
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
- allowed = list(/obj/item/flashlight,/obj/item/tank/emergency_oxygen,/obj/item/extinguisher)
+ allowed = list(/obj/item/flashlight,/obj/item/tank/internals/emergency_oxygen,/obj/item/extinguisher)
slowdown = 1
armor = list("melee" = 15, "bullet" = 5, "laser" = 20, "energy" = 10, "bomb" = 20, "bio" = 10, "rad" = 20, "fire" = 100, "acid" = 50)
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL
@@ -147,7 +147,7 @@
permeability_coefficient = 0.50
flags = THICKMATERIAL
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
- allowed = list(/obj/item/flashlight,/obj/item/tank/emergency_oxygen, /obj/item/geiger_counter)
+ allowed = list(/obj/item/flashlight,/obj/item/tank/internals/emergency_oxygen, /obj/item/geiger_counter)
slowdown = 1.5
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 60, "rad" = 100, "fire" = 30, "acid" = 30)
flags_inv = HIDEJUMPSUIT|HIDETAIL
diff --git a/code/modules/crafting/recipes.dm b/code/modules/crafting/recipes.dm
index 3ec2e5bf565..dcf12d64746 100644
--- a/code/modules/crafting/recipes.dm
+++ b/code/modules/crafting/recipes.dm
@@ -523,6 +523,14 @@
tools = list(TOOL_SCREWDRIVER, TOOL_WRENCH, TOOL_WELDER)
category = CAT_MISC
+/datum/crafting_recipe/ghettojetpack
+ name = "Improvised Jetpack"
+ result = /obj/item/tank/jetpack/improvised
+ time = 30
+ reqs = list(/obj/item/tank/internals/oxygen = 2, /obj/item/extinguisher = 1, /obj/item/pipe = 3, /obj/item/stack/cable_coil = MAXCOIL)
+ category = CAT_MISC
+ tools = list(TOOL_WRENCH, TOOL_WELDER, TOOL_WIRECUTTER)
+
/datum/crafting_recipe/drill
name = "Thermal Drill"
result = /obj/item/thermal_drill
diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm
index 4ee33f4d87e..18c6553bf66 100644
--- a/code/modules/customitems/item_defines.dm
+++ b/code/modules/customitems/item_defines.dm
@@ -807,7 +807,7 @@
item_state = "supplymaster_jacket_open"
ignore_suitadjust = 0
suit_adjusted = 1
- allowed = list(/obj/item/flashlight,/obj/item/tank/emergency_oxygen,/obj/item/toy,/obj/item/storage/fancy/cigarettes,/obj/item/lighter)
+ allowed = list(/obj/item/flashlight,/obj/item/tank/internals/emergency_oxygen,/obj/item/toy,/obj/item/storage/fancy/cigarettes,/obj/item/lighter)
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
cold_protection = UPPER_TORSO|LOWER_TORSO|ARMS
actions_types = list(/datum/action/item_action/button)
@@ -971,7 +971,7 @@
icon_state = "xantholne_wintercoat"
hoodtype = /obj/item/clothing/head/hooded/hood/fluff/xantholne
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
- allowed = list(/obj/item/flashlight, /obj/item/tank/emergency_oxygen, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter)
+ allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter)
/obj/item/clothing/head/hooded/hood/fluff/xantholne // Xantholne: Meex Zwichsnicrur
@@ -992,7 +992,7 @@
hoodtype = /obj/item/clothing/head/hooded/hood/fluff/xydonus
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
cold_protection = UPPER_TORSO|LOWER_TORSO|ARMS
- allowed = list(/obj/item/flashlight,/obj/item/tank/emergency_oxygen,/obj/item/toy,/obj/item/storage/fancy/cigarettes,/obj/item/lighter)
+ allowed = list(/obj/item/flashlight,/obj/item/tank/internals/emergency_oxygen,/obj/item/toy,/obj/item/storage/fancy/cigarettes,/obj/item/lighter)
/obj/item/clothing/head/hooded/hood/fluff/xydonus
name = "custom fit hood"
@@ -1055,7 +1055,7 @@
icon_state = "dtxbomber"
item_state = "dtxbomber"
ignore_suitadjust = 0
- allowed = list(/obj/item/flashlight,/obj/item/tank/emergency_oxygen,/obj/item/toy,/obj/item/storage/fancy/cigarettes,/obj/item/lighter)
+ allowed = list(/obj/item/flashlight,/obj/item/tank/internals/emergency_oxygen,/obj/item/toy,/obj/item/storage/fancy/cigarettes,/obj/item/lighter)
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
cold_protection = UPPER_TORSO|LOWER_TORSO|ARMS
actions_types = list(/datum/action/item_action/zipper)
@@ -1213,7 +1213,7 @@
icon = 'icons/obj/custom_items.dmi'
icon_state = "fox_jacket"
item_state = "fox_jacket"
- allowed = list(/obj/item/flashlight, /obj/item/tank/emergency_oxygen, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/gun/projectile/automatic/pistol, /obj/item/gun/projectile/revolver, /obj/item/gun/projectile/revolver/detective)
+ allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/gun/projectile/automatic/pistol, /obj/item/gun/projectile/revolver, /obj/item/gun/projectile/revolver/detective)
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
cold_protection = UPPER_TORSO|LOWER_TORSO|ARMS
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
@@ -1583,7 +1583,7 @@
item_state = "asmer_accordion"
-/obj/item/clothing/head/fluff/pinesalad_horns //Pineapple Salad: Dan Jello
+/obj/item/clothing/head/fluff/pinesalad_horns //Pineapple Salad: Dan Jello
name = "Bluespace Horns"
desc = "A pair of fake horns. Now with added bluespace!"
icon = 'icons/obj/custom_items.dmi'
diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm
index a0f2015536f..c779f34ccd9 100644
--- a/code/modules/flufftext/Hallucination.dm
+++ b/code/modules/flufftext/Hallucination.dm
@@ -705,7 +705,7 @@ GLOBAL_LIST_INIT(non_fakeattack_weapons, list(/obj/item/gun/projectile, /obj/ite
/obj/item/hand_tele, /obj/item/rcd, /obj/item/tank/jetpack,\
/obj/item/clothing/under/rank/captain, /obj/item/aicard,\
/obj/item/clothing/shoes/magboots, /obj/item/areaeditor/blueprints, /obj/item/disk/nuclear,\
- /obj/item/clothing/suit/space/nasavoid, /obj/item/tank))
+ /obj/item/clothing/suit/space/nasavoid, /obj/item/tank/internals))
/obj/effect/hallucination/bolts
var/list/doors = list()
diff --git a/code/modules/mining/equipment/explorer_gear.dm b/code/modules/mining/equipment/explorer_gear.dm
index b4a5a0891ed..84bf8f1fc0d 100644
--- a/code/modules/mining/equipment/explorer_gear.dm
+++ b/code/modules/mining/equipment/explorer_gear.dm
@@ -11,7 +11,7 @@
heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
hoodtype = /obj/item/clothing/head/hooded/explorer
armor = list("melee" = 30, "bullet" = 20, "laser" = 20, "energy" = 20, "bomb" = 50, "bio" = 100, "rad" = 50, "fire" = 50, "acid" = 50)
- allowed = list(/obj/item/flashlight, /obj/item/tank, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe)
+ allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe)
resistance_flags = FIRE_PROOF
hide_tail_by_species = list("Vox" , "Vulpkanin" , "Unathi" , "Tajaran")
@@ -53,7 +53,7 @@
resistance_flags = FIRE_PROOF | LAVA_PROOF
slowdown = 0
armor = list("melee" = 70, "bullet" = 40, "laser" = 10, "energy" = 10, "bomb" = 50, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100)
- allowed = list(/obj/item/flashlight, /obj/item/tank, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe)
+ allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe)
/obj/item/clothing/suit/space/hostile_environment/New()
..()
diff --git a/code/modules/mob/living/carbon/human/species/vox.dm b/code/modules/mob/living/carbon/human/species/vox.dm
index 6ac20e77b9b..37da7bc2698 100644
--- a/code/modules/mob/living/carbon/human/species/vox.dm
+++ b/code/modules/mob/living/carbon/human/species/vox.dm
@@ -86,9 +86,9 @@
var/tank_pref = H.client && H.client.prefs ? H.client.prefs.speciesprefs : null
var/obj/item/tank/internal_tank
if(tank_pref)//Diseasel, here you go
- internal_tank = new /obj/item/tank/nitrogen(H)
+ internal_tank = new /obj/item/tank/internals/nitrogen(H)
else
- internal_tank = new /obj/item/tank/emergency_oxygen/vox(H)
+ internal_tank = new /obj/item/tank/internals/emergency_oxygen/double/vox(H)
if(!H.equip_to_appropriate_slot(internal_tank))
if(!H.put_in_any_hand_if_possible(internal_tank))
H.unEquip(H.l_hand)
diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm
index b20ac4588b0..45f75bf9f07 100644
--- a/code/modules/mob/living/carbon/life.dm
+++ b/code/modules/mob/living/carbon/life.dm
@@ -47,7 +47,7 @@
else
if(istype(loc, /obj/))
var/obj/location_as_object = loc
- location_as_object.handle_internal_lifeform(src,0)
+ location_as_object.handle_internal_lifeform(src, 0)
//Second link in a breath chain, calls check_breath()
/mob/living/carbon/proc/breathe()
@@ -81,7 +81,7 @@
if(isobj(loc)) //Breathe from loc as object
var/obj/loc_as_obj = loc
- breath = loc_as_obj.handle_internal_lifeform(src, BREATH_MOLES)
+ breath = loc_as_obj.handle_internal_lifeform(src, BREATH_VOLUME)
else if(isturf(loc)) //Breathe from loc as turf
var/breath_moles = 0
@@ -92,7 +92,7 @@
else //Breathe from loc as obj again
if(istype(loc, /obj/))
var/obj/loc_as_obj = loc
- loc_as_obj.handle_internal_lifeform(src,0)
+ loc_as_obj.handle_internal_lifeform(src, 0)
check_breath(breath)
diff --git a/code/modules/mob/living/simple_animal/corpse.dm b/code/modules/mob/living/simple_animal/corpse.dm
index 8d0ad5d0e2b..83d3e9da513 100644
--- a/code/modules/mob/living/simple_animal/corpse.dm
+++ b/code/modules/mob/living/simple_animal/corpse.dm
@@ -39,7 +39,7 @@
l_ear = /obj/item/radio/headset
mask = /obj/item/clothing/mask/gas/syndicate
back = /obj/item/tank/jetpack/oxygen
- r_pocket = /obj/item/tank/emergency_oxygen
+ r_pocket = /obj/item/tank/internals/emergency_oxygen
id = /obj/item/card/id
diff --git a/code/modules/mob/living/simple_animal/hostile/mining/hivelord.dm b/code/modules/mob/living/simple_animal/hostile/mining/hivelord.dm
index a5248e98bb6..7504f7d379e 100644
--- a/code/modules/mob/living/simple_animal/hostile/mining/hivelord.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mining/hivelord.dm
@@ -344,7 +344,7 @@
else if(prob(10))
belt = pickweight(list(/obj/item/pickaxe = 8, /obj/item/pickaxe/mini = 4, /obj/item/pickaxe/silver = 2, /obj/item/pickaxe/diamond = 1))
else
- belt = /obj/item/tank/emergency_oxygen/engi
+ belt = /obj/item/tank/internals/emergency_oxygen/engi
if(mob_species != /datum/species/unathi)
shoes = /obj/item/clothing/shoes/workboots/mining
gloves = /obj/item/clothing/gloves/color/black
@@ -402,7 +402,7 @@
suit = /obj/item/clothing/suit/armor/riot/knight
back = /obj/item/shield/riot/buckler
belt = /obj/item/nullrod/claymore
- r_pocket = /obj/item/tank/emergency_oxygen
+ r_pocket = /obj/item/tank/internals/emergency_oxygen
mask = /obj/item/clothing/mask/breath
if("Operative")
id_job = "Operative"
@@ -413,7 +413,7 @@
shoes = /obj/item/clothing/shoes/black
suit = /obj/item/clothing/suit/storage/labcoat
glasses = /obj/item/clothing/glasses/sunglasses/blindfold
- back = /obj/item/tank/oxygen
+ back = /obj/item/tank/internals/oxygen
mask = /obj/item/clothing/mask/breath
if("Cultist")
uniform = /obj/item/clothing/under/roman
diff --git a/code/modules/mob/living/simple_animal/tribbles.dm b/code/modules/mob/living/simple_animal/tribbles.dm
index e5ebfb2ff61..09d94f81901 100644
--- a/code/modules/mob/living/simple_animal/tribbles.dm
+++ b/code/modules/mob/living/simple_animal/tribbles.dm
@@ -180,7 +180,7 @@ GLOBAL_VAR_INIT(totaltribbles, 0) //global variable so it updates for all trib
item_state = "furcoat"
blood_overlay_type = "armor"
body_parts_covered = UPPER_TORSO|ARMS|LOWER_TORSO
- allowed = list (/obj/item/tank/emergency_oxygen)
+ allowed = list (/obj/item/tank/internals/emergency_oxygen)
cold_protection = UPPER_TORSO | LOWER_TORSO | ARMS
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
diff --git a/code/modules/ninja/suit/suit.dm b/code/modules/ninja/suit/suit.dm
index ed2b0025fad..0d965f8b483 100644
--- a/code/modules/ninja/suit/suit.dm
+++ b/code/modules/ninja/suit/suit.dm
@@ -12,7 +12,7 @@ Contents:
desc = "A unique, vaccum-proof suit of nano-enhanced armor designed specifically for Spider Clan assassins."
icon_state = "s-ninja"
item_state = "s-ninja_suit"
- allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/melee/baton, /obj/item/tank, /obj/item/stock_parts/cell)
+ allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/melee/baton, /obj/item/tank/internals, /obj/item/stock_parts/cell)
slowdown = 0
armor = list("melee" = 60, "bullet" = 50, "laser" = 30,"energy" = 15, "bomb" = 30, "bio" = 30, "rad" = 30, "fire" = 100, "acid" = 100)
diff --git a/code/modules/power/singularity/collector.dm b/code/modules/power/singularity/collector.dm
index 14059c63ea7..9af7029d3d4 100644
--- a/code/modules/power/singularity/collector.dm
+++ b/code/modules/power/singularity/collector.dm
@@ -17,7 +17,7 @@ GLOBAL_LIST_EMPTY(rad_collectors)
max_integrity = 350
integrity_failure = 80
rad_insulation = RAD_EXTREME_INSULATION
- var/obj/item/tank/plasma/loaded_tank = null
+ var/obj/item/tank/internals/plasma/loaded_tank = null
var/stored_energy = 0
var/active = FALSE
var/locked = FALSE
@@ -61,7 +61,7 @@ GLOBAL_LIST_EMPTY(rad_collectors)
/obj/machinery/power/rad_collector/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/analyzer) && loaded_tank)
atmosanalyzer_scan(loaded_tank.air_contents, user)
- else if(istype(I, /obj/item/tank/plasma))
+ else if(istype(I, /obj/item/tank/internals/plasma))
if(!anchored)
to_chat(user, "[src] needs to be secured to the floor first.")
return TRUE
@@ -119,7 +119,7 @@ GLOBAL_LIST_EMPTY(rad_collectors)
/obj/machinery/power/rad_collector/proc/eject()
locked = FALSE
- var/obj/item/tank/plasma/Z = loaded_tank
+ var/obj/item/tank/internals/plasma/Z = loaded_tank
if(!Z)
return
Z.forceMove(drop_location())
diff --git a/code/modules/research/designs/misc_designs.dm b/code/modules/research/designs/misc_designs.dm
index 7d8b50d21be..2518d3fb2b8 100644
--- a/code/modules/research/designs/misc_designs.dm
+++ b/code/modules/research/designs/misc_designs.dm
@@ -98,7 +98,7 @@
req_tech = list("toxins" = 3)
build_type = PROTOLATHE
materials = list(MAT_METAL=500, MAT_GLASS=100)
- build_path = /obj/item/tank/emergency_oxygen/empty
+ build_path = /obj/item/tank/internals/emergency_oxygen/empty
category = list("Miscellaneous")
/datum/design/extended_oxygen
@@ -108,7 +108,7 @@
req_tech = list("toxins" = 4)
build_type = PROTOLATHE
materials = list(MAT_METAL=800, MAT_GLASS=100)
- build_path = /obj/item/tank/emergency_oxygen/engi/empty
+ build_path = /obj/item/tank/internals/emergency_oxygen/engi/empty
category = list("Miscellaneous")
/datum/design/double_oxygen
@@ -118,7 +118,7 @@
req_tech = list("toxins" = 5)
build_type = PROTOLATHE
materials = list(MAT_METAL=1500, MAT_GLASS=200)
- build_path = /obj/item/tank/emergency_oxygen/double/empty
+ build_path = /obj/item/tank/internals/emergency_oxygen/double/empty
category = list("Miscellaneous")
/datum/design/oxygen_tank
@@ -128,5 +128,5 @@
req_tech = list("toxins" = 5)
build_type = PROTOLATHE
materials = list(MAT_METAL=3000, MAT_GLASS=500)
- build_path = /obj/item/tank/oxygen/empty
+ build_path = /obj/item/tank/internals/oxygen/empty
category = list("Miscellaneous")
diff --git a/code/modules/response_team/ert_outfits.dm b/code/modules/response_team/ert_outfits.dm
index 4ee48dcbfd9..1c093bc3c1d 100644
--- a/code/modules/response_team/ert_outfits.dm
+++ b/code/modules/response_team/ert_outfits.dm
@@ -231,7 +231,7 @@
shoes = /obj/item/clothing/shoes/magboots
gloves = /obj/item/clothing/gloves/color/yellow
suit = /obj/item/clothing/suit/space/hardsuit/ert/engineer
- suit_store = /obj/item/tank/emergency_oxygen/engi
+ suit_store = /obj/item/tank/internals/emergency_oxygen/engi
glasses = /obj/item/clothing/glasses/meson/engine
mask = /obj/item/clothing/mask/gas
@@ -251,7 +251,7 @@
gloves = /obj/item/clothing/gloves/color/yellow
belt = /obj/item/storage/belt/utility/chief/full
suit = /obj/item/clothing/suit/space/hardsuit/ert/engineer/gamma
- suit_store = /obj/item/tank/emergency_oxygen/engi
+ suit_store = /obj/item/tank/internals/emergency_oxygen/engi
glasses = /obj/item/clothing/glasses/meson/engine
mask = /obj/item/clothing/mask/gas
cybernetic_implants = list(
diff --git a/code/modules/station_goals/dna_vault.dm b/code/modules/station_goals/dna_vault.dm
index c03ea48c92b..ab5fadb5516 100644
--- a/code/modules/station_goals/dna_vault.dm
+++ b/code/modules/station_goals/dna_vault.dm
@@ -306,7 +306,8 @@ GLOBAL_LIST_INIT(non_simple_animals, typecacheof(list(/mob/living/carbon/human/m
to_chat(H, "You feel resistant to airborne toxins.")
var/obj/item/organ/internal/lungs/L = H.get_int_organ(/obj/item/organ/internal/lungs)
if(L)
- L.tox_breath_dam_multiplier = 0
+ L.tox_breath_dam_min = 0
+ L.tox_breath_dam_max = 0
S.species_traits |= VIRUSIMMUNE
if(VAULT_NOBREATH)
to_chat(H, "Your lungs feel great.")
diff --git a/code/modules/surgery/organs/lungs.dm b/code/modules/surgery/organs/lungs.dm
index 34b83d9fe7f..cb399360f30 100644
--- a/code/modules/surgery/organs/lungs.dm
+++ b/code/modules/surgery/organs/lungs.dm
@@ -21,14 +21,18 @@
var/SA_sleep_min = 5 //Sleeping agent
+ var/oxy_breath_dam_min = MIN_TOXIC_GAS_DAMAGE
+ var/oxy_breath_dam_max = MAX_TOXIC_GAS_DAMAGE
var/oxy_damage_type = OXY
- var/oxy_breath_dam_multiplier = 1
+ var/nitro_breath_dam_min = MIN_TOXIC_GAS_DAMAGE
+ var/nitro_breath_dam_max = MAX_TOXIC_GAS_DAMAGE
var/nitro_damage_type = OXY
- var/nitro_breath_dam_multiplier = 1
+ var/co2_breath_dam_min = MIN_TOXIC_GAS_DAMAGE
+ var/co2_breath_dam_max = MAX_TOXIC_GAS_DAMAGE
var/co2_damage_type = OXY
- var/co2_breath_dam_multiplier = 1
+ var/tox_breath_dam_min = MIN_TOXIC_GAS_DAMAGE
+ var/tox_breath_dam_max = MAX_TOXIC_GAS_DAMAGE
var/tox_damage_type = TOX
- var/tox_breath_dam_multiplier = 1
var/cold_message = "your face freezing and an icicle forming"
var/cold_level_1_threshold = 260
@@ -118,8 +122,8 @@
//Too much oxygen! //Yes, some species may not like it.
if(safe_oxygen_max)
if(O2_pp > safe_oxygen_max)
- var/ratio = breath.oxygen/safe_oxygen_max
- H.apply_damage_type(ratio * 325 * oxy_breath_dam_multiplier, oxy_damage_type)
+ var/ratio = (breath.oxygen / safe_oxygen_max / safe_oxygen_max) * 10
+ H.apply_damage_type(clamp(ratio, oxy_breath_dam_min, oxy_breath_dam_max), oxy_damage_type)
H.throw_alert("too_much_oxy", /obj/screen/alert/too_much_oxy)
else
H.clear_alert("too_much_oxy")
@@ -144,8 +148,8 @@
//Too much nitrogen!
if(safe_nitro_max)
if(N2_pp > safe_nitro_max)
- var/ratio = breath.nitrogen/safe_nitro_max
- H.apply_damage_type(ratio * 325 * nitro_breath_dam_multiplier, nitro_damage_type)
+ var/ratio = (breath.nitrogen / safe_nitro_max) * 10
+ H.apply_damage_type(clamp(ratio, nitro_breath_dam_min, nitro_breath_dam_max), nitro_damage_type)
H.throw_alert("too_much_nitro", /obj/screen/alert/too_much_nitro)
else
H.clear_alert("too_much_nitro")
@@ -174,9 +178,9 @@
H.co2overloadtime = world.time
else if(world.time - H.co2overloadtime > 120)
H.Paralyse(3)
- H.apply_damage_type(HUMAN_MAX_OXYLOSS * co2_breath_dam_multiplier, co2_damage_type) // Lets hurt em a little, let them know we mean business
+ H.apply_damage_type(HUMAN_MAX_OXYLOSS, co2_damage_type) // Lets hurt em a little, let them know we mean business
if(world.time - H.co2overloadtime > 300) // They've been in here 30s now, lets start to kill them for their own good!
- H.apply_damage_type(15 * co2_breath_dam_multiplier, co2_damage_type)
+ H.apply_damage_type(15, co2_damage_type)
H.throw_alert("too_much_co2", /obj/screen/alert/too_much_co2)
if(prob(20)) // Lets give them some chance to know somethings not right though I guess.
H.emote("cough")
@@ -206,8 +210,8 @@
//Too much toxins!
if(safe_toxins_max)
if(Toxins_pp > safe_toxins_max)
- var/ratio = breath.toxins/safe_toxins_max
- H.apply_damage_type(ratio * 325 * tox_breath_dam_multiplier, tox_damage_type)
+ var/ratio = (breath.toxins / safe_toxins_max) * 10
+ H.apply_damage_type(clamp(ratio, tox_breath_dam_min, tox_breath_dam_max), tox_damage_type)
H.throw_alert("too_much_tox", /obj/screen/alert/too_much_tox)
else
H.clear_alert("too_much_tox")
@@ -324,7 +328,6 @@
safe_oxygen_max = 0.05 //This is toxic to us
safe_nitro_min = 16 //We breathe THIS!
oxy_damage_type = TOX //And it poisons us
- oxy_breath_dam_multiplier = 0.16
/obj/item/organ/internal/lungs/drask
icon = 'icons/obj/species_organs/drask.dmi'
diff --git a/icons/mob/back.dmi b/icons/mob/back.dmi
index d3253d3e1fb..ec7e6827b19 100644
Binary files a/icons/mob/back.dmi and b/icons/mob/back.dmi differ
diff --git a/icons/mob/inhands/items_lefthand.dmi b/icons/mob/inhands/items_lefthand.dmi
index 94a7f849a41..c3dd016de8c 100644
Binary files a/icons/mob/inhands/items_lefthand.dmi and b/icons/mob/inhands/items_lefthand.dmi differ
diff --git a/icons/mob/inhands/items_righthand.dmi b/icons/mob/inhands/items_righthand.dmi
index cfd70ebef1f..0e85c1c84d1 100644
Binary files a/icons/mob/inhands/items_righthand.dmi and b/icons/mob/inhands/items_righthand.dmi differ
diff --git a/icons/obj/tank.dmi b/icons/obj/tank.dmi
index 7496d65027c..76e9fa7766c 100644
Binary files a/icons/obj/tank.dmi and b/icons/obj/tank.dmi differ