1package com.fs.starfarer.api.impl.campaign.graid;
4import java.util.Random;
6import com.fs.starfarer.api.campaign.CargoAPI;
7import com.fs.starfarer.api.campaign.TextPanelAPI;
8import com.fs.starfarer.api.campaign.econ.Industry;
9import com.fs.starfarer.api.campaign.econ.Industry.IndustryTooltipMode;
10import com.fs.starfarer.api.campaign.econ.MarketAPI;
11import com.fs.starfarer.api.impl.campaign.procgen.StarSystemGenerator;
12import com.fs.starfarer.api.impl.campaign.rulecmd.salvage.MarketCMD.RaidDangerLevel;
13import com.fs.starfarer.api.loading.IndustrySpecAPI;
14import com.fs.starfarer.api.ui.TooltipMakerAPI;
15import com.fs.starfarer.api.util.Misc;
22 super(
market, target.getId());
39 float days =
source.getDisruptedDays();
40 if (days > 0 && days < 1) days = 1;
41 days = Math.round(days);
43 return "" + (int) days;
51 return Misc.getHighlightColor();
55 marines = Math.max(1, marines);
60 marines = Math.max(1, marines);
81 RaidDangerLevel level =
getSpec().getDisruptDanger();
86 IndustrySpecAPI spec =
getSpec();
87 float add = spec.getOrder();
109 public int performRaid(CargoAPI loot, Random random,
float lootMult, TextPanelAPI text) {
114 dur *= StarSystemGenerator.getNormalRandom(random, 1f, 1.1f);
115 if (dur < 2) dur = 2;
116 float already =
source.getDisruptedDays();
117 source.setDisrupted(already + dur);
121 text.addPara(
"The raid was successful in disrupting " +
source.getCurrentName() +
" operations." +
122 " It will take at least %s days for normal operations to resume.",
123 Misc.getHighlightColor(),
"" + (
int) Math.round(
source.getDisruptedDays()));
130 if (marines <= 0)
return 0f;
131 float already =
source.getDisruptedDays();
133 float dur = marines *
source.getSpec().getDisruptDanger().disruptionDays;
134 dur *= dur / (dur + already);
150 getSource().createTooltip(IndustryTooltipMode.NORMAL, t, expanded);
int performRaid(CargoAPI loot, Random random, float lootMult, TextPanelAPI text)
void createTooltip(TooltipMakerAPI t, boolean expanded)
int getValue(int marines)
float getAddedDisruptionDays()
RaidDangerLevel getDangerLevel()
float addedDisruptionDays
String getQuantityString(int marines)
String getDisruptionDaysString(int marines)
void setAddedDisruptionDays(float addedDisruptionDays)
float getQuantitySortValue()
float getQuantity(int marines)
int getProjectedCreditsValue()
IndustrySpecAPI getSpec()
Color getQuantityColor(int marines)
void setSource(Industry source)
int getDisruptionDaysSort(int marines)
DisruptIndustryRaidObjectivePluginImpl(MarketAPI market, Industry target)
float getBaseDisruptDuration(int marines)
static float DISRUPTION_DAYS_XP_MULT
static float QUANTITY_SORT_TIER_4