19 public static class Level1
implements ShipSkillEffect {
21 public void apply(MutableShipStatsAPI stats, HullSize hullSize, String
id,
float level) {
26 public void unapply(MutableShipStatsAPI stats, HullSize hullSize, String
id) {
27 stats.getShieldUpkeepMult().unmodify(
id);
28 stats.getPhaseCloakUpkeepCostBonus().unmodify(
id);
31 public String getEffectDescription(
float level) {
35 public String getEffectPerLevelDescription() {
39 public ScopeDescription getScopeDescription() {
40 return ScopeDescription.PILOTED_SHIP;
44 public static class Level2A
implements ShipSkillEffect {
45 public void apply(MutableShipStatsAPI stats, HullSize hullSize, String
id,
float level) {
49 public void unapply(MutableShipStatsAPI stats, HullSize hullSize, String
id) {
50 stats.getShieldDamageTakenMult().unmodify(
id);
53 public String getEffectDescription(
float level) {
57 public String getEffectPerLevelDescription() {
61 public ScopeDescription getScopeDescription() {
62 return ScopeDescription.PILOTED_SHIP;
66 public static class Level2B
implements ShipSkillEffect {
67 public void apply(MutableShipStatsAPI stats, HullSize hullSize, String
id,
float level) {
71 public void unapply(MutableShipStatsAPI stats, HullSize hullSize, String
id) {
72 stats.getPhaseCloakCooldownBonus().unmodify(
id);
75 public String getEffectDescription(
float level) {
79 public String getEffectPerLevelDescription() {
83 public ScopeDescription getScopeDescription() {
84 return ScopeDescription.PILOTED_SHIP;
88 public static class Level3A
implements ShipSkillEffect {
90 public void apply(MutableShipStatsAPI stats, HullSize hullSize, String
id,
float level) {
94 public void unapply(MutableShipStatsAPI stats, HullSize hullSize, String
id) {
95 stats.getHardFluxDissipationFraction().unmodify(
id);
98 public String getEffectDescription(
float level) {
102 public String getEffectPerLevelDescription() {
106 public ScopeDescription getScopeDescription() {
107 return ScopeDescription.PILOTED_SHIP;
111 public static class Level3B
implements ShipSkillEffect {
113 public void apply(MutableShipStatsAPI stats, HullSize hullSize, String
id,
float level) {
115 stats.getDynamic().getStat(Stats.PHASE_TIME_BONUS_MULT).modifyFlat(
id, 0.5f);
118 public void unapply(MutableShipStatsAPI stats, HullSize hullSize, String
id) {
119 stats.getDynamic().getStat(Stats.PHASE_TIME_BONUS_MULT).unmodify(
id);
122 public String getEffectDescription(
float level) {
123 return "Phase cloak time acceleration increased from 3" + Strings.X +
" to 4" + Strings.X;
126 public String getEffectPerLevelDescription() {
130 public ScopeDescription getScopeDescription() {
131 return ScopeDescription.PILOTED_SHIP;