package data.scripts.world;
import java.awt.Color;
import java.util.List;
import com.fs.starfarer.api.campaign.CampaignFleetAPI;
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.SectorAPI;
import com.fs.starfarer.api.campaign.SectorEntityToken;
import com.fs.starfarer.api.campaign.SectorGeneratorPlugin;
import com.fs.starfarer.api.campaign.StarSystemAPI;
import com.fs.starfarer.api.campaign.CargoAPI.CrewXPLevel;
import com.fs.starfarer.api.fleet.FleetMemberType;
import data.scripts.plugins.CharacterCreationPluginImpl;
@SuppressWarnings("unchecked")
public class SectorGen implements SectorGeneratorPlugin {
public void generate(SectorAPI sector) {
StarSystemAPI system = sector.createStarSystem("Barnard`s Star");
SectorEntityToken star = system.initStar("star_red", Color.white, 400f);
SectorEntityToken corvusI = system.addPlanet(star, "Barnard I", "desert", 55, 150, 2500, 100);
SectorEntityToken corvusII = system.addPlanet(star, "Barnard II", "jungle", 235, 200, 3500, 200);
system.addAsteroidBelt(star, 200, 4200, 400, 150, 100);
SectorEntityToken corvusIII = system.addPlanet(star, "Barnard III", "gas_giant_red", 30, 300, 6000, 400);
SectorEntityToken corvusIIIA = system.addPlanet(corvusIII, "Barnard IIIA", "cryovolcanic", 235, 120, 800, 10);
SectorEntityToken corvusIIIB = system.addPlanet(corvusIII, "Barnard IIIB", "barren", 90, 100, 1200, 60);
SectorEntityToken corvusIV = system.addPlanet(star, "Barnard IV", "barren", 0, 100, 9000, 700);
SectorEntityToken corvusV = system.addPlanet(star, "Barnard V", "frozen", 330, 175, 10000, 500);
SectorEntityToken corvusVI = system.addPlanet(star, "Barnard VI", "frozen", 230, 175, 12000, 200);
SectorEntityToken corvusVIA = system.addPlanet(corvusVI, "Barnard VIA", "frozen", 15, 90, 600, 5);
SectorEntityToken corvusVIB = system.addPlanet(corvusVI, "Barnard VIB", "barren", 235, 60, 1200,
;
system.addAsteroidBelt(corvusVI, 100, 1000, 200, 50, 50);
initFactionRelationships(sector);
}
private void initFactionRelationships(SectorAPI sector) {
FactionAPI XLE = sector.getFaction("XLE");
FactionAPI PIRATE = sector.getFaction("PIRATE");
FactionAPI ISA = sector.getFaction("ISA");
FactionAPI RSF = sector.getFaction("RSF");
FactionAPI UIN = sector.getFaction("UIN");
FactionAPI ALIEN = sector.getFaction("ALIEN");
FactionAPI player = sector.getFaction("player");
FactionAPI CIVILIANS = sector.getFaction("CIVILIANS");
FactionAPI AI = sector.getFaction("AI");
FactionAPI ROCK = sector.getFaction("ROCK");
RSF.setRelationship(CIVILIANS.getId(), 1);
RSF.setRelationship(XLE.getId(), 1);
RSF.setRelationship(ALIEN.getId(), -1);
RSF.setRelationship(ISA.getId(), -1);
ISA.setRelationship(ALIEN.getId(), -1);
ISA.setRelationship(CIVILIANS.getId(), 0);
CIVILIANS.setRelationship(ALIEN.getId(), -1);
PIRATE.setRelationship(CIVILIANS.getId(), -1);
PIRATE.setRelationship(RSF.getId(), -1);
PIRATE.setRelationship(ISA.getId(), -1);
PIRATE.setRelationship(ALIEN.getId(), -1);
XLE.setRelationship(CIVILIANS.getId(), 0);
XLE.setRelationship(RSF.getId(), 1);
XLE.setRelationship(ISA.getId(), 0);
XLE.setRelationship(ALIEN.getId(), -1);
XLE.setRelationship(PIRATE.getId(), -1);
UIN.setRelationship(CIVILIANS.getId(), 0);
UIN.setRelationship(RSF.getId(), 0);
UIN.setRelationship(XLE.getId(), 0);
UIN.setRelationship(ISA.getId(), 1);
UIN.setRelationship(ALIEN.getId(), -1);
UIN.setRelationship(PIRATE.getId(), -1);
AI.setRelationship(CIVILIANS.getId(), 0);
AI.setRelationship(RSF.getId(), 0);
AI.setRelationship(XLE.getId(), 0);
AI.setRelationship(ISA.getId(), 0);
AI.setRelationship(ALIEN.getId(), -1);
AI.setRelationship(PIRATE.getId(), 0);
AI.setRelationship(UIN.getId(), 0);
ROCK.setRelationship(CIVILIANS.getId(), -1);
ROCK.setRelationship(RSF.getId(), -1);
ROCK.setRelationship(XLE.getId(), -1);
ROCK.setRelationship(ISA.getId(), -1);
ROCK.setRelationship(ALIEN.getId(), -1);
ROCK.setRelationship(AI.getId(), -1);
ROCK.setRelationship(PIRATE.getId(), -1);
ROCK.setRelationship(UIN.getId(), -1);
player.setRelationship(AI.getId(), 0);
player.setRelationship(ROCK.getId(), -1);
if (CharacterCreationPluginImpl.factionPick == 1) {
player.setRelationship(CIVILIANS.getId(), 0);
player.setRelationship(RSF.getId(), 1);
player.setRelationship(XLE.getId(), 0);
player.setRelationship(ISA.getId(), -1);
player.setRelationship(UIN.getId(), 0);
player.setRelationship(ALIEN.getId(), -1);
player.setRelationship(PIRATE.getId(), -1);
} else if (CharacterCreationPluginImpl.factionPick == 2) {
player.setRelationship(CIVILIANS.getId(), 0);
player.setRelationship(RSF.getId(), -1);
player.setRelationship(XLE.getId(), 0);
player.setRelationship(ISA.getId(), 1);
player.setRelationship(UIN.getId(), 0);
player.setRelationship(ALIEN.getId(), -1);
player.setRelationship(PIRATE.getId(), -1);
} else if (CharacterCreationPluginImpl.factionPick == 3) {
player.setRelationship(CIVILIANS.getId(), 0);
player.setRelationship(RSF.getId(), 1);
player.setRelationship(XLE.getId(), 1);
player.setRelationship(ISA.getId(), 0);
player.setRelationship(UIN.getId(), 0);
player.setRelationship(ALIEN.getId(), -1);
player.setRelationship(PIRATE.getId(), -1);
} else if (CharacterCreationPluginImpl.factionPick == 4) {
player.setRelationship(CIVILIANS.getId(), 0);
player.setRelationship(RSF.getId(), 0);
player.setRelationship(XLE.getId(), 0);
player.setRelationship(ISA.getId(), 1);
player.setRelationship(UIN.getId(), 1);
player.setRelationship(ALIEN.getId(), -1);
player.setRelationship(PIRATE.getId(), -1);
} else if (CharacterCreationPluginImpl.factionPick == 5) {
player.setRelationship(CIVILIANS.getId(), -1);
player.setRelationship(RSF.getId(), -1);
player.setRelationship(XLE.getId(), -1);
player.setRelationship(ISA.getId(), -1);
player.setRelationship(UIN.getId(), -1);
player.setRelationship(ALIEN.getId(), -1);
player.setRelationship(PIRATE.getId(), 1);
} else {
player.setRelationship(CIVILIANS.getId(), 0);
player.setRelationship(RSF.getId(), 0);
player.setRelationship(XLE.getId(), 0);
player.setRelationship(ISA.getId(), 0);
player.setRelationship(UIN.getId(), 0);
player.setRelationship(ALIEN.getId(), -1);
player.setRelationship(PIRATE.getId(), -1);
}
}
public class ExampleSectorGen implements SectorGeneratorPlugin
{
public void generate(SectorAPI sector)
{
// Build and add a time manager
TimeManager timeManger = new TimeManager();
sector.getStarSystem("Barnard`s Star").addSpawnPoint(timeManger); //TODO - change if your star system has a different name
}
}
}