diff --git a/code/game/objects/items/weapons/traps_vr.dm b/code/game/objects/items/weapons/traps_vr.dm
new file mode 100644
index 0000000000..f1338f691d
--- /dev/null
+++ b/code/game/objects/items/weapons/traps_vr.dm
@@ -0,0 +1,18 @@
+/obj/item/weapon/beartrap
+ slot_flags = SLOT_MASK
+ item_icons = list(
+ slot_wear_mask_str = 'icons/mob/mask_vr.dmi'
+ )
+
+/obj/item/weapon/beartrap/equipped()
+ if(ishuman(src.loc))
+ var/mob/living/carbon/human/H = src.loc
+ if(H.wear_mask == src)
+ H.verbs |= /mob/living/proc/shred_limb_temp
+ else
+ H.verbs -= /mob/living/proc/shred_limb_temp
+ ..()
+
+/obj/item/weapon/beartrap/dropped(var/mob/user)
+ user.verbs -= /mob/living/proc/shred_limb_temp
+ ..()
\ No newline at end of file
diff --git a/code/modules/mob/living/carbon/human/species/station/station_special_abilities_vr.dm b/code/modules/mob/living/carbon/human/species/station/station_special_abilities_vr.dm
index 493823422c..4419f887c9 100644
--- a/code/modules/mob/living/carbon/human/species/station/station_special_abilities_vr.dm
+++ b/code/modules/mob/living/carbon/human/species/station/station_special_abilities_vr.dm
@@ -664,7 +664,7 @@
var/list/choices = list()
for(var/mob/living/carbon/human/M in oviewers(1))
choices += M
-
+
if(!choices.len)
to_chat(src,"There's nobody nearby to use this on.")
@@ -712,7 +712,7 @@
if(can_shred(T) != T)
to_chat(src,"Looks like you lost your chance...")
return
-
+
//Removing an internal organ
if(T_int && T_int.damage >= 25) //Internal organ and it's been severely damaged
T.apply_damage(15, BRUTE, T_ext) //Damage the external organ they're going through.
@@ -727,7 +727,7 @@
//Removing an external organ
else if(!T_int && (T_ext.damage >= 25 || T_ext.brute_dam >= 25))
T_ext.droplimb(1,DROPLIMB_EDGE) //Clean cut so it doesn't kill the prey completely.
-
+
//Is it groin/chest? You can't remove those.
if(T_ext.cannot_amputate)
T.apply_damage(25, BRUTE, T_ext)
@@ -740,14 +740,20 @@
visible_message("[src] tears off [T]'s [T_ext.name]!","You tear off [T]'s [T_ext.name]!")
//Not targeting an internal organ w/ > 25 damage , and the limb doesn't have < 25 damage.
- else
+ else
if(T_int)
T_int.damage = 25 //Internal organs can only take damage, not brute damage.
T.apply_damage(25, BRUTE, T_ext)
visible_message("[src] severely damages [T]'s [T_ext.name]!")
-
+
add_attack_logs(src,T,"Shredded (hardvore)")
+/mob/living/proc/shred_limb_temp()
+ set name = "Damage/Remove Prey's Organ (beartrap)"
+ set desc = "Severely damages prey's organ. If the limb is already severely damaged, it will be torn off."
+ set category = "Abilities"
+ shred_limb()
+
/mob/living/proc/flying_toggle()
set name = "Toggle Flight"
set desc = "While flying over open spaces, you will use up some nutrition. If you run out nutrition, you will fall. Additionally, you can't fly if you are too heavy."
diff --git a/icons/mob/mask_vr.dmi b/icons/mob/mask_vr.dmi
index 3315852358..0d3c0479b2 100644
Binary files a/icons/mob/mask_vr.dmi and b/icons/mob/mask_vr.dmi differ
diff --git a/vorestation.dme b/vorestation.dme
index 36fc575903..f06bef7f30 100644
--- a/vorestation.dme
+++ b/vorestation.dme
@@ -1042,6 +1042,7 @@
#include "code\game\objects\items\weapons\tools.dm"
#include "code\game\objects\items\weapons\towels.dm"
#include "code\game\objects\items\weapons\traps.dm"
+#include "code\game\objects\items\weapons\traps_vr.dm"
#include "code\game\objects\items\weapons\trays.dm"
#include "code\game\objects\items\weapons\weaponry.dm"
#include "code\game\objects\items\weapons\weldbackpack.dm"