1package com.fs.starfarer.api.combat;
7import org.lwjgl.util.vector.Vector2f;
9import com.fs.starfarer.api.AnimationAPI;
10import com.fs.starfarer.api.graphics.SpriteAPI;
11import com.fs.starfarer.api.loading.MuzzleFlashSpec;
12import com.fs.starfarer.api.loading.WeaponSlotAPI;
13import com.fs.starfarer.api.loading.WeaponSpecAPI;
22 public static interface DerivedWeaponStatsAPI {
23 float getBurstFireDuration();
24 float getSustainedDps();
25 float getEmpPerSecond();
26 float getDamageOver30Sec();
28 float getBurstDamage();
29 float getFluxPerDam();
31 float getFluxPerSecond();
32 float getSustainedFluxPerSecond();
37 float getDamagePerShot();
38 float getEmpPerShot();
41 public static enum WeaponType {
42 BALLISTIC(
"Ballistic"),
45 LAUNCH_BAY(
"Launch Bay"),
46 UNIVERSAL(
"Universal"),
49 COMPOSITE(
"Composite"),
51 DECORATIVE(
"Decorative"),
53 STATION_MODULE(
"Station Module");
55 private String displayName;
56 private WeaponType(String displayName) {
57 this.displayName = displayName;
65 public static enum WeaponSize {
70 private String displayName;
71 private WeaponSize(String name) {
72 this.displayName = name;
79 public static enum AIHints {
101 CONSERVE_FOR_ANTI_ARMOR,
102 FIRE_WHEN_INEFFICIENT,
103 EXTRA_RANGE_ON_FIGHTER,
112 NO_TURN_RATE_BOOST_WHEN_IDLE,
113 RESET_BARREL_INDEX_ON_BURST,
121 RANGE_FROM_TARGETING_OVAL,
128 RANGE_FROM_SHIP_RADIUS,
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)
boolean isForceDisabled()
float distanceFromArc(Vector2f target)
CollisionClass getProjectileCollisionClass()
boolean isPermanentlyDisabled()
void setKeepBeamTargetWhileChargingDown(boolean keepTargetWhileChargingDown)
void beginSelectionFlash()
EveryFrameWeaponEffectPlugin getEffectPlugin()
boolean isKeepBeamTargetWhileChargingDown()
void setForceDisabled(boolean forceDisabled)
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()
boolean isForceNoFireOneFrame()
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()
void setCustom(Object custom)
boolean requiresFullCharge()
Vector2f getFirePoint(int barrel)
float getCooldownRemaining()