1package com.fs.starfarer.api.combat;
6import org.lwjgl.util.vector.Vector2f;
8import com.fs.starfarer.api.AnimationAPI;
9import com.fs.starfarer.api.graphics.SpriteAPI;
10import com.fs.starfarer.api.loading.MuzzleFlashSpec;
11import com.fs.starfarer.api.loading.WeaponSlotAPI;
12import com.fs.starfarer.api.loading.WeaponSpecAPI;
21 public static interface DerivedWeaponStatsAPI {
22 float getBurstFireDuration();
23 float getSustainedDps();
24 float getEmpPerSecond();
25 float getDamageOver30Sec();
27 float getBurstDamage();
28 float getFluxPerDam();
30 float getFluxPerSecond();
31 float getSustainedFluxPerSecond();
36 float getDamagePerShot();
37 float getEmpPerShot();
40 public static enum WeaponType {
41 BALLISTIC(
"Ballistic"),
44 LAUNCH_BAY(
"Launch Bay"),
45 UNIVERSAL(
"Universal"),
48 COMPOSITE(
"Composite"),
50 DECORATIVE(
"Decorative"),
52 STATION_MODULE(
"Station Module");
54 private String displayName;
55 private WeaponType(String displayName) {
56 this.displayName = displayName;
64 public static enum WeaponSize {
69 private String displayName;
70 private WeaponSize(String name) {
71 this.displayName = name;
78 public static enum AIHints {
100 CONSERVE_FOR_ANTI_ARMOR,
101 FIRE_WHEN_INEFFICIENT,
102 EXTRA_RANGE_ON_FIGHTER,
111 NO_TURN_RATE_BOOST_WHEN_IDLE,
112 RESET_BARREL_INDEX_ON_BURST,
Vector2f getRenderOffsetForDecorativeBeamWeaponsOnly()
void setRefireDelay(float delay)
void setRenderOffsetForDecorativeBeamWeaponsOnly(Vector2f renderOffsetForDecorativeBeamWeaponsOnly)
AnimationAPI getAnimation()
MuzzleFlashSpec getMuzzleFlashSpec()
DerivedWeaponStatsAPI getDerivedStats()
void setForceNoFireOneFrame(boolean forceNoFireOneFrame)
void setMaxAmmo(int maxAmmo)
void updateBeamFromPoints()
SpriteAPI getGlowSpriteAPI()
void renderBarrel(SpriteAPI sprite, Vector2f loc, float alphaMult)
float distanceFromArc(Vector2f target)
CollisionClass getProjectileCollisionClass()
boolean isPermanentlyDisabled()
void setKeepBeamTargetWhileChargingDown(boolean keepTargetWhileChargingDown)
void beginSelectionFlash()
EveryFrameWeaponEffectPlugin getEffectPlugin()
boolean isKeepBeamTargetWhileChargingDown()
void setGlowAmount(float glow, Color glowColor)
void setCurrAngle(float angle)
void setFacing(float facing)
void setTurnRateOverride(Float turnRateOverride)
void setSuspendAutomaticTurning(boolean suspendAutomaticTurning)
void setForceFireOneFrame(boolean forceFire)
void setCurrHealth(float currHealth)
boolean isRenderBarrelBelow()
List< MissileRenderDataAPI > getMissileRenderData()
float getProjectileFadeRange()
void setRemainingCooldownTo(float value)
WeaponSpecAPI getOriginalSpec()
void disable(boolean permanent)
SpriteAPI getUnderSpriteAPI()
DamageType getDamageType()
SpriteAPI getBarrelSpriteAPI()
void setScaleBeamGlowBasedOnDamageEffectiveness(boolean scaleGlowBasedOnDamageEffectiveness)
float getDisplayArcRadius()
float getBurstFireTimeRemaining()
void setWeaponGlowHeightMult(float weaponGlowHeightMult)
float getDisabledDuration()
void setWeaponGlowWidthMult(float weaponGlowWidthMult)
AmmoTrackerAPI getAmmoTracker()
List< BeamAPI > getBeams()
boolean hasAIHint(AIHints hint)
float getFluxCostToFire()
void setPDAlso(boolean pdAlso)
float getProjectileSpeed()
boolean requiresFullCharge()
Vector2f getFirePoint(int barrel)
float getCooldownRemaining()