Class BaseFragmentMissileEffect

java.lang.Object
com.fs.starfarer.api.impl.combat.threat.BaseFragmentMissileEffect
All Implemented Interfaces:
EveryFrameWeaponEffectPlugin, OnFireEffectPlugin, FragmentWeapon
Direct Known Subclasses:
DevouringSwarmMissileEffect, KineticFragmentMissileEffect, SeekerFragmentMissileEffect, UnstableFragmentMissileEffect

public class BaseFragmentMissileEffect extends Object implements OnFireEffectPlugin, EveryFrameWeaponEffectPlugin, FragmentWeapon
  • Field Details

  • Constructor Details

    • BaseFragmentMissileEffect

      public BaseFragmentMissileEffect()
  • Method Details

    • advance

      public void advance(float amount, CombatEngineAPI engine, WeaponAPI weapon)
      Description copied from interface: EveryFrameWeaponEffectPlugin
      Called before this frame's operations for the weapon - turning, firing, etc.
      Specified by:
      advance in interface EveryFrameWeaponEffectPlugin
    • onFire

      public void onFire(DamagingProjectileAPI projectile, WeaponAPI weapon, CombatEngineAPI engine)
      Specified by:
      onFire in interface OnFireEffectPlugin
    • swarmCreated

      protected void swarmCreated(MissileAPI missile, RoilingSwarmEffect missileSwarm, RoilingSwarmEffect sourceSwarm)
    • reportFragmentHit

      protected void reportFragmentHit(MissileAPI missile, RoilingSwarmEffect.SwarmMember p, RoilingSwarmEffect swarm, CombatEntityAPI target)
    • getHPLossPerTransferredMember

      protected float getHPLossPerTransferredMember()
    • configureMissileSwarmParams

      protected void configureMissileSwarmParams(RoilingSwarmEffect.RoilingSwarmParams params)
    • shouldPickVelocityMatchingPrimaryFragment

      protected boolean shouldPickVelocityMatchingPrimaryFragment()
    • shouldMakeMissileFaceTargetOnSpawnIfAny

      protected boolean shouldMakeMissileFaceTargetOnSpawnIfAny()
    • pickPrimaryFragment

      protected RoilingSwarmEffect.SwarmMember pickPrimaryFragment()
    • pickOuterFragmentWithinRange

      protected RoilingSwarmEffect.SwarmMember pickOuterFragmentWithinRange(float range)
    • pickVelocityMatchingFragmentWithinRange

      protected RoilingSwarmEffect.SwarmMember pickVelocityMatchingFragmentWithinRange(float range)
    • pickOuterFragmentWithinRangeClosestTo

      protected RoilingSwarmEffect.SwarmMember pickOuterFragmentWithinRangeClosestTo(float range, org.lwjgl.util.vector.Vector2f otherLoc)
    • removeFragmentsWhenMissileLosesHitpoints

      protected boolean removeFragmentsWhenMissileLosesHitpoints()
    • makePrimaryFragmentGlow

      protected boolean makePrimaryFragmentGlow()
    • getRangeForNearbyFragments

      protected float getRangeForNearbyFragments()
    • getRangeFromSourceToPickFragments

      protected float getRangeFromSourceToPickFragments()
    • getNumOtherMembersToTransfer

      protected int getNumOtherMembersToTransfer()
    • addNewMembersIfNotEnoughToTransfer

      protected boolean addNewMembersIfNotEnoughToTransfer()
    • getNumOtherMembersToAdd

      protected int getNumOtherMembersToAdd()
    • getEMPResistance

      protected int getEMPResistance()
    • getOtherFragmentBehaviorOnImpact

      protected BaseFragmentMissileEffect.FragmentBehaviorOnImpact getOtherFragmentBehaviorOnImpact()
    • getNumFragmentsToFire

      public int getNumFragmentsToFire()
      Specified by:
      getNumFragmentsToFire in interface FragmentWeapon
    • explodeOnFizzling

      protected boolean explodeOnFizzling()
    • getExplosionSoundId

      protected String getExplosionSoundId()
    • swarmAdvance

      protected void swarmAdvance(float amount, MissileAPI missile, RoilingSwarmEffect swarm)
    • withEMPArc

      protected boolean withEMPArc()
    • getEMPFringeColor

      protected Color getEMPFringeColor()
    • getEMPCoreColor

      protected Color getEMPCoreColor()
    • spawnEMPArc

      protected void spawnEMPArc()