1package com.fs.starfarer.api.impl.campaign.econ;
4import java.util.ArrayList;
8import com.fs.starfarer.api.Global;
9import com.fs.starfarer.api.campaign.econ.CommodityOnMarketAPI;
10import com.fs.starfarer.api.campaign.econ.MarketAPI;
11import com.fs.starfarer.api.campaign.econ.MarketConditionAPI;
12import com.fs.starfarer.api.combat.MutableStatWithTempMods;
13import com.fs.starfarer.api.combat.MutableStat.StatMod;
14import com.fs.starfarer.api.impl.campaign.ids.Conditions;
15import com.fs.starfarer.api.ui.TooltipMakerAPI;
16import com.fs.starfarer.api.util.CountingMap;
17import com.fs.starfarer.api.util.Misc;
29 if (result == 0) result = 0.01f;
77 String name =
"Trade fleets lost";
82 List<String> unmodify =
new ArrayList<String>();
83 if (com.getMaxSupply() >= com.getAvailable() + 1) {
84 for (String key : com.getAvailableStat().getFlatMods().keySet()) {
85 StatMod mod = com.getAvailableStat().getFlatStatMod(key);
86 int val = (int)Math.round(Math.abs(mod.value));
88 unmodify.add(mod.source);
92 for (String modId : unmodify) {
93 com.getAvailableStat().unmodifyFlat(modId);
120 return super.getTokenReplacements();
126 return super.getHighlights();
137 tooltip.
addTitle(
"Shipping Disruption");
153 "resulting in a temporary accessibility penalty of %s.", opad, h,
"" + penalty +
"%");
159 for (String key : com.getAvailableStat().getFlatMods().keySet()) {
160 StatMod mod = com.getAvailableStat().getFlatStatMod(key);
162 int val = (int)Math.round(Math.abs(mod.value));
164 losses.
add(com, val);
169 if (!losses.isEmpty()) {
170 tooltip.
addPara(
"The local availability of some commodities has been reduced by trade fleet losses. " +
171 "Provided no further losses occur, commodity availability should return to normal levels within at most three months.", opad);
175 tooltip.
addToGrid(0, j++, com.getCommodity().getName(),
186 return super.getTooltipWidth();
196 return super.isTooltipExpandable();
static SectorAPI getSector()
void addTemporaryModFlat(float durInDays, String source, String desc, float value)
void modifyFlat(String source, float value)
void unmodifyFlat(String source)
MarketConditionAPI condition
static ShippingDisruption getDisruption(MarketAPI market)
static float ACCESS_PER_UNITS_LOST
static String COMMODITY_LOSS_PREFIX
Map< String, String > getTokenReplacements()
boolean hasCustomTooltip()
void notifyDisrupted(float duration)
void updatePenaltyValue()
void createTooltip(TooltipMakerAPI tooltip, boolean expanded)
void addShippingLost(float units)
void advance(float amount)
void setDisruptionTimeLeft(float disruptionTimeLeft)
float getDisruptionTimeLeft()
MutableStatWithTempMods shippingLost
static float getPenaltyForShippingLost(float marketSize, float unitsLost)
boolean isTooltipExpandable()
static float ACCESS_LOSS_DURATION
static final String SHIPPING_DISRUPTION
void add(K key, int quantity)
static Color getNegativeHighlightColor()
static Color getHighlightColor()
float convertToDays(float realSeconds)
CampaignClockAPI getClock()
List< CommodityOnMarketAPI > getCommoditiesCopy()
void removeSpecificCondition(String token)
MarketConditionAPI getCondition(String id)
StatBonus getAccessibilityMod()
MarketConditionAPI getSpecificCondition(String token)
String addCondition(String id)
String getIdForPluginModifications()
MarketConditionPlugin getPlugin()