<Character SpeciesName="Mantis" SpeciesTranslationOverride="" DisplayName="" Group="" Humanoid="False" HasInfo="False" CanInteract="False" Husk="False" UseHuskAppendage="False" NeedsAir="False" NeedsWater="False" UseHumanAI="False" IsMachine="False" CanSpeak="False" ShowHealthBar="True" UseBossHealthBar="False" Noise="100" Visibility="100" BloodDecal="blood" BleedParticleAir="blooddrop" BleedParticleWater="waterblood" BleedParticleMultiplier="1" CanEat="True" EatingSpeed="10" UsePathFinding="True" PathFinderPriority="1" HideInSonar="False" HideInThermalGoggles="False" SonarDisruption="0" DistantSonarRange="0" DisableDistance="25000" SoundInterval="10" DrawLast="False" AITurretPriority="1" AISlowTurretPriority="1" DespawnContainer="">
  <ragdolls folder="default" />
  <animations folder="default" />
  <health Vitality="200" DoesBleed="False" CrushDepth="Infinity" UseHealthWindow="False" BleedingReduction="0" BurnReduction="0" ConstantHealthRegeneration="0" HealthRegenerationWhenEating="1" StunImmunity="False" PoisonImmunity="False" PoisonVulnerability="1" EmpVulnerability="0" ApplyAfflictionColors="True" />
  <damageemitter Particle="gib" AngleMin="0" AngleMax="360" ScaleMin="0.15" ScaleMax="0.2" VelocityMin="200" VelocityMax="300" EmitInterval="0" ParticlesPerSecond="0" ParticleAmount="10" HighQualityCollisionDetection="False" CopyEntityAngle="False" />
  <bloodemitter Particle="blood" AngleMin="0" AngleMax="0" ScaleMin="1" ScaleMax="1" VelocityMin="0" VelocityMax="0" EmitInterval="0" ParticlesPerSecond="0" ParticleAmount="1" HighQualityCollisionDetection="False" CopyEntityAngle="False" />
  <bloodemitter Particle="waterblood" AngleMin="0" AngleMax="0" ScaleMin="1" ScaleMax="1" VelocityMin="0" VelocityMax="0" EmitInterval="0" ParticlesPerSecond="0" ParticleAmount="1" HighQualityCollisionDetection="False" CopyEntityAngle="False" />
  <gibemitter Particle="gib" AngleMin="0" AngleMax="360" ScaleMin="0.25" ScaleMax="0.5" VelocityMin="200" VelocityMax="700" EmitInterval="0" ParticlesPerSecond="0" ParticleAmount="20" HighQualityCollisionDetection="False" CopyEntityAngle="False" />
  <sound File="Content/Characters/Mantis/MANTIS_attack1.ogg" State="Attack" Range="2000" Volume="1" />
  <sound File="Content/Characters/Mantis/MANTIS_attack2.ogg" State="Attack" Range="2000" Volume="1" />
  <sound File="Content/Characters/Mantis/MANTIS_attack3.ogg" State="Attack" Range="2000" Volume="1" />
  <sound File="Content/Characters/Mantis/MANTIS_death1.ogg" State="Die" Range="2000" Volume="1" />
  <sound File="Content/Characters/Mantis/MANTIS_death2.ogg" State="Die" Range="2000" Volume="1" />  
  <Inventory Slots="Any, Any, Any, Any" AccessibleWhenAlive="False" Commonness="1">
    <Item Identifier="swimbladder" />
    <Item Identifier="paralyxis" />
  </Inventory>
  <Inventory Slots="Any, Any, Any, Any" AccessibleWhenAlive="False" Commonness="1">
    <Item Identifier="swimbladder" />
  </Inventory>
  <ai CombatStrength="250" Sight="1.5" Hearing="1" MaxPerceptionDistance="-1" AggressionHurt="100" AggressionGreed="10" FleeHealthThreshold="20" AttackWhenProvoked="True" AvoidGunfire="False" DamageThreshold="0" AvoidTime="3" MinFleeTime="20" AggressiveBoarding="True" EnforceAggressiveBehaviorForMissions="True" TargetOuterWalls="True" RandomAttack="False" CanOpenDoors="False" UsePathFindingToGetInside="False" KeepDoorsClosed="False" AvoidAbyss="True" StayInAbyss="False" PatrolFlooded="False" PatrolDry="False" StartAggression="0" MaxAggression="100" AggressionCumulation="0" WallTargetingMethod="Target">
    <latchonto AttachToWalls="true" AttachLimbRotation="180" LocalAttachPos="0,-20" CoolDown="30" FreezeWhenLatched="true" />
    <!-- most targets are ignored entirely when latched -->
    <targetpriority Tag="decoy" State="Attack" Priority="600" ReactDistance="0" AttackDistance="0" Timer="0" IgnoreContained="False" IgnoreInside="False" IgnoreOutside="False" IgnoreIfNotInSameSub="False" IgnoreIncapacitated="False" Threshold="0" ThresholdMin="-1" ThresholdMax="-1" PerceptionDistanceMultiplier="1" MaxPerceptionDistance="-1" Offset="0,0" AttackPattern="Straight" PrioritizeSubCenter="False" SweepDistance="0" SweepStrength="10" SweepSpeed="1" CircleStartDistance="5000" IgnoreTargetSize="False" CircleRotationSpeed="1" DynamicCircleRotationSpeed="False" CircleRandomRotationFactor="0" CircleStrikeDistanceMultiplier="5" CircleMaxRandomOffset="0" />
    <targetpriority Tag="stronger" State="Avoid" Priority="100" ReactDistance="0" AttackDistance="0" Timer="0" IgnoreContained="False" IgnoreInside="False" IgnoreOutside="False" IgnoreIfNotInSameSub="False" IgnoreIncapacitated="False" Threshold="0" ThresholdMin="-1" ThresholdMax="-1" PerceptionDistanceMultiplier="1" MaxPerceptionDistance="-1" Offset="0,0" AttackPattern="Straight" PrioritizeSubCenter="False" SweepDistance="0" SweepStrength="10" SweepSpeed="1" CircleStartDistance="5000" IgnoreTargetSize="False" CircleRotationSpeed="1" DynamicCircleRotationSpeed="False" CircleRandomRotationFactor="0" CircleStrikeDistanceMultiplier="5" CircleMaxRandomOffset="0">
      <Conditional IsLatched="false" />
    </targetpriority>
    <target tag="provocative" state="Attack" priority="100" ignoreifnotinsamesub="True">
      <Conditional IsLatched="false" />
    </target>
    <targetpriority Tag="dead" State="Eat" Priority="90" ReactDistance="0" AttackDistance="0" Timer="0" IgnoreContained="False" IgnoreInside="False" IgnoreOutside="False" IgnoreIfNotInSameSub="False" IgnoreIncapacitated="False" Threshold="0" ThresholdMin="-1" ThresholdMax="-1" PerceptionDistanceMultiplier="1" MaxPerceptionDistance="-1" Offset="0,0" AttackPattern="Straight" PrioritizeSubCenter="False" SweepDistance="0" SweepStrength="10" SweepSpeed="1" CircleStartDistance="5000" IgnoreTargetSize="False" CircleRotationSpeed="1" DynamicCircleRotationSpeed="False" CircleRandomRotationFactor="0" CircleStrikeDistanceMultiplier="5" CircleMaxRandomOffset="0">
      <Conditional IsLatched="false" />
    </targetpriority>
    <targetpriority Tag="human" State="Attack" Priority="80" ReactDistance="0" AttackDistance="0" Timer="0" IgnoreContained="False" IgnoreInside="False" IgnoreOutside="False" IgnoreIfNotInSameSub="False" IgnoreIncapacitated="False" Threshold="0" ThresholdMin="-1" ThresholdMax="-1" PerceptionDistanceMultiplier="1" MaxPerceptionDistance="-1" Offset="0,0" AttackPattern="Straight" PrioritizeSubCenter="False" SweepDistance="0" SweepStrength="10" SweepSpeed="1" CircleStartDistance="5000" IgnoreTargetSize="False" CircleRotationSpeed="1" DynamicCircleRotationSpeed="False" CircleRandomRotationFactor="0" CircleStrikeDistanceMultiplier="5" CircleMaxRandomOffset="0"></targetpriority>
    <targetpriority Tag="door" State="Attack" Priority="65" ReactDistance="0" AttackDistance="0" Timer="0" IgnoreContained="False" IgnoreInside="False" IgnoreOutside="False" IgnoreIfNotInSameSub="False" IgnoreIncapacitated="False" Threshold="0" ThresholdMin="-1" ThresholdMax="-1" PerceptionDistanceMultiplier="1" MaxPerceptionDistance="-1" Offset="0,0" AttackPattern="Straight" PrioritizeSubCenter="False" SweepDistance="0" SweepStrength="10" SweepSpeed="1" CircleStartDistance="5000" IgnoreTargetSize="False" CircleRotationSpeed="1" DynamicCircleRotationSpeed="False" CircleRandomRotationFactor="0" CircleStrikeDistanceMultiplier="5" CircleMaxRandomOffset="0" />
    <targetpriority Tag="sonar" State="Attack" Priority="50" ReactDistance="0" AttackDistance="0" Timer="0" IgnoreContained="False" IgnoreInside="False" IgnoreOutside="False" IgnoreIfNotInSameSub="False" IgnoreIncapacitated="False" Threshold="0" ThresholdMin="-1" ThresholdMax="-1" PerceptionDistanceMultiplier="1" MaxPerceptionDistance="-1" Offset="0,0" AttackPattern="Straight" PrioritizeSubCenter="False" SweepDistance="0" SweepStrength="10" SweepSpeed="1" CircleStartDistance="5000" IgnoreTargetSize="False" CircleRotationSpeed="1" DynamicCircleRotationSpeed="False" CircleRandomRotationFactor="0" CircleStrikeDistanceMultiplier="5" CircleMaxRandomOffset="0">
      <Conditional IsLatched="false" />
    </targetpriority>
    <targetpriority Tag="room" State="Attack" Priority="50" ReactDistance="0" AttackDistance="0" Timer="0" IgnoreContained="False" IgnoreInside="False" IgnoreOutside="False" IgnoreIfNotInSameSub="False" IgnoreIncapacitated="False" Threshold="0" ThresholdMin="-1" ThresholdMax="-1" PerceptionDistanceMultiplier="1" MaxPerceptionDistance="-1" Offset="0,0" AttackPattern="Straight" PrioritizeSubCenter="False" SweepDistance="0" SweepStrength="10" SweepSpeed="1" CircleStartDistance="5000" IgnoreTargetSize="False" CircleRotationSpeed="1" DynamicCircleRotationSpeed="False" CircleRandomRotationFactor="0" CircleStrikeDistanceMultiplier="5" CircleMaxRandomOffset="0">
      <Conditional IsLatched="false" />
    </targetpriority>
    <targetpriority Tag="nasonov" State="Attack" Priority="50" ReactDistance="0" AttackDistance="0" Timer="0" IgnoreContained="False" IgnoreInside="False" IgnoreOutside="False" IgnoreIfNotInSameSub="False" IgnoreIncapacitated="False" Threshold="0" ThresholdMin="-1" ThresholdMax="-1" PerceptionDistanceMultiplier="1" MaxPerceptionDistance="-1" Offset="0,0" AttackPattern="Straight" PrioritizeSubCenter="False" SweepDistance="0" SweepStrength="10" SweepSpeed="1" CircleStartDistance="5000" IgnoreTargetSize="False" CircleRotationSpeed="1" DynamicCircleRotationSpeed="False" CircleRandomRotationFactor="0" CircleStrikeDistanceMultiplier="5" CircleMaxRandomOffset="0">
      <Conditional IsLatched="false" />
    </targetpriority>
  </ai>
  <StatusEffect type="OnSpawn" target="this" duration="30">
    <!-- temporary concealment during spawn to give the mantis time to hide from monsters spawning nearby -->
    <Affliction identifier="concealed" strength="10" />
  </StatusEffect>
  <!-- Can only perceive targets from 500 units away when concealed (= only attacks when something gets very close) -->
  <StatusEffect type="OnActive" target="this" MaxPerceptionDistance="500" setvalue="true">
    <Conditional IsLatched="true" />
    <!-- makes the character change color and activates the "camouflage parts" -->
    <Affliction identifier="mantiscamouflage" strength="10" />
    <!-- makes other monsters not notice the character -->
    <Affliction identifier="concealed" strength="10" />
    <ReduceAffliction type="damage" strength="0.02" />
  </StatusEffect>
  <!-- Disable MaxPerceptionDistance when not latched (can see/hear and react to things normally) -->
  <StatusEffect type="OnActive" target="this" MaxPerceptionDistance="-1" interval="1" setvalue="true" ConditionalComparison="And" SoundSelectionMode="All">
    <Conditional IsLatched="false" />
    <Conditional MaxPerceptionDistance="gt 0" />
    <particleemitter particle="mantiscamouflagechunks" particleamount="15" velocitymin="100" velocitymax="1000" anglemin="0" anglemax="360" distancemin="0" distancemax="100" />
    <Sound file="Content/Sounds/Damage/Gore6.ogg" volume="2" range="1000" />
    <Sound file="Content/Sounds/Damage/ArmorBreak2.ogg" volume="2" range="1000" ignoremuffling="true" />
    <Sound file="Content/Characters/Mantis/MANTIS_attack3.ogg" volume="2" range="2000" ignoremuffling="true" />
  </StatusEffect>
</Character>