1package com.fs.starfarer.api.impl.campaign.abilities.ai;
3import com.fs.starfarer.api.campaign.CampaignFleetAPI;
4import com.fs.starfarer.api.campaign.SectorEntityToken.VisibilityLevel;
5import com.fs.starfarer.api.campaign.ai.FleetAIFlags;
6import com.fs.starfarer.api.campaign.econ.MarketAPI;
7import com.fs.starfarer.api.campaign.rules.MemoryAPI;
8import com.fs.starfarer.api.impl.campaign.events.BaseEventPlugin.MarketFilter;
9import com.fs.starfarer.api.impl.campaign.ids.MemFlags;
10import com.fs.starfarer.api.util.IntervalUtil;
11import com.fs.starfarer.api.util.Misc;
23 if (!interval.intervalElapsed())
return;
47 if (fleeingFrom !=
null) {
52 if (pursueTarget !=
null) {
54 if (level != VisibilityLevel.NONE)
return;
58 float prob = (daysUnseen - 1f) * 0.1f;
62 public boolean acceptMarket(
MarketAPI market) {
70 if (Math.random() < prob) {
79 if (trader || smuggler) {
85 public boolean acceptMarket(
MarketAPI market) {
93 if (Math.random() < prob) {
static final String DAYS_TARGET_UNSEEN
static final String HAS_SPEED_PENALTY
static final String PURSUIT_TARGET
static final String HAS_HIGHER_DETECTABILITY
static final String HAS_VISION_BONUS
static final String NEAREST_FLEEING_FROM
static final String MEMORY_KEY_SMUGGLER
static final String MEMORY_KEY_TRADE_FLEET
void advance(float amount)
static MarketAPI findNearestLocalMarket(SectorEntityToken token, float maxDist, MarketFilter filter)
boolean isHostileTo(FactionAPI other)
VisibilityLevel getVisibilityLevelTo(SectorEntityToken other)
MemoryAPI getMemoryWithoutUpdate()
float getFloat(String key)
void set(String key, Object value)
boolean getBoolean(String key)
CampaignFleetAPI getFleet(String key)
boolean isActiveOrInProgress()