85 protected CampaignFleetAPI
createFleet(
int size,
float damage) {
89 Vector2f loc =
origin.getLocationInHyperspace();
91 FleetCreatorMission m =
new FleetCreatorMission(r);
100 m.triggerCreateFleet(FleetSize.MAXIMUM, FleetQuality.SMOD_2,
params.factionId, FleetTypes.LEAGUE_ARMADA, loc);
101 m.triggerSetFleetOfficers(OfficerNum.MORE, OfficerQuality.HIGHER);
102 m.triggerSetFleetFlag(
ARMADA);
104 m.triggerSetFleetType(FleetTypes.LEAGUE_ARMADA);
105 m.triggerSetFleetDoctrineQuality(5, 5, 5);
106 m.triggerSetFleetDoctrineOther(5, 0);
107 m.triggerSetFleetComposition(0f, 0f, 0f, 0f, 0f);
108 m.triggerFleetMakeFaster(
true, 1,
false);
110 m.triggerFleetAddCommanderSkill(Skills.CREW_TRAINING, 1);
111 m.triggerFleetAddCommanderSkill(Skills.COORDINATED_MANEUVERS, 1);
112 m.triggerFleetAddCommanderSkill(Skills.TACTICAL_DRILLS, 1);
113 m.triggerFleetAddCommanderSkill(Skills.CARRIER_GROUP, 1);
114 }
else if (supplyFleet) {
118 for (Integer i :
params.fleetSizes) total += i;
120 FleetSize supplyFleetSize = FleetSize.MEDIUM;
122 supplyFleetSize = FleetSize.SMALL;
123 }
else if (total >= 80) {
124 supplyFleetSize = FleetSize.LARGE;
127 m.triggerCreateFleet(supplyFleetSize, FleetQuality.DEFAULT,
params.factionId, FleetTypes.SUPPLY_FLEET, loc);
128 m.triggerSetFleetOfficers(OfficerNum.DEFAULT, OfficerQuality.DEFAULT);
129 m.triggerSetFleetFlag(
SUPPLY);
131 m.triggerSetFleetType(FleetTypes.SUPPLY_FLEET);
132 m.triggerFleetMakeFaster(
true, 0,
false);
134 m.triggerSetFleetComposition(0.5f, 0.5f, 0.1f, 0f, 0.1f);
136 m.createFleet(
params.style, size,
params.factionId, loc);
137 m.triggerSetFleetFlag(
GENERIC);
140 m.setFleetSource(
params.source);
141 m.setFleetDamageTaken(damage);
143 m.triggerSetPatrol();
144 m.triggerMakeLowRepImpact();
145 m.triggerMakeAlwaysSpreadTOffHostility();
148 CampaignFleetAPI fleet = m.createFleet();
150 if (fleet !=
null && !armada && !supplyFleet) {
154 if (fleet !=
null && armada) {
155 fleet.getCommander().setRankId(Ranks.SPACE_ADMIRAL);
199 super.periodicUpdate();
201 if (HostileActivityEventIntel.get() ==
null) {
208 MutableStatWithTempMods stat = HostileActivityEventIntel.get().getNumFleetsStat(
getTargetSystem());
216 for (CampaignFleetAPI curr :
getFleets()) {
217 if (curr.getMemoryWithoutUpdate().getBoolean(
ARMADA)) {
220 if (curr.getMemoryWithoutUpdate().getBoolean(
SUPPLY)) {
225 if (armada <= 0 || supply <= 0) {
234 for (CampaignFleetAPI curr :
getFleets()) {
235 if (blockade.
getPrimary().getContainingLocation() != curr.getContainingLocation()) {
238 if (curr.getMemoryWithoutUpdate().getBoolean(
SUPPLY)) {
239 Misc.setFlagWithReason(curr.getMemoryWithoutUpdate(), MemFlags.FLEET_BUSY, curr.getId(),
true, -1f);
241 curr.getMemoryWithoutUpdate().set(MemFlags.MEMORY_KEY_FLEET_DO_NOT_GET_SIDETRACKED,
true, 0.4f);
242 curr.clearAssignments();
244 SectorEntityToken resupplyLoc = blockade.
getPrimary();
245 if (supplyIndex == 1) {
247 if (jp != resupplyLoc) {
253 curr.addAssignment(FleetAssignment.ORBIT_PASSIVE, resupplyLoc, 3f,
254 "standing by to provide resupply");
256 }
else if (curr.getMemoryWithoutUpdate().getBoolean(
ARMADA)) {
259 curr.getMemoryWithoutUpdate().set(MemFlags.WILL_HASSLE_PLAYER,
true, 2f);
260 curr.getMemoryWithoutUpdate().set(MemFlags.HASSLE_TYPE, PerseanLeagueHostileActivityFactor.HASSLE_REASON, 2f);