001package com.fs.starfarer.api.impl.combat;
002
003import java.util.List;
004
005import com.fs.starfarer.api.Global;
006import com.fs.starfarer.api.combat.BattleObjectiveAPI;
007import com.fs.starfarer.api.combat.CombatEngineAPI;
008import com.fs.starfarer.api.combat.ShipAPI;
009import com.fs.starfarer.api.impl.campaign.skills.CommRelayScript;
010
011public class CommRelayEffect extends BaseBattleObjectiveEffect {
012
013        public static final float COMM_RELAY_FOG_LIFT_RADIUS = 999f;
014        public static final int COMM_RELAY_COMMAND_POINTS = 3;
015        
016        private CombatEngineAPI engine;
017        //private List<ShipStatusItem> items = new ArrayList<ShipStatusItem>();
018
019        private String id;
020        private BattleObjectiveAPI objective;
021        
022        public void init(CombatEngineAPI engine, BattleObjectiveAPI objective) {
023                super.init(engine, objective);
024                this.engine = engine;
025                this.objective = objective;
026                id = "sensor_array_boost_" + objective.toString();
027                
028//              ShipStatusItem item = new ShipStatusItem("Comm Relay", 
029//                              String.format("+%d%% weapon range",
030//                                      (int) SENSOR_ARRAY_RANGE_BONUS), 
031//                              false);
032//              items.add(item);
033        }
034
035        public void advance(float amount) {
036//              for (ShipAPI ship : engine.getShips()) {
037//                      if (ship.getOwner() == objective.getOwner()) {
038//                      } else {
039//                      }
040//              }
041                
042                //giveCommandPointsForCapturing(COMM_RELAY_COMMAND_POINTS);
043                revealArea(COMM_RELAY_FOG_LIFT_RADIUS);
044        }
045
046
047        public String getLongDescription() {
048                float min = Global.getSettings().getFloat("minFractionOfBattleSizeForSmallerSide");
049                int total = Global.getSettings().getBattleSize();
050                int maxPoints = (int)Math.round(total * (1f - min));
051                return String.format(
052                                   "" + (int) CommRelayScript.RATE_BONUS_PER_COMM_RELAY + "%% faster command point recovery\n\n" +
053                                        "+%d bonus deployment points\n" + 
054                                        "up to a maximum of " + maxPoints + " points",
055                                        getBonusDeploymentPoints()
056                                   );
057        }
058        
059        public List<ShipStatusItem> getStatusItemsFor(ShipAPI ship) {
060//              if (ship.getOwner() == objective.getOwner()) {
061//                      return items;
062//              }
063                return null;
064        }
065}
066
067
068
069
070
071
072