[
  {
    "type": "technique",
    "id": "tec_none",
    "name": "Not at technique at all",
    "dummy": true
  },
  {
    "type": "technique",
    "id": "WBLOCK_1",
    "name": "Block",
    "dummy": true,
    "mult_bonuses": [ { "stat": "movecost", "scale": 0.0 } ],
    "messages": [ "You block %s", "<npcname> blocks %s" ],
    "description": "Medium blocking ability"
  },
  {
    "type": "technique",
    "id": "WBLOCK_2",
    "name": "Parry",
    "dummy": true,
    "mult_bonuses": [ { "stat": "movecost", "scale": 0.0 } ],
    "messages": [ "You parry %s", "<npcname> parries %s" ],
    "description": "High blocking ability"
  },
  {
    "type": "technique",
    "id": "WBLOCK_3",
    "name": "Shield",
    "dummy": true,
    "mult_bonuses": [ { "stat": "movecost", "scale": 0.0 } ],
    "messages": [ "You shield against %s", "<npcname> shields against %s" ],
    "description": "Very high blocking ability"
  },
  {
    "type": "technique",
    "id": "DEF_DISARM",
    "name": "disarm",
    "melee_allowed": true,
    "disarms": true,
    "description": "Unwield target's weapon"
  },
  {
    "type": "technique",
    "id": "GRAB",
    "name": "",
    "//": "not implemented -> empty name",
    "messages": [ "You grab %s", "<npcname> grabs %s" ]
  },
  {
    "type": "technique",
    "id": "SPIN",
    "name": "Spinning Strike",
    "melee_allowed": true,
    "skill_requirements": [ { "name": "melee", "level": 4 } ],
    "crit_tec": true,
    "messages": [ "You swing through %s and everyone nearby", "<npcname> swings through %s and everyone nearby" ],
    "aoe": "spin",
    "description": "Attack adjacent enemies, crit only, min 4 melee"
  },
  {
    "type": "technique",
    "id": "WIDE",
    "name": "Wide Strike",
    "melee_allowed": true,
    "skill_requirements": [ { "name": "melee", "level": 3 } ],
    "crit_tec": true,
    "weighting": 2,
    "messages": [ "You swing in a wide arc through %s", "<npcname> swings in a wide arc through %s" ],
    "aoe": "wide",
    "description": "Attack in a wide arc, crit only, min 3 melee"
  },
  {
    "type": "technique",
    "id": "IMPALE",
    "name": "Impaling Strike",
    "melee_allowed": true,
    "skill_requirements": [ { "name": "melee", "level": 4 } ],
    "crit_tec": true,
    "messages": [ "You pierce straight through %s", "<npcname> pierces through %s" ],
    "aoe": "impale",
    "description": "Attack target and another one behind it, crit only, min 4 melee"
  },
  {
    "type": "technique",
    "id": "BRUTAL",
    "name": "Brutal Strike",
    "melee_allowed": true,
    "crit_tec": true,
    "stun_dur": 1,
    "knockback_dist": 1,
    "messages": [ "You send %s reeling", "<npcname> sends %s reeling" ],
    "description": "Stun 1 turn, knockback 1 tile, crit only"
  },
  {
    "type": "technique",
    "id": "RAPID",
    "name": "Rapid Strike",
    "melee_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 }
    ],
    "messages": [ "You quickly strike %s", "<npcname> quickly strikes %s" ],
    "description": "50% moves, 66% damage"
  },
  {
    "type": "technique",
    "id": "VORPAL",
    "name": "Vorpal Strike",
    "melee_allowed": true,
    "mult_bonuses": [ { "stat": "damage", "type": "cut", "scale": 99 } ],
    "crit_tec": true,
    "weighting": -250,
    "messages": [
      "Snicker-snack!  You slice through %s like hot knife slices through butter.",
      "Snicker-snack!  <npcname> slices through %s like hot knife slices through butter."
    ],
    "description": "Cut damage multiply by 99, crit only"
  },
  {
    "type": "technique",
    "id": "WRAP",
    "name": "Wrap Attack",
    "melee_allowed": true,
    "stun_dur": 2,
    "messages": [ "You wrap up %s", "<npcname> wraps up %s" ],
    "description": "Stun 2 turns"
  },
  {
    "type": "technique",
    "id": "SWEEP",
    "name": "Sweep Attack",
    "melee_allowed": true,
    "down_dur": 2,
    "messages": [ "You sweep %s", "<npcname> sweeps %s" ],
    "description": "Down 2 turns"
  },
  {
    "type": "technique",
    "id": "PRECISE",
    "name": "Precise Strike",
    "melee_allowed": true,
    "crit_tec": true,
    "messages": [ "You precisely hit %s", "<npcname> precisely hits %s" ],
    "stun_dur": 2,
    "description": "Stun 2 turns, crit only"
  },
  {
    "type": "technique",
    "id": "WHIP_DISARM",
    "name": "Disarm",
    "melee_allowed": true,
    "disarms": true,
    "messages": [ "You disarm %s using your whip", "<npcname> disarms %s using their whip" ],
    "description": "Unwield target's weapon"
  },
  {
    "type": "technique",
    "id": "tec_counter",
    "name": "Counterattack",
    "melee_allowed": true,
    "block_counter": true,
    "crit_ok": true,
    "messages": [ "You counter-attack %s", "<npcname> counter-attacks %s" ]
  },
  {
    "type": "technique",
    "id": "tec_feint",
    "name": "Feint",
    "melee_allowed": true,
    "defensive": true,
    "miss_recovery": true,
    "messages": [ "You feint at %s.", "<npcname> feints at %s." ]
  },
  {
    "type": "technique",
    "id": "tec_break",
    "name": "Grab Break",
    "melee_allowed": true,
    "defensive": true,
    "grab_break": true,
    "messages": [ "The %s tries to grab you, but you break its grab!", "The %s tries to grab <npcname>, but they break its grab!" ]
  },
  {
    "type": "technique",
    "id": "tec_precise",
    "name": "Precise Strike",
    "melee_allowed": true,
    "crit_tec": true,
    "messages": [ "You jab deftly at %s", "<npcname> jabs deftly at %s" ],
    "stun_dur": 2
  },
  {
    "type": "technique",
    "id": "tec_aikido_blockdisarm",
    "name": "Block Counter Disarm",
    "messages": [ "You block and smoothly disarm %s", "<npcname> blocks and smoothly disarms %s" ],
    "skill_requirements": [ { "name": "unarmed", "level": 4 } ],
    "unarmed_allowed": true,
    "melee_allowed": true,
    "unarmed_weapons_allowed": false,
    "block_counter": true,
    "crit_ok": true,
    "disarms": true,
    "down_dur": 1,
    "knockback_dist": 1
  },
  {
    "type": "technique",
    "id": "tec_aikido_blockthrow",
    "name": "Block Counter Throw",
    "messages": [ "You block and smoothly throw %s", "<npcname> blocks and smoothly throws %s" ],
    "unarmed_allowed": true,
    "melee_allowed": true,
    "unarmed_weapons_allowed": false,
    "block_counter": true,
    "crit_ok": true,
    "down_dur": 1,
    "knockback_dist": 1
  },
  {
    "type": "technique",
    "id": "tec_aikido_dodgethrow",
    "name": "Dodge Counter Throw",
    "messages": [ "You dodge and smoothly throw %s", "<npcname> dodges and smoothly throws %s" ],
    "skill_requirements": [ { "name": "unarmed", "level": 2 } ],
    "unarmed_allowed": true,
    "melee_allowed": true,
    "unarmed_weapons_allowed": false,
    "dodge_counter": true,
    "crit_ok": true,
    "down_dur": 1,
    "knockback_dist": 1
  },
  {
    "type": "technique",
    "id": "tec_aikido_dodgedisarm",
    "name": "Dodge Counter Disarm",
    "messages": [ "You dodge and smoothly disarm %s", "<npcname> dodges and smoothly disarms %s" ],
    "skill_requirements": [ { "name": "unarmed", "level": 4 } ],
    "unarmed_allowed": true,
    "melee_allowed": true,
    "unarmed_weapons_allowed": false,
    "dodge_counter": true,
    "crit_ok": true,
    "disarms": true,
    "down_dur": 1,
    "knockback_dist": 1
  },
  {
    "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 <npcname>, 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
  },
  {
    "type": "technique",
    "id": "tec_boxing_cross",
    "name": "Cross",
    "messages": [ "You throw a heavy cross at %s", "<npcname> throws a cross at %s" ],
    "unarmed_allowed": true,
    "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.2 } ]
  },
  {
    "type": "technique",
    "id": "tec_boxing_counter",
    "name": "Cross Counter",
    "messages": [ "You cross-counter %s", "<npcname> throws a perfect counter at %s" ],
    "skill_requirements": [ { "name": "unarmed", "level": 5 } ],
    "unarmed_allowed": true,
    "dodge_counter": true,
    "crit_ok": true,
    "knockback_dist": 1,
    "knockback_spread": 1,
    "stun_dur": 1,
    "down_dur": 1,
    "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.25 } ]
  },
  {
    "type": "technique",
    "id": "tec_boxing_rapid",
    "name": "Jab",
    "messages": [ "You quickly jab %s", "<npcname> quickly jabs at %s" ],
    "skill_requirements": [ { "name": "unarmed", "level": 2 } ],
    "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_boxing_upper",
    "name": "Uppercut",
    "messages": [ "You uppercut %s", "<npcname> uppercuts %s" ],
    "skill_requirements": [ { "name": "unarmed", "level": 4 } ],
    "unarmed_allowed": true,
    "crit_tec": true,
    "stun_dur": 1,
    "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.4 } ]
  },
  {
    "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 <npcname>, 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 <npcname>, but they break free!" ],
    "skill_requirements": [ { "name": "unarmed", "level": 6 } ],
    "unarmed_allowed": true,
    "defensive": true,
    "grab_break": true
  },
  {
    "type": "technique",
    "id": "tec_brawl_counter_melee",
    "name": "Hit Them Back",
    "messages": [ "You catch %s's attack, and hit back", "<npcname> catches %s, and counters" ],
    "skill_requirements": [ { "name": "melee", "level": 5 } ],
    "melee_allowed": true,
    "block_counter": true,
    "crit_ok": true
  },
  {
    "type": "technique",
    "id": "tec_brawl_counter_unarmed",
    "name": "Hit Them Back",
    "messages": [ "You catch %s's attack, and hit back", "<npcname> catches %s, and counters" ],
    "skill_requirements": [ { "name": "unarmed", "level": 5 } ],
    "unarmed_allowed": true,
    "block_counter": true,
    "crit_ok": true
  },
  {
    "type": "technique",
    "id": "tec_brawl_feint_melee",
    "name": "Feint",
    "messages": [ "You fake a strike at %s", "<npcname> 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", "<npcname> 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", "<npcname> knock %s's weapon away" ],
    "skill_requirements": [ { "name": "melee", "level": 8 } ],
    "melee_allowed": true,
    "disarms": true
  },
  {
    "type": "technique",
    "id": "tec_brawl_disarm_unarmed",
    "name": "Disarm",
    "messages": [ "You knock %s's weapon away", "<npcname> knock %s's weapon away" ],
    "skill_requirements": [ { "name": "unarmed", "level": 8 } ],
    "unarmed_allowed": true,
    "disarms": true
  },
  {
    "type": "technique",
    "id": "tec_brawl_power",
    "name": "Power Hit",
    "messages": [ "You send %s reeling", "<npcname> 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", "<npcname> trip %s" ],
    "skill_requirements": [ { "name": "unarmed", "level": 5 } ],
    "unarmed_allowed": true,
    "down_dur": 1
  },
  {
    "type": "technique",
    "id": "tec_capoeira_feint",
    "name": "Feint",
    "messages": [ "You fake a kick at %s", "<npcname> fakes a kick at %s" ],
    "skill_requirements": [ { "name": "unarmed", "level": 3 } ],
    "unarmed_allowed": true,
    "defensive": true,
    "miss_recovery": true
  },
  {
    "type": "technique",
    "id": "tec_capoeira_pushkick",
    "name": "Push Kick",
    "messages": [ "You push kick %s", "<npcname> push kicks %s" ],
    "unarmed_allowed": true,
    "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.2 } ]
  },
  {
    "type": "technique",
    "id": "tec_capoeira_circlekick",
    "name": "Circle Kick",
    "messages": [ "You circle kick %s", "<npcname> circle kicks %s" ],
    "skill_requirements": [ { "name": "unarmed", "level": 4 } ],
    "unarmed_allowed": true,
    "crit_tec": true,
    "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.4 } ]
  },
  {
    "type": "technique",
    "id": "tec_capoeira_sweepkick",
    "name": "Sweep Kick",
    "messages": [ "You sweep kick %s", "<npcname> sweep kicks %s" ],
    "skill_requirements": [ { "name": "unarmed", "level": 2 } ],
    "unarmed_allowed": true,
    "req_buffs": [ "buff_capoeira_onmove" ],
    "weighting": 2,
    "down_dur": 1,
    "mult_bonuses": [ { "stat": "movecost", "scale": 0.75 } ]
  },
  {
    "type": "technique",
    "id": "tec_capoeira_spinkick",
    "name": "Spin Kick",
    "messages": [ "You spin kick %s", "<npcname> spin kicks %s" ],
    "skill_requirements": [ { "name": "unarmed", "level": 5 } ],
    "unarmed_allowed": true,
    "req_buffs": [ "buff_capoeira_onmove" ],
    "weighting": 2,
    "crit_tec": true,
    "stun_dur": 1,
    "mult_bonuses": [ { "stat": "movecost", "scale": 0.75 }, { "stat": "damage", "type": "bash", "scale": 1.4 } ]
  },
  {
    "type": "technique",
    "id": "tec_crane_feint",
    "name": "Crane Wing",
    "messages": [ "You raise your arms intimidatingly at %s.", "<npcname> performs the Crane Wing at %s." ],
    "unarmed_allowed": true,
    "defensive": true,
    "miss_recovery": true
  },
  {
    "type": "technique",
    "id": "tec_crane_break",
    "name": "Crane Flap",
    "messages": [
      "The %s tries to grab you, but you swing your arms and break free!",
      "The %s tries to grab <npcname>, but they flap free!"
    ],
    "skill_requirements": [ { "name": "unarmed", "level": 3 } ],
    "unarmed_allowed": true,
    "defensive": true,
    "grab_break": true
  },
  {
    "type": "technique",
    "id": "tec_crane_counter",
    "name": "Crane Strike",
    "messages": [ "You hand-peck and swat down %s", "<npcname> hand-pecks and swats down %s" ],
    "skill_requirements": [ { "name": "unarmed", "level": 2 } ],
    "unarmed_allowed": true,
    "dodge_counter": true,
    "down_dur": 1
  },
  {
    "type": "technique",
    "id": "tec_crane_precise",
    "name": "Crane Kick",
    "messages": [ "You leap and kick %s", "<npcname> leaps and kicks %s" ],
    "skill_requirements": [ { "name": "unarmed", "level": 4 } ],
    "unarmed_allowed": true,
    "crit_tec": true,
    "knockback_dist": 1,
    "knockback_spread": 1,
    "stun_dur": 2,
    "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.25 } ]
  },
  {
    "type": "technique",
    "id": "tec_dragon_claw",
    "name": "Dragon Claw",
    "skill_requirements": [ { "name": "unarmed", "level": 1 } ],
    "unarmed_allowed": true,
    "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.2 } ],
    "messages": [ "You lash out at %s with a Dragon Claw", "<npcname> lashes out at %s with a Dragon Claw" ]
  },
  {
    "type": "technique",
    "id": "tec_dragon_blockcounter",
    "name": "Dragon Vortex Block",
    "messages": [ "You block the attack and send %s spinning", "<npcname> blocks and spins %s" ],
    "skill_requirements": [ { "name": "unarmed", "level": 2 } ],
    "unarmed_allowed": true,
    "req_buffs": [ "buff_dragon_onhit" ],
    "block_counter": 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_dragon_dodgecounter",
    "name": "Dragon Wing Dodge",
    "messages": [ "You dodge the attack and leave %s off balance", "<npcname> dodges and leaves %s off balance" ],
    "skill_requirements": [ { "name": "unarmed", "level": 3 } ],
    "unarmed_allowed": true,
    "req_buffs": [ "buff_dragon_onhit" ],
    "dodge_counter": true,
    "stun_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_dragon_tail",
    "name": "Dragon Tail",
    "messages": [ "You sweep %s with a quick Dragon Tail", "<npcname> sweeps %s with a quick Dragon Tail sweep" ],
    "skill_requirements": [ { "name": "unarmed", "level": 4 } ],
    "unarmed_allowed": true,
    "crit_tec": true,
    "stunned_target": true,
    "down_dur": 2,
    "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.5 } ]
  },
  {
    "type": "technique",
    "id": "tec_dragon_strike",
    "name": "Dragon Strike",
    "messages": [ "You descend upon %s with a powerful Dragon Strike", "<npcname>  descends upon %s with a powerful Dragon Strike" ],
    "skill_requirements": [ { "name": "unarmed", "level": 5 } ],
    "unarmed_allowed": true,
    "crit_tec": true,
    "downed_target": true,
    "stun_dur": 1,
    "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 2.0 } ]
  },
  {
    "type": "technique",
    "id": "tec_eskrima_round",
    "name": "Round Strike",
    "messages": [ "You round strike %s", "<npcname> round strikes %s" ],
    "skill_requirements": [ { "name": "melee", "level": 4 } ],
    "melee_allowed": true,
    "mult_bonuses": [ { "stat": "movecost", "scale": 0.6 } ]
  },
  {
    "type": "technique",
    "id": "tec_eskrima_fan",
    "name": "Fan Strike",
    "messages": [ "You fan strike %s", "<npcname> fan strikes %s" ],
    "skill_requirements": [ { "name": "melee", "level": 2 } ],
    "melee_allowed": true,
    "mult_bonuses": [ { "stat": "movecost", "scale": 0.75 } ]
  },
  {
    "type": "technique",
    "id": "tec_eskrima_snap",
    "name": "Snap Strike",
    "messages": [ "You snap out at %s", "<npcname> snaps quickly at %s" ],
    "melee_allowed": true,
    "mult_bonuses": [ { "stat": "movecost", "scale": 0.8 } ]
  },
  {
    "type": "technique",
    "id": "tec_eskrima_combination",
    "name": "Combination Strike",
    "messages": [ "You combination strike %s", "<npcname> combination strikes %s" ],
    "skill_requirements": [ { "name": "melee", "level": 2 } ],
    "melee_allowed": true,
    "req_buffs": [ "buff_eskrima_oncrit" ],
    "crit_tec": true,
    "mult_bonuses": [
      { "stat": "movecost", "scale": 0.8 },
      { "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_eskrima_puno",
    "name": "Puño Strike",
    "messages": [ "You deliver a puño to %s", "<npcname> haftstrikes %s" ],
    "skill_requirements": [ { "name": "melee", "level": 3 } ],
    "weapon_damage_requirements": [ { "type": "bash", "min": 2 } ],
    "melee_allowed": true,
    "crit_tec": true,
    "stun_dur": 1,
    "mult_bonuses": [
      { "stat": "movecost", "scale": 0.6 },
      { "stat": "damage", "type": "bash", "scale": 0.7 },
      { "stat": "damage", "type": "cut", "scale": 0.0 },
      { "stat": "damage", "type": "stab", "scale": 0.0 }
    ]
  },
  {
    "type": "technique",
    "id": "tec_eskrima_low",
    "name": "Low Strike",
    "messages": [ "Your weapon becomes a blur as you ground %s", "<npcname>'s weapon becomes a blur as they ground %s" ],
    "skill_requirements": [ { "name": "melee", "level": 4 } ],
    "melee_allowed": true,
    "crit_tec": true,
    "down_dur": 1
  },
  {
    "type": "technique",
    "id": "tec_fencing_feint",
    "messages": [ "You steady your weapon and fake a thrust at %s", "<npcname> 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", "<npcname> 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_compound",
    "name": "Compound Attack",
    "messages": [ "Your feint leads to a compound attack against %s", "<npcname>'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_riposte",
    "name": "Fencing Riposte",
    "messages": [ "You deliver a perfect riposte to %s", "<npcname> delivers a perfect riposte to %s" ],
    "skill_requirements": [ { "name": "melee", "level": 5 } ],
    "melee_allowed": true,
    "block_counter": true,
    "crit_ok": true,
    "stun_dur": 1,
    "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_medievalpole_counter",
    "name": "Displace and Hook",
    "messages": [ "You parry and hook %s down", "<npcname> parries and hooks %s down" ],
    "skill_requirements": [ { "name": "melee", "level": 4 } ],
    "melee_allowed": true,
    "block_counter": true,
    "crit_ok": true,
    "down_dur": 2,
    "mult_bonuses": [
      { "stat": "movecost", "scale": 0.0 },
      { "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", "<npcname> swings high and strikes %s" ],
    "skill_requirements": [ { "name": "melee", "level": 2 } ],
    "melee_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_medievalpole_feint",
    "name": "High Round Feint",
    "messages": [ "You fake a high round strike at %s", "<npcname> 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 <npcname>, 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", "<npcname> hooks and drags %s down" ],
    "skill_requirements": [ { "name": "melee", "level": 3 } ],
    "melee_allowed": true,
    "req_buffs": "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", "<npcname> 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 }
    ]
  },
  {
    "type": "technique",
    "id": "tec_judo_throw",
    "name": "Throw",
    "messages": [ "You throw %s to the ground", "<npcname> throws %s to the ground" ],
    "unarmed_allowed": true,
    "melee_allowed": true,
    "unarmed_weapons_allowed": false,
    "down_dur": 1,
    "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.25 } ]
  },
  {
    "type": "technique",
    "id": "tec_judo_disarm",
    "name": "Disarming Throw",
    "messages": [ "You disarm and throw %s", "<npcname> disarms and throws %s" ],
    "skill_requirements": [ { "name": "unarmed", "level": 1 } ],
    "unarmed_allowed": true,
    "melee_allowed": true,
    "unarmed_weapons_allowed": false,
    "disarms": true,
    "down_dur": 1,
    "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.25 } ]
  },
  {
    "type": "technique",
    "id": "tec_judo_backthrow",
    "name": "Back Throw",
    "messages": [ "You flip %s head over heels", "<npcname> flips %s head over heels" ],
    "skill_requirements": [ { "name": "unarmed", "level": 2 } ],
    "unarmed_allowed": true,
    "melee_allowed": true,
    "unarmed_weapons_allowed": false,
    "crit_tec": true,
    "side_switch": true,
    "down_dur": 1,
    "stun_dur": 1,
    "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.5 } ]
  },
  {
    "type": "technique",
    "id": "tec_judo_break",
    "name": "Grab Break",
    "messages": [
      "The %s tries to grab you, but you break their feeble grapple!",
      "The %s tries to grab <npcname>, but they break its feeble grapple!"
    ],
    "skill_requirements": [ { "name": "unarmed", "level": 3 } ],
    "unarmed_allowed": true,
    "melee_allowed": true,
    "defensive": true,
    "grab_break": true
  },
  {
    "type": "technique",
    "id": "tec_judo_counter",
    "name": "Counter Throw",
    "messages": [ "You evade and toss %s to the ground", "<npcname> evades and tosses %s to the ground" ],
    "skill_requirements": [ { "name": "unarmed", "level": 4 } ],
    "unarmed_allowed": true,
    "melee_allowed": true,
    "unarmed_weapons_allowed": false,
    "dodge_counter": true,
    "down_dur": 1
  },
  {
    "type": "technique",
    "id": "tec_karate_counter",
    "name": "Karate Counter",
    "messages": [ "You counterattack %s", "<npcname> counterattacks %s" ],
    "skill_requirements": [ { "name": "unarmed", "level": 5 } ],
    "unarmed_allowed": true,
    "block_counter": true,
    "crit_ok": true
  },
  {
    "type": "technique",
    "id": "tec_karate_precise",
    "name": "Knifehand Strike",
    "messages": [ "You hit %s with a knifehand strike", "<npcname> hits %s with a knifehand strike" ],
    "skill_requirements": [ { "name": "unarmed", "level": 4 } ],
    "unarmed_allowed": true,
    "crit_tec": true,
    "stun_dur": 1,
    "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.33 } ]
  },
  {
    "type": "technique",
    "id": "tec_karate_rapid",
    "name": "Backfist Strike",
    "messages": [ "You quickly strike %s with the back of your fist", "<npcname> quickly strikes %s with the back of their fist" ],
    "skill_requirements": [ { "name": "unarmed", "level": 1 } ],
    "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_karate_roundhouse",
    "name": "Roundhouse Kick",
    "messages": [ "You roundhouse kick %s", "<npcname> roundhouse kicks %s" ],
    "unarmed_allowed": true,
    "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.2 } ]
  },
  {
    "type": "technique",
    "id": "tec_krav_maga_rapid",
    "messages": [ "You jab at %s", "<npcname> 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", "<npcname> 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", "<npcname> 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!* <npcname> 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 <npcname>, but they wrestle free!" ],
    "skill_requirements": [ { "name": "unarmed", "level": 3 } ],
    "melee_allowed": true,
    "unarmed_allowed": true,
    "defensive": true,
    "grab_break": true
  },
  {
    "type": "technique",
    "id": "tec_krav_maga_counter",
    "name": "Counter",
    "messages": [ "You block and counter %s", "<npcname> blocks and counters %s" ],
    "skill_requirements": [ { "name": "unarmed", "level": 4 } ],
    "melee_allowed": true,
    "unarmed_allowed": true,
    "crit_ok": true,
    "block_counter": true
  },
  {
    "type": "technique",
    "id": "tec_leopard_feint",
    "name": "Leopard Paw",
    "messages": [ "You paw aggressively at %s", "<npcname> paws aggressively at %s" ],
    "skill_requirements": [ { "name": "unarmed", "level": 2 } ],
    "unarmed_allowed": true,
    "defensive": true,
    "miss_recovery": true
  },
  {
    "type": "technique",
    "id": "tec_leopard_precise",
    "name": "Leopard Fist",
    "messages": [ "You strike out at %s with your Leopard Fist", "<npcname> strikes out at %s with a Leopard Fist" ],
    "skill_requirements": [ { "name": "unarmed", "level": 4 } ],
    "unarmed_allowed": true,
    "crit_tec": true,
    "stun_dur": 1,
    "mult_bonuses": [ { "stat": "movecost", "scale": 0.5 } ]
  },
  {
    "type": "technique",
    "id": "tec_leopard_rapid",
    "name": "Leopard Swipe",
    "messages": [ "You quickly swipe at %s", "<npcname> quickly swipes at %s" ],
    "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_leopard_counter",
    "name": "Leopard Foresight",
    "messages": [ "You dodge the attack and swipe at %s's exposed flank", "<npcname> dodges and catches %s exposed" ],
    "skill_requirements": [ { "name": "unarmed", "level": 5 } ],
    "unarmed_allowed": true,
    "crit_ok": true,
    "dodge_counter": true,
    "knockback_dist": 1,
    "knockback_spread": 1
  },
  {
    "type": "technique",
    "id": "tec_swordsmanship_grab",
    "name": "Pommel Strike",
    "messages": [ "You dodge, grab, and pommel strike %s", "<npcname> dodges, grabs, and pommel strikes %s" ],
    "skill_requirements": [ { "name": "melee", "level": 4 } ],
    "melee_allowed": true,
    "crit_ok": true,
    "dodge_counter": true,
    "down_dur": 1,
    "mult_bonuses": [ { "stat": "damage", "type": "cut", "scale": 0 }, { "stat": "damage", "type": "stab", "scale": 0 } ]
  },
  {
    "type": "technique",
    "id": "tec_swordsmanship_break",
    "name": "Grab Break",
    "messages": [ "The %s tries to grab you, but you evade its grab!", "The %s tries to grab <npcname>, but they evade its grab!" ],
    "skill_requirements": [ { "name": "melee", "level": 3 } ],
    "unarmed_allowed": true,
    "melee_allowed": true,
    "defensive": true,
    "grab_break": true
  },
  {
    "type": "technique",
    "id": "tec_swordsmanship_unterhau",
    "name": "Sweeping Strike",
    "messages": [ "You trip %s with a sweeping strike", "<npcname> trips %s with a sweeping strike" ],
    "skill_requirements": [ { "name": "melee", "level": 1 } ],
    "melee_allowed": true,
    "req_buffs": [ "buff_swordsmanship_onblock" ],
    "crit_tec": true,
    "down_dur": 2
  },
  {
    "type": "technique",
    "id": "tec_swordsmanship_zornhau",
    "name": "Vicious Strike",
    "messages": [ "You hack at %s with a vicious strike", "<npcname> hack at %s with a vicious strike" ],
    "skill_requirements": [ { "name": "melee", "level": 5 } ],
    "melee_allowed": true,
    "req_buffs": [ "buff_swordsmanship_oncrit" ],
    "crit_tec": true,
    "stun_dur": 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_swordsmanship_mordhau",
    "name": "Mordhau",
    "messages": [
      "You flip your weapon around and deliver a mordhau to %s",
      "<npcname> flips their weapon around and smashes down on %s"
    ],
    "skill_requirements": [ { "name": "melee", "level": 4 } ],
    "melee_allowed": true,
    "req_buffs": [ "buff_swordsmanship_onblock" ],
    "crit_tec": true,
    "stun_dur": 2,
    "mult_bonuses": [
      { "stat": "movecost", "scale": 1.5 },
      { "stat": "damage", "type": "bash", "scale": 3 },
      { "stat": "damage", "type": "cut", "scale": 0 },
      { "stat": "damage", "type": "stab", "scale": 0 }
    ]
  },
  {
    "type": "technique",
    "id": "tec_muay_thai_elbow",
    "name": "Elbow Strike",
    "messages": [ "You slam your elbow into %s", "<npcname> slams their elbow into %s" ],
    "skill_requirements": [ { "name": "unarmed", "level": 1 } ],
    "unarmed_allowed": true,
    "crit_tec": true,
    "mult_bonuses": [ { "stat": "movecost", "scale": 0.5 } ]
  },
  {
    "type": "technique",
    "id": "tec_muay_thai_kick",
    "name": "Power Kick",
    "messages": [ "You deal a powerful kick to %s", "<npcname> deals a powerful kick to %s" ],
    "unarmed_allowed": true,
    "crit_ok": true,
    "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.3 } ]
  },
  {
    "type": "technique",
    "id": "tec_muay_thai_knee",
    "name": "Flying Knee",
    "messages": [ "You leap and deliver a flying knee to %s", "<npcname> leaps and delivers a flying knees to %s" ],
    "skill_requirements": [ { "name": "unarmed", "level": 5 } ],
    "unarmed_allowed": true,
    "crit_tec": true,
    "stun_dur": 1,
    "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.4 } ]
  },
  {
    "type": "technique",
    "id": "tec_muay_thai_break",
    "name": "Grab Break",
    "messages": [ "The %s tries to grab you, but you break the clinch!", "The %s tries to grab <npcname>, but they break the clinch!" ],
    "skill_requirements": [ { "name": "unarmed", "level": 3 } ],
    "unarmed_allowed": true,
    "melee_allowed": true,
    "defensive": true,
    "grab_break": true
  },
  {
    "type": "technique",
    "id": "tec_ninjutsu_swift",
    "name": "Swift Strike",
    "messages": [ "You swiftly strike %s", "<npcname> swiftly strikes %s" ],
    "skill_requirements": [ { "name": "melee", "level": 2 } ],
    "unarmed_allowed": true,
    "melee_allowed": true,
    "mult_bonuses": [ { "stat": "movecost", "scale": 0.8 } ]
  },
  {
    "type": "technique",
    "id": "tec_ninjutsu_precise",
    "name": "Assassinate",
    "messages": [ "You attempt to slay %s in a single stroke", "<npcname> attempts to slay %s in a single stroke" ],
    "skill_requirements": [ { "name": "melee", "level": 5 } ],
    "unarmed_allowed": true,
    "melee_allowed": true,
    "crit_tec": true,
    "stun_dur": 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_ninjutsu_takedown",
    "name": "Ninjutsu Takedown",
    "messages": [ "You quickly grab and bring %s to the ground", "<npcname> quickly grabs and brings attacks %s to the ground" ],
    "skill_requirements": [ { "name": "unarmed", "level": 5 } ],
    "unarmed_allowed": true,
    "crit_tec": true,
    "down_dur": 2,
    "stun_dur": 2,
    "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 2.0 } ]
  },
  {
    "type": "technique",
    "id": "niten_water_cut",
    "name": "Flowing Water Cut",
    "messages": [ "You strike %s with the slow power of flowing water", "<npcname> strikes %s with the slow power of flowing water" ],
    "skill_requirements": [ { "name": "melee", "level": 4 } ],
    "melee_allowed": true,
    "mult_bonuses": [
      { "stat": "movecost", "scale": 1.75 },
      { "stat": "damage", "type": "bash", "scale": 2.0 },
      { "stat": "damage", "type": "cut", "scale": 2.0 }
    ]
  },
  {
    "type": "technique",
    "id": "niten_red_leaf",
    "name": "Red Leaf's Cut",
    "messages": [ "Your strike knocks %s off balance", "<npcname>'s strike knocks %s off balance" ],
    "skill_requirements": [ { "name": "melee", "level": 3 } ],
    "melee_allowed": true,
    "down_dur": 1
  },
  {
    "type": "technique",
    "id": "niten_stone_cut",
    "name": "Fire and Stone's Cut",
    "messages": [ "You stun %s with the force of your cut", "<npcname> stuns %s with the force of their cut" ],
    "skill_requirements": [ { "name": "melee", "level": 5 } ],
    "melee_allowed": true,
    "crit_tec": true,
    "stun_dur": 1,
    "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.5 }, { "stat": "damage", "type": "cut", "scale": 1.5 } ]
  },
  {
    "type": "technique",
    "id": "niten_timing_attack",
    "name": "In-One Timing",
    "messages": [ "You strike at %s's weaknesses", "<npcname> strikes %s's weaknesses" ],
    "skill_requirements": [ { "name": "melee", "level": 5 } ],
    "melee_allowed": true,
    "req_buffs": [ "buff_niten_ondodge" ],
    "crit_ok": true,
    "stun_dur": 1,
    "mult_bonuses": [
      { "stat": "movecost", "scale": 0.5 },
      { "stat": "damage", "type": "bash", "scale": 1.5 },
      { "stat": "damage", "type": "cut", "scale": 1.5 }
    ]
  },
  {
    "type": "technique",
    "id": "niten_feint",
    "name": "Feint",
    "messages": [ "You feint at %s", "<npcname> feints at %s" ],
    "skill_requirements": [ { "name": "melee", "level": 2 } ],
    "melee_allowed": true,
    "defensive": true,
    "miss_recovery": true,
    "mult_bonuses": [ { "stat": "movecost", "scale": 0.8 } ]
  },
  {
    "type": "technique",
    "id": "tec_pankration_cross",
    "name": "Cross",
    "messages": [ "You throw a heavy cross at %s", "<npcname> throws a cross at %s" ],
    "unarmed_allowed": true,
    "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.2 } ]
  },
  {
    "type": "technique",
    "id": "tec_pankration_kick",
    "name": "Kick",
    "messages": [ "You kick %s hard", "<npcname> kicks %s hard" ],
    "skill_requirements": [ { "name": "unarmed", "level": 2 } ],
    "unarmed_allowed": true,
    "crit_tec": true,
    "stun_dur": 2
  },
  {
    "type": "technique",
    "id": "tec_pankration_break",
    "name": "Grab Break",
    "messages": [ "The %s tries to grab you, but you wrestle free!", "The %s tries to grab <npcname>, but they wrestle free!" ],
    "skill_requirements": [ { "name": "unarmed", "level": 3 } ],
    "unarmed_allowed": true,
    "defensive": true,
    "grab_break": true
  },
  {
    "type": "technique",
    "id": "tec_pankration_grabknee",
    "name": "Grab and Knee",
    "messages": [ "You grab and knee %s", "<npcname> grabs and knees %s" ],
    "skill_requirements": [ { "name": "unarmed", "level": 3 } ],
    "unarmed_allowed": true,
    "stunned_target": true,
    "weighting": 3,
    "mult_bonuses": [ { "stat": "movecost", "scale": 0.5 } ]
  },
  {
    "type": "technique",
    "id": "tec_pankration_grabdisarm",
    "name": "Arm Lock",
    "messages": [ "You disarm %s with an arm lock", "<npcname> disarms %s with an arm lock" ],
    "skill_requirements": [ { "name": "unarmed", "level": 4 } ],
    "unarmed_allowed": true,
    "stunned_target": true,
    "crit_ok": true,
    "weighting": 3,
    "disarms": true,
    "stun_dur": 1,
    "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.25 } ]
  },
  {
    "type": "technique",
    "id": "tec_pankration_grabthrow",
    "name": "Grab and Throw",
    "messages": [ "You grab and throw %s", "<npcname> grabs and throws %s" ],
    "skill_requirements": [ { "name": "unarmed", "level": 5 } ],
    "unarmed_allowed": true,
    "weighting": 3,
    "crit_tec": true,
    "down_dur": 2,
    "knockback_dist": 2,
    "knockback_spread": 2,
    "stunned_target": true,
    "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 2.0 } ]
  },
  {
    "type": "technique",
    "id": "tec_silat_hamstring",
    "name": "Hamstring",
    "messages": [ "You ground %s with a low blow", "<npcname> grounds %s with a low blow" ],
    "skill_requirements": [ { "name": "melee", "level": 2 } ],
    "melee_allowed": true,
    "crit_tec": true,
    "down_dur": 2
  },
  {
    "type": "technique",
    "id": "tec_silat_precise",
    "name": "Vicious Precision",
    "messages": [ "You viciously wound %s", "<npcname> viciously wounds %s" ],
    "skill_requirements": [ { "name": "melee", "level": 3 } ],
    "melee_allowed": true,
    "crit_ok": true,
    "downed_target": true,
    "weighting": 2,
    "mult_bonuses": [
      { "stat": "damage", "type": "bash", "scale": 1.33 },
      { "stat": "damage", "type": "cut", "scale": 1.33 },
      { "stat": "damage", "type": "stab", "scale": 1.33 }
    ]
  },
  {
    "type": "technique",
    "id": "tec_silat_dirty",
    "name": "Dirty Hit",
    "messages": [ "You hit %s with a dirty blow", "<npcname> delivers a dirty blow to %s" ],
    "skill_requirements": [ { "name": "melee", "level": 4 } ],
    "melee_allowed": true,
    "crit_tec": true,
    "stun_dur": 2
  },
  {
    "type": "technique",
    "id": "tec_silat_brutal",
    "name": "Silat Brutality",
    "messages": [ "You brutally tear into %s", "<npcname> brutally tears into %s" ],
    "skill_requirements": [ { "name": "melee", "level": 5 } ],
    "melee_allowed": true,
    "crit_ok": true,
    "stunned_target": true,
    "weighting": 2,
    "mult_bonuses": [
      { "stat": "damage", "type": "bash", "scale": 1.33 },
      { "stat": "damage", "type": "cut", "scale": 1.33 },
      { "stat": "damage", "type": "stab", "scale": 1.33 }
    ]
  },
  {
    "type": "technique",
    "id": "tec_snake_rapid",
    "name": "Snake Snap",
    "messages": [ "You swiftly jab %s", "<npcname> swiftly jabs %s" ],
    "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_snake_feint",
    "name": "Snake Slide",
    "messages": [ "You make serpentine hand motions at %s", "<npcname> makes serpentine hand motions at %s" ],
    "skill_requirements": [ { "name": "unarmed", "level": 3 } ],
    "unarmed_allowed": true,
    "defensive": true,
    "miss_recovery": true
  },
  {
    "type": "technique",
    "id": "tec_snake_break",
    "name": "Snake Slither",
    "messages": [ "The %s tries to grab you, but you slither free!", "The %s tries to grab <npcname>, but they slither free!" ],
    "skill_requirements": [ { "name": "unarmed", "level": 4 } ],
    "unarmed_allowed": true,
    "defensive": true,
    "grab_break": true
  },
  {
    "type": "technique",
    "id": "tec_snake_precise",
    "name": "Snake Strike",
    "messages": [ "You lash out at %s with a vicious Snake Strike", "<npcname> lashes out at %s with a vicious Snake Strike" ],
    "skill_requirements": [ { "name": "unarmed", "level": 5 } ],
    "unarmed_allowed": true,
    "crit_tec": true,
    "stun_dur": 1,
    "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.5 } ]
  },
  {
    "type": "technique",
    "id": "tec_sojutsu_push",
    "name": "Push",
    "messages": [ "You push %s away", "<npcname> pushes %s away" ],
    "skill_requirements": [ { "name": "melee", "level": 1 } ],
    "melee_allowed": true,
    "block_counter": true,
    "crit_ok": 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_shove",
    "name": "Shove",
    "messages": [ "You shove %s back", "<npcname> 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", "<npcname> 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_taekwondo_disarm",
    "name": "Snatch Weapon",
    "messages": [ "You snatch %s's weapon", "<npcname> 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",
      "<npcname> 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 } ]
  },
  {
    "type": "technique",
    "id": "tec_taekwondo_push",
    "name": "Side Kick",
    "unarmed_allowed": true,
    "messages": [ "You turn slightly and side-kick %s", "<npcname> 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", "<npcname> 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", "<npcname> roundhouse kicks %s" ],
    "unarmed_allowed": true,
    "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.2 } ]
  },
  {
    "type": "technique",
    "id": "tec_taekwondo_feint",
    "name": "Feint",
    "messages": [ "You fake a kick at %s", "<npcname> fakes a kick at %s" ],
    "skill_requirements": [ { "name": "unarmed", "level": 3 } ],
    "unarmed_allowed": true,
    "defensive": true,
    "miss_recovery": true
  },
  {
    "type": "technique",
    "id": "tec_taichi_disarm",
    "name": "Disarm",
    "messages": [ "You gently disarm %s", "<npcname> 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", "<npcname> 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 } ]
  },
  {
    "type": "technique",
    "id": "tec_taichi_counter",
    "name": "Grasp the Sparrow's Tail",
    "messages": [ "You divert %s's attack and lead them to the ground", "<npcname> diverts %s's attack and lead them to the ground" ],
    "skill_requirements": [ { "name": "unarmed", "level": 2 } ],
    "unarmed_allowed": true,
    "block_counter": true,
    "crit_ok": true,
    "down_dur": 1,
    "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.2 } ]
  },
  {
    "type": "technique",
    "id": "tec_taichi_precise",
    "name": "Double Palm Strike",
    "messages": [ "You double-handed palm strike %s", "<npcname> 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 } ]
  },
  {
    "type": "technique",
    "id": "tec_tiger_palm",
    "name": "Tiger Palm",
    "messages": [ "You land a heavy tiger palm on %s", "<npcname> lands a heavy tiger palm on %s" ],
    "skill_requirements": [ { "name": "unarmed", "level": 4 } ],
    "unarmed_allowed": true,
    "crit_tec": true,
    "stun_dur": 1
  },
  {
    "type": "technique",
    "id": "tec_tiger_takedown",
    "name": "Tiger Takedown",
    "messages": [ "You slam %s to the ground", "<npcname> slams %s to the ground" ],
    "skill_requirements": [ { "name": "unarmed", "level": 1 } ],
    "unarmed_allowed": true,
    "crit_tec": true,
    "down_dur": 1
  },
  {
    "type": "technique",
    "id": "tec_wingchun_punch",
    "name": "Straight Punch",
    "messages": [ "You deliver a vertical straight punch to %s", "<npcname> delivers a vertical straight punch to %s" ],
    "unarmed_allowed": true,
    "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.1 } ]
  },
  {
    "type": "technique",
    "id": "tec_wingchun_punch_knockback",
    "name": "Straight Punch (Knockback)",
    "messages": [ "You force %s back with a vertical straight punch", "<npcname> forces %s back with a vertical straight punch" ],
    "skill_requirements": [ { "name": "unarmed", "level": 4 } ],
    "unarmed_allowed": true,
    "req_buffs": [ "buff_wingchun_onpause" ],
    "weighting": 2,
    "knockback_dist": 1,
    "knockback_follow": true,
    "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.1 } ]
  },
  {
    "type": "technique",
    "id": "tec_wingchun_hook",
    "name": "L-hook",
    "messages": [ "You deliver a solid L-hook to %s", "<npcname> delivers a solid L-hook to %s" ],
    "skill_requirements": [ { "name": "unarmed", "level": 2 } ],
    "unarmed_allowed": true,
    "crit_tec": true,
    "down_dur": 1,
    "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.2 } ]
  },
  {
    "type": "technique",
    "id": "tec_wingchun_hook_knockback",
    "name": "L-hook (Knockback)",
    "messages": [ "You knock %s back with a solid L-hook", "<npcname> knocks %s back with a solid L-hook" ],
    "skill_requirements": [ { "name": "unarmed", "level": 4 } ],
    "unarmed_allowed": true,
    "req_buffs": [ "buff_wingchun_onpause" ],
    "weighting": 2,
    "crit_tec": true,
    "down_dur": 1,
    "knockback_dist": 1,
    "knockback_follow": true,
    "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.2 } ]
  },
  {
    "type": "technique",
    "id": "tec_wingchun_feint",
    "name": "Feint",
    "messages": [ "Your attack misses %s but you don't let up", "<npcname>'s attack misses %s but they don't let up" ],
    "skill_requirements": [ { "name": "unarmed", "level": 3 } ],
    "unarmed_allowed": true,
    "defensive": true,
    "miss_recovery": true
  },
  {
    "type": "technique",
    "id": "tec_wingchun_counter",
    "name": "Receive and Counter",
    "messages": [ "You receive %s's gift of violence, and return it in kind", "<npcname> receives %s's attack, and counters" ],
    "skill_requirements": [ { "name": "unarmed", "level": 5 } ],
    "unarmed_allowed": true,
    "dodge_counter": true,
    "crit_ok": true
  },
  {
    "type": "technique",
    "id": "tec_zuiquan_feint",
    "name": "Drunken Feint",
    "messages": [ "You stumble and leer at %s", "<npcname> stumbles and leers at %s" ],
    "skill_requirements": [ { "name": "unarmed", "level": 2 } ],
    "unarmed_allowed": true,
    "defensive": true,
    "miss_recovery": true
  },
  {
    "type": "technique",
    "id": "tec_zuiquan_counter",
    "name": "Drunk Counter",
    "messages": [ "You lurch, and your wild swing hits %s", "<npcname> lurches, and hits %s" ],
    "unarmed_allowed": true,
    "dodge_counter": true,
    "crit_ok": true,
    "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.25 } ]
  },
  {
    "type": "technique",
    "id": "tec_zuiquan_break",
    "name": "Grab Break",
    "messages": [ "The %s tries to grab you, but you stumble away!", "The %s tries to grab <npcname>, but they stumble away!" ],
    "skill_requirements": [ { "name": "unarmed", "level": 4 } ],
    "unarmed_allowed": true,
    "melee_allowed": true,
    "defensive": true,
    "grab_break": true
  },
  {
    "type": "technique",
    "id": "tec_debug_slow",
    "name": "slow strike",
    "unarmed_allowed": true,
    "unarmed_weapons_allowed": false,
    "skill_requirements": [ { "name": "unarmed", "level": 3 } ],
    "mult_bonuses": [
      { "stat": "damage", "type": "bash", "scale": 3.0 },
      { "stat": "damage", "type": "bash", "scaling-stat": "str", "scale": 0.1 }
    ],
    "flat_bonuses": [ { "stat": "movecost", "scale": 100 }, { "stat": "movecost", "scaling-stat": "str", "scale": 10 } ],
    "messages": [ "You slowly strike %s", "<npcname> slowly strikes %s" ]
  },
  {
    "type": "technique",
    "id": "tec_debug_arpen",
    "name": "phasing strike",
    "unarmed_allowed": true,
    "melee_allowed": true,
    "skill_requirements": [ { "name": "melee", "level": 3 } ],
    "mult_bonuses": [
      { "stat": "damage", "type": "bash", "scale": 0.2 },
      { "stat": "damage", "type": "cut", "scale": 0.2 },
      { "stat": "damage", "type": "stab", "scale": 0.2 },
      { "stat": "movecost", "scale": 0.3 }
    ],
    "flat_bonuses": [
      { "stat": "arpen", "type": "bash", "scale": 10 },
      { "stat": "arpen", "type": "bash", "scaling-stat": "per", "scale": 1 }
    ],
    "crit_tec": true,
    "messages": [ "You phase-strike %s", "<npcname> phase-strikes %s" ]
  }
]
