mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-22 20:43:10 +01:00
Suplexes now only deal 15 brute on hit, and now stun the attacker for as much time as they stun the victim. This reframes the use of a suplex not as a free kill tool that should be spammed at every individual, but instead as a tool to reset a fight to a neutral state, including auto-disarming the other party and equalising the playing field. I have seen a significant number of rounds where the antagonist just goes around suplex spamming everyone. It sucks.
66 lines
2.4 KiB
Plaintext
66 lines
2.4 KiB
Plaintext
// combo refence since wrestling uses a different format to sleeping carp and plasma fist.
|
|
// Clinch "G"
|
|
// Suplex "GD"
|
|
// Advanced grab "G"
|
|
|
|
/datum/martial_art/wrestling
|
|
name = "Wrestling"
|
|
help_verb = /datum/martial_art/wrestling/proc/wrestling_help
|
|
|
|
/datum/martial_art/wrestling/harm_act(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D)
|
|
D.grabbedby(A,1)
|
|
var/obj/item/grab/G = A.get_active_hand()
|
|
if(G && prob(50))
|
|
G.state = GRAB_AGGRESSIVE
|
|
D.visible_message(SPAN_DANGER("[A] has [D] in a clinch!"))
|
|
else
|
|
D.visible_message(SPAN_DANGER("[A] fails to get [D] in a clinch!"))
|
|
return 1
|
|
|
|
|
|
/datum/martial_art/wrestling/proc/Suplex(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D)
|
|
|
|
D.visible_message(SPAN_DANGER("[A] suplexes [D]!"))
|
|
D.forceMove(A.loc)
|
|
D.apply_damage(15, DAMAGE_BRUTE)
|
|
D.apply_effect(6, WEAKEN)
|
|
add_logs(A, D, "suplexed")
|
|
|
|
A.SpinAnimation(10,1)
|
|
|
|
D.SpinAnimation(10,1)
|
|
spawn(3)
|
|
A.apply_effect(6, WEAKEN)
|
|
return
|
|
|
|
/datum/martial_art/wrestling/disarm_act(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D)
|
|
if(istype(A.get_inactive_hand(),/obj/item/grab))
|
|
var/obj/item/grab/G = A.get_inactive_hand()
|
|
if(G.affecting == D)
|
|
Suplex(A,D)
|
|
return 1
|
|
harm_act(A,D)
|
|
return 1
|
|
|
|
/datum/martial_art/wrestling/grab_act(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D)
|
|
D.grabbedby(A,1)
|
|
D.visible_message(SPAN_DANGER("[A] holds [D] down!"))
|
|
var/obj/item/organ/external/affecting = D.get_organ(ran_zone(A.zone_sel.selecting))
|
|
D.apply_damage(40, DAMAGE_PAIN, affecting)
|
|
return 1
|
|
|
|
/datum/martial_art/wrestling/proc/wrestling_help()
|
|
set name = "Recall Wrestling"
|
|
set desc = "Remember how to wrestle."
|
|
set category = "Abilities"
|
|
|
|
to_chat(usr, "<b><i>You flex your muscles and have a revelation...</i></b>")
|
|
to_chat(usr, "<span class='notice'>Clinch</span>: Grab. Passively gives you a chance to immediately aggressively grab someone. Not always successful.")
|
|
to_chat(usr, "<span class='notice'>Suplex</span>: Disarm someone you are grabbing. Suplexes your target to the floor. Injures them and leaves both you and your target on the floor for a short duration.")
|
|
to_chat(usr, "<span class='notice'>Advanced grab</span>: Grab. Passively causes pain when grabbing someone.")
|
|
|
|
/obj/item/martial_manual/wrestling
|
|
name = "wrestling manual"
|
|
desc = "A manual designated to teach the user about the art of wrestling."
|
|
martial_art = /datum/martial_art/wrestling
|