Skip to content

Commit

Permalink
[MIRROR] Adds neck-snapping to CQC and Sleeping carp [MDB IGNORE] (#1034
Browse files Browse the repository at this point in the history
)

* Adds neck-snapping to CQC and Sleeping carp (#79956)

---------

Co-authored-by: SkyratBot <[email protected]>
Co-authored-by: itseasytosee <[email protected]>
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
  • Loading branch information
4 people authored Dec 9, 2023
1 parent 207ea0f commit 963ed4b
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 0 deletions.
18 changes: 18 additions & 0 deletions code/datums/martial/cqc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -210,6 +210,24 @@
log_combat(attacker, defender, "sweeped (CQC)")
reset_streak()
return TRUE
if((attacker.grab_state == GRAB_KILL) && attacker.zone_selected == BODY_ZONE_HEAD && defender.stat != DEAD)
var/obj/item/bodypart/head = defender.get_bodypart("head")
if(head)
playsound(defender, 'sound/effects/wounds/crack1.ogg', 100)
defender.visible_message(
span_danger("[attacker] snaps the neck of [defender]!"),
span_userdanger("Your neck is snapped by [attacker]!"),
span_hear("You hear a sickening snap!"),
ignored_mobs = attacker
)
to_chat(attacker, span_danger("In a swift motion, you snap the neck of [defender]!"))
log_combat(attacker, defender, "snapped neck")
defender.apply_damage(100, BRUTE, BODY_ZONE_HEAD, wound_bonus=CANT_WOUND)
if(!HAS_TRAIT(defender, TRAIT_NODEATH))
defender.death()
defender.investigate_log("has had [defender.p_their()] neck snapped by [attacker].", INVESTIGATE_DEATHS)

return TRUE

add_to_streak("H", defender)
if(check_streak(attacker, defender))
Expand Down
16 changes: 16 additions & 0 deletions code/datums/martial/sleeping_carp.dm
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,22 @@
return ..()

/datum/martial_art/the_sleeping_carp/harm_act(mob/living/attacker, mob/living/defender)
if((attacker.grab_state == GRAB_KILL) && attacker.zone_selected == BODY_ZONE_HEAD && defender.stat != DEAD)
var/obj/item/bodypart/head = defender.get_bodypart("head")
if(head)
playsound(defender, 'sound/effects/wounds/crack1.ogg', 100)
defender.visible_message(
span_danger("[attacker] snaps the neck of [defender]!"),
span_userdanger("Your neck is snapped by [attacker]!"),
span_hear("You hear a sickening snap!"),
ignored_mobs = attacker
)
to_chat(attacker, span_danger("In a swift motion, you snap the neck of [defender]!"))
log_combat(attacker, defender, "snapped neck")
defender.apply_damage(100, BRUTE, BODY_ZONE_HEAD, wound_bonus=CANT_WOUND)
if(!HAS_TRAIT(defender, TRAIT_NODEATH))
defender.death()
defender.investigate_log("has had [defender.p_their()] neck snapped by [attacker].", INVESTIGATE_DEATHS)
add_to_streak("H", defender)
if(check_streak(attacker, defender))
return TRUE
Expand Down

0 comments on commit 963ed4b

Please sign in to comment.