Starsector API
Loading...
Searching...
No Matches
SurveyPlugin.java
Go to the documentation of this file.
1package com.fs.starfarer.api.plugins;
2
3import java.util.Map;
4
5import com.fs.starfarer.api.campaign.CampaignFleetAPI;
6import com.fs.starfarer.api.campaign.PlanetAPI;
7import com.fs.starfarer.api.campaign.econ.MarketConditionAPI;
8import com.fs.starfarer.api.combat.MutableStat;
9import com.fs.starfarer.api.impl.campaign.ids.Conditions;
10import com.fs.starfarer.api.impl.campaign.procgen.themes.DerelictThemeGenerator;
11
12public interface SurveyPlugin {
13 void init(CampaignFleetAPI fleet, PlanetAPI planet);
14
15 Map<String, Integer> getRequired();
16 Map<String, Integer> getConsumed();
17
19 String getImageKey();
20
22
27 long getXP();
28
29
35 long getBaseXPForCondition(String conditionId);
36
37
43
45
46 default int getSurveyDataScore(PlanetAPI planet) {
47 if (planet.getMarket() == null) return 0;
48 int count = 0;
49 float value = 0;
50 for (MarketConditionAPI mc : planet.getMarket().getConditions()) {
52 count++;
53 }
54 if (mc.getGenSpec() != null) {
55 //value += mc.getGenSpec().getXpMult();
56 value += mc.getGenSpec().getRank();
57 }
58 }
59
61 value += 4f;
62 }
63
64 float hazard = planet.getMarket().getHazardValue();
65 value -= (hazard - 1f) * 2f;
66
67 return (int) value;
68 };
69
70 Map<String, Integer> getOutpostConsumed();
71
72}
List< MarketConditionAPI > getConditions()
Map< String, Integer > getOutpostConsumed()
Map< String, Integer > getRequired()
default int getSurveyDataScore(PlanetAPI planet)
void init(CampaignFleetAPI fleet, PlanetAPI planet)
Map< String, Integer > getConsumed()
String getSurveyDataType(PlanetAPI planet)
long getBaseXPForCondition(String conditionId)