1package com.fs.starfarer.api.impl.campaign.ghosts;
3import org.lwjgl.util.vector.Vector2f;
5import com.fs.starfarer.api.Global;
6import com.fs.starfarer.api.campaign.CampaignFleetAPI;
7import com.fs.starfarer.api.campaign.CustomCampaignEntityAPI;
8import com.fs.starfarer.api.campaign.SectorEntityToken;
9import com.fs.starfarer.api.characters.AbilityPlugin;
10import com.fs.starfarer.api.impl.campaign.ghosts.GBIGenerateSlipstream.GhostBehaviorWithSlipstream;
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.velfield.SlipstreamTerrainPlugin2;
14import com.fs.starfarer.api.util.Misc;
28 protected float phase = (float) Math.random();
54 super.advance(amount, ghost);
63 float pi = (float) Math.PI;
64 float sin = (float) Math.sin(
phase * pi * 2f);
68 float angle =
dir + sin * maxAngleOffset;
121 if (fleet.isPlayerFleet()) {
122 String key =
"$leviathanCalvesPulsed";
140 if (coords !=
null) {
static SectorAPI getSector()
void checkInterdictionPulses(SensorGhost ghost)
void checkSensorBursts(SensorGhost ghost, float amount)
void advance(float amount, SensorGhost ghost)
GBLeviathanCalfRun(float duration, SectorEntityToken from, float wobbleRate, float maxWobble, int maxBurn, boolean affectedByPulse)
static float PULSE_BURN_BONUS
static float SENSOR_BURST_TURN_RATE
static float PULSE_BURN_BONUS_DECAY
SlipstreamTerrainPlugin2 plugin
void setSlipstream(SlipstreamTerrainPlugin2 plugin)
static final String SENSOR_BURST
static final String GLOBAL_INTERDICTION_PULSE_JUST_USED_IN_CURRENT_LOCATION
static final String JUST_DID_INTERDICTION_PULSE
boolean containsEntity(SectorEntityToken other)
SlipstreamParams2 getParams()
float[] getLengthAndWidthFractionWithinStream(Vector2f loc)
static Vector2f getUnitVectorAtDegreeAngle(float degrees)
static float getAngleInDegrees(Vector2f v)
List< CampaignFleetAPI > getFleets()
MemoryAPI getMemoryWithoutUpdate()
LocationAPI getContainingLocation()
void set(String key, Object value)
boolean getBoolean(String key)
CustomCampaignEntityAPI getEntity()
void moveTo(Vector2f dest, float maxBurn)