1package com.fs.starfarer.api.impl.campaign.econ.impl;
5import com.fs.starfarer.api.Global;
6import com.fs.starfarer.api.campaign.PlanetAPI;
7import com.fs.starfarer.api.campaign.econ.CommodityOnMarketAPI;
8import com.fs.starfarer.api.campaign.econ.CommoditySpecAPI;
9import com.fs.starfarer.api.impl.campaign.ids.Commodities;
10import com.fs.starfarer.api.impl.campaign.ids.Industries;
11import com.fs.starfarer.api.impl.campaign.ids.Stats;
12import com.fs.starfarer.api.impl.campaign.ids.Strings;
13import com.fs.starfarer.api.impl.campaign.rulecmd.salvage.MarketCMD.RaidDangerLevel;
14import com.fs.starfarer.api.ui.TooltipMakerAPI;
15import com.fs.starfarer.api.util.Misc;
16import com.fs.starfarer.api.util.Pair;
29 int size =
market.getSize();
30 boolean hb = Industries.HEAVYBATTERIES.equals(
getId());
32 demand(Commodities.SUPPLIES, size);
33 demand(Commodities.MARINES, size);
34 demand(Commodities.HAND_WEAPONS, size - 2);
43 float mult =
getDeficitMult(Commodities.SUPPLIES, Commodities.MARINES, Commodities.HAND_WEAPONS);
46 String com =
getMaxDeficit(Commodities.SUPPLIES, Commodities.MARINES, Commodities.HAND_WEAPONS).one;
50 market.getStats().getDynamic().getMod(Stats.GROUND_DEFENSES_MOD)
69 market.getStats().getDynamic().getMod(Stats.GROUND_DEFENSES_MOD).unmodifyMult(
getModId());
76 boolean batteries = Industries.HEAVYBATTERIES.equals(
getId());
78 PlanetAPI planet =
market.getPlanetEntity();
79 if (planet ==
null || planet.isGasGiant()) {
83 return super.getCurrentImage();
97 return mode != IndustryTooltipMode.NORMAL ||
isFunctional();
103 if (mode != IndustryTooltipMode.NORMAL ||
isFunctional()) {
106 boolean hb = Industries.HEAVYBATTERIES.equals(
getId());
119 return getMaxDeficit(Commodities.SUPPLIES, Commodities.MARINES, Commodities.HAND_WEAPONS);
126 market.getStats().getDynamic().getMod(Stats.GROUND_DEFENSES_MOD).modifyMult(
132 market.getStats().getDynamic().getMod(Stats.GROUND_DEFENSES_MOD).unmodifyMult(
getModId(1));
142 Color highlight = Misc.getHighlightColor();
144 String pre =
"Alpha-level AI core currently assigned. ";
145 if (mode == AICoreDescriptionMode.MANAGE_CORE_DIALOG_LIST || mode == AICoreDescriptionMode.INDUSTRY_TOOLTIP) {
146 pre =
"Alpha-level AI core. ";
150 String str = Strings.X + (1f + a) +
"";
152 if (mode == AICoreDescriptionMode.INDUSTRY_TOOLTIP) {
154 TooltipMakerAPI text = tooltip.beginImageWithText(coreSpec.getIconName(), 48);
155 text.addPara(pre +
"Reduces upkeep cost by %s. Reduces demand by %s unit. " +
156 "Increases ground defenses by %s.", 0f, highlight,
159 tooltip.addImageWithText(opad);
163 tooltip.addPara(pre +
"Reduces upkeep cost by %s. Reduces demand by %s unit. " +
164 "Increases ground defenses by %s.", opad, highlight,
178 market.getStats().getDynamic().getMod(Stats.GROUND_DEFENSES_MOD).modifyMult(
"ground_defenses_improve",
182 market.getStats().getDynamic().getMod(Stats.GROUND_DEFENSES_MOD).unmodifyMult(
"ground_defenses_improve");
186 public void addImproveDesc(TooltipMakerAPI info, ImprovementDescriptionMode mode) {
188 Color highlight = Misc.getHighlightColor();
191 String str = Strings.X + (1f + a) +
"";
193 if (mode == ImprovementDescriptionMode.INDUSTRY_TOOLTIP) {
194 info.addPara(
"Ground defenses increased by %s.", 0f, highlight, str);
196 info.addPara(
"Increases ground defenses by %s.", 0f, highlight, str);
199 info.addSpacer(opad);
200 super.addImproveDesc(info, mode);
static SettingsAPI getSettings()
static int DEMAND_REDUCTION
Map< String, MutableCommodityQuantity > supply
String getImprovementsDescForModifiers()
static String getDeficitText(String commodityId)
void addStabilityPostDemandSection(TooltipMakerAPI tooltip, boolean hasDemand, IndustryTooltipMode mode)
void unmodifyStabilityWithBaseMod()
void modifyStabilityWithBaseMod()
float getDeficitMult(String ... commodities)
void addGroundDefensesImpactSection(TooltipMakerAPI tooltip, float bonus, String ...commodities)
Map< String, MutableCommodityQuantity > demand
String getNameForModifier()
MutableStat demandReduction
Pair< String, Integer > getMaxDeficit(String ... commodityIds)
void applyNoAICoreModifiers()
int getBaseStabilityMod()
static float IMPROVE_DEFENSE_BONUS
static float ALPHA_CORE_BONUS
void applyImproveModifiers()
Pair< String, Integer > getStabilityAffectingDeficit()
RaidDangerLevel adjustItemDangerLevel(String itemId, String data, RaidDangerLevel level)
static float DEFENSE_BONUS_BATTERIES
void addAlphaCoreDescription(TooltipMakerAPI tooltip, AICoreDescriptionMode mode)
boolean hasPostDemandSection(boolean hasDemand, IndustryTooltipMode mode)
void applyAlphaCoreModifiers()
void addImproveDesc(TooltipMakerAPI info, ImprovementDescriptionMode mode)
void applyAlphaCoreSupplyAndDemandModifiers()
RaidDangerLevel adjustCommodityDangerLevel(String commodityId, RaidDangerLevel level)
boolean isDemandLegal(CommodityOnMarketAPI com)
boolean isSupplyLegal(CommodityOnMarketAPI com)
void addPostDemandSection(TooltipMakerAPI tooltip, boolean hasDemand, IndustryTooltipMode mode)
static float DEFENSE_BONUS_BASE
String getSpriteName(String category, String id)
CommoditySpecAPI getCommoditySpec(String commodityId)