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 994f0fd9d1..3eaf982026 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 @@ -650,7 +650,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.") @@ -698,7 +698,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. @@ -713,7 +713,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) @@ -726,12 +726,12 @@ 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/flying_toggle() @@ -901,36 +901,4 @@ mob/living/carbon/proc/charmed() //TODO if(prob(7)) M.show_message("You lose sensation of your body.") M.Weaken(20) - return - -/mob/living/carbon/human/proc/face_sit() - set name = "Face Sit" - set desc = "Sit on your Prey's Face" - set category = "Abilities" - - if(last_special > world.time) - return - - if(!ishuman(src)) - return //If you're not a human you don't have permission to do this. - - var/mob/living/carbon/human/C = src - - var/obj/item/weapon/grab/G = src.get_active_hand() - - if(!istype(G)) - to_chat(C, "You must be grabbing a creature in your active hand to sit on them.") - return - - var/mob/living/carbon/human/T = G.affecting - - if(!istype(T) || T.isSynthetic()) - to_chat(src, "\The [T] is not able to be sit on.") - return - - if(G.state != GRAB_AGGRESSIVE) - to_chat(C, "You must have the creature pinned on the ground to sit on them ") - return - - src.visible_message("[src] moves their ass to [T]'s head, sitting down on them, making them unable to see anything else than [src]'s butt ") - return + return \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/species/station/traits_vr/neutral.dm b/code/modules/mob/living/carbon/human/species/station/traits_vr/neutral.dm index 4ed17886be..8a364ca139 100644 --- a/code/modules/mob/living/carbon/human/species/station/traits_vr/neutral.dm +++ b/code/modules/mob/living/carbon/human/species/station/traits_vr/neutral.dm @@ -114,15 +114,6 @@ H.verbs |= /mob/living/proc/glow_toggle H.verbs |= /mob/living/proc/glow_color -/datum/trait/face_sit - name = "Face_Sitting" - desc = "Makes you able to sit on your prey" - cost = 0 - -/datum/trait/face_sit/apply(var/datum/species/S,var/mob/living/carbon/human/H) - ..(S,H) - H.verbs |= /mob/living/carbon/human/proc/face_sit - /datum/trait/succubus_bite name = "Succubus Bite" desc = "Makes you able to bite prey in your grasp and subject them to a variety of chemicals.." diff --git a/code/modules/mob/mob_grab.dm b/code/modules/mob/mob_grab.dm index 58c530d06c..af4014ec27 100644 --- a/code/modules/mob/mob_grab.dm +++ b/code/modules/mob/mob_grab.dm @@ -144,6 +144,7 @@ else affecting.Weaken(2) + if(state >= GRAB_NECK) affecting.Stun(3) if(isliving(affecting)) @@ -173,6 +174,15 @@ assailant.visible_message("[assailant] covers [affecting]'s eyes!") if(affecting.eye_blind < 3) affecting.Blind(3) + if(BP_HEAD) + if(force_down) + if(announce) + assailant.visible_message("[assailant] moves their ass to [target]'s head, sitting down on them, making them unable to see anything else than [assailant]'s butt!") + if(target.silent < 3) + target.silent = 3 + if(target.eye_blind < 3) + target.Blind(3) + /obj/item/weapon/grab/attack_self() return s_click(hud)