1package com.fs.starfarer.api.impl.combat;
5import org.lwjgl.util.vector.Vector2f;
7import com.fs.starfarer.api.Global;
8import com.fs.starfarer.api.combat.CombatEngineAPI;
9import com.fs.starfarer.api.combat.CombatEntityAPI;
10import com.fs.starfarer.api.combat.DamageType;
11import com.fs.starfarer.api.combat.DamagingProjectileAPI;
12import com.fs.starfarer.api.combat.MissileAPI;
13import com.fs.starfarer.api.combat.OnHitEffectPlugin;
14import com.fs.starfarer.api.combat.ShipAPI;
15import com.fs.starfarer.api.combat.listeners.ApplyDamageResultAPI;
16import com.fs.starfarer.api.impl.campaign.ids.Stats;
25 boolean withEMP =
false;
26 if (target instanceof
ShipAPI) {
29 float pierceChance = 1f;
31 boolean piercedShield = shieldHit && (float) Math.random() < pierceChance;
33 if (!shieldHit || piercedShield) {
42 "mote_attractor_impact_emp_arc",
46 new Color(255,255,255,255)
static SoundPlayerAPI getSoundPlayer()
static CombatEngineAPI getCombatEngine()
static final String SHIELD_PIERCED_MULT
static String getImpactSoundId(ShipAPI ship)
static Color getEMPColor(ShipAPI ship)
static float getAntiFighterDamage(ShipAPI ship)
void onHit(DamagingProjectileAPI projectile, CombatEntityAPI target, Vector2f point, boolean shieldHit, ApplyDamageResultAPI damageResult, CombatEngineAPI engine)
SoundAPI playSound(String id, float pitch, float volume, Vector2f loc, Vector2f vel)
void applyDamage(CombatEntityAPI entity, Vector2f point, float damageAmount, DamageType damageType, float empAmount, boolean bypassShields, boolean dealsSoftFlux, Object source, boolean playSound)
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)
DamageType getDamageType()
DynamicStatsAPI getDynamic()
MutableShipStatsAPI getMutableStats()
float getValue(String id)