A mod that overhauls the Covert Actions system to bring back the Infiltration mechanic from Long War 2.
This mod will later become the foundation of a much larger transformational Strategy Overhaul
In order to build this mod, make sure that you clone the repository with submodules and our custom build script will properly setup all dependencies. There is also VSCode integration if you want to use that.
Warning: When you switch between debug/release script modes, the compile will fail first time. Just build again
In order to run this mod, the following are needed (in addition to this mod):
When contributing please use the Community Highlander code style:
The following code should illustrate all of this:
static function CompleteStrategyFromTacticalTransfer()
{
local XComOnlineEventMgr EventManager;
local array<X2DownloadableContentInfo> DLCInfos;
local int i;
UpdateSkyranger();
CleanupProxyVips();
ProcessMissionResults();
SquadTacticalToStrategyTransfer();
EventManager = `ONLINEEVENTMGR;
DLCInfos = EventManager.GetDLCInfos(false);
for (i = 0; i < DLCInfos.Length; ++i)
{
DLCInfos[i].OnPostMission();
}
}
Please aim for you code to be easily readable - it should clearly convey its purpose/intend/what it is doing. As such please use appropriate tools - comments, spacing/empty lines, specific variable/function/class names, etc.
** Use custom log macros - CI_Log
, CI_Warn
and CI_Trace
. Any PR that uses ScriptLog
(eg. log("Something")
) will not be merged
Please keep the following guidelines in mind:
CI
to class name (eg. MCO), please append it. Eg. SomeClass
-> SomeClass_CI
XComGameState_BaseObject
(even if not directly), it needs to be named XComGameState_*
UIScreenListener
(even if not directly), it needs to be named UIListener_*
UI*
X2EventListener_Infiltration
and X2EventListener_Infiltration_UI
, not other classesX2DataSet
, it needs to be named in same manner as base game classes that create same templatesYou will find some places which do not follow these guidelines - they are generally remnants of project's early days. We hope to fix them at some point, but it's not a priority. If you have any questions, please ask them in discord chat