001package com.fs.starfarer.api.loading; 002 003import com.fs.starfarer.api.combat.MutableShipStatsAPI; 004import com.fs.starfarer.api.combat.WeaponAPI; 005 006public interface ProjectileWeaponSpecAPI extends WeaponSpecAPI { 007 008 float getEnergyPerShot(); 009 void setEnergyPerShot(float energyPerShot); 010 float getRefireDelay(); 011 void setRefireDelay(float refireDelay); 012 int getBurstSize(); 013 void setBurstSize(int burstSize); 014 boolean isInterruptibleBurst(); 015 void setInterruptibleBurst(boolean interruptibleBurst); 016 float getBurstDelay(); 017 void setBurstDelay(float burstDelay); 018 float getMinSpread(); 019 void setMinSpread(float minSpread); 020 float getMaxSpread(); 021 void setMaxSpread(float maxSpread); 022 float getSpreadDecayRate(); 023 void setSpreadDecayRate(float spreadDecayRate); 024 float getSpreadBuildup(); 025 void setSpreadBuildup(float spreadBuildup); 026 boolean isAutoCharge(); 027 void setAutoCharge(boolean autoCharge); 028 float getEnergyPerSecond(); 029 void setEnergyPerSecond(float energyPerSecond); 030 boolean isRequiresFullCharge(); 031 void setRequiresFullCharge(boolean requiresFullCharge); 032 float getProjectileSpeed(MutableShipStatsAPI shipStats, WeaponAPI weapon); 033 void setProjectileSpeed(float projectileSpeed); 034 void setSeparateRecoilForLinkedBarrels(boolean individualLinkedRecoil); 035 boolean isSeparateRecoilForLinkedBarrels(); 036 Object getProjectileSpec(); 037 float getChargeTime(); 038 void setChargeTime(float chargeTime); 039 String getHardpointGunSpriteName(); 040 void setHardpointGunSpriteName(String hardpointGunSpriteName); 041 String getTurretGunSpriteName(); 042 void setTurretGunSpriteName(String turretGunSpriteName); 043 String getHardpointGlowSpriteName(); 044 void setTurretGlowSpriteName(String turretGlowSpriteName); 045 String getTurretGlowSpriteName(); 046 void setHardpointGlowSpriteName(String hardpointGlowSpriteName); 047 float getVisualRecoil(); 048 void setVisualRecoil(float visualRecoil); 049 String getAccuracyDisplayName(); 050 MuzzleFlashSpec getMuzzleFlashSpec(); 051 052}