Package com.fs.starfarer.api.combat
Interface MissileAPI
- All Superinterfaces:
CombatEntityAPI
,DamagingProjectileAPI
-
Method Summary
Modifier and TypeMethodDescriptionvoid
void
boolean
Whether the projectile already did its damage and is now fading out.explode()
void
fadeOutThenIn
(float inDur) void
flameOut()
float
float
org.json.JSONObject
float
float
float
float
int
float
float
float
float
float
float
float
float
float
Just data flags, WILL NOT actually make the missile a mine/adjust mine properties/etc.int
float
float
Does NOT return the same ai passed in to setShipAI(), but a wrapper around it.getSpec()
float
org.lwjgl.util.vector.Vector2f
getStart()
Location it spawned at, used to fizzle out if fizzling is range-based.getTags()
float
float
float
Just data flags, WILL NOT actually make the missile a mine/adjust mine properties/etc.Returns the AI that was passed in to setMissileAI().void
giveCommand
(ShipCommand command) Should only be used by a MissileAIPlugin.boolean
void
Useful for missiles that change position using a script.boolean
isArmed()
boolean
boolean
boolean
boolean
boolean
isFlare()
boolean
boolean
isGuided()
boolean
isMine()
Just data flags, WILL NOT actually make the missile a mine/adjust mine properties/etc.boolean
Just data flags, WILL NOT actually make the missile a mine/adjust mine properties/etc.boolean
isMirv()
boolean
boolean
boolean
void
void
void
setArmedWhileFizzling
(boolean armedWhileFizzling) Setting to false has no effect on missiles whose dudProbabilityOnFlameout is false, as those are considered conceptually incapable of being duds/disarmed.void
setArmingTime
(float armingTime) void
setDestroyedExplosionColorOverride
(Color destroyedExplosionColorOverride) void
setDidDamage
(boolean didDamage) void
setDoNotFlareEnginesWhenStrafingOrDecelerating
(boolean doNotFlare) void
setEccmChanceBonus
(float eccmChanceBonus) void
setEccmChanceOverride
(float eccmChanceOverride) void
setEmpResistance
(int empResistance) Number of times a missile will ignore being hit by an system EMP *arc* (not emp damage) instead of flaming out.void
setEtaModifier
(float etaModifier) void
setFadeTime
(float fadeTime) void
setFizzleTime
(float fizzleTime) void
setFlightTime
(float flightTime) void
setForceAlwaysArmed
(boolean forceAlwaysArmed) void
setGlowRadius
(float glowRadius) void
void
void
setMaxFlightTime
(float maxFlightTime) void
setMaxRange
(float maxRange) void
setMine
(boolean isMine) Just data flags, WILL NOT actually make the missile a mine/adjust mine properties/etc.void
setMineExplosionRange
(float mineExplosionRange) Just data flags, WILL NOT actually make the missile a mine/adjust mine properties/etc.void
setMinePrimed
(boolean isMinePrimed) Just data flags, WILL NOT actually make the missile a mine/adjust mine properties/etc.void
Only should be called if the AI needs to be changed dynamically.void
setNoFlameoutOnFizzling
(boolean noFlameoutOnFizzling) void
setNoGlowTime
(float noGlowTime) void
setNoMineFFConcerns
(boolean noFFConcerns) void
setParamAboutToApplyDamage
(Object param) void
setRenderGlowAbove
(boolean renderGlowAbove) void
setShineBrightness
(float brightness) void
void
setSpriteAlphaOverride
(float spriteAlphaOverride) void
setStart
(org.lwjgl.util.vector.Vector2f start) void
setTimeSinceFizzling
(float timeSinceFizzling) void
setUntilMineExplosion
(float untilMineExplosion) Just data flags, WILL NOT actually make the missile a mine/adjust mine properties/etc.void
setWeaponSpec
(String weaponId) void
Methods inherited from interface com.fs.starfarer.api.combat.CombatEntityAPI
getAI, getAngularVelocity, getCollisionClass, getCollisionRadius, getCustomData, getExactBounds, getFacing, getHitpoints, getHullLevel, getLocation, getMass, getMaxHitpoints, getOwner, getShield, getVelocity, isExpired, isPointInBounds, removeCustomData, setAngularVelocity, setCollisionClass, setCollisionRadius, setCustomData, setFacing, setHitpoints, setMass, setOwner, wasRemoved
Methods inherited from interface com.fs.starfarer.api.combat.DamagingProjectileAPI
addDamagedAlready, getBaseDamageAmount, getBrightness, getDamage, getDamageAmount, getDamagedAlready, getDamageTarget, getDamageType, getElapsed, getEmpAmount, getExplosionSpecIfExplosion, getMoveSpeed, getProjectileSpec, getProjectileSpecId, getSource, getSpawnLocation, getSpawnType, getTailEnd, getWeapon, isFading, isFromMissile, removeDamagedAlready, setDamageAmount, setFromMissile
-
Method Details
-
isFizzling
boolean isFizzling() -
flameOut
void flameOut() -
getEngineController
ShipEngineControllerAPI getEngineController() -
setMissileAI
Only should be called if the AI needs to be changed dynamically. Otherwise, use ModPlugin.pickMissileAI() instead.- Parameters:
ai
-
-
getMissileAI
MissileAIPlugin getMissileAI()Does NOT return the same ai passed in to setShipAI(), but a wrapper around it. Can be used to save/restore the AI.- Returns:
-
giveCommand
Should only be used by a MissileAIPlugin.- Parameters:
command
- type of the command. Only movement-related ShipCommands have any effect.
-
isFlare
boolean isFlare() -
getSpriteAPI
SpriteAPI getSpriteAPI() -
getAcceleration
float getAcceleration() -
getMaxSpeed
float getMaxSpeed() -
getMaxTurnRate
float getMaxTurnRate() -
getTurnAcceleration
float getTurnAcceleration() -
getMaxFlightTime
float getMaxFlightTime() -
getFlightTime
float getFlightTime() -
setFlightTime
void setFlightTime(float flightTime) -
isGuided
boolean isGuided() -
isArmed
boolean isArmed() -
getArmingTime
float getArmingTime() -
setArmingTime
void setArmingTime(float armingTime) -
setArmedWhileFizzling
void setArmedWhileFizzling(boolean armedWhileFizzling) Setting to false has no effect on missiles whose dudProbabilityOnFlameout is false, as those are considered conceptually incapable of being duds/disarmed.- Parameters:
armedWhileFizzling
-
-
isArmedWhileFizzling
boolean isArmedWhileFizzling() -
setEmpResistance
void setEmpResistance(int empResistance) Number of times a missile will ignore being hit by an system EMP *arc* (not emp damage) instead of flaming out.- Parameters:
empResistance
-
-
getEmpResistance
int getEmpResistance() -
decrEMPResistance
void decrEMPResistance() -
interruptContrail
void interruptContrail()Useful for missiles that change position using a script. Call twice - once before the missile is moved, and once when it has moved to its new location. -
fadeOutThenIn
void fadeOutThenIn(float inDur) -
getTimeSinceFizzling
float getTimeSinceFizzling() -
setTimeSinceFizzling
void setTimeSinceFizzling(float timeSinceFizzling) -
isMine
boolean isMine()Just data flags, WILL NOT actually make the missile a mine/adjust mine properties/etc.- Returns:
-
setMine
void setMine(boolean isMine) Just data flags, WILL NOT actually make the missile a mine/adjust mine properties/etc. -
setMineExplosionRange
void setMineExplosionRange(float mineExplosionRange) Just data flags, WILL NOT actually make the missile a mine/adjust mine properties/etc. -
isMinePrimed
boolean isMinePrimed()Just data flags, WILL NOT actually make the missile a mine/adjust mine properties/etc.- Returns:
-
getMineExplosionRange
float getMineExplosionRange()Just data flags, WILL NOT actually make the missile a mine/adjust mine properties/etc.- Returns:
-
setMinePrimed
void setMinePrimed(boolean isMinePrimed) Just data flags, WILL NOT actually make the missile a mine/adjust mine properties/etc. -
getUntilMineExplosion
float getUntilMineExplosion()Just data flags, WILL NOT actually make the missile a mine/adjust mine properties/etc.- Returns:
-
setUntilMineExplosion
void setUntilMineExplosion(float untilMineExplosion) Just data flags, WILL NOT actually make the missile a mine/adjust mine properties/etc. -
setJitter
-
setJitter
-
getCurrentBaseAlpha
float getCurrentBaseAlpha() -
getGlowRadius
float getGlowRadius() -
setGlowRadius
void setGlowRadius(float glowRadius) -
isRenderGlowAbove
boolean isRenderGlowAbove() -
setRenderGlowAbove
void setRenderGlowAbove(boolean renderGlowAbove) -
setShineBrightness
void setShineBrightness(float brightness) -
isMirv
boolean isMirv() -
getMirvWarheadDamage
float getMirvWarheadDamage() -
getMirvWarheadEMPDamage
float getMirvWarheadEMPDamage() -
getMirvNumWarheads
int getMirvNumWarheads() -
getMirvWarheadDamageType
DamageType getMirvWarheadDamageType() -
getBehaviorSpecParams
org.json.JSONObject getBehaviorSpecParams() -
isDecoyFlare
boolean isDecoyFlare() -
resetEngineGlowBrightness
void resetEngineGlowBrightness() -
getECCMChance
float getECCMChance() -
getWeaponSpec
WeaponSpecAPI getWeaponSpec() -
setWeaponSpec
-
getUnwrappedMissileAI
MissileAIPlugin getUnwrappedMissileAI()Returns the AI that was passed in to setMissileAI(). getMissileAI() returns an internal wrapper around that.- Returns:
-
getParamAboutToApplyDamage
Object getParamAboutToApplyDamage() -
setParamAboutToApplyDamage
-
getSpec
MissileSpecAPI getSpec() -
getActiveLayers
EnumSet<CombatEngineLayers> getActiveLayers() -
isForceAlwaysArmed
boolean isForceAlwaysArmed() -
setForceAlwaysArmed
void setForceAlwaysArmed(boolean forceAlwaysArmed) -
didDamage
boolean didDamage()Description copied from interface:DamagingProjectileAPI
Whether the projectile already did its damage and is now fading out.- Specified by:
didDamage
in interfaceDamagingProjectileAPI
- Returns:
-
isNoMineFFConcerns
boolean isNoMineFFConcerns() -
setNoMineFFConcerns
void setNoMineFFConcerns(boolean noFFConcerns) -
getEccmChanceOverride
float getEccmChanceOverride() -
setEccmChanceOverride
void setEccmChanceOverride(float eccmChanceOverride) -
getEccmChanceBonus
float getEccmChanceBonus() -
setEccmChanceBonus
void setEccmChanceBonus(float eccmChanceBonus) -
setSource
- Specified by:
setSource
in interfaceDamagingProjectileAPI
-
getSourceAPI
ShipAPI getSourceAPI() -
isNoFlameoutOnFizzling
boolean isNoFlameoutOnFizzling() -
setNoFlameoutOnFizzling
void setNoFlameoutOnFizzling(boolean noFlameoutOnFizzling) -
explode
DamagingProjectileAPI explode() -
getMaxRange
float getMaxRange() -
setMaxRange
void setMaxRange(float maxRange) -
setMaxFlightTime
void setMaxFlightTime(float maxFlightTime) -
getSpriteAlphaOverride
float getSpriteAlphaOverride() -
setSpriteAlphaOverride
void setSpriteAlphaOverride(float spriteAlphaOverride) -
getStart
org.lwjgl.util.vector.Vector2f getStart()Location it spawned at, used to fizzle out if fizzling is range-based.- Returns:
-
setStart
void setStart(org.lwjgl.util.vector.Vector2f start) -
getEngineStats
MutableShipStatsAPI getEngineStats() -
setFizzleTime
void setFizzleTime(float fizzleTime) -
setFadeTime
void setFadeTime(float fadeTime) -
setNoGlowTime
void setNoGlowTime(float noGlowTime) -
getDestroyedExplosionColorOverride
Color getDestroyedExplosionColorOverride() -
setDestroyedExplosionColorOverride
-
getEtaModifier
float getEtaModifier() -
setEtaModifier
void setEtaModifier(float etaModifier) -
getGuidanceBonus
float getGuidanceBonus() -
isDoNotFlareEnginesWhenStrafingOrDecelerating
boolean isDoNotFlareEnginesWhenStrafingOrDecelerating() -
setDoNotFlareEnginesWhenStrafingOrDecelerating
void setDoNotFlareEnginesWhenStrafingOrDecelerating(boolean doNotFlare) -
setDidDamage
void setDidDamage(boolean didDamage) -
updateMaxSpeed
void updateMaxSpeed() -
getTags
-
addTag
-
hasTag
-
removeTag
-