Starsector API
Loading...
Searching...
No Matches
SpecialItemOfferCreator.java
Go to the documentation of this file.
1package com.fs.starfarer.api.impl.campaign.intel.bar.events.historian;
2
3import java.util.ArrayList;
4import java.util.List;
5import java.util.Set;
6
7import com.fs.starfarer.api.Global;
8import com.fs.starfarer.api.campaign.SectorEntityToken;
9import com.fs.starfarer.api.campaign.SpecialItemSpecAPI;
10import com.fs.starfarer.api.impl.campaign.intel.bar.events.historian.HistorianData.HistorianOffer;
11
13
14 public static int BASE_POINTS = Global.getSettings().getInt("historianSpecialItemBase");
15// public static Map<String, Integer> POINTS_MAP = new HashMap<String, Integer>();
16// static {
17// POINTS_MAP.put(Items.PRISTINE_NANOFORGE, 5);
18// POINTS_MAP.put(Items.SYNCHROTRON, 5);
19// }
20
21
22 protected int numAccepted = 0;
23
25 super(frequency);
26 }
27
28 public void notifyAccepted(HistorianOffer offer) {
30 }
31
32 @Override
33 protected BaseHistorianOfferWithLocation createOffer(SectorEntityToken entity, String data) {
34// Integer points = POINTS_MAP.get(data);
35// if (points == null) points = DEFAULT_POINTS;
36 int points = (int)Math.round(BASE_POINTS * Math.pow(2, numAccepted));
37 return new SpecialItemOffer(entity, points, data);
38 }
39
40 @Override
41 protected List<Object> getAllSpecs() {
42 return new ArrayList<Object>(Global.getSettings().getAllSpecialItemSpecs());
43 }
44
45 @Override
46 protected String getAlreadyUsedIdFromOffer(HistorianOffer offer) {
47 if (offer instanceof SpecialItemOffer) {
49 return sio.getData();
50 }
51 return null;
52 }
53
54 @Override
55 protected String getIdForSpec(Object spec) {
56 return ((SpecialItemSpecAPI) spec).getId();
57 }
58
59 @Override
60 protected Set<String> getTagsForSpec(Object spec) {
61 return ((SpecialItemSpecAPI) spec).getTags();
62 }
63
64 @Override
65 protected float getRarityForSpec(Object spec) {
66 return ((SpecialItemSpecAPI) spec).getRarity();
67 }
68
69 @Override
70 protected boolean playerKnowsSpecAlready(String id) {
71 return false;
72 }
73
74 protected float getProbabilityRuins() {
75 return 0.67f;
76 }
77
78 public static String PREFIX = "spec_";
79 @Override
80 public String getOfferId(BaseHistorianOffer offer) {
81 if (offer instanceof SpecialItemOffer) {
82 return PREFIX + ((SpecialItemOffer)offer).getData();
83 }
84 return null;
85 }
86
87 @Override
88 public String getBlueprintIdFromOfferId(String offerId) {
89 if (offerId.startsWith(PREFIX)) {
90 return offerId.replaceAll(PREFIX, "");
91 }
92 return null;
93 }
94
95}
96
97
98
99
100
101
102
static SettingsAPI getSettings()
Definition Global.java:51
BaseHistorianOfferWithLocation createOffer(SectorEntityToken entity, String data)
List< SpecialItemSpecAPI > getAllSpecialItemSpecs()