1package com.fs.starfarer.api.impl.combat;
4import java.util.EnumSet;
6import org.lwjgl.opengl.GL11;
7import org.lwjgl.util.vector.Vector2f;
9import com.fs.starfarer.api.Global;
10import com.fs.starfarer.api.combat.CombatEngineLayers;
11import com.fs.starfarer.api.combat.CombatEntityAPI;
12import com.fs.starfarer.api.combat.DamageAPI;
13import com.fs.starfarer.api.combat.MutableShipStatsAPI;
14import com.fs.starfarer.api.combat.ShipAPI;
15import com.fs.starfarer.api.combat.ShipSystemAPI;
16import com.fs.starfarer.api.combat.ViewportAPI;
17import com.fs.starfarer.api.combat.listeners.DamageTakenModifier;
35 public EnumSet<CombatEngineLayers> getActiveLayers() {
40 public boolean isExpired() {
44 public float getRenderRadius() {
49 public void advance(
float amount) {
50 super.advance(amount);
53 if (Global.getCombatEngine().isPaused())
return;
57 public void render(CombatEngineLayers
layer, ViewportAPI viewport) {
58 super.render(
layer, viewport);
60 float alphaMult = viewport.getAlphaMult();
63 if (system ==
null) system = ship.
getSystem();
65 if (alphaMult <= 0f)
return;
69 GL11.glRotatef(ship.
getFacing(), 0, 0, 1);
76 protected TriadShieldVisuals
visuals =
null;
84 boolean player =
false;
88 id =
id +
"_" + ship.
getId();
94 visuals =
new TriadShieldVisuals(ship,
this);
103 if (state == State.COOLDOWN || state == State.IDLE) {
109 if (system ==
null) system = ship.
getSystem();
113 float jitterLevel = effectLevel;
114 if (state == State.OUT) {
115 jitterLevel *= jitterLevel;
117 float jitterRangeBonus = jitterLevel * 0f;
118 if (state == State.IN || state == State.ACTIVE) {
120 }
else if (state == State.OUT) {
133 if (jitterLevel > 0) {
143 boolean player =
false;
147 id =
id +
"_" + ship.
getId();
155 public StatusData
getStatusData(
int index, State state,
float effectLevel) {
static CombatEngineAPI getCombatEngine()
void apply(MutableShipStatsAPI stats, String id, State state, float effectLevel)
String modifyDamageTaken(Object param, CombatEntityAPI target, DamageAPI damage, Vector2f point, boolean shieldHit)
TriadShieldVisuals visuals
StatusData getStatusData(int index, State state, float effectLevel)
void unapply(MutableShipStatsAPI stats, String id)
static Color JITTER_COLOR
static Color JITTER_UNDER_COLOR
CombatEntityAPI addLayeredRenderingPlugin(CombatLayeredRenderingPlugin plugin)
float getCollisionRadius()
CombatEntityAPI getEntity()
void setCircularJitter(boolean circular)
ShipSystemAPI getPhaseCloak()
void setJitterUnder(Object source, Color color, float intensity, int copies, float range)
void addListener(Object listener)
ShipSystemAPI getSystem()
void setJitter(Object source, Color color, float intensity, int copies, float range)