mirror of
https://github.com/CHOMPstation/CHOMPstation.git
synced 2026-07-19 11:02:31 +01:00
Face Sitting now works by forcing people down and aiming with head.
This commit is contained in:
+6
-38
@@ -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,"<span class='warning'>There's nobody nearby to use this on.</span>")
|
||||
|
||||
@@ -698,7 +698,7 @@
|
||||
if(can_shred(T) != T)
|
||||
to_chat(src,"<span class='warning'>Looks like you lost your chance...</span>")
|
||||
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("<span class='warning'>[src] tears off [T]'s [T_ext.name]!</span>","<span class='warning'>You tear off [T]'s [T_ext.name]!</span>")
|
||||
|
||||
//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("<span class='danger'>[src] severely damages [T]'s [T_ext.name]!</span>")
|
||||
|
||||
|
||||
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("<span class='warning'>You lose sensation of your body.</span>")
|
||||
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, "<span class='warning'>You must be grabbing a creature in your active hand to sit on them.</span>")
|
||||
return
|
||||
|
||||
var/mob/living/carbon/human/T = G.affecting
|
||||
|
||||
if(!istype(T) || T.isSynthetic())
|
||||
to_chat(src, "<span class='warning'>\The [T] is not able to be sit on.</span>")
|
||||
return
|
||||
|
||||
if(G.state != GRAB_AGGRESSIVE)
|
||||
to_chat(C, "<span class='warning'>You must have the creature pinned on the ground to sit on them </span>")
|
||||
return
|
||||
|
||||
src.visible_message("<font color='red'><b>[src] moves their ass to [T]'s head, sitting down on them, making them unable to see anything else than [src]'s butt </b></font>")
|
||||
return
|
||||
return
|
||||
@@ -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.."
|
||||
|
||||
@@ -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("<span class='warning'>[assailant] covers [affecting]'s eyes!</span>")
|
||||
if(affecting.eye_blind < 3)
|
||||
affecting.Blind(3)
|
||||
if(BP_HEAD)
|
||||
if(force_down)
|
||||
if(announce)
|
||||
assailant.visible_message("<span class='warning'>[assailant] moves their ass to [target]'s head, sitting down on them, making them unable to see anything else than [assailant]'s butt!</span>")
|
||||
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)
|
||||
|
||||
Reference in New Issue
Block a user