diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm
index b84db2ca8d..90166dacf0 100644
--- a/code/game/machinery/suit_storage_unit.dm
+++ b/code/game/machinery/suit_storage_unit.dm
@@ -51,6 +51,7 @@
/obj/machinery/suit_storage_unit/security
suit_type = /obj/item/clothing/suit/space/hardsuit/security
mask_type = /obj/item/clothing/mask/gas/sechailer
+ storage_type = /obj/item/tank/jetpack/oxygen/security
/obj/machinery/suit_storage_unit/hos
suit_type = /obj/item/clothing/suit/space/hardsuit/security/hos
diff --git a/code/game/objects/items/tanks/jetpack.dm b/code/game/objects/items/tanks/jetpack.dm
index 2e8074f656..0b520d9dc1 100644
--- a/code/game/objects/items/tanks/jetpack.dm
+++ b/code/game/objects/items/tanks/jetpack.dm
@@ -1,237 +1,239 @@
-/obj/item/tank/jetpack
- name = "jetpack (empty)"
- desc = "A tank of compressed gas for use as propulsion in zero-gravity areas. Use with caution."
- icon_state = "jetpack"
- item_state = "jetpack"
- lefthand_file = 'icons/mob/inhands/equipment/jetpacks_lefthand.dmi'
- righthand_file = 'icons/mob/inhands/equipment/jetpacks_righthand.dmi'
- w_class = WEIGHT_CLASS_BULKY
- 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 = /datum/gas/oxygen
- var/on = FALSE
- var/stabilizers = FALSE
- var/full_speed = TRUE // If the jetpack will have a speedboost in space/nograv or not
- var/datum/effect_system/trail_follow/ion/ion_trail
-
-/obj/item/tank/jetpack/New()
- ..()
- if(gas_type)
- air_contents.gases[gas_type] = (6 * ONE_ATMOSPHERE) * volume / (R_IDEAL_GAS_EQUATION * T20C)
-
- ion_trail = new
- ion_trail.set_up(src)
-
-/obj/item/tank/jetpack/ui_action_click(mob/user, action)
- if(istype(action, /datum/action/item_action/toggle_jetpack))
- cycle(user)
- else if(istype(action, /datum/action/item_action/jetpack_stabilization))
- if(on)
- stabilizers = !stabilizers
- to_chat(user, "You turn the jetpack stabilization [stabilizers ? "on" : "off"].")
- else
- toggle_internals(user)
-
-/obj/item/tank/jetpack/proc/cycle(mob/user)
- if(user.incapacitated())
- return
-
- if(!on)
- turn_on()
- to_chat(user, "You turn the jetpack on.")
- else
- turn_off()
- to_chat(user, "You turn the jetpack off.")
- for(var/X in actions)
- var/datum/action/A = X
- A.UpdateButtonIcon()
-
-/obj/item/tank/jetpack/proc/turn_on()
- on = TRUE
- icon_state = "[initial(icon_state)]-on"
- ion_trail.start()
-
-/obj/item/tank/jetpack/proc/turn_off()
- on = FALSE
- stabilizers = FALSE
- icon_state = initial(icon_state)
- ion_trail.stop()
-
-/obj/item/tank/jetpack/proc/allow_thrust(num, mob/living/user)
- if(!on)
- return
- if((num < 0.005 || air_contents.total_moles() < num))
- turn_off()
- return
-
- var/datum/gas_mixture/removed = air_contents.remove(num)
- if(removed.total_moles() < 0.005)
- turn_off()
- return
-
- var/turf/T = get_turf(user)
- T.assume_air(removed)
-
- return 1
-
-/obj/item/tank/jetpack/suicide_act(mob/user)
- if (istype(user, /mob/living/carbon/human/))
- var/mob/living/carbon/human/H = user
- H.forcesay("WHAT THE FUCK IS CARBON DIOXIDE?")
- H.visible_message("[user] is suffocating [user.p_them()]self with [src]! It looks like [user.p_they()] didn't read what that jetpack says!")
- return (OXYLOSS)
- else
- ..()
-
-/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-sec"
- volume = 30 //normal jetpacks have 70 volume
- gas_type = null //it starts empty
- full_speed = FALSE //moves at hardsuit jetpack speeds
-
-/obj/item/tank/jetpack/improvised/allow_thrust(num, mob/living/user)
- if(!on)
- return
- if((num < 0.005 || air_contents.total_moles() < num))
- turn_off()
- return
- if(rand(0,250) == 0)
- to_chat(user, "You feel your jetpack's engines cut out.")
- turn_off()
- return
-
- var/datum/gas_mixture/removed = air_contents.remove(num)
- if(removed.total_moles() < 0.005)
- turn_off()
- return
-
- var/turf/T = get_turf(user)
- T.assume_air(removed)
-
- return 1
-
-/obj/item/tank/jetpack/void
- name = "void jetpack (oxygen)"
- desc = "It works well in a void."
- volume = 60
- icon_state = "jetpack-void"
- item_state = "jetpack-void"
- full_speed = FALSE //Old pre-hardsuit tech
-
-/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/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 = 50
- throw_range = 7
- w_class = WEIGHT_CLASS_NORMAL
-
-/obj/item/tank/jetpack/oxygen/captain
- name = "\improper Captain's jetpack"
- desc = "A compact, lightweight jetpack containing a high amount of compressed oxygen."
- icon_state = "jetpack-captain"
- item_state = "jetpack-captain"
- w_class = WEIGHT_CLASS_NORMAL
- volume = 90
- resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF //steal objective items are hard to destroy.
-
-/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)"
- desc = "A tank of compressed carbon dioxide for use as propulsion in zero-gravity areas. Painted black to indicate that it should not be used as a source for internals."
- icon_state = "jetpack-black"
- item_state = "jetpack-black"
- distribute_pressure = 0
- gas_type = /datum/gas/carbon_dioxide
-
-/obj/item/tank/jetpack/suit
- name = "hardsuit jetpack upgrade"
- desc = "A modular, compact set of thrusters designed to integrate with a hardsuit. It is fueled by a tank inserted into the suit's storage compartment."
- icon_state = "jetpack-mining"
- item_state = "jetpack-black"
- w_class = WEIGHT_CLASS_NORMAL
- actions_types = list(/datum/action/item_action/toggle_jetpack, /datum/action/item_action/jetpack_stabilization)
- volume = 1
- slot_flags = null
- gas_type = null
- full_speed = FALSE
- var/datum/gas_mixture/temp_air_contents
- var/obj/item/tank/internals/tank = null
-
-/obj/item/tank/jetpack/suit/New()
- ..()
- STOP_PROCESSING(SSobj, src)
- temp_air_contents = air_contents
-
-/obj/item/tank/jetpack/suit/attack_self()
- return
-
-/obj/item/tank/jetpack/suit/cycle(mob/user)
- if(!istype(loc, /obj/item/clothing/suit/space/hardsuit))
- to_chat(user, "\The [src] must be connected to a hardsuit!")
- return
-
- var/mob/living/carbon/human/H = user
- if(!istype(H.s_store, /obj/item/tank/internals))
- to_chat(user, "You need a tank in your suit storage!")
- return
- ..()
-
-/obj/item/tank/jetpack/suit/turn_on()
- if(!istype(loc, /obj/item/clothing/suit/space/hardsuit) || !ishuman(loc.loc))
- return
- var/mob/living/carbon/human/H = loc.loc
- tank = H.s_store
- air_contents = tank.air_contents
- START_PROCESSING(SSobj, src)
- ..()
-
-/obj/item/tank/jetpack/suit/turn_off()
- tank = null
- air_contents = temp_air_contents
- STOP_PROCESSING(SSobj, src)
- ..()
-
-/obj/item/tank/jetpack/suit/process()
- if(!istype(loc, /obj/item/clothing/suit/space/hardsuit) || !ishuman(loc.loc))
- turn_off()
- return
- var/mob/living/carbon/human/H = loc.loc
- if(!tank || tank != H.s_store)
- turn_off()
- return
- ..()
-
-//Return a jetpack that the mob can use
-//Back worn jetpacks, hardsuit internal packs, and so on.
-//Used in Process_Spacemove() and wherever you want to check for/get a jetpack
-
-/mob/proc/get_jetpack()
- return
-
-/mob/living/carbon/get_jetpack()
- var/obj/item/tank/jetpack/J = back
- if(istype(J))
- return J
-
-/mob/living/carbon/human/get_jetpack()
- var/obj/item/tank/jetpack/J = ..()
- if(!istype(J) && istype(wear_suit, /obj/item/clothing/suit/space/hardsuit))
- var/obj/item/clothing/suit/space/hardsuit/C = wear_suit
- J = C.jetpack
- return J
+/obj/item/tank/jetpack
+ name = "jetpack (empty)"
+ desc = "A tank of compressed gas for use as propulsion in zero-gravity areas. Use with caution."
+ icon_state = "jetpack"
+ item_state = "jetpack"
+ lefthand_file = 'icons/mob/inhands/equipment/jetpacks_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/jetpacks_righthand.dmi'
+ w_class = WEIGHT_CLASS_BULKY
+ 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 = /datum/gas/oxygen
+ var/on = FALSE
+ var/stabilizers = FALSE
+ var/full_speed = TRUE // If the jetpack will have a speedboost in space/nograv or not
+ var/datum/effect_system/trail_follow/ion/ion_trail
+
+/obj/item/tank/jetpack/New()
+ ..()
+ if(gas_type)
+ air_contents.gases[gas_type] = (6 * ONE_ATMOSPHERE) * volume / (R_IDEAL_GAS_EQUATION * T20C)
+
+ ion_trail = new
+ ion_trail.set_up(src)
+
+/obj/item/tank/jetpack/ui_action_click(mob/user, action)
+ if(istype(action, /datum/action/item_action/toggle_jetpack))
+ cycle(user)
+ else if(istype(action, /datum/action/item_action/jetpack_stabilization))
+ if(on)
+ stabilizers = !stabilizers
+ to_chat(user, "You turn the jetpack stabilization [stabilizers ? "on" : "off"].")
+ else
+ toggle_internals(user)
+
+/obj/item/tank/jetpack/proc/cycle(mob/user)
+ if(user.incapacitated())
+ return
+
+ if(!on)
+ turn_on()
+ to_chat(user, "You turn the jetpack on.")
+ else
+ turn_off()
+ to_chat(user, "You turn the jetpack off.")
+ for(var/X in actions)
+ var/datum/action/A = X
+ A.UpdateButtonIcon()
+
+/obj/item/tank/jetpack/proc/turn_on()
+ on = TRUE
+ icon_state = "[initial(icon_state)]-on"
+ ion_trail.start()
+
+/obj/item/tank/jetpack/proc/turn_off()
+ on = FALSE
+ stabilizers = FALSE
+ icon_state = initial(icon_state)
+ ion_trail.stop()
+
+/obj/item/tank/jetpack/proc/allow_thrust(num, mob/living/user)
+ if(!on)
+ return
+ if((num < 0.005 || air_contents.total_moles() < num))
+ turn_off()
+ return
+
+ var/datum/gas_mixture/removed = air_contents.remove(num)
+ if(removed.total_moles() < 0.005)
+ turn_off()
+ return
+
+ var/turf/T = get_turf(user)
+ T.assume_air(removed)
+
+ return 1
+
+/obj/item/tank/jetpack/suicide_act(mob/user)
+ if (istype(user, /mob/living/carbon/human/))
+ var/mob/living/carbon/human/H = user
+ H.forcesay("WHAT THE FUCK IS CARBON DIOXIDE?")
+ H.visible_message("[user] is suffocating [user.p_them()]self with [src]! It looks like [user.p_they()] didn't read what that jetpack says!")
+ return (OXYLOSS)
+ else
+ ..()
+
+/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-sec"
+ volume = 30 //normal jetpacks have 70 volume
+ gas_type = null //it starts empty
+ full_speed = FALSE //moves at hardsuit jetpack speeds
+
+/obj/item/tank/jetpack/improvised/allow_thrust(num, mob/living/user)
+ if(!on)
+ return
+ if((num < 0.005 || air_contents.total_moles() < num))
+ turn_off()
+ return
+ if(rand(0,250) == 0)
+ to_chat(user, "You feel your jetpack's engines cut out.")
+ turn_off()
+ return
+
+ var/datum/gas_mixture/removed = air_contents.remove(num)
+ if(removed.total_moles() < 0.005)
+ turn_off()
+ return
+
+ var/turf/T = get_turf(user)
+ T.assume_air(removed)
+
+ return 1
+
+/obj/item/tank/jetpack/void
+ name = "void jetpack (oxygen)"
+ desc = "It works well in a void."
+ volume = 60
+ icon_state = "jetpack-void"
+ item_state = "jetpack-void"
+ full_speed = FALSE //Old pre-hardsuit tech
+
+/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/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 = 50
+ throw_range = 7
+ w_class = WEIGHT_CLASS_NORMAL
+
+/obj/item/tank/jetpack/oxygen/captain
+ name = "\improper Captain's jetpack"
+ desc = "A compact, lightweight jetpack containing a high amount of compressed oxygen."
+ icon_state = "jetpack-captain"
+ item_state = "jetpack-captain"
+ w_class = WEIGHT_CLASS_NORMAL
+ volume = 90
+ resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF //steal objective items are hard to destroy.
+
+/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"
+ full_speed = FALSE
+
+/obj/item/tank/jetpack/carbondioxide
+ name = "jetpack (carbon dioxide)"
+ desc = "A tank of compressed carbon dioxide for use as propulsion in zero-gravity areas. Painted black to indicate that it should not be used as a source for internals."
+ icon_state = "jetpack-black"
+ item_state = "jetpack-black"
+ distribute_pressure = 0
+ gas_type = /datum/gas/carbon_dioxide
+
+/obj/item/tank/jetpack/suit
+ name = "hardsuit jetpack upgrade"
+ desc = "A modular, compact set of thrusters designed to integrate with a hardsuit. It is fueled by a tank inserted into the suit's storage compartment."
+ icon_state = "jetpack-mining"
+ item_state = "jetpack-black"
+ w_class = WEIGHT_CLASS_NORMAL
+ actions_types = list(/datum/action/item_action/toggle_jetpack, /datum/action/item_action/jetpack_stabilization)
+ volume = 1
+ slot_flags = null
+ gas_type = null
+ full_speed = FALSE
+ var/datum/gas_mixture/temp_air_contents
+ var/obj/item/tank/internals/tank = null
+
+/obj/item/tank/jetpack/suit/New()
+ ..()
+ STOP_PROCESSING(SSobj, src)
+ temp_air_contents = air_contents
+
+/obj/item/tank/jetpack/suit/attack_self()
+ return
+
+/obj/item/tank/jetpack/suit/cycle(mob/user)
+ if(!istype(loc, /obj/item/clothing/suit/space/hardsuit))
+ to_chat(user, "\The [src] must be connected to a hardsuit!")
+ return
+
+ var/mob/living/carbon/human/H = user
+ if(!istype(H.s_store, /obj/item/tank/internals))
+ to_chat(user, "You need a tank in your suit storage!")
+ return
+ ..()
+
+/obj/item/tank/jetpack/suit/turn_on()
+ if(!istype(loc, /obj/item/clothing/suit/space/hardsuit) || !ishuman(loc.loc))
+ return
+ var/mob/living/carbon/human/H = loc.loc
+ tank = H.s_store
+ air_contents = tank.air_contents
+ START_PROCESSING(SSobj, src)
+ ..()
+
+/obj/item/tank/jetpack/suit/turn_off()
+ tank = null
+ air_contents = temp_air_contents
+ STOP_PROCESSING(SSobj, src)
+ ..()
+
+/obj/item/tank/jetpack/suit/process()
+ if(!istype(loc, /obj/item/clothing/suit/space/hardsuit) || !ishuman(loc.loc))
+ turn_off()
+ return
+ var/mob/living/carbon/human/H = loc.loc
+ if(!tank || tank != H.s_store)
+ turn_off()
+ return
+ ..()
+
+//Return a jetpack that the mob can use
+//Back worn jetpacks, hardsuit internal packs, and so on.
+//Used in Process_Spacemove() and wherever you want to check for/get a jetpack
+
+/mob/proc/get_jetpack()
+ return
+
+/mob/living/carbon/get_jetpack()
+ var/obj/item/tank/jetpack/J = back
+ if(istype(J))
+ return J
+
+/mob/living/carbon/human/get_jetpack()
+ var/obj/item/tank/jetpack/J = ..()
+ if(!istype(J) && istype(wear_suit, /obj/item/clothing/suit/space/hardsuit))
+ var/obj/item/clothing/suit/space/hardsuit/C = wear_suit
+ J = C.jetpack
+ return J
+