Starsector API
Loading...
Searching...
No Matches
DecivilizedSubpop.java
Go to the documentation of this file.
1package com.fs.starfarer.api.impl.campaign.econ;
2
3import com.fs.starfarer.api.campaign.econ.MarketAPI;
4import com.fs.starfarer.api.campaign.econ.MarketImmigrationModifier;
5import com.fs.starfarer.api.impl.campaign.ids.Factions;
6import com.fs.starfarer.api.impl.campaign.population.PopulationComposition;
7import com.fs.starfarer.api.ui.TooltipMakerAPI;
8import com.fs.starfarer.api.util.Misc;
9
10
11public class DecivilizedSubpop extends BaseHazardCondition implements MarketImmigrationModifier {
12
13 public static float STABILITY_PENALTY = 2;
14
15 public void apply(String id) {
16 super.apply(id);
17
18 market.getStability().modifyFlat(id, -STABILITY_PENALTY, "Decivilized subpopulation");
19
20 market.addTransientImmigrationModifier(this);
21 }
22
23 public void unapply(String id) {
24 super.unapply(id);
25 market.getStability().unmodify(id);
26
27 market.removeTransientImmigrationModifier(this);
28 }
29
30 public void modifyIncoming(MarketAPI market, PopulationComposition incoming) {
31 incoming.add(Factions.POOR, 10f);
32 incoming.getWeight().modifyFlat(getModId(), getImmigrationBonus(), Misc.ucFirst(condition.getName().toLowerCase()));
33 }
34
35 protected float getImmigrationBonus() {
36 return market.getSize();
37 }
38
39 protected void createTooltipAfterDescription(TooltipMakerAPI tooltip, boolean expanded) {
40 super.createTooltipAfterDescription(tooltip, expanded);
41
42 tooltip.addPara("%s stability",
43 10f, Misc.getHighlightColor(),
44 "-" + (int)STABILITY_PENALTY);
45 tooltip.addPara("%s population growth (based on colony size)",
46 10f, Misc.getHighlightColor(),
47 "+" + (int) getImmigrationBonus());
48// tooltip.addPara("%s stability, %s population growth.",
49// 10f, Misc.getHighlightColor(),
50// "-" + (int)STABILITY_PENALTY, "+" + (int) getImmigrationBonus());
51 }
52}
53
54
void createTooltipAfterDescription(TooltipMakerAPI tooltip, boolean expanded)
void modifyIncoming(MarketAPI market, PopulationComposition incoming)