1package com.fs.starfarer.api.impl.campaign;
3import java.util.ArrayList;
4import java.util.Collections;
5import java.util.HashMap;
6import java.util.HashSet;
7import java.util.Iterator;
8import java.util.LinkedHashSet;
11import java.util.Random;
14import com.fs.starfarer.api.BaseModPlugin;
15import com.fs.starfarer.api.EveryFrameScript;
16import com.fs.starfarer.api.Global;
17import com.fs.starfarer.api.PluginPick;
18import com.fs.starfarer.api.campaign.CampaignFleetAPI;
19import com.fs.starfarer.api.campaign.CampaignPlugin.PickPriority;
20import com.fs.starfarer.api.campaign.CampaignTerrainAPI;
21import com.fs.starfarer.api.campaign.FactionAPI;
22import com.fs.starfarer.api.campaign.GenericPluginManagerAPI;
23import com.fs.starfarer.api.campaign.JumpPointAPI.JumpDestination;
24import com.fs.starfarer.api.campaign.LocationAPI;
25import com.fs.starfarer.api.campaign.PersonImportance;
26import com.fs.starfarer.api.campaign.PlayerMarketTransaction.TransactionLineItem;
27import com.fs.starfarer.api.campaign.SectorAPI;
28import com.fs.starfarer.api.campaign.SectorEntityToken;
29import com.fs.starfarer.api.campaign.SpecialItemData;
30import com.fs.starfarer.api.campaign.StarSystemAPI;
31import com.fs.starfarer.api.campaign.econ.Industry;
32import com.fs.starfarer.api.campaign.econ.MarketAPI;
33import com.fs.starfarer.api.campaign.econ.MarketAPI.SurveyLevel;
34import com.fs.starfarer.api.campaign.econ.MonthlyReport;
35import com.fs.starfarer.api.campaign.econ.MonthlyReport.FDNode;
36import com.fs.starfarer.api.campaign.events.CampaignEventTarget;
37import com.fs.starfarer.api.campaign.listeners.CoreDiscoverEntityPlugin;
38import com.fs.starfarer.api.campaign.listeners.ListenerManagerAPI;
39import com.fs.starfarer.api.campaign.listeners.TestIndustryOptionProvider;
40import com.fs.starfarer.api.characters.AdminData;
41import com.fs.starfarer.api.characters.ImportantPeopleAPI;
42import com.fs.starfarer.api.characters.MutableCharacterStatsAPI;
43import com.fs.starfarer.api.characters.MutableCharacterStatsAPI.SkillLevelAPI;
44import com.fs.starfarer.api.characters.PersonAPI;
45import com.fs.starfarer.api.characters.SkillsChangeOfficerEffect;
46import com.fs.starfarer.api.characters.SkillsChangeRemoveExcessOPEffect;
47import com.fs.starfarer.api.characters.SkillsChangeRemoveSmodsEffect;
48import com.fs.starfarer.api.characters.SkillsChangeRemoveVentsCapsEffect;
49import com.fs.starfarer.api.combat.ShipAIConfig;
50import com.fs.starfarer.api.combat.ShipAIPlugin;
51import com.fs.starfarer.api.combat.ShipAPI;
52import com.fs.starfarer.api.fleet.FleetMemberAPI;
53import com.fs.starfarer.api.impl.PlayerFleetPersonnelTracker;
54import com.fs.starfarer.api.impl.campaign.CoreReputationPlugin.MissionCompletionRep;
55import com.fs.starfarer.api.impl.campaign.DerelictShipEntityPlugin.DerelictShipData;
56import com.fs.starfarer.api.impl.campaign.GateEntityPlugin.GateData;
57import com.fs.starfarer.api.impl.campaign.MilitaryResponseScript.MilitaryResponseParams;
58import com.fs.starfarer.api.impl.campaign.TowCable.TowCableBuff;
59import com.fs.starfarer.api.impl.campaign.abilities.BaseAbilityPlugin;
60import com.fs.starfarer.api.impl.campaign.abilities.BaseDurationAbility;
61import com.fs.starfarer.api.impl.campaign.abilities.BaseToggleAbility;
62import com.fs.starfarer.api.impl.campaign.abilities.DistressCallAbility;
63import com.fs.starfarer.api.impl.campaign.abilities.DistressCallAbility.AbilityUseData;
64import com.fs.starfarer.api.impl.campaign.abilities.DistressCallAbility.DistressCallOutcome;
65import com.fs.starfarer.api.impl.campaign.abilities.DistressCallAbility.DistressResponseData;
66import com.fs.starfarer.api.impl.campaign.abilities.DistressCallResponseAssignmentAI;
67import com.fs.starfarer.api.impl.campaign.abilities.DistressCallResponsePirateAssignmentAI;
68import com.fs.starfarer.api.impl.campaign.abilities.EmergencyBurnAbility;
69import com.fs.starfarer.api.impl.campaign.abilities.FractureJumpAbility;
70import com.fs.starfarer.api.impl.campaign.abilities.GoDarkAbility;
71import com.fs.starfarer.api.impl.campaign.abilities.GraviticScanAbility;
72import com.fs.starfarer.api.impl.campaign.abilities.GraviticScanData;
73import com.fs.starfarer.api.impl.campaign.abilities.GraviticScanData.GSPing;
74import com.fs.starfarer.api.impl.campaign.abilities.InterdictionPulseAbility;
75import com.fs.starfarer.api.impl.campaign.abilities.InterdictionPulseAbility.IPReactionScript;
76import com.fs.starfarer.api.impl.campaign.abilities.RemoteSurveyAbility;
77import com.fs.starfarer.api.impl.campaign.abilities.ScavengeAbility;
78import com.fs.starfarer.api.impl.campaign.abilities.SensorBurstAbility;
79import com.fs.starfarer.api.impl.campaign.abilities.SustainedBurnAbility;
80import com.fs.starfarer.api.impl.campaign.abilities.TransponderAbility;
81import com.fs.starfarer.api.impl.campaign.abilities.ai.BaseAbilityAI;
82import com.fs.starfarer.api.impl.campaign.abilities.ai.EmergencyBurnAbilityAI;
83import com.fs.starfarer.api.impl.campaign.abilities.ai.GoDarkAbilityAI;
84import com.fs.starfarer.api.impl.campaign.abilities.ai.InterdictionPulseAbilityAI;
85import com.fs.starfarer.api.impl.campaign.abilities.ai.SensorBurstAbilityAI;
86import com.fs.starfarer.api.impl.campaign.abilities.ai.SustainedBurnAbilityAI;
87import com.fs.starfarer.api.impl.campaign.abilities.ai.TransponderAbilityAI;
88import com.fs.starfarer.api.impl.campaign.command.WarSimScript;
89import com.fs.starfarer.api.impl.campaign.econ.AbandonedStation;
90import com.fs.starfarer.api.impl.campaign.econ.BaseHazardCondition;
91import com.fs.starfarer.api.impl.campaign.econ.BaseMarketConditionPlugin;
92import com.fs.starfarer.api.impl.campaign.econ.CottageIndustry;
93import com.fs.starfarer.api.impl.campaign.econ.Decivilized;
94import com.fs.starfarer.api.impl.campaign.econ.Dissident;
95import com.fs.starfarer.api.impl.campaign.econ.FoodShortage;
96import com.fs.starfarer.api.impl.campaign.econ.FreeMarket;
97import com.fs.starfarer.api.impl.campaign.econ.Frontier;
98import com.fs.starfarer.api.impl.campaign.econ.Headquarters;
99import com.fs.starfarer.api.impl.campaign.econ.Hydroponics;
100import com.fs.starfarer.api.impl.campaign.econ.LargeRefugeePopulation;
101import com.fs.starfarer.api.impl.campaign.econ.LuddicMajority;
102import com.fs.starfarer.api.impl.campaign.econ.OrbitalBurns;
103import com.fs.starfarer.api.impl.campaign.econ.OrganizedCrime;
104import com.fs.starfarer.api.impl.campaign.econ.Outpost;
105import com.fs.starfarer.api.impl.campaign.econ.Population;
106import com.fs.starfarer.api.impl.campaign.econ.RecentUnrest;
107import com.fs.starfarer.api.impl.campaign.econ.RegionalCapital;
108import com.fs.starfarer.api.impl.campaign.econ.ResourceDepositsCondition;
109import com.fs.starfarer.api.impl.campaign.econ.RuralPolity;
110import com.fs.starfarer.api.impl.campaign.econ.ShipbreakingCenter;
111import com.fs.starfarer.api.impl.campaign.econ.ShippingDisruption;
112import com.fs.starfarer.api.impl.campaign.econ.Smuggling;
113import com.fs.starfarer.api.impl.campaign.econ.StealthMinefields;
114import com.fs.starfarer.api.impl.campaign.econ.SystemBounty;
115import com.fs.starfarer.api.impl.campaign.econ.TradeCenter;
116import com.fs.starfarer.api.impl.campaign.econ.TradeDisruption;
117import com.fs.starfarer.api.impl.campaign.econ.UrbanizedPolity;
118import com.fs.starfarer.api.impl.campaign.econ.ViceDemand;
119import com.fs.starfarer.api.impl.campaign.econ.WorldArid;
120import com.fs.starfarer.api.impl.campaign.econ.WorldBarrenMarginal;
121import com.fs.starfarer.api.impl.campaign.econ.WorldDesert;
122import com.fs.starfarer.api.impl.campaign.econ.WorldIce;
123import com.fs.starfarer.api.impl.campaign.econ.WorldJungle;
124import com.fs.starfarer.api.impl.campaign.econ.WorldTerran;
125import com.fs.starfarer.api.impl.campaign.econ.WorldTundra;
126import com.fs.starfarer.api.impl.campaign.econ.WorldTwilight;
127import com.fs.starfarer.api.impl.campaign.econ.WorldUninhabitable;
128import com.fs.starfarer.api.impl.campaign.econ.WorldWater;
129import com.fs.starfarer.api.impl.campaign.econ.impl.BaseIndustry;
130import com.fs.starfarer.api.impl.campaign.econ.impl.Cryorevival;
131import com.fs.starfarer.api.impl.campaign.econ.impl.Cryorevival.CryosleeperFactor;
132import com.fs.starfarer.api.impl.campaign.econ.impl.Cryosanctum;
133import com.fs.starfarer.api.impl.campaign.econ.impl.Farming;
134import com.fs.starfarer.api.impl.campaign.econ.impl.FuelProduction;
135import com.fs.starfarer.api.impl.campaign.econ.impl.GroundDefenses;
136import com.fs.starfarer.api.impl.campaign.econ.impl.HeavyIndustry;
137import com.fs.starfarer.api.impl.campaign.econ.impl.LightIndustry;
138import com.fs.starfarer.api.impl.campaign.econ.impl.LionsGuardHQ;
139import com.fs.starfarer.api.impl.campaign.econ.impl.MilitaryBase;
140import com.fs.starfarer.api.impl.campaign.econ.impl.Mining;
141import com.fs.starfarer.api.impl.campaign.econ.impl.OrbitalStation;
142import com.fs.starfarer.api.impl.campaign.econ.impl.PlanetaryShield;
143import com.fs.starfarer.api.impl.campaign.econ.impl.PopulationAndInfrastructure;
144import com.fs.starfarer.api.impl.campaign.econ.impl.PopulationAndInfrastructure.CoronalTapFactor;
145import com.fs.starfarer.api.impl.campaign.econ.impl.Refining;
146import com.fs.starfarer.api.impl.campaign.econ.impl.ShipQuality;
147import com.fs.starfarer.api.impl.campaign.econ.impl.Spaceport;
148import com.fs.starfarer.api.impl.campaign.econ.impl.TechMining;
149import com.fs.starfarer.api.impl.campaign.econ.impl.Waystation;
150import com.fs.starfarer.api.impl.campaign.enc.EncounterManager;
151import com.fs.starfarer.api.impl.campaign.enc.StrandedGiveTJScript;
152import com.fs.starfarer.api.impl.campaign.events.BaseEventPlugin;
153import com.fs.starfarer.api.impl.campaign.events.CoreEventProbabilityManager;
154import com.fs.starfarer.api.impl.campaign.events.FactionHostilityEvent;
155import com.fs.starfarer.api.impl.campaign.events.FactionHostilityEvent.FactionHostilityPairKey;
156import com.fs.starfarer.api.impl.campaign.events.FoodShortageEvent;
157import com.fs.starfarer.api.impl.campaign.events.InvestigationEventGoodRepWithOther;
158import com.fs.starfarer.api.impl.campaign.events.InvestigationEventSmugglingV2;
159import com.fs.starfarer.api.impl.campaign.events.OfficerManagerEvent;
160import com.fs.starfarer.api.impl.campaign.events.OfficerManagerEvent.AvailableOfficer;
161import com.fs.starfarer.api.impl.campaign.events.PriceUpdate;
162import com.fs.starfarer.api.impl.campaign.events.RecentUnrestEvent;
163import com.fs.starfarer.api.impl.campaign.events.RepTrackerEvent;
164import com.fs.starfarer.api.impl.campaign.events.RepTrackerEvent.FactionTradeRepData;
165import com.fs.starfarer.api.impl.campaign.events.TradeInfoUpdateEvent;
166import com.fs.starfarer.api.impl.campaign.events.nearby.DistressCallNormalAssignmentAI;
167import com.fs.starfarer.api.impl.campaign.events.nearby.DistressCallPirateAmbushAssignmentAI;
168import com.fs.starfarer.api.impl.campaign.events.nearby.DistressCallPirateAmbushTrapAssignmentAI;
169import com.fs.starfarer.api.impl.campaign.events.nearby.NearbyEventsEvent;
170import com.fs.starfarer.api.impl.campaign.events.nearby.NearbyEventsEvent.NESpawnData;
171import com.fs.starfarer.api.impl.campaign.fleets.BaseLimitedFleetManager.ManagedFleetData;
172import com.fs.starfarer.api.impl.campaign.fleets.BaseRouteFleetManager;
173import com.fs.starfarer.api.impl.campaign.fleets.CustomFleets;
174import com.fs.starfarer.api.impl.campaign.fleets.DefaultFleetInflater;
175import com.fs.starfarer.api.impl.campaign.fleets.DefaultFleetInflaterParams;
176import com.fs.starfarer.api.impl.campaign.fleets.DisposableAggroAssignmentAI;
177import com.fs.starfarer.api.impl.campaign.fleets.DisposableFleetManager;
178import com.fs.starfarer.api.impl.campaign.fleets.DisposableLuddicPathFleetManager;
179import com.fs.starfarer.api.impl.campaign.fleets.DisposablePirateFleetManager;
180import com.fs.starfarer.api.impl.campaign.fleets.EconomyFleetAssignmentAI;
181import com.fs.starfarer.api.impl.campaign.fleets.EconomyFleetAssignmentAI.CargoQuantityData;
182import com.fs.starfarer.api.impl.campaign.fleets.EconomyFleetAssignmentAI.EconomyRouteData;
183import com.fs.starfarer.api.impl.campaign.fleets.EconomyFleetRouteManager;
184import com.fs.starfarer.api.impl.campaign.fleets.FleetParamsV3;
185import com.fs.starfarer.api.impl.campaign.fleets.MercAssignmentAIV2;
186import com.fs.starfarer.api.impl.campaign.fleets.MercFleetManagerV2;
187import com.fs.starfarer.api.impl.campaign.fleets.PatrolAssignmentAI;
188import com.fs.starfarer.api.impl.campaign.fleets.PatrolAssignmentAIV4;
189import com.fs.starfarer.api.impl.campaign.fleets.PatrolFleetManager;
190import com.fs.starfarer.api.impl.campaign.fleets.PatrolFleetManager.PatrolFleetData;
191import com.fs.starfarer.api.impl.campaign.fleets.PatrolFleetManagerV2;
192import com.fs.starfarer.api.impl.campaign.fleets.PersonalFleetHoracioCaden;
193import com.fs.starfarer.api.impl.campaign.fleets.PersonalFleetOxanaHyder;
194import com.fs.starfarer.api.impl.campaign.fleets.RouteManager;
195import com.fs.starfarer.api.impl.campaign.fleets.RouteManager.OptionalFleetData;
196import com.fs.starfarer.api.impl.campaign.fleets.RouteManager.RouteData;
197import com.fs.starfarer.api.impl.campaign.fleets.RouteManager.RouteFleetSpawner;
198import com.fs.starfarer.api.impl.campaign.fleets.RouteManager.RouteSegment;
199import com.fs.starfarer.api.impl.campaign.fleets.SDFHegemony;
200import com.fs.starfarer.api.impl.campaign.fleets.SDFLeague;
201import com.fs.starfarer.api.impl.campaign.fleets.SDFLuddicChurch;
202import com.fs.starfarer.api.impl.campaign.fleets.SDFTriTachyon;
203import com.fs.starfarer.api.impl.campaign.fleets.SeededFleetManager;
204import com.fs.starfarer.api.impl.campaign.fleets.SeededFleetManager.SeededFleet;
205import com.fs.starfarer.api.impl.campaign.fleets.SourceBasedFleetManager;
206import com.fs.starfarer.api.impl.campaign.fleets.misc.MiscFleetRouteManager;
207import com.fs.starfarer.api.impl.campaign.ghosts.SensorGhostManager;
208import com.fs.starfarer.api.impl.campaign.graid.StandardGroundRaidObjectivesCreator;
209import com.fs.starfarer.api.impl.campaign.ids.Commodities;
210import com.fs.starfarer.api.impl.campaign.ids.Conditions;
211import com.fs.starfarer.api.impl.campaign.ids.Factions;
212import com.fs.starfarer.api.impl.campaign.ids.Industries;
213import com.fs.starfarer.api.impl.campaign.ids.MemFlags;
214import com.fs.starfarer.api.impl.campaign.ids.Missions;
215import com.fs.starfarer.api.impl.campaign.ids.People;
216import com.fs.starfarer.api.impl.campaign.ids.Personalities;
217import com.fs.starfarer.api.impl.campaign.ids.Ranks;
218import com.fs.starfarer.api.impl.campaign.ids.Skills;
219import com.fs.starfarer.api.impl.campaign.ids.Tags;
220import com.fs.starfarer.api.impl.campaign.intel.AnalyzeEntityIntelCreator;
221import com.fs.starfarer.api.impl.campaign.intel.AnalyzeEntityMissionIntel;
222import com.fs.starfarer.api.impl.campaign.intel.BaseIntelPlugin;
223import com.fs.starfarer.api.impl.campaign.intel.BaseMissionIntel;
224import com.fs.starfarer.api.impl.campaign.intel.BaseMissionIntel.MissionResult;
225import com.fs.starfarer.api.impl.campaign.intel.FactionCommissionIntel;
226import com.fs.starfarer.api.impl.campaign.intel.FactionCommissionIntel.RepChangeData;
227import com.fs.starfarer.api.impl.campaign.intel.FactionHostilityIntel;
228import com.fs.starfarer.api.impl.campaign.intel.FactionHostilityManager;
229import com.fs.starfarer.api.impl.campaign.intel.GenericMissionManager;
230import com.fs.starfarer.api.impl.campaign.intel.PersonBountyIntel;
231import com.fs.starfarer.api.impl.campaign.intel.PersonBountyManager;
232import com.fs.starfarer.api.impl.campaign.intel.ProcurementMissionCreator;
233import com.fs.starfarer.api.impl.campaign.intel.ProcurementMissionIntel;
234import com.fs.starfarer.api.impl.campaign.intel.SurveyPlanetIntelCreator;
235import com.fs.starfarer.api.impl.campaign.intel.SurveyPlanetMissionIntel;
236import com.fs.starfarer.api.impl.campaign.intel.SystemBountyIntel;
237import com.fs.starfarer.api.impl.campaign.intel.SystemBountyManager;
238import com.fs.starfarer.api.impl.campaign.intel.bar.PortsideBarData;
239import com.fs.starfarer.api.impl.campaign.intel.bar.events.BarEventManager;
240import com.fs.starfarer.api.impl.campaign.intel.bar.events.CorruptPLClerkSuppliesBarEvent;
241import com.fs.starfarer.api.impl.campaign.intel.bar.events.CorruptPLClerkSuppliesBarEventCreator;
242import com.fs.starfarer.api.impl.campaign.intel.bar.events.DeliveryBarEvent;
243import com.fs.starfarer.api.impl.campaign.intel.bar.events.DeliveryBarEventCreator;
244import com.fs.starfarer.api.impl.campaign.intel.bar.events.DeliveryFailureConsequences;
245import com.fs.starfarer.api.impl.campaign.intel.bar.events.DeliveryMissionIntel;
246import com.fs.starfarer.api.impl.campaign.intel.bar.events.DiktatLobsterBarEvent;
247import com.fs.starfarer.api.impl.campaign.intel.bar.events.DiktatLobsterBarEventCreator;
248import com.fs.starfarer.api.impl.campaign.intel.bar.events.LuddicCraftBarEvent;
249import com.fs.starfarer.api.impl.campaign.intel.bar.events.LuddicCraftBarEventCreator;
250import com.fs.starfarer.api.impl.campaign.intel.bar.events.LuddicFarmerBarEvent;
251import com.fs.starfarer.api.impl.campaign.intel.bar.events.LuddicFarmerBarEventCreator;
252import com.fs.starfarer.api.impl.campaign.intel.bar.events.LuddicPathBaseBarEvent;
253import com.fs.starfarer.api.impl.campaign.intel.bar.events.MercsOnTheRunBarEvent;
254import com.fs.starfarer.api.impl.campaign.intel.bar.events.MercsOnTheRunBarEventCreator;
256import com.fs.starfarer.api.impl.campaign.intel.bar.events.PirateBaseRumorBarEvent;
257import com.fs.starfarer.api.impl.campaign.intel.bar.events.PlanetaryShieldBarEventCreator;
258import com.fs.starfarer.api.impl.campaign.intel.bar.events.QuartermasterCargoSwapBarEvent;
259import com.fs.starfarer.api.impl.campaign.intel.bar.events.QuartermasterCargoSwapBarEventCreator;
260import com.fs.starfarer.api.impl.campaign.intel.bar.events.ScientistAICoreBarEvent;
261import com.fs.starfarer.api.impl.campaign.intel.bar.events.ScientistAICoreBarEventCreator;
262import com.fs.starfarer.api.impl.campaign.intel.bar.events.ScientistAICoreIntel;
263import com.fs.starfarer.api.impl.campaign.intel.bar.events.SpecBarEventCreator;
264import com.fs.starfarer.api.impl.campaign.intel.bar.events.TriTachLoanBarEvent;
265import com.fs.starfarer.api.impl.campaign.intel.bar.events.TriTachLoanBarEventCreator;
266import com.fs.starfarer.api.impl.campaign.intel.bar.events.TriTachLoanIncentiveScript;
267import com.fs.starfarer.api.impl.campaign.intel.bar.events.TriTachMajorLoanBarEvent;
268import com.fs.starfarer.api.impl.campaign.intel.bar.events.TriTachMajorLoanBarEventCreator;
269import com.fs.starfarer.api.impl.campaign.intel.bar.events.historian.DonationOfferCreator;
270import com.fs.starfarer.api.impl.campaign.intel.bar.events.historian.FighterBlueprintOfferCreator;
271import com.fs.starfarer.api.impl.campaign.intel.bar.events.historian.HistorianBarEvent;
272import com.fs.starfarer.api.impl.campaign.intel.bar.events.historian.HistorianBarEventCreator;
273import com.fs.starfarer.api.impl.campaign.intel.bar.events.historian.HistorianData;
274import com.fs.starfarer.api.impl.campaign.intel.bar.events.historian.ShipBlueprintOfferCreator;
275import com.fs.starfarer.api.impl.campaign.intel.bar.events.historian.SpecialItemOfferCreator;
276import com.fs.starfarer.api.impl.campaign.intel.bar.events.historian.WeaponBlueprintOffer;
277import com.fs.starfarer.api.impl.campaign.intel.bar.events.historian.WeaponBlueprintOfferCreator;
278import com.fs.starfarer.api.impl.campaign.intel.bases.LuddicPathBaseIntel;
279import com.fs.starfarer.api.impl.campaign.intel.bases.LuddicPathBaseManager;
280import com.fs.starfarer.api.impl.campaign.intel.bases.LuddicPathCells;
281import com.fs.starfarer.api.impl.campaign.intel.bases.LuddicPathCellsIntel;
282import com.fs.starfarer.api.impl.campaign.intel.bases.PirateActivity;
283import com.fs.starfarer.api.impl.campaign.intel.bases.PirateActivityIntel;
284import com.fs.starfarer.api.impl.campaign.intel.bases.PirateBaseIntel;
285import com.fs.starfarer.api.impl.campaign.intel.bases.PirateBaseIntel.BaseBountyData;
286import com.fs.starfarer.api.impl.campaign.intel.bases.PirateBaseManager;
287import com.fs.starfarer.api.impl.campaign.intel.bases.PlayerRelatedPirateBaseManager;
288import com.fs.starfarer.api.impl.campaign.intel.contacts.ContactIntel;
289import com.fs.starfarer.api.impl.campaign.intel.deciv.DecivIntel;
290import com.fs.starfarer.api.impl.campaign.intel.deciv.DecivTracker;
291import com.fs.starfarer.api.impl.campaign.intel.deciv.DecivTracker.MarketDecivData;
292import com.fs.starfarer.api.impl.campaign.intel.events.BaseEventIntel;
293import com.fs.starfarer.api.impl.campaign.intel.events.BaseEventIntel.EventStageData;
294import com.fs.starfarer.api.impl.campaign.intel.events.CommerceBountyManager;
295import com.fs.starfarer.api.impl.campaign.intel.events.DisposableHostileActivityFleetManager;
296import com.fs.starfarer.api.impl.campaign.intel.events.HostileActivityEventIntel;
297import com.fs.starfarer.api.impl.campaign.intel.events.HostileActivityManager;
298import com.fs.starfarer.api.impl.campaign.intel.events.ht.HTFactorTracker;
299import com.fs.starfarer.api.impl.campaign.intel.inspection.HegemonyInspectionManager;
300import com.fs.starfarer.api.impl.campaign.intel.misc.BreadcrumbIntel;
301import com.fs.starfarer.api.impl.campaign.intel.misc.BreadcrumbIntelV2;
302import com.fs.starfarer.api.impl.campaign.intel.misc.CargoPodsIntel;
303import com.fs.starfarer.api.impl.campaign.intel.misc.CommSnifferIntel;
304import com.fs.starfarer.api.impl.campaign.intel.misc.CryosleeperIntel;
305import com.fs.starfarer.api.impl.campaign.intel.misc.DistressCallIntel;
306import com.fs.starfarer.api.impl.campaign.intel.misc.GateIntel;
307import com.fs.starfarer.api.impl.campaign.intel.misc.HypershuntIntel;
308import com.fs.starfarer.api.impl.campaign.intel.misc.LuddicShrineIntel;
309import com.fs.starfarer.api.impl.campaign.intel.misc.ProductionReportIntel;
310import com.fs.starfarer.api.impl.campaign.intel.misc.RemnantNexusIntel;
311import com.fs.starfarer.api.impl.campaign.intel.misc.SalvorsTallyIntel;
312import com.fs.starfarer.api.impl.campaign.intel.misc.SimUpdateIntel;
313import com.fs.starfarer.api.impl.campaign.intel.misc.TradeFleetDepartureIntel;
314import com.fs.starfarer.api.impl.campaign.intel.misc.WarningBeaconIntel;
315import com.fs.starfarer.api.impl.campaign.intel.misc.WormholeIntel;
316import com.fs.starfarer.api.impl.campaign.intel.punitive.PunitiveExpeditionManager;
317import com.fs.starfarer.api.impl.campaign.intel.punitive.PunitiveExpeditionManager.PunExData;
318import com.fs.starfarer.api.impl.campaign.intel.raid.RaidIntel;
319import com.fs.starfarer.api.impl.campaign.missions.DelayedFleetEncounter;
320import com.fs.starfarer.api.impl.campaign.missions.academy.GAAtTheGates;
321import com.fs.starfarer.api.impl.campaign.missions.academy.GATransverseJump;
322import com.fs.starfarer.api.impl.campaign.missions.cb.BaseCustomBounty;
323import com.fs.starfarer.api.impl.campaign.missions.cb.BaseCustomBounty.AggregateBountyData;
324import com.fs.starfarer.api.impl.campaign.missions.hub.BaseHubMission;
325import com.fs.starfarer.api.impl.campaign.missions.hub.BaseHubMission.DefeatTriggerAdded;
326import com.fs.starfarer.api.impl.campaign.missions.hub.BaseHubMission.ImportanceData;
327import com.fs.starfarer.api.impl.campaign.missions.hub.BaseHubMission.StageConnection;
328import com.fs.starfarer.api.impl.campaign.missions.hub.BaseHubMission.StageData;
329import com.fs.starfarer.api.impl.campaign.missions.hub.BaseHubMission.VariableSet;
330import com.fs.starfarer.api.impl.campaign.missions.hub.BaseHubMissionCreator;
331import com.fs.starfarer.api.impl.campaign.missions.hub.BaseMissionHub;
332import com.fs.starfarer.api.impl.campaign.missions.hub.HubMissionBarEventWrapper;
333import com.fs.starfarer.api.impl.campaign.missions.hub.HubMissionWithTriggers;
334import com.fs.starfarer.api.impl.campaign.missions.hub.HubMissionWithTriggers.MakeNonStoryCriticalAction;
335import com.fs.starfarer.api.impl.campaign.missions.hub.HubMissionWithTriggers.SetFleetFlagAction;
336import com.fs.starfarer.api.impl.campaign.missions.hub.MissionFleetAutoDespawn;
337import com.fs.starfarer.api.impl.campaign.missions.hub.MissionTrigger;
338import com.fs.starfarer.api.impl.campaign.missions.hub.TriggerFleetAssignmentAI;
339import com.fs.starfarer.api.impl.campaign.plog.OfficerSkillGainRecord;
340import com.fs.starfarer.api.impl.campaign.plog.PLStatCargo;
341import com.fs.starfarer.api.impl.campaign.plog.PLStatColonies;
342import com.fs.starfarer.api.impl.campaign.plog.PLStatCredits;
343import com.fs.starfarer.api.impl.campaign.plog.PLStatCrew;
344import com.fs.starfarer.api.impl.campaign.plog.PLStatFleet;
345import com.fs.starfarer.api.impl.campaign.plog.PLStatFuel;
346import com.fs.starfarer.api.impl.campaign.plog.PLStatLevel;
347import com.fs.starfarer.api.impl.campaign.plog.PLStatMarines;
348import com.fs.starfarer.api.impl.campaign.plog.PLStatSupplies;
349import com.fs.starfarer.api.impl.campaign.plog.PLTextEntry;
350import com.fs.starfarer.api.impl.campaign.plog.PlaythroughLog;
351import com.fs.starfarer.api.impl.campaign.plog.SModRecord;
352import com.fs.starfarer.api.impl.campaign.procgen.DefenderDataOverride;
353import com.fs.starfarer.api.impl.campaign.procgen.ProcgenUsedNames;
354import com.fs.starfarer.api.impl.campaign.procgen.SectorProcGen;
355import com.fs.starfarer.api.impl.campaign.procgen.StarSystemGenerator;
356import com.fs.starfarer.api.impl.campaign.procgen.themes.BaseAssignmentAI;
357import com.fs.starfarer.api.impl.campaign.procgen.themes.OmegaOfficerGeneratorPlugin;
358import com.fs.starfarer.api.impl.campaign.procgen.themes.PKDefenderPluginImpl;
359import com.fs.starfarer.api.impl.campaign.procgen.themes.RemnantAssignmentAI;
360import com.fs.starfarer.api.impl.campaign.procgen.themes.RemnantOfficerGeneratorPlugin;
361import com.fs.starfarer.api.impl.campaign.procgen.themes.RemnantSeededFleetManager;
362import com.fs.starfarer.api.impl.campaign.procgen.themes.RemnantSeededFleetManager.RemnantFleetInteractionConfigGen;
363import com.fs.starfarer.api.impl.campaign.procgen.themes.RemnantStationFleetManager;
364import com.fs.starfarer.api.impl.campaign.procgen.themes.RemnantThemeGenerator.RemnantStationInteractionConfigGen;
365import com.fs.starfarer.api.impl.campaign.procgen.themes.RouteFleetAssignmentAI;
366import com.fs.starfarer.api.impl.campaign.procgen.themes.RuinsFleetRouteManager;
367import com.fs.starfarer.api.impl.campaign.procgen.themes.ScavengerFleetAssignmentAI;
368import com.fs.starfarer.api.impl.campaign.rulecmd.salvage.SalvageGenFromSeed.SalvageDefenderModificationPluginImpl;
369import com.fs.starfarer.api.impl.campaign.rulecmd.salvage.special.BaseSalvageSpecial.ExtraSalvage;
370import com.fs.starfarer.api.impl.campaign.rulecmd.salvage.special.BlueprintSpecial.BlueprintSpecialData;
371import com.fs.starfarer.api.impl.campaign.rulecmd.salvage.special.BreadcrumbSpecial.BreadcrumbSpecialData;
372import com.fs.starfarer.api.impl.campaign.rulecmd.salvage.special.CargoManifestSpecial.CargoManifestSpecialData;
373import com.fs.starfarer.api.impl.campaign.rulecmd.salvage.special.DomainSurveyDerelictSpecial;
374import com.fs.starfarer.api.impl.campaign.rulecmd.salvage.special.DomainSurveyDerelictSpecial.DomainSurveyDerelictSpecialData;
375import com.fs.starfarer.api.impl.campaign.rulecmd.salvage.special.DomainSurveyDerelictSpecial.SpecialType;
376import com.fs.starfarer.api.impl.campaign.rulecmd.salvage.special.ShipRecoverySpecial.PerShipData;
377import com.fs.starfarer.api.impl.campaign.rulecmd.salvage.special.ShipRecoverySpecial.ShipCondition;
378import com.fs.starfarer.api.impl.campaign.rulecmd.salvage.special.ShipRecoverySpecial.ShipRecoverySpecialData;
379import com.fs.starfarer.api.impl.campaign.rulecmd.salvage.special.SleeperPodsSpecial.SleeperPodsSpecialData;
380import com.fs.starfarer.api.impl.campaign.rulecmd.salvage.special.SleeperPodsSpecial.SleeperSpecialType;
381import com.fs.starfarer.api.impl.campaign.rulecmd.salvage.special.SurveyDataSpecial.SurveyDataSpecialData;
382import com.fs.starfarer.api.impl.campaign.rulecmd.salvage.special.SurveyDataSpecial.SurveyDataSpecialType;
383import com.fs.starfarer.api.impl.campaign.rulecmd.salvage.special.TopographicDataSpecial.TopographicDataSpecialData;
384import com.fs.starfarer.api.impl.campaign.rulecmd.salvage.special.TransmitterTrapSpecial.TransmitterTrapSpecialData;
385import com.fs.starfarer.api.impl.campaign.shared.CommodityStatTracker.CommodityStats;
386import com.fs.starfarer.api.impl.campaign.shared.PlayerTradeDataForSubmarket;
387import com.fs.starfarer.api.impl.campaign.shared.PlayerTradeProfitabilityData;
388import com.fs.starfarer.api.impl.campaign.shared.PlayerTradeProfitabilityData.CommodityData;
389import com.fs.starfarer.api.impl.campaign.shared.ReputationChangeTracker.ReputationChangeData;
390import com.fs.starfarer.api.impl.campaign.shared.SharedData;
391import com.fs.starfarer.api.impl.campaign.skills.FieldRepairsScript;
392import com.fs.starfarer.api.impl.campaign.submarkets.BlackMarketPlugin;
393import com.fs.starfarer.api.impl.campaign.submarkets.LocalResourcesSubmarketPlugin;
394import com.fs.starfarer.api.impl.campaign.submarkets.OpenMarketPlugin;
395import com.fs.starfarer.api.impl.campaign.terrain.AsteroidBeltTerrainPlugin;
396import com.fs.starfarer.api.impl.campaign.terrain.AsteroidBeltTerrainPlugin.AsteroidBeltParams;
397import com.fs.starfarer.api.impl.campaign.terrain.AsteroidFieldTerrainPlugin;
398import com.fs.starfarer.api.impl.campaign.terrain.AsteroidFieldTerrainPlugin.AsteroidFieldParams;
399import com.fs.starfarer.api.impl.campaign.terrain.AsteroidImpact;
400import com.fs.starfarer.api.impl.campaign.terrain.AsteroidSource;
401import com.fs.starfarer.api.impl.campaign.terrain.AuroraRenderer;
402import com.fs.starfarer.api.impl.campaign.terrain.BaseRingTerrain;
403import com.fs.starfarer.api.impl.campaign.terrain.BaseRingTerrain.RingParams;
404import com.fs.starfarer.api.impl.campaign.terrain.BaseTerrain;
405import com.fs.starfarer.api.impl.campaign.terrain.CRLossPerSecondBuff;
406import com.fs.starfarer.api.impl.campaign.terrain.CRRecoveryBuff;
407import com.fs.starfarer.api.impl.campaign.terrain.DebrisFieldTerrainPlugin;
408import com.fs.starfarer.api.impl.campaign.terrain.DebrisFieldTerrainPlugin.DebrisFieldParams;
409import com.fs.starfarer.api.impl.campaign.terrain.EventHorizonPlugin;
410import com.fs.starfarer.api.impl.campaign.terrain.FlareManager;
411import com.fs.starfarer.api.impl.campaign.terrain.FlareManager.Flare;
412import com.fs.starfarer.api.impl.campaign.terrain.HyperStormBoost;
413import com.fs.starfarer.api.impl.campaign.terrain.HyperspaceTerrainPlugin;
414import com.fs.starfarer.api.impl.campaign.terrain.HyperspaceTerrainPlugin.CellStateTracker;
415import com.fs.starfarer.api.impl.campaign.terrain.MagneticFieldTerrainPlugin;
416import com.fs.starfarer.api.impl.campaign.terrain.MagneticFieldTerrainPlugin.MagneticFieldParams;
417import com.fs.starfarer.api.impl.campaign.terrain.MaxBurnBuff;
418import com.fs.starfarer.api.impl.campaign.terrain.NebulaTerrainPlugin;
419import com.fs.starfarer.api.impl.campaign.terrain.PeakPerformanceBuff;
420import com.fs.starfarer.api.impl.campaign.terrain.PulsarBeamTerrainPlugin;
421import com.fs.starfarer.api.impl.campaign.terrain.RadioChatterTerrainPlugin;
422import com.fs.starfarer.api.impl.campaign.terrain.RadioChatterTerrainPlugin.RadioChatterParams;
423import com.fs.starfarer.api.impl.campaign.terrain.RingSystemTerrainPlugin;
424import com.fs.starfarer.api.impl.campaign.terrain.StarCoronaAkaMainyuTerrainPlugin;
425import com.fs.starfarer.api.impl.campaign.terrain.StarCoronaTerrainPlugin;
426import com.fs.starfarer.api.impl.campaign.terrain.StarCoronaTerrainPlugin.CoronaParams;
427import com.fs.starfarer.api.impl.campaign.tutorial.CampaignTutorialScript;
428import com.fs.starfarer.api.impl.campaign.tutorial.CampaignTutorialScript.CampaignTutorialStage;
429import com.fs.starfarer.api.impl.campaign.tutorial.GalatiaMarketScript;
430import com.fs.starfarer.api.impl.campaign.tutorial.GalatianAcademyStipend;
431import com.fs.starfarer.api.impl.campaign.tutorial.RogueMinerMiscFleetManager;
432import com.fs.starfarer.api.impl.campaign.tutorial.SaveNagScript;
433import com.fs.starfarer.api.impl.campaign.tutorial.TutorialLeashAssignmentAI;
434import com.fs.starfarer.api.impl.campaign.tutorial.TutorialMissionEvent.TutorialMissionStage;
435import com.fs.starfarer.api.impl.campaign.tutorial.TutorialMissionIntel;
436import com.fs.starfarer.api.impl.campaign.velfield.BoundingBox;
437import com.fs.starfarer.api.impl.campaign.velfield.SlipstreamManager;
438import com.fs.starfarer.api.impl.campaign.velfield.SlipstreamManager.AddedStream;
439import com.fs.starfarer.api.impl.campaign.velfield.SlipstreamManager.StreamData;
440import com.fs.starfarer.api.impl.campaign.velfield.SlipstreamTerrainPlugin2;
441import com.fs.starfarer.api.impl.campaign.velfield.SlipstreamTerrainPlugin2.SlipstreamParams2;
442import com.fs.starfarer.api.impl.campaign.velfield.SlipstreamTerrainPlugin2.SlipstreamSegment;
443import com.fs.starfarer.api.impl.campaign.velfield.SlipstreamVisibilityManager;
444import com.fs.starfarer.api.impl.campaign.world.GateHaulerLocation;
445import com.fs.starfarer.api.impl.campaign.world.Limbo;
446import com.fs.starfarer.api.impl.campaign.world.NamelessRock;
447import com.fs.starfarer.api.impl.campaign.world.TTBlackSite;
448import com.fs.starfarer.api.impl.campaign.world.TTBlackSite.ZigFIDConfig;
449import com.fs.starfarer.api.impl.campaign.world.ZigLeashAssignmentAI;
450import com.fs.starfarer.api.impl.codex.CodexUnlocker;
451import com.fs.starfarer.api.impl.combat.dweller.ShroudedEjectaAI;
452import com.fs.starfarer.api.impl.combat.dweller.ShroudedVortexAI;
453import com.fs.starfarer.api.impl.combat.threat.DisposableThreatFleetManager;
454import com.fs.starfarer.api.impl.combat.threat.ThreatSwarmAI;
455import com.fs.starfarer.api.loading.CampaignPingSpec;
456import com.fs.starfarer.api.plugins.impl.CoreBuildObjectiveTypePicker;
457import com.fs.starfarer.api.util.DelayedActionScript;
458import com.fs.starfarer.api.util.FaderUtil;
459import com.fs.starfarer.api.util.FlickerUtil;
460import com.fs.starfarer.api.util.IntervalUtil;
461import com.fs.starfarer.api.util.Misc;
462import com.fs.starfarer.api.util.RollingAverageTracker;
463import com.fs.starfarer.api.util.TimeoutTracker;
464import com.fs.starfarer.api.util.TimeoutTracker.ItemData;
465import com.thoughtworks.xstream.XStream;
551 throw new RuntimeException(
"Hull with id [" +
id +
"] not found for faction [" + faction.
getId() +
"]");
556 throw new RuntimeException(
"Hullmod with id [" +
id +
"] not found for faction [" + faction.
getId() +
"]");
561 throw new RuntimeException(
"Industry with id [" +
id +
"] not found for faction [" + faction.
getId() +
"]");
566 throw new RuntimeException(
"Fighter wing with id [" +
id +
"] not found for faction [" + faction.
getId() +
"]");
571 throw new RuntimeException(
"Weapon with id [" +
id +
"] not found for faction [" + faction.
getId() +
"]");
578 if (
id.equals(
"fighter_doctrine")) {
581 throw new RuntimeException(
"Commander skill with id [" +
id +
"] not found for faction [" + faction.
getId() +
"]");
587 throw new RuntimeException(
"Officer skill with id [" +
id +
"] not found for faction [" + faction.
getId() +
"]");
613 listeners.
addListener(
new CryosleeperFactor(),
true);
616 listeners.
addListener(
new CoronalTapFactor(),
true);
634 if (!plugins.
hasPlugin(SalvageDefenderModificationPluginImpl.class)) {
635 plugins.
addPlugin(
new SalvageDefenderModificationPluginImpl(),
true);
892 boolean first =
true;
912 if (jangala !=
null) {
991 if (market.getContainingLocation() !=
null && market.getPrimaryEntity() !=
null) {
992 float radius = 300f + market.getSize() * 200f;
993 market.getContainingLocation().addRadioChatter(market.getPrimaryEntity(), radius);
1086 if (beholderStation !=
null) {
1091 if (killa !=
null) {
1122 if (market.isPlanetConditionMarketOnly())
continue;
1123 if (market.getContainingLocation() instanceof
StarSystemAPI) {
1129 market.setSurveyLevel(SurveyLevel.FULL);
1158 boolean galatia = system.getBaseName().toLowerCase().equals(
"galatia");
1159 if (system.getTags().isEmpty() || galatia) {
1173 if (entity ==
null)
return;
1175 if (location ==
null)
return;
1177 int numJunk = 5 + market.
getSize() * 5;
1179 numJunk = (int) Math.max(1, numJunk * 0.5f);
1181 float radius = entity.
getRadius() + 100f;
1182 float minOrbitDays = radius / 20;
1183 float maxOrbitDays = minOrbitDays + 10f;
1204 if (!(r1 || r2 || r3 || r4))
return;
1207 if (r2) numJunk += 5;
1208 if (r3) numJunk += 15;
1209 if (r4) numJunk += 40;
1213 float radius = planet.
getRadius() + 100f;
1214 float minOrbitDays = radius / 20;
1215 float maxOrbitDays = minOrbitDays + 10f;
1237 LocationAPI location = planet.getContainingLocation();
1238 if (location ==
null)
continue;
1240 if (planet.getMarket() ==
null || !planet.getMarket().isPlanetConditionMarketOnly())
continue;
1258 protected Map<SectorEntityToken, LocationAPI>
asteroidList =
new HashMap<SectorEntityToken, LocationAPI>();
1259 protected Map<SectorEntityToken, LocationAPI>
junkList =
new HashMap<SectorEntityToken, LocationAPI>();
1270 loc.removeEntity(junk);
1278 for (
SectorEntityToken asteroid :
new ArrayList<SectorEntityToken>(loc.getAsteroids())) {
1281 if (source ==
null || !asteroid.getMemoryWithoutUpdate().isEmpty()) {
1282 if (source !=
null) {
1289 loc.removeEntity(asteroid);
1301 for (
Industry ind : market.getIndustries()) {
1302 ind.doPreSaveCleanup();
1309 for (
Industry ind : market.getIndustries()) {
1310 ind.doPostSaveRestore();
1315 market.reapplyConditions();
1316 market.reapplyIndustries();
1347 private void initSlipstream() {
1361 boolean addedPerson =
false;
1365 LinkedHashSet<PersonAPI> randomPeople =
new LinkedHashSet<PersonAPI>();
1373 }
else if (market.
getSize() >= 4) {
1380 }
else if (market.
getSize() >= 6) {
1393 randomPeople.add(person);
1396 boolean hasStation =
false;
1408 }
else if (market.
getSize() >= 4) {
1416 }
else if (market.
getSize() >= 6) {
1430 randomPeople.add(person);
1444 }
else if (market.
getSize() >= 6) {
1446 }
else if (market.
getSize() >= 4) {
1460 randomPeople.add(person);
1470 }
else if (market.
getSize() >= 4) {
1488 randomPeople.add(person);
1491 if (!addedPerson || admin ==
null) {
1498 }
else if (market.
getSize() >= 6) {
1512 randomPeople.add(person);
1515 if (admin !=
null) {
1519 List<PersonAPI> people =
new ArrayList<PersonAPI>(randomPeople);
1520 Iterator<PersonAPI> iter = people.iterator();
1521 while (iter.hasNext()) {
1523 if (curr ==
null || curr.
getFaction() ==
null) {
1535 private void createInitialPeople() {
1578 for (
int i = 0; i < 10 * people.size(); i++) {
1584 if (person.isDefault() || person.isAICore() || person.isPlayer())
continue;
1587 for (
int j = 0; j < 10; j++) {
1590 if (num <= 1)
break;
1601 if (person ==
null || person.
getFaction() ==
null)
return;
1604 if (curr ==
null) curr =
"";
1605 for (
int i = 0; i < 10; i++) {
1607 if (!curr.equals(other)) {
1618 String str = other.getPortraitSprite();
1619 if (str ==
null)
continue;
1620 if (curr.equals(str)) count++;
1626 Set<String> used =
new LinkedHashSet<String>();
1628 String str = person.getPortraitSprite();
1629 if (used.contains(str))
return true;
1640 if (market !=
null) {
1671 (market.getId().equals(
"culann"))) {
1685 for (
PersonAPI p : market.getPeopleCopy()) {
1687 market.removePerson(p);
1689 market.getCommDirectory().removePerson(p);
1694 market.setAdmin(person);
1695 market.getCommDirectory().addPerson(person, 0);
1696 market.addPerson(person);
1723 if (curr.isIndustry()) {
1731 if (industries >= 2 || size >= 6) {
1747 x.alias(
"AssignmentModulePlugin", com.fs.starfarer.api.campaign.ai.AssignmentModulePlugin.class);
1748 x.alias(
"ModularFleetAIAPI", com.fs.starfarer.api.campaign.ai.ModularFleetAIAPI.class);
1749 x.alias(
"NavigationModulePlugin", com.fs.starfarer.api.campaign.ai.NavigationModulePlugin.class);
1750 x.alias(
"StrategicModulePlugin", com.fs.starfarer.api.campaign.ai.StrategicModulePlugin.class);
1751 x.alias(
"TacticalModulePlugin", com.fs.starfarer.api.campaign.ai.TacticalModulePlugin.class);
1789 x.alias(
"SlipParams", SlipstreamParams2.class);
1790 x.aliasAttribute(SlipstreamParams2.class,
"spriteKey1",
"sK1");
1791 x.aliasAttribute(SlipstreamParams2.class,
"spriteKey2",
"sK2");
1792 x.aliasAttribute(SlipstreamParams2.class,
"spriteKey3",
"sK3");
1793 x.aliasAttribute(SlipstreamParams2.class,
"edgeKey",
"eK");
1794 x.aliasAttribute(SlipstreamParams2.class,
"spriteColor",
"sC");
1795 x.aliasAttribute(SlipstreamParams2.class,
"windGlowColor",
"wGC");
1796 x.aliasAttribute(SlipstreamParams2.class,
"edgeColor",
"eC");
1797 x.aliasAttribute(SlipstreamParams2.class,
"baseWidth",
"bW");
1798 x.aliasAttribute(SlipstreamParams2.class,
"widthForMaxSpeed",
"wFMS");
1799 x.aliasAttribute(SlipstreamParams2.class,
"edgeWidth",
"eW");
1800 x.aliasAttribute(SlipstreamParams2.class,
"areaPerParticle",
"aPP");
1801 x.aliasAttribute(SlipstreamParams2.class,
"maxParticles",
"maxP");
1802 x.aliasAttribute(SlipstreamParams2.class,
"minSpeed",
"minS");
1803 x.aliasAttribute(SlipstreamParams2.class,
"maxSpeed",
"maxS");
1804 x.aliasAttribute(SlipstreamParams2.class,
"minColor",
"minC");
1805 x.aliasAttribute(SlipstreamParams2.class,
"maxColor",
"maxC");
1806 x.aliasAttribute(SlipstreamParams2.class,
"mapColor",
"mCol");
1807 x.aliasAttribute(SlipstreamParams2.class,
"minDur",
"minD");
1808 x.aliasAttribute(SlipstreamParams2.class,
"maxDur",
"maxD");
1809 x.aliasAttribute(SlipstreamParams2.class,
"particleFadeInTime",
"pFIT");
1810 x.aliasAttribute(SlipstreamParams2.class,
"lineLengthFractionOfSpeed",
"lLFOS");
1811 x.aliasAttribute(SlipstreamParams2.class,
"burnLevel",
"bL");
1812 x.aliasAttribute(SlipstreamParams2.class,
"maxBurnLevelForTextureScroll",
"mBLFTS");
1813 x.aliasAttribute(SlipstreamParams2.class,
"slowDownInWiderSections",
"slow");
1814 x.aliasAttribute(SlipstreamParams2.class,
"widthForMaxSpeedMinMult",
"wFMSMin");
1815 x.aliasAttribute(SlipstreamParams2.class,
"widthForMaxSpeedMaxMult",
"wFMSMax");
1816 x.aliasAttribute(SlipstreamParams2.class,
"name",
"name");
1817 x.aliasAttribute(SlipstreamParams2.class,
"texScrollMult0",
"tSM0");
1818 x.aliasAttribute(SlipstreamParams2.class,
"texScrollMult1",
"tSM1");
1819 x.aliasAttribute(SlipstreamParams2.class,
"texScrollMult2",
"tSM2");
1822 x.alias(
"SSeg", SlipstreamSegment.class);
1823 x.aliasAttribute(SlipstreamSegment.class,
"locB",
"B");
1824 x.aliasAttribute(SlipstreamSegment.class,
"loc",
"l");
1825 x.aliasAttribute(SlipstreamSegment.class,
"width",
"w");
1826 x.aliasAttribute(SlipstreamSegment.class,
"bMult",
"m");
1827 x.aliasAttribute(SlipstreamSegment.class,
"discovered",
"d");
1828 x.aliasAttribute(SlipstreamSegment.class,
"fader",
"f");
1851 x.aliasAttribute(
BoundingBox.class,
"padding",
"p");
1852 x.aliasAttribute(
BoundingBox.class,
"rotatedBox",
"rB");
1853 x.aliasAttribute(
BoundingBox.class,
"angle",
"a");
1854 x.aliasAttribute(
BoundingBox.class,
"boxComputed",
"bC");
1855 x.aliasAttribute(
BoundingBox.class,
"center",
"c");
1856 x.aliasAttribute(
BoundingBox.class,
"radius",
"r");
1863 x.aliasAttribute(
FleetParamsV3.class,
"qualityMod",
"qMod");
1864 x.aliasAttribute(
FleetParamsV3.class,
"qualityOverride",
"qO");
1868 x.aliasAttribute(
FleetParamsV3.class,
"freighterPts",
"fP");
1870 x.aliasAttribute(
FleetParamsV3.class,
"transportPts",
"trP");
1873 x.aliasAttribute(
FleetParamsV3.class,
"withOfficers",
"wO");
1874 x.aliasAttribute(
FleetParamsV3.class,
"maxShipSize",
"mSS");
1875 x.aliasAttribute(
FleetParamsV3.class,
"minShipSize",
"minSS");
1876 x.aliasAttribute(
FleetParamsV3.class,
"averageSMods",
"aSM");
1879 x.aliasAttribute(
FleetParamsV3.class,
"ignoreMarketFleetSizeMult",
"iMFSM");
1880 x.aliasAttribute(
FleetParamsV3.class,
"onlyApplyFleetSizeToCombatShips",
"oAFSTCS");
1882 x.aliasAttribute(
FleetParamsV3.class,
"modeOverride",
"mO");
1883 x.aliasAttribute(
FleetParamsV3.class,
"officerLevelBonus",
"oLB");
1884 x.aliasAttribute(
FleetParamsV3.class,
"officerNumberBonus",
"oNB");
1885 x.aliasAttribute(
FleetParamsV3.class,
"officerNumberMult",
"oNM");
1886 x.aliasAttribute(
FleetParamsV3.class,
"officerLevelLimit",
"oLL");
1887 x.aliasAttribute(
FleetParamsV3.class,
"commanderLevelLimit",
"cLL");
1888 x.aliasAttribute(
FleetParamsV3.class,
"forceAllowPhaseShipsEtc",
"fAPSE");
1889 x.aliasAttribute(
FleetParamsV3.class,
"treatCombatFreighterSettingAsFraction",
"tCFSAF");
1890 x.aliasAttribute(
FleetParamsV3.class,
"doctrineOverride",
"dOv");
1891 x.aliasAttribute(
FleetParamsV3.class,
"doctrineOverride",
"ts");
1892 x.aliasAttribute(
FleetParamsV3.class,
"maxNumShips",
"mNS");
1893 x.aliasAttribute(
FleetParamsV3.class,
"onlyRetainFlagship",
"oRF");
1894 x.aliasAttribute(
FleetParamsV3.class,
"flagshipVariantId",
"fVI");
1895 x.aliasAttribute(
FleetParamsV3.class,
"flagshipVariant",
"fV");
1897 x.aliasAttribute(
FleetParamsV3.class,
"doNotIntegrateAICores",
"dNIAIC");
1911 x.aliasAttribute(
FlareManager.class,
"flareTracker",
"fT");
1915 x.alias(
"Flare", Flare.class);
1916 x.aliasAttribute(Flare.class,
"direction",
"d");
1917 x.aliasAttribute(Flare.class,
"arc",
"a");
1918 x.aliasAttribute(Flare.class,
"extraLengthMult",
"eLM");
1919 x.aliasAttribute(Flare.class,
"extraLengthFlat",
"eLF");
1920 x.aliasAttribute(Flare.class,
"shortenFlatMod",
"sFM");
1921 x.aliasAttribute(Flare.class,
"c",
"c");
1922 x.aliasAttribute(Flare.class,
"fader",
"f");
1932 x.alias(
"MagneticFieldParams", MagneticFieldParams.class);
1933 x.aliasAttribute(MagneticFieldParams.class,
"baseColor",
"bC");
1934 x.aliasAttribute(MagneticFieldParams.class,
"c",
"c");
1935 x.aliasAttribute(MagneticFieldParams.class,
"auroraFrequency",
"aF");
1936 x.aliasAttribute(MagneticFieldParams.class,
"innerRadius",
"iR");
1937 x.aliasAttribute(MagneticFieldParams.class,
"outerRadius",
"oR");
1945 x.aliasAttribute(
FlickerUtil.class,
"angle",
"a");
1946 x.aliasAttribute(
FlickerUtil.class,
"brightness",
"b");
1947 x.aliasAttribute(
FlickerUtil.class,
"currTime",
"c");
1948 x.aliasAttribute(
FlickerUtil.class,
"currMaxBurstTime",
"cMBT");
1949 x.aliasAttribute(
FlickerUtil.class,
"currMaxBrightness",
"cMB");
1950 x.aliasAttribute(
FlickerUtil.class,
"maxBurstTime",
"mBT");
1951 x.aliasAttribute(
FlickerUtil.class,
"peakTime",
"pT");
1952 x.aliasAttribute(
FlickerUtil.class,
"peakDur",
"pD");
1965 x.aliasAttribute(
FaderUtil.class,
"currBrightness",
"b");
1966 x.aliasAttribute(
FaderUtil.class,
"durationIn",
"i");
1967 x.aliasAttribute(
FaderUtil.class,
"durationOut",
"o");
1968 x.aliasAttribute(
FaderUtil.class,
"state",
"s");
1969 x.aliasAttribute(
FaderUtil.class,
"bounceDown",
"d");
1970 x.aliasAttribute(
FaderUtil.class,
"bounceUp",
"u");
1974 x.aliasAttribute(
IntervalUtil.class,
"minInterval",
"i");
1975 x.aliasAttribute(
IntervalUtil.class,
"maxInterval",
"a");
1976 x.aliasAttribute(
IntervalUtil.class,
"currInterval",
"c");
1978 x.aliasAttribute(
IntervalUtil.class,
"intervalElapsed",
"ie");
1984 x.aliasAttribute(ItemData.class,
"item",
"i");
1985 x.aliasAttribute(ItemData.class,
"remaining",
"r");
2006 x.alias(
"IPReactionScript", IPReactionScript.class);
2007 x.aliasAttribute(IPReactionScript.class,
"delay",
"e");
2008 x.aliasAttribute(IPReactionScript.class,
"done",
"d");
2009 x.aliasAttribute(IPReactionScript.class,
"other",
"o");
2010 x.aliasAttribute(IPReactionScript.class,
"fleet",
"f");
2011 x.aliasAttribute(IPReactionScript.class,
"activationDays",
"aD");
2019 x.alias(
"GSPing", GSPing.class);
2020 x.aliasAttribute(GSPing.class,
"arc",
"a");
2021 x.aliasAttribute(GSPing.class,
"angle",
"n");
2022 x.aliasAttribute(GSPing.class,
"grav",
"g");
2023 x.aliasAttribute(GSPing.class,
"fader",
"f");
2024 x.aliasAttribute(GSPing.class,
"withSound",
"s");
2089 x.alias(
"MPFD", com.fs.starfarer.api.impl.campaign.econ.impl.MilitaryBase.PatrolFleetData.class);
2090 x.aliasAttribute( com.fs.starfarer.api.impl.campaign.econ.impl.MilitaryBase.PatrolFleetData.class,
"type",
"t");
2091 x.aliasAttribute( com.fs.starfarer.api.impl.campaign.econ.impl.MilitaryBase.PatrolFleetData.class,
"spawnFP",
"fp");
2093 x.alias(
"PatrolFleetData", PatrolFleetData.class);
2104 x.alias(
"JumpDestination", JumpDestination.class);
2112 x.alias(
"AvailableOfficer", AvailableOfficer.class);
2113 x.alias(
"ManagedFleetData", ManagedFleetData.class);
2116 x.alias(
"CommodityStats", CommodityStats.class);
2118 x.alias(
"TransactionLineItem", TransactionLineItem.class);
2128 x.alias(
"ReputationChangeData", ReputationChangeData.class);
2129 x.alias(
"FactionTradeRepData", FactionTradeRepData.class);
2131 x.alias(
"Outpost",
Outpost.class);
2132 x.alias(
"CellStateTracker", CellStateTracker.class);
2135 x.alias(
"CoronaParams", CoronaParams.class);
2136 x.aliasAttribute(CoronaParams.class,
"windBurnLevel",
"wBL");
2137 x.aliasAttribute(CoronaParams.class,
"flareProbability",
"fP");
2138 x.aliasAttribute(CoronaParams.class,
"crLossMult",
"crLM");
2140 x.alias(
"RingParams", RingParams.class);
2141 x.aliasAttribute(RingParams.class,
"bandWidthInEngine",
"bWIE");
2142 x.aliasAttribute(RingParams.class,
"middleRadius",
"mR");
2143 x.aliasAttribute(RingParams.class,
"name",
"n");
2144 x.aliasAttribute(RingParams.class,
"relatedEntity",
"e");
2146 x.alias(
"AsteroidBeltParams", AsteroidBeltParams.class);
2147 x.aliasAttribute(AsteroidBeltParams.class,
"numAsteroids",
"nA");
2148 x.aliasAttribute(AsteroidBeltParams.class,
"minOrbitDays",
"minO");
2149 x.aliasAttribute(AsteroidBeltParams.class,
"maxOrbitDays",
"maxO");
2150 x.aliasAttribute(AsteroidBeltParams.class,
"minSize",
"minS");
2151 x.aliasAttribute(AsteroidBeltParams.class,
"maxSize",
"maxS");
2153 x.alias(
"AsteroidFieldParams", AsteroidFieldParams.class);
2154 x.aliasAttribute(AsteroidFieldParams.class,
"minRadius",
"minR");
2155 x.aliasAttribute(AsteroidFieldParams.class,
"maxRadius",
"maxR");
2156 x.aliasAttribute(AsteroidFieldParams.class,
"numAsteroids",
"nA");
2157 x.aliasAttribute(AsteroidFieldParams.class,
"minAsteroids",
"minA");
2158 x.aliasAttribute(AsteroidFieldParams.class,
"maxAsteroids",
"maxA");
2159 x.aliasAttribute(AsteroidFieldParams.class,
"minSize",
"minS");
2160 x.aliasAttribute(AsteroidFieldParams.class,
"maxSize",
"maxS");
2169 x.aliasAttribute(
BaseTerrain.class,
"terrainId",
"tid");
2175 x.alias(
"Frontier",
Frontier.class);
2177 x.alias(
"RadioChatterParams", RadioChatterParams.class);
2187 x.alias(
"WorldIce",
WorldIce.class);
2210 x.alias(
"DebrisFieldParams", DebrisFieldParams.class);
2211 x.aliasAttribute(DebrisFieldParams.class,
"density",
"d");
2212 x.aliasAttribute(DebrisFieldParams.class,
"baseDensity",
"bD");
2213 x.aliasAttribute(DebrisFieldParams.class,
"glowsDays",
"gD");
2214 x.aliasAttribute(DebrisFieldParams.class,
"lastsDays",
"lD");
2215 x.aliasAttribute(DebrisFieldParams.class,
"minSize",
"min1");
2216 x.aliasAttribute(DebrisFieldParams.class,
"maxSize",
"max1");
2217 x.aliasAttribute(DebrisFieldParams.class,
"glowColor",
"gC");
2218 x.aliasAttribute(DebrisFieldParams.class,
"defFaction",
"dF");
2219 x.aliasAttribute(DebrisFieldParams.class,
"defenderProb",
"dP");
2220 x.aliasAttribute(DebrisFieldParams.class,
"minStr",
"min2");
2221 x.aliasAttribute(DebrisFieldParams.class,
"maxStr",
"max2");
2222 x.aliasAttribute(DebrisFieldParams.class,
"maxDefenderSize",
"mDS");
2223 x.aliasAttribute(DebrisFieldParams.class,
"baseSalvageXP",
"xp");
2224 x.aliasAttribute(DebrisFieldParams.class,
"source",
"s");
2229 x.alias(
"CommodityData", CommodityData.class);
2232 x.alias(
"FactionHostilityPairKey", FactionHostilityPairKey.class);
2239 x.alias(
"AsteroidBeltParams", AsteroidBeltParams.class);
2252 x.alias(
"DerelictShipData", DerelictShipData.class);
2253 x.aliasAttribute(DerelictShipData.class,
"ship",
"s");
2254 x.aliasAttribute(DerelictShipData.class,
"durationDays",
"d");
2255 x.aliasAttribute(DerelictShipData.class,
"canHaveExtraCargo",
"c");
2257 x.alias(
"PerShipData", PerShipData.class);
2258 x.aliasAttribute(PerShipData.class,
"condition",
"c");
2259 x.aliasAttribute(PerShipData.class,
"variantId",
"vId");
2260 x.aliasAttribute(PerShipData.class,
"variant",
"v");
2261 x.aliasAttribute(PerShipData.class,
"shipName",
"sN");
2262 x.aliasAttribute(PerShipData.class,
"addDmods",
"d");
2263 x.aliasAttribute(PerShipData.class,
"pruneWeapons",
"p");
2264 x.aliasAttribute(PerShipData.class,
"sModProb",
"sMP");
2267 x.alias(
"ShipCondition", ShipCondition.class);
2270 x.alias(
"ShipRecoverySpecialData", ShipRecoverySpecialData.class);
2271 x.aliasAttribute(ShipRecoverySpecialData.class,
"ships",
"s");
2272 x.aliasAttribute(ShipRecoverySpecialData.class,
"desc",
"d");
2274 x.alias(
"BreadcrumbSpecialData", BreadcrumbSpecialData.class);
2275 x.aliasAttribute(BreadcrumbSpecialData.class,
"targetId",
"tI");
2276 x.aliasAttribute(BreadcrumbSpecialData.class,
"targetName",
"tN");
2278 x.alias(
"DerSpecialType", SpecialType.class);
2279 x.alias(
"DomainSurveyDerelictSpecialData", DomainSurveyDerelictSpecialData.class);
2280 x.aliasAttribute(DomainSurveyDerelictSpecialData.class,
"type",
"t");
2281 x.aliasAttribute(DomainSurveyDerelictSpecialData.class,
"entityId",
"eI");
2282 x.aliasAttribute(DomainSurveyDerelictSpecialData.class,
"secondaryId",
"sI");
2285 x.alias(
"SleeperSpecialType", SleeperSpecialType.class);
2286 x.alias(
"SleeperPodsSpecialData", SleeperPodsSpecialData.class);
2287 x.aliasAttribute(SleeperPodsSpecialData.class,
"type",
"t");
2289 x.aliasAttribute(SleeperPodsSpecialData.class,
"officer",
"o");
2292 x.alias(
"SDSpecialType", SurveyDataSpecialType.class);
2293 x.alias(
"SurveyDataSpecialData", SurveyDataSpecialData.class);
2294 x.aliasAttribute(SurveyDataSpecialData.class,
"type",
"t");
2295 x.aliasAttribute(SurveyDataSpecialData.class,
"entityId",
"eI");
2296 x.aliasAttribute(SurveyDataSpecialData.class,
"secondaryId",
"sI");
2297 x.aliasAttribute(SurveyDataSpecialData.class,
"includeRuins",
"r");
2300 x.alias(
"TransmitterTrapSpecialData", TransmitterTrapSpecialData.class);
2301 x.aliasAttribute(TransmitterTrapSpecialData.class,
"prob",
"c");
2302 x.aliasAttribute(TransmitterTrapSpecialData.class,
"fleetId",
"fID");
2303 x.aliasAttribute(TransmitterTrapSpecialData.class,
"nearbyFleetFaction",
"nFF");
2304 x.aliasAttribute(TransmitterTrapSpecialData.class,
"useClosestFleetInRange",
"uCFIR");
2305 x.aliasAttribute(TransmitterTrapSpecialData.class,
"useAllFleetsInRange",
"uAFIR");
2306 x.aliasAttribute(TransmitterTrapSpecialData.class,
"params",
"p");
2307 x.aliasAttribute(TransmitterTrapSpecialData.class,
"minRange",
"min");
2308 x.aliasAttribute(TransmitterTrapSpecialData.class,
"maxRange",
"max");
2311 x.alias(
"CargoManifestSpecialData", CargoManifestSpecialData.class);
2312 x.aliasAttribute(CargoManifestSpecialData.class,
"commodityId",
"c");
2332 x.alias(
"SeededFleet", SeededFleet.class);
2333 x.aliasAttribute(SeededFleet.class,
"seed",
"s");
2334 x.aliasAttribute(SeededFleet.class,
"points",
"p");
2335 x.aliasAttribute(SeededFleet.class,
"fleet",
"f");
2342 x.alias(
"RFICGen", RemnantFleetInteractionConfigGen.class);
2343 x.alias(
"RSICGen", RemnantStationInteractionConfigGen.class);
2376 x.alias(
"RouteData", RouteData.class);
2377 x.aliasAttribute(RouteData.class,
"extra",
"x");
2378 x.aliasAttribute(RouteData.class,
"delay",
"a");
2379 x.aliasAttribute(RouteData.class,
"source",
"o");
2380 x.aliasAttribute(RouteData.class,
"market",
"m");
2381 x.aliasAttribute(RouteData.class,
"seed",
"s");
2382 x.aliasAttribute(RouteData.class,
"timestamp",
"t");
2383 x.aliasAttribute(RouteData.class,
"segments",
"e");
2384 x.aliasAttribute(RouteData.class,
"activeFleet",
"f");
2385 x.aliasAttribute(RouteData.class,
"daysSinceSeenByPlayer",
"d");
2386 x.aliasAttribute(RouteData.class,
"custom",
"c");
2387 x.aliasAttribute(RouteData.class,
"current",
"r");
2388 x.aliasAttribute(RouteData.class,
"spawner",
"p");
2390 x.alias(
"RouteFleetSpawner", RouteFleetSpawner.class);
2414 x.alias(
"DistressResponseData", DistressResponseData.class);
2415 x.alias(
"NESpawnData", NESpawnData.class);
2417 x.alias(
"OptionalFleetData", OptionalFleetData.class);
2418 x.aliasAttribute(OptionalFleetData.class,
"strength",
"s");
2419 x.aliasAttribute(OptionalFleetData.class,
"quality",
"q");
2420 x.aliasAttribute(OptionalFleetData.class,
"factionId",
"f");
2421 x.aliasAttribute(OptionalFleetData.class,
"fleetType",
"t");
2422 x.aliasAttribute(OptionalFleetData.class,
"damage",
"d");
2469 x.alias(
"RtSeg", RouteSegment.class);
2470 x.aliasAttribute(RouteSegment.class,
"id",
"i");
2471 x.aliasAttribute(RouteSegment.class,
"elapsed",
"e");
2472 x.aliasAttribute(RouteSegment.class,
"daysMax",
"d");
2473 x.aliasAttribute(RouteSegment.class,
"from",
"f");
2474 x.aliasAttribute(RouteSegment.class,
"to",
"t");
2490 x.alias(
"TowCable",
TowCable.class);
2491 x.alias(
"TowCableBuff", TowCableBuff.class);
2492 x.aliasAttribute(TowCableBuff.class,
"buffId",
"b");
2493 x.aliasAttribute(TowCableBuff.class,
"frames",
"f");
2495 x.alias(
"TowCable",
TowCable.class);
2510 x.alias(
"MissionCompletionRep", MissionCompletionRep.class);
2511 x.aliasAttribute(MissionCompletionRep.class,
"successDelta",
"sD");
2512 x.aliasAttribute(MissionCompletionRep.class,
"successLimit",
"sL");
2513 x.aliasAttribute(MissionCompletionRep.class,
"failureDelta",
"fD");
2514 x.aliasAttribute(MissionCompletionRep.class,
"failureLimit",
"fL");
2534 x.alias(
"AbilityUseData", AbilityUseData.class);
2535 x.aliasAttribute(AbilityUseData.class,
"timestamp",
"t");
2536 x.aliasAttribute(AbilityUseData.class,
"location",
"l");
2538 x.alias(
"DistressCallOutcome", DistressCallOutcome.class);
2550 x.alias(
"CampaignTutorialStage", CampaignTutorialStage.class);
2569 x.alias(
"TutorialMissionStage", TutorialMissionStage.class);
2576 x.alias(
"ExSalv", ExtraSalvage.class);
2577 x.aliasAttribute(ExtraSalvage.class,
"cargo",
"c");
2585 x.alias(
"SalvageDefenderModificationPluginImpl", SalvageDefenderModificationPluginImpl.class);
2617 x.alias(
"ERDat", EconomyRouteData.class);
2618 x.aliasAttribute(EconomyRouteData.class,
"cargoCap",
"c");
2619 x.aliasAttribute(EconomyRouteData.class,
"fuelCap",
"f");
2620 x.aliasAttribute(EconomyRouteData.class,
"personnelCap",
"p");
2621 x.aliasAttribute(EconomyRouteData.class,
"size",
"s");
2622 x.aliasAttribute(EconomyRouteData.class,
"smuggling",
"m");
2623 x.aliasAttribute(EconomyRouteData.class,
"from",
"r");
2624 x.aliasAttribute(EconomyRouteData.class,
"to",
"t");
2625 x.aliasAttribute(EconomyRouteData.class,
"cargoDeliver",
"d");
2626 x.aliasAttribute(EconomyRouteData.class,
"cargoReturn",
"u");
2629 x.alias(
"CQD", CargoQuantityData.class);
2630 x.aliasAttribute(CargoQuantityData.class,
"cargo",
"c");
2631 x.aliasAttribute(CargoQuantityData.class,
"units",
"u");
2645 x.aliasAttribute(
BaseIndustry.class,
"buildProgress",
"bP");
2647 x.aliasAttribute(
BaseIndustry.class,
"upgradeId",
"uI");
2648 x.aliasAttribute(
BaseIndustry.class,
"aiCoreId",
"aCI");
2649 x.aliasAttribute(
BaseIndustry.class,
"demandReduction",
"dR");
2650 x.aliasAttribute(
BaseIndustry.class,
"supplyBonus",
"sB");
2651 x.aliasAttribute(
BaseIndustry.class,
"wasDisrupted",
"wD");
2669 x.alias(
"MilRespP", MilitaryResponseParams.class);
2670 x.aliasAttribute(MilitaryResponseParams.class,
"type",
"t");
2671 x.aliasAttribute(MilitaryResponseParams.class,
"responseReason",
"rR");
2672 x.aliasAttribute(MilitaryResponseParams.class,
"faction",
"f");
2673 x.aliasAttribute(MilitaryResponseParams.class,
"actor",
"a");
2674 x.aliasAttribute(MilitaryResponseParams.class,
"target",
"t");
2675 x.aliasAttribute(MilitaryResponseParams.class,
"responseFraction",
"rF");
2676 x.aliasAttribute(MilitaryResponseParams.class,
"responseDuration",
"rD");
2677 x.aliasAttribute(MilitaryResponseParams.class,
"travelText",
"tT");
2678 x.aliasAttribute(MilitaryResponseParams.class,
"actionText",
"aT");
2709 x.alias(
"Mining",
Mining.class);
2711 x.alias(
"Refining",
Refining.class);
2713 x.alias(
"Farming",
Farming.class);
2724 x.alias(
"TradeCenter2", com.fs.starfarer.api.impl.campaign.econ.impl.TradeCenter.class);
2728 x.aliasAttribute(
OrbitalStation.class,
"usingExistingStation",
"uES");
2753 x.aliasAttribute(
PirateBaseIntel.class,
"matchedStationToTier",
"mSTT");
2757 x.alias(
"BaseBountyData", BaseBountyData.class);
2758 x.aliasAttribute(BaseBountyData.class,
"bountyElapsedDays",
"bED");
2759 x.aliasAttribute(BaseBountyData.class,
"bountyDuration",
"bD");
2760 x.aliasAttribute(BaseBountyData.class,
"baseBounty",
"bB");
2761 x.aliasAttribute(BaseBountyData.class,
"repChange",
"rC");
2762 x.aliasAttribute(BaseBountyData.class,
"bountyFaction",
"bF");
2795 x.aliasAttribute(
BaseIntelPlugin.class,
"endingTimeRemaining",
"eTR");
2807 x.alias(
"MissionResult", MissionResult.class);
2828 x.alias(
"FDNode", FDNode.class);
2829 x.aliasAttribute(FDNode.class,
"children",
"c");
2830 x.aliasAttribute(FDNode.class,
"parent",
"p");
2831 x.aliasAttribute(FDNode.class,
"name",
"n");
2832 x.aliasAttribute(FDNode.class,
"icon",
"i");
2833 x.aliasAttribute(FDNode.class,
"income",
"in");
2834 x.aliasAttribute(FDNode.class,
"upkeep",
"up");
2835 x.aliasAttribute(FDNode.class,
"totalIncome",
"tI");
2836 x.aliasAttribute(FDNode.class,
"totalUpkeep",
"tU");
2837 x.aliasAttribute(FDNode.class,
"custom",
"c1");
2838 x.aliasAttribute(FDNode.class,
"custom2",
"c2");
2839 x.aliasAttribute(FDNode.class,
"mapEntity",
"mE");
2840 x.aliasAttribute(FDNode.class,
"tooltipCreator",
"tC");
2841 x.aliasAttribute(FDNode.class,
"tooltipParam",
"tP");
2853 x.alias(
"MarketDecivData", MarketDecivData.class);
2854 x.aliasAttribute(MarketDecivData.class,
"market",
"m");
2855 x.aliasAttribute(MarketDecivData.class,
"stabilityHistory",
"sH");
2916 x.alias(
"GateData", GateData.class);
2923 x.aliasAttribute(
GateEntityPlugin.class,
"accumulatedTransitDistLY",
"aTDLY");
2928 x.aliasAttribute(
BaseMissionHub.class,
"recentlyAcceptedTimeout",
"rAT");
2933 x.aliasAttribute(
BaseMissionHub.class,
"lastUpdatedSeeds",
"lUS");
2934 x.aliasAttribute(
BaseMissionHub.class,
"daysSinceLastUpdate",
"dSLU");
2944 x.alias(
"BlueprintSpecialData", BlueprintSpecialData.class);
2955 x.alias(
"PunExData", PunExData.class);
2975 x.aliasAttribute(
PLTextEntry.class,
"text",
"text");
2976 x.aliasAttribute(
PLTextEntry.class,
"timestamp",
"ts");
2990 x.alias(
"AggregateBountyData", AggregateBountyData.class);
2999 x.alias(
"StageConnection", StageConnection.class);
3015 x.alias(
"AddedStream", AddedStream.class);
3016 x.aliasAttribute(AddedStream.class,
"terrain",
"tn");
3017 x.aliasAttribute(AddedStream.class,
"plugin",
"p");
3018 x.aliasAttribute(AddedStream.class,
"from",
"f");
3019 x.aliasAttribute(AddedStream.class,
"to",
"t");
3020 x.aliasAttribute(AddedStream.class,
"control",
"c");
3021 x.aliasAttribute(AddedStream.class,
"timestamp",
"ts");
3025 x.alias(
"FCI-RepChangeData", RepChangeData.class);
3036 x.alias(
"TopographicDataSpecialData", TopographicDataSpecialData.class);
3037 x.aliasAttribute(TopographicDataSpecialData.class,
"points",
"p");
3040 x.alias(
"ZigFIDConfig", ZigFIDConfig.class);
3046 x.alias(
"BHM-DefeatTriggerAdded", DefeatTriggerAdded.class);
3047 x.alias(
"BHM-MakeNonStoryCriticalAction", MakeNonStoryCriticalAction.class);
3048 x.alias(
"BHM-SetFleetFlagAction", SetFleetFlagAction.class);
3049 x.alias(
"BHM-StageData", StageData.class);
3050 x.alias(
"BHM-ImportanceData", ImportanceData.class);
3052 x.alias(
"BHM-VS", VariableSet.class);
3056 x.alias(
"BEI-EventStageData", EventStageData.class);
3078 x.aliasAttribute(
SModRecord.class,
"member",
"m");
3079 x.aliasAttribute(
SModRecord.class,
"smods",
"sm");
3080 x.aliasAttribute(
SModRecord.class,
"spSpent",
"sp");
3081 x.aliasAttribute(
SModRecord.class,
"bonusXPFractionGained",
"bxp");
3082 x.aliasAttribute(
SModRecord.class,
"timestamp",
"ts");
3087 x.alias(
"SlipstreamManager-StreamData", StreamData.class);
3146 config.alwaysStrafeOffensively =
true;
3147 config.backingOffWhileNotVentingAllowed =
false;
3148 config.turnToFaceWithUndamagedArmor =
false;
3149 config.burnDriveIgnoreEnemies =
true;
3154 PickPriority priority = PickPriority.CORE_SET;
3169 config.alwaysStrafeOffensively =
true;
3170 config.backingOffWhileNotVentingAllowed =
false;
3171 config.turnToFaceWithUndamagedArmor =
false;
3172 config.burnDriveIgnoreEnemies =
true;
3177 PickPriority priority = PickPriority.CORE_SET;
3183 Set<String> derelicts =
new HashSet<String>();
3184 derelicts.add(
"warden");
3185 derelicts.add(
"defender");
3186 derelicts.add(
"picket");
3187 derelicts.add(
"sentry");
3188 derelicts.add(
"berserker");
3189 derelicts.add(
"bastillion");
3195 if (!zigguratOnEnemySide &&
3201 config.alwaysStrafeOffensively =
true;
3202 config.backingOffWhileNotVentingAllowed =
false;
3203 config.turnToFaceWithUndamagedArmor =
false;
3204 config.burnDriveIgnoreEnemies =
true;
3206 boolean carrier =
false;
3207 if (ship !=
null && ship.
getVariant() !=
null) {
3212 config.backingOffWhileNotVentingAllowed =
true;
3217 PickPriority priority = PickPriority.CORE_SET;
3218 if (zigguratOnEnemySide) {
3219 priority = PickPriority.CORE_SPECIFIC;
3246 List<LocationAPI> all =
new ArrayList<LocationAPI>();
3253 if (fleet.isPlayerFleet() && member.getCaptain().isAICore()) {
3254 String aiCoreId = member.getCaptain().getAICoreId();
3280 if (entity.getMarket() !=
null && entity.getMarket().getAdmin() !=
null) {
3283 if (entity.getMemoryWithoutUpdate() !=
null && entity.getMemoryWithoutUpdate().contains(
"$defenderFleet")) {
3285 if (fleet !=
null) {
3295 int skillPoints = 0;
3296 int storyPoints = 0;
3298 int level = (int) sl.getLevel();
3299 if (level > 0) skillPoints++;
3300 if (level > 1) storyPoints++;
3301 for (
int i = 0; i < level; i++) {
3312 boolean done =
false;
3313 public boolean runWhilePaused() {
3316 public boolean isDone() {
3319 public void advance(
float amount) {
3323 +
"to accomodate the new skill system. Skill and story points have been refunded.\n\n"
3324 +
"Officer, administrator, and AI core skills have been adjusted for the new system.",
3325 "Ok",
null,
null,
null);
3332 @SuppressWarnings(
"deprecation")
3334 if (person ==
null || person.isPlayer() || person.isDefault())
return;
3361 stats.setSkillLevel(Skills.HYPERCOGNITION, 1);
3364 stats.setSkipRefresh(
false);
3369 for (
int i = 0; i < 10; i++) {
3376 for (
int i = 0; i < level; i++) {
static SettingsAPI getSettings()
static SectorAPI getSector()
static PlayerFleetPersonnelTracker getInstance()
void convertSkill(String from, String to, PersonAPI person)
static int getPortraitCount(List< PersonAPI > people, PersonAPI person)
static boolean hasDuplicatePortraits(List< PersonAPI > people)
static void verifyFactionData(FactionAPI faction)
void updateKnownPlanets()
void onGameLoad(boolean newGame)
static void addRuinsJunk(SectorEntityToken planet)
void removeSkill(String id, PersonAPI person)
void restoreRemovedEntities()
PluginPick< ShipAIPlugin > pickShipAI(FleetMemberAPI member, ShipAPI ship)
void onNewGameAfterTimePass()
void configureXStream(XStream x)
static void createInitialPeople(MarketAPI market, Random random)
void convertPersonSkillsTo0951a(PersonAPI person)
void assignCustomAdmins()
void markStoryCriticalMarketsEtc()
static void addMissingPeople()
static void regenPortrait(PersonAPI person)
void addScriptsIfNeeded()
static void dedupePortraits(List< PersonAPI > people)
void econPreSaveCleanup()
Map< SectorEntityToken, LocationAPI > asteroidList
static void econPostSaveRestore()
void convertTo0951aSkillSystemIfNeeded()
static void verifyFactionData()
Map< SectorEntityToken, LocationAPI > junkList
void onNewGameAfterEconomyLoad()
static void addJunk(MarketAPI market)
static void addSkillsAndAssignAdmin(MarketAPI market, PersonAPI admin)
static HullModItemManager getInstance()
static ShipQuality getInstance()
static final String ALPHA_CORE
static final String BETA_CORE
static final String GAMMA_CORE
static final String RUINS_WIDESPREAD
static final String RUINS_SCATTERED
static final String RUINS_EXTENSIVE
static final String RUINS_VAST
static final String TRITACHYON
static final String HEGEMONY
static final String LUDDIC_CHURCH
static final String PERSEAN
static final String HIGHCOMMAND
static final String TAG_STATION
static final String SPACEPORT
static final String MILITARYBASE
static final String SUSPECTED_AI
static final String MARKET_DO_NOT_INIT_COMM_LISTINGS
static final String FALSE_IDOLS
static final String COUREUSE
static final String ZIGGURAT
static final String THE_USURPERS
static final String PILGRIMS_PATH
static final String KNIGHT_ERRANT
static final String KALLICHORE
static final String KANTA_LIBRE
static final String ABYSSAL_SPACE_ODDITY
static final String GATES
static String REYNARD_HANNAN
static PersonAPI getPerson(String id)
static void addReynardHannan()
static final String RECKLESS
static final String STEADY
static final String TIMID
static final String AGGRESSIVE
static final String CAUTIOUS
static String POST_SUPPLY_OFFICER
static String POST_PORTMASTER
static String GROUND_MAJOR
static String POST_STATION_COMMANDER
static String POST_ADMINISTRATOR
static String SPACE_ADMIRAL
static String GROUND_GENERAL
static String SPACE_CAPTAIN
static String POST_BASE_COMMANDER
static String SPACE_COMMANDER
static String GROUND_COLONEL
static final String BALLISTIC_MASTERY
static final String SPECIAL_MODIFICATIONS
static final String INDUSTRIAL_PLANNING
static final String COMBAT_ENDURANCE
static final String COLONY_MANAGEMENT
static final String TARGET_ANALYSIS
static final String HELMSMANSHIP
static final String PHASE_MASTERY
static final String PLANETARY_OPERATIONS
static final String RELIABILITY_ENGINEERING
static final String SPACE_OPERATIONS
static final String ORDNANCE_EXPERTISE
static final String AUXILIARY_SUPPORT
static final String RANGED_SPECIALIZATION
static final String WEAPON_DRILLS
static final String HYPERCOGNITION
static final String BEST_OF_THE_BEST
static final String STRIKE_COMMANDER
static final String SHIELD_MODULATION
static final String POLARIZED_ARMOR
static final String TACTICAL_DRILLS
static final String FIELD_MODULATION
EveryFrameScript createMissionIntel()
List< EveryFrameScript > getActive()
void addActive(EveryFrameScript event)
static FactionHostilityManager getInstance()
void startHostilities(String a, String b)
boolean hasMissionCreator(Class<?> clazz)
static GenericMissionManager getInstance()
void addMissionCreator(GenericMissionCreator creator)
void setElapsedDays(float elapsedDays)
static PersonBountyManager getInstance()
EveryFrameScript createMissionIntel()
void setElapsedDays(float elapsedDays)
SystemBountyIntel getActive(MarketAPI market)
static SystemBountyManager getInstance()
void addOrResetBounty(MarketAPI market)
void addEventCreator(GenericBarEventCreator creator)
static BarEventManager getInstance()
boolean hasEventCreator(Class<?> clazz)
static PlaythroughLog getInstance()
static void clearAbyssalHyperspaceAndSetSystemTags()
void generate(SectorAPI sector)
void generate(SectorAPI sector)
void generate(SectorAPI sector)
void generate(SectorAPI sector)
static List< MarketAPI > getMarketsInLocation(LocationAPI location, String factionId)
static boolean isAutomated(MutableShipStatsAPI stats)
static void setAllPlanetsSurveyed(StarSystemAPI system, boolean setRuinsExplored)
static AsteroidSource getAsteroidSource(SectorEntityToken asteroid)
static void makeStoryCritical(String marketId, String reason)
static void clearAsteroidSource(SectorEntityToken asteroid)
SkillSpecAPI getSkillSpec(String skillId)
List< String > getSortedSkillIds()
ShipHullSpecAPI getHullSpec(String hullId)
HullModSpecAPI getHullModSpec(String modId)
IndustrySpecAPI getIndustrySpec(String industryId)
ShipAIPlugin createDefaultShipAI(ShipAPI ship, ShipAIConfig config)
FighterWingSpecAPI getFighterWingSpec(String wingId)
WeaponSpecAPI getWeaponSpec(String weaponId)
static String AUTOMATED_POINTS_VALUE
static String AUTOMATED_POINTS_MULT
FleetDataAPI getFleetData()
boolean showConfirmDialog(String message, String ok, String cancel, Script onOk, Script onCancel)
boolean isShowingDialog()
void setSavefileVersion(String skillVersion)
List< AdminData > getAdmins()
String getSavefileVersion()
void removePerson(PersonAPI person)
String addPerson(PersonAPI person)
Set< String > getKnownFighters()
Set< String > getKnownWeapons()
Set< String > getKnownShips()
PersonAPI createRandomPerson()
Set< String > getKnownHullMods()
FactionDoctrineAPI getDoctrine()
Set< String > getKnownIndustries()
List< String > getOfficerSkills()
List< String > getCommanderSkills()
List< FleetMemberAPI > getMembersListCopy()
void addPlugin(GenericPlugin plugin)
List< GenericPlugin > getPluginsOfClass(Class c)
boolean hasPlugin(Class c)
boolean hasTag(String tag)
void addOrbitalJunk(SectorEntityToken focus, String junkType, int num, float minSize, float maxSize, float orbitRadius, float width, float minOrbitDays, float maxOrbitDays, float minSpin, float maxSpin)
void addScript(EveryFrameScript script)
boolean hasScript(Class<?> clazz)
List< StarSystemAPI > getStarSystems()
List< SectorEntityToken > getEntitiesWithTag(String tag)
List< FactionAPI > getAllFactions()
GenericPluginManagerAPI getGenericPlugins()
CampaignUIAPI getCampaignUI()
MutableCharacterStatsAPI getPlayerStats()
StarSystemAPI getStarSystem(String name)
void addTransientScript(EveryFrameScript script)
SectorEntityToken getEntityById(String id)
LocationAPI getHyperspace()
ListenerManagerAPI getListenerManager()
List< LocationAPI > getAllLocations()
CharacterDataAPI getCharacterData()
ImportantPeopleAPI getImportantPeople()
LocationAPI getContainingLocation()
boolean hasTag(String tag)
MemoryAPI getMemoryWithoutUpdate()
void setEnteredByPlayer(boolean enteredByPlayer)
List< MarketAPI > getMarketsCopy()
MarketAPI getMarket(String id)
void setImproved(boolean improved)
void setAdmin(PersonAPI admin)
void addPerson(PersonAPI person)
CommDirectoryAPI getCommDirectory()
boolean hasIndustry(String id)
List< Industry > getIndustries()
List< PersonAPI > getPeopleCopy()
Industry getIndustry(String id)
boolean hasCondition(String id)
void removePerson(PersonAPI person)
SectorEntityToken getPrimaryEntity()
boolean hasListenerOfClass(Class<?> c)
void addListener(Object listener)
void set(String key, Object value)
void addTokenReplacementGenerator(RuleTokenReplacementGeneratorPlugin generator)
PersonLocationAPI getLocation()
void setMarket(MarketAPI market)
PersonDataAPI getData(PersonAPI person)
void removePerson(PersonAPI person)
void checkOutPerson(PersonAPI person, String reasonId)
void addPerson(PersonAPI person)
void refreshAllOutpostsEffectsForPlayerOutposts()
List< SkillLevelAPI > getSkillsCopy()
void setStoryPoints(int storyPoints)
void setSkillLevel(String id, float level)
void refreshCharacterStatsEffects()
void decreaseSkill(String id)
float getSkillLevel(String id)
void setSkipRefresh(boolean skipRefresh)
void setPoints(int points)
String getPortraitSprite()
void setAICoreId(String aiCoreId)
void setPortraitSprite(String portraitSprite)
void setImportanceAndVoice(PersonImportance importance, Random random)
void setRankId(String rank)
MutableCharacterStatsAPI getStats()
MemoryAPI getMemoryWithoutUpdate()
void setPostId(String postId)
ShipHullSpecAPI getHullSpec()
ShipVariantAPI getVariant()
boolean hasTag(String tag)
PersonAPI getFleetCommander()
FleetDataAPI getFleetData()
void regenerateAsteroids()
void reportAsteroidPersisted(SectorEntityToken asteroid)