Starsector API
Loading...
Searching...
No Matches
SpaceOperations.java
Go to the documentation of this file.
1package com.fs.starfarer.api.impl.campaign.skills;
2
3import com.fs.starfarer.api.campaign.econ.MarketAPI;
4import com.fs.starfarer.api.characters.MarketSkillEffect;
5import com.fs.starfarer.api.impl.campaign.ids.Stats;
6
7public class SpaceOperations {
8
9 public static final float ACCESS = 0.3f;
10 public static final float FLEET_SIZE = 25f;
11
12
13 public static class Level1 implements MarketSkillEffect {
14 public void apply(MarketAPI market, String id, float level) {
15 market.getAccessibilityMod().modifyFlat(id, ACCESS, "Space operations");
16 }
17
18 public void unapply(MarketAPI market, String id) {
19 market.getAccessibilityMod().unmodifyFlat(id);
20 }
21
22 public String getEffectDescription(float level) {
23 return "+" + (int)Math.round(ACCESS * 100f) + "% accessibility";
24 }
25
26 public String getEffectPerLevelDescription() {
27 return null;
28 }
29
30 public ScopeDescription getScopeDescription() {
31 return ScopeDescription.GOVERNED_OUTPOST;
32 }
33 }
34
35 public static class Level2 implements MarketSkillEffect {
36 public void apply(MarketAPI market, String id, float level) {
37 market.getStats().getDynamic().getMod(Stats.COMBAT_FLEET_SIZE_MULT).modifyFlat(id, FLEET_SIZE / 100f, "Fleet logistics");
38 }
39
40 public void unapply(MarketAPI market, String id) {
41 market.getStats().getDynamic().getMod(Stats.COMBAT_FLEET_SIZE_MULT).unmodifyFlat(id);
42 }
43
44 public String getEffectDescription(float level) {
45 //return "" + (int)Math.round(FLEET_SIZE) + "% larger fleets";
46 return "+" + (int)Math.round(FLEET_SIZE) + "% fleet size";
47 }
48
49 public String getEffectPerLevelDescription() {
50 return null;
51 }
52
53 public ScopeDescription getScopeDescription() {
54 return ScopeDescription.GOVERNED_OUTPOST;
55 }
56 }
57}
58
59