001package com.fs.starfarer.api.impl.campaign; 002 003import com.fs.starfarer.api.Global; 004import com.fs.starfarer.api.campaign.econ.MarketAPI; 005import com.fs.starfarer.api.campaign.econ.StabilizeMarketPlugin; 006import com.fs.starfarer.api.impl.campaign.econ.RecentUnrest; 007import com.fs.starfarer.api.ui.TooltipMakerAPI; 008import com.fs.starfarer.api.util.Misc; 009 010public class StabilizeMarketPluginImpl implements StabilizeMarketPlugin { 011 012 public boolean canStabilize(MarketAPI market) { 013 return getMaxStabilizeAmount(market) > 0; 014 } 015 016 public void createStabilizeButtonTooltip(TooltipMakerAPI info, float width, boolean expanded, MarketAPI market) { 017 info.addPara("Can only stabilize colonies with at least %s points of recent unrest.", 0f, 018 Misc.getHighlightColor(), "" + 2); 019 } 020 021 public int getMaxStabilizeAmount(MarketAPI market) { 022 return Math.max(0, RecentUnrest.getPenalty(market) - 1); 023 } 024 025 public int getCostPerStabilityPoint(MarketAPI market) { 026 int base = Global.getSettings().getInt("baseStabilizeCost"); 027 return Math.max(1, market.getSize() - 2) * base; 028 } 029 030 public boolean isStabilizeButtonTooltipExpandable(MarketAPI market) { 031 return false; 032 } 033 034 public boolean stabilizeButtonHasTooltip(MarketAPI market) { 035 return !canStabilize(market); 036 } 037 038 public int getHandlingPriority(Object params) { 039 return 0; 040 } 041}