20 public static class Level0
implements DescriptionSkillEffect {
21 public String getString() {
22 int max = Misc.MAX_PERMA_MODS;
23 return "*The base maximum number of permanent hullmods you're able to build into a ship is " +
27 public Color[] getHighlightColors() {
28 Color h = Misc.getHighlightColor();
29 h = Misc.getDarkHighlightColor();
30 return new Color[] {h, h, h};
32 public String[] getHighlights() {
33 int max = Misc.MAX_PERMA_MODS;
34 return new String [] {
"" + max};
36 public Color getTextColor() {
42 public static class Level1
implements ShipSkillEffect {
44 public void apply(MutableShipStatsAPI stats, HullSize hullSize, String
id,
float level) {
45 stats.getDynamic().getMod(Stats.MAX_PERMANENT_HULLMODS_MOD).modifyFlat(
id,
EXTRA_MODS);
48 public void unapply(MutableShipStatsAPI stats, HullSize hullSize, String
id) {
49 stats.getDynamic().getMod(Stats.MAX_PERMANENT_HULLMODS_MOD).unmodifyFlat(
id);
52 public String getEffectDescription(
float level) {
53 return "Able to build " +
EXTRA_MODS +
" more permanent hullmod* into ships";
56 public String getEffectPerLevelDescription() {
60 public ScopeDescription getScopeDescription() {
61 return ScopeDescription.FLEET;
65 public static class Level2
implements CharacterStatsSkillEffect {
66 public void apply(MutableCharacterStatsAPI stats, String
id,
float level) {
67 stats.getDynamic().getMod(Stats.DEPLOYMENT_POINTS_MIN_FRACTION_OF_BATTLE_SIZE_BONUS_MOD).modifyFlat(
id,
DEPLOYMENT_BONUS);
70 public void unapply(MutableCharacterStatsAPI stats, String
id) {
71 stats.getDynamic().getMod(Stats.DEPLOYMENT_POINTS_MIN_FRACTION_OF_BATTLE_SIZE_BONUS_MOD).unmodifyFlat(
id);
74 public String getEffectDescription(
float level) {
77 return "Deployment points bonus from objectives is at least " +
78 (int)Math.round(
DEPLOYMENT_BONUS * 100f) +
"% of the battle size, even if holding no objectives";
81 public String getEffectPerLevelDescription() {
85 public ScopeDescription getScopeDescription() {
86 return ScopeDescription.ALL_SHIPS;