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.impl.campaign.velfield.SlipstreamTerrainPlugin2;
8import com.fs.starfarer.api.util.Misc;
33 super.advance(amount, ghost);
40 float distAlong = coords[0];
41 float yOff = coords[1];
44 boolean closeToPreferred = Math.abs(yOff -
preferredYOff) < 0.25f;
45 boolean veryCloseToPreferred = Math.abs(yOff -
preferredYOff) < 0.05f;
46 if (!closeToPreferred) {
49 if (veryCloseToPreferred) {
59 float dist = Float.MAX_VALUE;
63 if (pf !=
null && dist < 500f) {
67 if (coords !=
null && angleDiff < 90f) {
68 float yOffPlayer = coords[1];
69 float test1 = yOffPlayer - 0.4f;
70 float test2 = yOffPlayer + 0.4f;
71 if (Math.abs(test1) > 0.67f) test1 = Math.signum(test1) * 0.67f;
72 if (Math.abs(test2) > 0.67f) test2 = Math.signum(test2) * 0.67f;
73 float diff1 = Math.abs(test1 - yOff);
74 float diff2 = Math.abs(test2 - yOff);
77 float diff3 = Math.abs(yOff - yOffPlayer);
89 if (p1 ==
null || p2 ==
null) {
static SectorAPI getSector()
void advance(float amount, SensorGhost ghost)
GBFollowStream(float duration, int maxBurn, SlipstreamTerrainPlugin2 plugin)
SlipstreamTerrainPlugin2 plugin
Vector2f getPointAt(float lengthAlongStream, float offset)
float[] getLengthAndWidthFractionWithinStream(Vector2f loc)
static Vector2f getUnitVectorAtDegreeAngle(float degrees)
static float getAngleDiff(float from, float to)
static float getDistance(SectorEntityToken from, SectorEntityToken to)
static float getAngleInDegrees(Vector2f v)
CampaignFleetAPI getPlayerFleet()
boolean isInCurrentLocation()
CustomCampaignEntityAPI getEntity()
void moveTo(Vector2f dest, float maxBurn)