1package com.fs.starfarer.api.impl.campaign;
3import com.fs.starfarer.api.Global;
4import com.fs.starfarer.api.campaign.InteractionDialogAPI;
5import com.fs.starfarer.api.campaign.SectorEntityToken;
6import com.fs.starfarer.api.campaign.TextPanelAPI;
7import com.fs.starfarer.api.campaign.comm.IntelInfoPlugin;
8import com.fs.starfarer.api.campaign.econ.MarketAPI;
9import com.fs.starfarer.api.impl.campaign.econ.CommRelayCondition;
10import com.fs.starfarer.api.impl.campaign.ids.Conditions;
11import com.fs.starfarer.api.impl.campaign.ids.MemFlags;
12import com.fs.starfarer.api.impl.campaign.ids.Tags;
13import com.fs.starfarer.api.impl.campaign.intel.BaseIntelPlugin;
14import com.fs.starfarer.api.impl.campaign.intel.misc.CommSnifferIntel;
15import com.fs.starfarer.api.ui.TooltipMakerAPI;
16import com.fs.starfarer.api.util.Misc;
20 public static interface CommSnifferReadableIntel {
21 boolean canMakeVisibleToCommSniffer(
boolean playerInRelayRange,
SectorEntityToken relay);
26 super.init(
entity, pluginParams);
30 Object readResolve() {
51 checkIntelFromCommSniffer();
63 text.
addPara(
"This one, however, is not connected to the Sector-wide network and is not emitting the hyperwave radiation typically indicative of relay operation. The cause of its lack of function is unknown.");
66 text.
addPara(
"You have a comm sniffer running on this relay.");
78 int bonus = Math.abs(Math.round(
81 bonus = Math.abs(Math.round(
95 int bonus = Math.abs(Math.round(
98 bonus = Math.abs(Math.round(
103 text.
addPara(
"%s stability for in-system colonies",
107 text.
addPara(
"%s stability for same-faction colonies in-system",
121 if (dialog !=
null) {
132 private void checkIntelFromCommSniffer() {
137 if (intel instanceof CommSnifferReadableIntel) {
138 CommSnifferReadableIntel csi = (CommSnifferReadableIntel) intel;
139 if (csi.canMakeVisibleToCommSniffer(playerInRelayRange,
entity)) {
140 intel.setForceAddNextFrame(
true);
static SectorAPI getSector()
void advance(float amount)
void printEffect(TooltipMakerAPI text, float pad)
void setHacked(boolean hacked)
void init(SectorEntityToken entity, Object pluginParams)
void addHackStatusToTooltip(TooltipMakerAPI text, float pad)
void printNonFunctionalAndHackDescription(TextPanelAPI text)
static float MAKESHIFT_COMM_RELAY_BONUS
static CommRelayCondition get(MarketAPI market)
LinkedHashSet< SectorEntityToken > getRelays()
static float COMM_RELAY_BONUS
static final String COMM_RELAY
static final String OBJECTIVE_NON_FUNCTIONAL
static final String INDENT
static CommSnifferIntel getExistingSnifferIntelForRelay(SectorEntityToken relay)
static Color getTextColor()
static List< MarketAPI > getMarketsInLocation(LocationAPI location, String factionId)
static Color getHighlightColor()
InteractionDialogAPI getCurrentInteractionDialog()
TextPanelAPI getTextPanel()
IntelManagerAPI getIntelManager()
CampaignUIAPI getCampaignUI()
LocationAPI getContainingLocation()
boolean hasTag(String tag)
MemoryAPI getMemoryWithoutUpdate()
LabelAPI addPara(String text)
List< IntelInfoPlugin > getCommQueue()
void addIntelToTextPanel(IntelInfoPlugin plugin, TextPanelAPI textPanel)
boolean isPlayerInRangeOfCommRelay()
boolean getBoolean(String key)