1package com.fs.starfarer.api.impl.campaign.ghosts.types;
3import java.util.Random;
5import org.lwjgl.util.vector.Vector2f;
7import com.fs.starfarer.api.impl.campaign.ghosts.BaseSensorGhost;
8import com.fs.starfarer.api.impl.campaign.ghosts.GBFollowStream;
9import com.fs.starfarer.api.impl.campaign.ghosts.GBGoInDirection;
10import com.fs.starfarer.api.impl.campaign.ghosts.SensorGhostManager;
11import com.fs.starfarer.api.impl.campaign.velfield.SlipstreamTerrainPlugin2;
12import com.fs.starfarer.api.impl.campaign.velfield.SlipstreamTerrainPlugin2.SlipstreamSegment;
13import com.fs.starfarer.api.util.Misc;
24 float offset = (random.nextBoolean() ? 1f : -1f) * random.nextFloat() * 0.5f;
26 Vector2f loc = plugin.
getPointAt(segment.totalLength, offset);
36 float speedMult = intensity * wMult * b;
39 Vector2f vel =
new Vector2f(segment.dir);
40 vel.scale(speed * speedMult);
43 int burn = 17 + random.nextInt(15);
45 float dur = 5f + 3f * random.nextFloat();
void addBehavior(GhostBehavior b)
void setLoc(Vector2f loc)
float genLargeSensorProfile()
void setVel(Vector2f vel)
void setDespawnRange(float despawnRange)
void initEntity(float sensorProfile, float radius)
SensorGhostManager manager
CustomCampaignEntityAPI entity
RacerGhost(SensorGhostManager manager, SlipstreamSegment segment, SlipstreamTerrainPlugin2 plugin)
Vector2f getPointAt(float lengthAlongStream, float offset)
float getWidthBasedSpeedMult(float distAlong)
float getIntensity(float yOff)
SlipstreamParams2 getParams()
float getFaderBrightness(float distAlong)
static float getSpeedForBurnLevel(float burnLevel)