1package com.fs.starfarer.api.impl.campaign.terrain;
4import java.util.EnumSet;
6import org.lwjgl.opengl.GL11;
8import com.fs.starfarer.api.Global;
9import com.fs.starfarer.api.campaign.CampaignEngineLayers;
10import com.fs.starfarer.api.campaign.CampaignFleetAPI;
11import com.fs.starfarer.api.campaign.SectorEntityToken;
12import com.fs.starfarer.api.campaign.TerrainAIFlags;
13import com.fs.starfarer.api.combat.ViewportAPI;
14import com.fs.starfarer.api.impl.combat.BattleCreationPluginImpl.NebulaTextureProvider;
15import com.fs.starfarer.api.loading.Description.Type;
16import com.fs.starfarer.api.ui.Alignment;
17import com.fs.starfarer.api.ui.TooltipMakerAPI;
18import com.fs.starfarer.api.util.Misc;
40 if (
name ==
null ||
name.equals(
"Unknown"))
name =
"Nebula";
67 super.advance(amount);
74 super.render(layer, viewport);
128 float startRow,
float endRow,
float factor,
int samples,
165 super.renderSubArea(startColumn, endColumn, startRow, endRow, factor, samples, alphaMult);
199 GL11.glEnable(GL11.GL_BLEND);
206 GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
208 GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
218 GL11.glColor4ub((
byte)color.getRed(),
219 (
byte)color.getGreen(),
220 (
byte)color.getBlue(),
221 (
byte)((
float)color.getAlpha() * alphaMult));
226 GL11.glEnable(GL11.GL_BLEND);
227 GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
233 GL11.glColor4ub((
byte)color.getRed(),
234 (
byte)color.getGreen(),
235 (
byte)color.getBlue(),
236 (
byte)((
float)color.getAlpha() * alphaMult));
258 "Inside nebula", penalty,
320 tooltip.
addPara(
"Reduces the range at which fleets inside can be detected by %s.", nextPad,
325 tooltip.
addPara(
"Reduces the travel speed of fleets inside by up to %s. Larger fleets are slowed down more.",
333 tooltip.
addPara(
"Your fleet's speed is reduced by %s.", pad,
335 "" + (
int) Math.round((1f - penalty) * 100) +
"%"
349 tooltip.
addPara(
"Numerous patches of nebula present on the battlefield, but the medium is not dense enough to affect ships moving at combat speeds.", small);
378 return "nebula-like";
382 return flag == TerrainAIFlags.REDUCES_DETECTABILITY ||
384 flag == TerrainAIFlags.TILE_BASED
static SettingsAPI getSettings()
static SectorAPI getSector()
boolean hasAIFlag(Object flag)
void preRender(CampaignEngineLayers layer, float alphaMult)
void init(String terrainId, SectorEntityToken entity, Object param)
String getNameForTooltip()
void render(CampaignEngineLayers layer, ViewportAPI viewport)
static final float TILE_SIZE
boolean isTooltipExpandable()
EnumSet< CampaignEngineLayers > getActiveLayers()
void advance(float amount)
String getEffectCategory()
static final float VISIBLITY_MULT
float getTileContainsSize()
void preMapRender(float alphaMult)
float getTileRenderSize()
void createTooltip(TooltipMakerAPI tooltip, boolean expanded)
void applyEffect(SectorEntityToken entity, float days)
void renderSubArea(float startColumn, float endColumn, float startRow, float endRow, float factor, int samples, float alphaMult)
static float getBurnMultForTerrain(CampaignFleetAPI fleet)
static Color getTextColor()
static Color getNegativeHighlightColor()
static float BURN_PENALTY_MULT
static Color getGrayColor()
static Color getHighlightColor()
static String getRoundedValue(float value)
Description getDescription(String id, Type type)
String getSpriteName(String category, String id)
Color getColor(String id)
MutableFleetStatsAPI getStats()
CampaignFleetAPI getPlayerFleet()
StatBonus getFleetwideMaxBurnMod()
StatBonus getDetectedRangeMod()
void addTemporaryModMult(float durInDays, String source, String desc, float value, StatBonus stat)