Interface MissileAPI

All Superinterfaces:
CombatEntityAPI, DamagingProjectileAPI

public interface MissileAPI extends DamagingProjectileAPI
  • Method Details

    • isFizzling

      boolean isFizzling()
    • flameOut

      void flameOut()
    • getEngineController

      ShipEngineControllerAPI getEngineController()
    • setMissileAI

      void setMissileAI(MissileAIPlugin ai)
      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

      void giveCommand(ShipCommand command)
      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

      void setJitter(Object source, Color color, float intensity, int copies, float range)
    • setJitter

      void setJitter(Object source, Color color, float intensity, int copies, float minRange, float range)
    • 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

      void setWeaponSpec(String weaponId)
    • getUnwrappedMissileAI

      MissileAIPlugin getUnwrappedMissileAI()
      Returns the AI that was passed in to setMissileAI(). getMissileAI() returns an internal wrapper around that.
      Returns:
    • getParamAboutToApplyDamage

      Object getParamAboutToApplyDamage()
    • setParamAboutToApplyDamage

      void setParamAboutToApplyDamage(Object param)
    • 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 interface DamagingProjectileAPI
      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

      void setSource(ShipAPI source)
      Specified by:
      setSource in interface DamagingProjectileAPI
    • getSourceAPI

      ShipAPI getSourceAPI()
    • isNoFlameoutOnFizzling

      boolean isNoFlameoutOnFizzling()
    • setNoFlameoutOnFizzling

      void setNoFlameoutOnFizzling(boolean noFlameoutOnFizzling)
    • 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

      void setDestroyedExplosionColorOverride(Color destroyedExplosionColorOverride)
    • 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

      Set<String> getTags()
    • addTag

      void addTag(String tag)
    • hasTag

      boolean hasTag(String tag)
    • removeTag

      void removeTag(String tag)