diff --git a/_maps/map_files/templates/shelter_1.dmm b/_maps/map_files/templates/shelter_1.dmm
index d3745951e23..19071ada955 100644
--- a/_maps/map_files/templates/shelter_1.dmm
+++ b/_maps/map_files/templates/shelter_1.dmm
@@ -1,7 +1,7 @@
"a" = (/turf/simulated/wall/survival,/area/survivalpod)
"b" = (/obj/structure/sign/mining/survival{tag = "icon-survival (NORTH)"; icon_state = "survival"; dir = 1},/turf/simulated/wall/survival,/area/survivalpod)
"c" = (/obj/structure/fans,/turf/simulated/floor/pod,/area/survivalpod)
-"d" = (/obj/machinery/smartfridge/survival_pod,/turf/simulated/floor/pod,/area/survivalpod)
+"d" = (/obj/machinery/smartfridge/survival_pod/loaded,/turf/simulated/floor/pod,/area/survivalpod)
"e" = (/obj/item/device/gps/computer,/turf/simulated/floor/pod,/area/survivalpod)
"f" = (/obj/structure/sign/mining/survival{dir = 8},/turf/simulated/wall/survival,/area/survivalpod)
"g" = (/obj/machinery/sleeper/survival_pod,/turf/simulated/floor/pod,/area/survivalpod)
diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm
index a0b3f147b46..60e650691e5 100644
--- a/code/game/machinery/Sleeper.dm
+++ b/code/game/machinery/Sleeper.dm
@@ -577,4 +577,17 @@
light_color = LIGHT_COLOR_DARKRED
+/obj/machinery/sleeper/syndie/New()
+ ..()
+ component_parts = list()
+ component_parts += new /obj/item/weapon/circuitboard/sleeper/syndicate(null)
+ var/obj/item/weapon/stock_parts/matter_bin/B = new(null)
+ B.rating = initial_bin_rating
+ component_parts += B
+ component_parts += new /obj/item/weapon/stock_parts/manipulator(null)
+ component_parts += new /obj/item/weapon/stock_parts/console_screen(null)
+ component_parts += new /obj/item/weapon/stock_parts/console_screen(null)
+ component_parts += new /obj/item/stack/cable_coil(null, 1)
+ RefreshParts()
+
#undef ADDICTION_SPEEDUP_TIME
\ No newline at end of file
diff --git a/code/game/machinery/constructable_frame.dm b/code/game/machinery/constructable_frame.dm
index 2defdbf4623..2c6740ffbb3 100644
--- a/code/game/machinery/constructable_frame.dm
+++ b/code/game/machinery/constructable_frame.dm
@@ -744,6 +744,15 @@ obj/item/weapon/circuitboard/rdserver
/obj/item/stack/cable_coil = 1,
/obj/item/weapon/stock_parts/console_screen = 2)
+/obj/item/weapon/circuitboard/sleeper/syndicate
+ name = "circuit board (Sleeper Syndicate)"
+ build_path = /obj/machinery/sleeper/syndie
+
+/obj/item/weapon/circuitboard/sleeper/survival
+ name = "circuit board (Sleeper Survival Pod)"
+ build_path = /obj/machinery/sleeper/survival_pod
+
+
/obj/item/weapon/circuitboard/bodyscanner
name = "circuit board (Body Scanner)"
build_path = /obj/machinery/bodyscanner
diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm
index 518304fda5f..b003d9ef1d6 100644
--- a/code/game/machinery/machinery.dm
+++ b/code/game/machinery/machinery.dm
@@ -386,6 +386,8 @@ Class Procs:
I.crit_fail = 1
I.forceMove(loc)
qdel(src)
+ return 1
+ return 0
/obj/machinery/proc/default_deconstruction_screwdriver(var/mob/user, var/icon_state_open, var/icon_state_closed, var/obj/item/weapon/screwdriver/S)
if(istype(S))
diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm
index a012afa74f9..d403b4aae4b 100644
--- a/code/modules/food_and_drinks/food/snacks.dm
+++ b/code/modules/food_and_drinks/food/snacks.dm
@@ -779,6 +779,17 @@
Post_Consume(mob/living/M)
M.reagents.add_reagent("omnizine", 15)
+/obj/item/weapon/reagent_containers/food/snacks/warmdonkpocket_weak
+ name = "Lightly Warm Donk-pocket"
+ desc = "The food of choice for the seasoned traitor. This one is lukewarm."
+ icon_state = "donkpocket"
+ filling_color = "#DEDEAB"
+
+/obj/item/weapon/reagent_containers/food/snacks/warmdonkpocket_weak/New()
+ ..()
+ reagents.add_reagent("nutriment", 4)
+ reagents.add_reagent("weak_omnizine", 3)
+
/obj/item/weapon/reagent_containers/food/snacks/syndidonkpocket
name = "Donk-pocket"
desc = "This donk-pocket is emitting a small amount of heat."
diff --git a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm
index 9a670e42d7a..c6f7e54a003 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm
@@ -49,6 +49,8 @@
/obj/machinery/smartfridge/Destroy()
qdel(wires)
wires = null
+ for(var/atom/movable/A in contents)
+ A.forceMove(loc)
return ..()
/obj/machinery/smartfridge/proc/accept_check(var/obj/item/O as obj)
@@ -207,7 +209,8 @@
power_change()
return
- default_deconstruction_crowbar(O)
+ if(default_deconstruction_crowbar(O))
+ return
if(istype(O, /obj/item/device/multitool)||istype(O, /obj/item/weapon/wirecutters))
if(panel_open)
diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm
index cf1c4745435..1b1e4755e9b 100644
--- a/code/modules/mining/mine_items.dm
+++ b/code/modules/mining/mine_items.dm
@@ -372,6 +372,19 @@
icon_state = "sleeper-open"
density = 0
+/obj/machinery/sleeper/survival_pod/New()
+ ..()
+ component_parts = list()
+ component_parts += new /obj/item/weapon/circuitboard/sleeper/survival(null)
+ var/obj/item/weapon/stock_parts/matter_bin/B = new(null)
+ B.rating = initial_bin_rating
+ component_parts += B
+ component_parts += new /obj/item/weapon/stock_parts/manipulator(null)
+ component_parts += new /obj/item/weapon/stock_parts/console_screen(null)
+ component_parts += new /obj/item/weapon/stock_parts/console_screen(null)
+ component_parts += new /obj/item/stack/cable_coil(null, 1)
+ RefreshParts()
+
//Computer
/obj/item/device/gps/computer
name = "pod computer"
@@ -411,15 +424,29 @@
max_n_of_items = 10
pixel_y = -4
+/obj/item/weapon/circuitboard/smartfridge/survival
+ name = "circuit board (Smartfridge Survival)"
+ build_path = /obj/machinery/smartfridge/survival_pod
+
+/obj/item/weapon/circuitboard/smartfridge/attackby(obj/item/I, mob/user, params)
+ return
+
/obj/machinery/smartfridge/survival_pod/accept_check(obj/item/O)
if(istype(O, /obj/item))
return 1
return 0
/obj/machinery/smartfridge/survival_pod/New()
+ ..()
+ component_parts = list()
+ component_parts += new /obj/item/weapon/circuitboard/smartfridge/survival(null)
+ component_parts += new /obj/item/weapon/stock_parts/matter_bin(null)
+ RefreshParts()
+
+/obj/machinery/smartfridge/survival_pod/loaded/New()
..()
for(var/i in 1 to 5)
- var/obj/item/weapon/reagent_containers/food/snacks/warmdonkpocket/W = new(src)
+ var/obj/item/weapon/reagent_containers/food/snacks/warmdonkpocket_weak/W = new(src)
load(W)
if(prob(50))
var/obj/item/weapon/storage/pill_bottle/dice/D = new(src)
@@ -494,4 +521,14 @@
name = "tubes"
anchored = 1
layer = MOB_LAYER - 0.2
- density = 0
\ No newline at end of file
+ density = 0
+
+/obj/structure/tubes/attackby(obj/item/weapon/W, mob/user, params)
+ if(istype(W, /obj/item/weapon/wrench))
+ playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
+ user.visible_message("[user] disassembles [src].", \
+ "You start to disassemble [src]...", "You hear clanking and banging noises.")
+ if(do_after(user, 20, target = src))
+ new /obj/item/stack/rods(loc)
+ qdel(src)
+ return ..()
\ No newline at end of file
diff --git a/code/modules/reagents/newchem/medicine.dm b/code/modules/reagents/newchem/medicine.dm
index e5e7af93b66..c9cb554b64f 100644
--- a/code/modules/reagents/newchem/medicine.dm
+++ b/code/modules/reagents/newchem/medicine.dm
@@ -1007,4 +1007,55 @@
M.adjustToxLoss(-5*REM)
M.adjustBrainLoss(-15*REM)
M.adjustCloneLoss(-3*REM)
- ..()
\ No newline at end of file
+ ..()
+
+
+/datum/reagent/omnizine_diluted
+ name = "Diluted Omnizine"
+ id = "weak_omnizine"
+ description = "Slowly heals all damage types. A far weaker substitute than actual omnizine."
+ reagent_state = LIQUID
+ color = "#DCDCDC"
+ overdose_threshold = 30
+ metabolization_rate = 0.1
+
+/datum/reagent/omnizine_diluted/on_mob_life(mob/living/M)
+ M.adjustToxLoss(-0.5*REM)
+ M.adjustOxyLoss(-0.5*REM)
+ M.adjustBruteLoss(-0.5*REM)
+ M.adjustFireLoss(-0.5*REM)
+ ..()
+
+/datum/reagent/omnizine_diluted/overdose_process(mob/living/M, severity)
+ var/effect = ..()
+ if(severity == 1) //lesser
+ M.stuttering += 1
+ if(effect <= 1)
+ M.visible_message("[M] suddenly cluches their gut!")
+ M.emote("scream")
+ M.Stun(4)
+ M.Weaken(4)
+ else if(effect <= 3)
+ M.visible_message("[M] completely spaces out for a moment.")
+ M.confused += 15
+ else if(effect <= 5)
+ M.visible_message("[M] stumbles and staggers.")
+ M.Dizzy(5)
+ M.Weaken(3)
+ else if(effect <= 7)
+ M.visible_message("[M] shakes uncontrollably.")
+ M.Jitter(30)
+ else if(severity == 2) // greater
+ if(effect <= 2)
+ M.visible_message("[M] suddenly cluches their gut!")
+ M.emote("scream")
+ M.Stun(7)
+ M.Weaken(7)
+ else if(effect <= 5)
+ M.visible_message("[M] jerks bolt upright, then collapses!")
+ M.Paralyse(5)
+ M.Weaken(4)
+ else if(effect <= 8)
+ M.visible_message("[M] stumbles and staggers.")
+ M.Dizzy(5)
+ M.Weaken(3)
\ No newline at end of file
diff --git a/icons/obj/lavaland/survival_pod.dmi b/icons/obj/lavaland/survival_pod.dmi
index 3895ac4d10e..fae242d524f 100644
Binary files a/icons/obj/lavaland/survival_pod.dmi and b/icons/obj/lavaland/survival_pod.dmi differ