1package com.fs.starfarer.api.impl.campaign.fleets;
3import com.fs.starfarer.api.Global;
4import com.fs.starfarer.api.campaign.CampaignFleetAPI;
5import com.fs.starfarer.api.campaign.StarSystemAPI;
6import com.fs.starfarer.api.campaign.econ.MarketAPI;
7import com.fs.starfarer.api.campaign.econ.MarketConditionAPI;
8import com.fs.starfarer.api.impl.campaign.ids.Conditions;
9import com.fs.starfarer.api.impl.campaign.ids.Factions;
10import com.fs.starfarer.api.impl.campaign.ids.FleetTypes;
11import com.fs.starfarer.api.impl.campaign.ids.MemFlags;
12import com.fs.starfarer.api.impl.campaign.intel.bases.LuddicPathCells;
13import com.fs.starfarer.api.impl.campaign.intel.bases.PirateBaseManager;
14import com.fs.starfarer.api.util.Misc;
42 float desiredNumFleets = 1f;
48 desiredNumFleets += pather.getSize();
52 desiredNumFleets += cells;
54 return (
int) Math.round(desiredNumFleets);
61 if (market.isHidden())
continue;
62 MarketConditionAPI mc = market.getCondition(Conditions.PATHER_CELLS);
63 if (mc !=
null && mc.getPlugin() instanceof LuddicPathCells) {
64 LuddicPathCells cells = (LuddicPathCells) mc.getPlugin();
65 if (cells.getIntel() !=
null) {
66 if (cells.getIntel().isSleeper()) {
80 MarketAPI largest =
null;
83 if (market.isHidden())
continue;
84 if (!market.getFactionId().equals(faction))
continue;
86 if (market.getSize() > maxSize) {
87 maxSize = market.getSize();
96 if (system ==
null)
return null;
99 if (player ==
null)
return null;
101 int num = Misc.getMarketsInLocation(system).size();
102 if (Misc.getMarketsInLocation(system, Factions.PLAYER).size() == num && num > 0) {
107 String fleetType = FleetTypes.PATROL_SMALL;
111 for (
int i = 0; i < 3; i++) {
112 if ((
float) Math.random() > 0.5f) {
119 float timeFactor = (PirateBaseManager.getInstance().getDaysSinceStart() - 180f) / (365f * 2f);
120 if (timeFactor < 0) timeFactor = 0;
121 if (timeFactor > 1) timeFactor = 1;
123 combat += ((desired - 2) * (0.5f + (
float) Math.random() * 0.5f)) * 1f * timeFactor;
131 system.getLocation(),
132 Factions.LUDDIC_PATH,
143 params.ignoreMarketFleetSizeMult =
true;
147 if (fleet ==
null || fleet.isEmpty())
return null;
152 fleet.getMemoryWithoutUpdate().set(MemFlags.FLEET_NO_MILITARY_RESPONSE,
true);
static SectorAPI getSector()
void setLocationAndOrders(CampaignFleetAPI fleet, float probStartInHyper, float probStayInHyper)
StarSystemAPI currSpawnLoc
CampaignFleetAPI spawnFleetImpl()
MarketAPI getLargestMarket(String faction)
int getPatherCellsLevel()
int getDesiredNumFleetsForSpawnLocation()
static CampaignFleetAPI createFleet(FleetParamsV3 params)