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}