1package com.fs.starfarer.api.impl.campaign.rulecmd.salvage.special;
3import com.fs.starfarer.api.Global;
4import com.fs.starfarer.api.campaign.CargoAPI;
5import com.fs.starfarer.api.campaign.InteractionDialogAPI;
6import com.fs.starfarer.api.campaign.PlanetAPI;
7import com.fs.starfarer.api.campaign.econ.CommoditySpecAPI;
8import com.fs.starfarer.api.impl.campaign.ids.Entities;
9import com.fs.starfarer.api.impl.campaign.rulecmd.salvage.SalvageSpecialInteraction.SalvageSpecialData;
10import com.fs.starfarer.api.impl.campaign.rulecmd.salvage.SalvageSpecialInteraction.SalvageSpecialPlugin;
15 public static class CargoManifestSpecialData
implements SalvageSpecialData {
16 public String commodityId =
null;
19 public CargoManifestSpecialData(String commodityId,
float min,
float max) {
20 this.commodityId = commodityId;
25 public SalvageSpecialPlugin createSpecialPlugin() {
30 private CargoManifestSpecialData data;
37 public void init(InteractionDialogAPI
dialog, Object specialData) {
38 super.init(
dialog, specialData);
40 data = (CargoManifestSpecialData) specialData;
45 private void initManifest() {
54 boolean debris = Entities.DEBRIS_FIELD_SHARED.equals(
entity.getCustomEntityType());
55 String name =
"sent to the $shortName";
56 if (debris) name =
"searching through the debris";
57 if (
entity instanceof PlanetAPI) {
58 name =
"sent to the surface";
61 String text1 =
"A cargo manifest found by the salvage crews " + name +
" indicates " +
62 "the presence of a quantity of " + spec.getName().toLowerCase() +
", " +
63 "likely to be found if proper salvage operations are conducted.";
67 float quantity = data.min + (data.max - data.min) *
random.nextFloat();
68 quantity = Math.round(quantity);
69 extra.addCommodity(data.commodityId, quantity);
static SettingsAPI getSettings()
static FactoryAPI getFactory()
void setDone(boolean done)
InteractionDialogAPI dialog
void addText(String format)
void addTempExtraSalvage(CargoAPI cargo)
void setShowAgain(boolean showAgain)
void init(InteractionDialogAPI dialog, Object specialData)
CargoAPI createCargo(boolean unlimitedStacks)
CommoditySpecAPI getCommoditySpec(String commodityId)