Starsector API
Loading...
Searching...
No Matches
SabotOnHitEffect.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 SabotOnHitEffect 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.25f && !shieldHit && target instanceof ShipAPI) {
21
22 float emp = projectile.getEmpAmount();
23 //emp *= 0.5f;
24 float dam = 0;
25
26 engine.spawnEmpArc(projectile.getSource(), point, target, target,
27 DamageType.ENERGY,
28 dam,
29 emp, // emp
30 100000f, // max range
31 "tachyon_lance_emp_impact",
32 20f, // thickness
33// new Color(70,100,155,255),
34// new Color(255,255,255,255)
35 new Color(25,100,155,255),
36 new Color(255,255,255,255)
37// new Color(235,255,215,70),
38// new Color(255,255,255,255)
39 );
40
41 //engine.spawnProjectile(null, null, "plasma", point, 0, new Vector2f(0, 0));
42 }
43 }
44}
void onHit(DamagingProjectileAPI projectile, CombatEntityAPI target, Vector2f point, boolean shieldHit, ApplyDamageResultAPI damageResult, CombatEngineAPI engine)