1package com.fs.starfarer.api.impl.campaign.intel.events;
4import java.util.ArrayList;
5import java.util.Iterator;
7import java.util.Random;
9import com.fs.starfarer.api.Global;
10import com.fs.starfarer.api.campaign.CampaignFleetAPI;
11import com.fs.starfarer.api.campaign.StarSystemAPI;
12import com.fs.starfarer.api.campaign.comm.IntelInfoPlugin.ListInfoMode;
13import com.fs.starfarer.api.campaign.econ.Industry;
14import com.fs.starfarer.api.campaign.econ.MarketAPI;
15import com.fs.starfarer.api.impl.campaign.ids.Industries;
16import com.fs.starfarer.api.impl.campaign.intel.events.BaseEventIntel.EventStageData;
17import com.fs.starfarer.api.impl.campaign.intel.events.HostileActivityEventIntel.HAERandomEventData;
18import com.fs.starfarer.api.ui.Alignment;
19import com.fs.starfarer.api.ui.TooltipMakerAPI;
20import com.fs.starfarer.api.ui.TooltipMakerAPI.TooltipCreator;
21import com.fs.starfarer.api.ui.TooltipMakerAPI.TooltipLocation;
22import com.fs.starfarer.api.util.Misc;
31@SuppressWarnings(
"unused")
35 protected List<HostileActivityCause2> causes =
new ArrayList<HostileActivityCause2>();
47 total += cause.getProgress();
55 if (!cause.shouldShow())
continue;
57 String desc = cause.getDesc();
59 info.addRowWithGlow(Alignment.LMID, cause.getDescColor(intel),
" " + desc,
60 Alignment.RMID, cause.getProgressColor(intel), cause.getProgressStr());
61 TooltipCreator t = cause.getTooltip();
63 info.addTooltipToAddedRow(t, TooltipLocation.RIGHT,
false);
66 cause.addExtraRows(info, intel);
71 return getClass().getSimpleName();
78 return getEffectMagnitude(system);
105 mag += cause.getMagnitudeContribution(system);
126 @SuppressWarnings(
"rawtypes")
127 public
void removeCauseOfClass(Class c) {
128 Iterator<HostileActivityCause2> iter = causes.iterator();
129 while (iter.hasNext()) {
131 if (curr.getClass() == c) {
137 @SuppressWarnings(
"rawtypes")
139 Iterator<HostileActivityCause2> iter = causes.iterator();
140 while (iter.hasNext()) {
142 if (curr.getClass() == c) {
149 public CampaignFleetAPI
createFleet(StarSystemAPI system, Random random) {
154 return getDesc(intel);
158 return getDescColor(intel);
170 ListInfoMode mode,
boolean isUpdate, Color tc,
float initPad) {
189 public void createTooltip(TooltipMakerAPI tooltip,
boolean expanded, Object tooltipParam) {
190 tooltip.addTitle(title);
191 stage.endResetReqList(tooltip,
true,
"crisis",
198 HAERandomEventData data = (HAERandomEventData) stage.rollData;
200 stage.rollData =
null;
204 ListInfoMode mode,
boolean isUpdate, Color tc,
float initPad) {
221 return Misc.getRandom(seed, level);
224 return new Random(seed);
228 return "colony_threat";
232 for (MarketAPI market :
Global.
getSector().getEconomy().getMarketsCopy()) {
233 if (market.getFactionId().equals(factionId)) {
234 Industry b = market.getIndustry(Industries.MILITARYBASE);
235 if (b ==
null) b = market.getIndustry(Industries.HIGHCOMMAND);
236 if (b !=
null || !requireMilitary) {
static SectorAPI getSector()
void sendUpdateIfPlayerHasIntel(Object listInfoParam, TextPanelAPI textPanel)
void addBulletPointForEventReset(HostileActivityEventIntel intel, EventStageData stage, TooltipMakerAPI info, ListInfoMode mode, boolean isUpdate, Color tc, float initPad)
int getMaxNumFleets(StarSystemAPI system)
float getSpawnInHyperProbability(StarSystemAPI system)
Random getRandomizedStageRandom(int level)
float getSpawnFrequency(StarSystemAPI system)
boolean fireEvent(HostileActivityEventIntel intel, EventStageData stage)
static boolean checkFactionExists(String factionId, boolean requireMilitary)
String getNameForThreatList(boolean first)
String getEventStageSound(HAERandomEventData data)
float getStayInHyperProbability(StarSystemAPI system)
float getEffectMagnitude(StarSystemAPI system)
CampaignFleetAPI createFleet(StarSystemAPI system, Random random)
Random getRandomizedStageRandom()
List< HostileActivityCause2 > getCauses()
void setRandomizedStageSeed(long seed)
String getEventStageIcon(HostileActivityEventIntel intel, EventStageData stage)
Color getNameColorForThreatList()
float getEventFrequency(HostileActivityEventIntel intel, EventStageData stage)
void addBulletPointForEvent(HostileActivityEventIntel intel, EventStageData stage, TooltipMakerAPI info, ListInfoMode mode, boolean isUpdate, Color tc, float initPad)
BaseHostileActivityFactor(HostileActivityEventIntel intel)
void addExtraRows(TooltipMakerAPI info, BaseEventIntel intel)
void addStageDescriptionForEvent(HostileActivityEventIntel intel, EventStageData stage, TooltipMakerAPI info)
void rollEvent(HostileActivityEventIntel intel, EventStageData stage)
void addCause(HostileActivityCause2 cause)
void resetEvent(HostileActivityEventIntel intel, EventStageData stage)
TooltipCreator getStageTooltipImpl(HostileActivityEventIntel intel, EventStageData stage)
TooltipCreator getDefaultEventTooltip(final String title, final HostileActivityEventIntel intel, final EventStageData stage)
long getRandomizedStageSeed()
HostileActivityEventIntel intel
int getProgress(BaseEventIntel intel)