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.campaign.SpecialItemSpecAPI;
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;
012
013public class SpecialItemOffer extends BaseHistorianOfferWithLocation {
014        
015        protected int points;
016        protected String data;
017        
018        public SpecialItemOffer(SectorEntityToken entity, int points, String id) {
019                super(entity);
020                this.points = points;
021                this.data = id;
022                
023        }
024
025        @Override
026        public void addPromptAndOption(InteractionDialogAPI dialog) {
027                SpecialItemSpecAPI spec = Global.getSettings().getSpecialItemSpec(data);
028                dialog.getOptionPanel().addOption("... the possible location of an item (" + 
029                                                                spec.getName() + ")",
030                                                                                this);
031                SetStoryOption.set(dialog, points, this, "historianBP", Sounds.STORY_POINT_SPEND_TECHNOLOGY,
032                                "Learned location of " + spec.getName());                               
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 "AAA";
040        }
041        
042        public String getName() {
043                SpecialItemSpecAPI spec = Global.getSettings().getSpecialItemSpec(data);
044                if (isEnding()) {
045                        return spec.getName() + " - Recovered";
046                } else {
047                        return spec.getName() + " Location";
048                }
049        }
050
051        @Override
052        protected void addItemToCargo(CargoAPI loot) {
053                loot.addSpecial(new SpecialItemData(data, null), 1);            
054        }
055
056        public String getData() {
057                return data;
058        }
059        
060}
061
062
063
064
065
066
067
068
069
070