1package com.fs.starfarer.api.impl.campaign.intel.bar.events;
6import java.util.Random;
9import org.lwjgl.util.vector.Vector2f;
11import com.fs.starfarer.api.Global;
12import com.fs.starfarer.api.campaign.CampaignFleetAPI;
13import com.fs.starfarer.api.campaign.CargoAPI;
14import com.fs.starfarer.api.campaign.CoreInteractionListener;
15import com.fs.starfarer.api.campaign.FactionAPI;
16import com.fs.starfarer.api.campaign.FleetAssignment;
17import com.fs.starfarer.api.campaign.InteractionDialogAPI;
18import com.fs.starfarer.api.campaign.OptionPanelAPI;
19import com.fs.starfarer.api.campaign.SectorEntityToken;
20import com.fs.starfarer.api.campaign.StarSystemAPI;
21import com.fs.starfarer.api.campaign.TextPanelAPI;
22import com.fs.starfarer.api.campaign.econ.CommoditySpecAPI;
23import com.fs.starfarer.api.campaign.listeners.ListenerUtil;
24import com.fs.starfarer.api.campaign.rules.MemoryAPI;
25import com.fs.starfarer.api.impl.campaign.fleets.AutoDespawnScript;
26import com.fs.starfarer.api.impl.campaign.fleets.FleetFactory.PatrolType;
27import com.fs.starfarer.api.impl.campaign.fleets.FleetFactoryV3;
28import com.fs.starfarer.api.impl.campaign.fleets.FleetParamsV3;
29import com.fs.starfarer.api.impl.campaign.ids.Commodities;
30import com.fs.starfarer.api.impl.campaign.ids.Factions;
31import com.fs.starfarer.api.impl.campaign.ids.MemFlags;
32import com.fs.starfarer.api.impl.campaign.ids.Tags;
33import com.fs.starfarer.api.impl.campaign.intel.BaseIntelPlugin;
34import com.fs.starfarer.api.impl.campaign.intel.raid.AssembleStage;
35import com.fs.starfarer.api.impl.campaign.procgen.SalvageEntityGenDataSpec.DropData;
36import com.fs.starfarer.api.impl.campaign.rulecmd.salvage.SalvageEntity;
37import com.fs.starfarer.api.impl.campaign.rulecmd.salvage.special.BaseSalvageSpecial;
38import com.fs.starfarer.api.impl.campaign.rulecmd.salvage.special.TransmitterTrapSpecial;
39import com.fs.starfarer.api.ui.SectorMapAPI;
40import com.fs.starfarer.api.ui.TooltipMakerAPI;
41import com.fs.starfarer.api.util.Misc;
42import com.fs.starfarer.api.util.Misc.Token;
62 List<Token> params, Map<String, MemoryAPI> memoryMap) {
63 String action = params.get(0).getString(memoryMap);
69 if (action.equals(
"putValuesInMemory")) {
73 }
else if (action.equals(
"genLootWithCore")) {
74 genLoot(dialog, memoryMap,
true);
75 }
else if (action.equals(
"genLootNoCore")) {
76 genLoot(dialog, memoryMap,
false);
99 DropData d =
new DropData();
101 d.group =
"blueprints";
106 d.group =
"rare_tech";
127 public void coreUIDismissed() {
142 if (random.nextFloat() > 0.5f) {
145 if (random.nextFloat() > 0.5f) {
161 if (mode == ListInfoMode.IN_DESC) initPad = opad;
203 info.
addPara(
"You've found and looted the cache of pre-Collapse technology in the " +
206 info.
addPara(
"You've kept your promise to the scientist and placed the AI core in a secure " +
207 "container, to be shipped to " +
event.
getHimOrHer() +
" as soon as you're back " +
208 "in civilized space.", opad);
210 info.
addPara(
"You've taken the AI core promised to the scientist for yourself. " +
214 info.
addPara(
"You've learned that there is a cache of pre-Collapse technology to be found in the " +
217 info.
addPara(
"The scientist that informed you of this wants the Alpha Core from this " +
232 Set<String> tags = super.getIntelTags(map);
243 return "Technology Cache";
248 return "Technology Cache - Looted";
250 return "Technology Cache";
255 return super.getFactionForUIColors();
269 return super.shouldRemoveIntel();
275 return "ui_discovered_entity";
284 type = PatrolType.FAST;
286 type = PatrolType.COMBAT;
288 type = PatrolType.HEAVY;
307 if (fleet.
isEmpty()) fleet =
null;
315 float range = 2000f + (float) Math.random() * 2000f;
static SettingsAPI getSettings()
static SectorAPI getSector()
static void reportExtraSalvageShown(SectorEntityToken entity)
static CampaignFleetAPI createFleet(FleetParamsV3 params)
static final String ALPHA_CORE
static final String PIRATES
static final String MEMORY_KEY_PIRATE
static final String SALVAGE_SEED
Set< String > getTagsForSort()
String getSortStringNewestFirst()
void unindent(TooltipMakerAPI info)
Object getListInfoParam()
Color getBulletColorForMode(ListInfoMode mode)
void bullet(TooltipMakerAPI info)
Color getTitleColor(ListInfoMode mode)
ScientistAICoreIntel(SectorEntityToken cache, ScientistAICoreBarEvent event)
ScientistAICoreBarEvent event
static void spawnPiratesToInvestigate(SectorEntityToken locToken, float fp)
void genLoot(final InteractionDialogAPI dialog, Map< String, MemoryAPI > memoryMap, boolean withCore)
boolean shouldRemoveIntel()
SectorEntityToken getMapLocation(SectorMapAPI map)
void addBulletPoints(TooltipMakerAPI info, ListInfoMode mode)
boolean callEvent(String ruleId, InteractionDialogAPI dialog, List< Token > params, Map< String, MemoryAPI > memoryMap)
void createIntelInfo(TooltipMakerAPI info, ListInfoMode mode)
void createSmallDescription(TooltipMakerAPI info, float width, float height)
StarSystemAPI cacheSystem
FactionAPI getFactionForUIColors()
String getSmallDescriptionTitle()
String getCommMessageSound()
Set< String > getIntelTags(SectorMapAPI map)
static CargoAPI generateSalvage(Random random, float valueMult, float overallMult, float fuelMult, List< DropData > dropValue, List< DropData > dropRandom)
static CargoAPI getCombinedExtraSalvage(Map< String, MemoryAPI > memoryMap)
static void clearExtraSalvage(Map< String, MemoryAPI > memoryMap)
static void makeFleetInterceptPlayer(CampaignFleetAPI fleet, boolean makeAggressive, boolean makeLowRepImpact, float interceptDays)
static Color getTextColor()
static Random getRandom(long seed, int level)
static void makeImportant(SectorEntityToken entity, String reason)
static Color getGrayColor()
static void fadeAndExpire(SectorEntityToken entity)
static Color getHighlightColor()
static Vector2f getPointAtRadius(Vector2f from, float r)
CommoditySpecAPI getCommoditySpec(String commodityId)
void addAssignment(FleetAssignment assignment, SectorEntityToken target, float maxDurationInDays)
void setLocation(float x, float y)
void addAll(CargoAPI other)
void addCommodity(String commodityId, float quantity)
TextPanelAPI getTextPanel()
VisualPanelAPI getVisualPanel()
void setPromptText(String promptText)
OptionPanelAPI getOptionPanel()
String getNameWithLowercaseType()
void addEntity(SectorEntityToken entity)
SectorEntityToken createToken(float x, float y)
CampaignFleetAPI getPlayerFleet()
void addScript(EveryFrameScript script)
LocationAPI getContainingLocation()
void addDropRandom(String group, int chances)
List< DropData > getDropRandom()
void addScript(EveryFrameScript script)
StarSystemAPI getStarSystem()
Vector2f getLocationInHyperspace()
MemoryAPI getMemoryWithoutUpdate()
List< DropData > getDropValue()
void setTransponderOn(boolean transponderOn)
void showLoot(String title, CargoAPI otherCargo, boolean generatePods, CoreInteractionListener listener)
void set(String key, Object value)