1package com.fs.starfarer.api.impl.campaign.intel.bar.events;
5import com.fs.starfarer.api.Global;
6import com.fs.starfarer.api.campaign.CargoAPI;
7import com.fs.starfarer.api.campaign.StarSystemAPI;
8import com.fs.starfarer.api.campaign.TextPanelAPI;
9import com.fs.starfarer.api.campaign.econ.MarketAPI;
10import com.fs.starfarer.api.impl.campaign.ids.Entities;
11import com.fs.starfarer.api.impl.campaign.ids.Factions;
12import com.fs.starfarer.api.impl.campaign.ids.Ranks;
13import com.fs.starfarer.api.impl.campaign.ids.Tags;
14import com.fs.starfarer.api.impl.campaign.procgen.themes.BaseThemeGenerator;
15import com.fs.starfarer.api.impl.campaign.procgen.themes.BaseThemeGenerator.AddedEntity;
16import com.fs.starfarer.api.impl.campaign.procgen.themes.BaseThemeGenerator.EntityLocation;
17import com.fs.starfarer.api.util.Misc;
18import com.fs.starfarer.api.util.WeightedRandomPicker;
27 if (!super.shouldShowAtMarket(
market))
return false;
39 if (this.market ==
market)
return;
67 if (sinceVisit < 60)
continue;
90 if (added ==
null || added.entity ==
null) {
108 protected transient boolean failed =
false;
135 return "A disheveled " +
getManOrWoman() +
" in academic uniform is bothering some of the " +
136 "better-dressed spacers with " +
getHisOrHer() +
" glowing TriPad.";
141 return "Flag down the academic with the TriPad";
147 "and is delighted to have someone finally listen to " +
getHisOrHer() +
" story. " +
148 "You set your face to a practiced stern-but-receptive look as " +
149 "you hear " +
getHisOrHer() +
" pitch through to the end.\n\n" +
151 "\"The data doesn’t lie!\" " +
getHeOrShe() +
" cries again and again, " +
152 "though you can’t make sense of the arcane tables scrolling " +
153 "on " +
getHisOrHer() +
" greasy TriPad. \"There’s an enormous stock of " +
154 "unrecovered Domain-era technology in this system. No one else can see it! " +
155 "All I ask is,\" " +
getHisOrHer() +
" voice drops to a whisper, " +
156 "\"you retrieve for me the AI core hidden in the midst of the trove. " +
157 "That, I get to keep. I’ll tell you exactly where to look if you agree to my terms.\"";
162 return new String [] {};
166 return new Color [] {};
171 return "Accept and promise to ship the AI core to the given address in a specially shielded crate";
176 return "Decline " +
getHisOrHer() +
" proposal and walk away";
182 return "Unfortunately, a closer analysis of the data brings to light several glaring inconsistencies. " +
183 "Looks like " +
getHeOrShe() +
" was a bit unhinged, after all - " +
184 "there's nothing here worth investigating.";
191 return "You hear the scientist's offended, quavering voice at your back, \"The truth is out there! " +
192 "I won't be held back by small-minds like all of you!\" Most of the other patrons pretend extreme " +
193 "interest in their drinks, though at least one looses a mocking laugh.";
202 super.showTotalAndOptions();
static SectorAPI getSector()
static final String TECHNOLOGY_CACHE
static final String LUDDIC_PATH
static final String NEUTRAL
static final String LUDDIC_CHURCH
static final String INDEPENDENT
transient TextPanelAPI text
transient InteractionDialogAPI dialog
Color[] getMainTextColors()
void doConfirmActionsPreAcceptText()
void doStandardConfirmActions()
String[] getMainTextTokens()
void showTotalAndOptions()
ScientistAICoreBarEvent()
void regen(MarketAPI market)
boolean shouldShowAtMarket(MarketAPI market)
String getPersonFaction()
static EntityLocation pickHiddenLocationNotNearStar(Random random, StarSystemAPI system, float gap, Set< SectorEntityToken > exclude)
static AddedEntity addEntity(Random random, StarSystemAPI system, WeightedRandomPicker< EntityLocation > locs, String type, String faction)
static String ucFirst(String str)
float getElapsedDaysSince(long timestamp)
TextPanelAPI getTextPanel()
CampaignFleetAPI getPlayerFleet()
List< StarSystemAPI > getStarSystems()
CampaignClockAPI getClock()
IntelManagerAPI getIntelManager()
void setSensorProfile(Float sensorProfile)
void setDiscoverable(Boolean discoverable)
void setDiscoveryXP(Float discoveryXP)
void addIntel(IntelInfoPlugin plugin)