Spoiler Code {

id:"bsg_colonies",

#Colonial Orange

"color":[250,218,94,255],

"baseUIColor":[250,218,94,255],

"darkUIColor":[248,222,126,255],

"gridUIColor":[250,218,94,255],

"brightUIColor":[249,166,2,255],



"displayName":"The Twelve Colonies of Kobol",

"logo":"graphics/logos/Colonies_logo.png",

"crest":"graphics//logos/Colonies_logo.png",

"displayNameWithArticle":"The Twelve Colonies of Kobol",

"shipNamePrefix":"BSG",

"shipNameSources":{

"GREEK":1,

"ROAMN":1,

},

"description":"TBD",

"names":{

"old english":1,

},

"variantOverrides":{

},

"hullFrequency":{

"tags":{

},

"hulls":{

},

},

"shipsWhenImporting":{

"tags":["bsg_pack"],

"hulls":[

],

},

"knownShips":{

"tags":["bsg_pack"],

"hulls":[

"bsg_galactica",

"bsg_mercury",

"bsg_erebus",

"bsg_valkyrie",

"bsg_cygnus",

],

},

"priorityShips":{

"tags":[],

"hulls":[

"bsg_galactica_variant",

"bsg_mercury_variant",

"bsg_erebus_variant",

"bsg_valkyrie_variant",

"bsg_cygnus_variant2",

],

},

"knownFighters":{

"tags":["bsg_pack"],

"fighters":[

"bsg_vm7_wing",

"bsg_vm2_wing",

"bsg_raptor_wing",

],

},

"priorityFighters":{

"tags":["bsg_pack"],

"fighters":[

"bsg_vm7_wing",

"bsg_vm2_wing",

"bsg_raptor_wing",

],

},

"knownWeapons":{

"tags":["bsg_pack", "base_bp", "lowtech_bp", "midline_bp", "hightech_bp", "missile_bp"],

"weapons":[

"SCSCMS",

"SCSCMM",

"SCSCML",

"MEC-A6",

"CEC_Z12",

"DRGM1",

"DRGM3",

"KEWDPDM1",

"KEWDPDM3",

"CWHM1",

"CWHM3",

"SCSDRGL",

"SCSDRGM",

"SCSDRGS",

"PCSDRGL",

"PCSDRGM",

"PCSDRGS",

"PCSCMS",

"PCSCMM",

"PCSCML",

"SCSDPD",

"FSMG",

"FSCW",

],

},

"priorityWeapons":{

"tags":["bsg_pack", "lowtech_bp"],

"weapons":[

"MEC-A6",

"CEC_Z12",

"DRGM1",

"DRGM3",

"KEWDPDM1",

"KEWDPDM3",

"CWHM1",

"CWHM3",

"SCSDRGL",

"SCSDRGM",

"SCSDRGS",

"PCSDRGL",

"PCSDRGM",

"PCSDRGS",

"PCSCMS",

"PCSCMM",

"PCSCML",

"SCSDPD",

],

},

"knownHullMods":{

"tags":[],

"hullMods":[

],

},

# "shipRoles":{

# "fighter":{

# "bsg_vm7_wing":5,

# "bsg_vm2_wing":10,

# },

# "bomber":{

# "bsg_raptor_wing":10,

# },

# "combatMedium":{

# "bsg_cygnus_variant2":10,

# "bsg_erebus_variant":5,

# },

# "combatLarge":{

# "bsg_valkyrie_variant":10,

# },

# "combatCapital":{

# "bsg_mercury_variant":5,

# },

# "carrierLarge":{

# "bsg_galactica_variant":10,

# },

# },

"factionDoctrine":{

"warships":10,

"phaseShips":3,

"fighters":10,

"carriers":2,

"bombers":2,

"medium":15,

"large":5,

"capital":1,



"officerQuality":5,

"shipQuality":10,

"numShips":3,



"shipSize":4,



"aggression":3,



"minPointsForCombatCapital":10,

"minPointsForLargeCarrier":30,

"largeCarrierProbability":1.0,



"combatFreighterProbability":0.1,

"combatFreighterCombatUseFraction":0,

"combatFreighterCombatUseFractionWhenPriority":0,



"autofitRandomizeProbability":0.1,



"commanderSkillsShuffleProbability":0,

"commanderSkills":[

],

},

"illegalCommodities":[

"drugs",

"organs",

"hand_weapons",

],

"music":{

"theme":"music_diktat_market_neutral",

"market_neutral":"music_diktat_market_neutral",

"market_hostile":"music_diktat_market_hostile",

"market_friendly":"music_diktat_market_friendly",

"encounter_neutral":"music_diktat_encounter_neutral",

"encounter_hostile":"music_diktat_encounter_hostile",

"encounter_friendly":"music_diktat_encounter_friendly",

},

"internalComms":"sindrian_diktat_internal",

"portraits":{

"standard_male":[

"graphics/portraits/portrait_diktat01.png",

"graphics/portraits/portrait_diktat03.png",

"graphics/portraits/portrait_diktat04.png",

"graphics/portraits/portrait_diktat07.png",

"graphics/portraits/portrait_mercenary01.png",

"graphics/portraits/portrait_mercenary03.png",

"graphics/portraits/portrait13.png",

"graphics/portraits/portrait15.png",

"graphics/portraits/portrait23.png",

],

"standard_female":[

"graphics/portraits/portrait_diktat02.png",

"graphics/portraits/portrait_diktat05.png",

"graphics/portraits/portrait_diktat06.png",

"graphics/portraits/portrait_diktat08.png",

"graphics/portraits/portrait_hegemony03.png",

"graphics/portraits/portrait_hegemony04.png",

"graphics/portraits/portrait_mercenary02.png",

"graphics/portraits/portrait16.png",

],

},

"custom":{

"offersCommissions":true,

"engagesInHostilities":true,

"buysAICores":true,

"AICoreValueMult":2,

"AICoreRepMult":1,

"buysSurveyData":true,

"hostilityImpactOnGrowth":true,

"punitiveExpeditionData":{

"vsCompetitors":true,

"vsFreePort":false,

"canBombard":true,

"territorial":true,

},

},

"ranks":{

"ranks":{

"factionLeader":{"name":"President"},

},

"posts":{

"factionLeader":{"name":"President"},

},

},

"fleetCompositions":{

"patrol":{

"displayName":"Colonial Scouts",

"maxFleetPoints":60,

"daysWorthOfSupplies":[30, 50],

"lyWorthOfFuel":[40, 60],

"extraCrewPercent":[20, 30],

"marinesPercent":[5, 10],

"ships":{

"bsg_erebus_variant":[2, 5],

"bsg_cygnus_variant":[2,8],

"bsg_vm7_wing":[1, 1],

},

},

"attack":{

"displayName":"Colonial Strike Team",

"maxFleetPoints":220,

"daysWorthOfSupplies":[30, 50],

"lyWorthOfFuel":[40, 60],

"extraCrewPercent":[20, 30],

"marinesPercent":[5, 10],

"ships":{

"bsg_erebus_variant":[1, 5],

"bsg_cygnus_variant":[1, 5],

"bsg_galactica_variant":[1, 2],

"bsg_vm7_wing":[5, 10],

"bsg_vm2_wing":[5, 10],

"bsg_raptor_wing":[2, 5],

},

},

"systemDefense":{

"displayName":"Colonial Task Force",

"maxFleetPoints":890,

"daysWorthOfSupplies":[30, 50],

"lyWorthOfFuel":[40, 60],

"extraCrewPercent":[20, 30],

"marinesPercent":[5, 10],

"ships":{

"bsg_erebus_variant":[3, 10],

"bsg_cygnus_variant":[3, 10],

"bsg_galactica_variant":[2, 5],

"bsg_mercury_variant":[1, 5],

"bsg_valkyrie_variant":[2, 6],

"bsg_vm7_wing":[5, 10],

"bsg_vm2_wing":[5, 10],

"bsg_raptor_wing":[2, 5],

},

},

"supplyConvoy":{

"displayName":"Colonial Supply Convoy",

"maxFleetPoints":147,

"daysWorthOfSupplies":[30, 50],

"lyWorthOfFuel":[40, 60],

"extraCrewPercent":[20, 30],

"marinesPercent":[5, 10],

"ships":{

"bsg_erebus_variant":[1, 3],

"bsg_cygnus_variant":[1, 3],

"bsg_valkyrie_variant":[2, 3],

"bsg_vm7_wing":[1, 5],

"bsg_vm2_wing":[1, 5],

"bsg_raptor_wing":[1, 2],

},

},

"fuelConvoy":{

"displayName":"Colonial Fuel Convoy",

"maxFleetPoints":147,

"daysWorthOfSupplies":[30, 50],

"lyWorthOfFuel":[40, 60],

"extraCrewPercent":[20, 30],

"marinesPercent":[5, 10],

"ships":{

"bsg_erebus_variant":[1, 3],

"bsg_cygnus_variant":[1, 3],

"bsg_valkyrie_variant":[2, 3],

"bsg_vm7_wing":[1, 5],

"bsg_vm2_wing":[1, 5],

"bsg_raptor_wing":[1, 2],

},

},

"personnelConvoy":{

"displayName":"Colonial Personnel Convoy",

"maxFleetPoints":147,

"daysWorthOfSupplies":[30, 50],

"lyWorthOfFuel":[40, 60],

"extraCrewPercent":[20, 30],

"marinesPercent":[5, 10],

"ships":{

"bsg_erebus_variant":[1, 3],

"bsg_cygnus_variant":[1, 3],

"bsg_valkyrie_variant":[2, 3],

"bsg_vm7_wing":[1, 5],

"bsg_vm2_wing":[1, 5],

"bsg_raptor_wing":[1, 2],

},

},

},

"dialogue":{

"greetingFriendly":"Identify yourself, this colonial fleet is on a peaceful mission!",

"greetingNeutral":"Please don't interrupt this official colonial mission. We will fire when provoked!",

"greetingHostileAggressive":"Action stations! Action stations! Set condition one throughout the fleet, engage!",

"greetingHostileTimid":"We identified your fleet as hostile, back off or we have to engage!",

}

},

