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.CommoditySpecAPI;
8import com.fs.starfarer.api.impl.campaign.ids.Conditions;
9import com.fs.starfarer.api.impl.campaign.ids.Stats;
10import com.fs.starfarer.api.impl.campaign.ids.Strings;
11import com.fs.starfarer.api.ui.TooltipMakerAPI;
12import com.fs.starfarer.api.util.Misc;
30 market.getStats().getDynamic().getMod(Stats.GROUND_DEFENSES_MOD)
34 market.suppressCondition(Conditions.METEOR_IMPACTS);
42 if (planet ==
null)
return;
46 planet.getSpec().setShieldThickness(0.1f);
47 planet.getSpec().setShieldColor(
new Color(255,255,255,175));
48 planet.applySpecChanges();
52 if (planet ==
null)
return;
53 planet.getSpec().setShieldTexture(
null);
54 planet.getSpec().setShieldThickness(0f);
55 planet.getSpec().setShieldColor(
null);
56 planet.applySpecChanges();
64 market.unsuppressCondition(Conditions.METEOR_IMPACTS);
67 market.getStats().getDynamic().getMod(Stats.GROUND_DEFENSES_MOD).unmodifyMult(
getModId());
75 return market.getPlanetEntity() !=
null && !
market.getPlanetEntity().isGasGiant();
80 if (!super.isAvailableToBuild())
return super.getUnavailableReason();
81 return "Can not be built at a gas giant";
89 return mode != IndustryTooltipMode.NORMAL ||
isFunctional();
93 protected void addPostDemandSection(TooltipMakerAPI tooltip,
boolean hasDemand, IndustryTooltipMode mode) {
94 if (mode != IndustryTooltipMode.NORMAL ||
isFunctional()) {
104 market.getStats().getDynamic().getMod(Stats.GROUND_DEFENSES_MOD).modifyMult(
110 market.getStats().getDynamic().getMod(Stats.GROUND_DEFENSES_MOD).unmodifyMult(
getModId(1));
120 Color highlight = Misc.getHighlightColor();
122 String pre =
"Alpha-level AI core currently assigned. ";
123 if (mode == AICoreDescriptionMode.MANAGE_CORE_DIALOG_LIST || mode == AICoreDescriptionMode.INDUSTRY_TOOLTIP) {
124 pre =
"Alpha-level AI core. ";
128 String str = Strings.X + (1f + a) +
"";
130 if (mode == AICoreDescriptionMode.INDUSTRY_TOOLTIP) {
132 TooltipMakerAPI text = tooltip.beginImageWithText(coreSpec.getIconName(), 48);
133 text.addPara(pre +
"Reduces upkeep cost by %s. Reduces demand by %s unit. " +
134 "Increases ground defenses by %s.", 0f, highlight,
137 tooltip.addImageWithText(opad);
141 tooltip.addPara(pre +
"Reduces upkeep cost by %s. Reduces demand by %s unit. " +
142 "Increases ground defenses by %s.", opad, highlight,
156 market.getStats().getDynamic().getMod(Stats.GROUND_DEFENSES_MOD).modifyMult(
getModId(2),
160 market.getStats().getDynamic().getMod(Stats.GROUND_DEFENSES_MOD).unmodifyMult(
getModId(2));
164 public void addImproveDesc(TooltipMakerAPI info, ImprovementDescriptionMode mode) {
166 Color highlight = Misc.getHighlightColor();
169 String str = Strings.X + (1f + a) +
"";
171 if (mode == ImprovementDescriptionMode.INDUSTRY_TOOLTIP) {
172 info.addPara(
"Ground defenses increased by %s.", 0f, highlight, str);
174 info.addPara(
"Increases ground defenses by %s.", 0f, highlight, str);
177 info.addSpacer(opad);
178 super.addImproveDesc(info, mode);
static SettingsAPI getSettings()
static SectorAPI getSector()
static int DEMAND_REDUCTION
void applyIncomeAndUpkeep(float sizeOverride)
String getImprovementsDescForModifiers()
void addGroundDefensesImpactSection(TooltipMakerAPI tooltip, float bonus, String ...commodities)
String getNameForModifier()
MutableStat demandReduction
static float ALPHA_CORE_BONUS
void applyAlphaCoreModifiers()
static float DEFENSE_BONUS
static void applyVisuals(PlanetAPI planet)
void addAlphaCoreDescription(TooltipMakerAPI tooltip, AICoreDescriptionMode mode)
void addPostDemandSection(TooltipMakerAPI tooltip, boolean hasDemand, IndustryTooltipMode mode)
void applyNoAICoreModifiers()
static void unapplyVisuals(PlanetAPI planet)
void applyAlphaCoreSupplyAndDemandModifiers()
String getUnavailableReason()
void applyImproveModifiers()
boolean hasPostDemandSection(boolean hasDemand, IndustryTooltipMode mode)
static float IMPROVE_DEFENSE_BONUS
boolean isAvailableToBuild()
boolean showWhenUnavailable()
void addImproveDesc(TooltipMakerAPI info, ImprovementDescriptionMode mode)
String getSpriteName(String category, String id)
CommoditySpecAPI getCommoditySpec(String commodityId)