Starsector API
Loading...
Searching...
No Matches
RemoraGhostCreator.java
Go to the documentation of this file.
1package com.fs.starfarer.api.impl.campaign.ghosts.types;
2
3import java.util.ArrayList;
4import java.util.List;
5
6import org.lwjgl.util.vector.Vector2f;
7
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.util.Misc;
15
17
18 @Override
19 public List<SensorGhost> createGhost(SensorGhostManager manager) {
20 if (!Global.getSector().getCurrentLocation().isHyperspace()) return null;
21 CampaignFleetAPI pf = Global.getSector().getPlayerFleet();
22
24 int numRemora = 1 + manager.getRandom().nextInt(Math.round(f * 4f) + 1);
25
26 List<SensorGhost> result = new ArrayList<SensorGhost>();
27
28 float dur = 7f + manager.getRandom().nextFloat() * 5f;
29
30 Vector2f first = null;
31 for (int i = 0; i < numRemora; i++) {
32 Vector2f loc = null;
33 if (first != null) {
34 loc = Misc.getPointWithinRadiusUniform(first, 300f, manager.getRandom());
35 }
36 RemoraGhost remora = new RemoraGhost(manager, pf, dur + manager.getRandom().nextFloat() * 0.5f, loc);
37 if (!remora.isCreationFailed()) {
38 result.add(remora);
39 first = remora.getEntity().getLocation();
40 }
41 }
42
43 return result;
44 }
45
46
47 @Override
48 public float getFrequency(SensorGhostManager manager) {
49 //return 100000f;
51 }
52
54 return true;
55 }
56
57}
static SectorAPI getSector()
Definition Global.java:59
static float getRemoraFrequency(SensorGhostManager manager)
List< SensorGhost > createGhost(SensorGhostManager manager)