Starsector API
Loading...
Searching...
No Matches
WeaponBlueprintOfferCreator.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.impl.campaign.intel.bar.events.historian.HistorianData.HistorianOffer;
10import com.fs.starfarer.api.loading.WeaponSpecAPI;
11
13
15 super(frequency);
16 }
17
18 @Override
19 protected BaseHistorianOfferWithLocation createOffer(SectorEntityToken entity, String data) {
20 return new WeaponBlueprintOffer(entity, data);
21 }
22
23 @Override
24 protected List<Object> getAllSpecs() {
25 return new ArrayList<Object>(Global.getSettings().getAllWeaponSpecs());
26 }
27
28 @Override
29 protected String getAlreadyUsedIdFromOffer(HistorianOffer offer) {
30 if (offer instanceof WeaponBlueprintOffer) {
32 return wbo.getData();
33 }
34 return null;
35 }
36
37 @Override
38 protected String getIdForSpec(Object spec) {
39 return ((WeaponSpecAPI) spec).getWeaponId();
40 }
41
42 @Override
43 protected Set<String> getTagsForSpec(Object spec) {
44 return ((WeaponSpecAPI) spec).getTags();
45 }
46
47 @Override
48 protected float getRarityForSpec(Object spec) {
49 return ((WeaponSpecAPI) spec).getRarity();
50 }
51
52 @Override
53 protected boolean playerKnowsSpecAlready(String id) {
54 return Global.getSector().getPlayerFaction().knowsWeapon(id);
55 }
56
57 protected float getProbabilityRuins() {
58 return super.getProbabilityRuins();
59 }
60
61
62 public static String PREFIX = "wpn_";
63 @Override
64 public String getOfferId(BaseHistorianOffer offer) {
65 if (offer instanceof WeaponBlueprintOffer) {
66 return PREFIX + ((WeaponBlueprintOffer)offer).getData();
67 }
68 return null;
69 }
70
71 @Override
72 public String getBlueprintIdFromOfferId(String offerId) {
73 if (offerId.startsWith(PREFIX)) {
74 return offerId.replaceAll(PREFIX, "");
75 }
76 return null;
77 }
78}
79
80
81
82
83
84
85
static SettingsAPI getSettings()
Definition Global.java:51
static SectorAPI getSector()
Definition Global.java:59
BaseHistorianOfferWithLocation createOffer(SectorEntityToken entity, String data)
List< WeaponSpecAPI > getAllWeaponSpecs()