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