Starsector API
Loading...
Searching...
No Matches
PilumOnHitEffect.java
Go to the documentation of this file.
1package com.fs.starfarer.api.impl.combat;
2
3import java.awt.Color;
4
5import org.lwjgl.util.vector.Vector2f;
6
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;
15
16public class PilumOnHitEffect implements OnHitEffectPlugin {
17
18
19 public void onHit(DamagingProjectileAPI projectile, CombatEntityAPI target,
20 Vector2f point, boolean shieldHit, ApplyDamageResultAPI damageResult, CombatEngineAPI engine) {
21
22 if (!(target instanceof ShipAPI)) return;
23 ShipAPI ship = (ShipAPI) target;
24 float pierceChance = ((ShipAPI)target).getHardFluxLevel() - 0.1f;
26
27 boolean piercedShield = shieldHit && (float) Math.random() < pierceChance;
28 //piercedShield = true;
29
30 if (!shieldHit || piercedShield) {
31 float emp = projectile.getEmpAmount();
32 float dam = 0;
34 projectile.getSource(), point, target, target,
36 dam, // damage
37 emp, // emp
38 100000f, // max range
39 "tachyon_lance_emp_impact",
40 20f, // thickness
41 //new Color(25,100,155,255),
42 //new Color(255,255,255,255)
43 new Color(125,125,100,255),
44 new Color(255,255,255,255)
45 );
46 }
47 }
48}
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)
MutableShipStatsAPI getMutableStats()