1package com.fs.starfarer.api.impl.campaign;
3import org.lwjgl.util.vector.Vector2f;
5import com.fs.starfarer.api.EveryFrameScript;
6import com.fs.starfarer.api.Global;
7import com.fs.starfarer.api.campaign.CampaignFleetAPI;
8import com.fs.starfarer.api.campaign.comm.CommMessageAPI.MessageClickAction;
9import com.fs.starfarer.api.impl.campaign.ids.Sounds;
10import com.fs.starfarer.api.impl.campaign.intel.MessageIntel;
11import com.fs.starfarer.api.impl.campaign.intel.events.ht.HTAbyssalLightFactor;
12import com.fs.starfarer.api.impl.campaign.intel.events.ht.HyperspaceTopographyEventIntel;
13import com.fs.starfarer.api.impl.campaign.terrain.HyperspaceTerrainPlugin;
14import com.fs.starfarer.api.util.Misc;
33 fleet.addScript(script);
37 protected CampaignFleetAPI
fleet;
54 if (
fleet.isPlayerFleet()) {
58 float depth = Misc.getAbyssalDepth(
fleet);
65 Vector2f loc =
fleet.getLocation();
66 float distLY = Misc.getDistanceLY(loc,
prevLoc);
79 burnMult = 1f + (burnMult - 1f) *
burnBonus;
80 if (burnMult < 1.1f) burnMult = 1.1f;
83 fleet.getStats().addTemporaryModMult(0.1f,
"abyssalLight_1",
84 "Abyssal light (for " + ly +
" more light-years)", burnMult,
85 fleet.getStats().getFleetwideMaxBurnMod());
88 float burnFlat =
BURN_BONUS_FLAT / HyperspaceTerrainPlugin.ABYSS_BURN_MULT;
92 burnFlat = Math.round(burnFlat);
93 if (burnFlat < 1f) burnFlat = 1f;
96 fleet.getStats().addTemporaryModFlat(0.1f,
"abyssalLight_2",
97 "Abyssal light (for " + ly +
" more light-years)", burnFlat,
98 fleet.getStats().getFleetwideMaxBurnMod());
104 float sensorFlat =
SENSOR_BONUS_FLAT / HyperspaceTerrainPlugin.ABYSS_SENSOR_RANGE_MULT;
108 sensorFlat = Math.round(sensorFlat);
109 if (sensorFlat < 1f) sensorFlat = 1f;
112 fleet.getStats().addTemporaryModFlat(0.1f,
"abyssalLight_3",
113 "Abyssal light (for " + ly +
" more light-years)", sensorFlat,
114 fleet.getStats().getSensorRangeMod());
128 if (
fleet.isPlayerFleet()) {
137 if (
fleet.isPlayerFleet()) {
158 HyperspaceTopographyEventIntel.addFactorCreateIfNecessary(
164 MessageIntel msg =
new MessageIntel();
166 msg.addLine(
"Increased burn level for %s light-years", Misc.getTextColor(),
167 new String[] {
"+" + ly}, Misc.getHighlightColor());
168 msg.setSound(Sounds.NONE);
169 Global.
getSector().getCampaignUI().addMessage(msg, MessageClickAction.NOTHING);
175 MessageIntel msg =
new MessageIntel();
177 msg.addLine(
"Increased sensor range for %s light-years", Misc.getTextColor(),
178 new String[] {
"+" + ly}, Misc.getHighlightColor());
179 msg.setSound(Sounds.NONE);
180 Global.
getSector().getCampaignUI().addMessage(msg, MessageClickAction.NOTHING);
static SectorAPI getSector()
static float BURN_BONUS_MULT
static float BURN_BONUS_FLAT
static float LIGHT_YEARS_PER_UNIT_OF_SENSOR_BONUS
void setBurnBonus(float burnBonus)
float getBurnBonusLYRemaining(float bonus)
void addSensorBonus(float bonus)
void setSensorBonus(float sensorBonus)
AbyssalLightBonus(CampaignFleetAPI fleet)
void advance(float amount)
static float SENSOR_BONUS_FLAT
void checkPendingAndSendMessages()
int pendingTopographyPoints
float getSensorBonusLYRemaining(float bonus)
static float LIGHT_YEARS_PER_UNIT_OF_BURN_BONUS
void addTopographyPoints(int points)
void addBurnBonus(float bonus)