[
  {
    "id": "mon_triffid_clairsentient",
    "copy-from": "mon_triffid",
    "type": "MONSTER",
    "name": { "str": "triffid seedseer" },
    "description": "A creeping mobile plant, as tall as a moose.  It has a single bark-covered stalk supporting a flowery head with a paralyzing sting concealed within.  You have the distinct sense that it's watching you.",
    "dodge": 7,
    "armor": { "bash": 10, "cut": 4, "bullet": 43, "electric": 2 },
    "//": "Extra bullet armor here is from clairsentient anticipation of bullet trajectories, not literal armor.",
    "extend": {
      "flags": [ "HARDTOSHOOT", "ALL_SEEING" ],
      "special_attacks": [
        {
          "id": "psi_triffid_seedseer_discern_weakness",
          "type": "spell",
          "spell_data": { "id": "clairsentient_discern_weakness_monster", "min_level": 4 },
          "cooldown": { "math": [ "12 + rand(32)" ] },
          "condition": { "not": { "u_has_effect": "effect_psi_null" } },
          "monster_message": "%1$s's fronds quiver."
        }
      ]
    }
  },
  {
    "id": "mon_triffid_pyrokinetic",
    "copy-from": "mon_triffid",
    "type": "MONSTER",
    "name": { "str": "triffid flamebreaker" },
    "species": [ "PLANT_INFLAMMABLE" ],
    "description": "A creeping mobile plant, as tall as a moose.  It has a single bark-covered stalk supporting a flowery head with a paralyzing sting concealed within.  The air around it wavers slightly, like a summer haze.",
    "extend": {
      "flags": [ "FIREPROOF" ],
      "armor": { "heat": 500 },
      "special_attacks": [
        {
          "type": "monster_attack",
          "attack_type": "melee",
          "id": "mon_fountain_of_flames",
          "cooldown": { "math": [ "5 + rand(13)" ] },
          "move_cost": 80,
          "range": 4,
          "damage_max_instance": [ { "damage_type": "heat", "amount": 20 } ],
          "dodgeable": true,
          "blockable": false,
          "effects": [ { "id": "onfire", "duration": 60, "chance": 50, "affect_hit_bp": true } ],
          "condition": { "not": { "u_has_flag": "NO_PSIONICS" } },
          "hit_dmg_u": "%1$s waves its fronds and your %2$s is engulfed in flames!",
          "hit_dmg_npc": "%1$s waves its fronds and <npcname>'s %2$s is engulfed in flames!",
          "miss_msg_u": "%1$s waves its fronds and you narrowly avoid a burst of flame!",
          "miss_msg_npc": "%1$s waves its fronds and <npcname> narrowly avoids a burst of flame!",
          "no_dmg_msg_u": "%1$s waves its fronds and your %2$s is engulfed in flames, but they do not burn you.",
          "no_dmg_msg_npc": "%1$s waves its fronds and <npcname>'s %2$s is engulfed in flames, but it does not burn them."
        },
        {
          "id": "psi_triffid_flamebreaker_quell",
          "type": "spell",
          "spell_data": { "id": "pyrokinetic_quell_flames_monster", "min_level": 10 },
          "allow_no_target": true,
          "cooldown": 1,
          "condition": { "and": [ { "not": { "u_has_flag": "NO_PSIONICS" } }, { "u_is_in_field": "fd_fire" } ] },
          "monster_message": "%1$s waves its fronds and the flames gutter and die."
        },
        {
          "id": "psi_triffid_flamebreaker_no_flame_buff",
          "type": "spell",
          "spell_data": { "id": "pyrokinetic_flame_armor_ally_monster", "min_level": 8 },
          "cooldown": { "math": [ "10 + rand(25)" ] },
          "condition": {
            "and": [
              { "not": { "u_has_flag": "NO_PSIONICS" } },
              { "not": { "npc_has_effect": "effect_monster_pyrokinetic_fire_immunity" } }
            ]
          },
          "monster_message": "%1$s waves its fronds at %3$s."
        }
      ]
    }
  },
  {
    "id": "mon_triffid_teleporter",
    "copy-from": "mon_triffid",
    "type": "MONSTER",
    "name": { "str": "triffid riftcaller" },
    "description": "A creeping mobile plant, as tall as a moose.  It has a single bark-covered stalk supporting a flowery head with a paralyzing sting concealed within.  Occasionally it vanishes and reappears elsewhere.",
    "extend": {
      "flags": [ "TELEPORT_IMMUNE" ],
      "special_attacks": [
        {
          "id": "psi_triffid_teleporter_slow",
          "type": "spell",
          "spell_data": { "id": "teleport_slow_monster", "min_level": 8 },
          "cooldown": { "math": [ "7 + rand(14)" ] },
          "condition": { "not": { "u_has_flag": "NO_PSIONICS" } },
          "monster_message": "%1$s waves its fronds at %3$s."
        },
        {
          "type": "leap",
          "cooldown": { "math": [ "4 + rand(8)" ] },
          "move_cost": 50,
          "allow_no_target": true,
          "max_range": 10,
          "condition": { "not": { "u_has_flag": "NO_PSIONICS" } },
          "message": "%1$s vanishes and reappears elsewhere!"
        },
        {
          "id": "psi_porter3_reactive_displacement",
          "type": "spell",
          "spell_data": { "id": "teleporter_reactive_displacement_monster" },
          "cooldown": 1,
          "condition": {
            "and": [
              { "not": { "u_has_flag": "NO_PSIONICS" } },
              { "not": { "u_has_effect": "effect_teleport_reactive_displacement_monster" } }
            ]
          },
          "monster_message": "The space around %1$s distorts."
        },
        {
          "id": "psi_triffid_teleporter_ally_teleport",
          "type": "spell",
          "spell_data": { "id": "teleporter_triffid_summon_allies", "min_level": 10 },
          "cooldown": { "math": [ "17 + rand(32)" ] },
          "condition": { "not": { "u_has_flag": "NO_PSIONICS" } },
          "monster_message": "%1$s waves its fronds at %3$s and the air around %3$s solidifies into shapes."
        }
      ]
    }
  }
]
