1package com.fs.starfarer.api.impl.campaign.fleets;
3import java.util.Random;
5import org.lwjgl.util.vector.Vector2f;
7import com.fs.starfarer.api.EveryFrameScript;
8import com.fs.starfarer.api.Global;
9import com.fs.starfarer.api.campaign.CampaignFleetAPI;
10import com.fs.starfarer.api.campaign.FleetAssignment;
11import com.fs.starfarer.api.campaign.LocationAPI;
12import com.fs.starfarer.api.campaign.PlanetAPI;
13import com.fs.starfarer.api.campaign.SectorEntityToken;
14import com.fs.starfarer.api.campaign.StarSystemAPI;
15import com.fs.starfarer.api.campaign.econ.MarketAPI;
16import com.fs.starfarer.api.util.Misc;
17import com.fs.starfarer.api.util.WeightedRandomPicker;
50 if (from !=
null &&
system !=
null) {
53 angle = angle - arc / 2f + arc * (float) Math.random();
69 Vector2f loc =
new Vector2f(5000, 0);
101 float seconds = dist / speed;
103 days += 30f + 10f * (float) Math.random();
108 float days = 5f + 5f * (float) Math.random();
134 picker.
add(entity, 5f * mult);
139 if (planet.isGasGiant()) {
141 picker.
add(planet, 5f * mult);
149 picker.
add(market.getPrimaryEntity(), 5f * mult);
152 return picker.
pick();
157 return 1f / (count * 10f + 1f);
164 if (dist > 3000)
continue;
static SettingsAPI getSettings()
static SectorAPI getSector()
static float countNearbyPatrols(StarSystemAPI system, CampaignFleetAPI fleet, SectorEntityToken entity)
void pickNext(SectorEntityToken target, float probStayInHyper)
static SectorEntityToken pickEntityToGuard(Random random, StarSystemAPI system, CampaignFleetAPI fleet)
DisposableFleetManager manager
void advance(float amount)
void giveInitialAssignments(float probStayInHyper)
DisposableAggroAssignmentAI(CampaignFleetAPI fleet, StarSystemAPI system, DisposableFleetManager manager, float probStayInHyper)
static float getWeightMultForPatrols(StarSystemAPI system, CampaignFleetAPI fleet, SectorEntityToken entity)
String getActionOutsideText(StarSystemAPI system, CampaignFleetAPI fleet)
String getActionInsideText(StarSystemAPI system, CampaignFleetAPI fleet)
String getTravelText(StarSystemAPI system, CampaignFleetAPI fleet)
static boolean isPatrol(CampaignFleetAPI fleet)
static Vector2f getUnitVectorAtDegreeAngle(float degrees)
static Vector2f pickLocationNotNearPlayer(LocationAPI where, Vector2f from, float minDist)
static Vector2f pickHyperLocationNotNearPlayer(Vector2f from, float minDist)
static float getDistance(SectorEntityToken from, SectorEntityToken to)
static SectorEntityToken getSourceEntity(CampaignFleetAPI fleet)
static Vector2f getPointAtRadius(Vector2f from, float r)
static float getSpeedForBurnLevel(float burnLevel)
static float getAngleInDegrees(Vector2f v)
int getMaxSensorRangeHyper()
LocationAPI getContainingLocation()
void addAssignment(FleetAssignment assignment, SectorEntityToken target, float maxDurationInDays)
void setLocation(float x, float y)
boolean isHostileTo(SectorEntityToken other)
FleetAssignmentDataAPI getCurrentAssignment()
List< SectorEntityToken > getJumpPoints()
List< PlanetAPI > getPlanets()
SectorEntityToken createToken(float x, float y)
List< CampaignFleetAPI > getFleets()
CampaignClockAPI getClock()
LocationAPI getCurrentLocation()
LocationAPI getHyperspace()
Vector2f getLocationInHyperspace()
SectorEntityToken getHyperspaceAnchor()
List< MarketAPI > getMarkets(LocationAPI loc)