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