1package com.fs.starfarer.api.impl.campaign.econ;
3import com.fs.starfarer.api.campaign.econ.MarketAPI;
4import com.fs.starfarer.api.campaign.econ.MarketConditionAPI;
5import com.fs.starfarer.api.impl.campaign.ids.Conditions;
6import com.fs.starfarer.api.impl.campaign.intel.BaseIntelPlugin;
7import com.fs.starfarer.api.ui.TooltipMakerAPI;
8import com.fs.starfarer.api.util.Misc;
9import com.fs.starfarer.api.util.TimeoutTracker;
17 MarketConditionAPI mc =
market.getCondition(Conditions.RECENT_UNREST);
18 if (mc ==
null && !addIfNeeded)
return null;
21 String
id =
market.addCondition(Conditions.RECENT_UNREST);
22 mc =
market.getSpecificCondition(
id);
29 if (ru ==
null)
return 0;
37 protected TimeoutTracker<String>
reasons =
new TimeoutTracker<String>();
47 market.getStability().modifyFlat(
id, -1 *
penalty,
"Recent unrest");
51 market.getStability().unmodify(
id);
55 public void add(
int stability, String reason) {
61 public void counter(
int points, String reason) {
62 points = Math.min(points,
penalty);
71 super.advance(amount);
73 float days = Misc.getDays(amount);
86 market.removeSpecificCondition(
condition.getIdForPluginModifications());
92 super.createTooltip(tooltip, expanded);
98 super.createTooltipAfterDescription(tooltip, expanded);
103 tooltip.addPara(
"%s stability. Goes down by one point every three months.",
104 opad, Misc.getHighlightColor(),
107 if (!
reasons.getItems().isEmpty()) {
108 tooltip.addPara(
"Recent contributing factors:", opad);
111 for (String reason :
reasons.getItems()) {
112 tooltip.addPara(BaseIntelPlugin.BULLET + reason, initPad);
MarketConditionAPI condition
void createTooltipAfterDescription(TooltipMakerAPI tooltip, boolean expanded)
void createTooltip(TooltipMakerAPI tooltip, boolean expanded)
void advance(float amount)
void setPenalty(int penalty)
static int getPenalty(MarketAPI market)
static float DECREASE_DAYS
void counter(int points, String reason)
TimeoutTracker< String > reasons
void add(int stability, String reason)