1package com.fs.starfarer.api.impl.campaign.fleets.misc;
3import java.util.Random;
5import com.fs.starfarer.api.Global;
6import com.fs.starfarer.api.campaign.BattleAPI;
7import com.fs.starfarer.api.campaign.CampaignFleetAPI;
8import com.fs.starfarer.api.campaign.SectorEntityToken;
9import com.fs.starfarer.api.campaign.StarSystemAPI;
10import com.fs.starfarer.api.campaign.econ.MarketAPI;
11import com.fs.starfarer.api.impl.campaign.fleets.RouteManager;
12import com.fs.starfarer.api.impl.campaign.fleets.RouteManager.RouteData;
13import com.fs.starfarer.api.impl.campaign.fleets.RouteManager.RouteSegment;
14import com.fs.starfarer.api.impl.campaign.fleets.misc.MiscFleetRouteManager.MiscRouteData;
15import com.fs.starfarer.api.impl.campaign.ids.Factions;
16import com.fs.starfarer.api.impl.campaign.ids.FleetTypes;
17import com.fs.starfarer.api.impl.campaign.ids.MemFlags;
18import com.fs.starfarer.api.impl.campaign.ids.Tags;
19import com.fs.starfarer.api.impl.campaign.missions.FleetCreatorMission;
20import com.fs.starfarer.api.impl.campaign.missions.hub.HubMissionWithTriggers.FleetQuality;
21import com.fs.starfarer.api.impl.campaign.missions.hub.HubMissionWithTriggers.FleetSize;
22import com.fs.starfarer.api.impl.campaign.missions.hub.HubMissionWithTriggers.OfficerNum;
23import com.fs.starfarer.api.impl.campaign.missions.hub.HubMissionWithTriggers.OfficerQuality;
24import com.fs.starfarer.api.impl.campaign.missions.hub.MissionFleetAutoDespawn;
25import com.fs.starfarer.api.impl.campaign.shared.SharedData;
26import com.fs.starfarer.api.util.Misc;
27import com.fs.starfarer.api.util.WeightedRandomPicker;
69 MiscRouteData data = (MiscRouteData) route.getCustom();
87 types.
add(
"supplies");
88 types.
add(
"students");
89 types.
add(
"visitors");
101 MiscRouteData data =
new MiscRouteData(
getId());
112 data.smuggling =
true;
114 float sizeBasis = from.
getSize() / 8f;
116 if (sizeBasis < 0.05f) sizeBasis = 0.05f;
117 if (sizeBasis > 0.25f) sizeBasis = 0.25f;
118 data.size = sizeBasis;
126 if (market.isHidden())
continue;
127 if (!market.hasSpaceport())
continue;
136 float mult = 1f - Math.min(0.99f, distLY / 10f);
142 markets.
add(market, market.getSize() * mult);
144 return markets.
pick();
150 if (route ==
null || !(route.getCustom() instanceof MiscRouteData))
return;
152 if (route.isExpired())
return;
157 MiscRouteData data = (MiscRouteData) route.getCustom();
166 return "preparing for voyage to Galatia Academy";
171 return "returned from voyage to Galatia Academy";
175 return "traveling to Galatia Academy";
179 return "traveling to " + data.from.
getName();
183 return "orbiting Galatia Academy";
187 return "orbiting Galatia Academy";
static SettingsAPI getSettings()
static SectorAPI getSector()
static RouteManager getInstance()
RouteData getRoute(String source, CampaignFleetAPI fleet)
CampaignFleetAPI createFleet(MiscFleetRouteManager manager, RouteData route, Random random)
String getAtDestLoadActionText(CampaignFleetAPI fleet, RouteSegment segment, MiscRouteData data)
String getEndingActionText(CampaignFleetAPI fleet, RouteSegment segment, MiscRouteData data)
MiscRouteData createData(MarketAPI from, SectorEntityToken to)
static String ACADEMY_FLEET_TYPE
MarketAPI pickSourceMarket(MiscFleetRouteManager manager)
String getTravelReturnActionText(CampaignFleetAPI fleet, RouteSegment segment, MiscRouteData data)
MiscRouteData createRouteParams(MiscFleetRouteManager manager, Random random)
String getTravelToDestActionText(CampaignFleetAPI fleet, RouteSegment segment, MiscRouteData data)
String getStartingActionText(CampaignFleetAPI fleet, RouteSegment segment, MiscRouteData data)
String getAtDestUnloadActionText(CampaignFleetAPI fleet, RouteSegment segment, MiscRouteData data)
static SectorEntityToken getAcademy()
int getMaxFleetsForThisCreator()
void reportBattleOccurred(MiscFleetRouteManager manager, CampaignFleetAPI fleet, CampaignFleetAPI primaryWinner, BattleAPI battle)
TimeoutTracker< String > getTimeout(String creatorId)
String getRouteSourceId()
static final String INDEPENDENT
static final String ACADEMY_FLEET
static final String MEMORY_KEY_SOURCE_MARKET
static final String ACADEMY_FLEET
CampaignFleetAPI createFleet()
void triggerSetFleetComposition(float freighterMult, float tankerMult, float transportMult, float linerMult, float utilityMult)
void triggerSetTraderFleet()
void triggerSetFleetSizeFraction(float fractionOfMax)
void triggerSetFleetOfficers(OfficerNum num, OfficerQuality quality)
void triggerFleetSetNoFactionInName()
void triggerCreateFleet(FleetSize size, FleetQuality quality, String factionId, String type, StarSystemAPI roughlyWhere)
void triggerSetFleetMemoryValue(final String key, final Object value)
Set< String > getMarketsWithoutTradeFleetSpawn()
static SharedData getData()
static float getDistanceToPlayerLY(Vector2f locInHyper)
float getFloat(String key)
List< CampaignFleetAPI > getNonPlayerSideSnapshot()
boolean isPlayerInvolved()
boolean isHostileTo(FactionAPI other)
SectorEntityToken getEntityById(String id)
boolean hasTag(String tag)
StarSystemAPI getStarSystem(String name)
LocationAPI getContainingLocation()
void removeScriptsOfClass(Class c)
MemoryAPI getMemoryWithoutUpdate()
List< MarketAPI > getMarketsCopy()
Vector2f getLocationInHyperspace()
String getString(String key)