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