Starsector API
Loading...
Searching...
No Matches
SolarArray.java
Go to the documentation of this file.
1package com.fs.starfarer.api.impl.campaign.econ;
2
3import java.util.ArrayList;
4import java.util.List;
5
6import com.fs.starfarer.api.Global;
7import com.fs.starfarer.api.campaign.econ.Industry;
8import com.fs.starfarer.api.characters.MarketConditionSpecAPI;
9import com.fs.starfarer.api.impl.campaign.ids.Conditions;
10import com.fs.starfarer.api.impl.campaign.ids.Industries;
11import com.fs.starfarer.api.ui.TooltipMakerAPI;
12import com.fs.starfarer.api.util.Misc;
13
14
16
17 public static int FARMING_BONUS = 2;
18
19 public static List<String> SUPPRESSED_CONDITIONS = new ArrayList<String>();
20 static {
21 SUPPRESSED_CONDITIONS.add(Conditions.HOT);
22 SUPPRESSED_CONDITIONS.add(Conditions.POOR_LIGHT);
23 }
24
25 public void apply(String id) {
26 for (String cid : SUPPRESSED_CONDITIONS) {
27 market.suppressCondition(cid);
28 }
29
30 Industry industry = getIndustry();
31 if (industry != null) {
32 industry.getSupplyBonusFromOther().modifyFlat(id, FARMING_BONUS, Misc.ucFirst(condition.getName().toLowerCase()));
33 }
34 //industry.supply(id + "_0", commodityId, base, BaseIndustry.BASE_VALUE_TEXT);
35 }
36
37 public void unapply(String id) {
38 for (String cid : SUPPRESSED_CONDITIONS) {
39 market.unsuppressCondition(cid);
40 }
41 Industry industry = getIndustry();
42 if (industry != null) {
43 industry.getSupplyBonusFromOther().unmodifyFlat(id);
44 }
45 }
46
47 protected Industry getIndustry() {
48 Industry industry = market.getIndustry(Industries.FARMING);
49 if (industry == null) {
50 industry = market.getIndustry(Industries.AQUACULTURE);
51 }
52 return industry;
53 }
54
55 protected void createTooltipAfterDescription(TooltipMakerAPI tooltip, boolean expanded) {
56 float opad = 10f;
57
58 List<String> conds = new ArrayList<String>();
59 for (String id : SUPPRESSED_CONDITIONS) {
60 MarketConditionSpecAPI mc = Global.getSettings().getMarketConditionSpec(id);
61 conds.add(mc.getName());
62 }
63
64 tooltip.addPara("Counters the effects of " + Misc.getAndJoined(conds) + ".\n\nIncreases food production by %s (Farming).",
65 opad, Misc.getHighlightColor(),
66 "" + FARMING_BONUS);
67 }
68}
69
70
71
72
static SettingsAPI getSettings()
Definition Global.java:51
void createTooltipAfterDescription(TooltipMakerAPI tooltip, boolean expanded)
MarketConditionSpecAPI getMarketConditionSpec(String conditionId)