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.WeaponSpecAPI;
013
014public class WeaponBlueprintOffer extends BaseHistorianOfferWithLocation {
015
016        protected String data;
017        
018        public WeaponBlueprintOffer(SectorEntityToken entity, String data) {
019                super(entity);
020                this.data = data;
021                
022        }
023
024        @Override
025        public void addPromptAndOption(InteractionDialogAPI dialog) {
026                WeaponSpecAPI spec = Global.getSettings().getWeaponSpec(data);
027                dialog.getOptionPanel().addOption("... the possible location of a blueprint (" + 
028                                                                spec.getWeaponName() + ")",
029                                                                                this);
030                SetStoryOption.set(dialog, 1, this, "historianBP", Sounds.STORY_POINT_SPEND_TECHNOLOGY,
031                                "Learned location of " + spec.getWeaponName() + " 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 "Weapon Blueprint";
039        }
040        
041        public String getName() {
042                WeaponSpecAPI spec = Global.getSettings().getWeaponSpec(data);
043                if (isEnding()) {
044                        return spec.getWeaponName() + " Blueprint - Recovered";
045                } else {
046                        return spec.getWeaponName() + " Blueprint Location";
047                }
048        }
049
050        @Override
051        protected void addItemToCargo(CargoAPI loot) {
052                loot.addSpecial(new SpecialItemData(Items.WEAPON_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