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