Starsector API
Loading...
Searching...
No Matches
WeaponSpecAPI.java
Go to the documentation of this file.
1package com.fs.starfarer.api.loading;
2
3import java.util.EnumSet;
4import java.util.List;
5import java.util.Set;
6
7import java.awt.Color;
8
9import org.lwjgl.util.vector.Vector2f;
10
11import com.fs.starfarer.api.characters.MutableCharacterStatsAPI;
12import com.fs.starfarer.api.combat.DamageType;
13import com.fs.starfarer.api.combat.MutableShipStatsAPI;
14import com.fs.starfarer.api.combat.WeaponAPI;
15import com.fs.starfarer.api.combat.WeaponAPI.DerivedWeaponStatsAPI;
16import com.fs.starfarer.api.combat.WeaponAPI.WeaponSize;
17import com.fs.starfarer.api.combat.WeaponAPI.WeaponType;
18
19public interface WeaponSpecAPI extends WithSourceMod {
22
23 WeaponType getType();
25
26 int getTier();
27 float getBaseValue();
28 boolean usesAmmo();
30 String getWeaponId();
31 WeaponSize getSize();
32 String getWeaponName();
33
35 Set<String> getTags();
36 void addTag(String tag);
37 boolean hasTag(String tag);
38 float getRarity();
39 void setRarity(float rarity);
41 DerivedWeaponStatsAPI getDerivedStats();
42
43 List<Vector2f> getHardpointFireOffsets();
45 List<Vector2f> getTurretFireOffsets();
46 List<Float> getTurretAngleOffsets();
47 List<Vector2f> getHiddenFireOffsets();
48 List<Float> getHiddenAngleOffsets();
49
55 void setManufacturer(String manufacturer);
59 void setWeaponGroupTag(String weaponGroupTag);
60 boolean isBeam();
62 void setPrimaryRoleStr(String primaryRoleStr);
63 String getSpeedStr();
64 void setSpeedStr(String speedStr);
66 void setTrackingStr(String trackingStr);
68 void setTurnRateStr(String turnRateStr);
70 void setAccuracyStr(String accuracyStr);
72 void setCustomPrimary(String customPrimary);
74 void setCustomPrimaryHL(String customPrimaryHL);
76 void setCustomAncillary(String customAncillary);
78 void setCustomAncillaryHL(String customAncillaryHL);
80 void setNoDPSInTooltip(boolean noDPSInTooltip);
81 Color getGlowColor();
84 void setNoImpactSounds(boolean noImpactSounds);
86
88 void setRenderAboveAllWeapons(boolean renderAboveAllWeapons);
90 void setNoShieldImpactSounds(boolean noShieldImpactSounds);
92 void setNoNonShieldImpactSounds(boolean noNonShieldImpactSounds);
93
94 float getMinSpread();
95 float getMaxSpread();
98 void setMinSpread(float minSpread);
99 void setMaxSpread(float maxSpread);
100 void setSpreadDecayRate(float spreadDecayRate);
101 void setSpreadBuildup(float spreadBuildup);
102
109 void setAutofireAccBonus(float autofireAccBonus);
114 void setUnaffectedByProjectileSpeedBonuses(boolean unaffectedByProjectileSpeedBonuses);
116 WeaponType getMountType();
117 void setMountType(WeaponType mountType);
119 void setExtraArcForAI(float extraArcForAI);
120 void setWeaponName(String weaponName);
121 float getMaxRange();
122 void setMaxRange(float maxRange);
123 void setOrdnancePointCost(float armamentCapacity);
125 boolean isBurstBeam();
127 void setStopPreviousFireSound(boolean stopPreviousFireSound);
129 void setPlayFullFireSoundOne(boolean playFullFireSoundOne);
130 void setBeamSpeed(float beamSpeed);
131 void setMaxAmmo(int maxAmmo);
132 void setAmmoPerSecond(float ammoPerSecond);
134 void setReloadSize(float reloadSize);
135 void setProjectileSpeed(float projectileSpeed);
136 float getTurnRate();
137 void setTurnRate(float turnRate);
139 void setRestrictToSpecifiedMountType(boolean restrictToSpecifiedMountType);
141 void setFadePreviousFireSound(float fadePreviousFireSound);
142 void setDamageType(DamageType damageType);
143}
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 setDamageType(DamageType damageType)
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 setFadePreviousFireSound(float fadePreviousFireSound)
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)