1package com.fs.starfarer.api.impl.combat;
5import org.lwjgl.util.vector.Vector2f;
7import com.fs.starfarer.api.combat.BeamAPI;
8import com.fs.starfarer.api.combat.BeamEffectPlugin;
9import com.fs.starfarer.api.combat.CombatEngineAPI;
10import com.fs.starfarer.api.combat.CombatEntityAPI;
11import com.fs.starfarer.api.combat.DamageAPI;
12import com.fs.starfarer.api.combat.ShipAPI;
13import com.fs.starfarer.api.combat.WeaponAPI;
14import com.fs.starfarer.api.combat.listeners.AdvanceableListener;
15import com.fs.starfarer.api.util.TimeoutTracker;
42 ship.
addListener(
new GravitonBeamDamageTakenMod(ship));
44 List<GravitonBeamDamageTakenMod> listeners = ship.
getListeners(GravitonBeamDamageTakenMod.class);
45 if (listeners.isEmpty())
return;
47 GravitonBeamDamageTakenMod listener = listeners.get(0);
61 public GravitonBeamDamageTakenMod(
ShipAPI ship) {
71 public void advance(
float amount) {
74 int beams = recentHits.
getItems().size();
79 }
else if (beams == 2) {
81 }
else if (beams >= 3) {
93 public String modifyDamageTaken(Object param,
95 Vector2f point,
boolean shieldHit) {
void modifyMult(String source, float value)
static float DAMAGE_PERCENT_TWO
static float DAMAGE_PERCENT_THREE
static String DAMAGE_MOD_ID
void advance(float amount, CombatEngineAPI engine, BeamAPI beam)
static float DAMAGE_PERCENT_ONE
void advance(float amount)
void add(T item, float time)
CombatEntityAPI getDamageTarget()
MutableStat getShieldDamageTakenMult()
boolean isWithinArc(Vector2f point)
MutableShipStatsAPI getMutableStats()
void addListener(Object listener)
boolean hasListenerOfClass(Class<?> c)
void removeListener(Object listener)
< T > List< T > getListeners(Class< T > c)