1package com.fs.starfarer.api.impl.campaign.missions.hub;
3import java.util.ArrayList;
5import java.util.Random;
7import org.lwjgl.util.vector.Vector2f;
9import com.fs.starfarer.api.EveryFrameScript;
10import com.fs.starfarer.api.Global;
11import com.fs.starfarer.api.campaign.CampaignFleetAPI;
12import com.fs.starfarer.api.campaign.FleetAssignment;
13import com.fs.starfarer.api.campaign.LocationAPI;
14import com.fs.starfarer.api.campaign.SectorEntityToken;
15import com.fs.starfarer.api.campaign.StarSystemAPI;
16import com.fs.starfarer.api.campaign.ai.ModularFleetAIAPI;
17import com.fs.starfarer.api.campaign.comm.IntelInfoPlugin;
18import com.fs.starfarer.api.util.Misc;
19import com.fs.starfarer.api.util.WeightedRandomPicker;
26 protected List<SectorEntityToken>
patrolPoints =
new ArrayList<SectorEntityToken>();
41 if (curr ==
null)
continue;
42 if (curr ==
fleet)
continue;
43 this.patrolPoints.add(curr);
78 if (!curr.isAlive())
continue;
92 float seconds = dist / speed;
94 days += 5f + 5f * (float) Math.random();
98 float days = 5f + 5f * (float) Math.random();
108 if (travel ==
null) {
110 travel =
"patrolling";
112 travel =
"traveling";
static SectorAPI getSector()
float elapsedWaitingForDespawn
SectorEntityToken pickPatrolPoint()
SectorEntityToken currTarget
void advance(float amount)
List< SectorEntityToken > patrolPoints
void giveInitialAssignments(boolean randomLocation)
TriggerFleetAssignmentAI(String travelText, String patrolText, HubMission mission, LocationAPI system, boolean randomLocation, CampaignFleetAPI fleet, SectorEntityToken ... patrolPoints)
static boolean isPatrol(CampaignFleetAPI fleet)
static float getDistance(SectorEntityToken from, SectorEntityToken to)
static Vector2f getPointAtRadius(Vector2f from, float r)
static float getSpeedForBurnLevel(float burnLevel)
void addAll(Collection< T > items)
LocationAPI getContainingLocation()
CampaignFleetAIAPI getAI()
void addAssignment(FleetAssignment assignment, SectorEntityToken target, float maxDurationInDays)
void setLocation(float x, float y)
FleetAssignmentDataAPI getCurrentAssignment()
CampaignClockAPI getClock()
boolean hasScriptOfClass(Class c)
LocationAPI getContainingLocation()
void addScript(EveryFrameScript script)
void setActionTextOverride(String actionTextOverride)
SectorEntityToken getTarget()
FleetAssignment getAssignment()
TacticalModulePlugin getTacticalModule()