001package com.fs.starfarer.api.impl.campaign.skills;
002
003import com.fs.starfarer.api.campaign.FleetDataAPI;
004import com.fs.starfarer.api.characters.CharacterStatsSkillEffect;
005import com.fs.starfarer.api.characters.FleetTotalItem;
006import com.fs.starfarer.api.characters.FleetTotalSource;
007import com.fs.starfarer.api.characters.MutableCharacterStatsAPI;
008import com.fs.starfarer.api.characters.SkillSpecAPI;
009import com.fs.starfarer.api.impl.campaign.ids.Stats;
010import com.fs.starfarer.api.ui.TooltipMakerAPI;
011
012public class AuxiliarySupport {
013        
014        public static float AUXILIARY_EFFECT_BONUS = 900;
015        
016        public static class Level1 extends BaseSkillEffectDescription implements CharacterStatsSkillEffect, FleetTotalSource {
017                
018                public FleetTotalItem getFleetTotalItem() {
019                        return getMilitarizedOPTotal();
020                }
021                
022                public void apply(MutableCharacterStatsAPI stats, String id, float level) {
023                        FleetDataAPI data = null;
024                        if (stats.getFleet() != null) data = stats.getFleet().getFleetData();
025                        float auxBonus = computeAndCacheThresholdBonus(data, stats, "aux_effect", AUXILIARY_EFFECT_BONUS, ThresholdBonusType.MILITARIZED_OP);
026                        stats.getDynamic().getMod(Stats.AUXILIARY_EFFECT_ADD_PERCENT).modifyFlat(id, auxBonus);
027                }
028                public void unapply(MutableCharacterStatsAPI stats, String id) {
029                        stats.getDynamic().getMod(Stats.AUXILIARY_EFFECT_ADD_PERCENT).unmodifyFlat(id);
030                }
031                
032                public String getEffectDescription(float level) {
033                        return null;
034                }
035                        
036                public void createCustomDescription(MutableCharacterStatsAPI stats, SkillSpecAPI skill, 
037                                                                                        TooltipMakerAPI info, float width) {
038                        init(stats, skill);
039                        
040                        FleetDataAPI data = getFleetData(null);
041                        float auxBonus = computeAndCacheThresholdBonus(data, stats, "aux_effect", AUXILIARY_EFFECT_BONUS, ThresholdBonusType.MILITARIZED_OP);
042                        
043//                      HullModSpecAPI mil = Global.getSettings().getHullModSpec(HullMods.MILITARIZED_SUBSYSTEMS);
044//                      HullModSpecAPI ep = Global.getSettings().getHullModSpec(HullMods.ESCORT_PACKAGE);
045//                      HullModSpecAPI ap = Global.getSettings().getHullModSpec(HullMods.ASSAULT_PACKAGE);
046//                      
047//                      info.addPara("+%s to combat effects of " + mil.getDisplayName() + ", " +
048//                                      ep.getDisplayName() + ", and " + ap.getDisplayName() + " (maximum: %s)", 0f, hc, hc,
049//                                      "" + (int) auxBonus + "%",
050//                                      "" + (int) AUXILIARY_EFFECT_BONUS + "%");
051//                      addMilitarizedOPThresholdInfo(info, data, stats);
052                        
053                        //info.addSpacer(5f);
054                }
055                
056        }
057        
058
059
060}
061
062
063
064
065