001package com.fs.starfarer.api.campaign; 002 003import java.util.LinkedHashSet; 004import java.util.List; 005import java.util.Map; 006import java.util.Set; 007 008import java.awt.Color; 009 010import org.json.JSONObject; 011 012import com.fs.starfarer.api.characters.FullName.Gender; 013import com.fs.starfarer.api.util.WeightedRandomPicker; 014 015public interface FactionSpecAPI { 016 017 LinkedHashSet<String> getOverriddenHulls(); 018 Map<String, Float> getHullFrequency(); 019 void setHullFrequency(Map<String, Float> hullFrequency); 020 Map<String, Float> getWeaponSellFrequency(); 021 Map<String, Float> getFighterSellFrequency(); 022 Map<String, Float> getHullmodSellFrequency(); 023 Map<String, Float> getShipSellFrequency(); 024 Map<String, Float> getTagFrequency(); 025 void setTagFrequency(Map<String, Float> tagFrequency); 026 String getDisplayNameLong(); 027 void setDisplayNameLong(String displayNameLong); 028 Map<String, String> getMusicMap(); 029 String getDisplayNameLongWithArticle(); 030 void setDisplayNameLongWithArticle(String displayNameLongWithArticle); 031 List<String> getFlags(); 032 List<String> getCrests(); 033 String getPersonNamePrefixAOrAn(); 034 void setPersonNamePrefixAOrAn(String personNamePrefixAOrAn); 035 String getPersonNamePrefix(); 036 void setPersonNamePrefix(String personNamePrefix); 037 String getEntityNamePrefix(); 038 void setEntityNamePrefix(String entityNamePrefix); 039 String getDisplayNameIsOrAre(); 040 void setDisplayNameIsOrAre(String displayNameIsOrAre); 041 String getBarSound(); 042 void setBarSound(String barSound); 043 boolean isShowInIntelTab(); 044 void setShowInIntelTab(boolean showInIntelTab); 045 String getId(); 046 void setId(String id); 047 Color getBaseUIColor(); 048 Color getBrightUIColor(); 049 void setBrightUIColor(Color brightUIColor); 050 void setBaseUIColor(Color baseUIColor); 051 Color getSecondaryUIColor(); 052 void setSecondaryUIColor(Color secondaryUIColor); 053 int getSecondarySegments(); 054 void setSecondarySegments(int secondarySegments); 055 Color getDarkUIColor(); 056 void setDarkUIColor(Color darkUIColor); 057 Color getGridUIColor(); 058 void setGridUIColor(Color gridUIColor); 059 String getDisplayName(); 060 void setDisplayName(String displayName); 061 String getLogo(); 062 String getCrest(); 063 void setCrest(String crest); 064 void setLogo(String logo); 065 WeightedRandomPicker<String> getNameCategories(); 066 WeightedRandomPicker<String> getMalePortraits(); 067 WeightedRandomPicker<String> getFemalePortraits(); 068 List<String> getAllPortraits(Gender gender); 069 String getShipNamePrefix(); 070 void setShipNamePrefix(String shipNamePrefix); 071 String pickPersonality(); 072 WeightedRandomPicker<String> getCaptainPersonalities(); 073 void addCaptainPersonality(String id, float weight); 074 Color getColor(); 075 void setColor(Color color); 076 WeightedRandomPicker<String> getShipNameSources(); 077 String getDisplayNameWithArticle(); 078 void setDisplayNameWithArticle(String displayNameWithArticle); 079 Set<String> getIllegalCommodities(); 080 float getTariffFraction(); 081 void setTariffFraction(float tariffFraction); 082 JSONObject getCustom(); 083 void setCustom(JSONObject custom); 084 Set<String> getShipsWhenImporting(); 085 Set<String> getKnownShips(); 086 Set<String> getKnownWeapons(); 087 Set<String> getKnownFighters(); 088 Set<String> getKnownIndustries(); 089 Set<String> getKnownHullMods(); 090 Set<String> getPriorityShips(); 091 Set<String> getPriorityWeapons(); 092 Set<String> getPriorityFighters(); 093 Map<String, Float> getVariantOverrides(); 094 FactionDoctrineAPI getFactionDoctrine(); 095 WeightedRandomPicker<String> getVoicePickerLow(); 096 WeightedRandomPicker<String> getVoicePickerMedium(); 097 WeightedRandomPicker<String> getVoicePickerHigh(); 098 List<String> getAllVariantsForRole(String roleId); 099 100}