1package com.fs.starfarer.api.combat;
8import org.lwjgl.util.vector.Vector2f;
10import com.fs.starfarer.api.campaign.CombatDamageData;
11import com.fs.starfarer.api.combat.EmpArcEntityAPI.EmpArcParams;
12import com.fs.starfarer.api.combat.WeaponAPI.WeaponType;
13import com.fs.starfarer.api.combat.listeners.CombatListenerManagerAPI;
14import com.fs.starfarer.api.loading.DamagingExplosionSpec;
15import com.fs.starfarer.api.loading.WeaponSlotAPI;
16import com.fs.starfarer.api.loading.WeaponSpecAPI;
17import com.fs.starfarer.api.mission.FleetSide;
91 float damageAmount,
DamageType damageType,
float empAmount,
92 boolean bypassShields,
boolean dealsSoftFlux,
93 Object source,
boolean playSound);
96 float damageAmount,
DamageType damageType,
float empAmount,
97 boolean bypassShields,
boolean dealsSoftFlux,
101 float damageAmount,
DamageType damageType,
float empAmount,
102 boolean bypassShields,
boolean dealsSoftFlux,
103 Object source,
boolean playSound);
111 void addHitParticle(Vector2f loc, Vector2f vel,
float size,
float brightness,
float duration, Color color);
117 public void addSmoothParticle(Vector2f loc, Vector2f vel,
float size,
float brightness,
float duration, Color color);
124 public void addSmokeParticle(Vector2f loc, Vector2f vel,
float size,
float opacity,
float duration, Color color);
130 void spawnExplosion(Vector2f loc, Vector2f vel, Color color,
float size,
float maxDuration);
158 Vector2f point,
float angle, Vector2f shipVelocity);
184 String impactSoundId,
186 Color fringe, Color core);
196 String impactSoundId,
198 Color fringe, Color core, EmpArcParams params);
206 float damAmount,
float empDamAmount,
float maxRange,
207 String impactSoundId,
float thickness, Color fringe, Color core);
211 float damAmount,
float empDamAmount,
float maxRange,
212 String impactSoundId,
float thickness, Color fringe, Color core, EmpArcParams params);
295 String weaponId, String projSpecId, Vector2f point,
float angle,
296 Vector2f shipVelocity);
386 void addHitParticle(Vector2f loc, Vector2f vel,
float size,
float brightness,
float durationIn,
float totalDuration, Color color);
396 void addHitParticle(Vector2f loc, Vector2f vel,
float size,
float brightness, Color color);
399 float thickness, Color fringe, Color core);
401 float thickness, Color fringe, Color core, EmpArcParams params);
404 float brightness,
float rampUpFraction,
float totalDuration,
407 void addNegativeParticle(Vector2f loc, Vector2f vel,
float size,
float rampUpFraction,
float totalDuration, Color color);
410 float endSizeMult,
float rampUpFraction,
411 float fullBrightnessFraction,
float totalDuration, Color color);
414 float endSizeMult,
float rampUpFraction,
415 float fullBrightnessFraction,
float totalDuration, Color color);
418 float endSizeMult,
float rampUpFraction,
419 float fullBrightnessFraction,
float totalDuration, Color color);
424 float endSizeMult,
float rampUpFraction,
425 float fullBrightnessFraction,
float totalDuration, Color color,
426 boolean expandAsSqrt);
429 float endSizeMult,
float rampUpFraction,
430 float fullBrightnessFraction,
float totalDuration, Color color,
431 boolean expandAsSqrt);
434 float size,
float endSizeMult,
float rampUpFraction,
435 float fullBrightnessFraction,
float totalDuration, Color color);
448 float flashFrequency,
float flashDuration,
float durInPlace,
float durFloatingUp,
float durFadingOut,
float baseAlpha);
463 float fullBrightnessFraction,
float totalDuration, Color color);
466 float fullBrightnessFraction,
float totalDuration, Color color,
boolean expandAsSqrt);
485 void spawnDebrisSmall(Vector2f loc, Vector2f vel,
int num,
float facing,
float spread,
float minVel,
float velRange,
487 void spawnDebrisMedium(Vector2f loc, Vector2f vel,
int num,
float facing,
float spread,
float minVel,
488 float velRange,
float maxRotation);
489 void spawnDebrisLarge(Vector2f loc, Vector2f vel,
int num,
float facing,
float spread,
float minVel,
float velRange,
void applyImpact(Vector2f vel, float impact, CombatEntityAPI target, Vector2f point)
void addNebulaParticle(Vector2f loc, Vector2f vel, float size, float endSizeMult, float rampUpFraction, float fullBrightnessFraction, float totalDuration, Color color, boolean expandAsSqrt)
void addHitParticle(Vector2f loc, Vector2f vel, float size, float brightness, float duration, Color color)
CombatEntityAPI spawnAsteroid(String spriteName, float x, float y, float dx, float dy, boolean fromRing)
ShipAPI createFXDrone(ShipVariantAPI variant)
void removeObject(Object object)
EmpArcEntityAPI spawnEmpArcVisual(Vector2f from, CombatEntityAPI fromAnchor, Vector2f to, CombatEntityAPI toAnchor, float thickness, Color fringe, Color core)
CombatUIAPI getCombatUI()
boolean isUIShowingDialog()
CombatNebulaAPI getNebula()
ShipAPI getShipPlayerLastTransferredCommandTo()
boolean isShipAlive(ShipAPI ship)
boolean isAwareOf(int owner, CombatEntityAPI other)
void addHitParticle(Vector2f loc, Vector2f vel, float size, float brightness, Color color)
boolean isInPlay(Object object)
ViewportAPI getViewport()
CombatEntityAPI addLayeredRenderingPlugin(CombatLayeredRenderingPlugin plugin)
CollisionGridAPI getAiGridMissiles()
CollisionGridAPI getShipGrid()
boolean isEnemyInFullRetreat()
void addFloatingDamageText(Vector2f loc, float damage, float spread, Color color, CombatEntityAPI to, CombatEntityAPI source)
void maintainStatusForPlayerShip(Object key, String spriteName, String title, String data, boolean isDebuff)
CombatFleetManagerAPI getFleetManager(FleetSide side)
void spawnDebrisLarge(Vector2f loc, Vector2f vel, int num, float facing, float spread, float minVel, float velRange, float maxRotation)
void addHitParticle(Vector2f loc, Vector2f vel, float size, float brightness, float durationIn, float totalDuration, Color color)
void setSideDeploymentOverrideSide(FleetSide sideDeploymentOverrideSide)
void applyDamage(CombatEntityAPI entity, Vector2f point, float damageAmount, DamageType damageType, float empAmount, boolean bypassShields, boolean dealsSoftFlux, Object source, boolean playSound)
boolean isFleetsInContact()
Vector2f getAimPointWithLeadForAutofire(CombatEntityAPI from, float accuracyFactor, CombatEntityAPI to, float projSpeed)
void addSmoothParticle(Vector2f loc, Vector2f vel, float size, float brightness, float duration, Color color)
CollisionGridAPI getAiGridAsteroids()
void spawnExplosion(Vector2f loc, Vector2f vel, Color color, float size, float maxDuration)
boolean playerHasNonAllyReserves()
void setCustomExit(String buttonTitle, String confirmString)
BattleCreationContext getContext()
List< BattleObjectiveAPI > getObjectives()
void addNebulaSmoothParticle(Vector2f loc, Vector2f vel, float size, float endSizeMult, float rampUpFraction, float fullBrightnessFraction, float totalDuration, Color color)
boolean isInCampaignSim()
void removeEntity(CombatEntityAPI entity)
Map< String, Object > getCustomData()
void spawnDebrisSmall(Vector2f loc, Vector2f vel, int num, float facing, float spread, float minVel, float velRange, float maxRotation)
DamagingProjectileAPI spawnDamagingExplosion(DamagingExplosionSpec spec, ShipAPI source, Vector2f location)
void addFloatingDamageText(Vector2f loc, float damage, Color color, CombatEntityAPI attachedTo, CombatEntityAPI damageSource)
boolean isInEngine(ShipAPI ship)
boolean hasPluginOfClass(Class c)
void addNebulaSmoothParticle(Vector2f loc, Vector2f vel, float size, float endSizeMult, float rampUpFraction, float fullBrightnessFraction, float totalDuration, Color color, boolean expandAsSqrt)
CombatEntityAPI spawnProjectile(ShipAPI ship, WeaponAPI weapon, String weaponId, Vector2f point, float angle, Vector2f shipVelocity)
CombatFleetManagerAPI getFleetManager(int owner)
void spawnMuzzleFlashOrSmoke(ShipAPI ship, Vector2f point, WeaponSpecAPI spec, float targetAngle)
boolean isInFastTimeAdvance()
EmpArcEntityAPI spawnEmpArcPierceShields(ShipAPI damageSource, Vector2f point, CombatEntityAPI pointAnchor, CombatEntityAPI empTargetEntity, DamageType damageType, float damAmount, float empDamAmount, float maxRange, String impactSoundId, float thickness, Color fringe, Color core)
void headInDirectionWithoutTurning(MissileAPI missile, float desiredHeading, float desiredSpeed)
List< CombatEntityAPI > getAsteroids()
void removePlugin(EveryFrameCombatPlugin plugin)
FogOfWarAPI getFogOfWar(int owner)
boolean playerHasAllyReserves()
List< DamagingProjectileAPI > getProjectiles()
void addSmokeParticle(Vector2f loc, Vector2f vel, float size, float opacity, float duration, Color color)
ShipAPI getShipPlayerIsTransferringCommandFrom()
EmpArcEntityAPI spawnEmpArcVisual(Vector2f from, CombatEntityAPI fromAnchor, Vector2f to, CombatEntityAPI toAnchor, float thickness, Color fringe, Color core, EmpArcParams params)
String getBackgroundSpriteName()
void addFloatingTextAlways(Vector2f loc, String text, float size, Color color, CombatEntityAPI attachedTo, float flashFrequency, float flashDuration, float durInPlace, float durFloatingUp, float durFadingOut, float baseAlpha)
DamagingProjectileAPI spawnDamagingExplosion(DamagingExplosionSpec spec, ShipAPI source, Vector2f location, boolean canDamageSource)
List< MissileAPI > getMissiles()
String getCustomExitButtonConfirmString()
CombatEntityAPI spawnAsteroid(int size, float x, float y, float dx, float dy)
boolean isEntityInPlay(CombatEntityAPI entity)
boolean isBackgroundGlowColorNonAdditive()
Color getBackgroundColor()
boolean isMissileAlive(MissileAPI missile)
MutableStat getTimeMult()
void setPlayerShipExternal(ShipAPI ship)
float getCombatNotOverFor()
void addSwirlyNebulaParticle(Vector2f loc, Vector2f vel, float size, float endSizeMult, float rampUpFraction, float fullBrightnessFraction, float totalDuration, Color color, boolean expandAsSqrt)
void addNegativeParticle(Vector2f loc, Vector2f vel, float size, float rampUpFraction, float totalDuration, Color color)
void setBackgroundGlowColor(Color backgroundGlowColor)
void spawnMuzzleFlashOrSmoke(ShipAPI ship, WeaponSlotAPI slot, WeaponSpecAPI spec, int barrel, float targetAngle)
List< ShipAPI > getAllShips()
CollisionGridAPI getAsteroidGrid()
float getTotalElapsedTime(boolean includePaused)
void setMaxFleetPoints(FleetSide side, int fleetPoints)
CollisionGridAPI getAllObjectGrid()
void addPlugin(EveryFrameCombatPlugin plugin)
void addNegativeNebulaParticle(Vector2f loc, Vector2f vel, float size, float endSizeMult, float rampUpFraction, float fullBrightnessFraction, float totalDuration, Color color)
void setPaused(boolean paused)
CollisionGridAPI getMissileGrid()
CombatEntityAPI spawnProjectile(ShipAPI ship, WeaponAPI weapon, String weaponId, String projSpecId, Vector2f point, float angle, Vector2f shipVelocity)
void applyDamageModifiersToSpawnedProjectileWithNullWeapon(ShipAPI source, WeaponType type, boolean isBeam, DamageAPI damage)
boolean isUIAutopilotOn()
CollisionGridAPI getAiGridShips()
void addNebulaSmokeParticle(Vector2f loc, Vector2f vel, float size, float endSizeMult, float rampUpFraction, float fullBrightnessFraction, float totalDuration, Color color)
CombatListenerManagerAPI getListenerManager()
void addEntity(CombatEntityAPI entity)
void setBackgroundColor(Color backgroundColor)
void setShipPlayerLastTransferredCommandTo(ShipAPI ship)
MissileAIPlugin createProximityFuseAI(MissileAPI missile)
void setRenderStarfield(boolean renderStarfield)
float getElapsedInLastFrame()
WeaponAPI createFakeWeapon(ShipAPI ship, String weaponId)
boolean isRenderStarfield()
void endCombat(float delay, FleetSide winner)
String getCustomExitButtonTitle()
List< ShipAPI > getShips()
List< BeamAPI > getBeams()
EmpArcEntityAPI spawnEmpArc(ShipAPI damageSource, Vector2f point, CombatEntityAPI pointAnchor, CombatEntityAPI empTargetEntity, DamageType damageType, float damAmount, float empDamAmount, float maxRange, String impactSoundId, float thickness, Color fringe, Color core)
void setBackgroundGlowColorNonAdditive(boolean backgroundGlowColorNonAdditive)
void endCombat(float delay)
EmpArcEntityAPI spawnEmpArc(ShipAPI damageSource, Vector2f point, CombatEntityAPI pointAnchor, CombatEntityAPI empTargetEntity, DamageType damageType, float damAmount, float empDamAmount, float maxRange, String impactSoundId, float thickness, Color fringe, Color core, EmpArcParams params)
Color getBackgroundGlowColor()
void setCombatNotOverFor(float seconds)
void headInDirectionWithoutTurning(ShipAPI ship, float desiredHeading, float desiredSpeed)
boolean hasAttachedFloaty(CombatEntityAPI entity)
void applyDamage(Object damageModifierParam, CombatEntityAPI entity, Vector2f point, float damageAmount, DamageType damageType, float empAmount, boolean bypassShields, boolean dealsSoftFlux, Object source, boolean playSound)
CombatDamageData getDamageData()
void addNebulaParticle(Vector2f loc, Vector2f vel, float size, float endSizeMult, float rampUpFraction, float fullBrightnessFraction, float totalDuration, Color color)
void playShipExplosionSound(ShipAPI ship)
void setDoNotEndCombat(boolean doNotEndCombat)
void setCombatNotOverForAtLeast(float seconds)
ShipAPI getShipPlayerIsTransferringCommandTo()
void addFloatingText(Vector2f loc, String text, float size, Color color, CombatEntityAPI attachedTo, float flashFrequency, float flashDuration)
void spawnDebrisMedium(Vector2f loc, Vector2f vel, int num, float facing, float spread, float minVel, float velRange, float maxRotation)
void updateStationModuleLocations(ShipAPI station)
void applyDamage(CombatEntityAPI entity, Vector2f point, float damageAmount, DamageType damageType, float empAmount, boolean bypassShields, boolean dealsSoftFlux, Object source)
List< BattleObjectiveAPI > getAllObjectives()
EmpArcEntityAPI spawnEmpArcPierceShields(ShipAPI damageSource, Vector2f point, CombatEntityAPI pointAnchor, CombatEntityAPI empTargetEntity, DamageType damageType, float damAmount, float empDamAmount, float maxRange, String impactSoundId, float thickness, Color fringe, Color core, EmpArcParams params)
float getElapsedInContactWithEnemy()
void addSmoothParticle(Vector2f loc, Vector2f vel, float size, float brightness, float rampUpFraction, float totalDuration, Color color)
void addNegativeSwirlyNebulaParticle(Vector2f loc, Vector2f vel, float size, float endSizeMult, float rampUpFraction, float fullBrightnessFraction, float totalDuration, Color color)