Skip to content

Bot Spawn

JTurp edited this page Jan 19, 2024 · 13 revisions

Bot Spawn Profiles in Modular Encounters Systems allow you to specify a set of rules for how a bot is configured before it is spawned by the AiEnabled mod.

Here's an example of how a Bot Spawn Profile Definition is setup:

<?xml version="1.0"?>
<Definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <EntityComponents>

    <EntityComponent xsi:type="MyObjectBuilder_InventoryComponentDefinition">
      <Id>
          <TypeId>Inventory</TypeId>
          <SubtypeId>MES-ExampleBotSpawnProfile</SubtypeId>
      </Id>
      <Description>

      [MES Bot Spawn]
      
      [BotType:Police_Bot]
      [BotDisplayName:Combat Bot]
      
      </Description>
      
    </EntityComponent>

  </EntityComponents>
</Definitions>

Below are all of the eligible tags you can use in your Bot Spawn Profiles:

Tag:                                BotType
Tag Format: [BotType:Value]
Description: This tag specifies the type of bot that will be spawned.
Allowed Values: Any Bot Character SubtypeId
Multiple Tag Allowed: No
Tag:                                BotBehavior
Tag Format: [BotBehavior:Value]
Description: This tag specifies the behavior that the spawned bot will use. If this tag is not defined, then it will use the default behavior that AiEnabled would use when spawning a bot of the selected type.
Allowed Values: Any AiEnabled Behavior Role
Multiple Tag Allowed: No
Tag:                                BotDisplayName
Tag Format: [BotDisplayName:Value]
Description: This tag specifies the Display Name of the spawned bot.
Allowed Values: Any Name
Multiple Tag Allowed: No
Tag:                                Color
Tag Format: [Color:Value]
Description: Specifies the Color (RGB 0-255) of the spawned bot character.
Allowed Values: Any Vector3 Value using this format
{X:0 Y:0 Z:0}
Multiple Tag Allowed: No
Tag:                                CanUseAirNodes
Tag Format: [CanUseAirNodes:Value]
Description: This tag allows you to specify if the bot is able to use Air Nodes (ie Jetpack).
Allowed Value(s): true
false
Default Value(s): false
Multiple Tags Allowed: No
Tag:                                CanUseSpaceNodes
Tag Format: [CanUseSpaceNodes:Value]
Description: This tag allows you to specify if the bot is able to use Space Nodes (ie Jetpack).
Allowed Value(s): true
false
Default Value(s): false
Multiple Tags Allowed: No
Tag:                                UseGroundNodesFirst
Tag Format: [UseGroundNodesFirst:Value]
Description: This tag allows you to specify if the bot should try to use ground nodes before using air / space nodes.
Allowed Value(s): true
false
Default Value(s): false
Multiple Tags Allowed: No
Tag:                                CanUseWaterNodes
Tag Format: [CanUseWaterNodes:Value]
Description: This tag allows you to specify if the bot is able to use water nodes (ie underwater via Water Mod)
Allowed Value(s): true
false
Default Value(s): false
Multiple Tags Allowed: No
Tag:                                WaterNodesOnly
Tag Format: [WaterNodesOnly:Value]
Description: This tag allows you to specify if the bot should only use water nodes (ie underwater only bot)
Allowed Value(s): true
false
Default Value(s): false
Multiple Tags Allowed: No
Tag:                                CanUseLadders
Tag Format: [CanUseLadders:Value]
Description: This tag allows you to specify if the bot is able to climb ladders
Allowed Value(s): true
false
Default Value(s): false
Multiple Tags Allowed: No
Tag:                                CanUseSeats
Tag Format: [CanUseSeats:Value]
Description: This tag allows you to specify if the bot is able to sit on seating blocks
Allowed Value(s): true
false
Default Value(s): false
Multiple Tags Allowed: No
Tag:                                DespawnTicks
Tag Format: [DespawnTicks:Value]
Description: This tag allows you to specify if the bot should despawn after a set number of game ticks. If value is 0, then no timer is used.
Allowed Value(s): Any Integer Greater/Equal To 0
Default Value(s): 0
Multiple Tags Allowed: No
Tag:                                DeathSound
Tag Format: [DeathSound:Value]
Description: This tag allows you to specify a custom sound effect that is used when the bot dies.
Allowed Value(s): Any Audio SubtypeId
Default Value(s): N/A
Multiple Tags Allowed: No
Tag:                                AttackSounds
Tag Format: [AttackSounds:Value]
Description: This tag allows you to specify one or more custom sound effects that are used when the bot attacks.
Allowed Value(s): Any Audio SubtypeId
Default Value(s): N/A
Multiple Tags Allowed: Yes
Tag:                                PainSounds
Tag Format: [PainSounds:Value]
Description: This tag allows you to specify one or more custom sound effects that are used when the bot takes damage.
Allowed Value(s): Any Audio SubtypeId
Default Value(s): N/A
Multiple Tags Allowed: Yes
Tag:                                IdleSounds
Tag Format: [IdleSounds:Value]
Description: This tag allows you to specify one or more custom sound effects that are used when the bot is idle.
Allowed Value(s): Any Audio SubtypeId
Default Value(s): N/A
Multiple Tags Allowed: Yes
Tag:                                TauntSounds
Tag Format: [TauntSounds:Value]
Description: This tag allows you to specify one or more custom sound effects that are used when the bot is chasing a target.
Allowed Value(s): Any Audio SubtypeId
Default Value(s): N/A
Multiple Tags Allowed: Yes
Tag:                                EmoteActions
Tag Format: [EmoteActions:Value]
Description: This tag allows you to specify one or more emote that are used by nomad bots randomly.
Allowed Value(s): Any Emote SubtypeId
Default Value(s): N/A
Multiple Tags Allowed: Yes
Tag:                                ShotDeviationAngle
Tag Format: [ShotDeviationAngle:Value]
Description: This tag allows you to specify the angle of deviation that is applied to gunfire from this bot.
Allowed Value(s): Any Number Greater/Equal To `0'
Default Value(s): 1.5
Multiple Tags Allowed: No
Tag:                                LeadTargets
Tag Format: [LeadTargets:Value]
Description: This tag allows you to specify if bots should try to lead their target while shooting at them.
Allowed Value(s): true
false
Default Value(s): false
Multiple Tags Allowed: No
Tag:                                ToolSubtypeId
Tag Format: [ToolSubtypeId:Value]
Description: This tag allows you to specify a custom tool/weapon for the bot to use.
Allowed Value(s): Any Vanilla Tool SubtypeId
Default Value(s): N/A
Multiple Tags Allowed: No
Tag:                                TargetPriorities
Tag Format: [TargetPriorities:Value]
Description: This tag allows you to specify one or more target priorities that the bot will use when attacking.
Allowed Value(s): IMyCharacter, IMyUserControllableGun, IMyShipController, IMyPowerProducer, IMyThrust, IMyGyro, IMyProductionBlock, IMyDoor, IMyProgrammableBlock, IMyProjector, IMyConveyor, IMyCargoContainer, IMyFunctionalBlock, IMyTerminalBlock, IMyCubeBlock, IMySlimBlock
Default Value(s): IMyCharacter, IMyUserControllableGun, IMyShipController, IMyPowerProducer, IMyThrust, IMyGyro, IMyProductionBlock, IMyDoor, IMyProgrammableBlock, IMyProjector, IMyConveyor, IMyCargoContainer, IMyFunctionalBlock, IMyTerminalBlock, IMyCubeBlock, IMySlimBlock
Multiple Tags Allowed: Yes
Tag:                                RepairPriorities
Tag Format: [RepairPriorities:Value]
Description: This tag allows you to specify one or more repair priorities that the bot will use when repairing.
Allowed Value(s): IMyUserControllableGun, IMyShipController, IMyPowerProducer, IMyThrust, IMyGyro, IMyProductionBlock, IMyDoor, IMyProgrammableBlock, IMyProjector, IMyConveyor, IMyCargoContainer, IMyFunctionalBlock, IMyTerminalBlock, IMyCubeBlock, IMySlimBlock
Default Value(s): IMyUserControllableGun, IMyShipController, IMyPowerProducer, IMyThrust, IMyGyro, IMyProductionBlock, IMyDoor, IMyProgrammableBlock, IMyProjector, IMyConveyor, IMyCargoContainer, IMyFunctionalBlock, IMyTerminalBlock, IMyCubeBlock, IMySlimBlock
Multiple Tags Allowed: Yes

Clone this wiki locally