1package com.fs.starfarer.api.impl.campaign.ghosts.types;
3import java.util.Random;
5import com.fs.starfarer.api.Script;
6import com.fs.starfarer.api.campaign.CampaignFleetAPI;
7import com.fs.starfarer.api.campaign.CustomCampaignEntityAPI;
8import com.fs.starfarer.api.impl.campaign.DerelictShipEntityPlugin;
9import com.fs.starfarer.api.impl.campaign.DerelictShipEntityPlugin.DerelictShipData;
10import com.fs.starfarer.api.impl.campaign.ghosts.BaseSensorGhost;
11import com.fs.starfarer.api.impl.campaign.ghosts.GBCircle;
12import com.fs.starfarer.api.impl.campaign.ghosts.GBIRunScript;
13import com.fs.starfarer.api.impl.campaign.ghosts.GBIntercept;
14import com.fs.starfarer.api.impl.campaign.ghosts.GBStayInPlace;
15import com.fs.starfarer.api.impl.campaign.ghosts.SensorGhostManager;
16import com.fs.starfarer.api.impl.campaign.ids.Entities;
17import com.fs.starfarer.api.impl.campaign.ids.Factions;
18import com.fs.starfarer.api.impl.campaign.ids.Tags;
19import com.fs.starfarer.api.impl.campaign.procgen.themes.BaseThemeGenerator;
20import com.fs.starfarer.api.impl.campaign.procgen.themes.SalvageSpecialAssigner;
21import com.fs.starfarer.api.util.Misc;
22import com.fs.starfarer.api.util.WeightedRandomPicker;
33 int maxBurn = 9 +
random.nextInt(3);;
58 String faction = factions.
pick();
61 params.durationDays = 15f + 15f *
random.nextFloat();
static float getDefaultSModProb()
static DerelictShipData createRandom(String factionId, DerelictType type, Random random)
void addBehavior(GhostBehavior b)
void setDespawnRange(float despawnRange)
float genMediumSensorProfile()
void setAccelMult(float accelMult)
boolean placeNearPlayer()
void initEntity(float sensorProfile, float radius)
void addInterrupt(GhostBehaviorInterrupt interrupt)
SensorGhostManager manager
CustomCampaignEntityAPI entity
ShipGhost(SensorGhostManager manager, CampaignFleetAPI fleet)
static final String WRECK
static final String NEUTRAL
static SectorEntityToken addSalvageEntity(LocationAPI location, String id, String faction)
static void assignSpecials(SectorEntityToken entity)
static WeightedRandomPicker< String > getNearbyFactions(Random random, SectorEntityToken entity)
static Random getRandom(long seed, int level)
static float getSpeedForBurnLevel(float burnLevel)
LocationAPI getContainingLocation()
void setDiscoverable(Boolean discoverable)
void setLocation(float x, float y)
Vector2f getLocationInHyperspace()
MemoryAPI getMemoryWithoutUpdate()
void set(String key, Object value)