Starsector API
Loading...
Searching...
No Matches
DeliveryMission.java
Go to the documentation of this file.
1package com.fs.starfarer.api.impl.campaign.rulecmd.missions;
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.CargoAPI;
9import com.fs.starfarer.api.campaign.FactionAPI;
10import com.fs.starfarer.api.campaign.InteractionDialogAPI;
11import com.fs.starfarer.api.campaign.OptionPanelAPI;
12import com.fs.starfarer.api.campaign.SectorEntityToken;
13import com.fs.starfarer.api.campaign.TextPanelAPI;
14import com.fs.starfarer.api.campaign.comm.IntelInfoPlugin;
15import com.fs.starfarer.api.campaign.econ.MarketAPI;
16import com.fs.starfarer.api.campaign.rules.MemoryAPI;
17import com.fs.starfarer.api.impl.campaign.intel.bar.events.DeliveryMissionIntel;
18import com.fs.starfarer.api.impl.campaign.rulecmd.BaseCommandPlugin;
19import com.fs.starfarer.api.impl.campaign.rulecmd.salvage.MarketCMD;
20import com.fs.starfarer.api.util.Misc.Token;
21
25public class DeliveryMission extends BaseCommandPlugin {
26
31 protected TextPanelAPI text;
34 protected MemoryAPI memory;
35 protected MarketAPI market;
37 protected Map<String, MemoryAPI> memoryMap;
39
40
41 public DeliveryMission() {
42
43 }
44
58
59 public boolean execute(String ruleId, InteractionDialogAPI dialog, List<Token> params, Map<String, MemoryAPI> memoryMap) {
60 this.dialog = dialog;
61 this.memoryMap = memoryMap;
62
63 String command = params.get(0).getString(memoryMap);
64 if (command == null) return false;
65
67 init(entity);
68
70
73
74 if (command.equals("completeMissions")) {
76 } else if (command.equals("checkCompletion")) {
77 return checkCompletion();
78 }
79
80
81
82 return true;
83 }
84
85 protected boolean checkCompletion() {
88 if (!intel.isAccepted()) continue;
89 if (intel.isEnding()) continue;
90
91 MarketAPI dest = intel.getDestination();
92 if (dest != market) continue;
93
94 if (intel.hasEnough()) return true;
95 }
96 return false;
97 }
98
99 protected void completeMissions() {
100 dialog.getTextPanel().addPara("You contact the relevant parties and drop off the cargo at the agreed-upon dockside locations.");
101
104 if (!intel.isAccepted()) continue;
105 if (intel.isEnding()) continue;
106
107 MarketAPI dest = intel.getDestination();
108 if (dest != market) continue;
109
110 if (intel.hasEnough()) {
111 intel.performDelivery(dialog);
112 }
113 }
114
117
118 }
119
120
121}
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
static SectorAPI getSector()
Definition Global.java:65
static MemoryAPI getEntityMemory(Map< String, MemoryAPI > memoryMap)
boolean execute(String ruleId, InteractionDialogAPI dialog, List< Token > params, Map< String, MemoryAPI > memoryMap)
void addOption(String text, Object data)