1package com.fs.starfarer.api.impl.hullmods;
5import org.lwjgl.util.vector.Vector2f;
7import com.fs.starfarer.api.Global;
8import com.fs.starfarer.api.combat.BaseHullMod;
9import com.fs.starfarer.api.combat.MutableShipStatsAPI;
10import com.fs.starfarer.api.combat.ShipAPI;
11import com.fs.starfarer.api.combat.ShipAPI.HullSize;
12import com.fs.starfarer.api.combat.ShipCommand;
13import com.fs.starfarer.api.combat.ShipSystemAPI.SystemState;
14import com.fs.starfarer.api.combat.listeners.AdvanceableListener;
15import com.fs.starfarer.api.combat.listeners.HullDamageAboutToBeTakenListener;
16import com.fs.starfarer.api.impl.campaign.ids.HullMods;
17import com.fs.starfarer.api.impl.campaign.ids.Strings;
18import com.fs.starfarer.api.impl.campaign.skills.NeuralLinkScript;
19import com.fs.starfarer.api.util.FaderUtil;
20import com.fs.starfarer.api.util.Misc;
31 public boolean emergencyDive =
false;
32 public float diveProgress = 0f;
34 public PhaseAnchorScript(
ShipAPI ship) {
38 public boolean notifyAboutToTakeHullDamage(Object param,
ShipAPI ship, Vector2f point,
float damageAmount) {
42 String key =
"phaseAnchor_canDive";
52 if (damageAmount >= hull && canDive) {
76 public void advance(
float amount) {
77 String
id =
"phase_anchor_modifier";
83 if (diveProgress == 0f) {
102 if (diveProgress >= 1f) {
112 ship.
setJitter(
this, c, b, 20, r * (1f - b));
163 if (index == 0)
return "zero";
191 return "Incompatible with Adaptive Phase Coils";
194 return "Can only be installed on phase ships";
196 return super.getUnapplicableReason(ship);
static SoundPlayerAPI getSoundPlayer()
static CombatEngineAPI getCombatEngine()
void unmodifyMult(String source)
void modifyMult(String source, float value)
void modifyMult(String source, float value)
static final String ADAPTIVE_COILS
static float getFloatySize(ShipAPI ship)
static float CR_LOSS_MULT_FOR_EMERGENCY_DIVE
void applyEffectsBeforeShipCreation(HullSize hullSize, MutableShipStatsAPI stats, String id)
void applyEffectsAfterShipCreation(ShipAPI ship, String id)
static float PHASE_DISSIPATION_MULT
String getDescriptionParam(int index, HullSize hullSize)
static float ACTIVATION_COST_MULT
String getUnapplicableReason(ShipAPI ship)
boolean isApplicableToShip(ShipAPI ship)
void advance(float amount)
static Color setAlpha(Color color, int alpha)
static Color interpolateColor(Color from, Color to, float progress)
SoundAPI playSound(String id, float pitch, float volume, Vector2f loc, Vector2f vel)
Map< String, Object > getCustomData()
void addFloatingTextAlways(Vector2f loc, String text, float size, Color color, CombatEntityAPI attachedTo, float flashFrequency, float flashDuration, float durInPlace, float durFloatingUp, float durFadingOut, float baseAlpha)
float getCollisionRadius()
MutableStat getEnergyRoFMult()
MutableStat getHullDamageTakenMult()
MutableStat getBallisticRoFMult()
MutableStat getTimeMult()
MutableStat getBallisticAmmoRegenMult()
MutableStat getMissileRoFMult()
MutableStat getEnergyAmmoRegenMult()
MutableStat getMissileAmmoRegenMult()
MutableStat getFluxDissipation()
StatBonus getPhaseCloakActivationCostBonus()
ShipSystemAPI getPhaseCloak()
void setExtraAlphaMult2(float transparency)
ShipHullSpecAPI getHullSpec()
MutableShipStatsAPI getMutableStats()
void addListener(Object listener)
void setHitpoints(float value)
FleetMemberAPI getFleetMember()
FluxTrackerAPI getFluxTracker()
float getExtraAlphaMult()
ShipVariantAPI getVariant()
void setRetreating(boolean retreating, boolean direct)
void blockCommandForOneFrame(ShipCommand command)
void setJitter(Object source, Color color, float intensity, int copies, float range)
void forceState(SystemState state, float progress)
ShipSystemSpecAPI getSpecAPI()
boolean hasHullMod(String id)
RepairTrackerAPI getRepairTracker()
void applyCREvent(float crChange, String description)