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}