From f95c8480410d111b94a004951e15f5f582617530 Mon Sep 17 00:00:00 2001 From: hal9000PR Date: Wed, 6 Jan 2021 17:53:58 +0000 Subject: [PATCH 01/18] deflection, reflection and refraction --- code/datums/uplink_item.dm | 2 +- code/modules/martial_arts/martial.dm | 1 + code/modules/martial_arts/sleeping_carp.dm | 1 + code/modules/mob/living/carbon/human/human.dm | 12 +++++++++--- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm index bb794d9ebd6..b11b2753e0d 100644 --- a/code/datums/uplink_item.dm +++ b/code/datums/uplink_item.dm @@ -853,7 +853,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) Unable to be understood by vampire and changeling agents." reference = "SCS" item = /obj/item/sleeping_carp_scroll - cost = 17 + cost = 13 excludefrom = list(/datum/game_mode/nuclear) refundable = TRUE cant_discount = TRUE diff --git a/code/modules/martial_arts/martial.dm b/code/modules/martial_arts/martial.dm index 7c2648b987e..340d09eaa8f 100644 --- a/code/modules/martial_arts/martial.dm +++ b/code/modules/martial_arts/martial.dm @@ -8,6 +8,7 @@ var/temporary = FALSE var/datum/martial_art/base = null // The permanent style var/deflection_chance = 0 //Chance to deflect projectiles + var/reroute_deflection = FALSE // Can it reflect projectiles in a random direction? var/block_chance = 0 //Chance to block melee attacks using items while on throw mode. var/help_verb = null var/no_guns = FALSE //set to TRUE to prevent users of this style from using guns (sleeping carp, highlander). They can still pick them up, but not fire them. diff --git a/code/modules/martial_arts/sleeping_carp.dm b/code/modules/martial_arts/sleeping_carp.dm index 9ca070f8bfd..fe171dd718c 100644 --- a/code/modules/martial_arts/sleeping_carp.dm +++ b/code/modules/martial_arts/sleeping_carp.dm @@ -2,6 +2,7 @@ /datum/martial_art/the_sleeping_carp name = "The Sleeping Carp" deflection_chance = 100 + reroute_deflection = TRUE no_guns = TRUE no_guns_message = "Use of ranged weaponry would bring dishonor to the clan." has_explaination_verb = TRUE diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 8a804dc801c..cd86b95234e 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -295,13 +295,19 @@ var/obj/item/organ/external/affecting = get_organ(ran_zone(dam_zone)) apply_damage(5, BRUTE, affecting, run_armor_check(affecting, "melee")) -/mob/living/carbon/human/bullet_act() - if(mind && mind.martial_art && mind.martial_art.deflection_chance) //Some martial arts users can deflect projectiles! +/mob/living/carbon/human/bullet_act(obj/item/projectile/P, def_zone) + if(mind && mind.martial_art && mind.martial_art.deflection_chance && in_throw_mode) //Some martial arts users can deflect projectiles! if(!prob(mind.martial_art.deflection_chance)) return ..() if(!src.lying && !(HULK in mutations)) //But only if they're not lying down, and hulks can't do it visible_message("[src] deflects the projectile; [p_they()] can't be hit with ranged weapons!", "You deflect the projectile!") - return 0 + playsound(src, pick('sound/weapons/bulletflyby.ogg', 'sound/weapons/bulletflyby2.ogg', 'sound/weapons/bulletflyby3.ogg'), 75, 1) + if(mind.martial_art.reroute_deflection) + P.firer = src + P.setAngle(rand(0, 360)) + return -1 + else + return 0 ..() /mob/living/carbon/human/get_restraining_item() From 358883bcd819e9700f169c58332f000003508589 Mon Sep 17 00:00:00 2001 From: hal9000PR Date: Thu, 7 Jan 2021 10:21:10 +0000 Subject: [PATCH 02/18] mochi+sabre review --- code/modules/martial_arts/martial.dm | 30 ++++++++++++------- code/modules/mob/living/carbon/human/human.dm | 2 +- 2 files changed, 21 insertions(+), 11 deletions(-) diff --git a/code/modules/martial_arts/martial.dm b/code/modules/martial_arts/martial.dm index 340d09eaa8f..805390a052e 100644 --- a/code/modules/martial_arts/martial.dm +++ b/code/modules/martial_arts/martial.dm @@ -6,19 +6,29 @@ var/streak = "" var/max_streak_length = 6 var/temporary = FALSE - var/datum/martial_art/base = null // The permanent style - var/deflection_chance = 0 //Chance to deflect projectiles - var/reroute_deflection = FALSE // Can it reflect projectiles in a random direction? - var/block_chance = 0 //Chance to block melee attacks using items while on throw mode. + /// The permanent style + var/datum/martial_art/base = null + /// Chance to deflect projectiles while on throw mode + var/deflection_chance = 0 + /// Can it reflect projectiles in a random direction? + var/reroute_deflection = FALSE + ///Chance to block melee attacks using items while on throw mode. + var/block_chance = 0 var/help_verb = null - var/no_guns = FALSE //set to TRUE to prevent users of this style from using guns (sleeping carp, highlander). They can still pick them up, but not fire them. - var/no_guns_message = "" //message to tell the style user if they try and use a gun while no_guns = TRUE (DISHONORABRU!) + ///set to TRUE to prevent users of this style from using guns (sleeping carp, highlander). They can still pick them up, but not fire them. + var/no_guns = FALSE + ///message to tell the style user if they try and use a gun while no_guns = TRUE (DISHONORABRU!) + var/no_guns_message = "" - var/has_explaination_verb = FALSE // If the martial art has it's own explaination verb + /// If the martial art has it's own explaination verb + var/has_explaination_verb = FALSE - var/list/combos = list() // What combos can the user do? List of combo types - var/list/datum/martial_art/current_combos = list() // What combos are currently (possibly) being performed - var/last_hit = 0 // When the last hit happened + /// What combos can the user do? List of combo types + var/list/combos = list() + /// What combos are currently (possibly) being performed + var/list/datum/martial_art/current_combos = list() + /// When the last hit happened + var/last_hit = 0 /datum/martial_art/New() . = ..() diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index cd86b95234e..f65815e863e 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -296,7 +296,7 @@ apply_damage(5, BRUTE, affecting, run_armor_check(affecting, "melee")) /mob/living/carbon/human/bullet_act(obj/item/projectile/P, def_zone) - if(mind && mind.martial_art && mind.martial_art.deflection_chance && in_throw_mode) //Some martial arts users can deflect projectiles! + if(mind?.martial_art?.deflection_chance && in_throw_mode) //Some martial arts users can deflect projectiles! if(!prob(mind.martial_art.deflection_chance)) return ..() if(!src.lying && !(HULK in mutations)) //But only if they're not lying down, and hulks can't do it From 31512f0102701c613c15a1e2b099ca68619c47d9 Mon Sep 17 00:00:00 2001 From: hal9000PR Date: Sat, 9 Jan 2021 22:08:00 +0000 Subject: [PATCH 03/18] buffs some combos, makes carps friendly --- .../combos/sleeping_carp/back_kick.dm | 18 ------------------ .../combos/sleeping_carp/crashing_kick.dm | 18 ++++++++++++++++++ .../combos/sleeping_carp/elbow_drop.dm | 2 +- .../combos/sleeping_carp/stomach_knee.dm | 2 +- code/modules/martial_arts/martial.dm | 1 + code/modules/martial_arts/sleeping_carp.dm | 2 +- paradise.dme | 2 +- 7 files changed, 23 insertions(+), 22 deletions(-) delete mode 100644 code/modules/martial_arts/combos/sleeping_carp/back_kick.dm create mode 100644 code/modules/martial_arts/combos/sleeping_carp/crashing_kick.dm diff --git a/code/modules/martial_arts/combos/sleeping_carp/back_kick.dm b/code/modules/martial_arts/combos/sleeping_carp/back_kick.dm deleted file mode 100644 index 3ebaa191e23..00000000000 --- a/code/modules/martial_arts/combos/sleeping_carp/back_kick.dm +++ /dev/null @@ -1,18 +0,0 @@ -/datum/martial_combo/sleeping_carp/back_kick - name = "Back Kick" - steps = list(MARTIAL_COMBO_STEP_HARM, MARTIAL_COMBO_STEP_GRAB) - explaination_text = "Opponent must be facing away. Knocks down." - -/datum/martial_combo/sleeping_carp/back_kick/perform_combo(mob/living/carbon/human/user, mob/living/target, datum/martial_art/MA) - if(user.dir == target.dir && !target.stat && !target.IsWeakened()) - user.do_attack_animation(target, ATTACK_EFFECT_KICK) - target.visible_message("[user] kicks [target] in the back!", \ - "[user] kicks you in the back, making you stumble and fall!") - step_to(target,get_step(target,target.dir),1) - target.Weaken(4) - playsound(get_turf(target), 'sound/weapons/punch1.ogg', 50, 1, -1) - add_attack_logs(user, target, "Melee attacked with martial-art [src] : Back Kick", ATKLOG_ALL) - if(prob(80)) - user.say(pick("SURRPRIZU!","BACK STRIKE!","WOPAH!", "WATAAH", "ZOTA!", "Never turn your back to the enemy!")) - return MARTIAL_COMBO_DONE - return MARTIAL_COMBO_DONE_BASIC_HIT diff --git a/code/modules/martial_arts/combos/sleeping_carp/crashing_kick.dm b/code/modules/martial_arts/combos/sleeping_carp/crashing_kick.dm new file mode 100644 index 00000000000..61103f8fbcf --- /dev/null +++ b/code/modules/martial_arts/combos/sleeping_carp/crashing_kick.dm @@ -0,0 +1,18 @@ +/datum/martial_combo/sleeping_carp/crashing_kick + name = "Crashing Waves Kick" + steps = list(MARTIAL_COMBO_STEP_HARM, MARTIAL_COMBO_STEP_GRAB) + explaination_text = "Kicks the target square in the chest. Knocks down." + +/datum/martial_combo/sleeping_carp/crashing_kick/perform_combo(mob/living/carbon/human/user, mob/living/target, datum/martial_art/MA) + if(!target.stat && !target.IsWeakened()) + user.do_attack_animation(target, ATTACK_EFFECT_KICK) + target.visible_message("[user] kicks [target] in the chest!", \ + "[user] kicks you in the chest, making you stumble and fall!") + step_to(target,get_step(target,target.dir),1) + target.Weaken(4) + playsound(get_turf(target), 'sound/weapons/punch1.ogg', 50, 1, -1) + add_attack_logs(user, target, "Melee attacked with martial-art [src] : Crashing Kick", ATKLOG_ALL) + if(prob(80)) + user.say(pick("SURRPRIZU!","WOPAH!", "WATAAH", "ZOTA!", "SOLE STRIKE!")) + return MARTIAL_COMBO_DONE + return MARTIAL_COMBO_DONE_BASIC_HIT diff --git a/code/modules/martial_arts/combos/sleeping_carp/elbow_drop.dm b/code/modules/martial_arts/combos/sleeping_carp/elbow_drop.dm index 0269c9bed4d..87533a84b14 100644 --- a/code/modules/martial_arts/combos/sleeping_carp/elbow_drop.dm +++ b/code/modules/martial_arts/combos/sleeping_carp/elbow_drop.dm @@ -1,7 +1,7 @@ /datum/martial_combo/sleeping_carp/elbow_drop name = "Elbow Drop" steps = list(MARTIAL_COMBO_STEP_HARM, MARTIAL_COMBO_STEP_DISARM, MARTIAL_COMBO_STEP_HARM, MARTIAL_COMBO_STEP_DISARM, MARTIAL_COMBO_STEP_HARM) - explaination_text = "Opponent must be on the ground. Deals huge damage, instantly kills anyone in critical condition." + explaination_text = "Opponent must be on the ground. Deals huge damage, instantly kills anyone." /datum/martial_combo/sleeping_carp/elbow_drop/perform_combo(mob/living/carbon/human/user, mob/living/target, datum/martial_art/MA) if(target.IsWeakened() || target.resting || target.stat) diff --git a/code/modules/martial_arts/combos/sleeping_carp/stomach_knee.dm b/code/modules/martial_arts/combos/sleeping_carp/stomach_knee.dm index 312e575003d..b3fbd1cfaab 100644 --- a/code/modules/martial_arts/combos/sleeping_carp/stomach_knee.dm +++ b/code/modules/martial_arts/combos/sleeping_carp/stomach_knee.dm @@ -10,7 +10,7 @@ target.visible_message("[user] knees [target] in the stomach!", \ "[user] winds you with a knee in the stomach!") target.audible_message("[target] gags!") - target.AdjustLoseBreath(3) + target.AdjustLoseBreath(4) target.Stun(2) playsound(get_turf(target), 'sound/weapons/punch1.ogg', 50, 1, -1) add_attack_logs(user, target, "Melee attacked with martial-art [src] : Stomach Knee", ATKLOG_ALL) diff --git a/code/modules/martial_arts/martial.dm b/code/modules/martial_arts/martial.dm index 805390a052e..cd14b9a6191 100644 --- a/code/modules/martial_arts/martial.dm +++ b/code/modules/martial_arts/martial.dm @@ -275,6 +275,7 @@ var/datum/martial_art/the_sleeping_carp/theSleepingCarp = new(null) theSleepingCarp.teach(user) + user.faction += list("carp") //makes space carp peaceful to sleeping carp users user.drop_item() visible_message("[src] lights up in fire and quickly burns to ash.") new /obj/effect/decal/cleanable/ash(get_turf(src)) diff --git a/code/modules/martial_arts/sleeping_carp.dm b/code/modules/martial_arts/sleeping_carp.dm index fe171dd718c..ec0564c1a70 100644 --- a/code/modules/martial_arts/sleeping_carp.dm +++ b/code/modules/martial_arts/sleeping_carp.dm @@ -6,7 +6,7 @@ no_guns = TRUE no_guns_message = "Use of ranged weaponry would bring dishonor to the clan." has_explaination_verb = TRUE - combos = list(/datum/martial_combo/sleeping_carp/wrist_wrench, /datum/martial_combo/sleeping_carp/back_kick, /datum/martial_combo/sleeping_carp/stomach_knee, /datum/martial_combo/sleeping_carp/head_kick, /datum/martial_combo/sleeping_carp/elbow_drop) + combos = list(/datum/martial_combo/sleeping_carp/wrist_wrench, /datum/martial_combo/sleeping_carp/crashing_kick, /datum/martial_combo/sleeping_carp/stomach_knee, /datum/martial_combo/sleeping_carp/head_kick, /datum/martial_combo/sleeping_carp/elbow_drop) /datum/martial_art/the_sleeping_carp/grab_act(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D) MARTIAL_ARTS_ACT_CHECK diff --git a/paradise.dme b/paradise.dme index 2e7219ff97d..d62cab8f901 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1712,7 +1712,7 @@ #include "code\modules\martial_arts\combos\plasma_fist\plasma_fist.dm" #include "code\modules\martial_arts\combos\plasma_fist\throwback.dm" #include "code\modules\martial_arts\combos\plasma_fist\tornado_sweep.dm" -#include "code\modules\martial_arts\combos\sleeping_carp\back_kick.dm" +#include "code\modules\martial_arts\combos\sleeping_carp\crashing_kick.dm" #include "code\modules\martial_arts\combos\sleeping_carp\elbow_drop.dm" #include "code\modules\martial_arts\combos\sleeping_carp\head_kick.dm" #include "code\modules\martial_arts\combos\sleeping_carp\stomach_knee.dm" From 3555fffa80db0bd1def33aeaff65d159c0c4955d Mon Sep 17 00:00:00 2001 From: hal9000PR Date: Sun, 10 Jan 2021 12:41:38 +0000 Subject: [PATCH 04/18] fixes elbow drop. --- code/modules/martial_arts/combos/sleeping_carp/elbow_drop.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/modules/martial_arts/combos/sleeping_carp/elbow_drop.dm b/code/modules/martial_arts/combos/sleeping_carp/elbow_drop.dm index 87533a84b14..61dc8759f39 100644 --- a/code/modules/martial_arts/combos/sleeping_carp/elbow_drop.dm +++ b/code/modules/martial_arts/combos/sleeping_carp/elbow_drop.dm @@ -1,14 +1,15 @@ /datum/martial_combo/sleeping_carp/elbow_drop name = "Elbow Drop" steps = list(MARTIAL_COMBO_STEP_HARM, MARTIAL_COMBO_STEP_DISARM, MARTIAL_COMBO_STEP_HARM, MARTIAL_COMBO_STEP_DISARM, MARTIAL_COMBO_STEP_HARM) - explaination_text = "Opponent must be on the ground. Deals huge damage, instantly kills anyone." + explaination_text = "Opponent must be on the ground. Deals huge damage, instantly kills anyone in critical condition." /datum/martial_combo/sleeping_carp/elbow_drop/perform_combo(mob/living/carbon/human/user, mob/living/target, datum/martial_art/MA) if(target.IsWeakened() || target.resting || target.stat) user.do_attack_animation(target, ATTACK_EFFECT_PUNCH) target.visible_message("[user] elbow drops [target]!", \ "[user] piledrives you with [user.p_their()] elbow!") - target.death() //FINISH HIM! + if(target.health <= 0) //so it actually checks for crit now + target.death() //FINISH HIM! target.apply_damage(50, BRUTE, "chest") playsound(get_turf(target), 'sound/weapons/punch1.ogg', 75, 1, -1) add_attack_logs(user, target, "Melee attacked with martial-art [src] : Elbow Drop", ATKLOG_ALL) From 202ff60a87ce17fe8b4961c03978734b92a5b923 Mon Sep 17 00:00:00 2001 From: hal9000PR Date: Wed, 20 Jan 2021 10:42:12 +0000 Subject: [PATCH 05/18] merge conflicts go brrrr --- code/modules/mob/living/carbon/human/human_defense.dm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 18cb61c4244..a781c292f67 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -36,10 +36,16 @@ emp_act P.on_hit(src, 100, def_zone) return 2 - if(mind?.martial_art?.deflection_chance) //Some martial arts users can deflect projectiles! + if(mind?.martial_art?.deflection_chance && in_throw_mode) //Some martial arts users can deflect projectiles! if(!lying && !(HULK in mutations) && prob(mind.martial_art.deflection_chance)) //But only if they're not lying down, and hulks can't do it add_attack_logs(P.firer, src, "hit by [P.type] but got deflected by martial arts '[mind.martial_art]'") visible_message("[src] deflects the projectile; [p_they()] can't be hit with ranged weapons!", "You deflect the projectile!") + playsound(src, pick('sound/weapons/bulletflyby.ogg', 'sound/weapons/bulletflyby2.ogg', 'sound/weapons/bulletflyby3.ogg'), 75, 1) + if(mind.martial_art.reroute_deflection) + P.firer = src + P.setAngle(rand(0,360)) + return -1 + else return FALSE var/obj/item/organ/external/organ = get_organ(check_zone(def_zone)) From 32cdead5c6298487005be7f5ca5f7dbcf1a4128e Mon Sep 17 00:00:00 2001 From: hal9000PR Date: Fri, 22 Jan 2021 20:28:00 +0000 Subject: [PATCH 06/18] sabre review --- .../martial_arts/combos/sleeping_carp/crashing_kick.dm | 8 ++++---- code/modules/martial_arts/martial.dm | 2 +- code/modules/mob/living/carbon/human/human_defense.dm | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/code/modules/martial_arts/combos/sleeping_carp/crashing_kick.dm b/code/modules/martial_arts/combos/sleeping_carp/crashing_kick.dm index 61103f8fbcf..80765922114 100644 --- a/code/modules/martial_arts/combos/sleeping_carp/crashing_kick.dm +++ b/code/modules/martial_arts/combos/sleeping_carp/crashing_kick.dm @@ -6,13 +6,13 @@ /datum/martial_combo/sleeping_carp/crashing_kick/perform_combo(mob/living/carbon/human/user, mob/living/target, datum/martial_art/MA) if(!target.stat && !target.IsWeakened()) user.do_attack_animation(target, ATTACK_EFFECT_KICK) - target.visible_message("[user] kicks [target] in the chest!", \ + target.visible_message("[user] kicks [target] in the chest!", "[user] kicks you in the chest, making you stumble and fall!") - step_to(target,get_step(target,target.dir),1) + step_to(target, get_step (target, target.dir), 1) target.Weaken(4) - playsound(get_turf(target), 'sound/weapons/punch1.ogg', 50, 1, -1) + playsound(target, 'sound/weapons/punch1.ogg', 50, TRUE, -1) add_attack_logs(user, target, "Melee attacked with martial-art [src] : Crashing Kick", ATKLOG_ALL) if(prob(80)) - user.say(pick("SURRPRIZU!","WOPAH!", "WATAAH", "ZOTA!", "SOLE STRIKE!")) + user.say(pick("SURRPRIZU!", "WOPAH!", "WATAAH", "ZOTA!", "SOLE STRIKE!")) return MARTIAL_COMBO_DONE return MARTIAL_COMBO_DONE_BASIC_HIT diff --git a/code/modules/martial_arts/martial.dm b/code/modules/martial_arts/martial.dm index cd14b9a6191..7c0ef9ab00a 100644 --- a/code/modules/martial_arts/martial.dm +++ b/code/modules/martial_arts/martial.dm @@ -275,7 +275,7 @@ var/datum/martial_art/the_sleeping_carp/theSleepingCarp = new(null) theSleepingCarp.teach(user) - user.faction += list("carp") //makes space carp peaceful to sleeping carp users + user.faction |= list("carp") //makes space carp peaceful to sleeping carp users user.drop_item() visible_message("[src] lights up in fire and quickly burns to ash.") new /obj/effect/decal/cleanable/ash(get_turf(src)) diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index a781c292f67..2d7fe622df2 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -40,10 +40,10 @@ emp_act if(!lying && !(HULK in mutations) && prob(mind.martial_art.deflection_chance)) //But only if they're not lying down, and hulks can't do it add_attack_logs(P.firer, src, "hit by [P.type] but got deflected by martial arts '[mind.martial_art]'") visible_message("[src] deflects the projectile; [p_they()] can't be hit with ranged weapons!", "You deflect the projectile!") - playsound(src, pick('sound/weapons/bulletflyby.ogg', 'sound/weapons/bulletflyby2.ogg', 'sound/weapons/bulletflyby3.ogg'), 75, 1) + playsound(src, pick('sound/weapons/bulletflyby.ogg', 'sound/weapons/bulletflyby2.ogg', 'sound/weapons/bulletflyby3.ogg'), 75, TRUE) if(mind.martial_art.reroute_deflection) P.firer = src - P.setAngle(rand(0,360)) + P.setAngle(rand(0, 360)) return -1 else return FALSE From 8739799d84206a83683d98e23fcc5b0ace2f4acb Mon Sep 17 00:00:00 2001 From: hal9000PR Date: Thu, 1 Apr 2021 13:03:25 +0100 Subject: [PATCH 07/18] TG carp --- .../combos/sleeping_carp/crashing_kick.dm | 25 ++++++++----------- .../combos/sleeping_carp/elbow_drop.dm | 19 -------------- .../combos/sleeping_carp/gnashing_teeth.dm | 18 +++++++++++++ .../combos/sleeping_carp/head_kick.dm | 19 -------------- .../combos/sleeping_carp/kneehaul.dm | 15 +++++++++++ .../combos/sleeping_carp/stomach_knee.dm | 20 --------------- .../combos/sleeping_carp/wrist_wrench.dm | 20 --------------- code/modules/martial_arts/sleeping_carp.dm | 19 ++++++++------ paradise.dme | 6 ++--- 9 files changed, 57 insertions(+), 104 deletions(-) delete mode 100644 code/modules/martial_arts/combos/sleeping_carp/elbow_drop.dm create mode 100644 code/modules/martial_arts/combos/sleeping_carp/gnashing_teeth.dm delete mode 100644 code/modules/martial_arts/combos/sleeping_carp/head_kick.dm create mode 100644 code/modules/martial_arts/combos/sleeping_carp/kneehaul.dm delete mode 100644 code/modules/martial_arts/combos/sleeping_carp/stomach_knee.dm delete mode 100644 code/modules/martial_arts/combos/sleeping_carp/wrist_wrench.dm diff --git a/code/modules/martial_arts/combos/sleeping_carp/crashing_kick.dm b/code/modules/martial_arts/combos/sleeping_carp/crashing_kick.dm index 80765922114..edd850baa1d 100644 --- a/code/modules/martial_arts/combos/sleeping_carp/crashing_kick.dm +++ b/code/modules/martial_arts/combos/sleeping_carp/crashing_kick.dm @@ -1,18 +1,15 @@ /datum/martial_combo/sleeping_carp/crashing_kick name = "Crashing Waves Kick" - steps = list(MARTIAL_COMBO_STEP_HARM, MARTIAL_COMBO_STEP_GRAB) - explaination_text = "Kicks the target square in the chest. Knocks down." + steps = list(MARTIAL_COMBO_STEP_HARM, MARTIAL_COMBO_STEP_DISARM) + explaination_text = "Kicks the target square in the chest, sending them flying." /datum/martial_combo/sleeping_carp/crashing_kick/perform_combo(mob/living/carbon/human/user, mob/living/target, datum/martial_art/MA) - if(!target.stat && !target.IsWeakened()) - user.do_attack_animation(target, ATTACK_EFFECT_KICK) - target.visible_message("[user] kicks [target] in the chest!", - "[user] kicks you in the chest, making you stumble and fall!") - step_to(target, get_step (target, target.dir), 1) - target.Weaken(4) - playsound(target, 'sound/weapons/punch1.ogg', 50, TRUE, -1) - add_attack_logs(user, target, "Melee attacked with martial-art [src] : Crashing Kick", ATKLOG_ALL) - if(prob(80)) - user.say(pick("SURRPRIZU!", "WOPAH!", "WATAAH", "ZOTA!", "SOLE STRIKE!")) - return MARTIAL_COMBO_DONE - return MARTIAL_COMBO_DONE_BASIC_HIT + user.do_attack_animation(target, ATTACK_EFFECT_KICK) + target.visible_message("[user] kicks [target] square in the chest, sending them flying!", + "You are kicked square in the chest by [user], sending you flying!",) + playsound(get_turf(target), 'sound/effects/hit_kick.ogg', 50, TRUE, -1) + var/atom/throw_target = get_edge_target_turf(target, user.dir) + target.throw_at(throw_target, 7, 14, user) + target.apply_damage(15, BRUTE, BODY_ZONE_CHEST) + add_attack_logs(user, target, "Melee attacked with martial-art [src] : Crashing Waves Kick", ATKLOG_ALL) + return MARTIAL_COMBO_DONE diff --git a/code/modules/martial_arts/combos/sleeping_carp/elbow_drop.dm b/code/modules/martial_arts/combos/sleeping_carp/elbow_drop.dm deleted file mode 100644 index 61dc8759f39..00000000000 --- a/code/modules/martial_arts/combos/sleeping_carp/elbow_drop.dm +++ /dev/null @@ -1,19 +0,0 @@ -/datum/martial_combo/sleeping_carp/elbow_drop - name = "Elbow Drop" - steps = list(MARTIAL_COMBO_STEP_HARM, MARTIAL_COMBO_STEP_DISARM, MARTIAL_COMBO_STEP_HARM, MARTIAL_COMBO_STEP_DISARM, MARTIAL_COMBO_STEP_HARM) - explaination_text = "Opponent must be on the ground. Deals huge damage, instantly kills anyone in critical condition." - -/datum/martial_combo/sleeping_carp/elbow_drop/perform_combo(mob/living/carbon/human/user, mob/living/target, datum/martial_art/MA) - if(target.IsWeakened() || target.resting || target.stat) - user.do_attack_animation(target, ATTACK_EFFECT_PUNCH) - target.visible_message("[user] elbow drops [target]!", \ - "[user] piledrives you with [user.p_their()] elbow!") - if(target.health <= 0) //so it actually checks for crit now - target.death() //FINISH HIM! - target.apply_damage(50, BRUTE, "chest") - playsound(get_turf(target), 'sound/weapons/punch1.ogg', 75, 1, -1) - add_attack_logs(user, target, "Melee attacked with martial-art [src] : Elbow Drop", ATKLOG_ALL) - if(prob(80)) - user.say(pick("BANZAIII!", "KIYAAAA!", "OMAE WA MOU SHINDEIRU!", "YOU CAN'T SEE ME!", "MY TIME IS NOW!", "COWABUNGA")) - return MARTIAL_COMBO_DONE - return MARTIAL_COMBO_DONE_BASIC_HIT diff --git a/code/modules/martial_arts/combos/sleeping_carp/gnashing_teeth.dm b/code/modules/martial_arts/combos/sleeping_carp/gnashing_teeth.dm new file mode 100644 index 00000000000..e1a95f2ba35 --- /dev/null +++ b/code/modules/martial_arts/combos/sleeping_carp/gnashing_teeth.dm @@ -0,0 +1,18 @@ +/datum/martial_combo/sleeping_carp/gnashing_teeth + name = "Gnashing Teeth" + steps = list(MARTIAL_COMBO_STEP_HARM, MARTIAL_COMBO_STEP_HARM) + explaination_text = "Every second, concequtive, punch will deal extra damage and you will shout to send fear into your opponents heart" + +/datum/martial_combo/sleeping_carp/gnashing_teeth/perform_combo(mob/living/carbon/human/user, mob/living/target, datum/martial_art/MA) + user.do_attack_animation(target, ATTACK_EFFECT_PUNCH) + var/atk_verb = pick("precisely kick", "brutally chop", "cleanly hit", "viciously slam") + target.visible_message("[user] [atk_verb]s [target]!", + "[user] [atk_verb]s you!") + playsound(get_turf(target), 'sound/weapons/punch1.ogg', 35, TRUE, -1) + add_attack_logs(user, target, "Melee attacked with martial-art [src] : Gnashing Teeth", ATKLOG_ALL) + target.apply_damage(20, BRUTE) + if(target.stat) + user.say(pick("HUAH!", "HYA!", "CHOO!", "WUO!", "KYA!", "HUH!", "HIYOH!", "CARP STRIKE!", "CARP BITE!")) + else + user.say(pick("BANZAIII!", "KIYAAAA!", "OMAE WA MOU SHINDEIRU!", "YOU CAN'T SEE ME!", "MY TIME IS NOW!", "COWABUNGA")) // COWABUNGA + return MARTIAL_COMBO_DONE diff --git a/code/modules/martial_arts/combos/sleeping_carp/head_kick.dm b/code/modules/martial_arts/combos/sleeping_carp/head_kick.dm deleted file mode 100644 index b45e10e73ce..00000000000 --- a/code/modules/martial_arts/combos/sleeping_carp/head_kick.dm +++ /dev/null @@ -1,19 +0,0 @@ -/datum/martial_combo/sleeping_carp/head_kick - name = "Head Kick" - steps = list(MARTIAL_COMBO_STEP_DISARM, MARTIAL_COMBO_STEP_HARM, MARTIAL_COMBO_STEP_HARM) - explaination_text = "Decent damage, forces opponent to drop item in hand." - -/datum/martial_combo/sleeping_carp/head_kick/perform_combo(mob/living/carbon/human/user, mob/living/target, datum/martial_art/MA) - if(!target.stat && !target.IsWeakened()) - user.do_attack_animation(target, ATTACK_EFFECT_KICK) - target.visible_message("[user] kicks [target] in the head!", \ - "[user] kicks you in the jaw!") - target.apply_damage(20, BRUTE, "head") - target.drop_item() - playsound(get_turf(target), 'sound/weapons/punch1.ogg', 50, 1, -1) - add_attack_logs(user, target, "Melee attacked with martial-art [src] : Head Kick", ATKLOG_ALL) - if(prob(60)) - user.say(pick("OOHYOO!", "OOPYAH!", "HYOOAA!", "WOOAAA!", "SHURYUKICK!", "HIYAH!")) - target.Stun(4) - return MARTIAL_COMBO_DONE - return MARTIAL_COMBO_DONE_BASIC_HIT diff --git a/code/modules/martial_arts/combos/sleeping_carp/kneehaul.dm b/code/modules/martial_arts/combos/sleeping_carp/kneehaul.dm new file mode 100644 index 00000000000..27791aa0796 --- /dev/null +++ b/code/modules/martial_arts/combos/sleeping_carp/kneehaul.dm @@ -0,0 +1,15 @@ +/datum/martial_combo/sleeping_carp/kneehaul + name = "Kneehaul" + steps = list(MARTIAL_COMBO_STEP_HARM, MARTIAL_COMBO_STEP_GRAB) + explaination_text = "Kick an opponent to the floor, knocking them down and dealing stamina damage to them! " + +/datum/martial_combo/sleeping_carp/kneehaul/perform_combo(mob/living/carbon/human/user, mob/living/target, datum/martial_art/MA) + user.do_attack_animation(target, ATTACK_EFFECT_KICK) + playsound(get_turf(target), 'sound/effects/hit_kick.ogg', 50, TRUE, -1) + target.apply_damage(10, BRUTE, BODY_ZONE_HEAD) + target.apply_damage(40, STAMINA) + target.Weaken(2) + target.visible_message("[user] kicks [target] in the head, sending them face first into the floor!", + "You are kicked in the head by [user], sending you crashing to the floor!",) + add_attack_logs(user, target, "Melee attacked with martial-art [src] : Kneehaul", ATKLOG_ALL) + return MARTIAL_COMBO_DONE diff --git a/code/modules/martial_arts/combos/sleeping_carp/stomach_knee.dm b/code/modules/martial_arts/combos/sleeping_carp/stomach_knee.dm deleted file mode 100644 index b3fbd1cfaab..00000000000 --- a/code/modules/martial_arts/combos/sleeping_carp/stomach_knee.dm +++ /dev/null @@ -1,20 +0,0 @@ -/datum/martial_combo/sleeping_carp/stomach_knee - name = "Stomach Knee" - steps = list(MARTIAL_COMBO_STEP_GRAB, MARTIAL_COMBO_STEP_HARM) - explaination_text = "Knocks the wind out of opponent and stuns." - combo_text_override = "Grab, switch hands, Harm" - -/datum/martial_combo/sleeping_carp/stomach_knee/perform_combo(mob/living/carbon/human/user, mob/living/target, datum/martial_art/MA) - if(!target.stat && !target.IsWeakened()) - user.do_attack_animation(target, ATTACK_EFFECT_KICK) - target.visible_message("[user] knees [target] in the stomach!", \ - "[user] winds you with a knee in the stomach!") - target.audible_message("[target] gags!") - target.AdjustLoseBreath(4) - target.Stun(2) - playsound(get_turf(target), 'sound/weapons/punch1.ogg', 50, 1, -1) - add_attack_logs(user, target, "Melee attacked with martial-art [src] : Stomach Knee", ATKLOG_ALL) - if(prob(80)) - user.say(pick("HWOP!", "KUH!", "YAKUUH!", "KYUH!", "KNEESTRIKE!")) - return MARTIAL_COMBO_DONE - return MARTIAL_COMBO_DONE_BASIC_HIT diff --git a/code/modules/martial_arts/combos/sleeping_carp/wrist_wrench.dm b/code/modules/martial_arts/combos/sleeping_carp/wrist_wrench.dm deleted file mode 100644 index 38c21e7309e..00000000000 --- a/code/modules/martial_arts/combos/sleeping_carp/wrist_wrench.dm +++ /dev/null @@ -1,20 +0,0 @@ -/datum/martial_combo/sleeping_carp/wrist_wrench - name = "Wrist Wrench" - steps = list(MARTIAL_COMBO_STEP_DISARM, MARTIAL_COMBO_STEP_DISARM) - explaination_text = "Forces opponent to drop item in hand." - -/datum/martial_combo/sleeping_carp/wrist_wrench/perform_combo(mob/living/carbon/human/user, mob/living/target, datum/martial_art/MA) - if(!target.stat && !target.stunned && !target.IsWeakened()) - user.do_attack_animation(target, ATTACK_EFFECT_PUNCH) - target.visible_message("[user] grabs [target]'s wrist and wrenches it sideways!", \ - "[user] grabs your wrist and violently wrenches it to the side!") - playsound(get_turf(user), 'sound/weapons/thudswoosh.ogg', 50, 1, -1) - add_attack_logs(user, target, "Melee attacked with martial-art [src] : Wrist Wrench", ATKLOG_ALL) - if(prob(60)) - user.say(pick("WRISTY TWIRLY!", "WE FIGHT LIKE MEN!", "YOU DISHONOR YOURSELF!", "POHYAH!", "WHERE IS YOUR BATON NOW?", "SAY UNCLE!")) - target.emote("scream") - target.drop_item() - target.apply_damage(5, BRUTE, pick("l_arm", "r_arm")) - target.Stun(3) - return MARTIAL_COMBO_DONE - return MARTIAL_COMBO_DONE_BASIC_HIT diff --git a/code/modules/martial_arts/sleeping_carp.dm b/code/modules/martial_arts/sleeping_carp.dm index 59bfcef6bbe..3d3e5e8b135 100644 --- a/code/modules/martial_arts/sleeping_carp.dm +++ b/code/modules/martial_arts/sleeping_carp.dm @@ -6,7 +6,7 @@ no_guns = TRUE no_guns_message = "Use of ranged weaponry would bring dishonor to the clan." has_explaination_verb = TRUE - combos = list(/datum/martial_combo/sleeping_carp/wrist_wrench, /datum/martial_combo/sleeping_carp/crashing_kick, /datum/martial_combo/sleeping_carp/stomach_knee, /datum/martial_combo/sleeping_carp/head_kick, /datum/martial_combo/sleeping_carp/elbow_drop) + combos = list(/datum/martial_combo/sleeping_carp/crashing_kick, /datum/martial_combo/sleeping_carp/kneehaul, /datum/martial_combo/sleeping_carp/gnashing_teeth) /datum/martial_art/the_sleeping_carp/grab_act(mob/living/carbon/human/A, mob/living/carbon/human/D) MARTIAL_ARTS_ACT_CHECK @@ -19,16 +19,19 @@ MARTIAL_ARTS_ACT_CHECK A.do_attack_animation(D, ATTACK_EFFECT_PUNCH) var/atk_verb = pick("punches", "kicks", "chops", "hits", "slams") - D.visible_message("[A] [atk_verb] [D]!", \ + D.visible_message("[A] [atk_verb] [D]!", "[A] [atk_verb] you!") D.apply_damage(rand(10,15), BRUTE) - playsound(get_turf(D), 'sound/weapons/punch1.ogg', 25, 1, -1) - if(prob(50)) - A.say(pick("HUAH!", "HYA!", "CHOO!", "WUO!", "KYA!", "HUH!", "HIYOH!", "CARP STRIKE!", "CARP BITE!")) - if(prob(D.getBruteLoss()) && !D.lying) - D.visible_message("[D] stumbles and falls!", "The blow sends you to the ground!") - D.Weaken(4) + playsound(get_turf(D), 'sound/weapons/punch1.ogg', 25, TRUE, -1) return TRUE /datum/martial_art/the_sleeping_carp/explaination_header(user) to_chat(usr, "You retreat inward and recall the teachings of the Sleeping Carp...") + +/datum/martial_art/the_sleeping_carp/teach(mob/living/carbon/human/H, make_temporary) + . = ..() + H.faction |= "carp"// :D + +/datum/martial_art/the_sleeping_carp/remove(mob/living/carbon/human/H) + . = ..() + H.faction -= "carp"// :C diff --git a/paradise.dme b/paradise.dme index c77c887ccf7..f9d0e893bbd 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1705,10 +1705,8 @@ #include "code\modules\martial_arts\combos\plasma_fist\throwback.dm" #include "code\modules\martial_arts\combos\plasma_fist\tornado_sweep.dm" #include "code\modules\martial_arts\combos\sleeping_carp\crashing_kick.dm" -#include "code\modules\martial_arts\combos\sleeping_carp\elbow_drop.dm" -#include "code\modules\martial_arts\combos\sleeping_carp\head_kick.dm" -#include "code\modules\martial_arts\combos\sleeping_carp\stomach_knee.dm" -#include "code\modules\martial_arts\combos\sleeping_carp\wrist_wrench.dm" +#include "code\modules\martial_arts\combos\sleeping_carp\kneehaul.dm" +#include "code\modules\martial_arts\combos\sleeping_carp\gnashing_teeth.dm" #include "code\modules\maze_generation\maze_generator.dm" #include "code\modules\maze_generation\maze_generator_blockwise.dm" #include "code\modules\maze_generation\maze_helper_atoms.dm" From de9f36fd8a6b843ad7f4dd6c2be407156d8f13d8 Mon Sep 17 00:00:00 2001 From: hal9000PR Date: Thu, 1 Apr 2021 17:06:54 +0100 Subject: [PATCH 08/18] logs sound important --- code/modules/martial_arts/sleeping_carp.dm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/code/modules/martial_arts/sleeping_carp.dm b/code/modules/martial_arts/sleeping_carp.dm index 3d3e5e8b135..278437e997d 100644 --- a/code/modules/martial_arts/sleeping_carp.dm +++ b/code/modules/martial_arts/sleeping_carp.dm @@ -13,6 +13,7 @@ var/obj/item/grab/G = D.grabbedby(A,1) if(G) G.state = GRAB_AGGRESSIVE //Instant aggressive grab + add_attack_logs(A, D, "Melee attacked with martial-art [src] : Grabbed", ATKLOG_ALL) return TRUE /datum/martial_art/the_sleeping_carp/harm_act(mob/living/carbon/human/A, mob/living/carbon/human/D) @@ -23,6 +24,7 @@ "[A] [atk_verb] you!") D.apply_damage(rand(10,15), BRUTE) playsound(get_turf(D), 'sound/weapons/punch1.ogg', 25, TRUE, -1) + add_attack_logs(A, D, "Melee attacked with martial-art [src] : Punched", ATKLOG_ALL) return TRUE /datum/martial_art/the_sleeping_carp/explaination_header(user) @@ -35,3 +37,6 @@ /datum/martial_art/the_sleeping_carp/remove(mob/living/carbon/human/H) . = ..() H.faction -= "carp"// :C + +/datum/martial_art/the_sleeping_carp/explaination_footer(user) + to_chat(user, "In addition, by having your throw mode on when being shot at, you enter an active defense mode where you will block and deflect all projectiles fired at you!") From fa4c5ba0708996512a1c22995506d346d0426f2b Mon Sep 17 00:00:00 2001 From: hal9000PR Date: Thu, 1 Apr 2021 21:04:24 +0100 Subject: [PATCH 09/18] why is this not working? --- code/modules/martial_arts/sleeping_carp.dm | 9 --------- 1 file changed, 9 deletions(-) diff --git a/code/modules/martial_arts/sleeping_carp.dm b/code/modules/martial_arts/sleeping_carp.dm index 79415ee7246..278437e997d 100644 --- a/code/modules/martial_arts/sleeping_carp.dm +++ b/code/modules/martial_arts/sleeping_carp.dm @@ -23,16 +23,7 @@ D.visible_message("[A] [atk_verb] [D]!", "[A] [atk_verb] you!") D.apply_damage(rand(10,15), BRUTE) -<<<<<<< HEAD playsound(get_turf(D), 'sound/weapons/punch1.ogg', 25, TRUE, -1) -======= - playsound(get_turf(D), 'sound/weapons/punch1.ogg', 25, 1, -1) - if(prob(50)) - A.say(pick("HUAH!", "HYA!", "CHOO!", "WUO!", "KYA!", "HUH!", "HIYOH!", "CARP STRIKE!", "CARP BITE!")) - if(prob(D.getBruteLoss()) && !D.lying) - D.visible_message("[D] stumbles and falls!", "The blow sends you to the ground!") - D.Weaken(4) ->>>>>>> upstream/master add_attack_logs(A, D, "Melee attacked with martial-art [src] : Punched", ATKLOG_ALL) return TRUE From 0059df19818501730b20a254260e836f20ed4576 Mon Sep 17 00:00:00 2001 From: hal9000PR Date: Sat, 3 Apr 2021 13:09:00 +0100 Subject: [PATCH 10/18] steel review --- .../martial_arts/combos/sleeping_carp/gnashing_teeth.dm | 2 +- .../combos/sleeping_carp/{kneehaul.dm => keehaul.dm} | 8 ++++---- code/modules/martial_arts/martial.dm | 8 ++++++-- code/modules/martial_arts/sleeping_carp.dm | 7 ++++++- code/modules/mob/living/carbon/human/human_defense.dm | 8 ++++---- paradise.dme | 2 +- 6 files changed, 22 insertions(+), 13 deletions(-) rename code/modules/martial_arts/combos/sleeping_carp/{kneehaul.dm => keehaul.dm} (75%) diff --git a/code/modules/martial_arts/combos/sleeping_carp/gnashing_teeth.dm b/code/modules/martial_arts/combos/sleeping_carp/gnashing_teeth.dm index e1a95f2ba35..8d5f07149ce 100644 --- a/code/modules/martial_arts/combos/sleeping_carp/gnashing_teeth.dm +++ b/code/modules/martial_arts/combos/sleeping_carp/gnashing_teeth.dm @@ -1,7 +1,7 @@ /datum/martial_combo/sleeping_carp/gnashing_teeth name = "Gnashing Teeth" steps = list(MARTIAL_COMBO_STEP_HARM, MARTIAL_COMBO_STEP_HARM) - explaination_text = "Every second, concequtive, punch will deal extra damage and you will shout to send fear into your opponents heart" + explaination_text = "Every second, consecutive, punch will deal extra damage and you will shout to send fear into your opponents heart" /datum/martial_combo/sleeping_carp/gnashing_teeth/perform_combo(mob/living/carbon/human/user, mob/living/target, datum/martial_art/MA) user.do_attack_animation(target, ATTACK_EFFECT_PUNCH) diff --git a/code/modules/martial_arts/combos/sleeping_carp/kneehaul.dm b/code/modules/martial_arts/combos/sleeping_carp/keehaul.dm similarity index 75% rename from code/modules/martial_arts/combos/sleeping_carp/kneehaul.dm rename to code/modules/martial_arts/combos/sleeping_carp/keehaul.dm index 27791aa0796..6aad38bfb6a 100644 --- a/code/modules/martial_arts/combos/sleeping_carp/kneehaul.dm +++ b/code/modules/martial_arts/combos/sleeping_carp/keehaul.dm @@ -1,9 +1,9 @@ -/datum/martial_combo/sleeping_carp/kneehaul - name = "Kneehaul" +/datum/martial_combo/sleeping_carp/keehaul + name = "Keehaul" steps = list(MARTIAL_COMBO_STEP_HARM, MARTIAL_COMBO_STEP_GRAB) - explaination_text = "Kick an opponent to the floor, knocking them down and dealing stamina damage to them! " + explaination_text = "Kick an opponent to the floor, knocking them down and dealing stamina damage to them!" -/datum/martial_combo/sleeping_carp/kneehaul/perform_combo(mob/living/carbon/human/user, mob/living/target, datum/martial_art/MA) +/datum/martial_combo/sleeping_carp/keehaul/perform_combo(mob/living/carbon/human/user, mob/living/target, datum/martial_art/MA) user.do_attack_animation(target, ATTACK_EFFECT_KICK) playsound(get_turf(target), 'sound/effects/hit_kick.ogg', 50, TRUE, -1) target.apply_damage(10, BRUTE, BODY_ZONE_HEAD) diff --git a/code/modules/martial_arts/martial.dm b/code/modules/martial_arts/martial.dm index bef5fe73ef2..b9602353fa9 100644 --- a/code/modules/martial_arts/martial.dm +++ b/code/modules/martial_arts/martial.dm @@ -29,7 +29,7 @@ var/list/datum/martial_art/current_combos = list() /// When the last hit happened var/last_hit = 0 - // If the user is preparing a martial arts stance + /// If the user is preparing a martial arts stance var/in_stance = FALSE /datum/martial_art/New() @@ -189,6 +189,11 @@ /datum/martial_art/proc/explaination_footer(user) return +/datum/martial_art/proc/try_deflect(mob/user) + if(prob(deflection_chance)) + return TRUE + return FALSE + //ITEMS /obj/item/clothing/gloves/boxing @@ -278,7 +283,6 @@ var/datum/martial_art/the_sleeping_carp/theSleepingCarp = new(null) theSleepingCarp.teach(user) - user.faction |= list("carp") //makes space carp peaceful to sleeping carp users user.drop_item() visible_message("[src] lights up in fire and quickly burns to ash.") new /obj/effect/decal/cleanable/ash(get_turf(src)) diff --git a/code/modules/martial_arts/sleeping_carp.dm b/code/modules/martial_arts/sleeping_carp.dm index 278437e997d..2ae60ba75b3 100644 --- a/code/modules/martial_arts/sleeping_carp.dm +++ b/code/modules/martial_arts/sleeping_carp.dm @@ -6,7 +6,7 @@ no_guns = TRUE no_guns_message = "Use of ranged weaponry would bring dishonor to the clan." has_explaination_verb = TRUE - combos = list(/datum/martial_combo/sleeping_carp/crashing_kick, /datum/martial_combo/sleeping_carp/kneehaul, /datum/martial_combo/sleeping_carp/gnashing_teeth) + combos = list(/datum/martial_combo/sleeping_carp/crashing_kick, /datum/martial_combo/sleeping_carp/keehaul, /datum/martial_combo/sleeping_carp/gnashing_teeth) /datum/martial_art/the_sleeping_carp/grab_act(mob/living/carbon/human/A, mob/living/carbon/human/D) MARTIAL_ARTS_ACT_CHECK @@ -40,3 +40,8 @@ /datum/martial_art/the_sleeping_carp/explaination_footer(user) to_chat(user, "In addition, by having your throw mode on when being shot at, you enter an active defense mode where you will block and deflect all projectiles fired at you!") + +/datum/martial_art/the_sleeping_carp/try_deflect(mob/user) + if(user.in_throw_mode && prob(deflection_chance)) // in case an admin wants to var edit carp to have less deflection chance + return TRUE + return FALSE diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 2277f3cc773..19d9437b52a 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -36,8 +36,8 @@ emp_act P.on_hit(src, 100, def_zone) return 2 - if(mind?.martial_art?.deflection_chance && in_throw_mode) //Some martial arts users can deflect projectiles! - if(!lying && !HAS_TRAIT(src, TRAIT_HULK) && prob(mind.martial_art.deflection_chance)) //But only if they're not lying down, and hulks can't do it + if(mind?.martial_art?.deflection_chance) //Some martial arts users can deflect projectiles! + if(!lying && !HAS_TRAIT(src, TRAIT_HULK) && mind?.martial_art?.try_deflect(src)) //But only if they're not lying down, and hulks can't do it add_attack_logs(P.firer, src, "hit by [P.type] but got deflected by martial arts '[mind.martial_art]'") visible_message("[src] deflects the projectile; [p_they()] can't be hit with ranged weapons!", "You deflect the projectile!") playsound(src, pick('sound/weapons/bulletflyby.ogg', 'sound/weapons/bulletflyby2.ogg', 'sound/weapons/bulletflyby3.ogg'), 75, TRUE) @@ -45,8 +45,8 @@ emp_act P.firer = src P.setAngle(rand(0, 360)) return -1 - else - return FALSE + else + return FALSE var/obj/item/organ/external/organ = get_organ(check_zone(def_zone)) if(isnull(organ)) diff --git a/paradise.dme b/paradise.dme index f9d0e893bbd..06f6a993e65 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1705,7 +1705,7 @@ #include "code\modules\martial_arts\combos\plasma_fist\throwback.dm" #include "code\modules\martial_arts\combos\plasma_fist\tornado_sweep.dm" #include "code\modules\martial_arts\combos\sleeping_carp\crashing_kick.dm" -#include "code\modules\martial_arts\combos\sleeping_carp\kneehaul.dm" +#include "code\modules\martial_arts\combos\sleeping_carp\keehaul.dm" #include "code\modules\martial_arts\combos\sleeping_carp\gnashing_teeth.dm" #include "code\modules\maze_generation\maze_generator.dm" #include "code\modules\maze_generation\maze_generator_blockwise.dm" From d55d6759ad5dad77d3c93349017a058356019e01 Mon Sep 17 00:00:00 2001 From: hal9000PR Date: Sat, 3 Apr 2021 17:36:38 +0100 Subject: [PATCH 11/18] cleans up code --- code/modules/martial_arts/martial.dm | 4 +--- code/modules/martial_arts/sleeping_carp.dm | 4 +--- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/code/modules/martial_arts/martial.dm b/code/modules/martial_arts/martial.dm index b9602353fa9..cb477d409f8 100644 --- a/code/modules/martial_arts/martial.dm +++ b/code/modules/martial_arts/martial.dm @@ -190,9 +190,7 @@ return /datum/martial_art/proc/try_deflect(mob/user) - if(prob(deflection_chance)) - return TRUE - return FALSE + return prob(deflection_chance) //ITEMS diff --git a/code/modules/martial_arts/sleeping_carp.dm b/code/modules/martial_arts/sleeping_carp.dm index 2ae60ba75b3..416adc89ebe 100644 --- a/code/modules/martial_arts/sleeping_carp.dm +++ b/code/modules/martial_arts/sleeping_carp.dm @@ -42,6 +42,4 @@ to_chat(user, "In addition, by having your throw mode on when being shot at, you enter an active defense mode where you will block and deflect all projectiles fired at you!") /datum/martial_art/the_sleeping_carp/try_deflect(mob/user) - if(user.in_throw_mode && prob(deflection_chance)) // in case an admin wants to var edit carp to have less deflection chance - return TRUE - return FALSE + return ..() && user.in_throw_mode // in case an admin wants to var edit carp to have less deflection chance From e2bd977238907dfa90045badec57fe2a0613f71f Mon Sep 17 00:00:00 2001 From: hal9000PR Date: Wed, 14 Apr 2021 21:31:12 +0100 Subject: [PATCH 12/18] couple fixes, spellings, styling changes. --- code/datums/uplink_item.dm | 2 +- .../combos/sleeping_carp/crashing_kick.dm | 18 ++++++++++-------- .../combos/sleeping_carp/gnashing_teeth.dm | 6 +++--- .../combos/sleeping_carp/keehaul.dm | 10 +++++----- code/modules/martial_arts/martial.dm | 6 ------ code/modules/martial_arts/sleeping_carp.dm | 6 +++++- 6 files changed, 24 insertions(+), 24 deletions(-) diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm index 5ce793536a4..e21e573fa2a 100644 --- a/code/datums/uplink_item.dm +++ b/code/datums/uplink_item.dm @@ -849,7 +849,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) /datum/uplink_item/stealthy_weapons/martialarts name = "Martial Arts Scroll" desc = "This scroll contains the secrets of an ancient martial arts technique. You will master unarmed combat, \ - deflecting all ranged weapon fire, but you also refuse to use dishonorable ranged weaponry. \ + deflecting ranged weapon fire when we are in a defensive stance, but you also refuse to use dishonorable ranged weaponry. \ Unable to be understood by vampire and changeling agents." reference = "SCS" item = /obj/item/sleeping_carp_scroll diff --git a/code/modules/martial_arts/combos/sleeping_carp/crashing_kick.dm b/code/modules/martial_arts/combos/sleeping_carp/crashing_kick.dm index edd850baa1d..98f1836b601 100644 --- a/code/modules/martial_arts/combos/sleeping_carp/crashing_kick.dm +++ b/code/modules/martial_arts/combos/sleeping_carp/crashing_kick.dm @@ -4,12 +4,14 @@ explaination_text = "Kicks the target square in the chest, sending them flying." /datum/martial_combo/sleeping_carp/crashing_kick/perform_combo(mob/living/carbon/human/user, mob/living/target, datum/martial_art/MA) - user.do_attack_animation(target, ATTACK_EFFECT_KICK) - target.visible_message("[user] kicks [target] square in the chest, sending them flying!", + if(target != user) // no you cannot kick yourself across rooms + user.do_attack_animation(target, ATTACK_EFFECT_KICK) + target.visible_message("[user] kicks [target] square in the chest, sending them flying!", "You are kicked square in the chest by [user], sending you flying!",) - playsound(get_turf(target), 'sound/effects/hit_kick.ogg', 50, TRUE, -1) - var/atom/throw_target = get_edge_target_turf(target, user.dir) - target.throw_at(throw_target, 7, 14, user) - target.apply_damage(15, BRUTE, BODY_ZONE_CHEST) - add_attack_logs(user, target, "Melee attacked with martial-art [src] : Crashing Waves Kick", ATKLOG_ALL) - return MARTIAL_COMBO_DONE + playsound(get_turf(target), 'sound/effects/hit_kick.ogg', 50, TRUE, -1) + var/atom/throw_target = get_edge_target_turf(target, user.dir) + target.throw_at(throw_target, 7, 14, user) + target.apply_damage(15, BRUTE, BODY_ZONE_CHEST) + add_attack_logs(user, target, "Melee attacked with martial-art [MA] : Crashing Waves Kick", ATKLOG_ALL) + return MARTIAL_COMBO_DONE + return MARTIAL_COMBO_DONE_BASIC_HIT diff --git a/code/modules/martial_arts/combos/sleeping_carp/gnashing_teeth.dm b/code/modules/martial_arts/combos/sleeping_carp/gnashing_teeth.dm index 8d5f07149ce..4711a0115de 100644 --- a/code/modules/martial_arts/combos/sleeping_carp/gnashing_teeth.dm +++ b/code/modules/martial_arts/combos/sleeping_carp/gnashing_teeth.dm @@ -1,7 +1,7 @@ /datum/martial_combo/sleeping_carp/gnashing_teeth name = "Gnashing Teeth" steps = list(MARTIAL_COMBO_STEP_HARM, MARTIAL_COMBO_STEP_HARM) - explaination_text = "Every second, consecutive, punch will deal extra damage and you will shout to send fear into your opponents heart" + explaination_text = "Every second consecutive punch deals extra damage, and you will shout to strike fear into your opponent's heart." /datum/martial_combo/sleeping_carp/gnashing_teeth/perform_combo(mob/living/carbon/human/user, mob/living/target, datum/martial_art/MA) user.do_attack_animation(target, ATTACK_EFFECT_PUNCH) @@ -9,9 +9,9 @@ target.visible_message("[user] [atk_verb]s [target]!", "[user] [atk_verb]s you!") playsound(get_turf(target), 'sound/weapons/punch1.ogg', 35, TRUE, -1) - add_attack_logs(user, target, "Melee attacked with martial-art [src] : Gnashing Teeth", ATKLOG_ALL) + add_attack_logs(user, target, "Melee attacked with martial-art [MA] : Gnashing Teeth", ATKLOG_ALL) target.apply_damage(20, BRUTE) - if(target.stat) + if(target.health >= 0) user.say(pick("HUAH!", "HYA!", "CHOO!", "WUO!", "KYA!", "HUH!", "HIYOH!", "CARP STRIKE!", "CARP BITE!")) else user.say(pick("BANZAIII!", "KIYAAAA!", "OMAE WA MOU SHINDEIRU!", "YOU CAN'T SEE ME!", "MY TIME IS NOW!", "COWABUNGA")) // COWABUNGA diff --git a/code/modules/martial_arts/combos/sleeping_carp/keehaul.dm b/code/modules/martial_arts/combos/sleeping_carp/keehaul.dm index 6aad38bfb6a..031920791e2 100644 --- a/code/modules/martial_arts/combos/sleeping_carp/keehaul.dm +++ b/code/modules/martial_arts/combos/sleeping_carp/keehaul.dm @@ -1,9 +1,9 @@ -/datum/martial_combo/sleeping_carp/keehaul - name = "Keehaul" +/datum/martial_combo/sleeping_carp/keelhaul + name = "Keelhaul" steps = list(MARTIAL_COMBO_STEP_HARM, MARTIAL_COMBO_STEP_GRAB) - explaination_text = "Kick an opponent to the floor, knocking them down and dealing stamina damage to them!" + explaination_text = "Kicks an opponent to the floor, knocking them down and dealing stamina damage to them!" -/datum/martial_combo/sleeping_carp/keehaul/perform_combo(mob/living/carbon/human/user, mob/living/target, datum/martial_art/MA) +/datum/martial_combo/sleeping_carp/keelhaul/perform_combo(mob/living/carbon/human/user, mob/living/target, datum/martial_art/MA) user.do_attack_animation(target, ATTACK_EFFECT_KICK) playsound(get_turf(target), 'sound/effects/hit_kick.ogg', 50, TRUE, -1) target.apply_damage(10, BRUTE, BODY_ZONE_HEAD) @@ -11,5 +11,5 @@ target.Weaken(2) target.visible_message("[user] kicks [target] in the head, sending them face first into the floor!", "You are kicked in the head by [user], sending you crashing to the floor!",) - add_attack_logs(user, target, "Melee attacked with martial-art [src] : Kneehaul", ATKLOG_ALL) + add_attack_logs(user, target, "Melee attacked with martial-art [MA] : Keelhaul", ATKLOG_ALL) return MARTIAL_COMBO_DONE diff --git a/code/modules/martial_arts/martial.dm b/code/modules/martial_arts/martial.dm index cb477d409f8..6a2abc4e84e 100644 --- a/code/modules/martial_arts/martial.dm +++ b/code/modules/martial_arts/martial.dm @@ -273,12 +273,6 @@ to_chat(user, "Your blood lust distracts you too much to be able to concentrate on the contents of the scroll!") return - to_chat(user, "You have learned the ancient martial art of the Sleeping Carp! \ - Your hand-to-hand combat has become much more effective, and you are now able to deflect any projectiles directed toward you. \ - However, you are also unable to use any ranged weaponry. \ - You can learn more about your newfound art by using the Recall Teachings verb in the Sleeping Carp tab.") - - var/datum/martial_art/the_sleeping_carp/theSleepingCarp = new(null) theSleepingCarp.teach(user) user.drop_item() diff --git a/code/modules/martial_arts/sleeping_carp.dm b/code/modules/martial_arts/sleeping_carp.dm index 416adc89ebe..6636e95b979 100644 --- a/code/modules/martial_arts/sleeping_carp.dm +++ b/code/modules/martial_arts/sleeping_carp.dm @@ -6,7 +6,7 @@ no_guns = TRUE no_guns_message = "Use of ranged weaponry would bring dishonor to the clan." has_explaination_verb = TRUE - combos = list(/datum/martial_combo/sleeping_carp/crashing_kick, /datum/martial_combo/sleeping_carp/keehaul, /datum/martial_combo/sleeping_carp/gnashing_teeth) + combos = list(/datum/martial_combo/sleeping_carp/crashing_kick, /datum/martial_combo/sleeping_carp/keelhaul, /datum/martial_combo/sleeping_carp/gnashing_teeth) /datum/martial_art/the_sleeping_carp/grab_act(mob/living/carbon/human/A, mob/living/carbon/human/D) MARTIAL_ARTS_ACT_CHECK @@ -33,6 +33,10 @@ /datum/martial_art/the_sleeping_carp/teach(mob/living/carbon/human/H, make_temporary) . = ..() H.faction |= "carp"// :D + to_chat(H, "You have learned the ancient martial art of the Sleeping Carp! \ + Your hand-to-hand combat has become much more effective, and you are now able to deflect any projectiles directed toward you when in throw mode. \ + However, you are also unable to use any ranged weaponry. \ + You can learn more about your newfound art by using the Recall Teachings verb in the Sleeping Carp tab.") /datum/martial_art/the_sleeping_carp/remove(mob/living/carbon/human/H) . = ..() From 795b941ba31870018d4bf5929d2e9cb42940b936 Mon Sep 17 00:00:00 2001 From: hal9000PR <69320440+hal9000PR@users.noreply.github.com> Date: Fri, 14 May 2021 22:40:03 +0100 Subject: [PATCH 13/18] Review stuff Co-authored-by: S34N <12197162+S34NW@users.noreply.github.com> Co-authored-by: dearmochi --- code/datums/uplink_item.dm | 2 +- .../martial_arts/combos/sleeping_carp/crashing_kick.dm | 4 ++-- code/modules/martial_arts/combos/sleeping_carp/keehaul.dm | 2 +- code/modules/martial_arts/sleeping_carp.dm | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm index e21e573fa2a..34cb5061dd1 100644 --- a/code/datums/uplink_item.dm +++ b/code/datums/uplink_item.dm @@ -849,7 +849,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) /datum/uplink_item/stealthy_weapons/martialarts name = "Martial Arts Scroll" desc = "This scroll contains the secrets of an ancient martial arts technique. You will master unarmed combat, \ - deflecting ranged weapon fire when we are in a defensive stance, but you also refuse to use dishonorable ranged weaponry. \ + deflecting ranged weapon fire when you are in a defensive stance (throw mode). Learning this art means you will also refuse to use dishonorable ranged weaponry. \ Unable to be understood by vampire and changeling agents." reference = "SCS" item = /obj/item/sleeping_carp_scroll diff --git a/code/modules/martial_arts/combos/sleeping_carp/crashing_kick.dm b/code/modules/martial_arts/combos/sleeping_carp/crashing_kick.dm index 98f1836b601..ad2f48f416b 100644 --- a/code/modules/martial_arts/combos/sleeping_carp/crashing_kick.dm +++ b/code/modules/martial_arts/combos/sleeping_carp/crashing_kick.dm @@ -7,8 +7,8 @@ if(target != user) // no you cannot kick yourself across rooms user.do_attack_animation(target, ATTACK_EFFECT_KICK) target.visible_message("[user] kicks [target] square in the chest, sending them flying!", - "You are kicked square in the chest by [user], sending you flying!",) - playsound(get_turf(target), 'sound/effects/hit_kick.ogg', 50, TRUE, -1) + "You are kicked square in the chest by [user], sending you flying!") + playsound(target, 'sound/effects/hit_kick.ogg', 50, TRUE, -1) var/atom/throw_target = get_edge_target_turf(target, user.dir) target.throw_at(throw_target, 7, 14, user) target.apply_damage(15, BRUTE, BODY_ZONE_CHEST) diff --git a/code/modules/martial_arts/combos/sleeping_carp/keehaul.dm b/code/modules/martial_arts/combos/sleeping_carp/keehaul.dm index 031920791e2..16b3888e5ac 100644 --- a/code/modules/martial_arts/combos/sleeping_carp/keehaul.dm +++ b/code/modules/martial_arts/combos/sleeping_carp/keehaul.dm @@ -10,6 +10,6 @@ target.apply_damage(40, STAMINA) target.Weaken(2) target.visible_message("[user] kicks [target] in the head, sending them face first into the floor!", - "You are kicked in the head by [user], sending you crashing to the floor!",) + "You are kicked in the head by [user], sending you crashing to the floor!") add_attack_logs(user, target, "Melee attacked with martial-art [MA] : Keelhaul", ATKLOG_ALL) return MARTIAL_COMBO_DONE diff --git a/code/modules/martial_arts/sleeping_carp.dm b/code/modules/martial_arts/sleeping_carp.dm index 6636e95b979..72a49fe0bb6 100644 --- a/code/modules/martial_arts/sleeping_carp.dm +++ b/code/modules/martial_arts/sleeping_carp.dm @@ -43,7 +43,7 @@ H.faction -= "carp"// :C /datum/martial_art/the_sleeping_carp/explaination_footer(user) - to_chat(user, "In addition, by having your throw mode on when being shot at, you enter an active defense mode where you will block and deflect all projectiles fired at you!") + to_chat(user, "In addition, by having your throw mode on when being shot at, you enter an active defensive mode where you will block and deflect all projectiles fired at you!") /datum/martial_art/the_sleeping_carp/try_deflect(mob/user) return ..() && user.in_throw_mode // in case an admin wants to var edit carp to have less deflection chance From 6fa31d2f72c712d3015a4bf8c7ffc31cfac1e73e Mon Sep 17 00:00:00 2001 From: hal9000PR <69320440+hal9000PR@users.noreply.github.com> Date: Sun, 25 Jul 2021 14:25:16 +0100 Subject: [PATCH 14/18] sabre review Co-authored-by: SabreML <57483089+SabreML@users.noreply.github.com> --- .../combos/sleeping_carp/gnashing_teeth.dm | 10 +++++----- code/modules/martial_arts/martial.dm | 4 ++-- code/modules/martial_arts/sleeping_carp.dm | 4 ++-- code/modules/mob/living/carbon/human/human_defense.dm | 2 +- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/code/modules/martial_arts/combos/sleeping_carp/gnashing_teeth.dm b/code/modules/martial_arts/combos/sleeping_carp/gnashing_teeth.dm index 4711a0115de..b916ca13e03 100644 --- a/code/modules/martial_arts/combos/sleeping_carp/gnashing_teeth.dm +++ b/code/modules/martial_arts/combos/sleeping_carp/gnashing_teeth.dm @@ -5,14 +5,14 @@ /datum/martial_combo/sleeping_carp/gnashing_teeth/perform_combo(mob/living/carbon/human/user, mob/living/target, datum/martial_art/MA) user.do_attack_animation(target, ATTACK_EFFECT_PUNCH) - var/atk_verb = pick("precisely kick", "brutally chop", "cleanly hit", "viciously slam") - target.visible_message("[user] [atk_verb]s [target]!", - "[user] [atk_verb]s you!") + var/atk_verb = pick("precisely kicks", "brutally chops", "cleanly hits", "viciously slams") + target.visible_message("[user] [atk_verb] [target]!", + "[user] [atk_verb] you!") playsound(get_turf(target), 'sound/weapons/punch1.ogg', 35, TRUE, -1) - add_attack_logs(user, target, "Melee attacked with martial-art [MA] : Gnashing Teeth", ATKLOG_ALL) + add_attack_logs(user, target, "Melee attacked with martial-art [MA] : Gnashing Teeth", ATKLOG_ALL) target.apply_damage(20, BRUTE) if(target.health >= 0) user.say(pick("HUAH!", "HYA!", "CHOO!", "WUO!", "KYA!", "HUH!", "HIYOH!", "CARP STRIKE!", "CARP BITE!")) else - user.say(pick("BANZAIII!", "KIYAAAA!", "OMAE WA MOU SHINDEIRU!", "YOU CAN'T SEE ME!", "MY TIME IS NOW!", "COWABUNGA")) // COWABUNGA + user.say(pick("BANZAIII!", "KIYAAAA!", "OMAE WA MOU SHINDEIRU!", "YOU CAN'T SEE ME!", "MY TIME IS NOW!", "COWABUNGA!")) // COWABUNGA return MARTIAL_COMBO_DONE diff --git a/code/modules/martial_arts/martial.dm b/code/modules/martial_arts/martial.dm index 6a2abc4e84e..34e21afc1a8 100644 --- a/code/modules/martial_arts/martial.dm +++ b/code/modules/martial_arts/martial.dm @@ -15,9 +15,9 @@ ///Chance to block melee attacks using items while on throw mode. var/block_chance = 0 var/help_verb = null - ///set to TRUE to prevent users of this style from using guns (sleeping carp, highlander). They can still pick them up, but not fire them. + /// Set to TRUE to prevent users of this style from using guns (sleeping carp, highlander). They can still pick them up, but not fire them. var/no_guns = FALSE - ///message to tell the style user if they try and use a gun while no_guns = TRUE (DISHONORABRU!) + /// Message to tell the style user if they try and use a gun while no_guns = TRUE (DISHONORABRU!) var/no_guns_message = "" /// If the martial art has it's own explaination verb diff --git a/code/modules/martial_arts/sleeping_carp.dm b/code/modules/martial_arts/sleeping_carp.dm index 72a49fe0bb6..9bc1df34751 100644 --- a/code/modules/martial_arts/sleeping_carp.dm +++ b/code/modules/martial_arts/sleeping_carp.dm @@ -22,7 +22,7 @@ var/atk_verb = pick("punches", "kicks", "chops", "hits", "slams") D.visible_message("[A] [atk_verb] [D]!", "[A] [atk_verb] you!") - D.apply_damage(rand(10,15), BRUTE) + D.apply_damage(rand(10, 15), BRUTE) playsound(get_turf(D), 'sound/weapons/punch1.ogg', 25, TRUE, -1) add_attack_logs(A, D, "Melee attacked with martial-art [src] : Punched", ATKLOG_ALL) return TRUE @@ -46,4 +46,4 @@ to_chat(user, "In addition, by having your throw mode on when being shot at, you enter an active defensive mode where you will block and deflect all projectiles fired at you!") /datum/martial_art/the_sleeping_carp/try_deflect(mob/user) - return ..() && user.in_throw_mode // in case an admin wants to var edit carp to have less deflection chance + return user.in_throw_mode && ..() // in case an admin wants to var edit carp to have less deflection chance diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 19d9437b52a..f10950bf141 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -37,7 +37,7 @@ emp_act return 2 if(mind?.martial_art?.deflection_chance) //Some martial arts users can deflect projectiles! - if(!lying && !HAS_TRAIT(src, TRAIT_HULK) && mind?.martial_art?.try_deflect(src)) //But only if they're not lying down, and hulks can't do it + if(!lying && !HAS_TRAIT(src, TRAIT_HULK) && mind.martial_art.try_deflect(src)) //But only if they're not lying down, and hulks can't do it add_attack_logs(P.firer, src, "hit by [P.type] but got deflected by martial arts '[mind.martial_art]'") visible_message("[src] deflects the projectile; [p_they()] can't be hit with ranged weapons!", "You deflect the projectile!") playsound(src, pick('sound/weapons/bulletflyby.ogg', 'sound/weapons/bulletflyby2.ogg', 'sound/weapons/bulletflyby3.ogg'), 75, TRUE) From 509d6075f8038deeab7849359dd3bd05186746c5 Mon Sep 17 00:00:00 2001 From: hal9000PR Date: Sun, 25 Jul 2021 14:28:55 +0100 Subject: [PATCH 15/18] review pt2 --- .../combos/sleeping_carp/{keehaul.dm => keelhaul.dm} | 0 code/modules/martial_arts/martial.dm | 12 ++++++------ paradise.dme | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) rename code/modules/martial_arts/combos/sleeping_carp/{keehaul.dm => keelhaul.dm} (100%) diff --git a/code/modules/martial_arts/combos/sleeping_carp/keehaul.dm b/code/modules/martial_arts/combos/sleeping_carp/keelhaul.dm similarity index 100% rename from code/modules/martial_arts/combos/sleeping_carp/keehaul.dm rename to code/modules/martial_arts/combos/sleeping_carp/keelhaul.dm diff --git a/code/modules/martial_arts/martial.dm b/code/modules/martial_arts/martial.dm index 34e21afc1a8..f961cc85c58 100644 --- a/code/modules/martial_arts/martial.dm +++ b/code/modules/martial_arts/martial.dm @@ -6,9 +6,9 @@ var/streak = "" var/max_streak_length = 6 var/temporary = FALSE - /// The permanent style + /// The permanent style. var/datum/martial_art/base = null - /// Chance to deflect projectiles while on throw mode + /// Chance to deflect projectiles while on throw mode. var/deflection_chance = 0 /// Can it reflect projectiles in a random direction? var/reroute_deflection = FALSE @@ -20,16 +20,16 @@ /// Message to tell the style user if they try and use a gun while no_guns = TRUE (DISHONORABRU!) var/no_guns_message = "" - /// If the martial art has it's own explaination verb + /// If the martial art has it's own explaination verb. var/has_explaination_verb = FALSE - /// What combos can the user do? List of combo types + /// What combos can the user do? List of combo types. var/list/combos = list() - /// What combos are currently (possibly) being performed + /// What combos are currently (possibly) being performed. var/list/datum/martial_art/current_combos = list() /// When the last hit happened var/last_hit = 0 - /// If the user is preparing a martial arts stance + /// If the user is preparing a martial arts stance. var/in_stance = FALSE /datum/martial_art/New() diff --git a/paradise.dme b/paradise.dme index 06f6a993e65..a988112a64f 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1705,8 +1705,8 @@ #include "code\modules\martial_arts\combos\plasma_fist\throwback.dm" #include "code\modules\martial_arts\combos\plasma_fist\tornado_sweep.dm" #include "code\modules\martial_arts\combos\sleeping_carp\crashing_kick.dm" -#include "code\modules\martial_arts\combos\sleeping_carp\keehaul.dm" #include "code\modules\martial_arts\combos\sleeping_carp\gnashing_teeth.dm" +#include "code\modules\martial_arts\combos\sleeping_carp\keelhaul.dm" #include "code\modules\maze_generation\maze_generator.dm" #include "code\modules\maze_generation\maze_generator_blockwise.dm" #include "code\modules\maze_generation\maze_helper_atoms.dm" From 86131efee5ac9295e50d94cb8265d68cf73be04a Mon Sep 17 00:00:00 2001 From: hal9000PR Date: Sun, 25 Jul 2021 14:41:03 +0100 Subject: [PATCH 16/18] one last thing. my bad. --- .../modules/martial_arts/combos/sleeping_carp/keelhaul.dm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/code/modules/martial_arts/combos/sleeping_carp/keelhaul.dm b/code/modules/martial_arts/combos/sleeping_carp/keelhaul.dm index 16b3888e5ac..a7ab8d93afc 100644 --- a/code/modules/martial_arts/combos/sleeping_carp/keelhaul.dm +++ b/code/modules/martial_arts/combos/sleeping_carp/keelhaul.dm @@ -8,8 +8,12 @@ playsound(get_turf(target), 'sound/effects/hit_kick.ogg', 50, TRUE, -1) target.apply_damage(10, BRUTE, BODY_ZONE_HEAD) target.apply_damage(40, STAMINA) - target.Weaken(2) - target.visible_message("[user] kicks [target] in the head, sending them face first into the floor!", + if(!target.IsWeakened() && !target.resting && !target.stat) + target.visible_message("[user] kicks [target] in the head, sending them face first into the floor!", "You are kicked in the head by [user], sending you crashing to the floor!") + else + target.visible_message("[user] kicks [target] in the head, leaving them reeling in pain!", + "You are kicked in the head by [user], and you reel in pain!") + target.Weaken(2) add_attack_logs(user, target, "Melee attacked with martial-art [MA] : Keelhaul", ATKLOG_ALL) return MARTIAL_COMBO_DONE From 9d7a037ccab4d40223aa15cf54a6fe77bb8219a6 Mon Sep 17 00:00:00 2001 From: hal9000PR <69320440+hal9000PR@users.noreply.github.com> Date: Mon, 26 Jul 2021 09:08:28 +0100 Subject: [PATCH 17/18] Final thing i SWEAR Co-authored-by: SabreML <57483089+SabreML@users.noreply.github.com> --- code/modules/martial_arts/martial.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/martial_arts/martial.dm b/code/modules/martial_arts/martial.dm index f961cc85c58..c43f745d4cb 100644 --- a/code/modules/martial_arts/martial.dm +++ b/code/modules/martial_arts/martial.dm @@ -27,7 +27,7 @@ var/list/combos = list() /// What combos are currently (possibly) being performed. var/list/datum/martial_art/current_combos = list() - /// When the last hit happened + /// When the last hit happened. var/last_hit = 0 /// If the user is preparing a martial arts stance. var/in_stance = FALSE From 9aa3d12314126b323e62d7a432a550bc6d6bd995 Mon Sep 17 00:00:00 2001 From: hal9000PR Date: Mon, 26 Jul 2021 23:11:19 +0100 Subject: [PATCH 18/18] fox's requests --- .../martial_arts/combos/sleeping_carp/gnashing_teeth.dm | 4 ++-- code/modules/martial_arts/combos/sleeping_carp/keelhaul.dm | 7 ++++--- code/modules/martial_arts/sleeping_carp.dm | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/code/modules/martial_arts/combos/sleeping_carp/gnashing_teeth.dm b/code/modules/martial_arts/combos/sleeping_carp/gnashing_teeth.dm index b916ca13e03..79abc4b2e40 100644 --- a/code/modules/martial_arts/combos/sleeping_carp/gnashing_teeth.dm +++ b/code/modules/martial_arts/combos/sleeping_carp/gnashing_teeth.dm @@ -8,9 +8,9 @@ var/atk_verb = pick("precisely kicks", "brutally chops", "cleanly hits", "viciously slams") target.visible_message("[user] [atk_verb] [target]!", "[user] [atk_verb] you!") - playsound(get_turf(target), 'sound/weapons/punch1.ogg', 35, TRUE, -1) + playsound(get_turf(target), 'sound/weapons/punch1.ogg', 25, TRUE, -1) add_attack_logs(user, target, "Melee attacked with martial-art [MA] : Gnashing Teeth", ATKLOG_ALL) - target.apply_damage(20, BRUTE) + target.apply_damage(20, BRUTE, user.zone_selected) if(target.health >= 0) user.say(pick("HUAH!", "HYA!", "CHOO!", "WUO!", "KYA!", "HUH!", "HIYOH!", "CARP STRIKE!", "CARP BITE!")) else diff --git a/code/modules/martial_arts/combos/sleeping_carp/keelhaul.dm b/code/modules/martial_arts/combos/sleeping_carp/keelhaul.dm index a7ab8d93afc..1deabdd2d15 100644 --- a/code/modules/martial_arts/combos/sleeping_carp/keelhaul.dm +++ b/code/modules/martial_arts/combos/sleeping_carp/keelhaul.dm @@ -6,14 +6,15 @@ /datum/martial_combo/sleeping_carp/keelhaul/perform_combo(mob/living/carbon/human/user, mob/living/target, datum/martial_art/MA) user.do_attack_animation(target, ATTACK_EFFECT_KICK) playsound(get_turf(target), 'sound/effects/hit_kick.ogg', 50, TRUE, -1) - target.apply_damage(10, BRUTE, BODY_ZONE_HEAD) - target.apply_damage(40, STAMINA) if(!target.IsWeakened() && !target.resting && !target.stat) + target.apply_damage(10, BRUTE, BODY_ZONE_HEAD) + target.Weaken(2) target.visible_message("[user] kicks [target] in the head, sending them face first into the floor!", "You are kicked in the head by [user], sending you crashing to the floor!") else + target.apply_damage(5, BRUTE, BODY_ZONE_HEAD) target.visible_message("[user] kicks [target] in the head, leaving them reeling in pain!", "You are kicked in the head by [user], and you reel in pain!") - target.Weaken(2) + target.apply_damage(40, STAMINA) add_attack_logs(user, target, "Melee attacked with martial-art [MA] : Keelhaul", ATKLOG_ALL) return MARTIAL_COMBO_DONE diff --git a/code/modules/martial_arts/sleeping_carp.dm b/code/modules/martial_arts/sleeping_carp.dm index 9bc1df34751..bc6f15301d5 100644 --- a/code/modules/martial_arts/sleeping_carp.dm +++ b/code/modules/martial_arts/sleeping_carp.dm @@ -22,7 +22,7 @@ var/atk_verb = pick("punches", "kicks", "chops", "hits", "slams") D.visible_message("[A] [atk_verb] [D]!", "[A] [atk_verb] you!") - D.apply_damage(rand(10, 15), BRUTE) + D.apply_damage(rand(10, 15), BRUTE, A.zone_selected) playsound(get_turf(D), 'sound/weapons/punch1.ogg', 25, TRUE, -1) add_attack_logs(A, D, "Melee attacked with martial-art [src] : Punched", ATKLOG_ALL) return TRUE