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.campaign.econ.MarketAPI.SurveyLevel;
10import com.fs.starfarer.api.impl.campaign.ids.Tags;
11import com.fs.starfarer.api.impl.campaign.intel.BaseIntelPlugin;
12import com.fs.starfarer.api.impl.campaign.terrain.DebrisFieldTerrainPlugin;
13import com.fs.starfarer.api.ui.SectorMapAPI;
14
21public class FleetLogIntel extends BaseIntelPlugin {
22
23 public static Object DISCOVERED_PARAM = new Object();
24
25 public static float DEFAULT_DURATION = 365f;
26
27 protected Float duration = null;
29 protected Boolean keepExploredDebrisField = null;
30 protected Boolean removeSurveyedPlanet = null;
31 protected String icon = null;
32 protected String iconId = null;
33 protected String sound = null;
34
35 public FleetLogIntel() {
36 }
37
38 public FleetLogIntel(float duration) {
39 this.duration = duration;
40 }
41
45
46 public void setDuration(float days) {
47 duration = days;
48 }
49
50 public String getSortString() {
52 }
53
54 public Boolean getKeepExploredDebrisField() {
56 }
57
59 this.keepExploredDebrisField = keepExploredDebrisField;
60 }
61
62 public Boolean getRemoveSurveyedPlanet() {
64 }
65
67 this.removeSurveyedPlanet = removeSurveyedPlanet;
68 }
69
70 @Override
71 public boolean shouldRemoveIntel() {
72 if (isEnded()) return true;
73
74 if (removeTrigger != null) {
75 if (!removeTrigger.isAlive()) return true;
78 if (terrain.getPlugin() instanceof DebrisFieldTerrainPlugin) {
80 if (debris.isScavenged()) return true;
81 }
82 } else if (removeTrigger instanceof PlanetAPI) {
85 if (planet.getMarket() != null && planet.getMarket().getSurveyLevel() == SurveyLevel.FULL) {
86 return true;
87 }
88 }
89 }
90 }
91
92 if (isImportant() || duration == null) return false;
93
94 Long ts = getPlayerVisibleTimestamp();
95 if (ts == null) return false;
97
98// float dur = DEFAULT_DURATION;
99// if (duration != null) dur = duration;
100// return Global.getSector().getClock().getElapsedDaysSince(ts) >= dur;
101 }
102
103
104
105 public String getIconId() {
106 return iconId;
107 }
108
109 public void setIconId(String iconId) {
110 this.iconId = iconId;
111 }
112
113 public void setIcon(String icon) {
114 this.icon = icon;
115 }
116
117 @Override
118 public String getIcon() {
119 if (iconId != null) {
120 return Global.getSettings().getSpriteName("intel", iconId);
121 }
122 if (icon != null) return icon;
123 return Global.getSettings().getSpriteName("intel", "fleet_log");
124 }
125
126 @Override
127 public Set<String> getIntelTags(SectorMapAPI map) {
128 Set<String> tags = super.getIntelTags(map);
129 tags.add(Tags.INTEL_FLEET_LOG);
130 return tags;
131 }
132
136
138 this.removeTrigger = removeTrigger;
139 }
140
141 public String getSound() {
142 return sound;
143 }
144
145 public void setSound(String sound) {
146 this.sound = sound;
147 }
148
149 @Override
150 public String getCommMessageSound() {
151 if (sound != null) return sound;
152 return getSoundLogUpdate();
153 }
154
155}
156
157
158
159
160
static SettingsAPI getSettings()
Definition Global.java:57
static SectorAPI getSector()
Definition Global.java:65
void setKeepExploredDebrisField(Boolean keepExploredDebrisField)
String getSpriteName(String category, String id)