1package com.fs.starfarer.api.impl.campaign.missions;
6import org.lwjgl.util.vector.Vector2f;
8import com.fs.starfarer.api.Global;
9import com.fs.starfarer.api.campaign.InteractionDialogAPI;
10import com.fs.starfarer.api.campaign.PersonImportance;
11import com.fs.starfarer.api.campaign.econ.CommodityOnMarketAPI;
12import com.fs.starfarer.api.campaign.econ.CommoditySpecAPI;
13import com.fs.starfarer.api.campaign.econ.MarketAPI;
14import com.fs.starfarer.api.campaign.rules.MemoryAPI;
15import com.fs.starfarer.api.characters.PersonAPI;
16import com.fs.starfarer.api.impl.campaign.ids.Commodities;
17import com.fs.starfarer.api.impl.campaign.ids.Factions;
18import com.fs.starfarer.api.impl.campaign.ids.FleetTypes;
19import com.fs.starfarer.api.impl.campaign.ids.Ranks;
20import com.fs.starfarer.api.impl.campaign.ids.Tags;
21import com.fs.starfarer.api.impl.campaign.missions.hub.HubMissionWithBarEvent;
22import com.fs.starfarer.api.impl.campaign.missions.hub.ReqMode;
23import com.fs.starfarer.api.ui.TooltipMakerAPI;
24import com.fs.starfarer.api.util.Misc;
43 public static enum Stage {
48 public static enum Variation {
92 if (person ==
null)
return false;
94 if (market ==
null)
return false;
127 if (preferExpensive) {
133 if (com ==
null && canOfferRemote) {
156 if (preferExpensive) {
162 if (com ==
null)
return false;
258 info.
addPara(
"You have enough " +
getSpec().getLowerCaseName() +
" in your cargo holds to complete " +
259 "the delivery.", opad);
261 info.
addPara(
"You do not have enough " +
getSpec().getLowerCaseName() +
" in your cargo holds to complete " +
262 "the delivery.", opad);
278 info.
addPara(
"Acquire %s units of " + name, pad, tc, h,
"" + (
int)
quantity);
292 super.accept(dialog, memoryMap);
static SettingsAPI getSettings()
static final String TAG_EXPENSIVE
static final String PIRATES
static final String PLAYER
static final String PATROL_MEDIUM
static String POST_GANGSTER
static String POST_PORTMASTER
static String POST_TRADER
static String POST_INVESTOR
static String POST_COMMODITIES_AGENT
static String POST_SENIOR_EXECUTIVE
static String POST_SMUGGLER
static String POST_CRIMINAL
static String POST_MERCHANT
static String POST_EXECUTIVE
static boolean SAME_CONTACT_DEBUG
void triggerCreateFleet(FleetSize size, FleetQuality quality, String factionId, String type, SectorEntityToken roughlyWhere)
void triggerSetStandardAggroInterceptFlags()
void setDelay(float minDays, float maxDays)
void setLocationCoreOnly(boolean allowInsidePopulatedSystems, String requireLargestMarketNotHostileToFaction)
void triggerSetAdjustStrengthBasedOnQuality(boolean randomize, float quality)
void setEncounterInHyper()
PersonAPI deliveryContact
static float MISSION_DAYS
boolean addNextStepText(TooltipMakerAPI info, Color tc, float pad)
void addDescriptionForNonEndStage(TooltipMakerAPI info, float width, float height)
static float BASE_PRICE_MULT
static float PROB_BAR_UNDERWORLD
void accept(InteractionDialogAPI dialog, Map< String, MemoryAPI > memoryMap)
static float PROB_ILLEGAL_IF_UNDERWORLD
static float PROB_COMPLICATIONS
static float ILLEGAL_QUANTITY_MULT
static float MIN_BASE_VALUE
static float MAX_BASE_VALUE
boolean create(MarketAPI createdAt, boolean barEvent)
CommoditySpecAPI getSpec()
void updateInteractionDataImpl()
transient CommoditySpecAPI spec
void setTimeLimit(Object failStage, float days, StarSystemAPI noLimitWhileInSystem, Object ... noLimitAfterStages)
void setRepPersonChangesMedium()
boolean rollProbability(float p)
static boolean playerHasEnough(String comId, int quantity)
boolean setPersonMissionRef(PersonAPI person, String key)
PersonImportance pickImportance()
void setGiverPost(String giverPost)
int getDistanceLY(MarketAPI market)
PersonAPI findOrCreateTrader(String factionId, MarketAPI market, boolean cleanUpOnMissionOverIfWasNewPerson)
static int getRoundNumber(float num)
void makeImportant(PersonAPI person, String flag, Enum ... stages)
void setSuccessStage(Object id)
void setGiverRank(String giverRank)
void setStageOnMemoryFlag(Object to, HasMemory withMemory, String flag)
void setGiverImportance(PersonImportance giverImportance)
PersonAPI findOrCreateCriminal(MarketAPI market, boolean cleanUpOnMissionOverIfWasNewPerson)
void setFailureStage(Object id)
void setGiverTags(String ... giverTags)
void setRepFactionChangesLow()
void findOrCreateGiver(MarketAPI market, boolean addToCommDirectory, boolean cleanUpOnMissionOverIfWasNewPerson)
PersonImportance pickHighImportance()
void setGiverFaction(String factionId)
String pickOne(List< String > options)
void setPersonDoGenericPortAuthorityCheck(PersonAPI person)
void setStartingStage(Object startingStage)
void setGiverIsPotentialContactOnSuccess()
void setRepFactionChangesVeryLow()
void ensurePersonIsInCommDirectory(MarketAPI market, PersonAPI person)
void requireMarketFactionNotHostileTo(String faction)
void requireMarketLocationNot(String ... locations)
void requireMarketFaction(String ... factions)
void requireCommodityIsNotPersonnel()
void requireCommoditySurplusAtMost(final int qty)
CommodityOnMarketAPI pickCommodity()
void requireMarketIs(String id)
void requireMarketIsNot(final MarketAPI param)
void preferCommodityIllegal()
void requireCommodityDemandAtLeast(final int qty)
void requireCommodityDeficitAtLeast(final int qty)
void requireMarketNotHidden()
void requireCommodityLegal()
void preferCommodityTags(ReqMode mode, String ... tags)
void triggerSetFleetGenericHailPermanent(String commsTrigger)
void triggerSetStandardAggroPirateFlags()
void triggerSetFleetMemoryValue(final String key, final Object value)
static String getDGSCredits(float num)
static String getWithDGS(float num)
static String ucFirst(String str)
static Color getHighlightColor()
CommoditySpecAPI getCommoditySpec(String commodityId)
CommoditySpecAPI getCommodity()
String getLowerCaseName()
LocationAPI getContainingLocation()
float getSupplyPrice(String commodityId, double quantity, boolean isPlayerPrice)
String getPortraitSprite()
boolean hasTag(String tag)
PersonImportance getImportance()