Starsector API
Loading...
Searching...
No Matches
WeaponSpecAPI.java
Go to the documentation of this file.
1package com.fs.starfarer.api.loading;
2
3import java.awt.Color;
4import java.util.EnumSet;
5import java.util.List;
6import java.util.Set;
7
8import org.lwjgl.util.vector.Vector2f;
9
10import com.fs.starfarer.api.characters.MutableCharacterStatsAPI;
11import com.fs.starfarer.api.combat.DamageType;
12import com.fs.starfarer.api.combat.MutableShipStatsAPI;
13import com.fs.starfarer.api.combat.WeaponAPI;
14import com.fs.starfarer.api.combat.WeaponAPI.DerivedWeaponStatsAPI;
15import com.fs.starfarer.api.combat.WeaponAPI.WeaponSize;
16import com.fs.starfarer.api.combat.WeaponAPI.WeaponType;
17
18public interface WeaponSpecAPI {
19 float getOrdnancePointCost(MutableCharacterStatsAPI stats);
20 EnumSet<WeaponAPI.AIHints> getAIHints();
21
22 WeaponType getType();
24
25 int getTier();
26 float getBaseValue();
27 boolean usesAmmo();
29 String getWeaponId();
30 WeaponSize getSize();
31 String getWeaponName();
32
34 Set<String> getTags();
35 void addTag(String tag);
36 boolean hasTag(String tag);
37 float getRarity();
38 void setRarity(float rarity);
39 float getOrdnancePointCost(MutableCharacterStatsAPI stats, MutableShipStatsAPI shipStats);
40 DerivedWeaponStatsAPI getDerivedStats();
41
42 List<Vector2f> getHardpointFireOffsets();
44 List<Vector2f> getTurretFireOffsets();
45 List<Float> getTurretAngleOffsets();
46 List<Vector2f> getHiddenFireOffsets();
47 List<Float> getHiddenAngleOffsets();
48
54 void setManufacturer(String manufacturer);
58 void setWeaponGroupTag(String weaponGroupTag);
59 boolean isBeam();
61 void setPrimaryRoleStr(String primaryRoleStr);
62 String getSpeedStr();
63 void setSpeedStr(String speedStr);
65 void setTrackingStr(String trackingStr);
67 void setTurnRateStr(String turnRateStr);
69 void setAccuracyStr(String accuracyStr);
71 void setCustomPrimary(String customPrimary);
73 void setCustomPrimaryHL(String customPrimaryHL);
75 void setCustomAncillary(String customAncillary);
77 void setCustomAncillaryHL(String customAncillaryHL);
79 void setNoDPSInTooltip(boolean noDPSInTooltip);
80 Color getGlowColor();
83 void setNoImpactSounds(boolean noImpactSounds);
84 DamageType getDamageType();
85
87 void setRenderAboveAllWeapons(boolean renderAboveAllWeapons);
89 void setNoShieldImpactSounds(boolean noShieldImpactSounds);
91 void setNoNonShieldImpactSounds(boolean noNonShieldImpactSounds);
92
93 float getMinSpread();
94 float getMaxSpread();
97 void setMinSpread(float minSpread);
98 void setMaxSpread(float maxSpread);
99 void setSpreadDecayRate(float spreadDecayRate);
100 void setSpreadBuildup(float spreadBuildup);
101
108 void setAutofireAccBonus(float autofireAccBonus);
113 void setUnaffectedByProjectileSpeedBonuses(boolean unaffectedByProjectileSpeedBonuses);
115 WeaponType getMountType();
116 void setMountType(WeaponType mountType);
118 void setExtraArcForAI(float extraArcForAI);
119 void setWeaponName(String weaponName);
120 float getMaxRange();
121 void setMaxRange(float maxRange);
122 void setOrdnancePointCost(float armamentCapacity);
124 boolean isBurstBeam();
126 void setStopPreviousFireSound(boolean stopPreviousFireSound);
128 void setPlayFullFireSoundOne(boolean playFullFireSoundOne);
129 void setBeamSpeed(float beamSpeed);
130 void setMaxAmmo(int maxAmmo);
131 void setAmmoPerSecond(float ammoPerSecond);
133 void setReloadSize(float reloadSize);
134 void setProjectileSpeed(float projectileSpeed);
135 float getTurnRate();
136 void setTurnRate(float turnRate);
138 void setRestrictToSpecifiedMountType(boolean restrictToSpecifiedMountType);
139}
void setPrimaryRoleStr(String primaryRoleStr)
void setRenderAboveAllWeapons(boolean renderAboveAllWeapons)
void setProjectileSpeed(float projectileSpeed)
void setCustomAncillary(String customAncillary)
void setOrdnancePointCost(float armamentCapacity)
void setRestrictToSpecifiedMountType(boolean restrictToSpecifiedMountType)
void setAmmoPerSecond(float ammoPerSecond)
void setNoNonShieldImpactSounds(boolean noNonShieldImpactSounds)
void setMountType(WeaponType mountType)
void setTrackingStr(String trackingStr)
void setExtraArcForAI(float extraArcForAI)
void setAutofireAccBonus(float autofireAccBonus)
void setAccuracyStr(String accuracyStr)
void setNoImpactSounds(boolean noImpactSounds)
EnumSet< WeaponAPI.AIHints > getAIHints()
void setCustomAncillaryHL(String customAncillaryHL)
float getOrdnancePointCost(MutableCharacterStatsAPI stats, MutableShipStatsAPI shipStats)
void setStopPreviousFireSound(boolean stopPreviousFireSound)
void setManufacturer(String manufacturer)
void setSpreadDecayRate(float spreadDecayRate)
void setUnaffectedByProjectileSpeedBonuses(boolean unaffectedByProjectileSpeedBonuses)
void setPlayFullFireSoundOne(boolean playFullFireSoundOne)
void setCustomPrimaryHL(String customPrimaryHL)
void setNoShieldImpactSounds(boolean noShieldImpactSounds)
void setNoDPSInTooltip(boolean noDPSInTooltip)
void setTurnRateStr(String turnRateStr)
DerivedWeaponStatsAPI getDerivedStats()
List< String > getAutofitCategoriesInPriorityOrder()
void setCustomPrimary(String customPrimary)
void setSpreadBuildup(float spreadBuildup)
float getOrdnancePointCost(MutableCharacterStatsAPI stats)
void setWeaponGroupTag(String weaponGroupTag)