1package com.fs.starfarer.api.impl.combat.dweller;
3import org.lwjgl.util.vector.Vector2f;
5import com.fs.starfarer.api.combat.CombatEngineAPI;
6import com.fs.starfarer.api.combat.ShipAPI;
7import com.fs.starfarer.api.combat.ShipCommand;
8import com.fs.starfarer.api.combat.ShipSystemAIScript;
9import com.fs.starfarer.api.combat.ShipSystemAPI;
10import com.fs.starfarer.api.combat.ShipwideAIFlags;
11import com.fs.starfarer.api.combat.ShipwideAIFlags.AIFlags;
12import com.fs.starfarer.api.util.IntervalUtil;
13import com.fs.starfarer.api.util.Misc;
40 public void advance(
float amount, Vector2f missileDangerDir, Vector2f collisionDangerDir,
ShipAPI target) {
41 if (
ship ==
null)
return;
45 boolean forceUse =
false;
51 if (
tracker.intervalElapsed() || forceUse) {
63 if (((hardFluxLevel >=
prevHardFluxLevel && hardFluxLevel >= 0.33f) || fluxLevel > 0.65f) &&
76 useSystem |= forceUse;
83 if (missileDangerDir !=
null) {
void setFlag(AIFlags flag)
boolean hasFlag(AIFlags flag)
TenebrousExpulsionSystemScript script
void advance(float amount, Vector2f missileDangerDir, Vector2f collisionDangerDir, ShipAPI target)
static float HULL_LOSS_FOR_ACTIVATION
void init(ShipAPI ship, ShipSystemAPI system, ShipwideAIFlags flags, CombatEngineAPI engine)
void giveCommand(Vector2f target)
float hullLevelAtPrevSystemUse
void advance(float amount)
static Vector2f getUnitVectorAtDegreeAngle(float degrees)
static float getAngleDiff(float from, float to)
static float getDistance(SectorEntityToken from, SectorEntityToken to)
static float getClosestTurnDirection(float facing, float desired)
static float getAngleInDegrees(Vector2f v)
float getCollisionRadius()
boolean isOverloadedOrVenting()
FluxTrackerAPI getFluxTracker()
ShipwideAIFlags getAIFlags()
void giveCommand(ShipCommand command, Object param, int groupNumber)
ShipSystemStatsScript getScript()
float getCooldownRemaining()