001package com.fs.starfarer.api.fleet;
002
003import com.fs.starfarer.api.combat.MutableStat;
004import com.fs.starfarer.api.combat.StatBonus;
005import com.fs.starfarer.api.util.DynamicStatsAPI;
006
007public interface MutableFleetStatsAPI {
008        
009        void addTemporaryModFlat(float durInDays, String source, float value, StatBonus stat);
010        void addTemporaryModFlat(float durInDays, String source, String desc, float value, StatBonus stat);
011        void addTemporaryModMult(float durInDays, String source, String desc, float value, StatBonus stat);
012        void addTemporaryModPercent(float durInDays, String source, float value, StatBonus stat);
013        void addTemporaryModPercent(float durInDays, String source, String desc, float value, StatBonus stat);
014        
015        void addTemporaryModFlat(float durInDays, String source, String desc, float value, MutableStat stat);
016        void addTemporaryModMult(float durInDays, String source, String desc, float value, MutableStat stat);
017        void addTemporaryModFlat(float durInDays, String source, float value, MutableStat stat);
018        void addTemporaryModPercent(float durInDays, String source, String desc, float value, MutableStat stat);
019        void addTemporaryModPercent(float durInDays, String source, float value, MutableStat stat);
020        
021        boolean hasMod(String source);
022        
023        StatBonus getMovementSpeedMod();
024        StatBonus getFleetwideMaxBurnMod();
025        StatBonus getSensorStrengthMod();
026        StatBonus getSensorProfileMod();
027        StatBonus getSensorRangeMod();
028        StatBonus getDetectedRangeMod();
029        MutableStat getAccelerationMult();
030        MutableStat getFuelUseHyperMult();
031        MutableStat getFuelUseNormalMult();
032        
033        void removeTemporaryMod(String source);
034        
035        
036        DynamicStatsAPI getDynamic();
037        
038}