1package com.fs.starfarer.api.impl.campaign.econ;
3import com.fs.starfarer.api.Global;
4import com.fs.starfarer.api.campaign.econ.MarketAPI;
5import com.fs.starfarer.api.campaign.econ.MarketConditionAPI;
6import com.fs.starfarer.api.campaign.econ.MarketImmigrationModifier;
7import com.fs.starfarer.api.impl.campaign.ids.Conditions;
8import com.fs.starfarer.api.impl.campaign.ids.Factions;
9import com.fs.starfarer.api.impl.campaign.ids.Stats;
10import com.fs.starfarer.api.impl.campaign.population.PopulationComposition;
11import com.fs.starfarer.api.ui.TooltipMakerAPI;
12import com.fs.starfarer.api.util.Misc;
32 MarketConditionAPI mc =
market.getCondition(Conditions.FREE_PORT);
33 if (mc !=
null && mc.getPlugin() instanceof
FreeMarket) {
39 private float daysActive = 0f;
42 if (!
market.hasSpaceport()) {
43 market.removeSpecificCondition(
condition.getIdForPluginModifications());
47 if (amount <= 0)
return;
49 super.advance(amount);
64 this.daysActive = daysActive;
68 market.addTransientImmigrationModifier(
this);
82 market.removeTransientImmigrationModifier(
this);
84 market.getStability().unmodifyFlat(
id);
85 market.getAccessibilityMod().unmodifyFlat(
id);
87 market.getStats().getDynamic().getMod(Stats.OFFICER_IS_MERC_PROB_MOD).unmodifyFlat(
id);
91 incoming.add(Factions.PIRATES, 5f);
92 incoming.add(Factions.POOR, 5f);
93 incoming.add(Factions.INDEPENDENT, 5f);
100 growth = Math.round(growth);
102 if (growth < 1) growth = 1;
109 access = Math.round(access * 100f) / 100f;
111 if (access < 0.01f) access = 0.01f;
126 super.createTooltipAfterDescription(tooltip, expanded);
128 if (!
market.hasSpaceport()) {
129 tooltip.addPara(
"Requires a spaceport to have any effect", Misc.getNegativeHighlightColor(), 10f);
136 tooltip.addPara(
"%s stability (maximum of %s, reached after %s days)",
137 10f, Misc.getHighlightColor(),
141 tooltip.addPara(
"%s population growth (maximum of %s, reached after %s days)",
143 10f, Misc.getHighlightColor(),
148 tooltip.addPara(
"%s accessibility (maximum of %s, reached after %s days)",
149 10f, Misc.getHighlightColor(),
154 tooltip.addPara(
"Colony does not require the transponder to be turned on for open trade. " +
155 "All commodities are legal to trade.", 10f);
157 tooltip.addPara(
"Colony gets income from smuggled exports.", 10f);
static SectorAPI getSector()
MarketConditionAPI condition
static float OFFICER_MERC_PROB_MOD
float getStabilityPenalty()
void createTooltipAfterDescription(TooltipMakerAPI tooltip, boolean expanded)
void modifyIncoming(MarketAPI market, PopulationComposition incoming)
static float MIN_ACCESS_BONUS
void setDaysActive(float daysActive)
float getImmigrationBonus()
static float MIN_STABILITY_PENALTY
static float MAX_ACCESS_BONUS
static float MAX_STABILITY_PENALTY
void advance(float amount)