001package com.fs.starfarer.api.impl.campaign.econ;
002
003import com.fs.starfarer.api.campaign.econ.MarketAPI;
004import com.fs.starfarer.api.campaign.econ.MarketImmigrationModifier;
005import com.fs.starfarer.api.impl.campaign.ids.Factions;
006import com.fs.starfarer.api.impl.campaign.population.PopulationComposition;
007import com.fs.starfarer.api.ui.TooltipMakerAPI;
008import com.fs.starfarer.api.util.Misc;
009
010
011public class DecivilizedSubpop extends BaseHazardCondition implements MarketImmigrationModifier {
012        
013        public static float STABILITY_PENALTY = 2;
014        
015        public void apply(String id) {
016                super.apply(id);
017                
018                market.getStability().modifyFlat(id, -STABILITY_PENALTY, "Decivilized subpopulation");
019                
020                market.addTransientImmigrationModifier(this);
021        }
022
023        public void unapply(String id) {
024                super.unapply(id);
025                market.getStability().unmodify(id);
026                
027                market.removeTransientImmigrationModifier(this);
028        }
029
030        public void modifyIncoming(MarketAPI market, PopulationComposition incoming) {
031                incoming.add(Factions.POOR, 10f);
032                incoming.getWeight().modifyFlat(getModId(), getImmigrationBonus(), Misc.ucFirst(condition.getName().toLowerCase()));
033        }
034        
035        protected float getImmigrationBonus() {
036                return market.getSize();
037        }
038        
039        protected void createTooltipAfterDescription(TooltipMakerAPI tooltip, boolean expanded) {
040                super.createTooltipAfterDescription(tooltip, expanded);
041                
042                tooltip.addPara("%s stability", 
043                                10f, Misc.getHighlightColor(),
044                                "-" + (int)STABILITY_PENALTY);
045                tooltip.addPara("%s population growth (based on colony size)", 
046                                10f, Misc.getHighlightColor(),
047                                "+" + (int) getImmigrationBonus());
048//              tooltip.addPara("%s stability, %s population growth.", 
049//                              10f, Misc.getHighlightColor(),
050//                              "-" + (int)STABILITY_PENALTY, "+" + (int) getImmigrationBonus());
051        }
052}
053
054