1package com.fs.starfarer.api.impl.campaign.ghosts.types;
3import java.util.ArrayList;
6import org.lwjgl.util.vector.Vector2f;
8import com.fs.starfarer.api.Global;
9import com.fs.starfarer.api.campaign.CampaignFleetAPI;
10import com.fs.starfarer.api.impl.campaign.ghosts.BaseSensorGhostCreator;
11import com.fs.starfarer.api.impl.campaign.ghosts.GhostFrequencies;
12import com.fs.starfarer.api.impl.campaign.ghosts.SensorGhost;
13import com.fs.starfarer.api.impl.campaign.ghosts.SensorGhostManager;
14import com.fs.starfarer.api.impl.campaign.velfield.SlipstreamTerrainPlugin2;
15import com.fs.starfarer.api.impl.campaign.velfield.SlipstreamTerrainPlugin2.SlipstreamSegment;
29 if (plugin ==
null)
return null;
32 if (coords ==
null)
return null;
35 if (start ==
null)
return null;
37 List<SlipstreamSegment> segments = plugin.
getSegments();
39 List<SensorGhost> result =
new ArrayList<SensorGhost>();
41 int num = 1 + manager.
getRandom().nextInt(5);
43 float distBehind = 1000f;
45 for (
int i = start.index - 1; i >= 0f && num > 0; i--) {
46 SlipstreamSegment curr = segments.get(i);
47 currDist += curr.lengthToNext;
50 if (currDist > distBehind && b > 0) {
56 distBehind += 500f * manager.
getRandom().nextFloat();
static SectorAPI getSector()
static SlipstreamTerrainPlugin2 pickNearbySlipstream(float radius, Random random)
boolean isCreationFailed()
static float getRacerFrequency(SensorGhostManager manager)
float getFrequency(SensorGhostManager manager)
boolean canSpawnWhilePlayerInOrNearSlipstream()
List< SensorGhost > createGhost(SensorGhostManager manager)
float getFaderBrightness(float distAlong)
SlipstreamSegment getSegmentForDist(float distAlongStream)
List< SlipstreamSegment > getSegments()
float[] getLengthAndWidthFractionWithinStream(Vector2f loc)
CampaignFleetAPI getPlayerFleet()
LocationAPI getCurrentLocation()