1package com.fs.starfarer.api.impl.campaign.graid;
4import java.util.Random;
6import com.fs.starfarer.api.Global;
7import com.fs.starfarer.api.campaign.CargoAPI;
8import com.fs.starfarer.api.campaign.CargoStackAPI;
9import com.fs.starfarer.api.campaign.TextPanelAPI;
10import com.fs.starfarer.api.campaign.CargoAPI.CargoItemType;
11import com.fs.starfarer.api.campaign.econ.CommoditySpecAPI;
12import com.fs.starfarer.api.campaign.econ.MarketAPI;
13import com.fs.starfarer.api.impl.campaign.ids.Commodities;
14import com.fs.starfarer.api.impl.campaign.rulecmd.salvage.MarketCMD.RaidDangerLevel;
15import com.fs.starfarer.api.ui.IconGroupAPI;
16import com.fs.starfarer.api.ui.IconRenderMode;
17import com.fs.starfarer.api.ui.TooltipMakerAPI;
18import com.fs.starfarer.api.util.Misc;
25 super(
market, Commodities.CREDITS);
31 if (spec ==
null)
return;
38 iconGroup.addIconGroup(
id, IconRenderMode.NORMAL, base,
null);
41 iconGroup.addIconGroup(
id, IconRenderMode.RED, minus,
null);
44 iconGroup.addIconGroup(
id, IconRenderMode.GREEN, plus,
null);
68 danger = danger.next();
69 }
else if (mult >= 1.25f) {
70 danger = danger.prev();
93 return base * marines;
98 float incomeMult =
market.getIncomeMult().getModifiedValue();
100 if (incomeMult > 1f) num++;
101 if (incomeMult > 1.25f) num++;
107 float a =
market.getAccessibilityMod().computeEffective(0f);
108 num += Math.round((a - 1f) / 0.2f);
109 num = Math.max(num, 0);
118 float incomeMult =
market.getIncomeMult().getModifiedValue();
120 if (incomeMult < 1f) num++;
121 if (incomeMult < 0.75f) num++;
123 float a =
market.getAccessibilityMod().computeEffective(0f);
124 num += Math.round((1f - a) / 0.1f);
125 num = Math.max(num, 0);
135 mult = Math.round(mult * 100f) / 100f;
140 return Math.max(1,
market.getSize() - 3);
159 public int performRaid(CargoAPI loot, Random random,
float lootMult, TextPanelAPI text) {
165 float mult = 0.9f + random.nextFloat() * 0.2f;
186 Color h = Misc.getHighlightColor();
187 Color bad = Misc.getNegativeHighlightColor();
188 Color good = Misc.getPositiveHighlightColor();
static SettingsAPI getSettings()
static FactoryAPI getFactory()
void setSource(Industry source)
int getProjectedCreditsValue()
float getCreditsLootedMult()
CargoStackAPI getStackForIcon()
void createTooltip(TooltipMakerAPI t, boolean expanded)
float getBaseRaidQuantity()
String getQuantityString(int marines)
int performRaid(CargoAPI loot, Random random, float lootMult, TextPanelAPI text)
void addIcons(IconGroupAPI iconGroup)
CommoditySpecAPI getCommoditySpec()
float getQuantitySortValue()
int getValue(int marines)
CreditsGroundRaidObjectivePluginImpl(MarketAPI market)
float getQuantity(int marines)
RaidDangerLevel getDangerLevel()
static float CREDITS_PER_MARKET_SIZE
CargoStackAPI createCargoStack(CargoItemType type, Object data, CargoAPI cargo)
CommoditySpecAPI getCommoditySpec(String commodityId)
static float XP_GAIN_VALUE_MULT
static float QUANTITY_SORT_TIER_0