Starsector API
Loading...
Searching...
No Matches
PirateActivity.java
Go to the documentation of this file.
1package com.fs.starfarer.api.impl.campaign.intel.bases;
2
3import java.awt.Color;
4import java.util.Map;
5
6import com.fs.starfarer.api.impl.campaign.econ.BaseMarketConditionPlugin;
7import com.fs.starfarer.api.ui.TooltipMakerAPI;
8import com.fs.starfarer.api.util.Misc;
9
10public class PirateActivity extends BaseMarketConditionPlugin {
11
13
14 public PirateActivity() {
15 }
16
17 @Override
18 public void setParam(Object param) {
19 intel = (PirateBaseIntel) param;
20 }
21
22
23 public void apply(String id) {
24 float accessibility = intel.getAccessibilityPenalty();
25 float stability = intel.getStabilityPenalty();
26 String name = "Pirate activity";
27 if (accessibility != 0) {
28 market.getAccessibilityMod().modifyFlat(id, -accessibility, name);
29 }
30 if (stability != 0) {
31 market.getStability().modifyFlat(id, -stability, name);
32 }
33 }
34
35 public void unapply(String id) {
36 market.getAccessibilityMod().unmodifyFlat(id);
37 market.getStability().unmodifyFlat(id);
38 }
39
40
41 @Override
42 public void advance(float amount) {
43 if (!intel.getMarket().isInEconomy()) {
44 market.removeSpecificCondition(condition.getIdForPluginModifications());
45 }
46 }
47
48 public Map<String, String> getTokenReplacements() {
49 return super.getTokenReplacements();
50 //return event.getTokenReplacements();
51 }
52
53 @Override
54 public boolean isTransient() {
55 return false;
56 }
57
58 @Override
59 public void createTooltipAfterDescription(TooltipMakerAPI tooltip, boolean expanded) {
60 Color h = Misc.getHighlightColor();
61 Color n = Misc.getNegativeHighlightColor();
62
63 float pad = 3f;
64 float small = 5f;
65 float opad = 10f;
66
67 float accessibility = intel.getAccessibilityPenalty();
68 float stability = intel.getStabilityPenalty();
69
70 if (stability != 0 && accessibility != 0) {
71 tooltip.addPara("%s stability, %s accessibility.",
72 opad, h,
73 "-" + (int)stability, "-" + (int)Math.round(accessibility * 100f) + "%");
74 } else if (stability != 0) {
75 tooltip.addPara("%s stability.",
76 opad, h,
77 "-" + (int)stability);
78 } else if (accessibility != 0) {
79 tooltip.addPara("%s accessibility.",
80 opad, h,
81 "-" + (int)Math.round(accessibility * 100f) + "%");
82 } else {
83 tooltip.addPara("No perceptible impact on operations as of yet.", opad);
84 }
85 }
86
87 @Override
88 public float getTooltipWidth() {
89 return super.getTooltipWidth();
90 }
91
92 @Override
93 public boolean hasCustomTooltip() {
94 return true;
95 }
96
97 @Override
98 public boolean isTooltipExpandable() {
99 return super.isTooltipExpandable();
100 }
101
103 return intel;
104 }
105
106}
107
108
109
110
111
void createTooltipAfterDescription(TooltipMakerAPI tooltip, boolean expanded)