Starsector API
Loading...
Searching...
No Matches
AbyssalFrequencies.java
Go to the documentation of this file.
1package com.fs.starfarer.api.impl.campaign.enc;
2
3import com.fs.starfarer.api.impl.campaign.DebugFlags;
4import com.fs.starfarer.api.impl.campaign.terrain.HyperspaceAbyssPluginImpl;
5import com.fs.starfarer.api.impl.campaign.terrain.HyperspaceAbyssPluginImpl.AbyssalEPData;
6
7public class AbyssalFrequencies {
8
9 public static float NO_ABYSS_ENCOUNTER_MULT = 10f;
10
11 public static float DWELLER_FREQ_MIN = 3f;
12 public static float DWELLER_FREQ_MAX = 10f;
13
14 public static float LIGHT_FREQ = 10f;
15 public static float ROGUE_REGULAR_FREQ = 5f;
16 public static float ROGUE_HINTS_FREQ = 5f;
17
19 if (!HyperspaceAbyssPluginImpl.EP_TYPE_ABYSSAL.equals(point.type)) return 0f;
20
21 float total = 0f;
23 if (!(c instanceof AbyssalNoEPEC)) {
24 // non-abyssal creators should return 0 for abyssal points
25 float f = c.getFrequencyForPoint(manager, point);
26 total += f;
27 }
28 }
29
31
32 return Math.min(10000f, Math.max(100f, total));
33 }
34
35 public static boolean isPointSuited(EncounterPoint point, boolean allowNearStar, float depthRequired) {
36 if (!HyperspaceAbyssPluginImpl.EP_TYPE_ABYSSAL.equals(point.type)) return false;
37 AbyssalEPData data = (AbyssalEPData) point.custom;
38 if (data.depth < depthRequired) return false;
39 if (!allowNearStar && data.nearest != null) return false;
40 return true;
41 }
42
43 public static float getAbyssalLightFrequency(EncounterManager manager, EncounterPoint point) {
45 return 0f;
46 }
47 return LIGHT_FREQ;
48 }
49
52 return 0f;
53 }
54
55 AbyssalEPData data = (AbyssalEPData) point.custom;
56 float f = DWELLER_FREQ_MIN;
60 return f;
61 }
62
69
72 return 0f;
73 }
75 return 1000000000f;
76 }
77 return ROGUE_HINTS_FREQ;
78 }
79
80
81
82}
83
84
85
86
87
static float getAbyssalRogueStellarObjectDireHintsFrequency(EncounterManager manager, EncounterPoint point)
static boolean isPointSuited(EncounterPoint point, boolean allowNearStar, float depthRequired)
static float getNoAbyssalEncounterFrequency(EncounterManager manager, EncounterPoint point)
static float getAbyssalLightFrequency(EncounterManager manager, EncounterPoint point)
static float getAbyssalLightDwellerFrequency(EncounterManager manager, EncounterPoint point)
static float getAbyssalRogueStellarObjectFrequency(EncounterManager manager, EncounterPoint point)
float getFrequencyForPoint(EncounterManager manager, EncounterPoint point)