Spoiler Code {

# should be a copy of "combatSmall", minus variants that are annoying to fight in low numbers

# for example, no Hyperions or fast beam-based kiting loadouts, or ships with damper field

"combatSmallForSmallFleet":{

},

"combatSmall":{

"bsg_cygnus_variant2":10,

},

"combatMedium":{

"bsg_cygnus_variant2":10,

"bsg_erebus_variant":10,

},

"combatLarge":{

"bsg_valkyrie_variant":10

},

"combatCapital":{

"bsg_mercury_variant":10

},

"combatFreighterSmall":{

},

"combatFreighterMedium":{

},

"combatFreighterLarge":{

},

"civilianRandom":{

},

"carrierSmall":{

},

"carrierMedium":{

"bsg_valkyrie_variant":10,

},

"carrierLarge":{

"bsg_galactica_variant":10,

},

"phaseSmall":{

},

"phaseMedium":{

},

"phaseLarge":{

},

"phaseCapital":{

},

"freighterSmall":{

},

"freighterMedium":{

},

"freighterLarge":{

},

"tankerSmall":{

},

"tankerMedium":{

},

"tankerLarge":{

},

"personnelSmall":{

},

"personnelMedium":{

},

"personnelLarge":{

},

"linerSmall":{

},

"linerMedium":{

},

"linerLarge":{

},

"tug":{

},

"crig":{

},

"utility":{

},

"orbitalStationLowTech":{

},

"battlestationLowTech":{

},

"fastAttack":{

},

"escortSmall":{

},

"escortMedium":{

},



}

