From 739a4b908462bbad80072e1190afb6e67fbaa3d0 Mon Sep 17 00:00:00 2001 From: necromanceranne Date: Wed, 19 Feb 2020 22:08:58 +1100 Subject: [PATCH 01/12] working hard or hardly working just like this code probably --- code/datums/martial/sleeping_carp.dm | 215 ++++++++++----------------- 1 file changed, 81 insertions(+), 134 deletions(-) diff --git a/code/datums/martial/sleeping_carp.dm b/code/datums/martial/sleeping_carp.dm index c8f158285f7..5a7c3bbd7e4 100644 --- a/code/datums/martial/sleeping_carp.dm +++ b/code/datums/martial/sleeping_carp.dm @@ -1,132 +1,60 @@ -#define WRIST_WRENCH_COMBO "DD" -#define BACK_KICK_COMBO "HG" -#define STOMACH_KNEE_COMBO "GH" -#define HEAD_KICK_COMBO "DHH" -#define ELBOW_DROP_COMBO "HDHDH" +#define STRONG_PUNCH_COMBO "HH" +#define LAUNCH_KICK_COMBO "HD" +#define DROP_KICK_COMBO "HG" /datum/martial_art/the_sleeping_carp name = "The Sleeping Carp" id = MARTIALART_SLEEPINGCARP allow_temp_override = FALSE help_verb = /mob/living/carbon/human/proc/sleeping_carp_help - smashes_tables = TRUE - var/old_grab_state = null - + var/datum/action/slipstream/slipstream = new/datum/action/slipstream() + var/datum/action/roused_anger/rousedanger = new/datum/action/roused_anger() + /datum/martial_art/the_sleeping_carp/proc/check_streak(mob/living/carbon/human/A, mob/living/carbon/human/D) - if(findtext(streak,WRIST_WRENCH_COMBO)) + if(findtext(streak,STRONG_PUNCH_COMBO)) streak = "" - wristWrench(A,D) + strongPunch(A,D) return TRUE - if(findtext(streak,BACK_KICK_COMBO)) + if(findtext(streak,LAUNCH_KICK_COMBO)) streak = "" - backKick(A,D) + launchKick(A,D) return TRUE - if(findtext(streak,STOMACH_KNEE_COMBO)) + if(findtext(streak,DROP_KICK_COMBO)) streak = "" - kneeStomach(A,D) - return TRUE - if(findtext(streak,HEAD_KICK_COMBO)) - streak = "" - headKick(A,D) - return TRUE - if(findtext(streak,ELBOW_DROP_COMBO)) - streak = "" - elbowDrop(A,D) + dropKick(A,D) return TRUE return FALSE -/datum/martial_art/the_sleeping_carp/proc/wristWrench(mob/living/carbon/human/A, mob/living/carbon/human/D) - if(!D.stat && !D.IsStun() && !D.IsParalyzed()) - log_combat(A, D, "wrist wrenched (Sleeping Carp)") - A.do_attack_animation(D, ATTACK_EFFECT_PUNCH) - D.visible_message("[A] grabs [D]'s wrist and wrenches it sideways!", \ - "Your wrist is grabbed and simultaneously wrenched to the side by [A]!", "You hear aggressive shuffling!", null, A) - to_chat(A, "You grab [D]'s wrist and wrench it sideways!") - playsound(get_turf(A), 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1) - D.emote("scream") - D.dropItemToGround(D.get_active_held_item()) - D.apply_damage(5, BRUTE, pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM)) - D.Stun(60) - return TRUE +/datum/martial_art/the_sleeping_carp/proc/strongPunch(mob/living/carbon/human/A, mob/living/carbon/human/D) + A.do_attack_animation(D, ATTACK_EFFECT_PUNCH) + var/atk_verb = pick("kick", "chop", "hit", "slam") + var/crit_damage = 0 + D.visible_message("[A] [atk_verb]s [D]!", \ + "[A] [atk_verb]s you!", null, null, A) + to_chat(A, "You [atk_verb] [D]!") + if(prob(10)) + crit_damage += 20 + playsound(get_turf(D), 'sound/weapons/bite.ogg', 25, TRUE, -) + D.visible_message("[D] sputters blood as the blow strikes them with inhuman force!", "You reel from the pain of the blow! [A] has struck you with inhuman strength and speed!") + else + playsound(get_turf(D), 'sound/weapons/punch1.ogg', 25, TRUE, -1) + D.apply_damage(20 + crit_damage, A.dna.species.attack_type) + log_combat(A, D, "strong punched (Sleeping Carp)") + return - return FALSE +/datum/martial_art/the_sleeping_carp/proc/launchKick(mob/living/carbon/human/A, mob/living/carbon/human/D) + + return -/datum/martial_art/the_sleeping_carp/proc/backKick(mob/living/carbon/human/A, mob/living/carbon/human/D) - if(!D.stat && !D.IsParalyzed()) - if(A.dir != D.dir) - log_combat(A, D, "missed a back-kick (Sleeping Carp) on") - D.visible_message("[A] tries to kick [D] in the back, but misses!", \ - "You avoid a kick in the back by [A]!", "You hear a swoosh!", null, A) - to_chat(A, "Your kick to [D]'s back misses!") - return TRUE - log_combat(A, D, "back-kicked (Sleeping Carp)") - A.do_attack_animation(D, ATTACK_EFFECT_PUNCH) - D.visible_message("[A] kicks [D] in the back!", \ - "You're kicked in the back by [A]!", "You hear a sickening sound of flesh hitting flesh!", null, A) - to_chat(A, "You kick [D] in the back!") - step_to(D,get_step(D,D.dir),1) - D.Paralyze(80) - playsound(get_turf(D), 'sound/weapons/punch1.ogg', 50, TRUE, -1) - return TRUE - return FALSE +/datum/martial_art/the_sleeping_carp/proc/dropKick(mob/living/carbon/human/A, mob/living/carbon/human/D) -/datum/martial_art/the_sleeping_carp/proc/kneeStomach(mob/living/carbon/human/A, mob/living/carbon/human/D) - if(!D.stat && !D.IsParalyzed()) - log_combat(A, D, "stomach kneed (Sleeping Carp)") - A.do_attack_animation(D, ATTACK_EFFECT_KICK) - D.visible_message("[A] knees [D] in the stomach!", \ - "Your stomach is kneed by [A], making you gag!", "You hear a sickening sound of flesh hitting flesh!", null, A) - to_chat(A, "You knee [D] in the stomach, making [D.p_them()] gag!") - D.losebreath += 3 - D.Stun(40) - playsound(get_turf(D), 'sound/weapons/punch1.ogg', 50, TRUE, -1) - return TRUE - return FALSE - -/datum/martial_art/the_sleeping_carp/proc/headKick(mob/living/carbon/human/A, mob/living/carbon/human/D) - if(!D.stat && !D.IsParalyzed()) - log_combat(A, D, "head kicked (Sleeping Carp)") - A.do_attack_animation(D, ATTACK_EFFECT_KICK) - D.visible_message("[A] kicks [D] in the head!", \ - "Your jaw is kicked by [A]!", "You hear a sickening sound of flesh hitting flesh!", null, A) - to_chat(A, "You kick [D] in the jaw!") - D.apply_damage(20, A.dna.species.attack_type, BODY_ZONE_HEAD) - D.drop_all_held_items() - playsound(get_turf(D), 'sound/weapons/punch1.ogg', 50, TRUE, -1) - D.Stun(80) - return TRUE - return FALSE - -/datum/martial_art/the_sleeping_carp/proc/elbowDrop(mob/living/carbon/human/A, mob/living/carbon/human/D) - if(!(D.mobility_flags & MOBILITY_STAND)) - log_combat(A, D, "elbow dropped (Sleeping Carp)") - A.do_attack_animation(D, ATTACK_EFFECT_PUNCH) - D.visible_message("[A] elbow drops [D]!", \ - "You're piledrived by [A] with [A.p_their()] elbow!", "You hear a sickening sound of flesh hitting flesh!", null, A) - to_chat(A, "You piledrive [D] with your elbow!") - if(D.stat) - D.death() //FINISH HIM! - D.apply_damage(50, A.dna.species.attack_type, BODY_ZONE_CHEST) - playsound(get_turf(D), 'sound/weapons/punch1.ogg', 75, TRUE, -1) - return TRUE - return FALSE + return /datum/martial_art/the_sleeping_carp/grab_act(mob/living/carbon/human/A, mob/living/carbon/human/D) - if(A.a_intent == INTENT_GRAB && A!=D) // A!=D prevents grabbing yourself - add_to_streak("G",D) - if(check_streak(A,D)) //if a combo is made no grab upgrade is done + add_to_streak("G",D) + if(check_streak(A,D)) return TRUE - old_grab_state = A.grab_state - D.grabbedby(A, 1) - if(old_grab_state == GRAB_PASSIVE) - D.drop_all_held_items() - A.setGrabState(GRAB_AGGRESSIVE) //Instant agressive grab if on grab intent - log_combat(A, D, "grabbed", addition="aggressively") - D.visible_message("[A] violently grabs [D]!", \ - "You're violently grabbed by [A]!", "You hear aggressive shuffling!", null, A) - to_chat(A, "You violently grab [D]!") - return TRUE - return FALSE + return ..() /datum/martial_art/the_sleeping_carp/harm_act(mob/living/carbon/human/A, mob/living/carbon/human/D) add_to_streak("H",D) @@ -139,9 +67,6 @@ to_chat(A, "You [atk_verb] [D]!") D.apply_damage(rand(10,15), BRUTE) playsound(get_turf(D), 'sound/weapons/punch1.ogg', 25, TRUE, -1) - if(prob(D.getBruteLoss()) && (D.mobility_flags & MOBILITY_STAND)) - D.visible_message("[D] stumbles and falls!", "The blow sends you to the ground!") - D.Paralyze(80) log_combat(A, D, "[atk_verb] (Sleeping Carp)") return TRUE @@ -152,32 +77,52 @@ return TRUE return ..() -/datum/martial_art/the_sleeping_carp/on_projectile_hit(mob/living/carbon/human/A, obj/projectile/P, def_zone) - . = ..() - if(A.incapacitated(FALSE, TRUE)) //NO STUN - return BULLET_ACT_HIT - if(!(A.mobility_flags & MOBILITY_USE)) //NO UNABLE TO USE - return BULLET_ACT_HIT - if(A.dna && A.dna.check_mutation(HULK)) //NO HULK - return BULLET_ACT_HIT - if(!isturf(A.loc)) //NO MOTHERFLIPPIN MECHS! - return BULLET_ACT_HIT - A.visible_message("[A] deflects the projectile; [A.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) - P.firer = A - P.setAngle(rand(0, 360))//SHING - return BULLET_ACT_FORCE_PIERCE - /datum/martial_art/the_sleeping_carp/teach(mob/living/carbon/human/H, make_temporary = FALSE) . = ..() if(!.) return - ADD_TRAIT(H, TRAIT_NOGUNS, SLEEPING_CARP_TRAIT) + ADD_TRAIT(H, TRAIT_NOGUNS, TRAIT_PIERCEIMMUNE, TRAIT_NODISMEMBER, SLEEPING_CARP_TRAIT) + H.physiology.brute_mod *= 0.3 + H.physiology.burn_mod *= 0.3 + H.physiology.stamina_mod *= 0.3 + H.physiology.stun_mod *= 0.3 + H.physiology.pressure_mod *= 0.3 //go hang out with carp + H.physiology.cold_mod *= 0.3 //seriously go say hi + + H.faction |= "carp" //:D /datum/martial_art/the_sleeping_carp/on_remove(mob/living/carbon/human/H) . = ..() - REMOVE_TRAIT(H, TRAIT_NOGUNS, SLEEPING_CARP_TRAIT) + REMOVE_TRAIT(H, TRAIT_NOGUNS, TRAIT_PIERCEIMMUNE, TRAIT_NODISMEMBER, SLEEPING_CARP_TRAIT) + H.physiology.brute_mod *= 2 + H.physiology.burn_mod *= 2 + H.physiology.stamina_mod *= 2 + H.physiology.stun_mod *= 2 + H.physiology.pressure_mod *= 2 //no more carpies + H.physiology.cold_mod *= 2 + + H.faction -= "carp" //:( +/datum/action/slipstream + name = "Slipstream" + icon_icon = 'icons/mob/actions/actions_items.dmi' + button_icon_state = "neckchop" + +/datum/action/slipstream/Click() + var/mob/living/carbon/human/A = owner + A.toggleslipstream + +/datum/action/slipstream/proc/toggleslipstream() + active = !active + if(active(FALSE)) + active = TRUE + A.apply_status_effect(/datum/status_effect/slipstream) + A.visible_message("[A] assumes a more streamlined posture!", "You active the Slipstream.") + if(active(TRUE)) + active = FALSE + A.remove_status_effect(/datum/status_effect/slipstream) + A.visible_message("[A] assumes a neutral posture!", "You deactive the Slipstream.") + return /mob/living/carbon/human/proc/sleeping_carp_help() set name = "Recall Teachings" @@ -186,11 +131,13 @@ to_chat(usr, "You retreat inward and recall the teachings of the Sleeping Carp...") - to_chat(usr, "Wrist Wrench: Disarm Disarm. Forces opponent to drop item in hand.") - to_chat(usr, "Back Kick: Harm Grab. Opponent must be facing away. Knocks down.") - to_chat(usr, "Stomach Knee: Grab Harm. Knocks the wind out of opponent and stuns.") - to_chat(usr, "Head Kick: Disarm Harm Harm. Decent damage, forces opponent to drop item in hand.") - to_chat(usr, "Elbow Drop: Harm Disarm Harm Disarm Harm. Opponent must be on the ground. Deals huge damage, instantly kills anyone in critical condition.") + to_chat(usr, "Gnashing Teeth: Harm Harm. Gathering moment of punches means that every second punch deals additional damage, with a chance of even more damage.") + to_chat(usr, "Crashing Wave Kick: Harm Disarm. Launch people brutally across rooms and away from you. On opponents on the floor, this deals additional stamina damage.") + to_chat(usr, "Keelhaul: Harm Grab. With a powerful kick, send opponents face first into the floor, knocking them down and disarming them of weapons. On opponents on the floor, this deals considerable stamina damage and disarms.") + to_chat(usr, "Slipstream: Move more quickly into combat, gaining additional movement speed. This is obvious to anyone who can see you, however.") + to_chat(usr, "Roused Anger: While on low health, you unleash your latent inner strength to continue fighting beyond the limitations of your failing body, removing damage slowdown and becoming more resistant to disabling effects while close to death.") + + to_chat(usr, "In addition, your body has become incredibly durable to most forms of attack. Weapons cannot readily pierce your hardened skin, and you are highly resistant to stuns and stamina damage, and quickly recover from stamina damage. However, you are not invincible, and sustained damage will take it's toll.") /obj/item/twohanded/bostaff name = "bo staff" From 188e9167cc5f967b5ed300bfce7ac204cd3f9e95 Mon Sep 17 00:00:00 2001 From: necromanceranne Date: Wed, 19 Feb 2020 23:35:25 +1100 Subject: [PATCH 02/12] few more changes --- code/datums/martial/sleeping_carp.dm | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/code/datums/martial/sleeping_carp.dm b/code/datums/martial/sleeping_carp.dm index 5a7c3bbd7e4..45280dee28a 100644 --- a/code/datums/martial/sleeping_carp.dm +++ b/code/datums/martial/sleeping_carp.dm @@ -43,11 +43,30 @@ return /datum/martial_art/the_sleeping_carp/proc/launchKick(mob/living/carbon/human/A, mob/living/carbon/human/D) - + A.do_attack_animation(D, ATTACK_EFFECT_KICK) + D.visible_message("[A] kicks [D] square in the chest, sending them flying!", \ + "You are kicked square in the chest by [A], sending you flying!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, A) + playsound(get_turf(A), 'sound/effects/hit_kick.ogg', 50, TRUE, -1) + var/atom/throw_target = get_edge_target_turf(D, A.dir) + D.throw_at(throw_target, rand(5,6), 7, user) + D.apply_damage(25, A.dna.species.attack_type) + log_combat(A, D, "launch kicked (Sleeping Carp)") return /datum/martial_art/the_sleeping_carp/proc/dropKick(mob/living/carbon/human/A, mob/living/carbon/human/D) - + A.do_attack_animation(D, ATTACK_EFFECT_KICK) + playsound(get_turf(A), 'sound/effects/hit_kick.ogg', 50, TRUE, -1) + if((D.mobility_flags & MOBILITY_STAND)) + D.apply_damage(20, A.dna.species.attack_type) + D.Knockdown(60) + D.visible_message("[A] kicks [D] in the head, sending them face first into the floor!", \ + "You are kicked in the head by [A], sending you crashing to the floor!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, A) + if(!(D.mobility_flags & MOBILITY_STAND)) + D.apply_damage(20, A.dna.species.attack_type) + D.adjustStaminaLoss(40) + D.drop_all_held_items() + D.visible_message("[A] kicks [D] in the head!", \ + "You are kicked in the head by [A]!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, A) return /datum/martial_art/the_sleeping_carp/grab_act(mob/living/carbon/human/A, mob/living/carbon/human/D) @@ -132,7 +151,7 @@ to_chat(usr, "You retreat inward and recall the teachings of the Sleeping Carp...") to_chat(usr, "Gnashing Teeth: Harm Harm. Gathering moment of punches means that every second punch deals additional damage, with a chance of even more damage.") - to_chat(usr, "Crashing Wave Kick: Harm Disarm. Launch people brutally across rooms and away from you. On opponents on the floor, this deals additional stamina damage.") + to_chat(usr, "Crashing Wave Kick: Harm Disarm. Launch people brutally across rooms, and away from you.") to_chat(usr, "Keelhaul: Harm Grab. With a powerful kick, send opponents face first into the floor, knocking them down and disarming them of weapons. On opponents on the floor, this deals considerable stamina damage and disarms.") to_chat(usr, "Slipstream: Move more quickly into combat, gaining additional movement speed. This is obvious to anyone who can see you, however.") to_chat(usr, "Roused Anger: While on low health, you unleash your latent inner strength to continue fighting beyond the limitations of your failing body, removing damage slowdown and becoming more resistant to disabling effects while close to death.") From 5e6425ecaf4fb0862b8165dbd0b2cc80d61e130d Mon Sep 17 00:00:00 2001 From: necromanceranne Date: Fri, 21 Feb 2020 19:23:52 +1100 Subject: [PATCH 03/12] aaah --- code/datums/martial/sleeping_carp.dm | 29 ++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/code/datums/martial/sleeping_carp.dm b/code/datums/martial/sleeping_carp.dm index 45280dee28a..5d1736c1433 100644 --- a/code/datums/martial/sleeping_carp.dm +++ b/code/datums/martial/sleeping_carp.dm @@ -8,7 +8,6 @@ allow_temp_override = FALSE help_verb = /mob/living/carbon/human/proc/sleeping_carp_help var/datum/action/slipstream/slipstream = new/datum/action/slipstream() - var/datum/action/roused_anger/rousedanger = new/datum/action/roused_anger() /datum/martial_art/the_sleeping_carp/proc/check_streak(mob/living/carbon/human/A, mob/living/carbon/human/D) if(findtext(streak,STRONG_PUNCH_COMBO)) @@ -49,7 +48,7 @@ playsound(get_turf(A), 'sound/effects/hit_kick.ogg', 50, TRUE, -1) var/atom/throw_target = get_edge_target_turf(D, A.dir) D.throw_at(throw_target, rand(5,6), 7, user) - D.apply_damage(25, A.dna.species.attack_type) + D.apply_damage(15, A.dna.species.attack_type) log_combat(A, D, "launch kicked (Sleeping Carp)") return @@ -57,12 +56,12 @@ A.do_attack_animation(D, ATTACK_EFFECT_KICK) playsound(get_turf(A), 'sound/effects/hit_kick.ogg', 50, TRUE, -1) if((D.mobility_flags & MOBILITY_STAND)) - D.apply_damage(20, A.dna.species.attack_type) - D.Knockdown(60) + D.apply_damage(10, A.dna.species.attack_type) + D.Knockdown(40) D.visible_message("[A] kicks [D] in the head, sending them face first into the floor!", \ "You are kicked in the head by [A], sending you crashing to the floor!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, A) if(!(D.mobility_flags & MOBILITY_STAND)) - D.apply_damage(20, A.dna.species.attack_type) + D.apply_damage(5, A.dna.species.attack_type) D.adjustStaminaLoss(40) D.drop_all_held_items() D.visible_message("[A] kicks [D] in the head!", \ @@ -96,6 +95,24 @@ return TRUE return ..() +/datum/martial_art/the_sleeping_carp/on_hit(mob/living/carbon/human/A) + . = ..() + var/old_health = A.health + var/taken_damage = FALSE + if((A.healthCrashing Wave Kick: Harm Disarm. Launch people brutally across rooms, and away from you.") to_chat(usr, "Keelhaul: Harm Grab. With a powerful kick, send opponents face first into the floor, knocking them down and disarming them of weapons. On opponents on the floor, this deals considerable stamina damage and disarms.") to_chat(usr, "Slipstream: Move more quickly into combat, gaining additional movement speed. This is obvious to anyone who can see you, however.") - to_chat(usr, "Roused Anger: While on low health, you unleash your latent inner strength to continue fighting beyond the limitations of your failing body, removing damage slowdown and becoming more resistant to disabling effects while close to death.") + to_chat(usr, "Roused Anger: When hit, you can potentially unleash your latent inner strength to continue fighting beyond the limitations of your failing body, removing damage slowdown and becoming more resistant to disabling effects.") to_chat(usr, "In addition, your body has become incredibly durable to most forms of attack. Weapons cannot readily pierce your hardened skin, and you are highly resistant to stuns and stamina damage, and quickly recover from stamina damage. However, you are not invincible, and sustained damage will take it's toll.") From e6388ec4339d29fcb98dd2f903ddbc62bae7a61b Mon Sep 17 00:00:00 2001 From: necromanceranne Date: Sat, 22 Feb 2020 19:55:25 +1100 Subject: [PATCH 04/12] eh not so keen on this after all even if it did work --- code/datums/martial/sleeping_carp.dm | 44 +--------------------------- 1 file changed, 1 insertion(+), 43 deletions(-) diff --git a/code/datums/martial/sleeping_carp.dm b/code/datums/martial/sleeping_carp.dm index 5d1736c1433..356d057c8a9 100644 --- a/code/datums/martial/sleeping_carp.dm +++ b/code/datums/martial/sleeping_carp.dm @@ -7,7 +7,6 @@ id = MARTIALART_SLEEPINGCARP allow_temp_override = FALSE help_verb = /mob/living/carbon/human/proc/sleeping_carp_help - var/datum/action/slipstream/slipstream = new/datum/action/slipstream() /datum/martial_art/the_sleeping_carp/proc/check_streak(mob/living/carbon/human/A, mob/living/carbon/human/D) if(findtext(streak,STRONG_PUNCH_COMBO)) @@ -94,24 +93,6 @@ if(check_streak(A,D)) return TRUE return ..() - -/datum/martial_art/the_sleeping_carp/on_hit(mob/living/carbon/human/A) - . = ..() - var/old_health = A.health - var/taken_damage = FALSE - if((A.health[A] assumes a more streamlined posture!", "You active the Slipstream.") - if(active(TRUE)) - active = FALSE - A.remove_status_effect(/datum/status_effect/slipstream) - A.visible_message("[A] assumes a neutral posture!", "You deactive the Slipstream.") - return - /mob/living/carbon/human/proc/sleeping_carp_help() set name = "Recall Teachings" set desc = "Remember the martial techniques of the Sleeping Carp clan." @@ -170,8 +130,6 @@ to_chat(usr, "Gnashing Teeth: Harm Harm. Gathering moment of punches means that every second punch deals additional damage, with a chance of even more damage.") to_chat(usr, "Crashing Wave Kick: Harm Disarm. Launch people brutally across rooms, and away from you.") to_chat(usr, "Keelhaul: Harm Grab. With a powerful kick, send opponents face first into the floor, knocking them down and disarming them of weapons. On opponents on the floor, this deals considerable stamina damage and disarms.") - to_chat(usr, "Slipstream: Move more quickly into combat, gaining additional movement speed. This is obvious to anyone who can see you, however.") - to_chat(usr, "Roused Anger: When hit, you can potentially unleash your latent inner strength to continue fighting beyond the limitations of your failing body, removing damage slowdown and becoming more resistant to disabling effects.") to_chat(usr, "In addition, your body has become incredibly durable to most forms of attack. Weapons cannot readily pierce your hardened skin, and you are highly resistant to stuns and stamina damage, and quickly recover from stamina damage. However, you are not invincible, and sustained damage will take it's toll.") From 3c06b9140d8039d3c85eca5e4c95a4c6b81d85b3 Mon Sep 17 00:00:00 2001 From: necromanceranne Date: Sat, 22 Feb 2020 20:06:51 +1100 Subject: [PATCH 05/12] still not finished --- code/datums/martial/sleeping_carp.dm | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/code/datums/martial/sleeping_carp.dm b/code/datums/martial/sleeping_carp.dm index 356d057c8a9..f153cbac762 100644 --- a/code/datums/martial/sleeping_carp.dm +++ b/code/datums/martial/sleeping_carp.dm @@ -70,7 +70,7 @@ /datum/martial_art/the_sleeping_carp/grab_act(mob/living/carbon/human/A, mob/living/carbon/human/D) add_to_streak("G",D) if(check_streak(A,D)) - return TRUE + return TRUE return ..() /datum/martial_art/the_sleeping_carp/harm_act(mob/living/carbon/human/A, mob/living/carbon/human/D) @@ -98,7 +98,10 @@ . = ..() if(!.) return - ADD_TRAIT(H, TRAIT_NOGUNS, TRAIT_PIERCEIMMUNE, TRAIT_NODISMEMBER, SLEEPING_CARP_TRAIT) + ADD_TRAIT(H, TRAIT_NOGUNS, SLEEPING_CARP_TRAIT) + ADD_TRAIT(H, TRAIT_PIERCEIMMUNE, SLEEPING_CARP_TRAIT) + ADD_TRAIT(H, TRAIT_STUNRESISTANCE, SLEEPING_CARP_TRAIT) + ADD_TRAIT(H, TRAIT_NODISMEMBER, SLEEPING_CARP_TRAIT) H.physiology.brute_mod *= 0.3 H.physiology.burn_mod *= 0.3 H.physiology.stamina_mod *= 0.3 @@ -110,7 +113,10 @@ /datum/martial_art/the_sleeping_carp/on_remove(mob/living/carbon/human/H) . = ..() - REMOVE_TRAIT(H, TRAIT_NOGUNS, TRAIT_PIERCEIMMUNE, TRAIT_STUNRESISTANCE, TRAIT_NODISMEMBER, SLEEPING_CARP_TRAIT) + REMOVE_TRAIT(H, TRAIT_NOGUNS, SLEEPING_CARP_TRAIT) + REMOVE_TRAIT(H, TRAIT_PIERCEIMMUNE, SLEEPING_CARP_TRAIT) + REMOVE_TRAIT(H, TRAIT_STUNRESISTANCE, SLEEPING_CARP_TRAIT) + REMOVE_TRAIT(H, TRAIT_NODISMEMBER, SLEEPING_CARP_TRAIT) H.physiology.brute_mod *= 2 H.physiology.burn_mod *= 2 H.physiology.stamina_mod *= 2 @@ -131,7 +137,7 @@ to_chat(usr, "Crashing Wave Kick: Harm Disarm. Launch people brutally across rooms, and away from you.") to_chat(usr, "Keelhaul: Harm Grab. With a powerful kick, send opponents face first into the floor, knocking them down and disarming them of weapons. On opponents on the floor, this deals considerable stamina damage and disarms.") - to_chat(usr, "In addition, your body has become incredibly durable to most forms of attack. Weapons cannot readily pierce your hardened skin, and you are highly resistant to stuns and stamina damage, and quickly recover from stamina damage. However, you are not invincible, and sustained damage will take it's toll.") + to_chat(usr, "In addition, your body has become incredibly resilient to most forms of attack. Weapons cannot readily pierce your hardened skin, and you are highly resistant to stuns and stamina damage, and quickly recover from stamina damage. However, you are not invincible, and sustained damage will take it's toll.") /obj/item/twohanded/bostaff name = "bo staff" From 1dcf24306c8b2b20038e8f05456324de3b668389 Mon Sep 17 00:00:00 2001 From: necromanceranne Date: Sun, 23 Feb 2020 22:01:37 +1100 Subject: [PATCH 06/12] current work --- code/datums/martial/sleeping_carp.dm | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/code/datums/martial/sleeping_carp.dm b/code/datums/martial/sleeping_carp.dm index f153cbac762..400eb37fbaa 100644 --- a/code/datums/martial/sleeping_carp.dm +++ b/code/datums/martial/sleeping_carp.dm @@ -32,8 +32,8 @@ to_chat(A, "You [atk_verb] [D]!") if(prob(10)) crit_damage += 20 - playsound(get_turf(D), 'sound/weapons/bite.ogg', 25, TRUE, -) - D.visible_message("[D] sputters blood as the blow strikes them with inhuman force!", "You reel from the pain of the blow! [A] has struck you with inhuman strength and speed!") + playsound(get_turf(D), 'sound/weapons/bite.ogg', 50, TRUE, -1) + D.visible_message("[D] sputters blood as the blow strikes them with inhuman force!", "You are struck with incredible precision by [A]!") else playsound(get_turf(D), 'sound/weapons/punch1.ogg', 25, TRUE, -1) D.apply_damage(20 + crit_damage, A.dna.species.attack_type) @@ -46,7 +46,7 @@ "You are kicked square in the chest by [A], sending you flying!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, A) playsound(get_turf(A), 'sound/effects/hit_kick.ogg', 50, TRUE, -1) var/atom/throw_target = get_edge_target_turf(D, A.dir) - D.throw_at(throw_target, rand(5,6), 7, user) + D.throw_at(throw_target, 7, 14, A) D.apply_damage(15, A.dna.species.attack_type) log_combat(A, D, "launch kicked (Sleeping Carp)") return @@ -87,7 +87,6 @@ log_combat(A, D, "[atk_verb] (Sleeping Carp)") return TRUE - /datum/martial_art/the_sleeping_carp/disarm_act(mob/living/carbon/human/A, mob/living/carbon/human/D) add_to_streak("D",D) if(check_streak(A,D)) @@ -133,11 +132,11 @@ to_chat(usr, "You retreat inward and recall the teachings of the Sleeping Carp...") - to_chat(usr, "Gnashing Teeth: Harm Harm. Gathering moment of punches means that every second punch deals additional damage, with a chance of even more damage.") + to_chat(usr, "Gnashing Teeth: Harm Harm. Deal additional damage ever second punch, with a chance for even more damage!") to_chat(usr, "Crashing Wave Kick: Harm Disarm. Launch people brutally across rooms, and away from you.") - to_chat(usr, "Keelhaul: Harm Grab. With a powerful kick, send opponents face first into the floor, knocking them down and disarming them of weapons. On opponents on the floor, this deals considerable stamina damage and disarms.") + to_chat(usr, "Keelhaul: Harm Grab. Kick opponents to the floor. Against prone targets, deal additional stamina damage and disarm them.") - to_chat(usr, "In addition, your body has become incredibly resilient to most forms of attack. Weapons cannot readily pierce your hardened skin, and you are highly resistant to stuns and stamina damage, and quickly recover from stamina damage. However, you are not invincible, and sustained damage will take it's toll.") + to_chat(usr, "In addition, your body has become incredibly resilient to most forms of attack. Weapons cannot readily pierce your hardened skin, and you are highly resistant to stuns and stamina damage, and quickly recover from stamina damage. However, you are not invincible, and sustained damage will take it's toll.") /obj/item/twohanded/bostaff name = "bo staff" From dc3a5b33cb1d705c6fa3c9936d0abf3c890cd6da Mon Sep 17 00:00:00 2001 From: necromanceranne Date: Sun, 23 Feb 2020 22:50:50 +1100 Subject: [PATCH 07/12] Some additional adjustments --- code/datums/martial/sleeping_carp.dm | 3 +-- code/game/objects/items/melee/misc.dm | 4 ++-- code/game/objects/items/stunbaton.dm | 2 +- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/code/datums/martial/sleeping_carp.dm b/code/datums/martial/sleeping_carp.dm index 400eb37fbaa..88d5833e062 100644 --- a/code/datums/martial/sleeping_carp.dm +++ b/code/datums/martial/sleeping_carp.dm @@ -135,8 +135,7 @@ to_chat(usr, "Gnashing Teeth: Harm Harm. Deal additional damage ever second punch, with a chance for even more damage!") to_chat(usr, "Crashing Wave Kick: Harm Disarm. Launch people brutally across rooms, and away from you.") to_chat(usr, "Keelhaul: Harm Grab. Kick opponents to the floor. Against prone targets, deal additional stamina damage and disarm them.") - - to_chat(usr, "In addition, your body has become incredibly resilient to most forms of attack. Weapons cannot readily pierce your hardened skin, and you are highly resistant to stuns and stamina damage, and quickly recover from stamina damage. However, you are not invincible, and sustained damage will take it's toll.") + to_chat(usr, "In addition, your body has become incredibly resilient to most forms of attack. Weapons cannot readily pierce your hardened skin, and you are highly resistant to stuns and knockdowns, and quickly recover from stamina damage. However, you are not invincible, and sustained damage will take it's toll.") /obj/item/twohanded/bostaff name = "bo staff" diff --git a/code/game/objects/items/melee/misc.dm b/code/game/objects/items/melee/misc.dm index c44c2402afd..d39a9d6e681 100644 --- a/code/game/objects/items/melee/misc.dm +++ b/code/game/objects/items/melee/misc.dm @@ -240,7 +240,7 @@ to_chat(user, "You hit yourself over the head!") user.Paralyze(knockdown_time_carbon * force) - user.adjustStaminaLoss(stamina_damage) + user.apply_damage(stamina_damage, STAMINA, BODY_ZONE_HEAD) additional_effects_carbon(user) // user is the target here if(ishuman(user)) @@ -292,7 +292,7 @@ playsound(get_turf(src), on_stun_sound, 75, TRUE, -1) target.Knockdown(knockdown_time_carbon) - target.adjustStaminaLoss(stamina_damage) + target.apply_damage(stamina_damage, STAMINA) additional_effects_carbon(target, user) log_combat(user, target, "stunned", src) diff --git a/code/game/objects/items/stunbaton.dm b/code/game/objects/items/stunbaton.dm index 9cc2bac1b19..7c74edcc127 100644 --- a/code/game/objects/items/stunbaton.dm +++ b/code/game/objects/items/stunbaton.dm @@ -223,7 +223,7 @@ L.Jitter(20) L.confused = max(confusion_amt, L.confused) L.stuttering = max(8, L.stuttering) - L.adjustStaminaLoss(stamina_loss_amt) + L.apply_damage(stamina_loss_amt, STAMINA) SEND_SIGNAL(L, COMSIG_LIVING_MINOR_SHOCK) addtimer(CALLBACK(src, .proc/apply_stun_effect_end, L), apply_stun_delay) From 044f065a68d66f8f061e579f44a8cd7490a7fd48 Mon Sep 17 00:00:00 2001 From: necromanceranne Date: Mon, 24 Feb 2020 12:23:10 +1100 Subject: [PATCH 08/12] bullet swatting --- code/datums/martial/sleeping_carp.dm | 23 +++++++++++++++++++++-- code/game/objects/items/granters.dm | 5 +++-- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/code/datums/martial/sleeping_carp.dm b/code/datums/martial/sleeping_carp.dm index 88d5833e062..c280f671f44 100644 --- a/code/datums/martial/sleeping_carp.dm +++ b/code/datums/martial/sleeping_carp.dm @@ -5,6 +5,7 @@ /datum/martial_art/the_sleeping_carp name = "The Sleeping Carp" id = MARTIALART_SLEEPINGCARP + block_chance = 40 allow_temp_override = FALSE help_verb = /mob/living/carbon/human/proc/sleeping_carp_help @@ -93,6 +94,24 @@ return TRUE return ..() +/datum/martial_art/the_sleeping_carp/on_projectile_hit(mob/living/carbon/human/A, obj/projectile/P, def_zone) + . = ..() + if(A.incapacitated(FALSE, TRUE)) //NO STUN + return BULLET_ACT_HIT + if(!(A.mobility_flags & MOBILITY_USE)) //NO UNABLE TO USE + return BULLET_ACT_HIT + if(A.dna && A.dna.check_mutation(HULK)) //NO HULK + return BULLET_ACT_HIT + if(!isturf(A.loc)) //NO MOTHERFLIPPIN MECHS! + return BULLET_ACT_HIT + if(A.in_throw_mode) + A.visible_message("[A] effortlessly swats the projectile aside! They can block bullets with their bare hands!", "You deflect the projectile!") + playsound(get_turf(A), pick('sound/weapons/bulletflyby.ogg', 'sound/weapons/bulletflyby2.ogg', 'sound/weapons/bulletflyby3.ogg'), 75, TRUE) + P.firer = A + P.setAngle(rand(0, 360))//SHING + return BULLET_ACT_FORCE_PIERCE + return BULLET_ACT_HIT + /datum/martial_art/the_sleeping_carp/teach(mob/living/carbon/human/H, make_temporary = FALSE) . = ..() if(!.) @@ -132,10 +151,10 @@ to_chat(usr, "You retreat inward and recall the teachings of the Sleeping Carp...") - to_chat(usr, "Gnashing Teeth: Harm Harm. Deal additional damage ever second punch, with a chance for even more damage!") + to_chat(usr, "Gnashing Teeth: Harm Harm. Deal additional damage every second punch, with a chance for even more damage!") to_chat(usr, "Crashing Wave Kick: Harm Disarm. Launch people brutally across rooms, and away from you.") to_chat(usr, "Keelhaul: Harm Grab. Kick opponents to the floor. Against prone targets, deal additional stamina damage and disarm them.") - to_chat(usr, "In addition, your body has become incredibly resilient to most forms of attack. Weapons cannot readily pierce your hardened skin, and you are highly resistant to stuns and knockdowns, and quickly recover from stamina damage. However, you are not invincible, and sustained damage will take it's toll.") + to_chat(usr, "In addition, your body has become incredibly resilient to most forms of attack. Weapons cannot readily pierce your hardened skin, and you are highly resistant to stuns and knockdowns, and can block melee attacks and all projectiles in Throw Mode. However, you are not invincible, and sustained damage will take it's toll.") /obj/item/twohanded/bostaff name = "bo staff" diff --git a/code/game/objects/items/granters.dm b/code/game/objects/items/granters.dm index 92f9b70a089..439842421f2 100644 --- a/code/game/objects/items/granters.dm +++ b/code/game/objects/items/granters.dm @@ -365,10 +365,11 @@ martialname = "sleeping carp" desc = "A scroll filled with strange markings. It seems to be drawings of some sort of martial art." greet = "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." + directed toward you and most attacks while in Throw Mode. Your body is also honed to protect you from damage and punctures, and even briefly survive space. \ + However, you are also unable to use any ranged weaponry, and some medical supplies will prove useless to you. You can learn more about your newfound art by using the Recall Teachings verb in the Sleeping Carp tab." icon = 'icons/obj/wizard.dmi' icon_state = "scroll2" - remarks = list("I must prove myself worthy to the masters of the sleeping carp...", "Stance means everything...", "Focus... And you'll be able to incapacitate any foe in seconds...", "I must pierce armor for maximum damage...", "I don't think this would combine with other martial arts...", "Grab them first so they don't retaliate...", "I must prove myself worthy of this power...") + remarks = list("Wait, a high protein diet is really all it takes to become bulletproof...?", "Overwhelming force, immovable object...", "Focus... And you'll be able to incapacitate any foe in seconds...", "I must pierce armor for maximum damage...", "I don't think this would combine with other martial arts...", "Become one with the carp...", "Glub...") /obj/item/book/granter/martial/carp/onlearned(mob/living/carbon/user) ..() From fd3d5f1fc0b43b9cad75e5f67a627fc10bf1ed63 Mon Sep 17 00:00:00 2001 From: necromanceranne Date: Mon, 24 Feb 2020 22:25:58 +1100 Subject: [PATCH 09/12] should be respecting targeting/sanity stuff no more dropkicking them in the chest --- code/datums/martial/sleeping_carp.dm | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/code/datums/martial/sleeping_carp.dm b/code/datums/martial/sleeping_carp.dm index c280f671f44..f132623be3a 100644 --- a/code/datums/martial/sleeping_carp.dm +++ b/code/datums/martial/sleeping_carp.dm @@ -25,6 +25,7 @@ return FALSE /datum/martial_art/the_sleeping_carp/proc/strongPunch(mob/living/carbon/human/A, mob/living/carbon/human/D) + var/obj/item/bodypart/affecting = D.get_bodypart(ran_zone(A.zone_selected)) A.do_attack_animation(D, ATTACK_EFFECT_PUNCH) var/atk_verb = pick("kick", "chop", "hit", "slam") var/crit_damage = 0 @@ -37,7 +38,7 @@ D.visible_message("[D] sputters blood as the blow strikes them with inhuman force!", "You are struck with incredible precision by [A]!") else playsound(get_turf(D), 'sound/weapons/punch1.ogg', 25, TRUE, -1) - D.apply_damage(20 + crit_damage, A.dna.species.attack_type) + D.apply_damage(20 + crit_damage, A.dna.species.attack_type, affecting) log_combat(A, D, "strong punched (Sleeping Carp)") return @@ -48,7 +49,7 @@ playsound(get_turf(A), 'sound/effects/hit_kick.ogg', 50, TRUE, -1) var/atom/throw_target = get_edge_target_turf(D, A.dir) D.throw_at(throw_target, 7, 14, A) - D.apply_damage(15, A.dna.species.attack_type) + D.apply_damage(15, A.dna.species.attack_type, BODY_ZONE_CHEST) log_combat(A, D, "launch kicked (Sleeping Carp)") return @@ -56,12 +57,12 @@ A.do_attack_animation(D, ATTACK_EFFECT_KICK) playsound(get_turf(A), 'sound/effects/hit_kick.ogg', 50, TRUE, -1) if((D.mobility_flags & MOBILITY_STAND)) - D.apply_damage(10, A.dna.species.attack_type) + D.apply_damage(10, A.dna.species.attack_type, BODY_ZONE_HEAD) D.Knockdown(40) D.visible_message("[A] kicks [D] in the head, sending them face first into the floor!", \ "You are kicked in the head by [A], sending you crashing to the floor!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, A) if(!(D.mobility_flags & MOBILITY_STAND)) - D.apply_damage(5, A.dna.species.attack_type) + D.apply_damage(5, A.dna.species.attack_type, BODY_ZONE_HEAD) D.adjustStaminaLoss(40) D.drop_all_held_items() D.visible_message("[A] kicks [D] in the head!", \ @@ -78,12 +79,13 @@ add_to_streak("H",D) if(check_streak(A,D)) return TRUE + var/obj/item/bodypart/affecting = D.get_bodypart(ran_zone(A.zone_selected)) A.do_attack_animation(D, ATTACK_EFFECT_PUNCH) var/atk_verb = pick("kick", "chop", "hit", "slam") D.visible_message("[A] [atk_verb]s [D]!", \ "[A] [atk_verb]s you!", null, null, A) to_chat(A, "You [atk_verb] [D]!") - D.apply_damage(rand(10,15), BRUTE) + D.apply_damage(rand(10,15), BRUTE, affecting) playsound(get_turf(D), 'sound/weapons/punch1.ogg', 25, TRUE, -1) log_combat(A, D, "[atk_verb] (Sleeping Carp)") return TRUE From a3a8a91cc886aa5aaf28316d61ee5919c6997db9 Mon Sep 17 00:00:00 2001 From: necromanceranne Date: Mon, 24 Feb 2020 22:32:30 +1100 Subject: [PATCH 10/12] I tested block in a few spares and it was too easy to just sit behind it and tank if they had a baton --- code/datums/martial/sleeping_carp.dm | 15 +++++++-------- code/game/objects/items/granters.dm | 2 +- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/code/datums/martial/sleeping_carp.dm b/code/datums/martial/sleeping_carp.dm index f132623be3a..147cd178de0 100644 --- a/code/datums/martial/sleeping_carp.dm +++ b/code/datums/martial/sleeping_carp.dm @@ -5,10 +5,9 @@ /datum/martial_art/the_sleeping_carp name = "The Sleeping Carp" id = MARTIALART_SLEEPINGCARP - block_chance = 40 allow_temp_override = FALSE help_verb = /mob/living/carbon/human/proc/sleeping_carp_help - + /datum/martial_art/the_sleeping_carp/proc/check_streak(mob/living/carbon/human/A, mob/living/carbon/human/D) if(findtext(streak,STRONG_PUNCH_COMBO)) streak = "" @@ -95,7 +94,7 @@ if(check_streak(A,D)) return TRUE return ..() - + /datum/martial_art/the_sleeping_carp/on_projectile_hit(mob/living/carbon/human/A, obj/projectile/P, def_zone) . = ..() if(A.incapacitated(FALSE, TRUE)) //NO STUN @@ -106,14 +105,14 @@ return BULLET_ACT_HIT if(!isturf(A.loc)) //NO MOTHERFLIPPIN MECHS! return BULLET_ACT_HIT - if(A.in_throw_mode) + if(A.in_throw_mode) A.visible_message("[A] effortlessly swats the projectile aside! They can block bullets with their bare hands!", "You deflect the projectile!") playsound(get_turf(A), pick('sound/weapons/bulletflyby.ogg', 'sound/weapons/bulletflyby2.ogg', 'sound/weapons/bulletflyby3.ogg'), 75, TRUE) P.firer = A P.setAngle(rand(0, 360))//SHING return BULLET_ACT_FORCE_PIERCE return BULLET_ACT_HIT - + /datum/martial_art/the_sleeping_carp/teach(mob/living/carbon/human/H, make_temporary = FALSE) . = ..() if(!.) @@ -128,7 +127,7 @@ H.physiology.stun_mod *= 0.3 H.physiology.pressure_mod *= 0.3 //go hang out with carp H.physiology.cold_mod *= 0.3 //seriously go say hi - + H.faction |= "carp" //:D /datum/martial_art/the_sleeping_carp/on_remove(mob/living/carbon/human/H) @@ -143,7 +142,7 @@ H.physiology.stun_mod *= 2 H.physiology.pressure_mod *= 2 //no more carpies H.physiology.cold_mod *= 2 - + H.faction -= "carp" //:( /mob/living/carbon/human/proc/sleeping_carp_help() @@ -156,7 +155,7 @@ to_chat(usr, "Gnashing Teeth: Harm Harm. Deal additional damage every second punch, with a chance for even more damage!") to_chat(usr, "Crashing Wave Kick: Harm Disarm. Launch people brutally across rooms, and away from you.") to_chat(usr, "Keelhaul: Harm Grab. Kick opponents to the floor. Against prone targets, deal additional stamina damage and disarm them.") - to_chat(usr, "In addition, your body has become incredibly resilient to most forms of attack. Weapons cannot readily pierce your hardened skin, and you are highly resistant to stuns and knockdowns, and can block melee attacks and all projectiles in Throw Mode. However, you are not invincible, and sustained damage will take it's toll.") + to_chat(usr, "In addition, your body has become incredibly resilient to most forms of attack. Weapons cannot readily pierce your hardened skin, and you are highly resistant to stuns and knockdowns, and can block all projectiles in Throw Mode. However, you are not invincible, and sustained damage will take it's toll.") /obj/item/twohanded/bostaff name = "bo staff" diff --git a/code/game/objects/items/granters.dm b/code/game/objects/items/granters.dm index 439842421f2..07a222e403f 100644 --- a/code/game/objects/items/granters.dm +++ b/code/game/objects/items/granters.dm @@ -365,7 +365,7 @@ martialname = "sleeping carp" desc = "A scroll filled with strange markings. It seems to be drawings of some sort of martial art." greet = "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 and most attacks while in Throw Mode. Your body is also honed to protect you from damage and punctures, and even briefly survive space. \ + directed toward you while in Throw Mode. Your body is also honed to protect you from damage and punctures, and even briefly survive space. \ However, you are also unable to use any ranged weaponry, and some medical supplies will prove useless to you. You can learn more about your newfound art by using the Recall Teachings verb in the Sleeping Carp tab." icon = 'icons/obj/wizard.dmi' icon_state = "scroll2" From 906a4b4d8c70446979c0eb9f3230de4cc3090f4f Mon Sep 17 00:00:00 2001 From: necromanceranne Date: Wed, 26 Feb 2020 02:46:46 +1100 Subject: [PATCH 11/12] It costs 15TC --- code/modules/uplink/uplink_items.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/uplink/uplink_items.dm b/code/modules/uplink/uplink_items.dm index 791089924e1..b372e58b0ad 100644 --- a/code/modules/uplink/uplink_items.dm +++ b/code/modules/uplink/uplink_items.dm @@ -569,9 +569,9 @@ 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." + gain skin as hard as steel and swat bullets from the air, but you also refuse to use dishonorable ranged weaponry." item = /obj/item/book/granter/martial/carp - cost = 17 + cost = 15 surplus = 0 exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) From ec382c638feb1aff6441967b78e8cad9658b1b80 Mon Sep 17 00:00:00 2001 From: necromanceranne Date: Sun, 1 Mar 2020 10:34:46 +1100 Subject: [PATCH 12/12] I think this fixed it? --- code/datums/martial/sleeping_carp.dm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/code/datums/martial/sleeping_carp.dm b/code/datums/martial/sleeping_carp.dm index 147cd178de0..00c6131b37b 100644 --- a/code/datums/martial/sleeping_carp.dm +++ b/code/datums/martial/sleeping_carp.dm @@ -136,12 +136,12 @@ REMOVE_TRAIT(H, TRAIT_PIERCEIMMUNE, SLEEPING_CARP_TRAIT) REMOVE_TRAIT(H, TRAIT_STUNRESISTANCE, SLEEPING_CARP_TRAIT) REMOVE_TRAIT(H, TRAIT_NODISMEMBER, SLEEPING_CARP_TRAIT) - H.physiology.brute_mod *= 2 - H.physiology.burn_mod *= 2 - H.physiology.stamina_mod *= 2 - H.physiology.stun_mod *= 2 - H.physiology.pressure_mod *= 2 //no more carpies - H.physiology.cold_mod *= 2 + H.physiology.brute_mod = initial(H.physiology.brute_mod) + H.physiology.burn_mod = initial(H.physiology.burn_mod) + H.physiology.stamina_mod = initial(H.physiology.stamina_mod) + H.physiology.stun_mod = initial(H.physiology.stun_mod) + H.physiology.pressure_mod = initial(H.physiology.pressure_mod) //no more carpies + H.physiology.cold_mod = initial(H.physiology.cold_mod) H.faction -= "carp" //:(