I think I found a bug in the spawnFleet method of MagicCampaign
Crash log showed the message:
32226 [Thread-4] WARN data.scripts.util.MagicCampaign - Spawned your opponent around corvus_IIIa in the corvus system.
32235 [Thread-4] ERROR com.fs.starfarer.combat.CombatMain - java.lang.NullPointerException
java.lang.NullPointerException
at data.scripts.util.MagicCampaign.spawnFleet(MagicCampaign.java:854)
at data.scripts.util.MagicCampaign.createFleet(MagicCampaign.java:380)
at data.scripts.util.MagicCampaign.createFleet(MagicCampaign.java:109)
at better_variants.bar_events.BetterVariantsBountyEvent.optionSelected(BetterVariantsBountyEvent.java:110)
at com.fs.starfarer.api.impl.campaign.intel.bar.BarEventDialogPlugin.optionSelecte
d(BarEventDialogPlugin.java:53)
at com.fs.starfarer.ui.newui.W$1.o00000(Unknown Source)
at com.fs.starfarer.ui.newui.OoOO.actionPerformed(Unknown Source)
at com.fs.starfarer.ui.newnew.buttonPressed(Unknown Source)
at com.fs.starfarer.ui.oooO.Ò00000(Unknown Source)
at com.fs.starfarer.ui.oooO.processInput(Unknown Source)
at com.fs.starfarer.ui.V.o00000(Unknown Source)
at com.fs.starfarer.BaseGameState.traverse(Unknown Source)
at com.fs.state.AppDriver.begin(Unknown Source)
at com.fs.starfarer.combat.CombatMain.main(Unknown Source)
at com.fs.starfarer.StarfarerLauncher.o00000(Unknown Source)
at com.fs.starfarer.StarfarerLauncher$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
The call to the function was the folowing
// get Garnir
List<PlanetAPI> corvusPlanets = Global.getSector().getStarSystem("corvus").getPlanets();
SectorEntityToken garnirPlanet = null;
for(PlanetAPI planet : corvusPlanets) {
if(planet.getId().equals("corvus_IIIa")) {
garnirPlanet = planet;
}
}
SectorEntityToken fleet = MagicCampaign.createFleet("your opponent", "pirates", null, null, "omen_PD", null,
null, 100, "pirates", 1.0f, garnirPlanet, null, null, true, true);
The crash seems to be from the third line of this block of code in the spawnFleet method
if(verbose){
log.warn("Spawned "+fleet.getName()+" around "+location.getId()+" in the "+location.getStarSystem().getId()+" system.");
log.warn("Order: "+order.name()+", target: "+target.getId()+" in the "+target.getStarSystem().getId()+" system.");
}