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