001package com.fs.starfarer.api.characters; 002 003import java.util.List; 004import java.util.Set; 005 006import java.awt.Color; 007 008import com.fs.starfarer.api.characters.LevelBasedEffect.ScopeDescription; 009import com.fs.starfarer.api.loading.WithSourceMod; 010 011public interface SkillSpecAPI extends WithSourceMod { 012 013 public interface SkillEffectSpecAPI { 014 String getGoverningSkill(); 015 SkillEffectType getType(); 016 ShipSkillEffect getAsShipEffect(); 017 FleetTotalSource getAsFleetTotalSource(); 018 AfterShipCreationSkillEffect getAsAfterShipCreationEffect(); 019 MarketSkillEffect getAsMarketEffect(); 020 CharacterStatsSkillEffect getAsStatsEffect(); 021 FleetStatsSkillEffect getAsFleetEffect(); 022 LevelBasedEffect getAsLevelBasedEffect(); 023 DescriptionSkillEffect getAsDescriptionEffect(); 024 String getEffectClass(); 025 //List<HullModUnlock> getHullModUnlocks(); 026 List<String> getAbilityUnlocks(); 027 List<String> getUnlockedHullMods(float level); 028 boolean isLevelBased(); 029 void setLevelBased(boolean levelBased); 030 float getRequiredSkillLevel(); 031 void setRequiredSkillLevel(float requiredSkillLevel); 032 void setGoverningSkill(String governingSkill); 033 String getName(); 034 void setName(String name); 035 List<String> getHullmods(); 036 } 037 038 boolean isAptitudeEffect(); 039 String getId(); 040 String getDescription(); 041 void setDescription(String description); 042 String getName(); 043 void setName(String name); 044 String getGoverningAptitudeId(); 045 String getSpriteName(); 046 void setSpriteName(String spriteName); 047 float getOrder(); 048 void setOrder(float order); 049 boolean isCombatOfficerSkill(); 050 void setCombatOfficerSkill(boolean combatOfficerSkill); 051 052 Set<String> getTags(); 053 void addTag(String tag); 054 boolean hasTag(String tag); 055 boolean isAdminSkill(); 056 boolean isAdmiralSkill(); 057 058 String getAuthor(); 059 void setAuthor(String author); 060 int getTier(); 061 void setTier(int tier); 062 063 boolean isElite(); 064 void setElite(boolean elite); 065 boolean isPermanent(); 066 void setPermanent(boolean permanent); 067 ScopeDescription getScope(); 068 void setScope(ScopeDescription scope); 069 ScopeDescription getScope2(); 070 void setScope2(ScopeDescription scope2); 071 String getScopeStr(); 072 void setScopeStr(String scopeStr); 073 String getScopeStr2(); 074 void setScopeStr2(String scopeStr2); 075 Color getGoverningAptitudeColor(); 076 String getGoverningAptitudeName(); 077 int getReqPoints(); 078 void setReqPoints(int reqPoints); 079 int getReqPointsPer(); 080 void setReqPointsPer(int reqPointsPer); 081 Set<String> getAllHullmodUnlocks(); 082 Set<String> getAllAbilityUnlocks(); 083 int getGoverningAptitudeOrder(); 084 List<SkillEffectSpecAPI> getEffectsAPI(); 085 086 087}