1package com.fs.starfarer.api.impl.combat.threat;
3import com.fs.starfarer.api.EveryFrameScript;
4import com.fs.starfarer.api.Global;
5import com.fs.starfarer.api.campaign.CampaignFleetAPI;
6import com.fs.starfarer.api.campaign.FleetAssignment;
7import com.fs.starfarer.api.campaign.SectorEntityToken;
8import com.fs.starfarer.api.campaign.StarSystemAPI;
9import com.fs.starfarer.api.campaign.ai.ModularFleetAIAPI;
10import com.fs.starfarer.api.impl.campaign.fleets.DisposableFleetManager;
11import com.fs.starfarer.api.impl.campaign.ids.Abilities;
12import com.fs.starfarer.api.impl.campaign.ids.MemFlags;
13import com.fs.starfarer.api.impl.campaign.ids.Stats;
14import com.fs.starfarer.api.util.Misc;
35 float days = 1f + 1f * (float) Math.random();
38 if (distFromTarget < 7000f) target =
null;
43 if (distFromPlayer < 4000f) target =
null;
57 if (player ==
null)
return;
62 if (playerHasSensorMods) {
76 if (playerHasSensorMods) {
81 visibleToPlayer = dist < 150f || asb && dist < 500f;
85 if (visibleToPlayer) {
89 visibleToPlayer =
true;
93 if (!visibleToPlayer) {
96 for (
int i = 0; i < 3; i++) {
static SettingsAPI getSettings()
static SectorAPI getSector()
void unmodifyMult(String source)
void modifyMult(String source, float value)
static final String SENSOR_BURST
static final String MEMORY_KEY_MAKE_NON_HOSTILE
static final String MEMORY_KEY_MAKE_HOSTILE
static final String DETECTED_BY_PLAYER_RANGE_MULT
static String THREAT_DETECTED_RANGE_MULT_ID
static String SENSOR_MODS_KEY
static float ONSLAUGHT_MKI_SENSOR_MODIFICATIONS_RANGE_MULT
float seenByPlayerTimeout
static float MIN_SECONDS_TO_PURSUE_AFTER_SEEN_BY_PLAYER
DisposableFleetManager manager
ThreatFleetBehaviorScript(CampaignFleetAPI fleet, StarSystemAPI system)
void advance(float amount)
static float MAX_SECONDS_TO_PURSUE_AFTER_SEEN_BY_PLAYER
static float getDistance(SectorEntityToken from, SectorEntityToken to)
boolean isCampaignSensorsOn()
CampaignFleetAIAPI getAI()
MutableFleetStatsAPI getStats()
void addAssignment(FleetAssignment assignment, SectorEntityToken target, float maxDurationInDays)
boolean isInCurrentLocation()
FleetAssignmentDataAPI getCurrentAssignment()
SectorEntityToken createToken(float x, float y)
CampaignFleetAPI getPlayerFleet()
MemoryAPI getPlayerMemoryWithoutUpdate()
boolean isVisibleToPlayerFleet()
boolean isVisibleToSensorsOf(SectorEntityToken other)
MemoryAPI getMemoryWithoutUpdate()
AbilityPlugin getAbility(String id)
NavigationModulePlugin getNavModule()
void avoidEntity(SectorEntityToken entity, float minRange, float maxRange, float duration)
void set(String key, Object value)
boolean getBoolean(String key)
DynamicStatsAPI getDynamic()
MutableStat getStat(String id)