1package com.fs.starfarer.api.impl.campaign.enc;
3import java.util.Random;
5import org.lwjgl.util.vector.Vector2f;
7import com.fs.starfarer.api.campaign.CampaignFleetAPI;
8import com.fs.starfarer.api.campaign.FleetAssignment;
9import com.fs.starfarer.api.campaign.SectorEntityToken;
10import com.fs.starfarer.api.impl.campaign.fleets.AutoDespawnScript;
11import com.fs.starfarer.api.impl.campaign.ids.Factions;
12import com.fs.starfarer.api.impl.campaign.ids.FleetTypes;
13import com.fs.starfarer.api.impl.campaign.ids.Tags;
14import com.fs.starfarer.api.impl.campaign.missions.FleetCreatorMission;
15import com.fs.starfarer.api.impl.campaign.missions.hub.HubMissionWithTriggers.FleetQuality;
16import com.fs.starfarer.api.impl.campaign.missions.hub.HubMissionWithTriggers.FleetSize;
17import com.fs.starfarer.api.impl.campaign.missions.hub.HubMissionWithTriggers.OfficerNum;
18import com.fs.starfarer.api.impl.campaign.missions.hub.HubMissionWithTriggers.OfficerQuality;
19import com.fs.starfarer.api.impl.campaign.procgen.themes.RemnantStationFleetManager;
20import com.fs.starfarer.api.util.Misc;
40 difficulty += (int) Math.min(fm.
getTotalLost() * mult, max);
41 difficulty += random.nextInt(4);
42 if (difficulty > 10) difficulty = 10;
49 FleetSize size = FleetSize.MEDIUM;
50 FleetQuality quality = FleetQuality.VERY_HIGH;
51 OfficerQuality oQuality = OfficerQuality.AI_MIXED;
52 OfficerNum oNum = OfficerNum.ALL_SHIPS;
55 if (difficulty <= 1) {
56 size = FleetSize.VERY_SMALL;
58 oQuality = OfficerQuality.AI_GAMMA;
59 }
else if (difficulty <= 2) {
60 size = FleetSize.SMALL;
62 oQuality = OfficerQuality.AI_GAMMA;
63 }
else if (difficulty <= 5) {
64 size = FleetSize.MEDIUM;
66 oQuality = OfficerQuality.AI_BETA_OR_GAMMA;
67 }
else if (difficulty <= 7) {
68 size = FleetSize.LARGE;
70 oQuality = OfficerQuality.AI_BETA_OR_GAMMA;
71 }
else if (difficulty == 8) {
72 size = FleetSize.LARGE;
74 oQuality = OfficerQuality.AI_MIXED;
75 }
else if (difficulty == 9) {
76 size = FleetSize.LARGER;
78 oQuality = OfficerQuality.AI_ALPHA;
80 size = FleetSize.VERY_LARGE;
82 oQuality = OfficerQuality.AI_ALPHA;
96 String actionText =
"patrolling";
97 if (difficulty <= 2) actionText =
"reconnoitering";
117 return 10f * (float) Math.min(10f, fm.
getTotalLost()) * mult;
static String EP_TYPE_OUTSIDE_SYSTEM
void createEncounter(EncounterManager manager, EncounterPoint point)
float getFrequencyForPoint(EncounterManager manager, EncounterPoint point)
SectorEntityToken getSource()
static final String REMNANTS
static final String PATROL_SMALL
static final String PATROL_LARGE
static final String PATROL_MEDIUM
CampaignFleetAPI createFleet()
void triggerFleetUnsetAllowLongPursuit()
void triggerSetFleetOfficers(OfficerNum num, OfficerQuality quality)
void triggerSetRemnantConfigActive()
void triggerCreateFleet(FleetSize size, FleetQuality quality, String factionId, String type, StarSystemAPI roughlyWhere)
static Vector2f getPointWithinRadius(Vector2f from, float r)
GO_TO_LOCATION_AND_DESPAWN
void addAssignment(FleetAssignment assignment, SectorEntityToken target, float maxDurationInDays)
void setLocation(float x, float y)
boolean hasTag(String tag)
void addEntity(SectorEntityToken entity)
SectorEntityToken createToken(float x, float y)
void addScript(EveryFrameScript script)
StarSystemAPI getStarSystem()