diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm
index f727326b3f1..0855fd73491 100644
--- a/code/game/objects/items/weapons/storage/belt.dm
+++ b/code/game/objects/items/weapons/storage/belt.dm
@@ -248,6 +248,37 @@
new /obj/item/weapon/grenade/chem_grenade/cleaner(src)
new /obj/item/weapon/grenade/chem_grenade/cleaner(src)
+/obj/item/weapon/storage/belt/lazarus
+ name = "trainer's belt"
+ desc = "For the pokemo- mining master, holds your lazarus capsules."
+ icon_state = "lazarusbelt"
+ item_state = "lazbelt"
+ w_class = 4
+ max_w_class = 4
+ max_combined_w_class = 28
+ storage_slots = 6
+ can_hold = list("/obj/item/device/mobcapsule")
+
+/obj/item/weapon/storage/belt/lazarus/New()
+ ..()
+ update_icon()
+
+
+/obj/item/weapon/storage/belt/lazarus/update_icon()
+ ..()
+ icon_state = "[initial(icon_state)]_[contents.len]"
+
+/obj/item/weapon/storage/belt/lazarus/attackby(obj/item/W, mob/user)
+ var/amount = contents.len
+ . = ..()
+ if(amount != contents.len)
+ update_icon()
+
+/obj/item/weapon/storage/belt/lazarus/remove_from_storage(obj/item/W as obj, atom/new_location)
+ ..()
+ update_icon()
+
+
/obj/item/weapon/storage/belt/bandolier
name = "bandolier"
desc = "A bandolier for holding shotgun ammunition."
diff --git a/code/modules/mining/equipment_locker.dm b/code/modules/mining/equipment_locker.dm
index 1de1b266a47..d721310c140 100644
--- a/code/modules/mining/equipment_locker.dm
+++ b/code/modules/mining/equipment_locker.dm
@@ -332,6 +332,8 @@
new /datum/data/mining_equipment("Resonator", /obj/item/weapon/resonator, 800),
new /datum/data/mining_equipment("Lazarus Injector", /obj/item/weapon/lazarus_injector, 1000),
new /datum/data/mining_equipment("Silver Pickaxe", /obj/item/weapon/pickaxe/silver, 1000),
+ new /datum/data/mining_equipment("Lazarus Capsule", /obj/item/device/mobcapsule, 800),
+ new /datum/data/mining_equipment("Lazarus Capsule belt",/obj/item/weapon/storage/belt/lazarus, 200),
new /datum/data/mining_equipment("Jetpack", /obj/item/weapon/tank/jetpack/carbondioxide/mining, 2000),
new /datum/data/mining_equipment("Space Cash", /obj/item/weapon/spacecash/c1000, 2000),
new /datum/data/mining_equipment("Diamond Pickaxe", /obj/item/weapon/pickaxe/diamond, 2000),
diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm
index 9c52dc7751f..d44b7d5a0da 100644
--- a/code/modules/mining/mine_items.dm
+++ b/code/modules/mining/mine_items.dm
@@ -192,3 +192,56 @@
icon_opened = "miningcaropen"
icon_closed = "miningcar"
+/*********************Mob Capsule*************************/
+
+/obj/item/device/mobcapsule
+ name = "lazarus capsule"
+ desc = "It allows you to store and deploy lazarus-injected creatures easier."
+ icon = 'icons/obj/mobcap.dmi'
+ icon_state = "mobcap0"
+ w_class = 1.0
+ throw_range = 20
+ var/mob/living/captured = null
+ var/colorindex = 0
+
+/obj/item/device/mobcapsule/attack(var/atom/A, mob/user, prox_flag)
+ if(!istype(A, /mob/living/simple_animal))
+ return ..()
+ capture(A, user)
+ return 1
+
+/obj/item/device/mobcapsule/proc/capture(var/mob/target, var/mob/U as mob)
+ var/mob/living/simple_animal/T = target
+ if(captured)
+ U << "Capture failed!: The capsule already has a mob registered to it!"
+ return
+ else
+ if(istype(T) && "neutral" in T.faction)
+ T.forceMove(src)
+ T.name = "[U.name]'s [initial(T.name)]"
+ T.cancel_camera()
+ name = "Lazarus Capsule: [initial(T.name)]"
+ U << "You placed a [T.name] inside the Lazarus Capsule!"
+ captured = T
+ else
+ U << "You can't capture that mob!"
+
+/obj/item/device/mobcapsule/throw_impact(atom/A, mob/user)
+ ..()
+ if(captured)
+ dump_contents(user)
+
+/obj/item/device/mobcapsule/proc/dump_contents(mob/user)
+ if(captured)
+ captured.loc = src.loc
+ if(captured.client)
+ captured.client.eye = captured.client.mob
+ captured.client.perspective = MOB_PERSPECTIVE
+ captured = null
+
+/obj/item/device/mobcapsule/attack_self(mob/user)
+ colorindex += 1
+ if(colorindex >= 6)
+ colorindex = 0
+ icon_state = "mobcap[colorindex]"
+ update_icon()
\ No newline at end of file
diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm
index 61a94e883c3..0738bb17e6a 100644
--- a/code/modules/mob/living/simple_animal/simple_animal.dm
+++ b/code/modules/mob/living/simple_animal/simple_animal.dm
@@ -414,7 +414,7 @@
else if(meat_type && (stat == DEAD)) //if the animal has a meat, and if it is dead.
if(istype(O, /obj/item/weapon/kitchen/knife))
harvest()
- else
+ else if(istype(O) && istype(user) && !O.attack(src, user))
user.changeNext_move(CLICK_CD_MELEE)
user.do_attack_animation(src)
var/damage = 0
diff --git a/icons/mob/belt.dmi b/icons/mob/belt.dmi
index 38b7f17c679..70aa813cbb8 100644
Binary files a/icons/mob/belt.dmi and b/icons/mob/belt.dmi differ
diff --git a/icons/obj/clothing/belts.dmi b/icons/obj/clothing/belts.dmi
index 85d9cffdbfc..7427f32fd3e 100644
Binary files a/icons/obj/clothing/belts.dmi and b/icons/obj/clothing/belts.dmi differ
diff --git a/icons/obj/mobcap.dmi b/icons/obj/mobcap.dmi
new file mode 100644
index 00000000000..829593a2849
Binary files /dev/null and b/icons/obj/mobcap.dmi differ