Files
BarotraumaModServer/LocalMods/Barotraumatic/Characters/Watcherelite/Watcherelite.xml

161 lines
18 KiBLFS
XML
Executable File

<?xml version="1.0" encoding="utf-8"?>
<Character SpeciesName="Watcherelite" Tags="" SpeciesTranslationOverride="" DisplayName="" Group="watcheroid" Humanoid="False" HasInfo="False" CanInteract="False" CanClimb="False" ForceSlowClimbing="False" Husk="False" HuskedSpecies="" NonHuskedSpecies="" UseHuskAppendage="False" NeedsAir="False" NeedsWater="False" UseHumanAI="False" IsMachine="False" CanSpeak="False" ShowHealthBar="False" UseBossHealthBar="False" Noise="100" Visibility="100" BloodDecal="blood" BleedParticleAir="blooddrop" BleedParticleWater="waterblood" BleedParticleMultiplier="1" CanEat="False" EatingSpeed="10" UsePathFinding="True" PathFinderPriority="1" HideInSonar="False" HideInThermalGoggles="False" SonarDisruption="0" DistantSonarRange="0" DisableDistance="50000" SoundInterval="10" DrawLast="False" AITurretPriority="1" AISlowTurretPriority="1" DespawnContainer="" MusicType="monster" MusicCommonness="1" MusicRangeMultiplier="1" UnlockKillAchievementForWholeCrew="False">
<ragdolls folder="default" />
<animations folder="default" />
<sound gender="None" File="Content/Characters/Watcher/WATCHER_takeDamage1.ogg" State="Damage" Range="10000" Volume="1" Tags="" />
<sound gender="None" File="Content/Characters/Watcher/WATCHER_takeDamage2.ogg" State="Damage" Range="10000" Volume="1" Tags="" />
<sound gender="None" File="Content/Characters/Watcher/WATCHER_takeDamage3.ogg" State="Damage" Range="10000" Volume="1" Tags="" />
<sound gender="None" File="Content/Characters/Watcher/WATCHER_takeDamage4.ogg" State="Damage" Range="10000" Volume="1" Tags="" />
<sound gender="None" dontmuffle="true" File="Content/Characters/Watcher/WATCHER_death1.ogg" State="Die" Range="10000" Volume="1" Tags="" />
<sound gender="None" dontmuffle="true" File="Content/Characters/Watcher/WATCHER_death2.ogg" State="Die" Range="10000" Volume="1" Tags="" />
<damageemitter Particle="gib" AngleMin="0" AngleMax="360" ScaleMin="0.2" ScaleMax="0.4" VelocityMin="200" VelocityMax="300" EmitInterval="0" ParticlesPerSecond="0" ParticleAmount="10" HighQualityCollisionDetection="False" CopyEntityAngle="False" />
<bloodemitter Particle="blood" AngleMin="0" AngleMax="0" ScaleMin="1" ScaleMax="2" VelocityMin="0" VelocityMax="0" EmitInterval="0" ParticlesPerSecond="0" ParticleAmount="10" HighQualityCollisionDetection="False" CopyEntityAngle="False" />
<bloodemitter Particle="waterblood" AngleMin="0" AngleMax="0" ScaleMin="1" ScaleMax="3" VelocityMin="0" VelocityMax="0" EmitInterval="0" ParticlesPerSecond="0" ParticleAmount="3" HighQualityCollisionDetection="False" CopyEntityAngle="False" />
<health Vitality="1000" DoesBleed="True" CrushDepth="Infinity" UseHealthWindow="False" BleedingReduction="0.05" BurnReduction="0" ConstantHealthRegeneration="0" HealthRegenerationWhenEating="0" StunImmunity="True" PoisonImmunity="False" PoisonVulnerability="1" EmpVulnerability="0" ApplyMovementPenalties="True" DieFromBeheading="False" AllowSeveringLegs="False" ApplyAfflictionColors="False" Immunities="">
<Limb>
<VitalityMultiplier identifier="acidburn" multiplier="0" />
<VitalityMultiplier identifier="watchersgaze" multiplier="0" />
<VitalityMultiplier identifier="psychosis" multiplier="0" />
</Limb>
<!-- <Limb name="Torso">
<VitalityMultiplier identifier="acidburn" multiplier="0" />
<VitalityMultiplier identifier="watchersgaze" multiplier="0" />
<VitalityMultiplier identifier="psychosis" multiplier="0" />
</Limb>
<Limb name="RightArm">
<VitalityMultiplier identifier="acidburn" multiplier="0" />
<VitalityMultiplier identifier="watchersgaze" multiplier="0" />
<VitalityMultiplier identifier="psychosis" multiplier="0" />
</Limb>
<Limb name="RightLeg">
<VitalityMultiplier identifier="acidburn" multiplier="0" />
<VitalityMultiplier identifier="watchersgaze" multiplier="0" />
<VitalityMultiplier identifier="psychosis" multiplier="0" />
</Limb>
<Limb name="LeftArm">
<VitalityMultiplier identifier="acidburn" multiplier="0" />
<VitalityMultiplier identifier="watchersgaze" multiplier="0" />
<VitalityMultiplier identifier="psychosis" multiplier="0" />
</Limb>
<Limb name="Jaw">
<VitalityMultiplier identifier="acidburn" multiplier="0" />
<VitalityMultiplier identifier="watchersgaze" multiplier="0" />
<VitalityMultiplier identifier="psychosis" multiplier="0" />
</Limb>
<Limb>
<VitalityMultiplier identifier="acidburn" multiplier="0" />
<VitalityMultiplier identifier="watchersgaze" multiplier="0" />
<VitalityMultiplier identifier="psychosis" multiplier="0" />
</Limb> -->
</health>
<Inventory Slots="Any, Any, Any, Any, Any" AccessibleWhenAlive="False" Commonness="10">
<Item Identifier="watcherspike" />
<Item amount="3" Identifier="sulphuricacid" />
<Item Identifier="adrenaline" />
<Item Identifier="watchergel" />
<Item Identifier="watchershell" />
</Inventory>
<Inventory Slots="Any, Any, Any, Any, Any" AccessibleWhenAlive="False" Commonness="5">
<Item amount="2" Identifier="watcherspike" />
<Item amount="3" Identifier="sulphuricacid" />
<Item Identifier="adrenaline" />
<Item Identifier="watchergel" />
<Item Identifier="watchershell" />
</Inventory>
<Inventory Slots="Any, Any, Any, Any, Any" AccessibleWhenAlive="False" Commonness="5">
<Item amount="2" Identifier="watcherspike" />
<Item amount="3" Identifier="sulphuricacid" />
<Item Identifier="adrenaline" />
<Item Identifier="watchergel" />
</Inventory>
<Inventory Slots="Any, Any, Any, Any, Any" AccessibleWhenAlive="False" Commonness="1">
<Item amount="2" Identifier="watcherspike" />
<Item amount="3" Identifier="sulphuricacid" />
<Item Identifier="watchergel" />
<Item Identifier="watchercornea" />
</Inventory>
<Inventory Slots="Any, Any, Any, Any, Any" AccessibleWhenAlive="False" Commonness="4">
<Item Identifier="watchercornea" />
<Item amount="3" Identifier="sulphuricacid" />
<Item Identifier="adrenaline" />
<Item Identifier="watchergel" />
</Inventory>
<ai CombatStrength="760" Sight="5" Hearing="0" MaxPerceptionDistance="-1" AggressionHurt="100" AggressionGreed="0" FleeHealthThreshold="10" AttackWhenProvoked="True" AvoidGunfire="True" DamageThreshold="70" AvoidTime="5" MinFleeTime="45" AggressiveBoarding="False" EnforceAggressiveBehaviorForMissions="True" TargetOuterWalls="True" RandomAttack="True" CanOpenDoors="False" UsePathFindingToGetInside="False" KeepDoorsClosed="False" AvoidAbyss="False" StayInAbyss="False" PatrolFlooded="False" PatrolDry="False" StartAggression="0" MaxAggression="100" AggressionCumulation="0" WallTargetingMethod="Target" PlayDeadProbability="0">
<target Tag="weapon" State="Avoid" Priority="150" ReactDistance="1500" AttackDistance="0" Timer="0" IgnoreContained="False" IgnoreInside="False" IgnoreOutside="False" IgnoreTargetInside="False" IgnoreTargetOutside="False" IgnoreIfNotInSameSub="True" 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" />
<target Tag="decoy" State="Observe" Priority="100" ReactDistance="0" AttackDistance="1000" Timer="20" IgnoreContained="False" IgnoreInside="False" IgnoreOutside="False" IgnoreTargetInside="False" IgnoreTargetOutside="False" IgnoreIfNotInSameSub="True" 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" />
<target Tag="provocative" State="PassiveAggressive" Priority="100" ReactDistance="0" AttackDistance="1000" Timer="20" IgnoreContained="False" IgnoreInside="False" IgnoreOutside="False" IgnoreTargetInside="False" IgnoreTargetOutside="False" IgnoreIfNotInSameSub="True" 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" />
<target Tag="light" State="Observe" Priority="100" ReactDistance="0" AttackDistance="1000" Timer="20" IgnoreContained="False" IgnoreInside="False" IgnoreOutside="False" IgnoreTargetInside="False" IgnoreTargetOutside="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" />
<target Tag="human" State="Observe" Priority="50" ReactDistance="0" AttackDistance="1000" Timer="20" IgnoreContained="False" IgnoreInside="False" IgnoreOutside="False" IgnoreTargetInside="False" IgnoreTargetOutside="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" />
<target Tag="weaker" State="Observe" Priority="50" ReactDistance="0" AttackDistance="1000" Timer="20" IgnoreContained="False" IgnoreInside="False" IgnoreOutside="False" IgnoreTargetInside="False" IgnoreTargetOutside="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" />
<target Tag="stronger" State="Observe" Priority="20" ReactDistance="1000" AttackDistance="0" Timer="0" IgnoreContained="False" IgnoreInside="False" IgnoreOutside="False" IgnoreTargetInside="False" IgnoreTargetOutside="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" />
<target Tag="wall" State="PassiveAggressive" Priority="200" ReactDistance="0" AttackDistance="1500" Timer="10" IgnoreContained="False" IgnoreInside="False" IgnoreOutside="False" IgnoreTargetInside="False" IgnoreTargetOutside="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" />
<!-- <latchonto attachtocharacters="false" attachtosub="true" attachtowalls="true" mindeattachspeed="2.0" maxdeattachspeed="4.0" damageondetach="5" detachstun="5.0" attachlimb="Jaw" localattachpos="0,0" offset="0" attachlimbrotation="0" weld="true" maxattachduration="5" cooldown="20" /> -->
</ai>
<StatusEffect type="OnActive" target="NearbyCharacters" range="5000" targets="human">
<Affliction identifier="watchersgaze" strength="5" />
<Sound file="Content/Characters/Watcher/WATCHER_idleLoop.ogg" loop="true" range="5000" dontmuffle="true" />
</StatusEffect>
<StatusEffect type="OnActive" target="NearbyCharacters" range="1500" targets="human" onlyoutside="true">
<Affliction identifier="watchersgaze" strength="20" />
</StatusEffect>
<!-- optimized effects for monsters: only apply every 1 second, it doesn't matter that the strength fluctuates up and down
(in the case of humans it matters, because the visual effects keep fluctuating) -->
<StatusEffect type="OnActive" target="NearbyCharacters" range="5000" targets="monster" interval="1" disabledeltatime="true">
<Affliction identifier="watchersgaze" strength="5" />
</StatusEffect>
<StatusEffect type="OnActive" target="NearbyCharacters" range="1800" targets="monster" onlyoutside="true" interval="1" disabledeltatime="true">
<Affliction identifier="watchersgaze" strength="20" />
</StatusEffect>
<StatusEffect type="OnDamaged" target="This" checkconditionalways="true" comparison="and" delay="0.4" stackable="false">
<RequiredAffliction type="damage,burn" minstrength="1" />
<Conditional isdead="false" />
<SpawnItem identifier="acidemitter" spawnposition="This" count="3" spread="500" />
<Sound file="Content/Characters/Watcher/WATCHER_burst1.ogg" range="5000" selectionmode="Random" />
<Sound file="Content/Characters/Watcher/WATCHER_burst2.ogg" range="5000" />
<Sound file="Content/Characters/Watcher/WATCHER_burst3.ogg" range="5000" />
<Sound file="Content/Characters/Watcher/WATCHER_burst4.ogg" range="5000" />
<Sound file="Content/Characters/Watcher/WATCHER_burst5.ogg" range="5000" />
<Sound file="Content/Characters/Watcher/WATCHER_burst6.ogg" range="5000" />
<Sound file="Content/Characters/Watcher/WATCHER_burst7.ogg" range="5000" />
<Sound file="Content/Characters/Watcher/WATCHER_burst8.ogg" range="5000" />
</StatusEffect>
<StatusEffect type="OnDamaged" target="This" checkconditionalways="true" comparison="and" delay="0.6" stackable="false">
<RequiredAffliction type="damage,burn" minstrength="1" />
<Conditional isdead="false" />
<SpawnItem identifier="acidemitter" spawnposition="This" count="2" spread="300" />
<Sound file="Content/Characters/Watcher/WATCHER_burst1.ogg" range="5000" selectionmode="Random" />
<Sound file="Content/Characters/Watcher/WATCHER_burst2.ogg" range="5000" />
<Sound file="Content/Characters/Watcher/WATCHER_burst3.ogg" range="5000" />
<Sound file="Content/Characters/Watcher/WATCHER_burst4.ogg" range="5000" />
<Sound file="Content/Characters/Watcher/WATCHER_burst5.ogg" range="5000" />
<Sound file="Content/Characters/Watcher/WATCHER_burst6.ogg" range="5000" />
<Sound file="Content/Characters/Watcher/WATCHER_burst7.ogg" range="5000" />
<Sound file="Content/Characters/Watcher/WATCHER_burst8.ogg" range="5000" />
</StatusEffect>
<StatusEffect type="OnDamaged" target="This" checkconditionalways="true" comparison="and" delay="0.8" stackable="false">
<RequiredAffliction type="damage,burn" minstrength="1" />
<Conditional isdead="false" />
<SpawnItem identifier="acidemitter" spawnposition="This" count="3" spread="400" />
<Sound file="Content/Characters/Watcher/WATCHER_burst1.ogg" range="5000" selectionmode="Random" />
<Sound file="Content/Characters/Watcher/WATCHER_burst2.ogg" range="5000" />
<Sound file="Content/Characters/Watcher/WATCHER_burst3.ogg" range="5000" />
<Sound file="Content/Characters/Watcher/WATCHER_burst4.ogg" range="5000" />
<Sound file="Content/Characters/Watcher/WATCHER_burst5.ogg" range="5000" />
<Sound file="Content/Characters/Watcher/WATCHER_burst6.ogg" range="5000" />
<Sound file="Content/Characters/Watcher/WATCHER_burst7.ogg" range="5000" />
<Sound file="Content/Characters/Watcher/WATCHER_burst8.ogg" range="5000" />
</StatusEffect>
<StatusEffect type="OnDamaged" target="This" checkconditionalways="true" comparison="and" delay="1.0" stackable="false">
<RequiredAffliction type="damage,burn" minstrength="1" />
<Conditional isdead="false" />
<SpawnItem identifier="acidemitter" spawnposition="This" count="1" spread="200" />
<Sound file="Content/Characters/Watcher/WATCHER_burst1.ogg" range="5000" selectionmode="Random" />
<Sound file="Content/Characters/Watcher/WATCHER_burst2.ogg" range="5000" />
<Sound file="Content/Characters/Watcher/WATCHER_burst3.ogg" range="5000" />
<Sound file="Content/Characters/Watcher/WATCHER_burst4.ogg" range="5000" />
<Sound file="Content/Characters/Watcher/WATCHER_burst5.ogg" range="5000" />
<Sound file="Content/Characters/Watcher/WATCHER_burst6.ogg" range="5000" />
<Sound file="Content/Characters/Watcher/WATCHER_burst7.ogg" range="5000" />
<Sound file="Content/Characters/Watcher/WATCHER_burst8.ogg" range="5000" />
</StatusEffect>
</Character>