001package com.fs.starfarer.api.impl.combat;
002
003import java.awt.Color;
004
005import org.lwjgl.util.vector.Vector2f;
006
007import com.fs.starfarer.api.combat.CombatEngineAPI;
008import com.fs.starfarer.api.combat.CombatEntityAPI;
009import com.fs.starfarer.api.combat.DamageType;
010import com.fs.starfarer.api.combat.DamagingProjectileAPI;
011import com.fs.starfarer.api.combat.OnHitEffectPlugin;
012import com.fs.starfarer.api.combat.ShipAPI;
013import com.fs.starfarer.api.combat.listeners.ApplyDamageResultAPI;
014
015public class SabotOnHitEffect implements OnHitEffectPlugin {
016
017
018        public void onHit(DamagingProjectileAPI projectile, CombatEntityAPI target,
019                                          Vector2f point, boolean shieldHit, ApplyDamageResultAPI damageResult, CombatEngineAPI engine) {
020                if ((float) Math.random() < 0.25f && !shieldHit && target instanceof ShipAPI) {
021                        
022                        float emp = projectile.getEmpAmount();
023                        //emp *= 0.5f;
024                        float dam = 0;
025                        
026                        engine.spawnEmpArc(projectile.getSource(), point, target, target,
027                                                           DamageType.ENERGY, 
028                                                           dam,
029                                                           emp, // emp 
030                                                           100000f, // max range 
031                                                           "tachyon_lance_emp_impact",
032                                                           20f, // thickness
033//                                                         new Color(70,100,155,255),
034//                                                         new Color(255,255,255,255)
035                                                           new Color(25,100,155,255),
036                                                           new Color(255,255,255,255)
037//                                                              new Color(235,255,215,70),
038//                                                              new Color(255,255,255,255)
039                                                           );
040                        
041                        //engine.spawnProjectile(null, null, "plasma", point, 0, new Vector2f(0, 0));
042                }
043        }
044}