1package com.fs.starfarer.api.impl.campaign.abilities;
5import com.fs.starfarer.api.Global;
6import com.fs.starfarer.api.campaign.CampaignFleetAPI;
7import com.fs.starfarer.api.campaign.PlanetAPI;
8import com.fs.starfarer.api.campaign.SectorEntityToken.VisibilityLevel;
9import com.fs.starfarer.api.campaign.StarSystemAPI;
10import com.fs.starfarer.api.campaign.econ.MarketAPI;
11import com.fs.starfarer.api.campaign.econ.MarketAPI.SurveyLevel;
12import com.fs.starfarer.api.impl.campaign.ids.Pings;
13import com.fs.starfarer.api.impl.campaign.intel.misc.RemoteSurveyDataForPlanetIntel;
14import com.fs.starfarer.api.plugins.SurveyPlugin;
15import com.fs.starfarer.api.ui.LabelAPI;
16import com.fs.starfarer.api.ui.TooltipMakerAPI;
17import com.fs.starfarer.api.util.Misc;
72 if (
level != VisibilityLevel.NONE) {
84 if (fleet ==
null)
return;
96 if (planet !=
null && planet.
getMarket() !=
null) {
114 if (!super.isUsable())
return false;
115 if (
getFleet() ==
null)
return false;
138 if (planet.isStar())
continue;
139 if (planet.getMarket() ==
null)
continue;
141 SurveyLevel
level = planet.getMarket().getSurveyLevel();
142 if (
level == SurveyLevel.FULL)
continue;
145 if (score > bestScore) {
163 if (fleet ==
null)
return;
175 if (fleet ==
null)
return;
188 tooltip.
addPara(
"Coordinate the fleet's active sensor network to scan all the planets in the system and "
189 +
"identify the most promising candidate for a full survey operation.",
193 tooltip.
addPara(
"Increases the range at which the fleet can be detected by %s* units and brings the fleet to a near-stop as drives are powered down to reduce interference.",
201 if (planet ==
null) {
203 tooltip.
addPara(
"Can not be used in hyperspace.", bad, pad);
206 tooltip.
addPara(
"Remote survey already performed in this star system.", bad, pad);
208 tooltip.
addPara(
"No suitable planets in the star system.", bad, pad);
213 tooltip.
addPara(
"*2000 units = 1 map grid cell", gray, pad);
static SettingsAPI getSettings()
static boolean CODEX_TOOLTIP_MODE
static SectorAPI getSector()
void modifyMult(String source, float value)
void modifyMult(String source, float value)
void modifyFlat(String source, float value)
transient AbilitySpecAPI spec
CampaignFleetAPI getFleet()
void addIncompatibleToTooltip(TooltipMakerAPI tooltip, boolean expanded)
static final float DETECTABILITY_RANGE_BONUS
void applyEffect(float amount, float level)
void createTooltip(TooltipMakerAPI tooltip, boolean expanded)
static final float SURVEY_RANGE
static final String ALREADY_DID_IN_SYSTEM
static final float ACCELERATION_MULT
PlanetAPI findBestPlanet()
static final String REMOTE_SURVEY
static Color getNegativeHighlightColor()
static Color getGrayColor()
static Color getHighlightColor()
Object getNewPluginInstance(String id)
MutableFleetStatsAPI getStats()
boolean isInHyperspaceTransition()
List< PlanetAPI > getPlanets()
MemoryAPI getMemoryWithoutUpdate()
EveryFrameScript addPing(SectorEntityToken entity, String pingType)
boolean isInCurrentLocation()
VisibilityLevel getVisibilityLevelToPlayerFleet()
StarSystemAPI getStarSystem()
void setSurveyLevel(SurveyLevel surveyLevel)
boolean contains(String key)
void set(String key, Object value)
StatBonus getFleetwideMaxBurnMod()
StatBonus getDetectedRangeMod()
MutableStat getAccelerationMult()
default int getSurveyDataScore(PlanetAPI planet)