1package com.fs.starfarer.api.impl.hullmods;
3import com.fs.starfarer.api.GameState;
4import com.fs.starfarer.api.Global;
5import com.fs.starfarer.api.combat.BaseHullMod;
6import com.fs.starfarer.api.combat.FighterLaunchBayAPI;
7import com.fs.starfarer.api.combat.MutableShipStatsAPI;
8import com.fs.starfarer.api.combat.ShipAPI;
9import com.fs.starfarer.api.combat.ShipAPI.HullSize;
10import com.fs.starfarer.api.combat.listeners.AdvanceableListener;
11import com.fs.starfarer.api.loading.FighterWingSpecAPI;
27 super.advanceInCombat(ship, amount);
39 protected boolean fired =
false;
40 public BDeckListener(
ShipAPI ship) {
44 public void advance(
float amount) {
48 if (!fired && cr >= crCost) {
53 if (bay.getWing() ==
null)
continue;
56 bay.setCurrRate(rate);
58 bay.makeCurrentIntervalFast();
61 int maxTotal =
spec.getNumFighters();
62 int actualAdd = maxTotal - bay.getWing().getWingMembers().size();
64 bay.setFastReplacements(bay.getFastReplacements() + actualAdd);
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);
void applyEffectsBeforeShipCreation(HullSize hullSize, MutableShipStatsAPI stats, String id)
void advanceInCombat(ShipAPI ship, float amount)
static float REPLACEMENT_RATE_RESET
static float REPLACEMENT_RATE_THRESHOLD
static float CR_COST_MULT
void applyEffectsAfterShipCreation(ShipAPI ship, String id)
String getDescriptionParam(int index, HullSize hullSize)
void addListener(Object listener)
void setCurrentCR(float cr)
List< FighterLaunchBayAPI > getLaunchBaysCopy()
float getSharedFighterReplacementRate()