Package com.fs.starfarer.api.combat
Interface WeaponAPI
public interface WeaponAPI
- Author:
- Alex Mosolov Copyright 2012 Fractal Softworks, LLC
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic enum
static interface
static enum
static enum
-
Method Summary
Modifier and TypeMethodDescriptionvoid
void
disable()
void
disable
(boolean permanent) float
distanceFromArc
(org.lwjgl.util.vector.Vector2f target) Returns 0 if the target is in arc, angular distance to edge of arc otherwise.void
void
int
getAmmo()
float
float
getArc()
float
Sprite with the weapon barrels, or null if the weapon doesn't use recoil/separate barrel graphics.getBeams()
float
float
float
float
float
float
float
Base stats, does not include character skill bonuses/hull mods/etc.float
float
org.lwjgl.util.vector.Vector2f
getFirePoint
(int barrel) float
getId()
org.lwjgl.util.vector.Vector2f
int
float
float
float
float
getRange()
float
org.lwjgl.util.vector.Vector2f
getShip()
getSize()
getSlot()
getSpec()
Note: setAlphaMult() and setAngle() will be called on the sprite returned here just prior to rendering.float
getType()
"Base" sprite for the weapon (see: mjolnir.wpn), or null.boolean
hasAIHint
(WeaponAPI.AIHints hint) boolean
boolean
isBeam()
boolean
boolean
boolean
boolean
isFiring()
boolean
boolean
boolean
boolean
boolean
boolean
isPulse()
boolean
Whether the barrel goes below or above the weapon sprite.void
renderBarrel
(SpriteAPI sprite, org.lwjgl.util.vector.Vector2f loc, float alphaMult) Renders the barrel.void
repair()
boolean
void
void
setAmmo
(int ammo) void
setCurrAngle
(float angle) void
setCurrHealth
(float currHealth) void
void
setFacing
(float facing) void
setForceDisabled
(boolean forceDisabled) void
setForceFireOneFrame
(boolean forceFire) void
setForceNoFireOneFrame
(boolean forceNoFireOneFrame) void
setGlowAmount
(float glow, Color glowColor) void
setKeepBeamTargetWhileChargingDown
(boolean keepTargetWhileChargingDown) void
setMaxAmmo
(int maxAmmo) void
setPD
(boolean pd) void
setPDAlso
(boolean pdAlso) void
setRefireDelay
(float delay) void
setRemainingCooldownTo
(float value) void
setRenderOffsetForDecorativeBeamWeaponsOnly
(org.lwjgl.util.vector.Vector2f renderOffsetForDecorativeBeamWeaponsOnly) void
setScaleBeamGlowBasedOnDamageEffectiveness
(boolean scaleGlowBasedOnDamageEffectiveness) void
setSuspendAutomaticTurning
(boolean suspendAutomaticTurning) void
setTurnRateOverride
(Float turnRateOverride) void
setWeaponGlowHeightMult
(float weaponGlowHeightMult) void
setWeaponGlowWidthMult
(float weaponGlowWidthMult) void
void
boolean
usesAmmo()
boolean
-
Method Details
-
getId
String getId() -
getType
WeaponAPI.WeaponType getType() -
getSize
WeaponAPI.WeaponSize getSize() -
setPD
void setPD(boolean pd) -
distanceFromArc
float distanceFromArc(org.lwjgl.util.vector.Vector2f target) Returns 0 if the target is in arc, angular distance to edge of arc otherwise.- Parameters:
target
-- Returns:
-
isAlwaysFire
boolean isAlwaysFire() -
getCurrSpread
float getCurrSpread() -
getCurrAngle
float getCurrAngle() -
getArcFacing
float getArcFacing() -
getArc
float getArc() -
setCurrAngle
void setCurrAngle(float angle) -
getRange
float getRange() -
getDisplayArcRadius
float getDisplayArcRadius() -
getChargeLevel
float getChargeLevel() -
getTurnRate
float getTurnRate() -
getProjectileSpeed
float getProjectileSpeed() -
getDisplayName
String getDisplayName() -
getAmmo
int getAmmo() -
getMaxAmmo
int getMaxAmmo() -
setMaxAmmo
void setMaxAmmo(int maxAmmo) -
resetAmmo
void resetAmmo() -
getCooldownRemaining
float getCooldownRemaining() -
getCooldown
float getCooldown() -
setRemainingCooldownTo
void setRemainingCooldownTo(float value) -
isBeam
boolean isBeam() -
isBurstBeam
boolean isBurstBeam() -
isPulse
boolean isPulse() -
requiresFullCharge
boolean requiresFullCharge() -
getLocation
org.lwjgl.util.vector.Vector2f getLocation()- Returns:
- location, in absolute engine coordinates.
-
isFiring
boolean isFiring() -
usesAmmo
boolean usesAmmo() -
usesEnergy
boolean usesEnergy() -
hasAIHint
-
getProjectileCollisionClass
CollisionClass getProjectileCollisionClass() -
beginSelectionFlash
void beginSelectionFlash() -
getFluxCostToFire
float getFluxCostToFire() -
getMaxHealth
float getMaxHealth() -
getCurrHealth
float getCurrHealth() -
isDisabled
boolean isDisabled() -
getDisabledDuration
float getDisabledDuration() -
isPermanentlyDisabled
boolean isPermanentlyDisabled() -
getDamageType
DamageType getDamageType() -
getShip
ShipAPI getShip() -
getDerivedStats
WeaponAPI.DerivedWeaponStatsAPI getDerivedStats()Base stats, does not include character skill bonuses/hull mods/etc.- Returns:
-
setAmmo
void setAmmo(int ammo) -
getAnimation
AnimationAPI getAnimation()- Returns:
- null for non-animated weapons.
-
getSprite
SpriteAPI getSprite()Note: setAlphaMult() and setAngle() will be called on the sprite returned here just prior to rendering. Thus, setting these is pointless - the values will be overridden. Uses the alpha channel in SpriteAPI.setColor() and WeaponAPI.setCurrAngle() instead.- Returns:
- either the base sprite, or, for animated weapons, the sprite for the current frame.
-
getUnderSpriteAPI
SpriteAPI getUnderSpriteAPI()"Base" sprite for the weapon (see: mjolnir.wpn), or null.- Returns:
-
getBarrelSpriteAPI
SpriteAPI getBarrelSpriteAPI()Sprite with the weapon barrels, or null if the weapon doesn't use recoil/separate barrel graphics.- Returns:
-
renderBarrel
Renders the barrel. Shouldn't need to do this unless for shaders etc.- Parameters:
alphaMult
-
-
isRenderBarrelBelow
boolean isRenderBarrelBelow()Whether the barrel goes below or above the weapon sprite.- Returns:
-
disable
void disable() -
disable
void disable(boolean permanent) -
repair
void repair() -
getSpec
WeaponSpecAPI getSpec() -
getSlot
WeaponSlotAPI getSlot() -
getEffectPlugin
EveryFrameWeaponEffectPlugin getEffectPlugin() -
getMissileRenderData
List<MissileRenderDataAPI> getMissileRenderData() -
getDamage
DamageAPI getDamage() -
getProjectileFadeRange
float getProjectileFadeRange() -
isDecorative
boolean isDecorative() -
ensureClonedSpec
void ensureClonedSpec() -
getAmmoPerSecond
float getAmmoPerSecond() -
setPDAlso
void setPDAlso(boolean pdAlso) -
setCurrHealth
void setCurrHealth(float currHealth) -
getMuzzleFlashSpec
MuzzleFlashSpec getMuzzleFlashSpec() -
getBeams
-
getFirePoint
org.lwjgl.util.vector.Vector2f getFirePoint(int barrel) -
setTurnRateOverride
-
getGlowSpriteAPI
SpriteAPI getGlowSpriteAPI() -
getAmmoTracker
AmmoTrackerAPI getAmmoTracker() -
setRefireDelay
void setRefireDelay(float delay) -
setFacing
void setFacing(float facing) -
updateBeamFromPoints
void updateBeamFromPoints() -
isKeepBeamTargetWhileChargingDown
boolean isKeepBeamTargetWhileChargingDown() -
setKeepBeamTargetWhileChargingDown
void setKeepBeamTargetWhileChargingDown(boolean keepTargetWhileChargingDown) -
setScaleBeamGlowBasedOnDamageEffectiveness
void setScaleBeamGlowBasedOnDamageEffectiveness(boolean scaleGlowBasedOnDamageEffectiveness) -
setForceFireOneFrame
void setForceFireOneFrame(boolean forceFire) -
setGlowAmount
-
setForceNoFireOneFrame
void setForceNoFireOneFrame(boolean forceNoFireOneFrame) -
setSuspendAutomaticTurning
void setSuspendAutomaticTurning(boolean suspendAutomaticTurning) -
getBurstFireTimeRemaining
float getBurstFireTimeRemaining() -
getRenderOffsetForDecorativeBeamWeaponsOnly
org.lwjgl.util.vector.Vector2f getRenderOffsetForDecorativeBeamWeaponsOnly() -
setRenderOffsetForDecorativeBeamWeaponsOnly
void setRenderOffsetForDecorativeBeamWeaponsOnly(org.lwjgl.util.vector.Vector2f renderOffsetForDecorativeBeamWeaponsOnly) -
getRefireDelay
float getRefireDelay() -
forceShowBeamGlow
void forceShowBeamGlow() -
isInBurst
boolean isInBurst() -
getOriginalSpec
WeaponSpecAPI getOriginalSpec() -
setWeaponGlowWidthMult
void setWeaponGlowWidthMult(float weaponGlowWidthMult) -
setWeaponGlowHeightMult
void setWeaponGlowHeightMult(float weaponGlowHeightMult) -
stopFiring
void stopFiring() -
isForceDisabled
boolean isForceDisabled() -
setForceDisabled
void setForceDisabled(boolean forceDisabled) -
getCustom
Object getCustom() -
setCustom
-
isForceNoFireOneFrame
boolean isForceNoFireOneFrame()
-