1package com.fs.starfarer.api.impl.campaign.intel.raid;
3import com.fs.starfarer.api.campaign.CampaignFleetAPI;
4import com.fs.starfarer.api.campaign.FleetActionTextProvider;
5import com.fs.starfarer.api.campaign.FleetAssignment;
6import com.fs.starfarer.api.campaign.ai.FleetAssignmentDataAPI;
7import com.fs.starfarer.api.impl.campaign.fleets.RouteManager.RouteData;
8import com.fs.starfarer.api.impl.campaign.fleets.RouteManager.RouteSegment;
9import com.fs.starfarer.api.impl.campaign.ids.MemFlags;
10import com.fs.starfarer.api.impl.campaign.procgen.themes.RouteFleetAssignmentAI;
11import com.fs.starfarer.api.util.Misc;
13public class RaidAssignmentAI extends RouteFleetAssignmentAI implements FleetActionTextProvider {
15 public RaidAssignmentAI(CampaignFleetAPI fleet, RouteData route, FleetActionDelegate delegate) {
16 super(fleet, route, delegate);
17 fleet.getAI().setActionTextProvider(
this);
22 super.advance(amount,
false);
24 RouteSegment curr = route.getCurrent();
31 Misc.setFlagWithReason(fleet.getMemoryWithoutUpdate(), MemFlags.FLEET_BUSY,
"raid_wait",
true, 1);
37 if (fleet.getMemoryWithoutUpdate().getBoolean(MemFlags.MEMORY_KEY_RAIDER)) {
45 return "waiting at rendezvous point";
48 if (delegate !=
null) s = delegate.getRaidInSystemText(fleet);
49 if (s ==
null) s =
"raiding";
55 return super.getEndingActionText(segment);
62 if (delegate !=
null) s = delegate.getRaidPrepText(fleet, segment.from);
63 if (s ==
null) s =
"preparing for raid";
66 if (segment.from == route.getMarket().getPrimaryEntity()) {
67 return "orbiting " + route.getMarket().getName();
71 if (delegate !=
null) s = delegate.getRaidDefaultText(fleet);
72 if (s ==
null) s =
"raiding";
78 return super.getTravelActionText(segment);
82 FleetAssignmentDataAPI curr = fleet.getCurrentAssignment();
83 if (curr !=
null && curr.getAssignment() == FleetAssignment.PATROL_SYSTEM &&
84 curr.getActionText() ==
null) {
87 if (delegate !=
null) s = delegate.getRaidDefaultText(fleet);
88 if (s ==
null) s =
"raiding";
static final String PREP_STAGE
static final String WAIT_STAGE
static final String STRAGGLER
String getActionText(CampaignFleetAPI fleet)
String getEndingActionText(RouteSegment segment)
RaidAssignmentAI(CampaignFleetAPI fleet, RouteData route, FleetActionDelegate delegate)
String getTravelActionText(RouteSegment segment)
String getStartingActionText(RouteSegment segment)
void advance(float amount)
String getInSystemActionText(RouteSegment segment)