1package com.fs.starfarer.api.impl.campaign.ghosts.types;
3import org.lwjgl.util.vector.Vector2f;
5import com.fs.starfarer.api.Global;
6import com.fs.starfarer.api.campaign.CampaignFleetAPI;
7import com.fs.starfarer.api.impl.campaign.ghosts.BaseSensorGhost;
8import com.fs.starfarer.api.impl.campaign.ghosts.GBGoInDirectionWithWobble;
9import com.fs.starfarer.api.impl.campaign.ghosts.GBIGenerateSlipstream;
10import com.fs.starfarer.api.impl.campaign.ghosts.SensorGhostManager;
11import com.fs.starfarer.api.impl.campaign.ids.Tags;
12import com.fs.starfarer.api.util.Misc;
27 float travelDirMin = dirToCore + 90f - 20f;
28 float travelDirMax = dirToCore + 90f + 20f;
29 float travelDir = travelDirMin + (travelDirMax - travelDirMin) *
getRandom().nextFloat();
32 float spawnDist =
genFloat(6000, 8000);
33 float spawnAngle = (travelDir + 30f - 60f *
getRandom().nextFloat()) + 180f;
45 int burnLevel = 25 + burnMod;
52 float travelDur =
genFloat(15f, 20f);
53 float streamDur = travelDur - (1f +
getRandom().nextFloat());
static SectorAPI getSector()
void addBehavior(GhostBehavior b)
float genFloat(float min, float max)
void setLoc(Vector2f loc)
void setVel(Vector2f vel)
void setDespawnRange(float despawnRange)
void setAccelMult(float accelMult)
float genHugeSensorProfile()
void initEntity(float sensorProfile, float radius)
void addInterrupt(GhostBehaviorInterrupt interrupt)
SensorGhostManager manager
CustomCampaignEntityAPI entity
LeviathanGhost(SensorGhostManager manager, int burnMod)
static Vector2f getUnitVectorAtDegreeAngle(float degrees)
static float normalizeAngle(float angleDeg)
static float getSpeedForBurnLevel(float burnLevel)
static float getAngleInDegrees(Vector2f v)
CampaignFleetAPI getPlayerFleet()