public class ShroudedVortexAI extends java.lang.Object implements ShipAIPlugin
| Modifier and Type | Class and Description |
|---|---|
static class |
ShroudedVortexAI.FlockingData |
| Modifier and Type | Field and Description |
|---|---|
static float |
ATTRACTOR_RANGE_MAX |
static float |
COHESION_RANGE_MAX |
static float |
COHESION_RANGE_MIN |
protected float |
desiredHeading |
protected boolean |
exploded |
protected ShipwideAIFlags |
flags |
protected java.util.List<ShroudedVortexAI.FlockingData> |
flockingData |
protected IntervalUtil |
headingInterval |
static float |
HULL_FRACTION_LOST_PER_SECOND
Loses hitpoints over time, when near zero, blows up.
|
protected float |
numCollisions |
protected org.lwjgl.util.vector.Vector2f |
prevVel |
static float |
REPEL_RANGE_MAX |
static float |
REPEL_RANGE_MIN |
protected ShipAPI |
ship |
protected ShipAPI |
target |
protected float |
timeOnTarget |
protected IntervalUtil |
updateInterval |
static java.lang.String |
VORTEX_FLOCKING |
| Constructor and Description |
|---|
ShroudedVortexAI(ShipAPI ship) |
| Modifier and Type | Method and Description |
|---|---|
void |
advance(float amount)
The AI should do its main work here.
|
void |
cancelCurrentManeuver() |
protected void |
computeDesiredHeading() |
protected void |
doInitialSetup() |
ShipAPI |
findTarget() |
void |
forceCircumstanceEvaluation()
When this is called, the AI should immediately evaluate nearby threats and such,
if it only does it periodically otherwise.
|
ShipwideAIFlags |
getAIFlags() |
ShipAIConfig |
getConfig() |
protected void |
giveMovementCommands() |
boolean |
needsRefit()
Only called for fighters, not regular ships or drones.
|
void |
setDoNotFireDelay(float amount)
Advise the AI not to fire for amount seconds.
|
protected void |
toggleOff(int groupNum) |
protected void |
toggleOn(int groupNum) |
protected void |
updateFlockingData() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitsetTargetOverridepublic static float HULL_FRACTION_LOST_PER_SECOND
public static java.lang.String VORTEX_FLOCKING
public static float ATTRACTOR_RANGE_MAX
public static float COHESION_RANGE_MIN
public static float COHESION_RANGE_MAX
public static float REPEL_RANGE_MIN
public static float REPEL_RANGE_MAX
protected ShipwideAIFlags flags
protected boolean exploded
protected org.lwjgl.util.vector.Vector2f prevVel
protected IntervalUtil updateInterval
protected IntervalUtil headingInterval
protected float timeOnTarget
protected float numCollisions
protected java.util.List<ShroudedVortexAI.FlockingData> flockingData
protected float desiredHeading
public ShroudedVortexAI(ShipAPI ship)
protected void doInitialSetup()
protected void toggleOn(int groupNum)
protected void toggleOff(int groupNum)
public void advance(float amount)
ShipAIPluginadvance in interface ShipAIPluginprotected void giveMovementCommands()
public ShipwideAIFlags getAIFlags()
getAIFlags in interface ShipAIPluginpublic ShipAPI findTarget()
protected void updateFlockingData()
protected void computeDesiredHeading()
public void setDoNotFireDelay(float amount)
ShipAIPluginsetDoNotFireDelay in interface ShipAIPluginpublic void forceCircumstanceEvaluation()
ShipAIPluginforceCircumstanceEvaluation in interface ShipAIPluginpublic boolean needsRefit()
ShipAIPluginneedsRefit in interface ShipAIPluginpublic void cancelCurrentManeuver()
cancelCurrentManeuver in interface ShipAIPluginpublic ShipAIConfig getConfig()
getConfig in interface ShipAIPlugin