diff --git a/code/game/objects/buckling.dm b/code/game/objects/buckling.dm
index 70558da2ec..b191c69818 100644
--- a/code/game/objects/buckling.dm
+++ b/code/game/objects/buckling.dm
@@ -142,22 +142,29 @@
. = buckle_mob(M, forced)
if(.)
- var/reveal_message
+ var/reveal_message = list("buckled_mob" = null, "buckled_to" = null) //VORE EDIT: This being a list and messages existing for the buckle target atom.
if(!silent)
if(M == user)
- reveal_message = "You come out of hiding and buckle yourself to [src]."
+ reveal_message["buckled_mob"] = "You come out of hiding and buckle yourself to [src]." //VORE EDIT
+ reveal_message["buckled_to"] = "You come out of hiding as [M.name] buckles themselves to you." //VORE EDIT
M.visible_message(\
"[M.name] buckles themselves to [src].",\
"You buckle yourself to [src].",\
"You hear metal clanking.")
else
- reveal_message = "You are revealed as you are buckled to [src]."
+ reveal_message["buckled_mob"] = "You are revealed as you are buckled to [src]." //VORE EDIT
+ reveal_message["buckled_to"] = "You are revealed as [M.name] is buckled to you." //VORE EDIT
M.visible_message(\
"[M.name] is buckled to [src] by [user.name]!",\
"You are buckled to [src] by [user.name]!",\
"You hear metal clanking.")
- M.reveal(silent, reveal_message) //Reveal people so they aren't buckled to chairs from behind.
+ M.reveal(silent, reveal_message["buckled_mob"]) //Reveal people so they aren't buckled to chairs from behind. //VORE EDIT, list arg instead of simple message var for buckled mob
+ //Vore edit start
+ var/mob/living/L = src
+ if(istype(L))
+ L.reveal(silent, reveal_message["buckled_to"])
+ //Vore edit end
/atom/movable/proc/user_unbuckle_mob(mob/living/buckled_mob, mob/user)
var/mob/living/M = unbuckle_mob(buckled_mob)
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 1e9fdbc329..718a6ff2b2 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -1555,8 +1555,8 @@
/mob/living/carbon/human/proc/update_icon_special() //For things such as teshari hiding and whatnot.
if(status_flags & HIDING) // Hiding? Carry on.
- if(stat == DEAD || paralysis || weakened || stunned || restrained() || buckled || LAZYLEN(grabbed_by)) //stunned/knocked down by something that isn't the rest verb? Note: This was tried with INCAPACITATION_STUNNED, but that refused to work.
- reveal(TRUE) //Reveal them silently.
+ if(stat == DEAD || paralysis || weakened || stunned || restrained() || buckled || LAZYLEN(grabbed_by) || has_buckled_mobs()) //stunned/knocked down by something that isn't the rest verb? Note: This was tried with INCAPACITATION_STUNNED, but that refused to work. //VORE EDIT: Check for has_buckled_mobs() (taur riding)
+ reveal(null)
else
layer = HIDING_LAYER
diff --git a/code/modules/mob/living/living_powers.dm b/code/modules/mob/living/living_powers.dm
index 6cd5ebb1f5..787dd31361 100644
--- a/code/modules/mob/living/living_powers.dm
+++ b/code/modules/mob/living/living_powers.dm
@@ -10,7 +10,7 @@
set desc = "Allows to hide beneath tables or certain items. Toggled on or off."
set category = "Abilities"
- if(stat == DEAD || paralysis || weakened || stunned || restrained() || buckled || LAZYLEN(grabbed_by))
+ if(stat == DEAD || paralysis || weakened || stunned || restrained() || buckled || LAZYLEN(grabbed_by) || has_buckled_mobs()) //VORE EDIT: Check for has_buckled_mobs() (taur riding)
return
if(status_flags & HIDING)
diff --git a/code/modules/vore/appearance/sprite_accessories_taur_vr.dm b/code/modules/vore/appearance/sprite_accessories_taur_vr.dm
index eec5c192b7..232a6a54d8 100644
--- a/code/modules/vore/appearance/sprite_accessories_taur_vr.dm
+++ b/code/modules/vore/appearance/sprite_accessories_taur_vr.dm
@@ -11,7 +11,9 @@
else
ridden.layer = initial(ridden.layer)
else
- ridden.layer = initial(ridden.layer)
+ var/mob/living/L = ridden
+ if(!(istype(L) && (L.status_flags & HIDING)))
+ ridden.layer = initial(ridden.layer)
/datum/riding/taur/ride_check(mob/living/M)
var/mob/living/L = ridden