001package com.fs.starfarer.api.impl.campaign.intel.events; 002 003import com.fs.starfarer.api.Global; 004import com.fs.starfarer.api.campaign.comm.CommMessageAPI.MessageClickAction; 005import com.fs.starfarer.api.impl.campaign.ids.Commodities; 006import com.fs.starfarer.api.impl.campaign.ids.Sounds; 007import com.fs.starfarer.api.impl.campaign.ids.Stats; 008import com.fs.starfarer.api.impl.campaign.intel.BaseIntelPlugin; 009import com.fs.starfarer.api.impl.campaign.intel.MessageIntel; 010import com.fs.starfarer.api.util.Misc; 011 012public class DiktatFuelBonusScript { 013 014 public static float FUEL_EXPORT_BONUS = Global.getSettings().getFloat("diktatDefeatedExportBonus"); 015 public static String MOD_ID = "dfb_export_mod"; 016 017 018 public static void grantBonus() { 019 sendGainedMessage(); 020 021 Global.getSector().getPlayerStats().getDynamic().getStat( 022 Stats.getCommodityExportCreditsMultId(Commodities.FUEL)).modifyMult(MOD_ID, 1f + FUEL_EXPORT_BONUS, 023 "Proven stable source (due to outcome of Diktat conflict)"); 024 } 025 026 public void removeBonus() { 027 sendLostMessage(); 028 029 Global.getSector().getPlayerStats().getDynamic().getStat( 030 Stats.getCommodityExportCreditsMultId(Commodities.FUEL)).unmodifyFlat(MOD_ID); 031 } 032 033 public static void sendGainedMessage() { 034 MessageIntel msg = new MessageIntel(); 035 msg.addLine("Fuel exports increased", Misc.getBasePlayerColor()); 036 msg.addLine(BaseIntelPlugin.BULLET + "%s income from fuel exports", Misc.getTextColor(), 037 new String [] {"+" + (int)Math.round(FUEL_EXPORT_BONUS * 100f) + "%"}, 038 Misc.getHighlightColor()); 039 040 msg.setIcon(Global.getSettings().getCommoditySpec(Commodities.FUEL).getIconName()); 041 msg.setSound(Sounds.REP_GAIN); 042 Global.getSector().getCampaignUI().addMessage(msg, MessageClickAction.COLONY_INFO); 043 } 044 045 public static void sendLostMessage() { 046 MessageIntel msg = new MessageIntel(); 047 msg.addLine("Fuel export bonus lost", Misc.getBasePlayerColor()); 048 msg.setIcon(Global.getSettings().getCommoditySpec(Commodities.FUEL).getIconName()); 049 msg.setSound(Sounds.REP_LOSS); 050 Global.getSector().getCampaignUI().addMessage(msg, MessageClickAction.COLONY_INFO); 051 } 052 053 054} 055 056 057