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