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.campaign.econ.SubmarketAPI;
10import com.fs.starfarer.api.impl.campaign.ids.Factions;
11import com.fs.starfarer.api.impl.campaign.ids.Submarkets;
12import com.fs.starfarer.api.impl.campaign.population.PopulationComposition;
13import com.fs.starfarer.api.ui.TooltipMakerAPI;
14import com.fs.starfarer.api.util.Misc;
26 protected transient SubmarketAPI
saved =
null;
32 SubmarketAPI open =
market.getSubmarket(Submarkets.SUBMARKET_OPEN);
37 market.addSubmarket(Submarkets.SUBMARKET_OPEN);
38 SubmarketAPI sub =
market.getSubmarket(Submarkets.SUBMARKET_OPEN);
56 }
else if (
market.isPlayerOwned()) {
57 market.removeSubmarket(Submarkets.SUBMARKET_OPEN);
75 if (
market.isPlayerOwned()) {
76 SubmarketAPI open =
market.getSubmarket(Submarkets.SUBMARKET_OPEN);
84 market.removeSubmarket(Submarkets.SUBMARKET_OPEN);
93 Color h = Misc.getHighlightColor();
97 String aStr =
"+" + (int)Math.round(a * 1f) +
"%";
98 tooltip.addPara(
"Colony income: %s", opad, h, aStr);
100 h = Misc.getNegativeHighlightColor();
107 tooltip.addPara(
"Adds an independent \'Open Market\' that the colony's owner is able to trade with. "
108 +
"A low-level semi-permanent bounty on all hostile fleets may be posted as well.", 10f);
114 if (mode != IndustryTooltipMode.NORMAL ||
isFunctional()) {
120 incoming.add(Factions.TRITACHYON, 10f);
125 return market.hasSpaceport();
129 return "Requires a functional spaceport";
134 float size =
market.getSize();
142 return super.getCurrentImage();
164 Color highlight = Misc.getHighlightColor();
166 String pre =
"Alpha-level AI core currently assigned. ";
167 if (mode == AICoreDescriptionMode.MANAGE_CORE_DIALOG_LIST || mode == AICoreDescriptionMode.INDUSTRY_TOOLTIP) {
168 pre =
"Alpha-level AI core. ";
171 String str =
"" + (int) Math.round(a) +
"%";
173 if (mode == AICoreDescriptionMode.INDUSTRY_TOOLTIP) {
175 TooltipMakerAPI text = tooltip.beginImageWithText(coreSpec.getIconName(), 48);
176 text.addPara(pre +
"Reduces upkeep cost by %s. Reduces demand by %s unit. " +
177 "Increases colony income by %s.", 0f, highlight,
180 tooltip.addImageWithText(opad);
184 tooltip.addPara(pre +
"Reduces upkeep cost by %s. Reduces demand by %s unit. " +
185 "Increases colony income by %s.", opad, highlight,
206 public void addImproveDesc(TooltipMakerAPI info, ImprovementDescriptionMode mode) {
208 Color highlight = Misc.getHighlightColor();
211 String aStr =
"" + (int)Math.round(a * 1f) +
"%";
213 if (mode == ImprovementDescriptionMode.INDUSTRY_TOOLTIP) {
214 info.addPara(
"Colony income increased by %s.", 0f, highlight, aStr);
216 info.addPara(
"Increases colony income by %s.", 0f, highlight, aStr);
219 info.addSpacer(opad);
220 super.addImproveDesc(info, mode);
static SettingsAPI getSettings()
static SectorAPI getSector()
static int DEMAND_REDUCTION
String getImprovementsDescForModifiers()
static int SIZE_FOR_LARGE_IMAGE
transient IndustryTooltipMode currTooltipMode
static int SIZE_FOR_SMALL_IMAGE
String getNameForModifier()
MutableStat demandReduction
void applyAlphaCoreSupplyAndDemandModifiers()
void applyImproveModifiers()
String getUnavailableReason()
static float STABILITY_PELANTY
void addStabilityPostDemandSection(TooltipMakerAPI tooltip, boolean hasDemand, IndustryTooltipMode mode)
void applyAlphaCoreModifiers()
void addImproveDesc(TooltipMakerAPI info, ImprovementDescriptionMode mode)
boolean isAvailableToBuild()
static float ALPHA_CORE_BONUS
void addAlphaCoreDescription(TooltipMakerAPI tooltip, AICoreDescriptionMode mode)
void modifyIncoming(MarketAPI market, PopulationComposition incoming)
static float IMPROVE_BONUS
void addRightAfterDescriptionSection(TooltipMakerAPI tooltip, IndustryTooltipMode mode)
void applyNoAICoreModifiers()
void addPostDemandSection(TooltipMakerAPI tooltip, boolean hasDemand, IndustryTooltipMode mode)
transient SubmarketAPI saved
String getSpriteName(String category, String id)
CommoditySpecAPI getCommoditySpec(String commodityId)