Jump to content
BreathX

Increased Factions on Campaign Game Mode

Recommended Posts

Myself, along with a few others have been trying to figure out the best way to increase the amount of factions in the Campaign game mode, instead of it being limited (such as in the image below), to the typical BLUFOR, OPFOR and INDFOR factions.

 

image.png?ex=66496add&is=6648195d&hm=c82As seen here, there is only a maximum of three units, BLUFOR, OPFOR and then the last being INDFOR, which is mainly used for AI. 

 

Now, we done some investigating, trying to figure out ways around this, one idea we had was to simply duplicate all of the scripts used to make the Campaign function, but this would involve amending many files and adjusting class names. Another workaround we had was to just create a new Scenario using the ScenarioFramework but how hard would it be to build up a lot of the functionality found in Campaign into another scenario. 

We done some more digging on the script side of the Campaign and discovered we could just use the modded keyword (as seen below) but we ran into many issues, furthermore, it becomes difficult having to do this for so many files whilst making sure that everything is working together correctly. 

modded class SCR_GameModeCampaign : SCR_BaseGameMode
{
    [Attribute("Insert value 1", category: "Campaign")]
    protected FactionKey m_sEXTRA1FactionKey;

    [Attribute("Insert value 2", category: "Campaign")]
    protected FactionKey m_sEXTRA2FactionKey;

    [Attribute("Insert value 3", category: "Campaign")]
    protected FactionKey m_sEXTRA3FactionKey;
}

We're really just looking for some guidance on this for someone who is experienced within this area of the game. If other details are needed, I will respond ASAP. 

Share this post


Link to post
Share on other sites

As you have already noticed the Conflict gamemode is pretty hardcoded on faction (rather than checking "isFriendly") and while a small and fairly easy mod of "class SCR_SpawnPoint" would let players of "friendly" factions in to the current spawnpoints pretty much nothing will work from there on (no tasks to begin with).

 

My advice is to duplicate whatever extra factions you have into either of US, USSR or FIA - not all but just the "Campaign_US_Player.et" or whatever main faction needed at minumum.

Then add these to a duplicated "ArmaReforger/Configs/Factions/US_Campaign.conf" under "Entity Catalogs", "CHARACTER", "Multi Lists", "Campaign" as new "SCR_EntityCatalogEntry" - Also add a "SpawnerData" and a "LoadoutData" under each of these new units.

 

The SpawnerData has a "Variant Data" where you can add a variant such as "VEHICLE_MERC" (the only one by Bohemia but you can append other types to this list via "modded enum ESpawnerVariantType" if you are into scripting. This would be the first step to "connect" each unit to similar groups and vehicles down the other entries in the "Entity Catalogs"

 

I don't think it will help in the current Conflict code but that's how I matched selected player profile with spawning a "correct" supporting team in my DustCTI (Conflict flavour) found in "US 1st Cavalry Division" mod (download and copy-paste anything useful if you want to go down this route) when a player selects anything else than the 1.CAV slot.

 

Example:

modded enum ESpawnerVariantType
{
//	VEHICLE_MERC,
	SPETSNAZ,
	RECON,
	US_1CAV,
	US_1ID,
	US_3ID,
	US_4ID,
	US_8ID,
	US_82AB,
	US_101AB,
	US_MARINES,
};

(never got around to creating Marines as they didnt really make a big impact in Cold War Europe other than Embassy work maybe)

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×