18 public static class Level0
implements DescriptionSkillEffect {
19 public String getString() {
21 return "*The base maximum officer level is " + base +
".";
23 public Color[] getHighlightColors() {
24 Color h = Misc.getDarkHighlightColor();
25 return new Color[] {h};
27 public String[] getHighlights() {
29 return new String [] {
"" + base};
31 public Color getTextColor() {
36 public static class Level1
implements CharacterStatsSkillEffect {
38 public void apply(MutableCharacterStatsAPI stats, String
id,
float level) {
39 stats.getDynamic().getMod(Stats.OFFICER_MAX_LEVEL_MOD).modifyFlat(
id,
MAX_LEVEL_BONUS);
42 public void unapply(MutableCharacterStatsAPI stats, String
id) {
43 stats.getDynamic().getMod(Stats.OFFICER_MAX_LEVEL_MOD).unmodify(
id);
46 public String getEffectDescription(
float level) {
47 return "+" + (int)
MAX_LEVEL_BONUS +
" to maximum level* of officers under your command";
50 public String getEffectPerLevelDescription() {
54 public ScopeDescription getScopeDescription() {
55 return ScopeDescription.NONE;
59 public static class Level2
implements CharacterStatsSkillEffect {
61 public void apply(MutableCharacterStatsAPI stats, String
id,
float level) {
65 public void unapply(MutableCharacterStatsAPI stats, String
id) {
66 stats.getDynamic().getMod(Stats.OFFICER_MAX_ELITE_SKILLS_MOD).unmodify(
id);
69 public String getEffectDescription(
float level) {
70 return "+" + (int)
MAX_ELITE_SKILLS_BONUS +
" to maximum number of elite skills for officers under your command";
73 public String getEffectPerLevelDescription() {
77 public ScopeDescription getScopeDescription() {
78 return ScopeDescription.NONE;
82 public static class Level3
implements CharacterStatsSkillEffect {
84 public void apply(MutableCharacterStatsAPI stats, String
id,
float level) {
85 stats.getCommandPoints().modifyFlat(
id,
CP_BONUS);
88 public void unapply(MutableCharacterStatsAPI stats, String
id) {
89 stats.getCommandPoints().unmodify(
id);
92 public String getEffectDescription(
float level) {
93 return "+" + (int)
CP_BONUS +
" command points";
96 public String getEffectPerLevelDescription() {
100 public ScopeDescription getScopeDescription() {
101 return ScopeDescription.FLEET;