Starsector API
Loading...
Searching...
No Matches
KantasWrathPirateActivityCause2.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.StarSystemAPI;
5import com.fs.starfarer.api.characters.PersonAPI;
6import com.fs.starfarer.api.impl.campaign.ids.MemFlags;
7import com.fs.starfarer.api.impl.campaign.ids.People;
8import com.fs.starfarer.api.impl.campaign.rulecmd.KantaCMD;
9import com.fs.starfarer.api.ui.TooltipMakerAPI;
10import com.fs.starfarer.api.ui.TooltipMakerAPI.TooltipCreator;
11import com.fs.starfarer.api.util.Range;
12
14
15 public static float MAX_MAG = 0.3f;
16
17 public static float MAX_MAG_FOR_REL = 0.15f;
18 public static float MAX_MAG_FOR_BLUFFS = 0.15f;
19 public static float MAG_PER_BLUFF = 0.05f;
20
24
25 @Override
26 public TooltipCreator getTooltip() {
27 return new BaseFactorTooltip() {
28 public void createTooltip(TooltipMakerAPI tooltip, boolean expanded, Object tooltipParam) {
29 tooltip.addPara("Warlord Kanta, the feared pirate queen, is not pleased with you. Lesser "
30 + "pirates see attacking your interests as a way to curry favor with her.", 0f);
31 }
32 };
33 }
34
35 public int getProgress() {
36 float mag = getMagnitudeContribution(null);
37 if (mag <= 0) return 0;
38
39 mag /= MAX_MAG;
40 if (mag > 1f) mag = 1f;
41
42 Range r = new Range("kantasWrathPoints");
43 return r.interpInt(mag);
44// int progress = 5 + (int) Math.round(mag * 10f);
45// return progress;
46 }
47
48 public String getDesc() {
49 return "Kanta's wrath";
50 }
51
52
53 public float getMagnitudeContribution(StarSystemAPI system) {
54 if (KantaCMD.playerHasProtection()) return 0f;
55
56 PersonAPI kanta = People.getPerson(People.KANTA);
57 if (kanta == null) return 0f;
58
59 float rep = kanta.getRelToPlayer().getRel();
60
61 float mag = -1f * rep * MAX_MAG_FOR_REL;
62
63 int bluffs = Global.getSector().getCharacterData().getMemoryWithoutUpdate().getInt(MemFlags.KANTA_BLUFFS);
64
65 mag += MAG_PER_BLUFF * bluffs;
66
67 if (mag > MAX_MAG) mag = MAX_MAG;
68
69 //mag = 0.6f;
70 mag = Math.round(mag * 100f) / 100f;
71 return mag;
72 }
73
74}
static SectorAPI getSector()
Definition Global.java:59