Starsector API
Loading...
Searching...
No Matches
DistressCallPirateAmbushAssignmentAI.java
Go to the documentation of this file.
1package com.fs.starfarer.api.impl.campaign.events.nearby;
2
3import com.fs.starfarer.api.Global;
4import com.fs.starfarer.api.campaign.CampaignFleetAPI;
5import com.fs.starfarer.api.campaign.FleetAssignment;
6import com.fs.starfarer.api.campaign.SectorEntityToken;
7import com.fs.starfarer.api.campaign.StarSystemAPI;
8import com.fs.starfarer.api.impl.campaign.procgen.themes.BaseAssignmentAI;
9import com.fs.starfarer.api.util.Misc;
10
11public class DistressCallPirateAmbushAssignmentAI extends BaseAssignmentAI {
12
13 protected StarSystemAPI system;
14 protected SectorEntityToken jumpPoint;
15
16 protected float elapsed = 0f;
17 protected float dur = 30f + (float) Math.random() * 20f;
18
19 public DistressCallPirateAmbushAssignmentAI(CampaignFleetAPI fleet, StarSystemAPI system, SectorEntityToken jumpPoint) {
20 super();
21 this.fleet = fleet;
22 this.system = system;
23 this.jumpPoint = jumpPoint;
24
26 }
27
28 @Override
29 protected void giveInitialAssignments() {
30 fleet.addAssignment(FleetAssignment.ORBIT_AGGRESSIVE, jumpPoint, 1000f, "laying in wait");
31 }
32
33 @Override
34 protected void pickNext() {
35 fleet.addAssignment(FleetAssignment.ORBIT_AGGRESSIVE, jumpPoint, 1000f, "laying in wait");
36 }
37
38 @Override
39 public void advance(float amount) {
40 super.advance(amount);
41
42 float days = Global.getSector().getClock().convertToDays(amount);
43
44 elapsed += days;
45
46 if (elapsed >= dur) {
47 Misc.giveStandardReturnToSourceAssignments(fleet);
48 }
49 }
50
51}
52
53
54
55
56
57
58
59
60
61
62
63
static SectorAPI getSector()
Definition Global.java:59
DistressCallPirateAmbushAssignmentAI(CampaignFleetAPI fleet, StarSystemAPI system, SectorEntityToken jumpPoint)