001package com.fs.starfarer.api.impl.combat.threat;
002
003import com.fs.starfarer.api.GameState;
004import com.fs.starfarer.api.Global;
005import com.fs.starfarer.api.combat.ShipAPI;
006import com.fs.starfarer.api.combat.WeaponAPI;
007
008public interface FragmentWeapon {
009        public int getNumFragmentsToFire();
010        
011
012        default public void showNoFragmentSwarmWarning(WeaponAPI w, ShipAPI ship) {
013                boolean playerShip = Global.getCurrentState() == GameState.COMBAT &&
014                                Global.getCombatEngine() != null && Global.getCombatEngine().getPlayerShip() == ship;
015                
016                if (playerShip) {
017                        RoilingSwarmEffect swarm = RoilingSwarmEffect.getSwarmFor(ship);
018                        if (swarm == null && ship.getFullTimeDeployed() > 0.1f) {
019                                Global.getCombatEngine().maintainStatusForPlayerShip(w.getSpec(),
020                                                Global.getSettings().getSpriteName("ui", "icon_tactical_fragment_swarm"),
021                                                w.getDisplayName(), 
022                                                "REQ: FRAGMENT SWARM",
023                                                true);
024                        }
025                }
026        }
027}