001package com.fs.starfarer.api.impl.campaign.intel.bar.events.historian;
002
003import com.fs.starfarer.api.Global;
004import com.fs.starfarer.api.campaign.CargoAPI;
005import com.fs.starfarer.api.campaign.InteractionDialogAPI;
006import com.fs.starfarer.api.campaign.SectorEntityToken;
007import com.fs.starfarer.api.campaign.SpecialItemData;
008import com.fs.starfarer.api.impl.campaign.ids.Items;
009import com.fs.starfarer.api.impl.campaign.ids.Sounds;
010import com.fs.starfarer.api.impl.campaign.ids.Tags;
011import com.fs.starfarer.api.impl.campaign.rulecmd.SetStoryOption;
012import com.fs.starfarer.api.loading.FighterWingSpecAPI;
013
014public class FighterBlueprintOffer extends BaseHistorianOfferWithLocation {
015
016        protected String data;
017        
018        public FighterBlueprintOffer(SectorEntityToken entity, String data) {
019                super(entity);
020                this.data = data;
021                
022        }
023
024        @Override
025        public void addPromptAndOption(InteractionDialogAPI dialog) {
026                FighterWingSpecAPI spec = Global.getSettings().getFighterWingSpec(data);
027                dialog.getOptionPanel().addOption("... the possible location of a blueprint (" + 
028                                                                spec.getVariant().getFullDesignationWithHullName() + ")",
029                                                                //spec.getWingName() + ")",
030                                                                                this);
031                SetStoryOption.set(dialog, 1, this, "historianBP", Sounds.STORY_POINT_SPEND_TECHNOLOGY,
032                                "Learned location of " + spec.getVariant().getFullDesignationWithHullName() + " blueprint");
033        }
034        
035        public String getSortString() {
036                if (getTagsForSort().contains(Tags.INTEL_FLEET_LOG) || getTagsForSort().contains(Tags.INTEL_EXPLORATION)) {
037                        return getSortStringNewestFirst();
038                }
039                return "Weapon Blueprint";
040        }
041        
042        public String getName() {
043                FighterWingSpecAPI spec = Global.getSettings().getFighterWingSpec(data);
044                if (isEnding()) {
045                        return spec.getWingName() + " Blueprint - Recovered";
046                } else {
047                        return spec.getWingName() + " Blueprint Location";
048                }
049        }
050
051        @Override
052        protected void addItemToCargo(CargoAPI loot) {
053                loot.addSpecial(new SpecialItemData(Items.FIGHTER_BP, data), 1);                
054        }
055
056        public String getData() {
057                return data;
058        }
059
060        
061}
062
063
064
065
066
067
068
069
070
071