1package com.fs.starfarer.api.impl.combat;
3import com.fs.starfarer.api.Global;
4import com.fs.starfarer.api.combat.FighterLaunchBayAPI;
5import com.fs.starfarer.api.combat.MutableShipStatsAPI;
6import com.fs.starfarer.api.combat.ShipAPI;
7import com.fs.starfarer.api.combat.ShipSystemAPI;
8import com.fs.starfarer.api.loading.FighterWingSpecAPI;
35 if (effectLevel == 1) {
47 if (bay.getWing() ==
null)
continue;
49 float rate = Math.max(minRate, bay.getCurrRate() - cost);
50 bay.setCurrRate(rate);
52 bay.makeCurrentIntervalFast();
57 int actualAdd = maxTotal - bay.getWing().getWingMembers().size();
61 bay.setFastReplacements(bay.getFastReplacements() + addForWing);
62 bay.setExtraDeployments(actualAdd);
63 bay.setExtraDeploymentLimit(maxTotal);
76 if (
true)
return size;
79 return Math.max(size, 2);
84 if (size <= 3)
return 1;
85 if (size <= 5)
return 2;
95 public StatusData
getStatusData(
int index, State state,
float effectLevel) {
static SettingsAPI getSettings()
boolean isUsable(ShipSystemAPI system, ShipAPI ship)
static String RD_NO_EXTRA_CRAFT
static int getAdditionalFor(FighterWingSpecAPI spec, int bays)
static String RD_FORCE_EXTRA_CRAFT
static float getRateCost(int bays)
static float EXTRA_FIGHTER_DURATION
void unapply(MutableShipStatsAPI stats, String id)
void apply(MutableShipStatsAPI stats, String id, State state, float effectLevel)
static float RATE_COST_1_BAY
StatusData getStatusData(int index, State state, float effectLevel)
float getFloat(String key)
CombatEntityAPI getEntity()
List< FighterLaunchBayAPI > getLaunchBaysCopy()
boolean hasTag(String tag)