1package com.fs.starfarer.api.impl.campaign.abilities.ai;
3import org.lwjgl.util.vector.Vector2f;
5import com.fs.starfarer.api.campaign.CampaignFleetAPI;
6import com.fs.starfarer.api.campaign.ai.FleetAIFlags;
7import com.fs.starfarer.api.campaign.econ.MarketAPI;
8import com.fs.starfarer.api.campaign.rules.MemoryAPI;
9import com.fs.starfarer.api.impl.campaign.abilities.GoDarkAbility;
10import com.fs.starfarer.api.impl.campaign.events.BaseEventPlugin.MarketFilter;
11import com.fs.starfarer.api.impl.campaign.ids.MemFlags;
12import com.fs.starfarer.api.util.IntervalUtil;
13import com.fs.starfarer.api.util.Misc;
25 if (!interval.intervalElapsed())
return;
46 if (fleeingFrom !=
null) {
55 dist > detRange && dist < detRange + 300f) {
62 if (dist < detRange || ourSpeed > theirSpeed) {
82 if (pursueTarget !=
null) {
97 boolean nearestMarketHostile =
false;
99 public boolean acceptMarket(
MarketAPI market) {
104 nearestMarketHostile =
true;
static final String TRAVEL_DEST
static final String HAS_SPEED_PENALTY
static final String HAS_LOWER_DETECTABILITY
static final String WANTS_TRANSPONDER_ON
static final String PURSUIT_TARGET
static final String NEAREST_FLEEING_FROM
static final float DETECTABILITY_MULT
static float AI_FREQUENCY_MULT
static final String MEMORY_KEY_SMUGGLER
static final String MEMORY_KEY_PIRATE
void advance(float amount)
static float getDistance(SectorEntityToken from, SectorEntityToken to)
static float getClosingSpeed(Vector2f p1, Vector2f p2, Vector2f v1, Vector2f v2)
static MarketAPI findNearestLocalMarket(SectorEntityToken token, float maxDist, MarketFilter filter)
FleetDataAPI getFleetData()
boolean isHostileTo(FactionAPI other)
float getMaxSensorRangeToDetect(SectorEntityToken other)
MemoryAPI getMemoryWithoutUpdate()
boolean isTransponderOn()
void set(String key, Object value)
Vector2f getVector2f(String key)
boolean getBoolean(String key)
CampaignFleetAPI getFleet(String key)
boolean isActiveOrInProgress()