Bridge Tutorial - WOTCStrategyOverhaul/CovertInfiltration GitHub Wiki

Configuring infiltration values

Prerequisite: before following the instructions here, make sure you read the Prototype Armoury Bridge Tutorial. Besides explaining how to convert items to individual build (which is required for CI), it also explains how to find internal item names, where to put your changes and other important information.

Configuration options

These changes will all be in the XComInfiltration.ini file, under the [CovertInfiltration.X2InfiltrationMod] header.

To start off, we recommend that you check the CI's XComInfiltration.ini file, as that contains the most examples you will find. There, under the [CovertInfiltration.X2InfiltrationMod] header, will be a bunch of blocks of +InfilModifiers=. Each line has several variables/arguments/parameters, so let's break them down:

Variable Function
DataName Internal name of the element that this line is referencing
InfilHoursAdded How many hours this element adds to a Covert Action or Covert Infiltration duration timer
RiskReductionPercent How lessened the risk trigger chance is when this element is in the squad
ModifyType What kind of element it is - item, ability, character, or category. If missing, then the element is assumed to be an item

Items

Add a line for your item, just like in this example:

+InfilModifiers=(DataName="AssaultRifle_CG", InfilHoursAdded=12, RiskReductionPercent=5)

You can look at the other entries in this file for some ideas on how to score these values. Generally, both values go up with heavier equipment, but InfilHoursAdded stays the same throughout tech level while RiskReductionPercent increases with tech level.

Other Elements

Adding stats for non-item gameplay elements is very similar to items, except you add the ModifyType field at the end. Here's a few examples:

+InfilModifiers=(DataName="SPARKSoldier", InfilHoursAdded=30, RiskReductionPercent=15, ModifyType=eIMT_Character)
+InfilModifiers=(DataName="Phantom", InfilHoursAdded=-9, RiskReductionPercent=0, ModifyType=eIMT_Ability)
+InfilModifiers=(DataName="grenade", InfilHoursAdded=0, RiskReductionPercent=2, ModifyType=eIMT_Category)

Custom infiltration risks

Each risk corresponds to a single SitRep. For this guide, we will make LowVisibility (one of the cut WOTC SitReps) into a risk

Note: this guide doesn't cover how to make/configure a SitRep

Step 1

Add entry to XComInfiltration.ini like

[CovertInfiltration.X2Helper_Infiltration]
+FlatRiskSitReps=(FlatRiskName="CovertActionRisk_{SitRep name}", SitRepName="{SitRep name}")

In our example:

[CovertInfiltration.X2Helper_Infiltration]
+FlatRiskSitReps=(FlatRiskName="CovertActionRisk_LowVisibility", SitRepName="LowVisibility")

Step 2

Add entry to XComGameBoard.ini to configure the chances

[CovertActionRisk_{SitRep name} X2CovertActionRiskTemplate]
+MinChanceToOccur=25
+MaxChanceToOccur=75

In our example:

[CovertActionRisk0_LowVisibility X2CovertActionRiskTemplate]
+MinChanceToOccur=25
+MaxChanceToOccur=75

Step 3

Add localized display name for the risk. It goes inside XComGame package (XComGame.int for English)

[CovertActionRisk_{SitRep name} X2CovertActionRiskTemplate]
RiskName="[Human readable name for the risks UI]"

In our example:

[CovertActionRisk_LowVisibility X2CovertActionRiskTemplate]
RiskName="Low Visibility"

Done

The risk will now be added to the standard rotation, just like CI's own risks are. If the associated SitRep has a force level restriction, it will also be accounted for when rolling the risks

Also, note that the risks pool is used to pick the negative SitRep for the assault mission

Custom infiltration bonuses

TODO

Mission mods

XP scaling system

TODO