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}