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
009public class MalfunctioningComms extends BaseHullMod {
010        public static float ENGAGEMENT_REDUCTION = 0.4f;
011        
012        public void applyEffectsBeforeShipCreation(HullSize hullSize, MutableShipStatsAPI stats, String id) {
013                float effect = stats.getDynamic().getValue(Stats.DMOD_EFFECT_MULT);
014                
015                stats.getFighterWingRange().modifyMult(id, 1f - ENGAGEMENT_REDUCTION * effect);
016                CompromisedStructure.modifyCost(hullSize, stats, id);
017        }
018                
019        public String getDescriptionParam(int index, HullSize hullSize, ShipAPI ship) {
020                float effect = 1f;
021                if (ship != null) effect = ship.getMutableStats().getDynamic().getValue(Stats.DMOD_EFFECT_MULT);
022                
023                if (index == 0) return "" + (int) Math.round(ENGAGEMENT_REDUCTION * 100f * effect) + "%";
024                if (index >= 1) return CompromisedStructure.getCostDescParam(index, 1); 
025                return null;
026        }
027        
028        
029}
030
031
032
033