1package com.fs.starfarer.api.impl.combat;
5import org.lwjgl.util.vector.Vector2f;
7import com.fs.starfarer.api.combat.CombatEngineAPI;
8import com.fs.starfarer.api.combat.CombatEntityAPI;
9import com.fs.starfarer.api.combat.DamageType;
10import com.fs.starfarer.api.combat.DamagingProjectileAPI;
11import com.fs.starfarer.api.combat.OnHitEffectPlugin;
12import com.fs.starfarer.api.combat.ShipAPI;
13import com.fs.starfarer.api.combat.listeners.ApplyDamageResultAPI;
14import com.fs.starfarer.api.impl.campaign.ids.Stats;
22 if (!(target instanceof
ShipAPI))
return;
24 float pierceChance = ((
ShipAPI)target).getHardFluxLevel() - 0.1f;
27 boolean piercedShield = shieldHit && (float) Math.random() < pierceChance;
30 if (!shieldHit || piercedShield) {
34 projectile.
getSource(), point, target, target,
39 "tachyon_lance_emp_impact",
43 new Color(125,125,100,255),
44 new Color(255,255,255,255)
static final String SHIELD_PIERCED_MULT
void onHit(DamagingProjectileAPI projectile, CombatEntityAPI target, Vector2f point, boolean shieldHit, ApplyDamageResultAPI damageResult, CombatEngineAPI engine)
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)
DynamicStatsAPI getDynamic()
MutableShipStatsAPI getMutableStats()
float getValue(String id)