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