1package com.fs.starfarer.api.impl.hullmods;
5import com.fs.starfarer.api.GameState;
6import com.fs.starfarer.api.Global;
7import com.fs.starfarer.api.combat.BaseHullMod;
8import com.fs.starfarer.api.combat.MutableShipStatsAPI;
9import com.fs.starfarer.api.combat.ShipAPI;
10import com.fs.starfarer.api.combat.ShipAPI.HullSize;
11import com.fs.starfarer.api.combat.ShipHullSpecAPI.ShipTypeHints;
12import com.fs.starfarer.api.combat.ShipSystemAPI;
13import com.fs.starfarer.api.impl.campaign.ids.Stats;
14import com.fs.starfarer.api.impl.campaign.ids.Strings;
15import com.fs.starfarer.api.impl.campaign.skills.NeuralLinkScript;
16import com.fs.starfarer.api.impl.campaign.skills.SupportDoctrine;
17import com.fs.starfarer.api.ui.Alignment;
18import com.fs.starfarer.api.ui.TooltipMakerAPI;
19import com.fs.starfarer.api.util.Misc;
41 if (timeout ==
null) timeout = 0f;
43 if (timeout < 0) timeout = 0f;
50 if (system !=
null && timeout <= 0) {
51 boolean didSomething =
false;
53 float maxTimeout = 0f;
84 boolean sMod =
isSMod(stats);
104 if (index == 0)
return "benefit from your combat skills";
108 if (index == 0)
return "benefit from your combat skills";
122 tooltip.
addPara(
"After the transfer is complete, the target ship's system cooldown (if any) will be reset, "
123 +
"and if the ship system uses charges, it will gain an additonal charge. This effect operates on "
124 +
"a cooldown equal to %s the cooldown/charge regeneration time saved by it.", opad, h,
136 if (isForModSpec || ship ==
null)
return;
140 tooltip.
addPara(
"Use the \"" + desc +
"\" control [" + control +
"] to switch between ships.", opad,
158 return "Can not be installed on automated ships, install Neural Integrator instead";
161 return "Can not be installed on this ship";
static SettingsAPI getSettings()
static CombatEngineAPI getCombatEngine()
static GameState getCurrentState()
static SectorAPI getSector()
boolean isSMod(MutableShipStatsAPI stats)
void modifyFlat(String source, float value)
float computeEffective(float baseValue)
static final String INSTANT_NEURAL_TRANSFER_FROM
static final String DEPLOYMENT_POINTS_MOD
static final String HAS_NEURAL_LINK
static final String TRANSFER_COMPLETE_KEY
static String TRANSFER_CONTROL
static float INSTANT_TRANSFER_DP
static String SUPPORT_DOCTRINE_DP_REDUCTION_ID
static float DP_INCREASE_PERCENT
static final String SYSTEM_RESET_TIMEOUT_KEY
void addPostDescriptionSection(TooltipMakerAPI tooltip, HullSize hullSize, ShipAPI ship, float width, boolean isForModSpec)
void applyEffectsBeforeShipCreation(HullSize hullSize, MutableShipStatsAPI stats, String id)
static float SYSTEM_RESET_TIMEOUT_MULT
boolean isApplicableToShip(ShipAPI ship)
String getDescriptionParam(int index, HullSize hullSize)
void advanceInCombat(ShipAPI ship, float amount)
String getUnapplicableReason(ShipAPI ship)
static Color getNegativeHighlightColor()
static boolean isAutomated(MutableShipStatsAPI stats)
static Color getGrayColor()
static Color getHighlightColor()
String getControlDescriptionForEnumName(String name)
String getControlStringForEnumName(String name)
MutableCharacterStatsAPI getPlayerStats()
DynamicStatsAPI getDynamic()
void setCustomData(String key, Object data)
void removeCustomData(String key)
Map< String, Object > getCustomData()
DynamicStatsAPI getDynamic()
ShipHullSpecAPI getHullSpec()
ShipSystemAPI getSystem()
EnumSet< ShipTypeHints > getHints()
void setCooldownRemaining(float remaining)
float getAmmoReloadProgress()
float getCooldownRemaining()
StatBonus getMod(String id)