75 public static class Level1
implements ShipSkillEffect {
83 public void apply(MutableShipStatsAPI stats, HullSize hullSize, String
id,
float level) {
84 if (stats.getVariant() !=
null) {
86 float flux =
FLUX_PER_OP * stats.getVariant().computeWeaponOPCost(cStats);
87 stats.getFluxDissipation().modifyFlat(
id, flux);
91 public void unapply(MutableShipStatsAPI stats, HullSize hullSize, String
id) {
92 stats.getFluxDissipation().unmodifyFlat(
id);
95 public String getEffectDescription(
float level) {
100 return "+" + Misc.getRoundedValueMaxOneAfterDecimal(
FLUX_PER_OP) +
" flux dissipation per ordnance point spent on weapons";
102 return "+" + (int)(
FLUX_PER_OP) +
" flux dissipation per ordnance point spent on weapons";
105 public String getEffectPerLevelDescription() {
109 public ScopeDescription getScopeDescription() {
110 return ScopeDescription.PILOTED_SHIP;
114 public static class Level3
implements ShipSkillEffect {
116 public void apply(MutableShipStatsAPI stats, HullSize hullSize, String
id,
float level) {
117 if (stats.getVariant() !=
null) {
119 float flux =
CAP_PER_OP * stats.getVariant().computeWeaponOPCost(cStats);
120 stats.getFluxCapacity().modifyFlat(
id, flux);
124 public void unapply(MutableShipStatsAPI stats, HullSize hullSize, String
id) {
125 stats.getFluxCapacity().unmodifyFlat(
id);
128 public String getEffectDescription(
float level) {
129 return "+" + (int)(
CAP_PER_OP) +
" flux capacity per ordnance point spent on weapons";
132 public String getEffectPerLevelDescription() {
136 public ScopeDescription getScopeDescription() {
137 return ScopeDescription.PILOTED_SHIP;
141 public static class Level2
implements ShipSkillEffect {
143 public void apply(MutableShipStatsAPI stats, HullSize hullSize, String
id,
float level) {
144 stats.getMaxCombatReadiness().modifyFlat(
id,
MAX_CR_BONUS * 0.01f,
"Ordnance Expertise skill");
147 public void unapply(MutableShipStatsAPI stats, HullSize hullSize, String
id) {
148 stats.getMaxCombatReadiness().unmodify(
id);
151 public String getEffectDescription(
float level) {
152 return "+" + (int)(
MAX_CR_BONUS) +
"% maximum combat readiness";
155 public String getEffectPerLevelDescription() {
159 public ScopeDescription getScopeDescription() {
160 return ScopeDescription.PILOTED_SHIP;