1package com.fs.starfarer.api.impl.campaign.fleets;
3import org.lwjgl.util.vector.Vector2f;
5import com.fs.starfarer.api.Global;
6import com.fs.starfarer.api.campaign.CampaignFleetAPI;
7import com.fs.starfarer.api.campaign.FleetAssignment;
8import com.fs.starfarer.api.campaign.LocationAPI;
9import com.fs.starfarer.api.campaign.SectorEntityToken;
10import com.fs.starfarer.api.campaign.StarSystemAPI;
11import com.fs.starfarer.api.campaign.econ.MarketAPI;
12import com.fs.starfarer.api.impl.campaign.ids.Factions;
13import com.fs.starfarer.api.impl.campaign.ids.FleetTypes;
14import com.fs.starfarer.api.impl.campaign.ids.Tags;
15import com.fs.starfarer.api.util.Misc;
16import com.fs.starfarer.api.util.WeightedRandomPicker;
24 String fid = market.getFactionId();
28 count += market.getSize();
37 if (
true)
return null;
38 if (target ==
null)
return null;
43 for (
int i = 0; i < 3; i++) {
44 if ((
float) Math.random() > 0.5f) {
87 if (fleet ==
null || fleet.
isEmpty())
return null;
93 if (source ==
null)
return null;
96 boolean spawnAtSource =
true;
100 spawnAtSource = sourceToPlayer < targetToPlayer;
108 "orbiting " + source.
getName());
121 "traveling to the " + target.
getBaseName() +
" star system");
123 if ((
float) Math.random() > 0.75f) {
125 "raiding around the " + target.
getBaseName() +
" star system");
128 "raiding the " + target.
getBaseName() +
" star system");
131 "returning to " + source.
getName());
133 "orbiting " + source.
getName());
154 if (market.getFactionId().equals(
Factions.
KOL))
continue;
156 float w = 11f - market.getStabilityValue() + market.getSize();
157 if (w > weight) weight = w;
161 picker.
add(system, weight);
164 return picker.
pick();
static SettingsAPI getSettings()
static SectorAPI getSector()
static CampaignFleetAPI createFleet(FleetParamsV3 params)
StarSystemAPI pickTargetSystem()
CampaignFleetAPI spawnFleet()
static final String LUDDIC_PATH
static final String LUDDIC_CHURCH
static final String PATROL_SMALL
static MarketAPI getSourceMarket(CampaignFleetAPI fleet)
static float getSpawnChanceMult(Vector2f locInHyper)
static List< MarketAPI > getMarketsInLocation(LocationAPI location, String factionId)
static Vector2f pickHyperLocationNotNearPlayer(Vector2f from, float minDist)
static float getDistance(SectorEntityToken from, SectorEntityToken to)
static Vector2f getPointAtRadius(Vector2f from, float r)
int getMaxSensorRangeHyper()
void addAssignment(FleetAssignment assignment, SectorEntityToken target, float maxDurationInDays)
void setLocation(float x, float y)
void addEntity(SectorEntityToken entity)
SectorEntityToken createToken(float x, float y)
CampaignFleetAPI getPlayerFleet()
List< StarSystemAPI > getStarSystems()
LocationAPI getHyperspace()
LocationAPI getContainingLocation()
SectorEntityToken getHyperspaceAnchor()
SectorEntityToken getCenter()
List< MarketAPI > getMarketsCopy()
Vector2f getLocationInHyperspace()
SectorEntityToken getPrimaryEntity()