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