Starsector API
Loading...
Searching...
No Matches
GAPZPostEncounters.java
Go to the documentation of this file.
1package com.fs.starfarer.api.impl.campaign.missions.academy;
2
3import org.lwjgl.util.vector.Vector2f;
4
5import com.fs.starfarer.api.EveryFrameScript;
6import com.fs.starfarer.api.Global;
7import com.fs.starfarer.api.campaign.FactionAPI.ShipPickMode;
8import com.fs.starfarer.api.impl.campaign.ids.Factions;
9import com.fs.starfarer.api.impl.campaign.ids.FleetTypes;
10import com.fs.starfarer.api.impl.campaign.ids.People;
11import com.fs.starfarer.api.impl.campaign.missions.DelayedFleetEncounter;
12import com.fs.starfarer.api.impl.campaign.missions.hub.HubMissionWithTriggers.FleetQuality;
13import com.fs.starfarer.api.impl.campaign.missions.hub.HubMissionWithTriggers.FleetSize;
14import com.fs.starfarer.api.impl.campaign.missions.hub.HubMissionWithTriggers.OfficerNum;
15import com.fs.starfarer.api.impl.campaign.missions.hub.HubMissionWithTriggers.OfficerQuality;
16import com.fs.starfarer.api.impl.campaign.missions.hub.HubMissionWithTriggers.SetMemoryValueAfterDelay;
17import com.fs.starfarer.api.util.Misc;
18
19public class GAPZPostEncounters implements EveryFrameScript {
20
21 public static boolean debug = false;
22 public static String id = "gaPZ";
23
24 public static void init() {
25 //debug = true;
26
27 float cottonDelay = 30f + (float) Math.random() * 30f;
28 if (debug) cottonDelay = 0f;
29 SetMemoryValueAfterDelay action = new SetMemoryValueAfterDelay(cottonDelay,
30 Global.getSector().getMemoryWithoutUpdate(), "$gaPZ_brotherCottonEncounter", true);
31 action.doAction(null);
32
33
34 {
35 DelayedFleetEncounter e = new DelayedFleetEncounter(Misc.getRandom(Misc.genRandomSeed(), 0), id);
36 if (debug) {
37 e.setDelayNone();
38 } else {
39 e.setDelayShort();
40 }
41 e.setLocationCoreOnly(true, Factions.HEGEMONY);
43 e.setRequireFactionPresence(Factions.HEGEMONY);
45
46 e.beginCreate();
47 e.triggerCreateFleet(FleetSize.HUGE, FleetQuality.VERY_HIGH, Factions.HEGEMONY, FleetTypes.TASK_FORCE, new Vector2f());
48 e.setFleetSource("coatl", "chicomoztoc");
49
50 e.triggerSetFleetOfficers(OfficerNum.MORE, OfficerQuality.HIGHER);
51 e.triggerSetFleetFlag("$gaPZ_hegemony");
53 e.triggerFleetMakeImportantPermanent(null);
54 e.triggerFleetAddDefeatTriggerPermanent("GAPZGoAwayTrigger");
55 e.endCreate();
56 }
57
58 {
59 DelayedFleetEncounter e = new DelayedFleetEncounter(Misc.getRandom(Misc.genRandomSeed(), 0), id);
60 if (debug) {
61 e.setDelayNone();
62 } else {
63 e.setDelayShort();
64 }
65 e.setLocationCoreOnly(true, Factions.TRITACHYON);
67 e.setRequireFactionPresence(Factions.TRITACHYON);
69
70 e.beginCreate();
71 e.triggerCreateFleet(FleetSize.VERY_LARGE, FleetQuality.SMOD_1, Factions.TRITACHYON, FleetTypes.TASK_FORCE, new Vector2f());
72 e.setFleetSource("culann", "eochu_bres");
73
74 e.triggerSetFleetOfficers(OfficerNum.MORE, OfficerQuality.HIGHER);
75 e.triggerSetFleetFlag("$gaPZ_tritachyon");
77 e.triggerFleetMakeImportantPermanent(null);
78 e.triggerFleetAddDefeatTriggerPermanent("GAPZGoAwayTrigger");
79 e.endCreate();
80 }
81
82 {
83 DelayedFleetEncounter e = new DelayedFleetEncounter(Misc.getRandom(Misc.genRandomSeed(), 0), id);
84 if (debug) {
85 e.setDelayNone();
86 } else {
87 e.setDelayShort();
88 }
89 String factionId = Factions.LUDDIC_CHURCH;
90 e.setLocationCoreOnly(true, factionId);
92 e.setRequireFactionPresence(factionId);
94
95 e.beginCreate();
96 e.triggerCreateFleet(FleetSize.LARGE, FleetQuality.HIGHER, factionId, FleetTypes.TASK_FORCE, new Vector2f());
97 e.setFleetSource("baetis");
98
99 e.triggerSetFleetOfficers(OfficerNum.MORE, OfficerQuality.DEFAULT);
100 e.triggerSetFleetFlag("$gaPZ_luddic_church");
101 e.triggerFleetAllowLongPursuit();
102 e.triggerSetFleetAlwaysPursue();
103 e.triggerOrderFleetInterceptPlayer();
104 e.triggerMakeFleetAllowDisengage();
105 e.triggerOrderFleetMaybeEBurn();
106 e.triggerFleetMakeImportantPermanent(null);
107 e.triggerFleetAddDefeatTriggerPermanent("GAPZGoAwayTrigger");
108 e.endCreate();
109 }
110
111 {
112 DelayedFleetEncounter e = new DelayedFleetEncounter(Misc.getRandom(Misc.genRandomSeed(), 0), id);
113 if (debug) {
114 e.setDelayNone();
115 } else {
116 e.setDelayShort();
117 }
118 String factionId = Factions.PERSEAN;
119 e.setLocationCoreOnly(true, factionId);
121 e.setRequireFactionPresence(factionId);
123
124 e.beginCreate();
125 e.triggerCreateFleet(FleetSize.MEDIUM, FleetQuality.HIGHER, factionId, FleetTypes.PATROL_MEDIUM, new Vector2f());
126 e.triggerSetFleetFaction(Factions.PERSEAN);
127 e.triggerSetFleetCommander(People.getPerson(People.SIYAVONG));
128 //e.triggerSet
129 e.triggerSetFleetOfficers(OfficerNum.MORE, OfficerQuality.HIGHER);
130 e.triggerMakeNonHostile();
131 e.triggerFleetAllowLongPursuit();
132 e.triggerSetFleetAlwaysPursue();
133 e.triggerOrderFleetInterceptPlayer();
134 e.triggerMakeFleetAllowDisengage();
135 e.triggerOrderFleetMaybeEBurn();
136
137 e.setFleetSource("kazeron");
138
139 e.triggerSetFleetFlag("$gaPZ_persean");
141 e.triggerFleetMakeImportantPermanent(null);
142 e.triggerFleetAddDefeatTriggerPermanent("GAPZGoAwayTrigger");
143 e.endCreate();
144 }
145
146 {
147 DelayedFleetEncounter e = new DelayedFleetEncounter(Misc.getRandom(Misc.genRandomSeed(), 0), id);
148 if (debug) {
149 e.setDelayNone();
150 } else {
151 e.setDelayShort();
152 }
153
154 String factionId = Factions.DIKTAT;
155 e.setLocationCoreOnly(true, factionId);
157 e.setRequireFactionPresence(factionId);
159
160 e.beginCreate();
161 e.triggerCreateFleet(FleetSize.HUGE, FleetQuality.SMOD_1, Factions.LIONS_GUARD, FleetTypes.PATROL_LARGE, new Vector2f());
162 e.setFleetSource("sindria");
163 e.triggerSetFleetFaction(factionId);
164 e.triggerFleetSetShipPickMode(ShipPickMode.PRIORITY_THEN_ALL);
165 e.triggerFleetSetNoFactionInName();
166 e.triggerMakeNoRepImpact();
167
168 e.triggerSetFleetOfficers(OfficerNum.MORE, OfficerQuality.HIGHER);
169 e.triggerSetFleetFlag("$gaPZ_diktat");
171 e.triggerFleetMakeImportantPermanent(null);
172 e.triggerFleetAddDefeatTriggerPermanent("GAPZGoAwayTrigger");
173 e.endCreate();
174 }
175 }
176
178 {
179 DelayedFleetEncounter e = new DelayedFleetEncounter(Misc.getRandom(Misc.genRandomSeed(), 0), id);
180 if (debug) {
181 e.setDelayNone();
182 } else {
183 e.setDelay(10, 15);
184 }
185
186 String factionId = Factions.DIKTAT;
187 e.setLocationCoreOnly(true, factionId);
189 e.setRequireFactionPresence(factionId);
191
192 e.beginCreate();
193 e.triggerCreateFleet(FleetSize.MEDIUM, FleetQuality.DEFAULT, Factions.DIKTAT, FleetTypes.INSPECTION_FLEET, new Vector2f());
194 e.setFleetSource("sindria");
195 e.triggerSetFleetFaction(factionId);
196 //e.triggerFleetSetShipPickMode(ShipPickMode.PRIORITY_THEN_ALL);
197 //e.triggerFleetSetNoFactionInName();
198 //e.triggerSetFleetOfficers(OfficerNum.MORE, OfficerQuality.HIGHER);
199 e.triggerSetFleetFlag("$gaPZ_diktatSecond");
200 //e.triggerSetStandardAggroInterceptFlags();
201 e.triggerFleetAllowLongPursuit();
202 e.triggerSetFleetAlwaysPursue();
203 e.triggerOrderFleetInterceptPlayer();
204 e.triggerOrderFleetMaybeEBurn();
205 e.triggerFleetMakeImportantPermanent(null);
206 e.triggerFleetAddDefeatTriggerPermanent("GAPZGoAwayTrigger");
207 e.endCreate();
208
209 return e;
210 }
211 }
212
213 public void advance(float amount) {
214
215 }
216
217 public boolean isDone() {
218 return false;
219 }
220
221 public boolean runWhilePaused() {
222 return false;
223 }
224
225}
static SectorAPI getSector()
Definition Global.java:59
void triggerCreateFleet(FleetSize size, FleetQuality quality, String factionId, String type, SectorEntityToken roughlyWhere)
void setLocationCoreOnly(boolean allowInsidePopulatedSystems, String requireLargestMarketNotHostileToFaction)