1package com.fs.starfarer.api.impl.campaign.intel.bar.events;
6import org.apache.log4j.Logger;
8import com.fs.starfarer.api.Global;
9import com.fs.starfarer.api.campaign.CampaignFleetAPI;
10import com.fs.starfarer.api.campaign.CargoAPI;
11import com.fs.starfarer.api.campaign.CargoAPI.CargoItemType;
12import com.fs.starfarer.api.campaign.CargoStackAPI;
13import com.fs.starfarer.api.campaign.FactionAPI;
14import com.fs.starfarer.api.campaign.InteractionDialogAPI;
15import com.fs.starfarer.api.campaign.RepLevel;
16import com.fs.starfarer.api.campaign.ReputationActionResponsePlugin.ReputationAdjustmentResult;
17import com.fs.starfarer.api.campaign.SectorEntityToken;
18import com.fs.starfarer.api.campaign.econ.CommodityOnMarketAPI;
19import com.fs.starfarer.api.campaign.econ.MarketAPI;
20import com.fs.starfarer.api.campaign.econ.SubmarketAPI;
21import com.fs.starfarer.api.impl.campaign.CoreReputationPlugin;
22import com.fs.starfarer.api.impl.campaign.CoreReputationPlugin.MissionCompletionRep;
23import com.fs.starfarer.api.impl.campaign.CoreReputationPlugin.RepActionEnvelope;
24import com.fs.starfarer.api.impl.campaign.CoreReputationPlugin.RepActions;
25import com.fs.starfarer.api.impl.campaign.DebugFlags;
26import com.fs.starfarer.api.impl.campaign.ids.Factions;
27import com.fs.starfarer.api.impl.campaign.ids.Tags;
28import com.fs.starfarer.api.impl.campaign.intel.BaseMissionIntel;
29import com.fs.starfarer.api.impl.campaign.intel.contacts.ContactIntel;
30import com.fs.starfarer.api.impl.campaign.rulecmd.AddRemoveCommodity;
31import com.fs.starfarer.api.impl.campaign.shared.PlayerTradeDataForSubmarket;
32import com.fs.starfarer.api.impl.campaign.shared.SharedData;
33import com.fs.starfarer.api.ui.LabelAPI;
34import com.fs.starfarer.api.ui.SectorMapAPI;
35import com.fs.starfarer.api.ui.TooltipMakerAPI;
36import com.fs.starfarer.api.util.Misc;
133 float repAmount = 0.01f *
event.getReward() / 10000f;
134 if (repAmount < 0.01f) repAmount = 0.01f;
135 if (repAmount > 0.05f) repAmount = 0.05f;
139 ReputationAdjustmentResult rep =
null;
141 new RepActionEnvelope(RepActions.MISSION_SUCCESS, completionRep,
162 MarketAPI market =
event.getDestination();
168 if (!curr.getPlugin().isParticipatesInEconomy())
continue;
170 if (illegal && curr.getPlugin().isBlackMarket()) {
174 if (!illegal && curr.getPlugin().isOpenMarket()) {
180 if (submarket ==
null)
return;
229 if (mode == ListInfoMode.IN_DESC) initPad = opad;
248 null,
null, info, tc, isUpdate, 0f);
261 null,
null, info, tc, isUpdate, initPad);
265 if (mode != ListInfoMode.IN_DESC) {
314 return event.getFaction();
341 MarketAPI market =
event.getDestination();
343 info.
addImages(width, 80, opad, opad * 2f,
351 post =
"-affiliated";
355 String start =
"You've";
374 info.
addPara(
"To make the delivery, either dock at " + market.
getName() +
" openly or approach it without " +
375 "attracting the attention of nearby patrols.", opad);
388 info.
addPara(
"You have failed this contract because " + market.
getName() +
389 " no longer exists as a functional polity.", opad);
404 Set<String> tags = super.getIntelTags(map);
413 return event.getDestination().getPrimaryEntity();
427 float repAmount = 0.01f *
event.getReward() / 10000f;
428 if (repAmount < 0.01f) repAmount = 0.01f;
429 if (repAmount > 0.05f) repAmount = 0.05f;
434 new RepActionEnvelope(RepActions.MISSION_FAILURE, completionRep,
435 null,
null,
true,
false),
438 return new MissionResult(0, rep,
null);
440 return new MissionResult();
454 return event.getDestination();
static FactoryAPI getFactory()
static Logger getLogger(Class c)
static SectorAPI getSector()
static void addAdjustmentMessage(float delta, FactionAPI faction, PersonAPI person, TextPanelAPI panel, TooltipMakerAPI info, Color tc, boolean withCurrent, float pad)
static final String PIRATES
void unindent(TooltipMakerAPI info)
void addDays(TooltipMakerAPI info, String after, float days)
Object getListInfoParam()
Color getBulletColorForMode(ListInfoMode mode)
void setImportant(Boolean important)
void bullet(TooltipMakerAPI info)
Color getTitleColor(ListInfoMode mode)
void addAcceptOrAbandonButton(TooltipMakerAPI info, float width)
String getPostfixForState()
void setMissionState(MissionState missionState)
MissionResult missionResult
void setDuration(Float duration)
void addGenericMissionState(TooltipMakerAPI info)
void setMissionResult(MissionResult missionResult)
static String KEY_FAILED_RECENTLY
MarketAPI getDestination()
static float FAILED_RECENTLY_DURATION
FactionAPI getFactionForUIColors()
MissionResult createAbandonedResult(boolean withPenalty)
Set< String > getIntelTags(SectorMapAPI map)
String getSmallDescriptionTitle()
SectorEntityToken getMapLocation(SectorMapAPI map)
CommodityOnMarketAPI getCommodity()
void applyTradeValueImpact(float totalReward)
boolean canAbandonWithoutPenalty()
MissionResult createTimeRanOutFailedResult()
static float PROB_CONSEQUENCES
static float PROB_CONSEQUENCES_ESCROW
void advanceMission(float amount)
void createSmallDescription(TooltipMakerAPI info, float width, float height)
DeliveryBarEvent getEvent()
static float PROB_PIRATE_ENCOUNTER
void createIntelInfo(TooltipMakerAPI info, ListInfoMode mode)
MarketAPI getDestination()
DeliveryMissionIntel(DeliveryBarEvent event, InteractionDialogAPI dialog)
String getMissionTypeNoun()
void addBulletPoints(TooltipMakerAPI info, ListInfoMode mode)
void performDelivery(InteractionDialogAPI dialog)
static void addCommodityLossText(String commodityId, int quantity, TextPanelAPI text)
static void addCreditsGainText(int credits, TextPanelAPI text)
PlayerTradeDataForSubmarket getPlayerTradeData(SubmarketAPI submarket)
void addToTrackedPlayerSold(ShipSaleInfo info)
PlayerActivityTracker getPlayerActivityTracker()
static SharedData getData()
static Color getTextColor()
static String getDGSCredits(float num)
static void makeImportant(SectorEntityToken entity, String reason)
static Color getGrayColor()
static void affectAvailabilityWithinReason(CommodityOnMarketAPI com, int quantity)
static void makeUnimportant(SectorEntityToken entity, String reason)
static Color getHighlightColor()
CargoStackAPI createCargoStack(CargoItemType type, Object data, CargoAPI cargo)
boolean removeItems(CargoAPI.CargoItemType itemType, Object data, float quantity)
float getCommodityQuantity(String id)
MutableValue getCredits()
String getPersonNamePrefixAOrAn()
String getPersonNamePrefix()
TextPanelAPI getTextPanel()
CampaignFleetAPI getPlayerFleet()
void addScript(EveryFrameScript script)
ReputationAdjustmentResult adjustPlayerReputation(Object action, String factionId)
IntelManagerAPI getIntelManager()
MemoryAPI getMemoryWithoutUpdate()
void addIntel(IntelInfoPlugin plugin)
CommoditySpecAPI getCommodity()
String getLowerCaseName()
boolean isIllegal(String commodityId)
List< SubmarketAPI > getSubmarketsCopy()
SectorEntityToken getPrimaryEntity()
void set(String key, Object value)
void setHighlight(int start, int end)
void setHighlightColors(Color ... colors)