1package com.fs.starfarer.api.impl.campaign.rulecmd.salvage.special;
3import java.util.ArrayList;
5import java.util.Random;
7import com.fs.starfarer.api.campaign.CargoAPI;
8import com.fs.starfarer.api.campaign.CargoStackAPI;
9import com.fs.starfarer.api.campaign.InteractionDialogAPI;
10import com.fs.starfarer.api.impl.campaign.procgen.SalvageEntityGenDataSpec.DropData;
11import com.fs.starfarer.api.impl.campaign.rulecmd.AddRemoveCommodity;
12import com.fs.starfarer.api.impl.campaign.rulecmd.salvage.SalvageEntity;
13import com.fs.starfarer.api.impl.campaign.rulecmd.salvage.SalvageSpecialInteraction.SalvageSpecialData;
14import com.fs.starfarer.api.impl.campaign.rulecmd.salvage.SalvageSpecialInteraction.SalvageSpecialPlugin;
20 public static enum SurveyDataSpecialType {
22 PLANET_INTERESTING_PROPERTY,
24 SYSTEM_PRELIMINARY_SURVEY,
30 public static class BlueprintSpecialData
implements SalvageSpecialData {
31 public BlueprintSpecialData() {
34 public SalvageSpecialPlugin createSpecialPlugin() {
39 protected BlueprintSpecialData
data;
45 public void init(InteractionDialogAPI
dialog, Object specialData) {
46 super.init(
dialog, specialData);
48 data = (BlueprintSpecialData) specialData;
55 if (bp.getStacksCopy().size() <= 0) {
58 initBP(bp.getStacksCopy().get(0));
64 addText(
"Your salvage crews find a likely-looking safe, but it's unfortunately empty.");
69 protected void initBP(CargoStackAPI stack) {
70 if (!stack.isSpecialStack()) {
75 addText(
"Your salvage crews find a well-hidden safe. After an EMP pulse and some delicate work " +
76 "with a plasma cutter, the safe yields its contents.");
87 super.optionSelected(optionText, optionData);
93 List<DropData> dropRandom =
new ArrayList<DropData>();
95 DropData d =
new DropData();
97 d.group =
"blueprints_guaranteed";
static void addStackGainText(CargoStackAPI stack, TextPanelAPI text)
static CargoAPI generateSalvage(Random random, float valueMult, float overallMult, float fuelMult, List< DropData > dropValue, List< DropData > dropRandom)
void setDone(boolean done)
InteractionDialogAPI dialog
void addText(String format)
CampaignFleetAPI playerFleet
void init(InteractionDialogAPI dialog, Object specialData)
CargoAPI generateBP(Random random)
void initBP(CargoStackAPI stack)
BlueprintSpecialData data
void optionSelected(String optionText, Object optionData)