forked from ParadiseSS13/Paradise
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Adds Corporate Judo, an optional alternative to the stun baton (decon…
…flicted edition) (ParadiseSS13#21229) * Adds Judo, Judo belt, and increased harm damage * Judo users can no longer use batons (any type) * Adds Discombobulate combo * adds Eye-poke combo * copy-paste related error fixes * adds throw (knockdown) combo * adds Armbar and Fatailty Combos * assorted changes (spelling, args, unneeded checks) * minor changes to belt item * updated desc, fixes belt item pathing * adds 3 belts to secvend * Adds sprites courtsey AVeryReulctantSpider * Assorted code cleanup (thx Henri) * minor grammatical issues * Adds Judo, Judo belt, and increased harm damage * Judo users can no longer use batons (any type) * Adds Discombobulate combo * adds Eye-poke combo * copy-paste related error fixes * adds throw (knockdown) combo * adds Armbar and Fatailty Combos * assorted changes (spelling, args, unneeded checks) * minor changes to belt item * updated desc, fixes belt item pathing * adds 3 belts to secvend * Adds sprites courtsey AVeryReulctantSpider * Assorted code cleanup (thx Henri) * minor grammatical issues * junk commit to re-open PR * pronoun consistancy * Lewc review #1 * de-jankification, buffs eye poke * Reduces harm intent damage from 10 to 7 * descriptions * lewc name change * weight class is now bulky * wheel throw fix, discombob buff (slight) * Throw buff (Grab > disarm) * partial lewcc review * assorted reviews (HIIYAA edition) * Eyepoke, discombobulate can be done on the ground * hal second pass review --------- Co-authored-by: DGamerL <[email protected]>
- Loading branch information
1 parent
e862b01
commit 9186b7d
Showing
15 changed files
with
162 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
/datum/martial_combo/judo/armbar | ||
name = "Armbar" | ||
steps = list(MARTIAL_COMBO_STEP_DISARM, MARTIAL_COMBO_STEP_DISARM, MARTIAL_COMBO_STEP_GRAB) | ||
explaination_text = "place an opponent who has been knocked down into an armbar, immobilizing them" | ||
combo_text_override = "Disarm, disarm, grab" | ||
|
||
/datum/martial_combo/judo/armbar/perform_combo(mob/living/carbon/human/user, mob/living/target, datum/martial_art/MA) | ||
if(!IS_HORIZONTAL(target) || user.IsKnockedDown()) | ||
return MARTIAL_COMBO_FAIL | ||
target.visible_message("<span class='warning'>[user] puts [target] into an armbar!</span>", \ | ||
"<span class='userdanger'>[user] wrestles you into an armbar!</span>") | ||
playsound(get_turf(user), 'sound/weapons/slashmiss.ogg', 40, TRUE, -1) | ||
target.apply_damage(45, STAMINA) | ||
target.Immobilize(5 SECONDS) | ||
target.KnockDown(5 SECONDS) | ||
add_attack_logs(user, target, "Melee attacked with martial-art [src] : Armbar", ATKLOG_ALL) | ||
return MARTIAL_COMBO_DONE |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
/datum/martial_combo/judo/discombobulate | ||
name = "Discombobulate" | ||
steps = list(MARTIAL_COMBO_STEP_DISARM, MARTIAL_COMBO_STEP_GRAB) | ||
explaination_text = "Deliver a palm strike to your opponents ear, briefly confusing them" | ||
combo_text_override = "Disarm, Grab" | ||
|
||
/datum/martial_combo/judo/discombobulate/perform_combo(mob/living/carbon/human/user, mob/living/target, datum/martial_art/MA) | ||
target.visible_message("<span class='warning'>[user] strikes [target] in the head with [user.p_their()] palm!</span>", \ | ||
"<span class='userdanger'>[user] strikes you with [user.p_their()] palm!</span>") | ||
playsound(get_turf(user), 'sound/weapons/slap.ogg', 40, TRUE, -1) | ||
target.apply_damage(10, STAMINA) | ||
target.AdjustConfused(5 SECONDS) | ||
add_attack_logs(user, target, "Melee attacked with martial-art [src] : Discombobulate", ATKLOG_ALL) | ||
return MARTIAL_COMBO_DONE |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
/datum/martial_combo/judo/eyepoke | ||
name = "Eye Poke" | ||
steps = list(MARTIAL_COMBO_STEP_DISARM, MARTIAL_COMBO_STEP_HARM) | ||
explaination_text = "Jab your opponent in the eye, damaging and blinding them breifly. Opponents with eye protection are still affected." | ||
combo_text_override = "Disarm, Harm" | ||
|
||
/datum/martial_combo/judo/eyepoke/perform_combo(mob/living/carbon/human/user, mob/living/target, datum/martial_art/MA) | ||
target.visible_message("<span class='warning'>[user] jabs [target] in [user.p_their()] eyes!</span>", \ | ||
"<span class='userdanger'>[user] jabs you in the eyes!</span>") | ||
playsound(get_turf(user), 'sound/weapons/whip.ogg', 40, TRUE, -1) | ||
target.apply_damage(10, BRUTE) | ||
target.AdjustEyeBlurry(50, 0, 30 SECONDS) | ||
target.EyeBlind(2 SECONDS) | ||
add_attack_logs(user, target, "Melee attacked with martial-art [src] : Eye Poke", ATKLOG_ALL) | ||
return MARTIAL_COMBO_DONE |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
/datum/martial_combo/judo/judothrow | ||
name = "Throw" | ||
steps = list(MARTIAL_COMBO_STEP_GRAB, MARTIAL_COMBO_STEP_DISARM) | ||
explaination_text = "Establish a gripset on your opponent and throw them to the floor, inflicting stamina damage" | ||
combo_text_override = "Grab, Disarm" | ||
/datum/martial_combo/judo/judothrow/perform_combo(mob/living/carbon/human/user, mob/living/target, datum/martial_art/MA) | ||
if(user.IsKnockedDown() || IS_HORIZONTAL(target)) | ||
return MARTIAL_COMBO_FAIL | ||
target.visible_message("<span class='warning'>[user] judo throws [target] to ground!</span>", \ | ||
"<span class='userdanger'>[user] judo throws you to the ground!</span>") | ||
playsound(get_turf(user), 'sound/weapons/slam.ogg', 40, TRUE, -1) | ||
target.apply_damage(25, STAMINA) | ||
target.KnockDown(7 SECONDS) | ||
add_attack_logs(user, target, "Melee attacked with martial-art [src] : Judo Throw", ATKLOG_ALL) | ||
return MARTIAL_COMBO_DONE |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
/datum/martial_combo/judo/wheelthrow | ||
name = "Wheel Throw" | ||
steps = list(MARTIAL_COMBO_STEP_GRAB, MARTIAL_COMBO_STEP_DISARM, MARTIAL_COMBO_STEP_HARM) | ||
explaination_text = "From an armbar, flip your opponent over your shoulder, slamming them onto the floor, leaving them stunned." | ||
combo_text_override = "Grab, Disarm, Harm" | ||
|
||
/datum/martial_combo/judo/wheelthrow/perform_combo(mob/living/carbon/human/user, mob/living/target, datum/martial_art/MA) | ||
if(!IS_HORIZONTAL(target) || !target.IsImmobilized()) | ||
return MARTIAL_COMBO_FAIL | ||
target.visible_message("<span class='warning'>[user] raises [target] over [user.p_their()] shoulder, and slams [target.p_them()] into the ground!</span>", \ | ||
"<span class='userdanger'>[user] throws you over [user.p_their()] shoulder, slamming you into the ground!</span>") | ||
playsound(get_turf(user), 'sound/magic/tail_swing.ogg', 40, TRUE, -1) | ||
target.SpinAnimation(10, 1) | ||
target.apply_damage(200, STAMINA) | ||
target.KnockDown(15 SECONDS) | ||
target.SetConfused(10 SECONDS) | ||
add_attack_logs(user, target, "Melee attacked with martial-art [src] : Wheel Throw", ATKLOG_ALL) | ||
return MARTIAL_COMBO_DONE |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
/datum/martial_art/judo | ||
name = "Corporate Judo" | ||
has_explaination_verb = TRUE | ||
no_baton = TRUE | ||
combos = list(/datum/martial_combo/judo/discombobulate, /datum/martial_combo/judo/eyepoke, /datum/martial_combo/judo/judothrow, /datum/martial_combo/judo/armbar, /datum/martial_combo/judo/wheelthrow) | ||
weight = 5 //takes priority over boxing and drunkneness, less priority than krav or CQC/carp | ||
no_baton_reason = "<span class='warning'>The baton feels off balance in your hand due to your judo training!</span>" | ||
|
||
//Corporate Judo Belt | ||
|
||
/obj/item/judobelt | ||
name = "\improper Corporate Judo Belt" | ||
desc = "Teaches the wearer NT Corporate Judo." | ||
icon = 'icons/obj/clothing/belts.dmi' | ||
lefthand_file = 'icons/mob/inhands/equipment/belt_lefthand.dmi' | ||
righthand_file = 'icons/mob/inhands/equipment/belt_righthand.dmi' | ||
icon_state = "judobelt" | ||
item_state = "judo" | ||
slot_flags = SLOT_BELT | ||
w_class = WEIGHT_CLASS_BULKY | ||
var/datum/martial_art/judo/style | ||
|
||
/obj/item/judobelt/Initialize() | ||
. = ..() | ||
style = new() | ||
|
||
/obj/item/judobelt/equipped(mob/user, slot) | ||
if(!ishuman(user)) | ||
return | ||
if(slot == slot_belt) | ||
var/mob/living/carbon/human/H = user | ||
if(HAS_TRAIT(user, TRAIT_PACIFISM)) | ||
to_chat(H, "<span class='warning'>The arts of Corporate Judo echo uselessly in your head, the thought of violence disgusts you!</span>") | ||
return | ||
style.teach(H, 1) | ||
to_chat(H, "<span class='userdanger'>The belt's nanites infuse you with the prowess of a black belt in Corporate Judo!</span>") | ||
to_chat(H, "<span class='danger'>See the martial arts tab for an explanation of combos.</span>") | ||
return | ||
|
||
/obj/item/judobelt/dropped(mob/user) | ||
..() | ||
if(!ishuman(user)) | ||
return | ||
var/mob/living/carbon/human/H = user | ||
if(H.get_item_by_slot(slot_belt) == src) | ||
style.remove(H) | ||
to_chat(user, "<span class='sciradio'>You suddenly forget the arts of Corporate Judo...</span>") | ||
|
||
//Increased harm damage | ||
/datum/martial_art/judo/harm_act(mob/living/carbon/human/A, mob/living/carbon/human/D) | ||
MARTIAL_ARTS_ACT_CHECK | ||
var/picked_hit_type = pick("chops", "slices", "strikes") | ||
A.do_attack_animation(D, ATTACK_EFFECT_PUNCH) | ||
D.apply_damage(7, BRUTE) | ||
playsound(get_turf(D), 'sound/effects/hit_punch.ogg', 50, TRUE, -1) | ||
D.visible_message("<span class='danger'>[A] [picked_hit_type] [D]!</span>", \ | ||
"<span class='userdanger'>[A] [picked_hit_type] you!</span>") | ||
add_attack_logs(A, D, "Melee attacked with [src]") | ||
return TRUE | ||
|
||
/datum/martial_art/judo/explaination_header(user) | ||
to_chat(user, "<b><i>You recall the teachings of Corporate Judo.</i></b>") | ||
|
||
/datum/martial_art/cqc/explaination_footer(user) | ||
to_chat(user, "<b>Your unarmed strikes hit about twice as hard as your peers, on average.</b>") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters