22 public static class Level1
implements MarketSkillEffect {
23 public void apply(MarketAPI market, String
id,
float level) {
24 market.getStats().getDynamic().getMod(Stats.GROUND_DEFENSES_MOD).modifyMult(
id, 1f +
DEFEND_BONUS * 0.01f,
"Ground operations");
27 public void unapply(MarketAPI market, String
id) {
29 market.getStats().getDynamic().getMod(Stats.GROUND_DEFENSES_MOD).unmodifyMult(
id);
32 public String getEffectDescription(
float level) {
33 return "+" + (int)(
DEFEND_BONUS) +
"% effectiveness of ground defenses";
36 public String getEffectPerLevelDescription() {
40 public ScopeDescription getScopeDescription() {
41 return ScopeDescription.GOVERNED_OUTPOST;
45 public static class Level2
implements MarketSkillEffect {
46 public void apply(MarketAPI market, String
id,
float level) {
47 market.getStability().modifyFlat(
id,
STABILITY_BONUS,
"Ground operations");
50 public void unapply(MarketAPI market, String
id) {
51 market.getStability().unmodifyFlat(
id);
54 public String getEffectDescription(
float level) {
58 public String getEffectPerLevelDescription() {
62 public ScopeDescription getScopeDescription() {
63 return ScopeDescription.GOVERNED_OUTPOST;
67 public static class Level3
extends BaseSkillEffectDescription implements FleetStatsSkillEffect {
68 public void apply(MutableFleetStatsAPI stats, String
id,
float level) {
70 stats.getDynamic().getMod(Stats.PLANETARY_OPERATIONS_MOD).modifyPercent(
id,
ATTACK_BONUS,
"Ground operations");
73 public void unapply(MutableFleetStatsAPI stats, String
id) {
75 stats.getDynamic().getMod(Stats.PLANETARY_OPERATIONS_MOD).unmodifyPercent(
id);
78 public void createCustomDescription(MutableCharacterStatsAPI stats, SkillSpecAPI skill,
79 TooltipMakerAPI info,
float width) {
83 Color c = Misc.getBasePlayerColor();
84 info.addPara(
"Affects: %s", opad + 5f, Misc.getGrayColor(), c,
"fleet");
86 info.addPara(
"+%s effectiveness of ground operations such as raids", 0f,
hc,
hc,
90 public String getEffectDescription(
float level) {
91 return "+" + (int)(
ATTACK_BONUS) +
"% effectiveness of ground operations such as raids";
94 public String getEffectPerLevelDescription() {
98 public ScopeDescription getScopeDescription() {
99 return ScopeDescription.FLEET;
103 public static class Level4
implements FleetStatsSkillEffect {
104 public void apply(MutableFleetStatsAPI stats, String
id,
float level) {
105 stats.getDynamic().getStat(Stats.PLANETARY_OPERATIONS_CASUALTIES_MULT).modifyMult(
id,
CASUALTIES_MULT,
"Ground operations");
108 public void unapply(MutableFleetStatsAPI stats, String
id) {
109 stats.getDynamic().getStat(Stats.PLANETARY_OPERATIONS_CASUALTIES_MULT).unmodifyMult(
id);
123 public String getEffectDescription(
float level) {
124 return "-" + (int)Math.round((1f -
CASUALTIES_MULT) * 100f) +
"% marine casualties suffered during ground operations such as raids";
127 public String getEffectPerLevelDescription() {
131 public ScopeDescription getScopeDescription() {
132 return ScopeDescription.FLEET;