Starsector API
Loading...
Searching...
No Matches
IonCannonOnHitEffect.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;
14
15public class IonCannonOnHitEffect implements OnHitEffectPlugin {
16
17
18 public void onHit(DamagingProjectileAPI projectile, CombatEntityAPI target,
19 Vector2f point, boolean shieldHit, ApplyDamageResultAPI damageResult, CombatEngineAPI engine) {
20 if ((float) Math.random() > 0.75f && !shieldHit && target instanceof ShipAPI) {
21
22 float emp = projectile.getEmpAmount();
23 float dam = projectile.getDamageAmount();
24
25 engine.spawnEmpArc(projectile.getSource(), point, target, target,
26 DamageType.ENERGY,
27 dam,
28 emp, // emp
29 100000f, // max range
30 "tachyon_lance_emp_impact",
31 20f, // thickness
32 new Color(25,100,155,255),
33 new Color(255,255,255,255)
34 );
35
36 //engine.spawnProjectile(null, null, "plasma", point, 0, new Vector2f(0, 0));
37 }
38 }
39}
void onHit(DamagingProjectileAPI projectile, CombatEntityAPI target, Vector2f point, boolean shieldHit, ApplyDamageResultAPI damageResult, CombatEngineAPI engine)