Starsector API
Loading...
Searching...
No Matches
CoreDiscoverEntityPlugin.java
Go to the documentation of this file.
1package com.fs.starfarer.api.campaign.listeners;
2
3import java.awt.Color;
4
5import com.fs.starfarer.api.Global;
6import com.fs.starfarer.api.campaign.SectorEntityToken;
7import com.fs.starfarer.api.impl.campaign.ids.Tags;
8import com.fs.starfarer.api.impl.campaign.intel.MessageIntel;
9import com.fs.starfarer.api.impl.campaign.intel.misc.WarningBeaconIntel;
10import com.fs.starfarer.api.impl.campaign.procgen.SalvageEntityGenDataSpec;
11
13
14 public void discoverEntity(SectorEntityToken entity) {
15
16
17 entity.setDiscoverable(null);
18 entity.setSensorProfile(null);
19
20 if (entity.hasTag(Tags.WARNING_BEACON)) {
21 WarningBeaconIntel intel = new WarningBeaconIntel(entity);
22 Global.getSector().getIntelManager().addIntel(intel);
23 } else {
24 Color c = Global.getSector().getPlayerFaction().getBaseUIColor();
25 MessageIntel intel = new MessageIntel("Discovered: " + entity.getName(),
26 c, new String[] {entity.getName()}, c);
27 intel.setSound("ui_discovered_entity");
28 intel.setIcon(Global.getSettings().getSpriteName("intel", "discovered_entity"));
29 Global.getSector().getCampaignUI().addMessage(intel);
30 }
31
32
33
34 float xp = 0;
35 if (entity.hasDiscoveryXP()) {
36 xp = entity.getDiscoveryXP();
37 } else if (entity.getCustomEntityType() != null) {
38 SalvageEntityGenDataSpec salvageSpec = (SalvageEntityGenDataSpec) Global.getSettings().getSpec(SalvageEntityGenDataSpec.class, entity.getCustomEntityType(), true);
39 if (salvageSpec != null) {
40 xp = salvageSpec.getXpDiscover();
41 }
42 }
43 if (xp > 0) {
44 Global.getSector().getPlayerPerson().getStats().addXP((long) xp);
45 }
46
48 }
49
50
51
52 public int getHandlingPriority(Object params) {
53 return 0;
54 }
55}
static SettingsAPI getSettings()
Definition Global.java:51
static SectorAPI getSector()
Definition Global.java:59
static void reportEntityDiscovered(SectorEntityToken entity)
String getSpriteName(String category, String id)
Object getSpec(Class c, String id, boolean nullOnNotFound)
void setDiscoverable(Boolean discoverable)