1package com.fs.starfarer.api.impl.combat.threat;
5import com.fs.starfarer.api.combat.MutableShipStatsAPI;
6import com.fs.starfarer.api.combat.ShipAPI;
7import com.fs.starfarer.api.combat.ShipwideAIFlags.AIFlags;
8import com.fs.starfarer.api.util.Misc;
13 if (state != State.IDLE && state != State.OUT)
return;
18 if (ammo <= 0 && (state == State.IDLE || state == State.OUT))
return;
23 float jitterLevel = ammo / maxAmmo;
24 jitterLevel = 0.5f + 0.5f * jitterLevel;
25 if (state == State.OUT) {
26 jitterLevel *= jitterLevel;
35 ship.
setJitter(
this, overColor, jitterLevel, 2, 0f, 4f);
52 if (ammo >= maxAmmo)
return 0f;
54 if (maxAmmo < 1) maxAmmo = 1f;
55 float f = ammo / maxAmmo;
63 float fluxFactor = Math.min(0.25f, ship.
getFluxLevel() * 0.25f);
65 return fluxFactor + 0.75f * (1f - f) * mult;
boolean hasFlag(AIFlags flag)
float getCurrentUsefulnessLevel(ShipAPI overseer, ShipAPI ship)
void hitWithEnergyLash(ShipAPI overseer, ShipAPI ship)
void applyImpl(ShipAPI ship, MutableShipStatsAPI stats, String id, State state, float effectLevel)
static Color EMP_FRINGE_COLOR
static Color setAlpha(Color color, int alpha)
void setCircularJitter(boolean circular)
void setJitterUnder(Object source, Color color, float intensity, int copies, float range)
void setJitterShields(boolean jitterShields)
ShipwideAIFlags getAIFlags()
ShipSystemAPI getSystem()
void setJitter(Object source, Color color, float intensity, int copies, float range)