1package com.fs.starfarer.api.impl.campaign.intel.bases;
6import com.fs.starfarer.api.Global;
7import com.fs.starfarer.api.campaign.FactionAPI;
8import com.fs.starfarer.api.campaign.SectorEntityToken;
9import com.fs.starfarer.api.campaign.StarSystemAPI;
10import com.fs.starfarer.api.campaign.econ.MarketAPI;
11import com.fs.starfarer.api.campaign.econ.MarketConditionAPI;
12import com.fs.starfarer.api.campaign.econ.MarketConditionPlugin;
13import com.fs.starfarer.api.impl.campaign.DebugFlags;
14import com.fs.starfarer.api.impl.campaign.ids.Conditions;
15import com.fs.starfarer.api.impl.campaign.ids.Factions;
16import com.fs.starfarer.api.impl.campaign.ids.Tags;
17import com.fs.starfarer.api.impl.campaign.intel.BaseIntelPlugin;
18import com.fs.starfarer.api.impl.campaign.intel.events.PiracyRespiteScript;
19import com.fs.starfarer.api.ui.Alignment;
20import com.fs.starfarer.api.ui.SectorMapAPI;
21import com.fs.starfarer.api.ui.TooltipMakerAPI;
22import com.fs.starfarer.api.util.Misc;
35 boolean hasPlayerMarkets =
false;
37 hasPlayerMarkets |= curr.isPlayerOwned();
39 if (!hasPlayerMarkets) {
47 if (!Misc.getMarketsInLocation(
system, Factions.PLAYER).isEmpty()) {
57 return super.canMakeVisibleToPlayer(playerInRelayRange);
77 if (curr.hasCondition(Conditions.PIRATE_ACTIVITY)) {
78 curr.removeCondition(Conditions.PIRATE_ACTIVITY);
85 super.advanceImpl(amount);
96 if (curr.isPlayerOwned() && PiracyRespiteScript.get() !=
null)
continue;
98 if (!curr.hasCondition(Conditions.PIRATE_ACTIVITY)) {
99 curr.addCondition(Conditions.PIRATE_ACTIVITY,
source);
106 Color h = Misc.getHighlightColor();
107 Color g = Misc.getGrayColor();
112 if (mode == ListInfoMode.IN_DESC) initPad = opad;
128 info.addPara(
getName(), c, 0f);
134 Color h = Misc.getHighlightColor();
135 Color g = Misc.getGrayColor();
136 Color tc = Misc.getTextColor();
142 info.addPara(
"Pirates have been targeting colonies and shipping " +
143 "in the " +
system.getNameWithLowercaseType() +
".", opad);
147 info.addPara(
"The pirates are based out of " +
152 info.addPara(
"The location of the pirate base is unknown, but it's likely to be somewhere nearby.", opad);
154 info.addPara(
"The location of the pirate base is unknown, but there are indications that it's quite distant.", opad);
163 MarketConditionAPI condition =
null;
164 float initPad = opad;
166 if (condition ==
null) {
167 condition = curr.getCondition(Conditions.PIRATE_ACTIVITY);
174 if (condition !=
null) {
175 MarketConditionPlugin plugin = condition.getPlugin();
188 ((
PirateActivity)plugin).createTooltipAfterDescription(info,
true);
205 Set<String> tags = super.getIntelTags(map);
206 tags.add(Factions.PIRATES);
208 if (!Misc.getMarketsInLocation(
system, Factions.PLAYER).isEmpty()) {
209 tags.add(Tags.INTEL_COLONIES);
221 String base =
"Pirate Activity";
223 return base +
" - Over";
225 return base +
" - " +
system.getBaseName();
239 return system.getCenter();
static SettingsAPI getSettings()
static SectorAPI getSector()
static boolean SEND_UPDATES_WHEN_NO_COMM
void setPostingLocation(SectorEntityToken postingLocation)
void unindent(TooltipMakerAPI info)
static String getSoundMinorMessage()
boolean isPlayerVisible()
void sendUpdateIfPlayerHasIntel(Object listInfoParam, TextPanelAPI textPanel)
Object getListInfoParam()
Color getBulletColorForMode(ListInfoMode mode)
void bullet(TooltipMakerAPI info)
Color getTitleColor(ListInfoMode mode)
static void addMarketToList(TooltipMakerAPI info, MarketAPI market, float pad)
PirateBaseIntel getSource()
void advanceImpl(float amount)
void createSmallDescription(TooltipMakerAPI info, float width, float height)
StarSystemAPI getSystem()
FactionAPI getFactionForUIColors()
PirateActivityIntel(StarSystemAPI system, PirateBaseIntel source)
SectorEntityToken getMapLocation(SectorMapAPI map)
String getSmallDescriptionTitle()
String getCommMessageSound()
void addBulletPoints(TooltipMakerAPI info, ListInfoMode mode)
Set< String > getIntelTags(SectorMapAPI map)
boolean canMakeVisibleToPlayer(boolean playerInRelayRange)
void createIntelInfo(TooltipMakerAPI info, ListInfoMode mode)
StarSystemAPI getSystem()
FactionAPI getFactionForUIColors()
StarSystemAPI getTarget()
List< MarketAPI > getAffectedMarkets(StarSystemAPI system)
String getSpriteName(String category, String id)