Command Profiles in RivalAI allow you to specify a group of data that is broadcast from one encounter and then received by other encounters within antenna range (or outside, if you choose).
It is important that you use a unique SubtypeId for each Command Profile you create, otherwise they may not work correctly.
Here's an example of how a Command 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>RAI-ExampleCommandProfile</SubtypeId>
</Id>
<Description>
[RivalAI Command]
[CommandCode:TestCode]
</Description>
</EntityComponent>
</EntityComponents>
</Definitions>
Below are the tags you are able to use in your Command Profiles.
Tag: |
CommandCode |
Tag Format: |
[CommandCode:Value] |
Description: |
This tag specifies the code that is broadcasted with the command. Other NPCs must have Trigger Profiles matching this code to be able to receive and process it. |
Allowed Values: |
Any String Value |
Multiple Tag Allowed: |
No |
Tag: |
CommandDelayTicks |
Tag Format: |
[CommandDelayTicks:Value] |
Description: |
This tag specifies if there should be a delay before the command code is sent out from the originating NPC. Delay value is in game ticks (60 ticks = 1 second) |
Allowed Values: |
Any Integer Value |
Multiple Tag Allowed: |
No |
Tag: |
SingleRecipient |
Tag Format: |
[SingleRecipient:Value] |
Description: |
This tag specifies if the command should only process on the first receiver that is able to successfully process Actions after receiving it. |
Allowed Values: |
true
false
|
Multiple Tag Allowed: |
No |
Tag: |
MatchSenderReceiverOwners |
Tag Format: |
[MatchSenderReceiverOwners:Value] |
Description: |
This tag specifies if the command should only be processed on grids that match the owner of the command sender. |
Allowed Values: |
true
false
|
Multiple Tag Allowed: |
No |
Tag: |
IgnoreAntennaRequirement |
Tag Format: |
[IgnoreAntennaRequirement:Value] |
Description: |
This tag specifies if the command should ignore the antenna requirement to send to other encounters. Because no antenna is used, you must also provide a value to the Radius tag as well. |
Allowed Values: |
true
false
|
Multiple Tag Allowed: |
No |
Tag: |
IgnoreReceiverAntennaRequirement |
Tag Format: |
[IgnoreReceiverAntennaRequirement:Value] |
Description: |
This tag specifies if the command should be able to reach other grids that may not have an active antenna to receive the code with. |
Allowed Values: |
true
false
|
Multiple Tag Allowed: |
No |
Tag: |
Radius |
Tag Format: |
[Radius:Value] |
Description: |
This tag specifies the Radius from the sender that other encounters will receive the command if IgnoreAntennaRequirement is true. |
Allowed Values: |
Any Number Greater Than 0
|
Multiple Tag Allowed: |
No |
Tag: |
MaxRadius |
Tag Format: |
[MaxRadius:Value] |
Description: |
This tag specifies the Maximum Radius from the sender that other encounters will receive the command, even if they are within antenna range of the sender. |
Allowed Values: |
Any Number Greater Than 0
|
Multiple Tag Allowed: |
No |
Tag: |
SendTargetEntityId |
Tag Format: |
[SendTargetEntityId:Value] |
Description: |
This tag specifies if the ID of the sender's current target should be sent with the command. |
Allowed Values: |
true
false
|
Multiple Tag Allowed: |
No |
Tag: |
SendDamagerEntityId |
Tag Format: |
[SendDamagerEntityId:Value] |
Description: |
This tag specifies if the ID of the last entity that damaged the sender should be sent with the command. |
Allowed Values: |
true
false
|
Multiple Tag Allowed: |
No |
Tag: |
SendWaypoint |
Tag Format: |
[SendWaypoint:Value] |
Description: |
This tag specifies if a waypoint profile should be generated and sent along with this command. |
Allowed Values: |
true
false
|
Multiple Tag Allowed: |
No |
Tag: |
Waypoint |
Tag Format: |
[Waypoint:Value] |
Description: |
This tag specifies the SubtypeId of a Waypoint Profile that you want to generate and include with your command when using SendWaypoint . |
Allowed Values: |
Any Waypoint Profile SubtypeId |
Multiple Tag Allowed: |
No |
Tag: |
SendGridValue |
Tag Format: |
[SendGridValue:Value] |
Description: |
This tag specifies if the Grid Value (aka Threat Score) of the broadcasting NPC should be sent with the command. |
Allowed Values: |
true
false
|
Multiple Tag Allowed: |
No |