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