Starsector API
Loading...
Searching...
No Matches
FleetParamsV3.java
Go to the documentation of this file.
1package com.fs.starfarer.api.impl.campaign.fleets;
2
3import java.util.List;
4import java.util.Random;
5
6import org.lwjgl.util.vector.Vector2f;
7
8import com.fs.starfarer.api.Global;
9import com.fs.starfarer.api.campaign.FactionAPI;
10import com.fs.starfarer.api.campaign.FactionAPI.ShipPickMode;
11import com.fs.starfarer.api.campaign.FactionDoctrineAPI;
12import com.fs.starfarer.api.campaign.econ.MarketAPI;
13import com.fs.starfarer.api.characters.PersonAPI;
14import com.fs.starfarer.api.combat.ShipVariantAPI;
15import com.fs.starfarer.api.impl.campaign.missions.hub.HubMissionWithTriggers;
16import com.fs.starfarer.api.util.Misc;
17
29public class FleetParamsV3 {
35
36 public Vector2f locInHyper;
37 public float quality;
38 public String factionId;
39 public String fleetType;
40
41 public float combatPts;
42 public float freighterPts;
43 public float tankerPts;
44 public float transportPts;
45 public float linerPts;
46 public float utilityPts;
47
49
50
54 public int maxShipSize = 1000;
55
59 public int minShipSize = 0;
60
61 public float qualityMod = 0f;
62 public Float qualityOverride = null;
63 public Integer averageSMods = null;
64 public boolean withOfficers = true;
65// public boolean applyDoctrineFleetSize = true;
66// public boolean applyMarketSizeToFleetSize = true;
67// public boolean applyShipsDeficit = true;
68 public Boolean ignoreMarketFleetSizeMult = null;
69 public Boolean onlyApplyFleetSizeToCombatShips = null;
70 public Boolean doNotPrune = null;
71 public Boolean doNotAddShipsBeforePruning = null;
72 public ShipPickMode modeOverride = null;
73
74 public int officerLevelBonus = 0;
75 public int officerNumberBonus = 0;
76 public Integer maxOfficersToAdd = null;
77 public float officerNumberMult = 1;
78 public int officerLevelLimit = 0;
79 public int commanderLevelLimit = 0;
80// public int maxOfficers = -1;
81// public int minOfficers = -1;
82 public Random random = null;
84
85 public Boolean noCommanderSkills;
89 //public Boolean forceNoTimestamp;
90 public Long timestamp;
91
92 public Integer maxNumShips;
93 public Boolean onlyRetainFlagship;
94 public String flagshipVariantId;
96 //public Boolean allowEmptyFleet = null;
97
98 public HubMissionWithTriggers.OfficerQuality aiCores = null;
99 public boolean doNotIntegrateAICores = false;
100
101 // Used in FleetFactoryV3 to pass some data between methods. Do not use directly.
102 public transient ShipPickMode mode;
103 public transient boolean banPhaseShipsEtc;
104 public transient Boolean blockFallback = null;
105
106 public Boolean allWeapons = null;
107
111 public List<String> addShips;
112
114 float combatPts, float freighterPts, float tankerPts,
115 float transportPts, float linerPts,
116 float utilityPts, float qualityMod) {
117 if (source != null) {
119 if (factionId != null) {
120 this.factionId = factionId;
121 }
122 this.qualityOverride = qualityOverride;
123 this.locInHyper = locInHyper;
124 } else {
127 }
128 }
129
130 public FleetParamsV3() {
131
132 }
133
141
148
149 public void init(MarketAPI source, String fleetType, String factionId,
150 float combatPts, float freighterPts, float tankerPts,
151 float transportPts, float linerPts,
152 float utilityPts, float qualityMod) {
153 init(source.getLocationInHyperspace(), null, null,
155 this.factionId = source.getFactionId();
156 if (factionId != null) {
157 this.factionId = factionId;
158 }
159 this.source = source;
162 }
163
164 public void init(Vector2f locInHyper, String factionId, Float qualityOverride, String fleetType,
165 float combatPts, float freighterPts, float tankerPts,
166 float transportPts, float linerPts,
167 float utilityPts, float qualityMod) {
168 this.locInHyper = locInHyper;
169 this.factionId = factionId;
170 this.qualityOverride = qualityOverride;
171 this.fleetType = fleetType;
172 this.combatPts = combatPts;
173 this.freighterPts = freighterPts;
174 this.tankerPts = tankerPts;
175 this.transportPts = transportPts;
176 this.linerPts = linerPts;
177 this.utilityPts = utilityPts;
178 this.qualityMod = qualityMod;
179 }
180
181 public void setSource(MarketAPI source, boolean updateQuality) {
182 this.source = source;
183 if (updateQuality) {
185 }
186 }
187
188
190 if (source != null) {
191 this.quality = Misc.getShipQuality(source, factionId);
192 }
193
194// this.quality = 0f;
195// if (producer != null) {
196// this.quality = producer.getStats().getDynamic().getMod(Stats.PRODUCTION_QUALITY_MOD).computeEffective(0f);
197// }
198// if (source != null) {
199// this.quality += source.getStats().getDynamic().getMod(Stats.FLEET_QUALITY_MOD).computeEffective(0f);
200// //this.quality += source.getFaction().getDoctrine().getShipQualityContribution();
201// } else if (factionId != null) {
202// this.quality += Global.getSector().getFaction(factionId).getDoctrine().getShipQualityContribution();
203// }
204 }
205
206 public float getTotalPts() {
208 }
209
210
211}
212
213
214
215
216
217
218
219
220
221
222
static SectorAPI getSector()
Definition Global.java:65
void init(Vector2f locInHyper, String factionId, Float qualityOverride, String fleetType, float combatPts, float freighterPts, float tankerPts, float transportPts, float linerPts, float utilityPts, float qualityMod)
HubMissionWithTriggers.OfficerQuality aiCores
FleetParamsV3(Vector2f locInHyper, String factionId, Float qualityOverride, String fleetType, float combatPts, float freighterPts, float tankerPts, float transportPts, float linerPts, float utilityPts, float qualityMod)
void setSource(MarketAPI source, boolean updateQuality)
FleetParamsV3(MarketAPI source, Vector2f locInHyper, String factionId, Float qualityOverride, String fleetType, float combatPts, float freighterPts, float tankerPts, float transportPts, float linerPts, float utilityPts, float qualityMod)
void init(MarketAPI source, String fleetType, String factionId, float combatPts, float freighterPts, float tankerPts, float transportPts, float linerPts, float utilityPts, float qualityMod)
FleetParamsV3(MarketAPI source, String fleetType, float combatPts, float freighterPts, float tankerPts, float transportPts, float linerPts, float utilityPts, float qualityMod)
static float getShipQuality(MarketAPI market)
Definition Misc.java:4505