001package com.fs.starfarer.api.plugins; 002 003import com.fs.starfarer.api.combat.MutableShipStatsAPI; 004import com.fs.starfarer.api.combat.ShipAPI; 005 006public interface ShipSystemStatsScript { 007 public static enum State { 008 IN, 009 ACTIVE, 010 OUT, 011 COOLDOWN, 012 IDLE; 013 } 014 015 public static class StatusData { 016 public String text; 017 public boolean isDebuff; 018 public StatusData(String text, boolean isDebuff) { 019 this.text = text; 020 this.isDebuff = isDebuff; 021 } 022 } 023 024 void apply(MutableShipStatsAPI stats, String id, State state, float effectLevel); 025 void unapply(MutableShipStatsAPI stats, String id); 026 027 StatusData getStatusData(int index, State state, float effectLevel); 028 029 float getActiveOverride(ShipAPI ship); 030 float getInOverride(ShipAPI ship); 031 float getOutOverride(ShipAPI ship); 032 033 int getUsesOverride(ShipAPI ship); 034 float getRegenOverride(ShipAPI ship); 035 036 String getDisplayNameOverride(State state, float effectLevel); 037}