Starsector API
Loading...
Searching...
No Matches
FleetLogIntel.java
Go to the documentation of this file.
1package com.fs.starfarer.api.impl.campaign.intel.misc;
2
3import java.util.Set;
4
5import com.fs.starfarer.api.Global;
6import com.fs.starfarer.api.campaign.CampaignTerrainAPI;
7import com.fs.starfarer.api.campaign.PlanetAPI;
8import com.fs.starfarer.api.campaign.SectorEntityToken;
9import com.fs.starfarer.api.impl.campaign.ids.Tags;
10import com.fs.starfarer.api.impl.campaign.intel.BaseIntelPlugin;
11import com.fs.starfarer.api.impl.campaign.terrain.DebrisFieldTerrainPlugin;
12import com.fs.starfarer.api.ui.SectorMapAPI;
13
20public class FleetLogIntel extends BaseIntelPlugin {
21
22 public static float DEFAULT_DURATION = 365f;
23
24 protected Float duration = null;
25 protected SectorEntityToken removeTrigger = null;
26 protected String icon = null;
27 protected String sound = null;
28
29 public FleetLogIntel() {
30 }
31
32 public FleetLogIntel(float duration) {
33 this.duration = duration;
34 }
35
39
40 public void setDuration(float days) {
41 duration = days;
42 }
43
44 @Override
45 public boolean shouldRemoveIntel() {
46 if (isEnded()) return true;
47
48 if (removeTrigger != null) {
49 if (!removeTrigger.isAlive()) return true;
50 if (removeTrigger instanceof CampaignTerrainAPI) {
51 CampaignTerrainAPI terrain = (CampaignTerrainAPI) removeTrigger;
52 if (terrain.getPlugin() instanceof DebrisFieldTerrainPlugin) {
53 DebrisFieldTerrainPlugin debris = (DebrisFieldTerrainPlugin) terrain.getPlugin();
54 if (debris.isScavenged()) return true;
55 }
56 } else if (removeTrigger instanceof PlanetAPI) {
57
58 }
59 }
60
61 if (isImportant() || duration == null) return false;
62
63 Long ts = getPlayerVisibleTimestamp();
64 if (ts == null) return false;
65 return Global.getSector().getClock().getElapsedDaysSince(ts) >= duration;
66
67// float dur = DEFAULT_DURATION;
68// if (duration != null) dur = duration;
69// return Global.getSector().getClock().getElapsedDaysSince(ts) >= dur;
70 }
71
72
73 public void setIcon(String icon) {
74 this.icon = icon;
75 }
76
77 @Override
78 public String getIcon() {
79 if (icon != null) return icon;
80 return Global.getSettings().getSpriteName("intel", "fleet_log");
81 }
82
83 @Override
84 public Set<String> getIntelTags(SectorMapAPI map) {
85 //Set<String> tags = new LinkedHashSet<String>(); ??? why probably bug
86 Set<String> tags = super.getIntelTags(map);
87 tags.add(Tags.INTEL_FLEET_LOG);
88 return tags;
89 }
90
91 public SectorEntityToken getRemoveTrigger() {
92 return removeTrigger;
93 }
94
95 public void setRemoveTrigger(SectorEntityToken removeTrigger) {
96 this.removeTrigger = removeTrigger;
97 }
98
99 public String getSound() {
100 return sound;
101 }
102
103 public void setSound(String sound) {
104 this.sound = sound;
105 }
106
107 @Override
108 public String getCommMessageSound() {
109 if (sound != null) return sound;
110 return getSoundLogUpdate();
111 }
112
113}
114
115
116
117
118
static SettingsAPI getSettings()
Definition Global.java:51
static SectorAPI getSector()
Definition Global.java:59
void setRemoveTrigger(SectorEntityToken removeTrigger)
String getSpriteName(String category, String id)