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.combat.ShipHullSpecAPI;
009import com.fs.starfarer.api.impl.campaign.ids.Items;
010import com.fs.starfarer.api.impl.campaign.ids.Sounds;
011import com.fs.starfarer.api.impl.campaign.ids.Tags;
012import com.fs.starfarer.api.impl.campaign.rulecmd.SetStoryOption;
013
014public class ShipBlueprintOffer extends BaseHistorianOfferWithLocation {
015
016        protected String data;
017        
018        public ShipBlueprintOffer(SectorEntityToken entity, String data) {
019                super(entity);
020                this.data = data;
021                
022        }
023
024        @Override
025        public void addPromptAndOption(InteractionDialogAPI dialog) {
026                ShipHullSpecAPI spec = Global.getSettings().getHullSpec(data);
027                dialog.getOptionPanel().addOption("... the possible location of a blueprint (" + 
028                                                                spec.getHullNameWithDashClass() + " " + spec.getDesignation() + ")",
029                                                                                this);
030                SetStoryOption.set(dialog, 1, this, "historianBP", Sounds.STORY_POINT_SPEND_TECHNOLOGY,
031                                "Learned location of " + spec.getHullNameWithDashClass() + " " + spec.getDesignation() + " blueprint");
032        }
033        
034        public String getSortString() {
035                if (getTagsForSort().contains(Tags.INTEL_FLEET_LOG) || getTagsForSort().contains(Tags.INTEL_EXPLORATION)) {
036                        return getSortStringNewestFirst();
037                }
038                return "Ship Blueprint";
039        }
040        
041        public String getName() {
042                ShipHullSpecAPI spec = Global.getSettings().getHullSpec(data);
043                if (isEnding()) {
044                        return spec.getHullName() + " Blueprint - Recovered";
045                } else {
046                        return spec.getHullName() + " Blueprint Location";
047                }
048        }
049
050        @Override
051        protected void addItemToCargo(CargoAPI loot) {
052                loot.addSpecial(new SpecialItemData(Items.SHIP_BP, data), 1);           
053        }
054
055        public String getData() {
056                return data;
057        }
058        
059}
060
061
062
063
064
065
066
067
068
069