Spoiler Code {

"starSystem":"new_cyrannus",



"markets":[

{

"entities":["new_caprica"],

"faction":"bsg_colonies",

"size":10,

#"submarkets":["open_market", "black_market"],

#"tariff":0.5,

"startingConditions":[

"habitable",

#"urbanized_polity",

#"regional_capital",

#"orbital_station",

#"military_base",

#"orbital_burns",

#"luddic_majority",

#"organics_complex",

#"jungle",

"population_6",

"inimical_biosphere",

"organics_plentiful",

"farmland_adequate",

"extreme_weather"

],

"industries":[

"population",

"farming",

"heavyindustry",

"spaceport",

"mining",

"heavybatteries",

"militarybase",

"starfortress_mid",

"orbitalworks"

]

}

]

}

Spoiler Code package data.scripts.world.systems;



import java.awt.Color;



import com.fs.starfarer.api.Global;

import com.fs.starfarer.api.campaign.JumpPointAPI;

import com.fs.starfarer.api.campaign.LocationAPI;

import com.fs.starfarer.api.campaign.OrbitAPI;

import com.fs.starfarer.api.campaign.PlanetAPI;

import com.fs.starfarer.api.campaign.SectorAPI;

import com.fs.starfarer.api.campaign.SectorEntityToken;

