001package com.fs.starfarer.api.campaign; 002 003import java.util.List; 004 005public interface FactionDoctrineAPI { 006 int getWarships(); 007 void setWarships(int warships); 008 int getCarriers(); 009 void setCarriers(int carriers); 010 int getPhaseShips(); 011 void setPhaseShips(int phaseShips); 012 int getOfficerQuality(); 013 void setOfficerQuality(int officerQuality); 014 int getShipQuality(); 015 void setShipQuality(int shipQuality); 016 int getNumShips(); 017 void setNumShips(int numShips); 018 int getShipSize(); 019 void setShipSize(int shipSize); 020 int getAggression(); 021 void setAggression(int aggression); 022 int getFleets(); 023 void setFleets(int fleets); 024 float getCombatFreighterProbability(); 025 void setCombatFreighterProbability(float combatFreighterProbability); 026 float getCommanderSkillsShuffleProbability(); 027 void setCommanderSkillsShuffleProbability(float commanderSkillsShuffleProbability); 028 List<String> getCommanderSkills(); 029 030 /** 031 * (shipQuality - 1) multiplied by doctrineFleetQualityPerPoint from settings.json. 032 * @return 033 */ 034 float getShipQualityContribution(); 035 036 FactionDoctrineAPI clone(); 037 038 039 float getCombatFreighterCombatUseFraction(); 040 void setCombatFreighterCombatUseFraction(float combatFreighterCombatUseFraction); 041 float getCombatFreighterCombatUseFractionWhenPriority(); 042 void setCombatFreighterCombatUseFractionWhenPriority(float combatFreighterCombatUseFractionWhenPriority); 043 float getAutofitRandomizeProbability(); 044 void setAutofitRandomizeProbability(float autofitRandomizeProbability); 045 int getTotalStrengthPoints(); 046 boolean isStrictComposition(); 047 void setStrictComposition(boolean strictComposition); 048 float getOfficerSkillsShuffleProbability(); 049 List<String> getOfficerSkills(); 050 void copyToDoctrine(FactionDoctrineAPI other); 051}