Starsector API
Loading...
Searching...
No Matches
SindrianDiktatPunitiveExpedition.java
Go to the documentation of this file.
1package com.fs.starfarer.api.impl.campaign.intel.group;
2
3import com.fs.starfarer.api.Global;
4import com.fs.starfarer.api.campaign.CampaignFleetAPI;
5import com.fs.starfarer.api.impl.campaign.ids.Factions;
6import com.fs.starfarer.api.impl.campaign.ids.FleetTypes;
7import com.fs.starfarer.api.impl.campaign.ids.MemFlags;
8import com.fs.starfarer.api.impl.campaign.missions.FleetCreatorMission;
9import com.fs.starfarer.api.util.IntervalUtil;
10import com.fs.starfarer.api.util.Misc;
11
12
13
15
16 public static final String SDPE_FLEET = "$SDPE_fleet";
17
18 public static String KEY = "$SDPE_ref";
22
23
24 protected IntervalUtil interval = new IntervalUtil(0.1f, 0.3f);
25
26
27 public SindrianDiktatPunitiveExpedition(GenericRaidParams params) {
28 super(params);
29
31 }
32
33 @Override
34 protected String getFleetCreationFactionOverride(int size) {
35 return Factions.LIONS_GUARD;
36 }
37
38 @Override
39 protected void notifyEnding() {
40 super.notifyEnding();
41
43 }
44
45 @Override
46 protected void notifyEnded() {
47 super.notifyEnded();
48 }
49
50
51 @Override
52 public String getNoun() {
53 return super.getNoun();
54 //return "punitive expedition";
55 }
56
57 @Override
58 public String getForcesNoun() {
59 return super.getForcesNoun();
60 }
61
62
63 @Override
64 public String getBaseName() {
65 return super.getBaseName();
66 //return Misc.ucFirst(getFaction().getPersonNamePrefix()) + " " + "Punitive Expedition";
67 }
68
69
70 @Override
71 protected void preConfigureFleet(int size, FleetCreatorMission m) {
72 m.setFleetTypeMedium(FleetTypes.TASK_FORCE); // default would be "Patrol", don't want that
73 }
74
75 @Override
76 protected void configureFleet(int size, FleetCreatorMission m) {
78 if (size >= 8) {
79 m.triggerSetFleetDoctrineOther(5, 0); // more capitals in large fleets
80 }
81 }
82
83
84 @Override
85 public void abort() {
86 if (!isAborted()) {
87 for (CampaignFleetAPI curr : getFleets()) {
88 curr.getMemoryWithoutUpdate().unset(SDPE_FLEET);
89 }
90 }
91 super.abort();
92 }
93
94
95
96 @Override
97 public void advance(float amount) {
98 super.advance(amount);
99
100 float days = Misc.getDays(amount);
101 interval.advance(days);
102
103 if (interval.intervalElapsed()) {
105 String reason = "SDPunEx";
106 for (CampaignFleetAPI curr : getFleets()) {
107 Misc.setFlagWithReason(curr.getMemoryWithoutUpdate(), MemFlags.MEMORY_KEY_MAKE_HOSTILE,
108 reason, true, 1f);
109 }
110
111 }
112 }
113 }
114
115
116
117}
118
119
120
121
static SectorAPI getSector()
Definition Global.java:65
static float getDays(float amount)
Definition Misc.java:4663
static boolean setFlagWithReason(MemoryAPI memory, String flagKey, String reason, boolean value, float expire)
Definition Misc.java:1439
void set(String key, Object value)