1package com.fs.starfarer.api.impl.campaign.population;
3import java.util.ArrayList;
6import com.fs.starfarer.api.Global;
7import com.fs.starfarer.api.campaign.comm.CommMessageAPI.MessageClickAction;
8import com.fs.starfarer.api.campaign.econ.ImmigrationPlugin;
9import com.fs.starfarer.api.campaign.econ.MarketAPI;
10import com.fs.starfarer.api.campaign.econ.MarketImmigrationModifier;
11import com.fs.starfarer.api.impl.campaign.ids.Factions;
12import com.fs.starfarer.api.impl.campaign.ids.Strings;
13import com.fs.starfarer.api.impl.campaign.intel.BaseIntelPlugin;
14import com.fs.starfarer.api.impl.campaign.intel.MessageIntel;
15import com.fs.starfarer.api.util.Misc;
35 public void advance(
float days,
boolean uiUpdateOnly) {
62 if (uiUpdateOnly)
return;
70 for (
int i = 0; i < iter; i++) {
73 f = (iter - i) * 0.1f;
79 for (String
id : inc.
getComp().keySet()) {
80 pop.
add(
id, inc.
get(
id) * f);
94 if (newWeight > max) {
103 conversionFraction *= f;
104 if (conversionFraction > 0) {
112 if (pirateFraction > 0) {
118 for (String fid :
new ArrayList<String>(pop.
getComp().keySet())) {
142 new String[] {
"" + (int)Math.round(market.getSize())},
154 for (
int i = 0; i <= 10; i++) {
224 " based on colony size)");
237 if (curr ==
market)
continue;
242 if (biggestInSystem ==
null || curr.
getSize() > biggestInSystem.
getSize()) {
243 biggestInSystem = curr;
262 if (biggestInSystem !=
null) {
266 inc.
getWeight().
modifyFlat(
"inc_insys", sDiff,
"Larger non-hostile colony in same system");
267 }
else if (sDiff < 0) {
292 inc.
add(bulkFaction, 10f * numIndustries);
298 mod.modifyIncoming(
market, inc);
305 for (String fid :
new ArrayList<String>(inc.
getComp().keySet())) {
319 if (hazMod < 0) hazMod = 0;
321 return -hazMod * hazardSizeMult;
326 return hazardSizeMult;
360 return (max - min) * fraction;
367 return points / (max - min);
372 return (
float) (300f * Math.pow(2, size - 3));
static SettingsAPI getSettings()
static SectorAPI getSector()
void modifyFlat(String source, float value)
float computeEffective(float baseValue)
static final String PIRATES
static final String INDEPENDENT
static String getSoundMajorPosting()
static final String BULLET
void setIcon(String icon)
void addLine(String text)
void setSound(String sound)
float getWeightForMarketSize(float size)
float getPopulationPointsForFraction(float fraction)
static float GROWTH_NO_INDUSTRIES
static float INCENTIVE_POINTS_EXTRA
CoreImmigrationPluginImpl(MarketAPI market)
static float getImmigrationHazardPenaltySizeMult(MarketAPI market)
void advance(float days, boolean uiUpdateOnly)
float getFractionForPopulationPoints(float points)
static final float ZERO_STABILITY_PENALTY
static final float FACTION_HOSTILITY_IMPACT
PopulationComposition computeIncoming(boolean uiUpdateOnly, float f)
static float HAZARD_SIZE_MULT
static void increaseMarketSize(MarketAPI market)
void increaseMarketSize()
static void reduceMarketSize(MarketAPI market)
static float INCENTIVE_CREDITS_PER_POINT
static float getWeightForMarketSizeStatic(float size)
static float getImmigrationHazardPenalty(MarketAPI market)
void applyIncentives(PopulationComposition inc, boolean uiUpdateOnly, float f)
static final float MAX_DIST_PENALTY
static float IMMIGRATION_PER_HAZARD
void normalizeToPositive()
void setWeight(float weight)
void add(String id, float value)
LinkedHashMap< String, Float > getComp()
static Color getTextColor()
static float getDistanceLY(SectorEntityToken from, SectorEntityToken to)
static float PER_UNIT_SHIPPING
static Color getBasePlayerColor()
static int getNumIndustries(MarketAPI market)
static Color getHighlightColor()
static int getMaxMarketSize(MarketAPI market)
static String getRoundedValueMaxOneAfterDecimal(float value)
float getFloat(String key)
void profilerBegin(String id)
void addMessage(String text)
boolean isHostileTo(FactionAPI other)
FactionAPI getPlayerFaction()
boolean isInNewGameAdvance()
CampaignUIAPI getCampaignUI()
FactionAPI getFaction(String factionId)
List< MarketAPI > getMarketsWithSameGroup(MarketAPI market)
PopulationComposition getPopulation()
boolean wasIncomingSetBefore()
float getStabilityValue()
void setIncoming(PopulationComposition incoming)
float getImmigrationIncentivesCost()
boolean isImmigrationIncentivesOn()
PopulationComposition getIncoming()
void setImmigrationIncentivesOn(Boolean incentivesOn)
StatBonus getAccessibilityMod()
float getIncentiveCredits()
String addCondition(String id)
List< Industry > getIndustries()
Vector2f getLocationInHyperspace()
void setIncentiveCredits(float incentiveCredits)
void removeCondition(String id)
List< MarketImmigrationModifier > getAllImmigrationModifiers()