Starsector API
Loading...
Searching...
No Matches
AuxiliarySupport.java
Go to the documentation of this file.
1package com.fs.starfarer.api.impl.campaign.skills;
2
3import com.fs.starfarer.api.campaign.FleetDataAPI;
4import com.fs.starfarer.api.characters.CharacterStatsSkillEffect;
5import com.fs.starfarer.api.characters.FleetTotalItem;
6import com.fs.starfarer.api.characters.FleetTotalSource;
7import com.fs.starfarer.api.characters.MutableCharacterStatsAPI;
8import com.fs.starfarer.api.characters.SkillSpecAPI;
9import com.fs.starfarer.api.impl.campaign.ids.Stats;
10import com.fs.starfarer.api.ui.TooltipMakerAPI;
11
12public class AuxiliarySupport {
13
14 public static float AUXILIARY_EFFECT_BONUS = 900;
15
16 public static class Level1 extends BaseSkillEffectDescription implements CharacterStatsSkillEffect, FleetTotalSource {
17
18 public FleetTotalItem getFleetTotalItem() {
19 return getMilitarizedOPTotal();
20 }
21
22 public void apply(MutableCharacterStatsAPI stats, String id, float level) {
23 FleetDataAPI data = null;
24 if (stats.getFleet() != null) data = stats.getFleet().getFleetData();
25 float auxBonus = computeAndCacheThresholdBonus(data, stats, "aux_effect", AUXILIARY_EFFECT_BONUS, ThresholdBonusType.MILITARIZED_OP);
26 stats.getDynamic().getMod(Stats.AUXILIARY_EFFECT_ADD_PERCENT).modifyFlat(id, auxBonus);
27 }
28 public void unapply(MutableCharacterStatsAPI stats, String id) {
29 stats.getDynamic().getMod(Stats.AUXILIARY_EFFECT_ADD_PERCENT).unmodifyFlat(id);
30 }
31
32 public String getEffectDescription(float level) {
33 return null;
34 }
35
36 public void createCustomDescription(MutableCharacterStatsAPI stats, SkillSpecAPI skill,
37 TooltipMakerAPI info, float width) {
38 init(stats, skill);
39
40 FleetDataAPI data = getFleetData(null);
41 float auxBonus = computeAndCacheThresholdBonus(data, stats, "aux_effect", AUXILIARY_EFFECT_BONUS, ThresholdBonusType.MILITARIZED_OP);
42
43// HullModSpecAPI mil = Global.getSettings().getHullModSpec(HullMods.MILITARIZED_SUBSYSTEMS);
44// HullModSpecAPI ep = Global.getSettings().getHullModSpec(HullMods.ESCORT_PACKAGE);
45// HullModSpecAPI ap = Global.getSettings().getHullModSpec(HullMods.ASSAULT_PACKAGE);
46//
47// info.addPara("+%s to combat effects of " + mil.getDisplayName() + ", " +
48// ep.getDisplayName() + ", and " + ap.getDisplayName() + " (maximum: %s)", 0f, hc, hc,
49// "" + (int) auxBonus + "%",
50// "" + (int) AUXILIARY_EFFECT_BONUS + "%");
51// addMilitarizedOPThresholdInfo(info, data, stats);
52
53 //info.addSpacer(5f);
54 }
55
56 }
57
58
59
60}
61
62
63
64
65
void init(MutableCharacterStatsAPI stats, SkillSpecAPI skill)
float computeAndCacheThresholdBonus(MutableShipStatsAPI stats, String key, float maxBonus, ThresholdBonusType type)