import com.fs.starfarer.api.campaign.StarSystemAPI;

import com.fs.starfarer.api.impl.campaign.ids.Factions;

import com.fs.starfarer.api.impl.campaign.ids.StarTypes;

import com.fs.starfarer.api.impl.campaign.ids.Terrain;

import com.fs.starfarer.api.impl.campaign.procgen.StarAge;

import com.fs.starfarer.api.impl.campaign.procgen.StarSystemGenerator;

import com.fs.starfarer.api.impl.campaign.terrain.AsteroidFieldTerrainPlugin.AsteroidFieldParams;

import com.fs.starfarer.api.impl.campaign.terrain.HyperspaceTerrainPlugin;

import com.fs.starfarer.api.impl.campaign.procgen.NebulaEditor;

import com.fs.starfarer.api.util.Misc;





public class NewCaprica {

public void generate(SectorAPI sector){



StarSystemAPI system = sector.createStarSystem("New Cyrannus");

system.getLocation().set(5000,5000);

system.setBackgroundTextureFilename("graphics/backgrounds/background1.jpg");



LocationAPI hyper = Global.getSector().getHyperspace();

//TODO find background img





PlanetAPI star = system.initStar("cyrannus", // unique id for this star

StarTypes.RED_GIANT, // id in planets.json

1000f, // radius (in pixels at default zoom)

1500, // corona radius, from star edge

5f, // solar wind burn level

0.5f, // flare probability

2f); // cr loss mult

system.setLightColor(new Color(255, 210, 200)); // light color in entire system, affects all entities



PlanetAPI a1 = system.addPlanet("new_caprica", star, "New Caprica", "rocky_metallic", 50, 150, 5000, 100);

a1.getSpec().setGlowTexture(Global.getSettings().getSpriteName("hab_glows", "sindria"));

a1.getSpec().setGlowColor(new Color(255,255,255,255));

a1.getSpec().setUseReverseLightForGlow(true);

a1.applySpecChanges();

a1.setInteractionImage("illustrations", "urban01");

a1.setFaction("bsg_colonies");



JumpPointAPI jumpPoint1 = Global.getFactory().createJumpPoint("nc_jp_1", "New Caprica Jump-Point");

OrbitAPI orbit = Global.getFactory().createCircularOrbit(star, 0, 500, 150);

jumpPoint1.setOrbit(orbit);

jumpPoint1.setRelatedPlanet(a1);

jumpPoint1.setStandardWormholeToHyperspaceVisual();

jumpPoint1.setCircularOrbit( system.getEntityById("new_caprica"), 60, 3000, 100);

system.addEntity(jumpPoint1);



// Automatic generation of entities after a certain radius to fill a bit the system

float radiusAfter = StarSystemGenerator.addOrbitingEntities(system, star, StarAge.AVERAGE,

3, 10, // min/max entities to add

180, // radius to start adding at

5, // name offset - next planet will be <system name> <roman numeral of this parameter + 1>

true); // whether to use custom or system-name based names



system.autogenerateHyperspaceJumpPoints(true, true);



//Getting rid of some hyperspace nebula, just in case

HyperspaceTerrainPlugin plugin = (HyperspaceTerrainPlugin) Misc.getHyperspaceTerrain().getPlugin();

NebulaEditor editor = new NebulaEditor(plugin);

float minRadius = plugin.getTileSize() * 2f;



float radius = system.getMaxRadiusInHyperspace();

editor.clearArc(system.getLocation().x, system.getLocation().y, 0, radius + minRadius, 0, 360f);

editor.clearArc(system.getLocation().x, system.getLocation().y, 0, radius + minRadius, 0, 360f, 0.25f);

}

}

Spoiler Code package data.scripts.world;



import java.awt.Color;

import java.util.List;



import com.fs.starfarer.api.campaign.CampaignFleetAPI;

import com.fs.starfarer.api.Global;

import com.fs.starfarer.api.campaign.JumpPointAPI;

import com.fs.starfarer.api.campaign.LocationAPI;

