1package com.fs.starfarer.api.impl.campaign.terrain;
5import org.lwjgl.util.vector.Vector2f;
7import com.fs.starfarer.api.EveryFrameScript;
8import com.fs.starfarer.api.Global;
9import com.fs.starfarer.api.campaign.CampaignFleetAPI;
10import com.fs.starfarer.api.fleet.FleetMemberViewAPI;
11import com.fs.starfarer.api.impl.campaign.terrain.HyperspaceTerrainPlugin.CellStateTracker;
12import com.fs.starfarer.api.util.Misc;
23 protected CellStateTracker
cell;
42 float w = hyper.
getTiles().length * size;
43 float h = hyper.
getTiles()[0].length * size;
48 float tx = x + cell.i * size + size/2f;
49 float ty = y + cell.j * size + size/2f;
55 float speed = v.length();
59 float mult = 0.5f + 0.4f * speed / bestAngleAt;
60 if (mult < 0.5f) mult = 0.5f;
61 if (mult > 0.9f) mult = 0.9f;
74 mult *= Math.pow(Math.min(1f,
elapsed / 0.25f), 2f);
75 if (mult < 0) mult = 0;
76 if (mult > 1) mult = 1;
90 if (boost.length() >= 1) {
94 float sizeNormal = 5f + 20f * intensity;
95 String modId =
"boost " + cell.i + cell.j * 100;
96 Color glowColor =
new Color(100, 100, 255, 75);
98 view.getWindEffectDirX().shift(modId, boost.x * sizeNormal, durIn, durOut, 1f);
99 view.getWindEffectDirY().shift(modId, boost.y * sizeNormal, durIn, durOut, 1f);
100 view.getWindEffectColor().shift(modId, glowColor, durIn, durOut, intensity);
static SettingsAPI getSettings()
SectorEntityToken getEntity()
HyperStormBoost(CellStateTracker cell, CampaignFleetAPI fleet)
void advance(float amount)
static float DURATION_SECONDS
static float STORM_SPEED_BURST
static Vector2f getUnitVectorAtDegreeAngle(float degrees)
static float getAngleDiff(float from, float to)
static float getClosestTurnDirection(float facing, float desired)
static CampaignTerrainAPI getHyperspaceTerrain()
static float getAngleInDegrees(Vector2f v)
float getSpeedPerBurnLevel()
float getBaseTravelSpeed()
float getFloat(String key)
void setVelocity(float x, float y)
List< FleetMemberViewAPI > getViews()
CampaignTerrainPlugin getPlugin()