29 public static class Level0
implements DescriptionSkillEffect {
30 public String getString() {
31 return "*Maximum effect reached " +
35 public Color[] getHighlightColors() {
36 Color h = Misc.getHighlightColor();
37 h = Misc.getDarkHighlightColor();
38 return new Color[] {h};
40 public String[] getHighlights() {
41 return new String [] {
"" + (int)
MAX_DMODS};
43 public Color getTextColor() {
49 public void apply(MutableShipStatsAPI stats, HullSize hullSize, String
id,
float level) {
50 FleetMemberAPI member = stats.getFleetMember();
60 stats.getDynamic().getMod(Stats.DEPLOYMENT_POINTS_MOD).modifyMult(
id, 1f - (depBonus/100f));
62 stats.getDynamic().getMod(Stats.DMOD_REDUCE_MAINTENANCE).modifyFlat(
id, 1f);
65 stats.getMaxCombatReadiness().modifyFlat(
id, -crPenalty * 0.01f,
"Derelict Operations skill");
74 public void unapply(MutableShipStatsAPI stats, HullSize hullSize, String
id) {
75 stats.getDynamic().getMod(Stats.DEPLOYMENT_POINTS_MOD).unmodify(
id);
76 stats.getDynamic().getMod(Stats.DMOD_REDUCE_MAINTENANCE).unmodify(
id);
78 stats.getMaxCombatReadiness().unmodify(
id);
86 public void createCustomDescription(MutableCharacterStatsAPI stats, SkillSpecAPI skill,
87 TooltipMakerAPI info,
float width) {
90 info.addPara(
"Deployment point cost of ships reduced by %s per d-mod*", 0f,
93 info.addPara(
"(D) hull deployment cost reduction also applies to maintenance cost,"
94 +
" but maximum CR is reduced by %s per d-mod*", 0f,
97 info.addPara(
"(D) hull deployment cost reduction also applies to maintenance cost",
hc, 0f);
103 public static class Level2
implements FleetStatsSkillEffect {
104 public void apply(MutableFleetStatsAPI stats, String
id,
float level) {
105 stats.getDynamic().getMod(Stats.SHIP_DMOD_REDUCTION).modifyFlat(
id, -
EXTRA_DMODS);
108 public void unapply(MutableFleetStatsAPI stats, String
id) {
109 stats.getDynamic().getMod(Stats.SHIP_DMOD_REDUCTION).unmodify(
id);
112 public String getEffectDescription(
float level) {
114 return "Recovered ships have more d-mods than normal";
117 public String getEffectPerLevelDescription() {
121 public ScopeDescription getScopeDescription() {
122 return ScopeDescription.FLEET;