import com.fs.starfarer.api.campaign.OrbitAPI;

import com.fs.starfarer.api.campaign.PlanetAPI;

import com.fs.starfarer.api.campaign.SectorAPI;

import com.fs.starfarer.api.campaign.SectorEntityToken;

import com.fs.starfarer.api.campaign.StarSystemAPI;

import com.fs.starfarer.api.impl.campaign.ids.Factions;

import com.fs.starfarer.api.impl.campaign.ids.StarTypes;

import com.fs.starfarer.api.impl.campaign.ids.Terrain;

import com.fs.starfarer.api.impl.campaign.procgen.StarAge;

import com.fs.starfarer.api.impl.campaign.procgen.StarSystemGenerator;

import com.fs.starfarer.api.impl.campaign.procgen.SectorProcGen;

import com.fs.starfarer.api.impl.campaign.terrain.AsteroidFieldTerrainPlugin.AsteroidFieldParams;

import com.fs.starfarer.api.campaign.CargoAPI;

import com.fs.starfarer.api.campaign.FactionAPI;

import com.fs.starfarer.api.campaign.FleetAssignment;

import com.fs.starfarer.api.campaign.SectorGeneratorPlugin;

import com.fs.starfarer.api.fleet.FleetMemberType;

import com.fs.starfarer.campaign.Faction;

import com.fs.starfarer.api.EveryFrameScript;

import data.scripts.world.systems.NewCaprica;

import com.fs.starfarer.api.impl.campaign.shared.SharedData;



@SuppressWarnings("unchecked")

public class BSGen implements SectorGeneratorPlugin {



public void generate(SectorAPI sector) {

(new NewCaprica()).generate(sector);



SharedData.getData().getPersonBountyEventData().addParticipatingFaction("bsg_colonies");

SharedData.getData().getPersonBountyEventData().addParticipatingFaction("bsg_cylons");



FactionAPI bsg_colonies = sector.getFaction("bsg_colonies");

FactionAPI bsg_cylons = sector.getFaction("bsg_cylons");

bsg_colonies.setRelationship("hegemony", 100);

bsg_colonies.setRelationship("tritachyon", -50);

bsg_colonies.setRelationship("pirates", -100);

bsg_colonies.setRelationship("independent", 20);

bsg_colonies.setRelationship("bsg_cylons", -100);

bsg_colonies.setRelationship("player", 20);

bsg_cylons.setRelationship("hegemony", -100);

bsg_cylons.setRelationship("tritachyon", -100);

bsg_cylons.setRelationship("pirates", -100);

bsg_cylons.setRelationship("independent", -100);

bsg_cylons.setRelationship("bsg_colonies", -100);

bsg_cylons.setRelationship("player", -100);

}

}

Hello there,I have hit a little wall and I don't know how to get around it, I don't want to create another thread since it's about this mod.So far I have succefully implmented a small system for the colonies, fleets are spawning, trading works and they're creating missions. Everything seems fine... untill I try to fight against a fleet of theirs. The ships are spawning with no arming, both in the fleets of the colonies, as well as when they appear in the fleets of the vanilla factions.I already did some bug hunting with a few nice people from, the discord but we didn't find the cause. I added the variants to the default_roles, added them to the factions file(including probabilities), I gave the only colonial planet some industrie and orbital works just to rule that out and added some BPs to the factions file, just to make sure it's not because they have no access to the standard weapons.If anyone has an idea what I could do or change to make the variants appear, I would be very grateful!I'll copy and paste the I think to be important files here and if anyone wants to do some deeper detective work, I'll also link the build I'm currently using.the_colonies.faction:default_ship_roles.jsonnew_caprica.json(from campaign/econ)NewCaprica.javaBSGen.java (from data/scripts/world)EDIT:It might have to do something with the weapons, I changed the variants ingame name to see if they're being used and surprisingly yes. But since I can buy the weapons on the market AND the variants spawn with them if I use addShip from console commands it might have to do something with the factions not being able to utilise them?EDIT 2:Problem has been solved through adding autofit tags/some tags from the vanilla weapons.csv file. I might have to adjust them later on again but for now it works.Thanks to @Vayra#1312/Hive Queen Vayra from the discord for the help, wouldn't have found it by myself probably ^^I'm deleting the "newer" build now as it's not ready yet.