diff --git a/code/modules/projectiles/guns/energy/bsharpoon_vr.dm b/code/modules/projectiles/guns/energy/bsharpoon_vr.dm
index a8927dfc2c..956fa3d357 100644
--- a/code/modules/projectiles/guns/energy/bsharpoon_vr.dm
+++ b/code/modules/projectiles/guns/energy/bsharpoon_vr.dm
@@ -129,6 +129,7 @@
user.forceMove(pick(trange(24,user)))
else
user.forceMove(ToTurf)
+ var/vore_happened = FALSE
if(can_dropnom && living_user.can_be_drop_pred)
var/obj/belly/belly_dest
if(living_user.vore_selected)
@@ -139,9 +140,10 @@
for(var/mob/living/prey in ToTurf)
if(prey.can_be_drop_prey)
prey.forceMove(belly_dest)
+ vore_happened = TRUE
to_chat(prey, "[living_user] materializes around you, as you end up in their [belly_dest]!")
to_chat(living_user, "You materialize around [prey] as they end up in your [belly_dest]!")
- else if(can_dropnom && living_user.can_be_drop_prey)
+ if(can_dropnom && !vore_happened && living_user.can_be_drop_prey)
var/mob/living/pred
for(var/mob/living/potential_pred in ToTurf)
if(potential_pred.can_be_drop_pred)
@@ -155,7 +157,7 @@
if(belly_dest)
living_user.forceMove(belly_dest)
to_chat(pred, "[living_user] materializes inside you as they end up in your [belly_dest]!")
- to_chat(living_user, "You materialize inside [pred] as you end up in your [belly_dest]!")
+ to_chat(living_user, "You materialize inside [pred] as you end up in their [belly_dest]!")
else
for(var/obj/O in FromTurf)
@@ -181,7 +183,7 @@
if(belly_dest)
M.forceMove(belly_dest)
to_chat(living_user, "[M] materializes inside you as they end up in your [belly_dest]!")
- to_chat(M, "You materialize inside [living_user] as you end up in your [belly_dest]!")
+ to_chat(M, "You materialize inside [living_user] as you end up in their [belly_dest]!")
else if(can_dropnom && living_user.can_be_drop_prey && M.can_be_drop_pred && !user_vored)
var/obj/belly/belly_dest
if(M.vore_selected)