Starsector API
Loading...
Searching...
No Matches
EmpArcEntityAPI.java
Go to the documentation of this file.
1package com.fs.starfarer.api.combat;
2
3import java.awt.Color;
4
5import org.json.JSONObject;
6import org.lwjgl.util.vector.Vector2f;
7
8public interface EmpArcEntityAPI extends CombatEntityAPI {
9
10 public static class EmpArcParams {
15 public float segmentLengthMult = 1f;
16
21 public float zigZagReductionFactor = 0f;
22
23 public float maxZigZagMult = 1f;
24
28 public float fadeOutDist = 100f;
29
33 public float minFadeOutMult = 2f;
34
35 public float flickerRateMult = 1f;
36 public float glowSizeMult = 1f;
37 public float glowAlphaMult = 1f;
38
44 public float movementDurOverride = -1f; // defaults to value based on flicker duration
45 public float movementDurMax = 0.1f;
46 public float movementDurMin = 0f;
47
51 public float brightSpotFullFraction = 0.33f;
52 public float brightSpotFadeFraction = 0.33f;
53 public float nonBrightSpotMinBrightness = 0f;
54 public Color glowColorOverride = null;
55
56 public boolean flamesOutMissiles = true;
57
58 public void loadFromSystemJson(JSONObject json) {
59 if (json == null) return;
60 segmentLengthMult = (float) json.optDouble("emp_segmentLengthMult", 1f);
61 zigZagReductionFactor = (float) json.optDouble("emp_zigZagReductionFactor", 0f);
62 maxZigZagMult = (float) json.optDouble("emp_maxZigZagMult", 1f);
63 fadeOutDist = (float) json.optDouble("emp_fadeOutDist", 100f);
64 minFadeOutMult = (float) json.optDouble("emp_minFadeOutMult", 2f);
65 flickerRateMult = (float) json.optDouble("emp_flickerRateMult", 1f);
66 glowSizeMult = (float) json.optDouble("emp_glowSizeMult", 1f);
67 glowAlphaMult = (float) json.optDouble("emp_glowAlphaMult", 1f);
68 flamesOutMissiles = json.optBoolean("emp_flamesOutMissiles", true);
69 }
70
71 }
72
73
75 void setCoreWidthOverride(float coreWidthOverride);
76 void setTargetToShipCenter(Vector2f sourceSlotPos, ShipAPI ship);
79 void setUpdateFromOffsetEveryFrame(boolean updateFromOffsetEveryFrame);
80 void setRenderGlowAtStart(boolean renderGlowAtStart);
81 void setRenderGlowAtEnd(boolean renderGlowAtEnd);
82
87 void setFadedOutAtStart(boolean fadedOutAtStart);
88// void setDelay(float delay);
89// float getDelay();
90 void setSingleFlickerMode(boolean withMovement);
92 void setWarping(float dur);
93 boolean isShieldHit();
94
95}
void setSingleFlickerMode(boolean withMovement)
void setFadedOutAtStart(boolean fadedOutAtStart)
void setUpdateFromOffsetEveryFrame(boolean updateFromOffsetEveryFrame)
void setTargetToShipCenter(Vector2f sourceSlotPos, ShipAPI ship)
void setRenderGlowAtEnd(boolean renderGlowAtEnd)
void setLayer(CombatEngineLayers layer)
void setRenderGlowAtStart(boolean renderGlowAtStart)
void setCoreWidthOverride(float coreWidthOverride)