001package com.fs.starfarer.api.impl.campaign.econ; 002 003import java.util.ArrayList; 004import java.util.List; 005 006import com.fs.starfarer.api.Global; 007import com.fs.starfarer.api.campaign.econ.Industry; 008import com.fs.starfarer.api.characters.MarketConditionSpecAPI; 009import com.fs.starfarer.api.impl.campaign.ids.Conditions; 010import com.fs.starfarer.api.impl.campaign.ids.Industries; 011import com.fs.starfarer.api.ui.TooltipMakerAPI; 012import com.fs.starfarer.api.util.Misc; 013 014 015public class SolarArray extends BaseMarketConditionPlugin { 016 017 public static int FARMING_BONUS = 2; 018 019 public static List<String> SUPPRESSED_CONDITIONS = new ArrayList<String>(); 020 static { 021 SUPPRESSED_CONDITIONS.add(Conditions.HOT); 022 SUPPRESSED_CONDITIONS.add(Conditions.POOR_LIGHT); 023 } 024 025 public void apply(String id) { 026 for (String cid : SUPPRESSED_CONDITIONS) { 027 market.suppressCondition(cid); 028 } 029 030 Industry industry = getIndustry(); 031 if (industry != null) { 032 industry.getSupplyBonusFromOther().modifyFlat(id, FARMING_BONUS, Misc.ucFirst(condition.getName().toLowerCase())); 033 } 034 //industry.supply(id + "_0", commodityId, base, BaseIndustry.BASE_VALUE_TEXT); 035 } 036 037 public void unapply(String id) { 038 for (String cid : SUPPRESSED_CONDITIONS) { 039 market.unsuppressCondition(cid); 040 } 041 Industry industry = getIndustry(); 042 if (industry != null) { 043 industry.getSupplyBonusFromOther().unmodifyFlat(id); 044 } 045 } 046 047 protected Industry getIndustry() { 048 Industry industry = market.getIndustry(Industries.FARMING); 049 if (industry == null) { 050 industry = market.getIndustry(Industries.AQUACULTURE); 051 } 052 return industry; 053 } 054 055 protected void createTooltipAfterDescription(TooltipMakerAPI tooltip, boolean expanded) { 056 float opad = 10f; 057 058 List<String> conds = new ArrayList<String>(); 059 for (String id : SUPPRESSED_CONDITIONS) { 060 MarketConditionSpecAPI mc = Global.getSettings().getMarketConditionSpec(id); 061 conds.add(mc.getName()); 062 } 063 064 tooltip.addPara("Counters the effects of " + Misc.getAndJoined(conds) + ".\n\nIncreases food production by %s (Farming).", 065 opad, Misc.getHighlightColor(), 066 "" + FARMING_BONUS); 067 } 068} 069 070 071 072