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 IonCannonOnHitEffect 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.75f && !shieldHit && target instanceof ShipAPI) {
021                        
022                        float emp = projectile.getEmpAmount();
023                        float dam = projectile.getDamageAmount();
024                        
025                        engine.spawnEmpArc(projectile.getSource(), point, target, target,
026                                                           DamageType.ENERGY, 
027                                                           dam,
028                                                           emp, // emp 
029                                                           100000f, // max range 
030                                                           "tachyon_lance_emp_impact",
031                                                           20f, // thickness
032                                                           new Color(25,100,155,255),
033                                                           new Color(255,255,255,255)
034                                                           );
035                        
036                        //engine.spawnProjectile(null, null, "plasma", point, 0, new Vector2f(0, 0));
037                }
038        }
039}