From e43f607400acc497203f40224c71374a53b4efb8 Mon Sep 17 00:00:00 2001 From: jc_gargma Date: Wed, 19 Jan 2022 18:08:34 -0800 Subject: Add Brawling, Fior Di Battaglia, Sojutsu, Taekwondo, Tai Chi. Add Barbaran Montane with book and itemgroup. --- books/martial.json | 17 +++++ fencing-martialarts.json | 85 ------------------------- fencing-techniques.json | 72 --------------------- itemgroups/books.json | 20 ++++++ kravmaga-martialarts.json | 122 ----------------------------------- kravmaga-techniques.json | 66 ------------------- martialarts/aikido.json | 86 +++++++++++++++++++++++++ martialarts/barbaran-montante.json | 105 +++++++++++++++++++++++++++++++ martialarts/brawling.json | 34 ++++++++++ martialarts/fencing.json | 85 +++++++++++++++++++++++++ martialarts/kravmaga.json | 126 +++++++++++++++++++++++++++++++++++++ martialarts/medievalpole.json | 70 +++++++++++++++++++++ martialarts/sojutsu.json | 68 ++++++++++++++++++++ martialarts/swordsmanship.json | 83 ++++++++++++++++++++++++ martialarts/taekwondo.json | 41 ++++++++++++ martialarts/taichi.json | 49 +++++++++++++++ readme | 24 +++++++ swordsmanship-martialarts.json | 83 ------------------------ swordsmanship-techniques.json | 47 -------------- techniques/aikido.json | 78 +++++++++++++++++++++++ techniques/barbaran-montante.json | 33 ++++++++++ techniques/brawling.json | 80 +++++++++++++++++++++++ techniques/fencing.json | 72 +++++++++++++++++++++ techniques/kravmaga.json | 66 +++++++++++++++++++ techniques/medievalpole.json | 88 ++++++++++++++++++++++++++ techniques/sojutsu.json | 40 ++++++++++++ techniques/swordsmanship.json | 47 ++++++++++++++ techniques/taekwondo.json | 73 +++++++++++++++++++++ techniques/taichi.json | 60 ++++++++++++++++++ 29 files changed, 1445 insertions(+), 475 deletions(-) create mode 100644 books/martial.json delete mode 100644 fencing-martialarts.json delete mode 100644 fencing-techniques.json create mode 100644 itemgroups/books.json delete mode 100644 kravmaga-martialarts.json delete mode 100644 kravmaga-techniques.json create mode 100644 martialarts/aikido.json create mode 100644 martialarts/barbaran-montante.json create mode 100644 martialarts/brawling.json create mode 100644 martialarts/fencing.json create mode 100644 martialarts/kravmaga.json create mode 100644 martialarts/medievalpole.json create mode 100644 martialarts/sojutsu.json create mode 100644 martialarts/swordsmanship.json create mode 100644 martialarts/taekwondo.json create mode 100644 martialarts/taichi.json create mode 100644 readme delete mode 100644 swordsmanship-martialarts.json delete mode 100644 swordsmanship-techniques.json create mode 100644 techniques/aikido.json create mode 100644 techniques/barbaran-montante.json create mode 100644 techniques/brawling.json create mode 100644 techniques/fencing.json create mode 100644 techniques/kravmaga.json create mode 100644 techniques/medievalpole.json create mode 100644 techniques/sojutsu.json create mode 100644 techniques/swordsmanship.json create mode 100644 techniques/taekwondo.json create mode 100644 techniques/taichi.json diff --git a/books/martial.json b/books/martial.json new file mode 100644 index 0000000..25153fa --- /dev/null +++ b/books/martial.json @@ -0,0 +1,17 @@ +[ + { + "id": "manual_barbaran", + "copy-from": "book_martial", + "type": "BOOK", + "name": { + "str": "Las Nueve Reglas de la Montante", + "str_pl": "copies of Las Nueve Reglas de la Montante", + "//~": "Don't translate name, this book is in archaic Spanish with translations in the margins." + }, + "price": 11000, + "price_postapoc": 3000, + "//~": "Spanish description should change to say that this is archaic text and should mention explanations of archaic words instead of translations.", + "description": "Thankfully, someone has scrawled translations in the margins of this guide to Barbaran Montante. Judging by the notation, this greatsword and war hammer training manual is also a form of poem.", + "martial_art": "style_barbaran" + } +] diff --git a/fencing-martialarts.json b/fencing-martialarts.json deleted file mode 100644 index 09dea1c..0000000 --- a/fencing-martialarts.json +++ /dev/null @@ -1,85 +0,0 @@ -[ - { - "type": "martial_art", - "id": "style_fencing", - "name": { "str": "Classical Fencing" }, - "description": "The noble art of fencing is taught with flexible competition blades, but the techniques are derived from (and applicable to) more functional examples. Skilled fencers can take advantage of blocks and feints to deliver accurate strikes.", - "initiate": [ "You move into the en-garde stance.", "%s moves into a fencing stance." ], - "learn_difficulty": 5, - "primary_skill": "stabbing", - "strictly_melee": true, - "static_buffs": [ - { - "id": "buff_fencing_static", - "name": "Fencing Stance", - "description": "Your side stance minimizes the chances you will be harmed in a combat.\n\nBlocked damage reduced by 50% of Dexterity.", - "melee_allowed": true, - "flat_bonuses": [ { "stat": "block", "scaling-stat": "dex", "scale": 0.5 } ] - } - ], - "onblock_buffs": [ - { - "id": "buff_fencing_onblock", - "name": "Parry", - "description": "Your next strike will find its mark much easier from your parry.\n\n+1 Accuracy.\nLasts 1 turn.", - "skill_requirements": [ { "name": "melee", "level": 1 } ], - "melee_allowed": true, - "buff_duration": 1, - "flat_bonuses": [ { "stat": "hit", "scale": 1.0 } ] - } - ], - "onmiss_buffs": [ - { - "id": "buff_fencing_onmiss", - "name": "Remise", - "description": "Your feint is the perfect setup for a devastating followup attack!\n\n+1 Accuracy.\nEnables \"Compound Attack\" technique.\nLasts 1 turn.", - "skill_requirements": [ { "name": "melee", "level": 3 } ], - "melee_allowed": true, - "buff_duration": 1, - "flat_bonuses": [ { "stat": "hit", "scale": 1.0 } ] - } - ], - "onpause_buffs": [ - { - "id": "buff_fencing_onpause", - "name": "Counter Time", - "description": "You fake an attack and prepare yourself to unleash a Compound Attack.\n\nBlocked damage reduced by 100% of Dexterity.\nEnables \"Compound Attack\" technique.\nLasts 2 turns.", - "melee_allowed": true, - "skill_requirements": [ { "name": "melee", "level": 4 } ], - "buff_duration": 2, - "flat_bonuses": [ { "stat": "block", "scaling-stat": "dex", "scale": 1.0 } ] - } - ], - "techniques": [ "tec_fencing_feint", "tec_fencing_lunge", "tec_fencing_riposte", "tec_fencing_compound1", "tec_fencing_compound2" ], - "weapons": [ - "baton-extended", - "broadsword", - "broadsword_inferior", - "broadsword_fake", - "cane", - "cavalry_sabre", - "cavalry_sabre_fake", - "cudgel", - "hollow_cane", - "fencing_foil", - "fencing_sabre", - "fencing_epee", - "fencing_foil_sharpened", - "fencing_sabre_sharpened", - "fencing_epee_sharpened", - "shock_foil", - "shock_sabre", - "shock_epee", - "pointy_stick", - "pipe", - "PR24-extended", - "rapier", - "rapier_fake", - "shillelagh", - "shillelagh_fake", - "shillelagh_weighted", - "sword_cane", - "umbrella" - ] - } -] diff --git a/fencing-techniques.json b/fencing-techniques.json deleted file mode 100644 index 41061e8..0000000 --- a/fencing-techniques.json +++ /dev/null @@ -1,72 +0,0 @@ -[ - { - "type": "technique", - "id": "tec_fencing_feint", - "messages": [ "You steady your weapon and fake a thrust at %s", " steadies their weapon and fake a thrust at %s" ], - "name": "Feint", - "skill_requirements": [ { "name": "melee", "level": 4 } ], - "melee_allowed": true, - "defensive": true, - "miss_recovery": true - }, - { - "type": "technique", - "id": "tec_fencing_lunge", - "name": "Fencing Lunge", - "messages": [ "You lunge at %s", " lunges at %s" ], - "skill_requirements": [ { "name": "melee", "level": 2 } ], - "melee_allowed": true, - "crit_ok": true, - "mult_bonuses": [ { "stat": "movecost", "scale": 0.8 } ] - }, - { - "type": "technique", - "id": "tec_fencing_compound1", - "name": "Compound Attack (Remise)", - "messages": [ "Your feint leads to a compound attack against %s", "'s feint leads to a compound attack against %s" ], - "skill_requirements": [ { "name": "melee", "level": 3 } ], - "melee_allowed": true, - "req_buffs": [ "buff_fencing_onmiss" ], - "weighting": 4, - "crit_ok": true, - "mult_bonuses": [ - { "stat": "damage", "type": "bash", "scale": 1.25 }, - { "stat": "damage", "type": "cut", "scale": 1.25 }, - { "stat": "damage", "type": "stab", "scale": 1.25 } - ] - }, - { - "type": "technique", - "id": "tec_fencing_compound2", - "name": "Compound Attack (Counter Time)", - "messages": [ "Your feint leads to a compound attack against %s", "'s feint leads to a compound attack against %s" ], - "skill_requirements": [ { "name": "melee", "level": 4 } ], - "melee_allowed": true, - "req_buffs": [ "buff_fencing_onpause" ], - "weighting": 4, - "crit_ok": true, - "mult_bonuses": [ - { "stat": "damage", "type": "bash", "scale": 1.25 }, - { "stat": "damage", "type": "cut", "scale": 1.25 }, - { "stat": "damage", "type": "stab", "scale": 1.25 } - ] - }, - { - "type": "technique", - "id": "tec_fencing_riposte", - "name": "Fencing Riposte", - "messages": [ "You deliver a perfect riposte to %s", " delivers a perfect riposte to %s" ], - "skill_requirements": [ { "name": "melee", "level": 5 } ], - "melee_allowed": true, - "req_buffs": [ "buff_fencing_onblock" ], - "crit_ok": true, - "weighting": 2, - "stun_dur": 1, - "mult_bonuses": [ - { "stat": "movecost", "scale": 0.66 }, - { "stat": "damage", "type": "bash", "scale": 1.2 }, - { "stat": "damage", "type": "cut", "scale": 1.2 }, - { "stat": "damage", "type": "stab", "scale": 1.2 } - ] - } -] diff --git a/itemgroups/books.json b/itemgroups/books.json new file mode 100644 index 0000000..8e59d03 --- /dev/null +++ b/itemgroups/books.json @@ -0,0 +1,20 @@ +[ + { + "id": "mansion_books", + "type": "item_group", + "//": "Those rich mansion people have all sorts of weird books.", + "subtype": "distribution", + "entries": [ + { "item": "manual_barbaran", "prob": 10 } + ] + }, + { + "id": "exotic_books", + "type": "item_group", + "//": "These are books that are hard to find or esoteric, mostly.", + "subtype": "distribution", + "entries": [ + { "item": "manual_barbaran", "prob": 1 } + ] + } +] diff --git a/kravmaga-martialarts.json b/kravmaga-martialarts.json deleted file mode 100644 index 5448c21..0000000 --- a/kravmaga-martialarts.json +++ /dev/null @@ -1,122 +0,0 @@ -[ - { - "type": "martial_art", - "id": "style_krav_maga", - "name": { "str": "Krav Maga" }, - "description": "Originating in Israel, Krav Maga is based on taking down an enemy quickly and effectively. It focuses on applicable attacks rather than showy or complex moves. Popular among police and armed forces everywhere.", - "initiate": [ "You assume a practical combat stance.", "%s assumes a practical combat stance." ], - "learn_difficulty": 6, - "arm_block": 2, - "leg_block": 4, - "static_buffs": [ - { - "id": "buff_krav_maga_static", - "name": "Krav Maga Stance", - "description": "Your training makes it easier to land hits and fight multiple opponents.\n\n+1 Accuracy, +1 Block attempts.", - "melee_allowed": true, - "unarmed_allowed": true, - "bonus_blocks": 1, - "flat_bonuses": [ { "stat": "hit", "scale": 1.0 } ] - } - ], - "onblock_buffs": [ - { - "id": "buff_krav_maga_onblock", - "name": "Strike Vitals", - "description": "Like a foe, your opponent has left themselves wide.\n\n+5% critical hit chance.\nLasts 1 turn.", - "melee_allowed": true, - "unarmed_allowed": true, - "skill_requirements": [ { "name": "unarmed", "level": 4 } ], - "buff_duration": 1, - "flat_bonuses": [ { "stat": "arpen", "type": "bash", "scaling-stat": "str", "scale": 0.1 } ] - } - ], - "techniques": [ "tec_krav_maga_rapid", "tec_krav_maga_crit", "tec_krav_maga_takedown", "tec_krav_maga_disarm", "tec_krav_maga_break" ], - "weapons": [ - "baton-extended", - "butterfly_swords", - "copper_knife", - "cudgel", - "diveknife", - "honey_scraper", - "knife_combat", - "knife_combat_mod", - "knife_folding", - "knife_hunting", - "knife_rambo", - "knife_rm42", - "knife_trench", - "makeshift_knife", - "PR24-extended", - "shocktonfa_off", - "shocktonfa_on", - "switchblade", - "tonfa", - "tonfa_wood", - "af2011a1_38super", - "cz75", - "deagle_44", - "fn1910", - "fn57", - "glock_17", - "glock_18c", - "glock_19", - "glock_22", - "glock_31", - "hi_power_9mm", - "hi_power_40", - "hptjcp", - "hptjhp", - "m17", - "m1911", - "m1911_MEU", - "m1911a1_38super", - "m9", - "mk23", - "needlepistol", - "sw_22", - "p226_357sig", - "p320_357sig", - "sig_40", - "sig_p230", - "sig_mosquito", - "tokarev", - "usp_45", - "usp_9mm", - "walther_ccp", - "walther_p38", - "walther_ppk", - "walther_ppq_9mm", - "walther_ppq_40", - "walther_ppq_45", - "acr", - "acr_300blk", - "ak47", - "ak74", - "an94", - "ar10", - "ar15", - "ar15_retool_300blk", - "fn_fal", - "h&k416a5", - "hk417_13", - "hk_g3", - "hk_g36", - "iwi_tavor_x95_300blk", - "m1a", - "m110a1", - "m14ebr", - "m16a4", - "m27iar", - "m4a1", - "rm51_assault_rifle", - "rm88_battle_rifle", - "ruger_mini", - "scar_l", - "scar_h", - "sig552", - "sks", - "steyr_aug" - ] - } -] diff --git a/kravmaga-techniques.json b/kravmaga-techniques.json deleted file mode 100644 index aa220a6..0000000 --- a/kravmaga-techniques.json +++ /dev/null @@ -1,66 +0,0 @@ -[ - { - "type": "technique", - "id": "tec_krav_maga_rapid", - "messages": [ "You jab at %s", " jabs at %s" ], - "name": "Jab", - "skill_requirements": [ { "name": "unarmed", "level": 1 } ], - "melee_allowed": true, - "unarmed_allowed": true, - "mult_bonuses": [ - { "stat": "movecost", "scale": 0.5 }, - { "stat": "damage", "type": "bash", "scale": 0.66 }, - { "stat": "damage", "type": "cut", "scale": 0.66 }, - { "stat": "damage", "type": "stab", "scale": 0.66 } - ] - }, - { - "type": "technique", - "id": "tec_krav_maga_crit", - "name": "Cheapshot", - "messages": [ "You hit %s where it hurts", " hits %s with a cheapshot" ], - "skill_requirements": [ { "name": "unarmed", "level": 2 } ], - "melee_allowed": true, - "unarmed_allowed": true, - "crit_tec": true, - "stun_dur": 1 - }, - { - "type": "technique", - "id": "tec_krav_maga_takedown", - "name": "Takedown", - "messages": [ "You force %s to the ground", " forces %s to the ground" ], - "skill_requirements": [ { "name": "unarmed", "level": 3 } ], - "melee_allowed": true, - "unarmed_allowed": true, - "crit_ok": true, - "down_dur": 1 - }, - { - "type": "technique", - "id": "tec_krav_maga_disarm", - "name": "Bone Breaker", - "messages": [ "*CRACK!* You brutally maim %s's arm", "*CRACK!* brutally maims %s's arm" ], - "skill_requirements": [ { "name": "unarmed", "level": 5 } ], - "unarmed_allowed": true, - "weighting": 2, - "crit_tec": true, - "downed_target": true, - "stunned_target": true, - "human_target": true, - "stun_dur": 1, - "flat_bonuses": [ { "stat": "arpen", "type": "bash", "scaling-stat": "str", "scale": 1.0 } ], - "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 2.0 } ] - }, - { - "type": "technique", - "id": "tec_krav_maga_break", - "name": "Grab Break", - "messages": [ "The %s tries to grab you, but you wrestle free!", "The %s tries to grab , but they wrestle free!" ], - "skill_requirements": [ { "name": "unarmed", "level": 3 } ], - "melee_allowed": true, - "unarmed_allowed": true, - "defensive": true, - "grab_break": true - } -] diff --git a/martialarts/aikido.json b/martialarts/aikido.json new file mode 100644 index 0000000..f428c76 --- /dev/null +++ b/martialarts/aikido.json @@ -0,0 +1,86 @@ +[ +{ + "type": "martial_art", + "id": "style_aikido", + "name": { "str": "Aikido" }, + "description": "Aikido is a Japanese martial art focused on self-defense, while minimizing injury to the attacker. It uses defensive throws and disarms but its techniques lack offensive power.", + "initiate": [ "You enter the hamni stance.", "%s changes into a relaxed combat posture." ], + "learn_difficulty": 5, + "arm_block": 0, + "static_buffs": [ + { + "id": "buff_aikido_static1", + "name": "Aikido Stance", + "description": "By disregarding offensive in favor of self-defense, you are better at protecting.\n\nBlocked damage reduced by 300% of Dexterity.\n+1.0 Dodging skill.", + "unarmed_allowed": true, + "unarmed_weapons_allowed": false, + "melee_allowed": true, + "flat_bonuses": [ + { "stat": "block", "scaling-stat": "dex", "scale": 3.0 }, + { "stat": "dodge", "scale": 1.0 } + ] + }, + { + "id": "buff_aikido_static2", + "name": "Intermediate Aikido", + "description": "An intermediate aikido practitioner can protect themselves against multiple opponents.\n\nBlocked Damage reduced by 200% of Dexterity.\n+1 Block attempts, +1 Dodge attempts.", + "unarmed_allowed": true, + "unarmed_weapons_allowed": false, + "melee_allowed": true, + "skill_requirements": [ { "name": "unarmed", "level": 3 } ], + "bonus_dodges": 1, + "bonus_blocks": 1, + "flat_bonuses": [ + { "stat": "block", "scaling-stat": "dex", "scale": 2.0 } + ] + }, + { + "id": "buff_aikido_static3", + "name": "Advanced Aikido", + "description": "An advanced aikido practitioner can protect themselves against even more opponents than normal.\n\nBlocked Damage reduced by 100% of Dexterity.\n+1 Block attempts, +1 Dodge attempts.", + "unarmed_allowed": true, + "unarmed_weapons_allowed": false, + "melee_allowed": true, + "skill_requirements": [ { "name": "unarmed", "level": 5 } ], + "bonus_dodges": 1, + "bonus_blocks": 1, + "flat_bonuses": [ + { "stat": "block", "scaling-stat": "dex", "scale": 2.0 } + ] + } + ], + "onblock_buffs": [ + { + "id": "buff_aikido_onblock", + "name": "Fluid Blocking", + "description": "After a smooth block, you prepare to counter your foe.\n\n-10% move cost.\nLasts for 1 turn.", + "skill_requirements": [ { "name": "unarmed", "level": 1 } ], + "unarmed_allowed": true, + "unarmed_weapons_allowed": false, + "melee_allowed": true, + "buff_duration": 1, + "mult_bonuses": [ { "stat": "movecost", "scale": 0.9 } ] + } + ], + "ondodge_buffs": [ + { + "id": "buff_aikido_ondodge", + "name": "Fluid Dodging", + "description": "After a smooth dodge, you prepare to counter your foe.\n\n-10% move cost.\nLasts for 1 turn.", + "unarmed_allowed": true, + "unarmed_weapons_allowed": false, + "melee_allowed": true, + "buff_duration": 1, + "mult_bonuses": [ { "stat": "movecost", "scale": 0.9 } ] + } + ], + "techniques": [ + "tec_aikido_break", + "tec_aikido_dodgedisarm", + "tec_aikido_blockdisarm", + "tec_aikido_dodgethrow", + "tec_aikido_blockthrow" + ], + "weapons": [ "bagh_nakha", "bio_claws_weapon", "cestus", "knuckle_brass", "knuckle_nail", "knuckle_steel", "knuckle_steel_forged" ] + } +] diff --git a/martialarts/barbaran-montante.json b/martialarts/barbaran-montante.json new file mode 100644 index 0000000..b9d58e1 --- /dev/null +++ b/martialarts/barbaran-montante.json @@ -0,0 +1,105 @@ +[ + { + "type": "martial_art", + "id": "style_barbaran", + "name": { "str": "Barbaran Montante" }, + "description": "The Barbaran Montante originated in 16th century Spain and focuses on overcoming thick armor with heavy weaponry and sweeping blows, transferring kinetic energy through armor and into vulnerable organs and bones.", + "initiate": [ + "You heft your weapon, stretch your shoulders, and slide into the Represa.", + "%s rolls their shoulders and prepares to duel." + ], + "learn_difficulty": 8, + "primary_skill": "bashing", + "strictly_melee": true, + "static_buffs": [ + { + "id": "buff_barbaran_static", + "name": "Barbaran Represa", + "description": "Sliding footwork enhances the crushing continuity of your attacks.\n\nArmor penetration increased by 75% of Strength.", + "melee_allowed": true, + "flat_bonuses": [ + { "stat": "arpen", "type": "bash", "scaling-stat": "str", "scale": 0.75 }, + { "stat": "arpen", "type": "cut", "scaling-stat": "str", "scale": 0.75 }, + { "stat": "arpen", "type": "stab", "scaling-stat": "str", "scale": 0.75 } + ] + } + ], + "onblock_buffs": [ + { + "id": "buff_barbaran_onblock", + "name": "Reversing Destreza", + "description": "Blocking a key strike will turn the battle around.\n\n-5% movecost\nLasts 3 turns. Stacks 2 times.", + "skill_requirements": [ { "name": "melee", "level": 1 } ], + "melee_allowed": true, + "max_stacks": 2, + "mult_bonuses": [ { "stat": "movecost", "scale": 0.95 } ], + "buff_duration": 3 + } + ], + "onkill_buffs": [ + { + "id": "buff_barbaran_onkill", + "name": "Movimiento Natural", + "description": "Formal victory is attained, and your mind is cleared to focus on your next moves.\n\n+1 Block attempts.\nLasts 5 turns.", + "skill_requirements": [ { "name": "melee", "level": 5 } ], + "melee_allowed": true, + "buff_duration": 5, + "bonus_blocks": 1 + } + ], + "onmove_buffs": [ + { + "id": "buff_barbaran_onmove", + "name": "Ricasso Step", + "description": "You switch or sturdy your grip mid-step to aid your blocking.\n\nBlocked damage reduced by 40% of Strength.\nLasts 3 turns. Stacks 3 times.", + "skill_requirements": [ { "name": "melee", "level": 3 } ], + "melee_allowed": true, + "max_stacks": 3, + "flat_bonuses": [ { "stat": "block", "scaling-stat": "str", "scale": 0.4 } ], + "buff_duration": 3 + } + ], + "onpause_buffs": [ + { + "id": "buff_barbaran_onpause", + "name": "Vulgar Preparation", + "description": "You prepare for the final crushing strike.\n\nAccuracy increased by 15% of Strength, Armor penetration increased by 225% of Strength.\nLasts 1 turn.", + "skill_requirements": [ { "name": "melee", "level": 4 } ], + "melee_allowed": true, + "flat_bonuses": [ + { "stat": "hit", "scaling-stat": "str", "scale": 0.15 }, + { "stat": "arpen", "type": "bash", "scaling-stat": "str", "scale": 2.25 }, + { "stat": "arpen", "type": "cut", "scaling-stat": "str", "scale": 2.25 }, + { "stat": "arpen", "type": "stab", "scaling-stat": "str", "scale": 2.25 } + ], + "buff_duration": 1 + } + ], + "techniques": [ "tec_barbaran_impale", "tec_barbaran_disarm" ], + "weapons": [ + "2h_flail_steel", + "2h_flail_wood", + "battleaxe", + "battleaxe_inferior", + "battleaxe_fake", + "hammer_sledge", + "hammer_sledge_heavy", + "longsword", + "longsword_inferior", + "longsword_fake", + "mace", + "mace_inferior", + "mace_fake", + "morningstar", + "morningstar_inferior", + "morningstar_fake", + "sword_nail", + "sword_crude", + "sword_wood", + "warhammer", + "zweihander", + "zweihander_inferior", + "zweihander_fake" + ] + } +] diff --git a/martialarts/brawling.json b/martialarts/brawling.json new file mode 100644 index 0000000..8a9c28d --- /dev/null +++ b/martialarts/brawling.json @@ -0,0 +1,34 @@ +[ +{ + "type": "martial_art", + "id": "style_brawling", + "name": { "str": "Brawling" }, + "description": "You're used to hand-to-creature fighting. You know how to fight when unarmed or with any weapon to a certain extent. It's not stylish or sporting, but it gets the job done.", + "initiate": [ "You grit your teeth and prepare for a good fight.", "%s gets ready to brawl." ], + "autolearn": [ [ "melee", 1 ] ], + "arm_block": 1, + "nonstandard_block": 5, + "static_buffs": [ + { + "id": "buff_brawling_block", + "name": "Enhanced Blocking", + "description": "Combat experience has led to you being able to block multiple attacks at a time.\n\n+1 Block attempts.", + "unarmed_allowed": true, + "melee_allowed": true, + "skill_requirements": [ { "name": "melee", "level": 5 } ], + "bonus_blocks": 1 + } + ], + "allow_melee": true, + "techniques": [ + "tec_brawl_disarm_unarmed", + "tec_brawl_feint_unarmed", + "tec_brawl_break_unarmed", + "tec_brawl_power", + "tec_brawl_trip", + "tec_brawl_disarm_melee", + "tec_brawl_feint_melee", + "tec_brawl_break_melee" + ] + } +] diff --git a/martialarts/fencing.json b/martialarts/fencing.json new file mode 100644 index 0000000..09dea1c --- /dev/null +++ b/martialarts/fencing.json @@ -0,0 +1,85 @@ +[ + { + "type": "martial_art", + "id": "style_fencing", + "name": { "str": "Classical Fencing" }, + "description": "The noble art of fencing is taught with flexible competition blades, but the techniques are derived from (and applicable to) more functional examples. Skilled fencers can take advantage of blocks and feints to deliver accurate strikes.", + "initiate": [ "You move into the en-garde stance.", "%s moves into a fencing stance." ], + "learn_difficulty": 5, + "primary_skill": "stabbing", + "strictly_melee": true, + "static_buffs": [ + { + "id": "buff_fencing_static", + "name": "Fencing Stance", + "description": "Your side stance minimizes the chances you will be harmed in a combat.\n\nBlocked damage reduced by 50% of Dexterity.", + "melee_allowed": true, + "flat_bonuses": [ { "stat": "block", "scaling-stat": "dex", "scale": 0.5 } ] + } + ], + "onblock_buffs": [ + { + "id": "buff_fencing_onblock", + "name": "Parry", + "description": "Your next strike will find its mark much easier from your parry.\n\n+1 Accuracy.\nLasts 1 turn.", + "skill_requirements": [ { "name": "melee", "level": 1 } ], + "melee_allowed": true, + "buff_duration": 1, + "flat_bonuses": [ { "stat": "hit", "scale": 1.0 } ] + } + ], + "onmiss_buffs": [ + { + "id": "buff_fencing_onmiss", + "name": "Remise", + "description": "Your feint is the perfect setup for a devastating followup attack!\n\n+1 Accuracy.\nEnables \"Compound Attack\" technique.\nLasts 1 turn.", + "skill_requirements": [ { "name": "melee", "level": 3 } ], + "melee_allowed": true, + "buff_duration": 1, + "flat_bonuses": [ { "stat": "hit", "scale": 1.0 } ] + } + ], + "onpause_buffs": [ + { + "id": "buff_fencing_onpause", + "name": "Counter Time", + "description": "You fake an attack and prepare yourself to unleash a Compound Attack.\n\nBlocked damage reduced by 100% of Dexterity.\nEnables \"Compound Attack\" technique.\nLasts 2 turns.", + "melee_allowed": true, + "skill_requirements": [ { "name": "melee", "level": 4 } ], + "buff_duration": 2, + "flat_bonuses": [ { "stat": "block", "scaling-stat": "dex", "scale": 1.0 } ] + } + ], + "techniques": [ "tec_fencing_feint", "tec_fencing_lunge", "tec_fencing_riposte", "tec_fencing_compound1", "tec_fencing_compound2" ], + "weapons": [ + "baton-extended", + "broadsword", + "broadsword_inferior", + "broadsword_fake", + "cane", + "cavalry_sabre", + "cavalry_sabre_fake", + "cudgel", + "hollow_cane", + "fencing_foil", + "fencing_sabre", + "fencing_epee", + "fencing_foil_sharpened", + "fencing_sabre_sharpened", + "fencing_epee_sharpened", + "shock_foil", + "shock_sabre", + "shock_epee", + "pointy_stick", + "pipe", + "PR24-extended", + "rapier", + "rapier_fake", + "shillelagh", + "shillelagh_fake", + "shillelagh_weighted", + "sword_cane", + "umbrella" + ] + } +] diff --git a/martialarts/kravmaga.json b/martialarts/kravmaga.json new file mode 100644 index 0000000..83ce91c --- /dev/null +++ b/martialarts/kravmaga.json @@ -0,0 +1,126 @@ +[ + { + "type": "martial_art", + "id": "style_krav_maga", + "name": { "str": "Krav Maga" }, + "description": "Originating in Israel, Krav Maga is based on taking down an enemy quickly and effectively. It focuses on applicable attacks rather than showy or complex moves. Popular among police and armed forces everywhere.", + "initiate": [ "You assume a practical combat stance.", "%s assumes a practical combat stance." ], + "learn_difficulty": 6, + "arm_block": 2, + "leg_block": 4, + "static_buffs": [ + { + "id": "buff_krav_maga_static", + "name": "Krav Maga Stance", + "description": "Your training makes it easier to land hits and fight multiple opponents.\n\n+1 Accuracy, +1 Block attempts.", + "melee_allowed": true, + "unarmed_allowed": true, + "bonus_blocks": 1, + "flat_bonuses": [ { "stat": "hit", "scale": 1.0 } ] + } + ], + "onblock_buffs": [ + { + "id": "buff_krav_maga_onblock", + "name": "Strike Vitals", + "description": "Like a foe, your opponent has left themselves wide.\n\n+10% damage.\nLasts 1 turn.", + "melee_allowed": true, + "unarmed_allowed": true, + "skill_requirements": [ { "name": "unarmed", "level": 4 } ], + "buff_duration": 1, + "mult_bonuses": [ + { "stat": "damage", "type": "bash", "scale": 1.1 }, + { "stat": "damage", "type": "cut", "scale": 1.1 }, + { "stat": "damage", "type": "stab", "scale": 1.1 } + ] + } + ], + "techniques": [ "tec_krav_maga_rapid", "tec_krav_maga_crit", "tec_krav_maga_takedown", "tec_krav_maga_disarm", "tec_krav_maga_break" ], + "weapons": [ + "baton-extended", + "butterfly_swords", + "copper_knife", + "cudgel", + "diveknife", + "honey_scraper", + "knife_combat", + "knife_combat_mod", + "knife_folding", + "knife_hunting", + "knife_rambo", + "knife_rm42", + "knife_trench", + "makeshift_knife", + "PR24-extended", + "shocktonfa_off", + "shocktonfa_on", + "switchblade", + "tonfa", + "tonfa_wood", + "af2011a1_38super", + "cz75", + "deagle_44", + "fn1910", + "fn57", + "glock_17", + "glock_18c", + "glock_19", + "glock_22", + "glock_31", + "hi_power_9mm", + "hi_power_40", + "hptjcp", + "hptjhp", + "m17", + "m1911", + "m1911_MEU", + "m1911a1_38super", + "m9", + "mk23", + "needlepistol", + "sw_22", + "p226_357sig", + "p320_357sig", + "sig_40", + "sig_p230", + "sig_mosquito", + "tokarev", + "usp_45", + "usp_9mm", + "walther_ccp", + "walther_p38", + "walther_ppk", + "walther_ppq_9mm", + "walther_ppq_40", + "walther_ppq_45", + "acr", + "acr_300blk", + "ak47", + "ak74", + "an94", + "ar10", + "ar15", + "ar15_retool_300blk", + "fn_fal", + "h&k416a5", + "hk417_13", + "hk_g3", + "hk_g36", + "iwi_tavor_x95_300blk", + "m1a", + "m110a1", + "m14ebr", + "m16a4", + "m27iar", + "m4a1", + "rm51_assault_rifle", + "rm88_battle_rifle", + "ruger_mini", + "scar_l", + "scar_h", + "sig552", + "sks", + "steyr_aug" + ] + } +] diff --git a/martialarts/medievalpole.json b/martialarts/medievalpole.json new file mode 100644 index 0000000..800db92 --- /dev/null +++ b/martialarts/medievalpole.json @@ -0,0 +1,70 @@ +[ + { + "type": "martial_art", + "id": "style_medievalpole", + "name": { "str": "Fior Di Battaglia - Azza" }, + "description": "Medieval Europe's martial techniques for fighting with polearms. The \"Flower of Battle\" places great focus on countering one's opponent and knocking them down before landing a killing blow", + "initiate": [ "You hold your weapon in a firm grip, ready to block any attack.", "%s grips their weapon tightly." ], + "learn_difficulty": 6, + "primary_skill": "bashing", + "strictly_melee": true, + "static_buffs": [ + { + "id": "buff_medievalpole_static", + "name": "Stand Your Ground", + "description": "You are stalwart and will not budge against any threat.\n\n+1 Block attempts, -1.0 Dodge skill, blocked damage reduced by 250% of Strength.", + "melee_allowed": true, + "bonus_blocks": 1, + "flat_bonuses": [ + { "stat": "block", "scaling-stat": "str", "scale": 2.5 }, + { "stat": "dodge", "scale": -1.0 } + ] + } + ], + "onmove_buffs": [ + { + "id": "buff_medievalpole_onmove", + "name": "Tactical Retreat", + "description": "You moved and nullified the effects of Stand Your Ground!\n\n-1 Block attempts, +1.0 Dodge skill, blocked damaged increased by 250% of Strength.\nPrevents \"High Round Strike and Hook\" technique.\nLasts 2 turns.", + "melee_allowed": true, + "buff_duration": 2, + "bonus_blocks": -1, + "flat_bonuses": [ + { "stat": "block", "scaling-stat": "str", "scale": -2.5 }, + { "stat": "dodge", "scale": 1.0 } + ] + } + ], + "onmiss_buffs": [ + { + "id": "buff_medievalpole_onmiss", + "name": "Tactical Feinting", + "description": "They fell for your feint!\n\nEnables \"Hook and Drag\" technique.\nLasts 1 turn.", + "melee_allowed": true, + "skill_requirements": [ { "name": "melee", "level": 3 } ], + "buff_duration": 1 + } + ], + "onblock_buffs": [ + { + "id": "buff_medievalpole_onblock", + "name": "Defense Break", + "description": "Each successful block reveals an opening in your opponent's guard.\n\n+1 Accuracy.\nEnables \"Displace and Hook\" technique.\nLasts 1 turn. Stacks 3 times.", + "melee_allowed": true, + "skill_requirements": [ { "name": "melee", "level": 1 } ], + "buff_duration": 1, + "max_stacks": 3, + "flat_bonuses": [ { "stat": "hit", "scale": 1.0 } ] + } + ], + "techniques": [ + "tec_medievalpole_counter", + "tec_medievalpole_highround", + "tec_medievalpole_feint", + "tec_medievalpole_hook", + "tec_medievalpole_execute", + "tec_medievalpole_break" + ], + "weapon_category": [ "HOOKING_WEAPONRY" ] + } +] diff --git a/martialarts/sojutsu.json b/martialarts/sojutsu.json new file mode 100644 index 0000000..1488746 --- /dev/null +++ b/martialarts/sojutsu.json @@ -0,0 +1,68 @@ +[ + { + "type": "martial_art", + "id": "style_sojutsu", + "name": { "str": "Sōjutsu" }, + "description": "Sōjutsu, \"The Way of the Spear\", is the Japanese martial art of fighting with a spear. Sōjutsu focuses on keeping opponents at a distance in order to maintain advantage in combat. Standing still gives you an extra block attempt but moving will briefly increase your damage.", + "initiate": [ "You prepare to defend against all that approach you.", "%s assumes a wide, defensive stance." ], + "learn_difficulty": 7, + "primary_skill": "stabbing", + "strictly_melee": true, + "static_buffs": [ + { + "id": "buff_sojutsu_static", + "name": "Sōjutsu Stance", + "description": "Your training grants better defense while using a polearm.\n\nBlocked damage reduced by 200% of Dexterity.\n+1 Block attempt.", + "melee_allowed": true, + "bonus_blocks": 1, + "flat_bonuses": [ + { "stat": "block", "scaling-stat": "str", "scale": 2.0 } + ] + } + ], + "onmove_buffs": [ + { + "id": "buff_sojutsu_onmove", + "name": "Superior Positioning", + "description": "You have given up your defenses for a moment to increase the damage of your attacks.\n\n+10% damage, -1 Block attempts.\nLasts 1 turn.", + "melee_allowed": true, + "buff_duration": 1, + "bonus_blocks": -1, + "mult_bonuses": [ + { "stat": "damage", "type": "bash", "scale": 1.1 }, + { "stat": "damage", "type": "cut", "scale": 1.1 }, + { "stat": "damage", "type": "stab", "scale": 1.1 } + ] + } + ], + "techniques": [ "tec_sojutsu_feint", "tec_sojutsu_shove", "tec_sojutsu_trip" ], + "weapons": [ + "glaive", + "halberd", + "halberd_fake", + "ji", + "naginata", + "naginata_inferior", + "naginata_fake", + "long_pole", + "makeshift_halberd", + "pike", + "pike_inferior", + "pike_fake", + "pitchfork", + "qiang", + "spear_copper", + "spear_dory", + "spear_forked", + "spear_homemade_halfpike", + "spear_pipe", + "spear_knife", + "spear_knife_superior", + "spear_spike", + "spear_rebar", + "spear_steel", + "spear_survivor", + "spear_wood" + ] + } +] diff --git a/martialarts/swordsmanship.json b/martialarts/swordsmanship.json new file mode 100644 index 0000000..791013d --- /dev/null +++ b/martialarts/swordsmanship.json @@ -0,0 +1,83 @@ +[ + { + "type": "martial_art", + "id": "style_swordsmanship", + "name": { "str": "Kunst des Fechtens" }, + "description": "The art of the longsword and sword & buckler, preceding the later development of fencing. Designed for combat both unarmored and in armor, it includes grappling as well as defensive and offensive sword techniques. This treatise compares the Italian and German traditions of medieval combat with detailed step-by-step pictures.", + "initiate": [ "You take on a knightly stance.", "%s takes on a knightly stance." ], + "strictly_melee": true, + "learn_difficulty": 6, + "primary_skill": "cutting", + "static_buffs": [ + { + "id": "buff_swordsmanship_static", + "name": "Swordsman's Stance", + "description": "Through chivalry and vigilance, your defense with a blade has increased.\n\n+1 Block attempts; blocked damage decreased by 50% of Strength.", + "melee_allowed": true, + "bonus_blocks": 1, + "flat_bonuses": [ { "stat": "block", "scaling-stat": "str", "scale": 0.5 } ] + } + ], + "onblock_buffs": [ + { + "id": "buff_swordsmanship_onblock", + "name": "Mastercut", + "description": "You parry and return the attack with greater vigor!\n\n+10% damage, -10 move cost\nLasts 1 turn.", + "melee_allowed": true, + "skill_requirements": [ { "name": "melee", "level": 5 } ], + "buff_duration": 1, + "mult_bonuses": [ + { "stat": "movecost", "scale": 0.9 }, + { "stat": "damage", "type": "bash", "scale": 1.1 }, + { "stat": "damage", "type": "cut", "scale": 1.1 }, + { "stat": "damage", "type": "stab", "scale": 1.1 } + ] + } + ], + "onhit_buffs": [ + { + "id": "buff_swordsmanship_onhit", + "name": "Conserve Momentum", + "description": "You maintain the momentum from your last strike to move more quickly", + "melee_allowed": true, + "skill_requirements": [ { "name": "melee", "level": 2 } ], + "buff_duration": 2, + "mult_bonuses": [ { "stat": "movecost", "scale": 0.8 } ] + } + ], + "onpause_buffs": [ + { + "id": "buff_swordsmanship_onpause", + "name": "Half Swording", + "description": "You grip the blade part way down for greater control.\n\nBlocked damage decreased an additional 50% of Strength, -1 Accuracy,\nEnables Grab and Lethal Strike", + "skill_requirements": [ { "name": "melee", "level": 3 } ], + "melee_allowed": true, + "buff_duration": 2, + "flat_bonuses": [ { "stat": "block", "scaling-stat": "str", "scale": 0.5 }, { "stat": "hit", "scale": -1.0 } ] + } + ], + "techniques": [ "tec_swordsmanship_feint", "tec_swordsmanship_lethal", "tec_swordsmanship_ringen" ], + "weapons": [ + "arming_sword", + "arming_sword_inferior", + "arming_sword_fake", + "broadsword", + "broadsword_inferior", + "broadsword_fake", + "estoc", + "estoc_inferior", + "estoc_fake", + "glass_macuahuitl", + "longsword", + "longsword_inferior", + "longsword_fake", + "sword_crude", + "sword_nail", + "sword_wood", + "sword_metal", + "zweihander", + "zweihander_inferior", + "zweihander_fake" + ] + } +] diff --git a/martialarts/taekwondo.json b/martialarts/taekwondo.json new file mode 100644 index 0000000..141b92f --- /dev/null +++ b/martialarts/taekwondo.json @@ -0,0 +1,41 @@ +[ +{ + "type": "martial_art", + "id": "style_taekwondo", + "name": { "str": "Taekwondo" }, + "description": "Taekwondo is the national sport of Korea, and was used by the South Korean army in the 20th century. Focused on kicks and so it does not benefit from wielded weapons. It also includes strength training; your blocks absorb extra damage and your attacks do more damage if you are not holding anything.", + "initiate": [ "You adopt a narrow fighting stance.", "You adopts a narrow fighting stance." ], + "learn_difficulty": 5, + "arm_block": 1, + "leg_block": 3, + "force_unarmed": true, + "static_buffs": [ + { + "id": "buff_taekwondo_static", + "name": "Taekwondo Stance", + "description": "Using your legs to attack allows your hands to be free for better defense.\n\nBlocked damage decreased by 50% of Strength.", + "unarmed_allowed": true, + "flat_bonuses": [ { "stat": "block", "scaling-stat": "str", "scale": 0.5 } ] + }, + { + "id": "buff_taekwondo_static2", + "name": "Unhindered", + "description": "Your attacks are stronger if you are not holding anything in your hands.\n\n+33% damage when not using a weapon.", + "unarmed_allowed": true, + "mult_bonuses": [ + { "stat": "damage", "type": "bash", "scale": 1.33 }, + { "stat": "damage", "type": "cut", "scale": 1.33 }, + { "stat": "damage", "type": "stab", "scale": 1.33 } + ] + } + ], + "techniques": [ + "tec_taekwondo_disarm", + "tec_taekwondo_strong", + "tec_taekwondo_roundhouse", + "tec_taekwondo_feint", + "tec_taekwondo_push", + "tec_taekwondo_sweep" + ] + } +] diff --git a/martialarts/taichi.json b/martialarts/taichi.json new file mode 100644 index 0000000..0321c50 --- /dev/null +++ b/martialarts/taichi.json @@ -0,0 +1,49 @@ +[ + { + "type": "martial_art", + "id": "style_tai_chi", + "name": { "str": "Tai Chi" }, + "description": "Though Tai Chi is often seen as a form of mental and physical exercise, it is a legitimate martial art, focused on self-defense. Its ability to absorb the force of an attack makes your Perception decrease damage further on a block. Pausing for a moment enables powerful palm strike techniques.", + "initiate": [ "You settle into a gentle stance and prepare to defend yourself.", "%s settles into a gentle stance." ], + "learn_difficulty": 4, + "arm_block": 0, + "static_buffs": [ + { + "id": "buff_tai_chi_static", + "name": "Tai Chi Stance", + "description": "You are focused of defense and predicting your opponents attacks.\n\n+1 Block attempts, blocked damage reduced by 100% Perception.", + "unarmed_allowed": true, + "bonus_blocks": 1, + "flat_bonuses": [ { "stat": "block", "scaling-stat": "per", "scale": 1.0 } ] + } + ], + "onblock_buffs": [ + { + "id": "buff_tai_chi_onblock", + "name": "Repulse the Monkey", + "description": "By perfectly positioning yourself and your opponent, you have become more accurate and can bypass your opponent's defenses.\n\nAccuracy increased by 20% of Perception. Gains Armor Penetration equal to 50% of Perception.\nLasts 2 turns.", + "unarmed_allowed": true, + "skill_requirements": [ { "name": "unarmed", "level": 3 } ], + "buff_duration": 2, + "flat_bonuses": [ + { "stat": "arpen", "type": "bash", "scaling-stat": "per", "scale": 0.5 }, + { "stat": "arpen", "type": "cut", "scaling-stat": "per", "scale": 0.5 }, + { "stat": "arpen", "type": "stab", "scaling-stat": "per", "scale": 0.5 }, + { "stat": "hit", "scaling-stat": "per", "scale": 0.2 } + ] + } + ], + "onpause_buffs": [ + { + "id": "buff_tai_chi_onpause", + "name": "Cross Hands", + "description": "By taking a moment to prepare yourself, you are able to use your entire body fully for attacking and defending.\n\n+2 Block Effectiveness, blocked damage reduced by 50% of Perception.\nEnables \"Palm Strike\" and \"Double Palm Strike\" techniques.\nLasts 3 turns.", + "unarmed_allowed": true, + "skill_requirements": [ { "name": "unarmed", "level": 1 } ], + "buff_duration": 3, + "flat_bonuses": [ { "stat": "block_effectiveness", "scale": 2.0 }, { "stat": "block", "scaling-stat": "per", "scale": 0.5 } ] + } + ], + "techniques": [ "tec_taichi_disarm", "tec_taichi_palm", "tec_taichi_counter", "tec_taichi_precise" ] + } +] diff --git a/readme b/readme new file mode 100644 index 0000000..f05a073 --- /dev/null +++ b/readme @@ -0,0 +1,24 @@ +--Martial Arts Update for BN +Update the martial arts in Bright Nights with the chagnes made in Dark Days Ahead. +Changes are made as neccessary when efects are not supported. +Note: This mod overwrites the vanilla styles entirely, so it should be placed early in the mod order to ensure mods can append weapons to styles. + +Added the Barbaran Montante style, book, and itemgroups. +Give Fencing, Medieval Swordsmandship and Fior Di Battaglia more historically correct names. + + +Styles updated so far- +Brawling +Fencing +Krav Maga +Sōjutsu +Swordsmanship +Taekwondo +Tai Chi + +Caveats- +BN lacks the ability to specify weapon group types, so legacy weapon additions are still required. +BN lacks the block_effectiveness stat. Use block scaling with a stat appropriate to the art. block_effectiveness 2 -> block dex 2. +BN lacks support for buffing critical hit chance. Reverted to bonus damage at twice the crit chance value. +5% crit -> +10% damage. +BN lacks support for disabling buffs and techniques when certain buffs are active. +BN uses the req_buffs field to specify active buff requirements instead of DDA's required_buffs_all. diff --git a/swordsmanship-martialarts.json b/swordsmanship-martialarts.json deleted file mode 100644 index 791013d..0000000 --- a/swordsmanship-martialarts.json +++ /dev/null @@ -1,83 +0,0 @@ -[ - { - "type": "martial_art", - "id": "style_swordsmanship", - "name": { "str": "Kunst des Fechtens" }, - "description": "The art of the longsword and sword & buckler, preceding the later development of fencing. Designed for combat both unarmored and in armor, it includes grappling as well as defensive and offensive sword techniques. This treatise compares the Italian and German traditions of medieval combat with detailed step-by-step pictures.", - "initiate": [ "You take on a knightly stance.", "%s takes on a knightly stance." ], - "strictly_melee": true, - "learn_difficulty": 6, - "primary_skill": "cutting", - "static_buffs": [ - { - "id": "buff_swordsmanship_static", - "name": "Swordsman's Stance", - "description": "Through chivalry and vigilance, your defense with a blade has increased.\n\n+1 Block attempts; blocked damage decreased by 50% of Strength.", - "melee_allowed": true, - "bonus_blocks": 1, - "flat_bonuses": [ { "stat": "block", "scaling-stat": "str", "scale": 0.5 } ] - } - ], - "onblock_buffs": [ - { - "id": "buff_swordsmanship_onblock", - "name": "Mastercut", - "description": "You parry and return the attack with greater vigor!\n\n+10% damage, -10 move cost\nLasts 1 turn.", - "melee_allowed": true, - "skill_requirements": [ { "name": "melee", "level": 5 } ], - "buff_duration": 1, - "mult_bonuses": [ - { "stat": "movecost", "scale": 0.9 }, - { "stat": "damage", "type": "bash", "scale": 1.1 }, - { "stat": "damage", "type": "cut", "scale": 1.1 }, - { "stat": "damage", "type": "stab", "scale": 1.1 } - ] - } - ], - "onhit_buffs": [ - { - "id": "buff_swordsmanship_onhit", - "name": "Conserve Momentum", - "description": "You maintain the momentum from your last strike to move more quickly", - "melee_allowed": true, - "skill_requirements": [ { "name": "melee", "level": 2 } ], - "buff_duration": 2, - "mult_bonuses": [ { "stat": "movecost", "scale": 0.8 } ] - } - ], - "onpause_buffs": [ - { - "id": "buff_swordsmanship_onpause", - "name": "Half Swording", - "description": "You grip the blade part way down for greater control.\n\nBlocked damage decreased an additional 50% of Strength, -1 Accuracy,\nEnables Grab and Lethal Strike", - "skill_requirements": [ { "name": "melee", "level": 3 } ], - "melee_allowed": true, - "buff_duration": 2, - "flat_bonuses": [ { "stat": "block", "scaling-stat": "str", "scale": 0.5 }, { "stat": "hit", "scale": -1.0 } ] - } - ], - "techniques": [ "tec_swordsmanship_feint", "tec_swordsmanship_lethal", "tec_swordsmanship_ringen" ], - "weapons": [ - "arming_sword", - "arming_sword_inferior", - "arming_sword_fake", - "broadsword", - "broadsword_inferior", - "broadsword_fake", - "estoc", - "estoc_inferior", - "estoc_fake", - "glass_macuahuitl", - "longsword", - "longsword_inferior", - "longsword_fake", - "sword_crude", - "sword_nail", - "sword_wood", - "sword_metal", - "zweihander", - "zweihander_inferior", - "zweihander_fake" - ] - } -] diff --git a/swordsmanship-techniques.json b/swordsmanship-techniques.json deleted file mode 100644 index 6f95afc..0000000 --- a/swordsmanship-techniques.json +++ /dev/null @@ -1,47 +0,0 @@ -[ - { - "type": "technique", - "id": "tec_swordsmanship_ringen", - "name": "Grab", - "messages": [ "You wrestle %s to the ground", " wrestles %s to the ground" ], - "skill_requirements": [ { "name": "melee", "level": 4 } ], - "melee_allowed": true, - "req_buffs": [ "buff_swordsmanship_onpause" ], - "mult_bonuses": [ - { "stat": "damage", "type": "bash", "scale": 0.5 }, - { "stat": "damage", "type": "cut", "scale": 0.5 }, - { "stat": "damage", "type": "stab", "scale": 0.33 } - ], - "crit_tec": true, - "down_dur": 2 - }, - { - "type": "technique", - "id": "tec_swordsmanship_lethal", - "name": "Lethal Strike", - "messages": [ "You drive the point of your blade into %s", " drives their blade into %s" ], - "skill_requirements": [ { "name": "melee", "level": 3 } ], - "melee_allowed": true, - "req_buffs": [ "buff_swordsmanship_onpause" ], - "crit_ok": true, - "flat_bonuses": [ - { "stat": "arpen", "type": "bash", "scaling-stat": "str", "scale": 1.5 }, - { "stat": "arpen", "type": "cut", "scaling-stat": "str", "scale": 1.5 }, - { "stat": "arpen", "type": "stab", "scaling-stat": "str", "scale": 1.5 } - ], - "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 0 } ] - }, - { - "type": "technique", - "id": "tec_swordsmanship_feint", - "name": "Flow Drills", - "messages": [ - "With practiced movements, you transition from a failed strike into another strike", - "With practiced movements, transitions from a failed strike into another strike" - ], - "skill_requirements": [ { "name": "melee", "level": 1 } ], - "melee_allowed": true, - "defensive": true, - "miss_recovery": true - } -] diff --git a/techniques/aikido.json b/techniques/aikido.json new file mode 100644 index 0000000..57ef0b5 --- /dev/null +++ b/techniques/aikido.json @@ -0,0 +1,78 @@ +[ + { + "type": "technique", + "id": "tec_aikido_blockthrow", + "name": "Counter Throw (block)", + "messages": [ "You smoothly throw %s", " blocks and smoothly throws %s" ], + "skill_requirements": [ { "name": "unarmed", "level": 2 } ], + "unarmed_allowed": true, + "melee_allowed": true, + "unarmed_weapons_allowed": false, + "req_buffs": [ "buff_aikido_onblock" ], + "crit_ok": true, + "down_dur": 1, + "knockback_dist": 1, + "mult_bonuses": [ { "stat": "movecost", "scale": 0.7 } ] + }, + { + "type": "technique", + "id": "tec_aikido_dodgethrow", + "name": "Counter Throw (dodge)", + "messages": [ "You smoothly throw %s", " dodges and smoothly throws %s" ], + "unarmed_allowed": true, + "melee_allowed": true, + "unarmed_weapons_allowed": false, + "req_buffs": [ "buff_aikido_ondodge" ], + "crit_ok": true, + "down_dur": 1, + "knockback_dist": 1, + "mult_bonuses": [ { "stat": "movecost", "scale": 0.7 } ] + }, + { + "type": "technique", + "id": "tec_aikido_blockdisarm", + "name": "Disarming Throw (block)", + "messages": [ "You smoothly disarm %s", " blocks and smoothly disarms %s" ], + "skill_requirements": [ { "name": "unarmed", "level": 4 } ], + "unarmed_allowed": true, + "melee_allowed": true, + "unarmed_weapons_allowed": false, + "req_buffs": [ "buff_aikido_onblock" ], + "crit_ok": true, + "disarms": true, + "down_dur": 1, + "knockback_dist": 1, + "mult_bonuses": [ { "stat": "movecost", "scale": 0.7 } ] + }, + { + "type": "technique", + "id": "tec_aikido_dodgedisarm", + "name": "Disarming Throw (dodge)", + "messages": [ "You smoothly disarm %s", " dodges and smoothly disarms %s" ], + "skill_requirements": [ { "name": "unarmed", "level": 4 } ], + "unarmed_allowed": true, + "melee_allowed": true, + "unarmed_weapons_allowed": false, + "req_buffs": [ "buff_aikido_ondodge" ], + "crit_ok": true, + "disarms": true, + "down_dur": 1, + "knockback_dist": 1, + "mult_bonuses": [ { "stat": "movecost", "scale": 0.7 } ] + }, + { + "type": "technique", + "id": "tec_aikido_break", + "name": "Grab Break", + "messages": [ + "The %s tries to grab you, but you smoothly break free!", + "The %s tries to grab , but they smoothly break free!" + ], + "skill_requirements": [ { "name": "unarmed", "level": 3 } ], + "unarmed_allowed": true, + "melee_allowed": true, + "unarmed_weapons_allowed": false, + "defensive": true, + "grab_break": true + } +] diff --git a/techniques/barbaran-montante.json b/techniques/barbaran-montante.json new file mode 100644 index 0000000..bf25356 --- /dev/null +++ b/techniques/barbaran-montante.json @@ -0,0 +1,33 @@ +[ + { + "type": "technique", + "id": "tec_barbaran_impale", + "name": "Impaling Estocada", + "messages": [ "You thrust your weapon through %s", " thrusts their weapon through %s" ], + "skill_requirements": [ { "name": "melee", "level": 2 } ], + "weapon_damage_requirements": [ { "type": "cut", "min": 8 } ], + "melee_allowed": true, + "aoe": "impale", + "mult_bonuses": [ + { "stat": "damage", "type": "bash", "scale": 1.1 }, + { "stat": "damage", "type": "cut", "scale": 1.1 }, + { "stat": "damage", "type": "stab", "scale": 1.1 }, + { "stat": "movecost", "scale": 1.2 } + ] + }, + { + "type": "technique", + "id": "tec_barbaran_disarm", + "name": "Swift Atajo", + "messages": [ "You jab a quick blow at %s's grip", " jabs a quick blow at %s's grip" ], + "skill_requirements": [ { "name": "melee", "level": 2 } ], + "melee_allowed": true, + "disarms": true, + "mult_bonuses": [ + { "stat": "movecost", "scale": 0.5 }, + { "stat": "damage", "type": "bash", "scale": 0.66 }, + { "stat": "damage", "type": "cut", "scale": 0.66 }, + { "stat": "damage", "type": "stab", "scale": 0.66 } + ] + }, +] diff --git a/techniques/brawling.json b/techniques/brawling.json new file mode 100644 index 0000000..74d9bc1 --- /dev/null +++ b/techniques/brawling.json @@ -0,0 +1,80 @@ +[ + { + "type": "technique", + "id": "tec_brawl_break_melee", + "name": "Grab Break", + "messages": [ "The %s tries to grab you, but you force yourself free!", "The %s tries to grab , but they break free!" ], + "skill_requirements": [ { "name": "melee", "level": 6 } ], + "melee_allowed": true, + "defensive": true, + "grab_break": true + }, + { + "type": "technique", + "id": "tec_brawl_break_unarmed", + "name": "Grab Break", + "messages": [ "The %s tries to grab you, but you force yourself free!", "The %s tries to grab , but they break free!" ], + "skill_requirements": [ { "name": "unarmed", "level": 6 } ], + "unarmed_allowed": true, + "defensive": true, + "grab_break": true + }, + { + "type": "technique", + "id": "tec_brawl_feint_melee", + "name": "Feint", + "messages": [ "You fake a strike at %s", " fakes a strike at %s" ], + "skill_requirements": [ { "name": "melee", "level": 3 } ], + "melee_allowed": true, + "defensive": true, + "miss_recovery": true + }, + { + "type": "technique", + "id": "tec_brawl_feint_unarmed", + "name": "Feint", + "messages": [ "You fake a strike at %s", " fakes a strike at %s" ], + "skill_requirements": [ { "name": "unarmed", "level": 3 } ], + "unarmed_allowed": true, + "defensive": true, + "miss_recovery": true + }, + { + "type": "technique", + "id": "tec_brawl_disarm_melee", + "name": "Disarm", + "messages": [ "You knock %s's weapon away", " knock %s's weapon away" ], + "skill_requirements": [ { "name": "melee", "level": 6 } ], + "melee_allowed": true, + "disarms": true + }, + { + "type": "technique", + "id": "tec_brawl_disarm_unarmed", + "name": "Disarm", + "messages": [ "You knock %s's weapon away", " knock %s's weapon away" ], + "skill_requirements": [ { "name": "unarmed", "level": 6 } ], + "unarmed_allowed": true, + "disarms": true + }, + { + "type": "technique", + "id": "tec_brawl_power", + "name": "Power Hit", + "messages": [ "You send %s reeling", " sends %s reeling" ], + "skill_requirements": [ { "name": "unarmed", "level": 4 } ], + "unarmed_allowed": true, + "crit_tec": true, + "knockback_dist": 1, + "stun_dur": 1 + }, + { + "type": "technique", + "id": "tec_brawl_trip", + "name": "Trip", + "messages": [ "You trip %s", " trip %s" ], + "skill_requirements": [ { "name": "unarmed", "level": 5 } ], + "unarmed_allowed": true, + "down_dur": 1 + } +] diff --git a/techniques/fencing.json b/techniques/fencing.json new file mode 100644 index 0000000..41061e8 --- /dev/null +++ b/techniques/fencing.json @@ -0,0 +1,72 @@ +[ + { + "type": "technique", + "id": "tec_fencing_feint", + "messages": [ "You steady your weapon and fake a thrust at %s", " steadies their weapon and fake a thrust at %s" ], + "name": "Feint", + "skill_requirements": [ { "name": "melee", "level": 4 } ], + "melee_allowed": true, + "defensive": true, + "miss_recovery": true + }, + { + "type": "technique", + "id": "tec_fencing_lunge", + "name": "Fencing Lunge", + "messages": [ "You lunge at %s", " lunges at %s" ], + "skill_requirements": [ { "name": "melee", "level": 2 } ], + "melee_allowed": true, + "crit_ok": true, + "mult_bonuses": [ { "stat": "movecost", "scale": 0.8 } ] + }, + { + "type": "technique", + "id": "tec_fencing_compound1", + "name": "Compound Attack (Remise)", + "messages": [ "Your feint leads to a compound attack against %s", "'s feint leads to a compound attack against %s" ], + "skill_requirements": [ { "name": "melee", "level": 3 } ], + "melee_allowed": true, + "req_buffs": [ "buff_fencing_onmiss" ], + "weighting": 4, + "crit_ok": true, + "mult_bonuses": [ + { "stat": "damage", "type": "bash", "scale": 1.25 }, + { "stat": "damage", "type": "cut", "scale": 1.25 }, + { "stat": "damage", "type": "stab", "scale": 1.25 } + ] + }, + { + "type": "technique", + "id": "tec_fencing_compound2", + "name": "Compound Attack (Counter Time)", + "messages": [ "Your feint leads to a compound attack against %s", "'s feint leads to a compound attack against %s" ], + "skill_requirements": [ { "name": "melee", "level": 4 } ], + "melee_allowed": true, + "req_buffs": [ "buff_fencing_onpause" ], + "weighting": 4, + "crit_ok": true, + "mult_bonuses": [ + { "stat": "damage", "type": "bash", "scale": 1.25 }, + { "stat": "damage", "type": "cut", "scale": 1.25 }, + { "stat": "damage", "type": "stab", "scale": 1.25 } + ] + }, + { + "type": "technique", + "id": "tec_fencing_riposte", + "name": "Fencing Riposte", + "messages": [ "You deliver a perfect riposte to %s", " delivers a perfect riposte to %s" ], + "skill_requirements": [ { "name": "melee", "level": 5 } ], + "melee_allowed": true, + "req_buffs": [ "buff_fencing_onblock" ], + "crit_ok": true, + "weighting": 2, + "stun_dur": 1, + "mult_bonuses": [ + { "stat": "movecost", "scale": 0.66 }, + { "stat": "damage", "type": "bash", "scale": 1.2 }, + { "stat": "damage", "type": "cut", "scale": 1.2 }, + { "stat": "damage", "type": "stab", "scale": 1.2 } + ] + } +] diff --git a/techniques/kravmaga.json b/techniques/kravmaga.json new file mode 100644 index 0000000..aa220a6 --- /dev/null +++ b/techniques/kravmaga.json @@ -0,0 +1,66 @@ +[ + { + "type": "technique", + "id": "tec_krav_maga_rapid", + "messages": [ "You jab at %s", " jabs at %s" ], + "name": "Jab", + "skill_requirements": [ { "name": "unarmed", "level": 1 } ], + "melee_allowed": true, + "unarmed_allowed": true, + "mult_bonuses": [ + { "stat": "movecost", "scale": 0.5 }, + { "stat": "damage", "type": "bash", "scale": 0.66 }, + { "stat": "damage", "type": "cut", "scale": 0.66 }, + { "stat": "damage", "type": "stab", "scale": 0.66 } + ] + }, + { + "type": "technique", + "id": "tec_krav_maga_crit", + "name": "Cheapshot", + "messages": [ "You hit %s where it hurts", " hits %s with a cheapshot" ], + "skill_requirements": [ { "name": "unarmed", "level": 2 } ], + "melee_allowed": true, + "unarmed_allowed": true, + "crit_tec": true, + "stun_dur": 1 + }, + { + "type": "technique", + "id": "tec_krav_maga_takedown", + "name": "Takedown", + "messages": [ "You force %s to the ground", " forces %s to the ground" ], + "skill_requirements": [ { "name": "unarmed", "level": 3 } ], + "melee_allowed": true, + "unarmed_allowed": true, + "crit_ok": true, + "down_dur": 1 + }, + { + "type": "technique", + "id": "tec_krav_maga_disarm", + "name": "Bone Breaker", + "messages": [ "*CRACK!* You brutally maim %s's arm", "*CRACK!* brutally maims %s's arm" ], + "skill_requirements": [ { "name": "unarmed", "level": 5 } ], + "unarmed_allowed": true, + "weighting": 2, + "crit_tec": true, + "downed_target": true, + "stunned_target": true, + "human_target": true, + "stun_dur": 1, + "flat_bonuses": [ { "stat": "arpen", "type": "bash", "scaling-stat": "str", "scale": 1.0 } ], + "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 2.0 } ] + }, + { + "type": "technique", + "id": "tec_krav_maga_break", + "name": "Grab Break", + "messages": [ "The %s tries to grab you, but you wrestle free!", "The %s tries to grab , but they wrestle free!" ], + "skill_requirements": [ { "name": "unarmed", "level": 3 } ], + "melee_allowed": true, + "unarmed_allowed": true, + "defensive": true, + "grab_break": true + } +] diff --git a/techniques/medievalpole.json b/techniques/medievalpole.json new file mode 100644 index 0000000..041efc6 --- /dev/null +++ b/techniques/medievalpole.json @@ -0,0 +1,88 @@ +[ + { + "type": "technique", + "id": "tec_medievalpole_counter", + "name": "Displace and Hook", + "messages": [ "You parry and hook %s down", " parries and hooks %s down" ], + "skill_requirements": [ { "name": "melee", "level": 4 } ], + "melee_allowed": true, + "required_buffs_all": [ "buff_medievalpole_onblock" ], + "crit_ok": true, + "weighting": 2, + "down_dur": 2, + "mult_bonuses": [ + { "stat": "movecost", "scale": 0.5 }, + { "stat": "damage", "type": "bash", "scale": 0.5 }, + { "stat": "damage", "type": "cut", "scale": 0.5 }, + { "stat": "damage", "type": "stab", "scale": 0.5 } + ] + }, + { + "type": "technique", + "id": "tec_medievalpole_highround", + "name": "High Round Strike", + "messages": [ "You swing high and strike at %s", " swings high and strikes %s" ], + "skill_requirements": [ { "name": "melee", "level": 2 } ], + "melee_allowed": true, + "forbidden_buffs_all": [ "buff_medievalpole_onmove" ], + "mult_bonuses": [ + { "stat": "damage", "type": "bash", "scale": 1.1 }, + { "stat": "damage", "type": "cut", "scale": 1.1 }, + { "stat": "damage", "type": "stab", "scale": 1.1 } + ] + }, + { + "type": "technique", + "id": "tec_medievalpole_feint", + "name": "High Round Feint", + "messages": [ "You fake a high round strike at %s", " feints at %s" ], + "skill_requirements": [ { "name": "melee", "level": 3 } ], + "melee_allowed": true, + "defensive": true, + "miss_recovery": true, + "mult_bonuses": [ { "stat": "movecost", "scale": 0.8 } ] + }, + { + "type": "technique", + "id": "tec_medievalpole_break", + "name": "Grab Break", + "messages": [ "The %s tries to grab you, but you push away!", "The %s tries to grab , but they push away!" ], + "skill_requirements": [ { "name": "melee", "level": 4 } ], + "melee_allowed": true, + "defensive": true, + "grab_break": true + }, + { + "type": "technique", + "id": "tec_medievalpole_hook", + "name": "Hook and Drag", + "messages": [ "You hook and drag %s down", " hooks and drags %s down" ], + "skill_requirements": [ { "name": "melee", "level": 3 } ], + "melee_allowed": true, + "required_buffs_all": "buff_medievalpole_onmiss", + "crit_ok": true, + "weighting": 2, + "down_dur": 2, + "mult_bonuses": [ + { "stat": "damage", "type": "bash", "scale": 0.5 }, + { "stat": "damage", "type": "cut", "scale": 0.5 }, + { "stat": "damage", "type": "stab", "scale": 0.5 } + ] + }, + { + "type": "technique", + "id": "tec_medievalpole_execute", + "name": "Colpo di Grazia", + "messages": [ "You swing down hard and execute %s", " swings down hard and executes %s" ], + "skill_requirements": [ { "name": "melee", "level": 5 } ], + "melee_allowed": true, + "downed_target": true, + "crit_tec": true, + "weighting": 2, + "mult_bonuses": [ + { "stat": "damage", "type": "bash", "scale": 1.5 }, + { "stat": "damage", "type": "cut", "scale": 1.5 }, + { "stat": "damage", "type": "stab", "scale": 1.5 } + ] + } +] diff --git a/techniques/sojutsu.json b/techniques/sojutsu.json new file mode 100644 index 0000000..83cf631 --- /dev/null +++ b/techniques/sojutsu.json @@ -0,0 +1,40 @@ +[ + { + "type": "technique", + "id": "tec_sojutsu_shove", + "name": "Shove", + "messages": [ "You shove %s back", " shoves %s back" ], + "skill_requirements": [ { "name": "melee", "level": 2 } ], + "melee_allowed": true, + "knockback_dist": 1, + "mult_bonuses": [ + { "stat": "damage", "type": "bash", "scale": 0.5 }, + { "stat": "damage", "type": "cut", "scale": 0.5 }, + { "stat": "damage", "type": "stab", "scale": 0.5 } + ] + }, + { + "type": "technique", + "id": "tec_sojutsu_trip", + "name": "Trip", + "messages": [ "You deftly trip %s", " deftly trips %s" ], + "skill_requirements": [ { "name": "melee", "level": 3 } ], + "melee_allowed": true, + "down_dur": 1, + "mult_bonuses": [ + { "stat": "damage", "type": "bash", "scale": 0.5 }, + { "stat": "damage", "type": "cut", "scale": 0.5 }, + { "stat": "damage", "type": "stab", "scale": 0.5 } + ] + }, + { + "type": "technique", + "id": "tec_sojutsu_feint", + "name": "Feint", + "messages": [ "You fake a thrust at %s", " fakes a thrust at %s" ], + "skill_requirements": [ { "name": "melee", "level": 4 } ], + "melee_allowed": true, + "defensive": true, + "miss_recovery": true + } +] diff --git a/techniques/swordsmanship.json b/techniques/swordsmanship.json new file mode 100644 index 0000000..6f95afc --- /dev/null +++ b/techniques/swordsmanship.json @@ -0,0 +1,47 @@ +[ + { + "type": "technique", + "id": "tec_swordsmanship_ringen", + "name": "Grab", + "messages": [ "You wrestle %s to the ground", " wrestles %s to the ground" ], + "skill_requirements": [ { "name": "melee", "level": 4 } ], + "melee_allowed": true, + "req_buffs": [ "buff_swordsmanship_onpause" ], + "mult_bonuses": [ + { "stat": "damage", "type": "bash", "scale": 0.5 }, + { "stat": "damage", "type": "cut", "scale": 0.5 }, + { "stat": "damage", "type": "stab", "scale": 0.33 } + ], + "crit_tec": true, + "down_dur": 2 + }, + { + "type": "technique", + "id": "tec_swordsmanship_lethal", + "name": "Lethal Strike", + "messages": [ "You drive the point of your blade into %s", " drives their blade into %s" ], + "skill_requirements": [ { "name": "melee", "level": 3 } ], + "melee_allowed": true, + "req_buffs": [ "buff_swordsmanship_onpause" ], + "crit_ok": true, + "flat_bonuses": [ + { "stat": "arpen", "type": "bash", "scaling-stat": "str", "scale": 1.5 }, + { "stat": "arpen", "type": "cut", "scaling-stat": "str", "scale": 1.5 }, + { "stat": "arpen", "type": "stab", "scaling-stat": "str", "scale": 1.5 } + ], + "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 0 } ] + }, + { + "type": "technique", + "id": "tec_swordsmanship_feint", + "name": "Flow Drills", + "messages": [ + "With practiced movements, you transition from a failed strike into another strike", + "With practiced movements, transitions from a failed strike into another strike" + ], + "skill_requirements": [ { "name": "melee", "level": 1 } ], + "melee_allowed": true, + "defensive": true, + "miss_recovery": true + } +] diff --git a/techniques/taekwondo.json b/techniques/taekwondo.json new file mode 100644 index 0000000..f19e98c --- /dev/null +++ b/techniques/taekwondo.json @@ -0,0 +1,73 @@ +[ + { + "type": "technique", + "id": "tec_taekwondo_disarm", + "name": "Snatch Weapon", + "messages": [ "You snatch %s's weapon", " snatches %s's weapon" ], + "skill_requirements": [ { "name": "unarmed", "level": 4 } ], + "unarmed_allowed": true, + "weighting": 2, + "take_weapon": true, + "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 0.5 } ] + }, + { + "type": "technique", + "id": "tec_taekwondo_strong", + "name": "Spinning Back Kick", + "messages": [ + "You spin and back-kick %s, right in the center of gravity", + " spins and back-kicks %s, right in the center of gravity" + ], + "skill_requirements": [ { "name": "unarmed", "level": 5 } ], + "unarmed_allowed": true, + "crit_tec": true, + "stun_dur": 2, + "knockback_dist": 2, + "mult_bonuses": [ + { "stat": "movecost", "scale": 1.5 }, + { "stat": "damage", "type": "bash", "scale": 1.5 }, + { "stat": "damage", "type": "cut", "scale": 1.5 }, + { "stat": "damage", "type": "stab", "scale": 1.5 } + ] + }, + { + "type": "technique", + "id": "tec_taekwondo_push", + "name": "Side Kick", + "unarmed_allowed": true, + "messages": [ "You turn slightly and side-kick %s", " turns slightly and side-kicks %s" ], + "knockback_dist": 1 + }, + { + "type": "technique", + "id": "tec_taekwondo_sweep", + "name": "Sweep Kick", + "messages": [ "You crouch low and sweep-kick %s", " crouches low and sweep-kicks %s" ], + "skill_requirements": [ { "name": "unarmed", "level": 2 } ], + "unarmed_allowed": true, + "crit_ok": true, + "down_dur": 1 + }, + { + "type": "technique", + "id": "tec_taekwondo_roundhouse", + "name": "Roundhouse Kick", + "messages": [ "You roundhouse kick %s", " roundhouse kicks %s" ], + "unarmed_allowed": true, + "mult_bonuses": [ + { "stat": "damage", "type": "bash", "scale": 1.2 }, + { "stat": "damage", "type": "cut", "scale": 1.2 }, + { "stat": "damage", "type": "stab", "scale": 1.2 } + ] + }, + { + "type": "technique", + "id": "tec_taekwondo_feint", + "name": "Feint", + "messages": [ "You fake a kick at %s", " fakes a kick at %s" ], + "skill_requirements": [ { "name": "unarmed", "level": 3 } ], + "unarmed_allowed": true, + "defensive": true, + "miss_recovery": true + } +] diff --git a/techniques/taichi.json b/techniques/taichi.json new file mode 100644 index 0000000..7fe8f4d --- /dev/null +++ b/techniques/taichi.json @@ -0,0 +1,60 @@ +[ + { + "type": "technique", + "id": "tec_taichi_disarm", + "name": "Disarm", + "messages": [ "You gently disarm %s", " gently disarms %s" ], + "skill_requirements": [ { "name": "unarmed", "level": 3 } ], + "unarmed_allowed": true, + "disarms": true + }, + { + "type": "technique", + "id": "tec_taichi_palm", + "name": "Palm Strike", + "messages": [ "You palm strike %s", " palm strikes %s" ], + "skill_requirements": [ { "name": "unarmed", "level": 1 } ], + "unarmed_allowed": true, + "req_buffs": [ "buff_tai_chi_onpause" ], + "knockback_dist": 1, + "mult_bonuses": [ + { "stat": "damage", "type": "bash", "scale": 1.5 }, + { "stat": "damage", "type": "cut", "scale": 1.5 }, + { "stat": "damage", "type": "stab", "scale": 1.5 } + ] + }, + { + "type": "technique", + "id": "tec_taichi_counter", + "name": "Grasp the Sparrow's Tail", + "messages": [ "You divert %s's attack and lead them to the ground", " diverts %s's attack and lead them to the ground" ], + "skill_requirements": [ { "name": "unarmed", "level": 2 } ], + "unarmed_allowed": true, + "req_buffs": [ "buff_tai_chi_onblock" ], + "crit_ok": true, + "down_dur": 1, + "mult_bonuses": [ + { "stat": "movecost", "scale": 0.75 }, + { "stat": "damage", "type": "bash", "scale": 1.2 }, + { "stat": "damage", "type": "cut", "scale": 1.2 }, + { "stat": "damage", "type": "stab", "scale": 1.2 } + ] + }, + { + "type": "technique", + "id": "tec_taichi_precise", + "name": "Double Palm Strike", + "messages": [ "You double-handed palm strike %s", " double-handed palm strikes %s" ], + "skill_requirements": [ { "name": "unarmed", "level": 4 } ], + "unarmed_allowed": true, + "crit_tec": true, + "req_buffs": [ "buff_tai_chi_onpause" ], + "knockback_dist": 1, + "stun_dur": 1, + "mult_bonuses": [ + { "stat": "damage", "type": "bash", "scale": 2.0 }, + { "stat": "damage", "type": "cut", "scale": 2.0 }, + { "stat": "damage", "type": "stab", "scale": 2.0 } + ] + } +] -- cgit v1.2.1