001package com.fs.starfarer.api.impl.campaign.skills; 002 003import com.fs.starfarer.api.campaign.econ.MarketAPI; 004import com.fs.starfarer.api.characters.MarketSkillEffect; 005import com.fs.starfarer.api.impl.campaign.ids.Stats; 006 007public class SpaceOperations { 008 009 public static final float ACCESS = 0.3f; 010 public static final float FLEET_SIZE = 25f; 011 012 013 public static class Level1 implements MarketSkillEffect { 014 public void apply(MarketAPI market, String id, float level) { 015 market.getAccessibilityMod().modifyFlat(id, ACCESS, "Space operations"); 016 } 017 018 public void unapply(MarketAPI market, String id) { 019 market.getAccessibilityMod().unmodifyFlat(id); 020 } 021 022 public String getEffectDescription(float level) { 023 return "+" + (int)Math.round(ACCESS * 100f) + "% accessibility"; 024 } 025 026 public String getEffectPerLevelDescription() { 027 return null; 028 } 029 030 public ScopeDescription getScopeDescription() { 031 return ScopeDescription.GOVERNED_OUTPOST; 032 } 033 } 034 035 public static class Level2 implements MarketSkillEffect { 036 public void apply(MarketAPI market, String id, float level) { 037 market.getStats().getDynamic().getMod(Stats.COMBAT_FLEET_SIZE_MULT).modifyFlat(id, FLEET_SIZE / 100f, "Fleet logistics"); 038 } 039 040 public void unapply(MarketAPI market, String id) { 041 market.getStats().getDynamic().getMod(Stats.COMBAT_FLEET_SIZE_MULT).unmodifyFlat(id); 042 } 043 044 public String getEffectDescription(float level) { 045 //return "" + (int)Math.round(FLEET_SIZE) + "% larger fleets"; 046 return "+" + (int)Math.round(FLEET_SIZE) + "% fleet size"; 047 } 048 049 public String getEffectPerLevelDescription() { 050 return null; 051 } 052 053 public ScopeDescription getScopeDescription() { 054 return ScopeDescription.GOVERNED_OUTPOST; 055 } 056 } 057} 058 059