All Projects → WOTCStrategyOverhaul → CovertInfiltration

WOTCStrategyOverhaul / CovertInfiltration

Licence: MIT License
A mod that overhauls the Covert Actions system to bring back the Infiltration mechanic from Long War 2

Programming Languages

UnrealScript
20 projects
powershell
5483 projects
C#
18002 projects

CovertInfiltration

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

Building and running

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):

Contributing

When contributing please use the Community Highlander code style:

  • use tabs
  • use new lines for braces
  • use appropriate spacing
  • use braces even for one-line if/else bodies

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

Naming files/classes

Please keep the following guidelines in mind:

  • Try to keep to same naming style as X2 codebase
  • If you need to add CI to class name (eg. MCO), please append it. Eg. SomeClass -> SomeClass_CI
  • If your class derives from XComGameState_BaseObject (even if not directly), it needs to be named XComGameState_*
  • If your class derives from UIScreenListener (even if not directly), it needs to be named UIListener_*
  • If your class is an UI element (screen, panel or some auxiliary class), it needs to be named UI*
  • Event listeners templates should go inside X2EventListener_Infiltration and X2EventListener_Infiltration_UI, not other classes
  • If your class derives from some class that derives from X2DataSet, it needs to be named in same manner as base game classes that create same templates

You 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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].