1package com.fs.starfarer.api.impl.campaign.econ.impl;
5import com.fs.starfarer.api.Global;
6import com.fs.starfarer.api.campaign.econ.CommoditySpecAPI;
7import com.fs.starfarer.api.campaign.econ.MarketAPI;
8import com.fs.starfarer.api.campaign.econ.MarketImmigrationModifier;
9import com.fs.starfarer.api.combat.MutableStat;
10import com.fs.starfarer.api.impl.campaign.ids.Commodities;
11import com.fs.starfarer.api.impl.campaign.ids.Industries;
12import com.fs.starfarer.api.impl.campaign.ids.Stats;
13import com.fs.starfarer.api.impl.campaign.intel.events.ht.HyperspaceTopographyEventIntel;
14import com.fs.starfarer.api.impl.campaign.intel.events.ht.HyperspaceTopographyEventIntel.Stage;
15import com.fs.starfarer.api.impl.campaign.population.PopulationComposition;
16import com.fs.starfarer.api.ui.Alignment;
17import com.fs.starfarer.api.ui.TooltipMakerAPI;
18import com.fs.starfarer.api.util.Misc;
19import com.fs.starfarer.api.util.Pair;
47 if (megaport) extraSize = 2;
60 if (deficit.
two > 0) {
109 if (loss < 0) loss = 0;
119 return mode != IndustryTooltipMode.NORMAL ||
isFunctional();
125 if (mode != IndustryTooltipMode.NORMAL ||
isFunctional()) {
145 String totalStr =
"+" + (int)Math.round(total * 100f) +
"%";
149 totalStr =
"" + (int)Math.round(total * 100f) +
"%";
154 tooltip.
addPara(
"Accessibility bonus: %s", opad, h, totalStr);
156 tooltip.
addPara(
"Accessibility penalty: %s", opad, h, totalStr);
160 tooltip.
addPara(
"Population growth: %s", opad, h,
"+" + (
int)bonus);
163 if (intel !=
null && intel.
isStageActive(Stage.SLIPSTREAM_DETECTION)) {
170 tooltip.
addPara(
"Slipstream detection range: %s light-years", opad, h,
"" + range);
232 String pre =
"Alpha-level AI core currently assigned. ";
233 if (mode == AICoreDescriptionMode.MANAGE_CORE_DIALOG_LIST || mode == AICoreDescriptionMode.INDUSTRY_TOOLTIP) {
234 pre =
"Alpha-level AI core. ";
237 String aStr =
"" + (int)Math.round(a * 100f) +
"%";
239 if (mode == AICoreDescriptionMode.INDUSTRY_TOOLTIP) {
242 text.
addPara(pre +
"Reduces upkeep cost by %s. Reduces demand by %s unit. " +
243 "Increases accessibility by %s.", 0f, highlight,
250 tooltip.
addPara(pre +
"Reduces upkeep cost by %s. Reduces demand by %s unit. " +
251 "Increases accessibility by %s.", opad, highlight,
277 String aStr =
"" + (int)Math.round(a * 100f) +
"%";
279 if (mode == ImprovementDescriptionMode.INDUSTRY_TOOLTIP) {
280 info.
addPara(
"Accessibility increased by %s.", 0f, highlight, aStr);
282 info.
addPara(
"Increases accessibility by %s.", 0f, highlight, aStr);
286 super.addImproveDesc(info, mode);
static SettingsAPI getSettings()
void modifyFlat(String source, float value)
void unmodifyMult(String source)
void modifyMult(String source, float value)
void modifyFlat(String source, float value)
float computeEffective(float baseValue)
void unmodifyFlat(String source)
static int DEMAND_REDUCTION
Map< String, MutableCommodityQuantity > supply
String getImprovementsDescForModifiers()
static String getDeficitText(String commodityId)
Map< String, MutableCommodityQuantity > demand
String getNameForModifier()
MutableStat demandReduction
Pair< String, Integer > getMaxDeficit(String ... commodityIds)
void applyAlphaCoreModifiers()
void applyNoAICoreModifiers()
static float OFFICER_PROB_MOD
static float OFFICER_PROB_MOD_MEGA
void modifyIncoming(MarketAPI market, PopulationComposition incoming)
static float IMPROVE_ACCESSIBILITY
static float BASE_ACCESSIBILITY
void addAlphaCoreDescription(TooltipMakerAPI tooltip, AICoreDescriptionMode mode)
void applyAlphaCoreSupplyAndDemandModifiers()
float getUpkeepPenalty(Pair< String, Integer > deficit)
boolean hasPostDemandSection(boolean hasDemand, IndustryTooltipMode mode)
void applyImproveModifiers()
Pair< String, Integer > getUpkeepAffectingDeficit()
float getPopulationGrowthBonus()
static float UPKEEP_MULT_PER_DEFICIT
static float MEGAPORT_ACCESSIBILITY
static float ALPHA_CORE_ACCESSIBILITY
void addPostDemandSection(TooltipMakerAPI tooltip, boolean hasDemand, IndustryTooltipMode mode)
void addImproveDesc(TooltipMakerAPI info, ImprovementDescriptionMode mode)
static final String SUPPLIES
static final String SHIPS
static final String MEGAPORT
static final String SLIPSTREAM_REVEAL_RANGE_LY_MOD
static final String OFFICER_PROB_MOD
boolean isStageActive(Object stageId)
static HyperspaceTopographyEventIntel get()
static Color getNegativeHighlightColor()
static Color getHighlightColor()
CommoditySpecAPI getCommoditySpec(String commodityId)
void setHasSpaceport(boolean hasSpaceport)
MutableMarketStatsAPI getStats()
StatBonus getAccessibilityMod()
DynamicStatsAPI getDynamic()
StatBonus getMod(String id)