001package com.fs.starfarer.api.loading; 002 003import java.util.Set; 004 005import com.fs.starfarer.api.campaign.ai.AbilityAIPlugin; 006import com.fs.starfarer.api.characters.AbilityPlugin; 007 008public interface AbilitySpecAPI extends WithSourceMod { 009 010 String getId(); 011 boolean isUnlockedAtStart(); 012 boolean isAIDefault(); 013 014 int getSortOrder(); 015 016 String getWorldOn(); 017 String getWorldOff(); 018 String getWorldLoop(); 019 String getUIOn(); 020 String getUIOff(); 021 String getUILoop(); 022 float getMusicSuppression(); 023 Set<String> getTags(); 024 void addTag(String tag); 025 boolean hasTag(String tag); 026 String getAIPluginClass(); 027 float getActivationDays(); 028 float getActivationCooldown(); 029 float getDurationDays(); 030 float getDeactivationDays(); 031 float getDeactivationCooldown(); 032 String getIconName(); 033 String getName(); 034 035 AbilityAIPlugin getNewAIPluginInstance(AbilityPlugin ability); 036 037 038 boolean hasOppositeTag(String tag); 039 String getOppositeTag(String tag); 040 boolean isPositiveTag(String tag); 041 boolean isNegativeTag(String tag); 042}