001package com.fs.starfarer.api.impl.hullmods; 002 003import com.fs.starfarer.api.combat.MutableShipStatsAPI; 004import com.fs.starfarer.api.combat.ShipAPI; 005import com.fs.starfarer.api.combat.ShipAPI.HullSize; 006import com.fs.starfarer.api.impl.campaign.ids.Stats; 007 008public class TerminatorCore extends BaseLogisticsHullMod { 009 010 //public static float ROF_MULT = 2f; 011 //public static float EXTRA_CHARGES = 1000f; 012 013 public static float DAMAGE_MISSILES_PERCENT = 100f; 014 public static float DAMAGE_FIGHTERS_PERCENT = 100f; 015 016 public static float BEAM_RANGE_BONUS = 300f; 017 018 public void applyEffectsBeforeShipCreation(HullSize hullSize, MutableShipStatsAPI stats, String id) { 019 //stats.getEnergyAmmoBonus().modifyFlat(id, EXTRA_CHARGES); 020 //stats.getEnergyRoFMult().modifyMult(id, ROF_MULT); 021 022// stats.getRecoilDecayMult().modifyMult(id, 2f); 023// stats.getRecoilPerShotMult().modifyMult(id, 0f); 024 stats.getDamageToMissiles().modifyPercent(id, DAMAGE_MISSILES_PERCENT); 025 stats.getDamageToFighters().modifyPercent(id, DAMAGE_FIGHTERS_PERCENT); 026 //stats.getProjectileSpeedMult().modifyMult(id, 100f); 027 stats.getBeamWeaponTurnRateBonus().modifyMult(id, 2f); 028 stats.getBeamWeaponRangeBonus().modifyFlat(id, BEAM_RANGE_BONUS); 029 //stats.getBeamWeaponRangeBonus().modifyFlat(id, 300f); 030 stats.getAutofireAimAccuracy().modifyFlat(id, 1f); 031 032 stats.getEngineDamageTakenMult().modifyMult(id, 0f); 033 034 stats.getDynamic().getMod(Stats.PD_IGNORES_FLARES).modifyFlat(id, 1f); 035 } 036 037 @Override 038 public void applyEffectsAfterShipCreation(ShipAPI ship, String id) { 039 super.applyEffectsAfterShipCreation(ship, id); 040 041// ship.getShield().setRingColor(new Color(255, 255, 255, 255)); 042// ship.getShield().setInnerColor(new Color(255, 0, 0, 75)); 043 //ship.getEngineController().extendFlame(this, 0f, 0f, 1.5f); 044 } 045 046 047 048 public String getDescriptionParam(int index, HullSize hullSize) { 049 if (index == 0) return "" + (int) DAMAGE_MISSILES_PERCENT + "%"; 050 if (index == 1) return "" + (int) BEAM_RANGE_BONUS; 051 return null; 052 } 053 054} 055 056 057 058 059 060 061