Starsector API
Loading...
Searching...
No Matches
ZigguratCMD.java
Go to the documentation of this file.
1package com.fs.starfarer.api.impl.campaign.rulecmd.salvage;
2
3import java.util.List;
4import java.util.Map;
5
6import com.fs.starfarer.api.Global;
7import com.fs.starfarer.api.campaign.CampaignFleetAPI;
8import com.fs.starfarer.api.campaign.InteractionDialogAPI;
9import com.fs.starfarer.api.campaign.OptionPanelAPI;
10import com.fs.starfarer.api.campaign.SectorEntityToken;
11import com.fs.starfarer.api.campaign.TextPanelAPI;
12import com.fs.starfarer.api.campaign.rules.MemoryAPI;
13import com.fs.starfarer.api.fleet.FleetMemberAPI;
14import com.fs.starfarer.api.impl.campaign.missions.DelayedFleetEncounter;
15import com.fs.starfarer.api.impl.campaign.missions.academy.GAPZPostEncounters;
16import com.fs.starfarer.api.impl.campaign.rulecmd.BaseCommandPlugin;
17import com.fs.starfarer.api.util.Misc;
18import com.fs.starfarer.api.util.Misc.Token;
19
23public class ZigguratCMD extends BaseCommandPlugin {
24
25 protected CampaignFleetAPI playerFleet;
26 protected SectorEntityToken entity;
27 protected TextPanelAPI text;
28 protected OptionPanelAPI options;
29 protected MemoryAPI memory;
30 protected InteractionDialogAPI dialog;
31 protected Map<String, MemoryAPI> memoryMap;
32
33
34 public ZigguratCMD() {
35 }
36
37 public ZigguratCMD(SectorEntityToken entity) {
38 init(entity);
39 }
40
41 protected void init(SectorEntityToken entity) {
42 memory = entity.getMemoryWithoutUpdate();
43 this.entity = entity;
44 playerFleet = Global.getSector().getPlayerFleet();
45
46
47 }
48
49 public boolean execute(String ruleId, InteractionDialogAPI dialog, List<Token> params, Map<String, MemoryAPI> memoryMap) {
50 this.dialog = dialog;
51 this.memoryMap = memoryMap;
52
53 String command = params.get(0).getString(memoryMap);
54 if (command == null) return false;
55
56 entity = dialog.getInteractionTarget();
57 init(entity);
58
60
61 text = dialog.getTextPanel();
62 options = dialog.getOptionPanel();
63
64 if (command.equals("initEncounters")) {
66 } else if (command.equals("createSecondDiktatEncounter")) {
68 } else if (command.equals("abortSecondDiktatEncounter")) {
70 } else if (command.equals("updateData")) {
71 updateData();
72 }
73
74 return true;
75 }
76
77 protected void updateData() {
78 boolean hasZiggurat = false;
79 boolean hasNonZiggurat = false;
80 for (FleetMemberAPI member : playerFleet.getFleetData().getMembersListCopy()) {
81 if (member.getHullSpec().getBaseHullId().equals("ziggurat")) {
82 memory.set("$zigguratShipName", member.getShipName(), 0f);
83 memory.set("$zigguratMember", member, 0f);
84 hasZiggurat = true;
85 } else {
86 hasNonZiggurat = true;
87 }
88 }
89 memory.set("$hasZiggurat", hasZiggurat, 0f);
90 memory.set("$hasNonZiggurat", hasNonZiggurat, 0f);
91 memory.set("$hasOnlyZiggurat", hasZiggurat && !hasNonZiggurat, 0f);
92
93 memory.set("$ttZigBuyPrice", Misc.getWithDGS(2000000), 0f);
94 memory.set("$ttZigLowBuyPrice", Misc.getWithDGS(100000), 0f);
95 }
96
97 protected void initEncounters() {
98 GAPZPostEncounters.init();
99 }
100
102 DelayedFleetEncounter e = GAPZPostEncounters.createSecondDiktatEncounter();
103 memory.set("$gaPZ_secondDiktatEncounter", e, 0);
104 }
105
106 protected void abortSecondDiktatEncounter() {
107 DelayedFleetEncounter e = (DelayedFleetEncounter)memory.get("$gaPZ_secondDiktatEncounter");
108 if (e != null) {
109 e.setAlwaysAbort();
110 }
111 }
112
113}
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
static SectorAPI getSector()
Definition Global.java:59
static MemoryAPI getEntityMemory(Map< String, MemoryAPI > memoryMap)
boolean execute(String ruleId, InteractionDialogAPI dialog, List< Token > params, Map< String, MemoryAPI > memoryMap)