Starsector API
Loading...
Searching...
No Matches
EstablishedPolityScript.java
Go to the documentation of this file.
1package com.fs.starfarer.api.impl.campaign.intel.events;
2
3import com.fs.starfarer.api.Global;
4import com.fs.starfarer.api.campaign.comm.CommMessageAPI.MessageClickAction;
5import com.fs.starfarer.api.campaign.econ.EconomyAPI.EconomyUpdateListener;
6import com.fs.starfarer.api.campaign.econ.MarketAPI;
7import com.fs.starfarer.api.impl.campaign.econ.PiracyRespite;
8import com.fs.starfarer.api.impl.campaign.ids.Conditions;
9import com.fs.starfarer.api.impl.campaign.ids.Sounds;
10import com.fs.starfarer.api.impl.campaign.intel.BaseIntelPlugin;
11import com.fs.starfarer.api.impl.campaign.intel.MessageIntel;
12import com.fs.starfarer.api.impl.campaign.intel.PerseanLeagueMembership;
13import com.fs.starfarer.api.util.Misc;
14
15public class EstablishedPolityScript implements EconomyUpdateListener {
16
17 public static String KEY = "$eps_ref";
18
22
23
24 protected long timestamp;
25
27
29
30 // to avoid duplicates
31 EstablishedPolityScript existing = get();
32 if (existing != null) {
33 return;
34 }
35
38
40 }
41
42 public void sendGainedMessage() {
43 MessageIntel msg = new MessageIntel();
44 msg.addLine("Established Polity gained", Misc.getBasePlayerColor());
45 msg.addLine(BaseIntelPlugin.BULLET + "Colonies receive %s accessibility", Misc.getTextColor(),
46 new String [] {"+" + (int)Math.round(PiracyRespite.ACCESSIBILITY_BONUS * 100f) + "%"},
48 msg.setIcon(Global.getSettings().getSpriteName("events", "established_polity"));
50 Global.getSector().getCampaignUI().addMessage(msg, MessageClickAction.COLONY_INFO);
51 }
52
53 public void commodityUpdated(String commodityId) {
54
55 }
56
57 public void economyUpdated() {
58 //for (MarketAPI curr : Misc.getPlayerMarkets(false)) {
60 if (curr.isPlayerOwned() && curr.getFaction() != null && curr.getFaction().isPlayerFaction()) {
61 if (!curr.hasCondition(Conditions.ESTABLISHED_POLITY)) {
62 curr.addCondition(Conditions.ESTABLISHED_POLITY);
63 }
64 } else {
65 if (curr.hasCondition(Conditions.ESTABLISHED_POLITY)) {
66 curr.removeCondition(Conditions.ESTABLISHED_POLITY);
67 }
68 }
69 }
70 }
71
72 public void cleanup() {
74 //for (MarketAPI curr : Misc.getPlayerMarkets(false)) {
76 if (curr.hasCondition(Conditions.ESTABLISHED_POLITY)) {
77 curr.removeCondition(Conditions.ESTABLISHED_POLITY);
78 }
79 }
80 }
81
82 public boolean isEconomyListenerExpired() {
84 cleanup();
85 return true;
86 }
87 return false;
88 }
89
90}
91
92
93
static SettingsAPI getSettings()
Definition Global.java:57
static SectorAPI getSector()
Definition Global.java:65
static Color getTextColor()
Definition Misc.java:839
static Color getBasePlayerColor()
Definition Misc.java:833
static Color getHighlightColor()
Definition Misc.java:792
String getSpriteName(String category, String id)
void addUpdateListener(EconomyUpdateListener listener)
void set(String key, Object value)