1package com.fs.starfarer.api.impl.campaign.missions;
3import java.util.ArrayList;
6import java.util.Random;
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.FactionAPI.ShipPickParams;
12import com.fs.starfarer.api.campaign.InteractionDialogAPI;
13import com.fs.starfarer.api.campaign.PersonImportance;
14import com.fs.starfarer.api.campaign.econ.MarketAPI;
15import com.fs.starfarer.api.campaign.rules.MemoryAPI;
16import com.fs.starfarer.api.characters.PersonAPI;
17import com.fs.starfarer.api.combat.ShipVariantAPI;
18import com.fs.starfarer.api.fleet.FleetMemberAPI;
19import com.fs.starfarer.api.fleet.FleetMemberType;
20import com.fs.starfarer.api.fleet.ShipRolePick;
21import com.fs.starfarer.api.impl.campaign.DModManager;
22import com.fs.starfarer.api.impl.campaign.econ.impl.ShipQuality;
23import com.fs.starfarer.api.impl.campaign.fleets.DefaultFleetInflater;
24import com.fs.starfarer.api.impl.campaign.ids.Factions;
25import com.fs.starfarer.api.impl.campaign.ids.Ranks;
26import com.fs.starfarer.api.impl.campaign.ids.ShipRoles;
27import com.fs.starfarer.api.impl.campaign.ids.Tags;
28import com.fs.starfarer.api.impl.campaign.intel.bases.PirateBaseManager;
29import com.fs.starfarer.api.impl.campaign.missions.hub.HubMissionWithBarEvent;
30import com.fs.starfarer.api.util.Misc;
31import com.fs.starfarer.api.util.Misc.Token;
32import com.fs.starfarer.api.util.WeightedRandomPicker;
44 List<String> posts =
new ArrayList<String>();
75 if (person ==
null)
return false;
77 if (market ==
null)
return false;
93 ShipPickParams params =
new ShipPickParams(ShipPickMode.PRIORITY_THEN_ALL);
97 for (
int i = 0; i < 10; i++) {
99 if (picks.isEmpty())
return false;
100 String variantId = picks.get(0).variantId;
109 if (variant ==
null)
return false;
140 set(
"$sShip_ref2",
this);
150 set(
"$sShip_member",
member);
155 Map<String, MemoryAPI> memoryMap) {
156 if (
"showShip".equals(action)) {
159 }
else if (
"showPerson".equals(action)) {
168 return "Surplus Ship Hull";
195 if (w + c + p < 1) w = 1;
238 return picker.
pick();
static SettingsAPI getSettings()
static FactoryAPI getFactory()
static void addDMods(FleetMemberData data, boolean own, CampaignFleetAPI recoverer, Random random)
static boolean setDHull(ShipVariantAPI variant)
static float getShipQuality(MarketAPI market, String factionId)
static float getAverageDmodsForQuality(float quality)
static int getNumDModsToAdd(ShipVariantAPI variant, float averageDMods, Random random)
static final String PIRATES
static final String INDEPENDENT
static String POST_SUPPLY_OFFICER
static String POST_STATION_COMMANDER
static String SPACE_CAPTAIN
static String POST_BASE_COMMANDER
static String SPACE_COMMANDER
static String GROUND_COLONEL
static final String COMBAT_CAPITAL
static final String COMBAT_LARGE
static final String PHASE_MEDIUM
static final String COMBAT_SMALL
static final String CARRIER_LARGE
static final String COMBAT_MEDIUM
static final String PHASE_LARGE
static final String PHASE_CAPITAL
static final String CARRIER_SMALL
static final String PHASE_SMALL
static final String CARRIER_MEDIUM
float getDaysSinceStart()
static PirateBaseManager getInstance()
void accept(InteractionDialogAPI dialog, Map< String, MemoryAPI > memoryMap)
static float BASE_PRICE_MULT
void updateInteractionDataImpl()
boolean create(MarketAPI createdAt, boolean barEvent)
static String pickRole(float quality, FactionAPI faction, PersonImportance imp, Random random)
boolean callAction(String action, String ruleId, InteractionDialogAPI dialog, List< Token > params, Map< String, MemoryAPI > memoryMap)
boolean setPersonMissionRef(PersonAPI person, String key)
PersonImportance pickImportance()
void setGiverPost(String giverPost)
static int getRoundNumber(float num)
void setGiverRank(String giverRank)
void setGiverImportance(PersonImportance giverImportance)
void setGiverTags(String ... giverTags)
void setRepFactionChangesTiny()
void findOrCreateGiver(MarketAPI market, boolean addToCommDirectory, boolean cleanUpOnMissionOverIfWasNewPerson)
PersonImportance pickHighImportance()
void setGiverFaction(String factionId)
String pickOne(List< String > options)
void setGiverIsPotentialContactOnSuccess()
void assignShipName(FleetMemberAPI member, String factionId)
void setRepPersonChangesVeryLow()
static String getWithDGS(float num)
static boolean hasOrbitalStation(MarketAPI market)
static boolean isMilitary(MarketAPI market)
FleetMemberAPI createFleetMember(FleetMemberType type, String variantOrWingId)
ShipVariantAPI getVariant(String variantId)
List< ShipRolePick > pickShip(String role, ShipPickParams params)
FactionDoctrineAPI getDoctrine()
VisualPanelAPI getVisualPanel()
void showFleetMemberInfo(FleetMemberAPI member)
void showPersonInfo(PersonAPI person)
PersonImportance getImportance()
boolean hasTag(String tag)
ShipHullSpecAPI getHullSpec()
void setCrew(float quantity)
CrewCompositionAPI getCrewComposition()
RepairTrackerAPI getRepairTracker()
ShipHullSpecAPI getHullSpec()