001package com.fs.starfarer.api.impl.hullmods; 002 003import com.fs.starfarer.api.combat.BaseHullMod; 004import com.fs.starfarer.api.combat.MutableShipStatsAPI; 005import com.fs.starfarer.api.combat.ShipAPI; 006import com.fs.starfarer.api.combat.ShipAPI.HullSize; 007import com.fs.starfarer.api.impl.campaign.ids.Stats; 008 009@SuppressWarnings("unchecked") 010public class DegradedShields extends BaseHullMod { 011 012 public static float SHIELD_PERCENT = 10f; 013 014 public void applyEffectsBeforeShipCreation(HullSize hullSize, MutableShipStatsAPI stats, String id) { 015 float effect = stats.getDynamic().getValue(Stats.DMOD_EFFECT_MULT); 016 017 stats.getShieldDamageTakenMult().modifyPercent(id, SHIELD_PERCENT * effect); 018 019 CompromisedStructure.modifyCost(hullSize, stats, id); 020 } 021 022 public String getDescriptionParam(int index, HullSize hullSize, ShipAPI ship) { 023 float effect = 1f; 024 if (ship != null) effect = ship.getMutableStats().getDynamic().getValue(Stats.DMOD_EFFECT_MULT); 025 if (index == 0) return "" + (int) Math.round(SHIELD_PERCENT * effect) + "%"; 026 if (index >= 1) return CompromisedStructure.getCostDescParam(index, 1); 027 return null; 028 } 029 030 031}