13public class BDeck extends BaseHullMod {
27 super.advanceInCombat(ship, amount);
32 ship.addListener(
new BDeckListener(ship));
37 public static class BDeckListener
implements AdvanceableListener {
38 protected ShipAPI ship;
39 protected boolean fired =
false;
40 public BDeckListener(ShipAPI ship) {
44 public void advance(
float amount) {
45 float cr = ship.getCurrentCR();
48 if (!fired && cr >= crCost) {
52 for (FighterLaunchBayAPI bay : ship.getLaunchBaysCopy()) {
53 if (bay.getWing() ==
null)
continue;
56 bay.setCurrRate(rate);
58 bay.makeCurrentIntervalFast();
59 FighterWingSpecAPI spec = bay.getWing().getSpec();
61 int maxTotal = spec.getNumFighters();
62 int actualAdd = maxTotal - bay.getWing().getWingMembers().size();
64 bay.setFastReplacements(bay.getFastReplacements() + actualAdd);
71 ship.setCurrentCR(ship.getCurrentCR() - crCost);
77 if (Global.getCurrentState() == GameState.COMBAT &&
78 Global.getCombatEngine() !=
null && Global.getCombatEngine().getPlayerShip() == ship) {
80 String status =
"ON STANDBY";
81 boolean penalty =
false;
82 if (fired) status =
"OPERATIONAL";
83 if (!fired && cr < crCost) {
87 Global.getCombatEngine().maintainStatusForPlayerShip(
STATUS_KEY,
88 Global.getSettings().getSpriteName(
"ui",
"icon_tactical_bdeck"),
89 "B-DECK", status, penalty);