[
  {
    "type": "monster_attack",
    "attack_type": "melee",
    "id": "acid_charge",
    "cooldown": 15,
    "move_cost": 220,
    "damage_max_instance": [ { "damage_type": "acid", "amount": 0 } ],
    "self_effects_always": [ { "id": "acid_charged", "duration": 15 } ],
    "condition": { "not": { "u_has_effect": "maimed_acid_gland" } },
    "dodgeable": false,
    "blockable": false,
    "no_dmg_msg_npc": "%s strains for a moment, and its claws are covered in a thick film of acid!",
    "no_dmg_msg_u": "%s strains for a moment, and its claws are covered in a thick film of acid!",
    "miss_msg_npc": "%s strains for a moment, and its claws are covered in a thick film of acid!",
    "miss_msg_u": "%s strains for a moment, and its claws are covered in a thick film of acid!"
  },
  {
    "type": "monster_attack",
    "attack_type": "melee",
    "id": "acid_slash",
    "cooldown": 5,
    "move_cost": 100,
    "damage_max_instance": [ { "damage_type": "cut", "amount": 15 }, { "damage_type": "acid", "amount": 16 } ],
    "effects": [ { "id": "corroding", "duration": [ 10, 30 ], "affect_hit_bp": true } ],
    "effects_require_dmg": true,
    "self_effects_always": [ { "id": "maimed_acid_gland", "duration": 5 } ],
    "condition": {
      "and": [
        { "not": { "u_has_effect": "maimed_acid_gland" } },
        { "not": { "u_has_effect": "maimed_claws" } },
        { "not": { "u_has_effect": "maimed_arm" } },
        { "u_has_effect": "acid_charged" }
      ]
    },
    "hit_dmg_u": "%1$s slashes your %2$s, covering it in acid!",
    "hit_dmg_npc": "%1$s slashes at <npcname>, covering them in acid!",
    "miss_msg_u": "%1$s tries to slash at your %2$s, but you dodge!",
    "miss_msg_npc": "%1$s tries to slash at <npcname>, but they dodge!",
    "no_dmg_msg_u": "%1$s slashes your %2$s, covering the armor in acid!",
    "no_dmg_msg_npc": "%1$s slashes at <npcname>, covering their armor in acid!"
  },
  {
    "type": "monster_attack",
    "attack_type": "melee",
    "id": "elec_charge",
    "cooldown": 25,
    "move_cost": 300,
    "damage_max_instance": [ { "damage_type": "electric", "amount": 0 } ],
    "self_effects_always": [ { "id": "elec_charged", "duration": 15 } ],
    "condition": { "not": { "u_has_effect": "maimed_capacitor" } },
    "dodgeable": false,
    "blockable": false,
    "no_dmg_msg_npc": "%s pauses, and the swollen organ on its back starts glowing brighter!",
    "no_dmg_msg_u": "%s pauses, and the swollen organ on its back starts glowing brighter!",
    "miss_msg_npc": "%s pauses, and the swollen organ on its back starts glowing brighter!",
    "miss_msg_u": "%s pauses, and the swollen organ on its back starts glowing brighter!"
  },
  {
    "type": "monster_attack",
    "attack_type": "melee",
    "id": "grab",
    "cooldown": 10,
    "move_cost": 100,
    "hitsize_min": 1,
    "damage_max_instance": [ { "damage_type": "bash", "amount": 0 } ],
    "grab": true,
    "grab_data": { "grab_effect": "grabbed" },
    "//": "grab_strength preferentially set in the monster definition for clarity",
    "condition": { "and": [ { "not": { "u_has_flag": "GRAB_FILTER" } }, { "not": { "u_has_effect": "maimed_arm" } } ] },
    "hit_dmg_u": "%1$s grabs your %2$s!",
    "hit_dmg_npc": "%1$s grabs <npcname>'s %2$s!",
    "miss_msg_u": "%s tries to grab you, but you dodge!",
    "miss_msg_npc": "%s tries to grab <npcname>, but they dodge!",
    "no_dmg_msg_u": "%1$s grabs your %2$s!",
    "no_dmg_msg_npc": "%1$s grabs <npcname>'s %2$s!"
  },
  {
    "type": "monster_attack",
    "attack_type": "melee",
    "id": "grab_2",
    "damage_max_instance": [ { "damage_type": "bash", "amount": 0 } ],
    "grab": true,
    "grab_data": { "grab_effect": "grabbed" },
    "condition": { "and": [ { "u_has_flag": "GRAB_FILTER" }, { "npc_has_flag": "GRAB" }, { "not": { "u_has_effect": "grabbing_2" } } ] },
    "//": "We can't count grab filters, so grabbing 2 works as a soft cooldown",
    "self_effects_onhit": [ { "id": "grabbing_2", "duration": 150, "permanent": false } ],
    "hit_dmg_u": "%1$s grabs your %2$s with another appendage!",
    "hit_dmg_npc": "%1$s grabs <npcname>'s %2$s with another appendage!",
    "miss_msg_u": "%s tries to grab you, but you dodge!",
    "miss_msg_npc": "%s tries to grab <npcname>, but they dodge!",
    "no_dmg_msg_u": "%1$s grabs your %2$s with another appendage!",
    "no_dmg_msg_npc": "%1$s grabs <npcname>'s %2$s with another appendage!"
  },
  {
    "type": "monster_attack",
    "attack_type": "melee",
    "id": "ranged_pull",
    "cooldown": 15,
    "move_cost": 150,
    "hitsize_min": 1,
    "range": 5,
    "grab": true,
    "condition": { "and": [ { "not": { "u_has_flag": "GRAB_FILTER" } }, { "not": { "u_has_effect": "maimed_arm" } } ] },
    "damage_max_instance": [ { "damage_type": "bash", "amount": 0 } ],
    "grab_data": { "exclusive_grab": true, "pull_chance": 100, "pull_weight_ratio": 0.75 },
    "no_dmg_msg_u": "",
    "no_dmg_msg_npc": "",
    "miss_msg_u": "%s's arms fly out at you, but you dodge!",
    "miss_msg_npc": "%s's arms fly out at <npcname>, but they dodge!"
  },
  {
    "type": "monster_attack",
    "attack_type": "melee",
    "id": "grab_drag",
    "cooldown": 10,
    "//": "Drag moves will consume full move costs anyway, don't penalize the attack itself.",
    "move_cost": 0,
    "hitsize_min": 4,
    "condition": { "and": [ { "not": { "u_has_flag": "GRAB_FILTER" } }, { "not": { "u_has_effect": "maimed_arm" } } ] },
    "damage_max_instance": [ { "damage_type": "bash", "amount": 0 } ],
    "grab": true,
    "grab_data": {
      "exclusive_grab": true,
      "pull_weight_ratio": 1.5,
      "drag_distance": 3,
      "drag_deviation": 0,
      "drag_grab_break_distance": 2
    },
    "hit_dmg_u": "%1$s grabs you by your %2$s and drags you away!",
    "hit_dmg_npc": "%1$s grabs <npcname>'s %2$s and drags them away!",
    "miss_msg_u": "%s tries to grab you, but you dodge!",
    "miss_msg_npc": "%s tries to grab <npcname>, but they dodge!",
    "no_dmg_msg_u": "%1$s grabs you by your %2$s and drags you away!",
    "no_dmg_msg_npc": "%1$s grabs <npcname>'s %2$s and drags them away!"
  },
  {
    "type": "monster_attack",
    "attack_type": "melee",
    "id": "drag_followup",
    "//": "If your target is still grabbed and you're still grabbing continue dragging them along",
    "cooldown": 2,
    "move_cost": 0,
    "hitsize_min": 4,
    "condition": { "and": [ { "not": { "one_in_chance": 4 } }, { "u_has_flag": "GRAB_FILTER" }, { "npc_has_flag": "GRAB" } ] },
    "grab": true,
    "grab_data": {
      "exclusive_grab": true,
      "pull_weight_ratio": 1.5,
      "drag_distance": 3,
      "drag_deviation": 0,
      "drag_grab_break_distance": 2,
      "grab_effect": "null"
    },
    "hit_dmg_u": "%1$s drags you!",
    "hit_dmg_npc": "%1$s drags <npcname>!",
    "miss_msg_u": "",
    "miss_msg_npc": "",
    "no_dmg_msg_u": "%1$s drags you!",
    "no_dmg_msg_npc": "%1$s drags <npcname>!"
  },
  {
    "type": "monster_attack",
    "attack_type": "bite",
    "id": "bite_humanoid",
    "//": "bite for monsters who need to hold their target to bite - humanoid zombies, in effect",
    "condition": { "and": [ { "u_has_flag": "GRAB_FILTER" }, { "npc_has_flag": "GRAB" } ] },
    "cooldown": 10,
    "move_cost": 100
  },
  {
    "type": "monster_attack",
    "attack_type": "bite",
    "id": "bite_grab",
    "//": "For monsters like dogs who bite and hold",
    "grab": true,
    "condition": { "and": [ { "not": { "u_has_flag": "GRAB_FILTER" } }, { "not": { "u_has_effect": "maimed_mandible" } } ] },
    "hit_dmg_u": "%1$s bites your %2$s and latches on tightly!",
    "hit_dmg_npc": "%1$s bites <npcname>'s %2$s and latches on tightly!",
    "miss_msg_u": "%1$s tries to bite you, but you dodge!",
    "miss_msg_npc": "%1$s tries to bite <npcname>, but they dodge!",
    "no_dmg_msg_u": "%1$s latches onto your %2$s without penetrating your armor.",
    "no_dmg_msg_npc": "%1$s latches onto <npcname>'s %2$s without penetrating their armor."
  },
  {
    "type": "monster_attack",
    "attack_type": "melee",
    "id": "tail_club",
    "cooldown": 10,
    "move_cost": 180,
    "damage_max_instance": [ { "damage_type": "bash", "amount": 20, "armor_multiplier": 0.3 } ],
    "range": 2,
    "no_adjacent": true,
    "effects": [ { "id": "downed", "chance": 33, "duration": [ 1, 3 ] } ],
    "condition": { "not": { "u_has_effect": "maimed_tail" } },
    "dodgeable": true,
    "uncanny_dodgeable": true,
    "hitsize_min": 4,
    "hit_dmg_u": "%1$s's clubbed tail whips out and hits your %2$s!",
    "hit_dmg_npc": "%1$s's tail stings <npcname>!",
    "miss_msg_u": "%1$s tries to club you, but you dodge!",
    "miss_msg_npc": "%1$s tries to club <npcname>, but they dodge!",
    "no_dmg_msg_u": "%1$s's clubbed tail bounces off your %2$s.",
    "no_dmg_msg_npc": "%1$s tries to club <npcname>, but it fails to penetrate their armor."
  },
  {
    "type": "monster_attack",
    "attack_type": "melee",
    "id": "impale",
    "cooldown": 25,
    "move_cost": 150,
    "damage_max_instance": [ { "damage_type": "stab", "amount": 15, "armor_penetration": 8, "armor_multiplier": 0.5 } ],
    "hitsize_min": 4,
    "hit_dmg_u": "%1$s impales your %2$s!",
    "hit_dmg_npc": "%1$s impales <npcname>!",
    "miss_msg_u": "%1$s tries to impale your %2$s, but you dodge!",
    "miss_msg_npc": "%1$s tries to impale <npcname>, but they dodge!",
    "no_dmg_msg_u": "%1$s tries to impale your %2$s, but fails to penetrate your armor.",
    "no_dmg_msg_npc": "%1$s tries to impale <npcname>, but fails to penetrate their armor.",
    "dodgeable": true,
    "blockable": true
  },
  {
    "type": "monster_attack",
    "attack_type": "melee",
    "id": "hunter_peck",
    "cooldown": 15,
    "move_cost": 100,
    "damage_max_instance": [ { "damage_type": "stab", "amount": 12, "armor_penetration": 30 } ],
    "hitsize_min": 4,
    "effects": [ { "id": "venom_blind", "duration": 120 } ],
    "hit_dmg_u": "%1$s buries its beak in your %2$s!",
    "hit_dmg_npc": "%1$s buries its beak in <npcname>!",
    "miss_msg_u": "%1$s tries to peck you, but you dodge!",
    "miss_msg_npc": "%1$s tries to peck <npcname>, but they dodge!",
    "no_dmg_msg_u": "%1$s tries to peck your %2$s, but fails to penetrate your armor.",
    "no_dmg_msg_npc": "%1$s tries to peck <npcname>, but fails to penetrate their armor."
  },
  {
    "type": "monster_attack",
    "attack_type": "melee",
    "id": "tentacle",
    "cooldown": 5,
    "move_cost": 100,
    "range": 3,
    "damage_max_instance": [ { "damage_type": "bash", "amount": 20 } ],
    "hit_dmg_u": "%1$s snaps its tentacle at your %2$s!",
    "hit_dmg_npc": "%1$s snaps its tentacle at <npcname>!",
    "no_dmg_msg_u": "%1$s's tentacle lashes out at you without doing any damage.",
    "no_dmg_msg_npc": "%1$s's tentacle lashes out at <npcname> without doing any damage.",
    "miss_msg_u": "%s's tentacle snaps at you, but you dodge!",
    "miss_msg_npc": "%s's tentacle snaps at <npcname>, but they dodge!"
  },
  {
    "type": "monster_attack",
    "attack_type": "melee",
    "id": "barbed_tentacle",
    "cooldown": 5,
    "move_cost": 100,
    "range": 3,
    "damage_max_instance": [ { "damage_type": "stab", "amount": 20 } ],
    "hit_dmg_u": "%1$s snaps its barbed tentacle at your %2$s!",
    "hit_dmg_npc": "%1$s snaps its barbed tentacle at <npcname>!",
    "no_dmg_msg_u": "%1$s's barbed tentacle lashes out at you without doing any damage.",
    "no_dmg_msg_npc": "%1$s's barbed tentacle lashes out at <npcname> without doing any damage.",
    "miss_msg_u": "%s's barbed tentacle snaps at you, but you dodge!",
    "miss_msg_npc": "%s's barbed tentacle snaps at <npcname>, but they dodge!"
  },
  {
    "type": "monster_attack",
    "attack_type": "melee",
    "id": "long_barbed_tentacle",
    "cooldown": 5,
    "move_cost": 100,
    "range": 7,
    "damage_max_instance": [ { "damage_type": "stab", "amount": 35 } ],
    "hit_dmg_u": "%1$s snaps its long barbed tentacle at your %2$s!",
    "hit_dmg_npc": "%1$s snaps its long barbed tentacle at <npcname>!",
    "no_dmg_msg_u": "%1$s's long barbed tentacle lashes out at you without doing any damage.",
    "no_dmg_msg_npc": "%1$s's long barbed tentacle lashes out at <npcname> without doing any damage.",
    "miss_msg_u": "%s's long barbed tentacle snaps at you, but you dodge!",
    "miss_msg_npc": "%s's long barbed tentacle snaps at <npcname>, but they dodge!"
  },
  {
    "type": "monster_attack",
    "attack_type": "melee",
    "id": "stretch_bite",
    "cooldown": 10,
    "move_cost": 300,
    "//": "No stun on miss/obstacle unlike in the hardcoded attack, raised movecost to compensate",
    "range": 3,
    "damage_max_instance": [ { "damage_type": "stab", "amount": 15 } ],
    "min_mul": 0.3,
    "hit_dmg_u": "%1$s's head shoots out, and its teeth sink into your %2$s!",
    "hit_dmg_npc": "%1$s's head shoots out, and its teeth sink into <npcname>!",
    "no_dmg_msg_u": "%1$s's head hits your %2$s, but glances off your armor.",
    "no_dmg_msg_npc": "%1$s's head hits <npcname>, but glances off their armor.",
    "miss_msg_u": "%s's head extends to bite you, but you dodge and the head sails past!",
    "miss_msg_npc": "%s's head extends to bite <npcname>, but they dodge and the head sails past!"
  },
  {
    "type": "monster_attack",
    "attack_type": "melee",
    "id": "stretch_attack",
    "cooldown": 20,
    "move_cost": 200,
    "range": 3,
    "damage_max_instance": [ { "damage_type": "stab", "amount": 10 } ],
    "condition": { "not": { "u_has_effect": "maimed_arm" } },
    "hit_dmg_u": "%1$s thrusts its arms at you, and its claws pierce your %2$s!",
    "hit_dmg_npc": "%1$s thrusts its arms at <npcname>!",
    "no_dmg_msg_u": "%1$s's arms hit your %2$s, but they glance off your armor.",
    "no_dmg_msg_npc": "%1$s's arms hit <npcname>, but they glance off their armor.",
    "miss_msg_u": "%s thrusts its arms at you, but you evade the stretched arm!",
    "miss_msg_npc": "%s's thrusts its arms at <npcname>, but they dodge!"
  },
  {
    "type": "monster_attack",
    "attack_type": "melee",
    "id": "teke_push",
    "cooldown": 20,
    "move_cost": 200,
    "range": 6,
    "damage_max_instance": [ { "damage_type": "bash", "amount": 20 } ],
    "hit_dmg_u": "%1$s stares at you intently and a sudden wind buffets you!",
    "hit_dmg_npc": "%1$s stares intently at <npcname> and a hurricane force wind hits them!",
    "no_dmg_msg_u": "%1$s's wind buffets your %2$s, but it doesn't catch hold.",
    "no_dmg_msg_npc": "%1$s's winds hit <npcname>, but it doesn't catch hold.",
    "miss_msg_u": "%s stares at you, but the wind blows past you!",
    "miss_msg_npc": "%s's stares at <npcname>, but the wind blows past them!"
  },
  {
    "type": "monster_attack",
    "attack_type": "melee",
    "id": "longswipe",
    "cooldown": 20,
    "move_cost": 150,
    "range": 3,
    "no_adjacent": true,
    "condition": { "one_in_chance": 5 },
    "damage_max_instance": [ { "damage_type": "cut", "amount": 7 } ],
    "hit_dmg_u": "%1$s thrusts a claw at your %2$s, slashing it!",
    "hit_dmg_npc": "%1$s thrusts a claw at <npcname>!",
    "no_dmg_msg_u": "%1$s thrusts a claw at your %2$s, but glances off your armor.",
    "no_dmg_msg_npc": "%1$s thrusts a claw at <npcname>, but glances off their armor.",
    "miss_msg_u": "%s thrusts a claw at you, but you evade it!",
    "miss_msg_npc": "%s thrusts a claw at <npcname>, but they evade it!"
  },
  {
    "type": "monster_attack",
    "attack_type": "melee",
    "id": "cut_throat",
    "cooldown": 20,
    "move_cost": 100,
    "hitsize_min": 4,
    "hitsize_max": 4,
    "damage_max_instance": [ { "damage_type": "cut", "amount": 23 } ],
    "condition": { "not": { "u_has_effect": "maimed_arm" } },
    "hit_dmg_u": "%1$s slashes at your neck, cutting your throat!",
    "hit_dmg_npc": "%1$s slashes at <npcname>!",
    "no_dmg_msg_u": "%1$s slashes at your neck, but glances off your armor.",
    "no_dmg_msg_npc": "%1$s slashes at <npcname>, but glances off armor.",
    "miss_msg_u": "%s slashes at your neck!  You duck!",
    "miss_msg_npc": "%s slashes at <npcname>, but they duck!"
  },
  {
    "type": "monster_attack",
    "attack_type": "melee",
    "id": "smash",
    "move_cost": 400,
    "cooldown": 20,
    "damage_max_instance": [ { "damage_type": "bash", "amount": 30 } ],
    "condition": { "not": { "u_has_effect": "maimed_arm" } },
    "hitsize_min": 12,
    "throw_strength": 100,
    "hit_dmg_u": "%1$s takes a powerful swing at your %2$s, pulverizing it!",
    "hit_dmg_npc": "%1$s takes a powerful swing at <npcname>!",
    "no_dmg_msg_u": "%s takes a swing at you, but it's blunted by your armor.",
    "no_dmg_msg_npc": "%s takes a swing at <npcname>, but they appear unharmed.",
    "miss_msg_u": "%s takes a powerful swing at you, but you dodge it!",
    "miss_msg_npc": "%s takes a powerful swing at <npcname>, who dodges it!"
  },
  {
    "type": "monster_attack",
    "attack_type": "melee",
    "id": "stag_smash",
    "accuracy": 7,
    "move_cost": 250,
    "cooldown": 25,
    "range": 2,
    "damage_max_instance": [ { "damage_type": "bash", "amount": 35, "armor_multiplier": 0.5 } ],
    "hitsize_min": 12,
    "throw_strength": 60,
    "hit_dmg_u": "%1$s brutally rams you in the %2$s!",
    "hit_dmg_npc": "%1$s brutally rams <npcname>!",
    "no_dmg_msg_u": "%1$s rams your %2$s, but you hold steady.",
    "no_dmg_msg_npc": "%1$s rams <npcname>, but they hold steady.",
    "miss_msg_u": "%s flicks its horns at you, but you dodge!",
    "miss_msg_npc": "%s flicks its horns at <npcname>, but they dodge!"
  },
  {
    "type": "monster_attack",
    "attack_type": "melee",
    "id": "scratch",
    "cooldown": 20,
    "move_cost": 150,
    "damage_max_instance": [ { "damage_type": "cut", "amount": 8 } ],
    "hit_dmg_u": "%1$s claws at your %2$s!",
    "hit_dmg_npc": "%1$s claws at <npcname>!",
    "miss_msg_u": "%1$s claws at you, but you dodge!",
    "miss_msg_npc": "%1$s tries to claw at <npcname>, but they dodge!",
    "no_dmg_msg_u": "%1$s claws at your %2$s, but fails to penetrate armor.",
    "no_dmg_msg_npc": "%1$s tries to claw at <npcname>, but fails to penetrate armor.",
    "dodgeable": true,
    "blockable": true
  },
  {
    "type": "monster_attack",
    "attack_type": "melee",
    "id": "scratch_humanoid",
    "//": "For monsters who would scratch with the same hands they are holding you - like zombies",
    "cooldown": 20,
    "move_cost": 150,
    "damage_max_instance": [ { "damage_type": "cut", "amount": 8 } ],
    "condition": { "and": [ { "not": { "u_has_flag": "GRAB_FILTER" } }, { "not": { "u_has_effect": "maimed_arm" } } ] },
    "hit_dmg_u": "%1$s claws at your %2$s!",
    "hit_dmg_npc": "%1$s claws at <npcname>!",
    "miss_msg_u": "%1$s claws at you, but you dodge!",
    "miss_msg_npc": "%1$s tries to claw at <npcname>, but they dodge!",
    "no_dmg_msg_u": "%1$s claws at your %2$s, but fails to penetrate armor.",
    "no_dmg_msg_npc": "%1$s tries to claw at <npcname>, but fails to penetrate armor.",
    "dodgeable": true,
    "blockable": true
  },
  {
    "type": "monster_attack",
    "attack_type": "melee",
    "id": "scratch_grab_required",
    "//": "For monsters who need to grab(bite) to start scratching, like dogs",
    "cooldown": 5,
    "move_cost": 100,
    "condition": { "u_has_flag": "GRAB_FILTER" },
    "damage_max_instance": [ { "damage_type": "cut", "amount": 8 } ],
    "hit_dmg_u": "%1$s claws at your %2$s while holding you!",
    "hit_dmg_npc": "%1$s claws at <npcname> while holding them!",
    "no_dmg_msg_u": "%1$s claws at your %2$s, but fails to penetrate armor.",
    "no_dmg_msg_npc": "%1$s tries to claw at <npcname>, but fails to penetrate armor.",
    "dodgeable": false,
    "blockable": false
  },
  {
    "type": "monster_attack",
    "attack_type": "melee",
    "id": "slam",
    "cooldown": 20,
    "move_cost": 180,
    "damage_max_instance": [ { "damage_type": "bash", "amount": 8 } ],
    "hitsize_min": 4,
    "hit_dmg_u": "%1$s slams into your %2$s!",
    "hit_dmg_npc": "%1$s slams into <npcname>!",
    "miss_msg_u": "%1$s tries to slam into you, but you dodge!",
    "miss_msg_npc": "%1$s tries to slam into <npcname>, but they dodge!",
    "no_dmg_msg_u": "%1$s slams into your %2$s, but your armor protects you.",
    "no_dmg_msg_npc": "%1$s slams into <npcname>, but their armor protects them.",
    "dodgeable": true,
    "blockable": false
  },
  {
    "type": "monster_attack",
    "attack_type": "melee",
    "id": "sting",
    "cooldown": 20,
    "move_cost": 260,
    "damage_max_instance": [ { "damage_type": "stab", "amount": 10 } ],
    "hitsize_min": 4,
    "effects": [ { "id": "venom_weaken", "duration": 400, "chance": 50 } ],
    "condition": { "not": { "u_has_effect": "maimed_stinger" } },
    "hit_dmg_u": "%1$s stings your %2$s!",
    "hit_dmg_npc": "%1$s stings <npcname>!",
    "miss_msg_u": "%1$s tries to sting you, but you dodge!",
    "miss_msg_npc": "%1$s tries to sting <npcname>, but they dodge!",
    "no_dmg_msg_u": "%1$s tries to sting your %2$s, but it fails to penetrate your armor.",
    "no_dmg_msg_npc": "%1$s tries to sting <npcname>, but it fails to penetrate their armor.",
    "dodgeable": true,
    "blockable": true
  },
  {
    "type": "monster_attack",
    "attack_type": "melee",
    "id": "mutant_stinger",
    "cooldown": 6,
    "move_cost": 180,
    "damage_max_instance": [ { "damage_type": "stab", "amount": 14, "armor_multiplier": 0.3 } ],
    "range": 2,
    "effects": [ { "id": "venom_dmg", "duration": 250, "affect_hit_bp": true } ],
    "dodgeable": true,
    "uncanny_dodgeable": true,
    "hit_dmg_u": "%1$s's stinger tail whips out and hits your %2$s!",
    "hit_dmg_npc": "%1$s's tail stings <npcname>!",
    "miss_msg_u": "%1$s tries to sting you, but you dodge!",
    "miss_msg_npc": "%1$s tries to sting <npcname>, but they dodge!",
    "no_dmg_msg_u": "%1$s's stinger bounces off your %2$s.",
    "no_dmg_msg_npc": "%1$s tries to sting <npcname>, but it fails to penetrate their armor."
  },
  {
    "type": "monster_attack",
    "attack_type": "melee",
    "id": "mutant_antler",
    "cooldown": 6,
    "move_cost": 150,
    "damage_max_instance": [ { "damage_type": "stab", "amount": 15, "armor_multiplier": 0.3 } ],
    "min_mul": 0.7,
    "hitsize_min": 4,
    "hit_dmg_u": "%1$s gores your %2$s with its antlers!",
    "hit_dmg_npc": "%1$s gores <npcname> with its antlers!",
    "miss_msg_u": "%1$s tries to gore you, but you dodge!",
    "miss_msg_npc": "%1$s tries to gore <npcname>, but they dodge!",
    "no_dmg_msg_u": "%1$s rams its antlers into your %2$s, but it bounces off your armor.",
    "no_dmg_msg_npc": "%1$s tries to gore <npcname>, but it fails to penetrate their armor."
  },
  {
    "type": "monster_attack",
    "attack_type": "melee",
    "id": "mutant_hoof",
    "cooldown": 12,
    "move_cost": 100,
    "damage_max_instance": [ { "damage_type": "bash", "amount": 17 } ],
    "hitsize_min": 4,
    "throw_strength": 20,
    "dodgeable": true,
    "uncanny_dodgeable": true,
    "hit_dmg_u": "%1$s kicks your %2$s!",
    "hit_dmg_npc": "%1$s kicks <npcname>!",
    "miss_msg_u": "%1$s tries to kick you, but you dodge!",
    "miss_msg_npc": "%1$s tries to kick <npcname>, but they dodge!",
    "no_dmg_msg_u": "%1$s kicks your %2$s, but it's dampened by your armor.",
    "no_dmg_msg_npc": "%1$s kicks <npcname>, but fails to penetrate their armor."
  },
  {
    "type": "monster_attack",
    "attack_type": "melee",
    "id": "mutant_spinneret",
    "cooldown": 5,
    "move_cost": 210,
    "damage_max_instance": [ { "damage_type": "bash", "amount": 0 } ],
    "hitsize_min": 34,
    "effects_require_dmg": false,
    "effects": [ { "id": "webbed", "duration": 300, "intensity": [ 1, 3 ] } ],
    "blockable": false,
    "condition": { "npc_has_flag": "GRAB" },
    "hit_dmg_u": "%s grasps at you with silk-covered legs, engulfing you in sticky webs!",
    "hit_dmg_npc": "%s grabs <npcname> and covers them in sticky webs!",
    "miss_msg_u": "%s tries to grab you, but you dodge!",
    "miss_msg_npc": "%s tries to grab <npcname>, but they dodge!",
    "no_dmg_msg_u": "%s grasps at you with silk-covered legs, engulfing you in sticky webs!",
    "no_dmg_msg_npc": "%s grabs <npcname> and covers them in sticky webs!"
  },
  {
    "type": "monster_attack",
    "attack_type": "melee",
    "id": "leg_sweep",
    "cooldown": 10,
    "move_cost": 100,
    "hitsize_min": 4,
    "attack_upper": false,
    "condition": {
      "and": [
        { "one_in_chance": 2 },
        { "u_has_flag": "GRAB_FILTER" },
        { "not": { "u_has_effect": "maimed_mandible" } },
        { "not": { "npc_has_effect": "downed" } }
      ]
    },
    "damage_max_instance": [ { "damage_type": "bash", "amount": 18 } ],
    "effects_require_dmg": false,
    "hit_dmg_u": "%1$s hits your legs, causing you to get knocked on your back!",
    "hit_dmg_npc": "%1$s knocks <npcname> prone!",
    "no_dmg_msg_u": "%1$s tries to knock you down, but your armor protects you.",
    "no_dmg_msg_npc": "%1$s tries to knock <npcname> down, but their armor protects them.",
    "miss_msg_u": "%s goes for your legs!  You duck!",
    "miss_msg_npc": "%s goes <npcname>'s legs, but they duck!",
    "effects": [ { "id": "downed", "chance": 33, "duration": 3 } ]
  },
  {
    "type": "monster_attack",
    "attack_type": "melee",
    "id": "bio_op_takedown",
    "cooldown": 10,
    "move_cost": 100,
    "hitsize_min": 4,
    "attack_upper": false,
    "damage_max_instance": [ { "damage_type": "bash", "amount": 10 } ],
    "effects_require_dmg": false,
    "condition": { "and": [ { "one_in_chance": 2 }, { "not": { "npc_has_effect": "downed" } } ] },
    "hit_dmg_u": "%1$s kicks your %2$s and slams you to the ground!",
    "hit_dmg_npc": "%1$s kicks <npcname> and slams them to the ground!",
    "no_dmg_msg_u": "%1$s tries to kick %2$s and knock you down, but your armor protects you.",
    "no_dmg_msg_npc": "%1$s tries to kick and knock <npcname> down, but their armor protects them.",
    "miss_msg_u": "%1$s tries to kick your %2$s but you dodge!",
    "miss_msg_npc": "%s tries to kick and knock down <npcname>, but they dodge!",
    "effects": [ { "id": "downed", "duration": 3 }, { "id": "stunned", "duration": 2 } ]
  },
  {
    "type": "monster_attack",
    "attack_type": "melee",
    "id": "bio_op_impale",
    "cooldown": 25,
    "move_cost": 150,
    "damage_max_instance": [ { "damage_type": "stab", "amount": 36, "armor_penetration": 8, "armor_multiplier": 0.5 } ],
    "hitsize_min": 4,
    "hit_dmg_u": "%1$s lunges and impales your %2$s!",
    "hit_dmg_npc": "%1$s lunges and impales <npcname>!",
    "miss_msg_u": "%1$s lunges and tries to impale your %2$s, but you dodge!",
    "miss_msg_npc": "%1$s lunges and tries to impale <npcname>, but they dodge!",
    "no_dmg_msg_u": "%1$s lunges and tries to impale your %2$s, but fails to penetrate your armor.",
    "no_dmg_msg_npc": "%1$s tries to impale <npcname>, but fails to penetrate their armor.",
    "dodgeable": true,
    "blockable": true
  }
]
