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