1package com.fs.starfarer.api.impl.campaign.intel.bar.events;
4import java.util.Random;
6import com.fs.starfarer.api.Global;
7import com.fs.starfarer.api.campaign.InteractionDialogAPI;
8import com.fs.starfarer.api.campaign.PersonImportance;
9import com.fs.starfarer.api.campaign.TextPanelAPI;
10import com.fs.starfarer.api.campaign.econ.MarketAPI;
11import com.fs.starfarer.api.campaign.rules.MemoryAPI;
12import com.fs.starfarer.api.characters.FullName.Gender;
13import com.fs.starfarer.api.characters.PersonAPI;
14import com.fs.starfarer.api.impl.campaign.ids.Factions;
15import com.fs.starfarer.api.impl.campaign.ids.Ranks;
16import com.fs.starfarer.api.impl.campaign.ids.Tags;
17import com.fs.starfarer.api.impl.campaign.intel.bar.PortsideBarData;
18import com.fs.starfarer.api.impl.campaign.intel.bases.PirateBaseIntel;
19import com.fs.starfarer.api.impl.campaign.intel.contacts.ContactIntel;
20import com.fs.starfarer.api.impl.campaign.intel.events.HostileActivityEventIntel;
21import com.fs.starfarer.api.impl.campaign.intel.events.PirateBasePirateActivityCause2;
22import com.fs.starfarer.api.util.Misc;
25 protected PirateBaseIntel
intel;
34 seed = Misc.random.nextLong();
38 if (
intel.getTarget() == market.getContainingLocation()) {
41 if (market.isPlayerOwned()) {
42 HostileActivityEventIntel ha = HostileActivityEventIntel.get();
44 return PirateBasePirateActivityCause2.getBaseIntel(market.getStarSystem()) ==
intel;
64 transient protected boolean done =
false;
66 transient protected PersonAPI
person;
72 Random random =
new Random(
seed +
dialog.getInteractionTarget().getMarket().getId().hashCode());
75 if (random.nextFloat() > 0.5f) {
79 person.setPostId(Ranks.POST_MINORCRIMINAL);
80 person.setImportanceAndVoice(PersonImportance.VERY_LOW, random);
81 person.addTag(Tags.CONTACT_UNDERWORLD);
83 String himOrHer =
"him";
84 if (
gender == Gender.FEMALE) himOrHer =
"her";
87 text.addPara(
"A grizzled spacer sits at the bar, downing shots " +
88 "of what looks like the cheapest liquor available.");
90 dialog.getOptionPanel().addOption(
91 "Approach the spacer and offer to buy " + himOrHer +
" something more palatable",
99 String himOrHerSelf =
"himself";
100 if (
gender == Gender.FEMALE) himOrHerSelf =
"herself";
103 text.addPara(
"You keep the drinks flowing and mostly just listen, " +
104 "letting the spacer unburden " + himOrHerSelf +
".");
111 intel.sendUpdate(PirateBaseIntel.DISCOVERED_PARAM,
text);
115 ContactIntel.addPotentialContact(
person,
dialog.getInteractionTarget().getMarket(),
text);
static SectorAPI getSector()
transient TextPanelAPI text
transient Map< String, MemoryAPI > memoryMap
transient InteractionDialogAPI dialog
void optionSelected(String optionText, Object optionData)
void init(InteractionDialogAPI dialog, Map< String, MemoryAPI > memoryMap)
PirateBaseRumorBarEvent(PirateBaseIntel intel)
transient PersonAPI person
void addPromptAndOption(InteractionDialogAPI dialog, Map< String, MemoryAPI > memoryMap)
boolean shouldRemoveEvent()
boolean isDialogFinished()
boolean shouldShowAtMarket(MarketAPI market)