1package com.fs.starfarer.api.impl.campaign.intel;
5import org.lwjgl.input.Keyboard;
7import com.fs.starfarer.api.Global;
8import com.fs.starfarer.api.campaign.FactionAPI;
9import com.fs.starfarer.api.campaign.ReputationActionResponsePlugin.ReputationAdjustmentResult;
10import com.fs.starfarer.api.impl.campaign.ids.Tags;
11import com.fs.starfarer.api.ui.ButtonAPI;
12import com.fs.starfarer.api.ui.IntelUIAPI;
13import com.fs.starfarer.api.ui.SectorMapAPI;
14import com.fs.starfarer.api.ui.TooltipMakerAPI;
15import com.fs.starfarer.api.util.IntervalUtil;
16import com.fs.starfarer.api.util.Misc;
23 public static enum MissionState {
32 public static class MissionResult {
34 public ReputationAdjustmentResult rep1;
35 public ReputationAdjustmentResult rep2;
40 public MissionResult() {
44 public MissionResult(
int payment, ReputationAdjustmentResult rep1) {
45 this(payment, rep1,
null);
48 public MissionResult(
int payment, ReputationAdjustmentResult rep1, ReputationAdjustmentResult rep2) {
49 this.payment = payment;
151 return super.getImportantIcon();
162 return new MissionResult();
189 super.buttonPressConfirmed(buttonId, ui);
198 prompt.addPara(
"Accepting this " +
getMissionTypeNoun() +
" will commit you to completing it. " +
199 "Failing to complete it within the required timeframe will result in a reputation penalty " +
200 "with " + faction.getDisplayNameWithArticle() +
".", 0f,
201 Misc.getTextColor(), faction.getBaseUIColor(), faction.getDisplayNameWithArticleWithoutArticle());
204 prompt.addPara(
"It's been less than a day, and you can still abandon this " +
getMissionTypeNoun() +
" without a penalty.", 0f);
206 prompt.addPara(
"You can abandon this " +
getMissionTypeNoun() +
", but will suffer " +
207 "a reputation penalty with " + faction.getDisplayNameWithArticle() +
".", 0f,
208 Misc.getTextColor(), faction.getBaseUIColor(), faction.getDisplayNameWithArticleWithoutArticle());
211 super.createConfirmationPrompt(buttonId, prompt);
220 return super.doesButtonHaveConfirmDialog(buttonId);
224 Set<String> tags = super.getIntelTags(map);
225 tags.add(Tags.INTEL_MISSIONS);
227 tags.add(Tags.INTEL_ACCEPTED);
236 info.addPara(
"You have accepted this " + noun +
".", opad);
238 info.addPara(
"You have failed this " + noun +
".", opad);
240 info.addPara(
"You have completed this " + noun +
".", opad);
242 info.addPara(
"This " + noun +
" is no longer being offered.", opad);
244 info.addPara(
"You have abandoned this " + noun +
".", opad);
246 info.addPara(
"This " + noun +
" posting may be withdrawn at any time unless it's accepted.",
247 Misc.getHighlightColor(), opad);
255 return " - Completed";
259 return " - Abandoned";
261 return " - Withdrawn";
263 return " - Terminated";
303 (
int)(width), 20f, opad * 2f);
304 button.setShortcut(Keyboard.KEY_T,
true);
314 (
int)(width), 20f, opad * 2f);
315 button.setShortcut(Keyboard.KEY_U,
true);
static SettingsAPI getSettings()
static SectorAPI getSector()
void sendUpdateIfPlayerHasIntel(Object listInfoParam, TextPanelAPI textPanel)
void setImportant(Boolean important)
FactionAPI getFactionForUIColors()
void createConfirmationPrompt(Object buttonId, TooltipMakerAPI prompt)
boolean shouldRemoveIntel()
abstract void endMission()
void advanceImpl(float amount)
static String BUTTON_ABANDON
void addAcceptOrAbandonButton(TooltipMakerAPI info, float width)
abstract MissionResult createTimeRanOutFailedResult()
String getPostfixForState()
abstract MissionResult createAbandonedResult(boolean withPenalty)
IntervalUtil randomCancel
String getMissionTypeNoun()
void addAcceptOrAbandonButton(TooltipMakerAPI info, float width, String accept, String abandon)
void setElapsedDays(float elapsedDays)
boolean doesButtonHaveConfirmDialog(Object buttonId)
boolean canAbandonWithoutPenalty()
abstract void advanceMission(float amount)
String getImportantIcon()
MissionResult createCancelledResult()
void addAcceptButton(TooltipMakerAPI info, float width, String accept)
void initRandomCancel(float prob)
void setMissionState(MissionState missionState)
static String BUTTON_ACCEPT
MissionResult missionResult
MissionState getMissionState()
void buttonPressConfirmed(Object buttonId, IntelUIAPI ui)
MissionResult getMissionResult()
float getNoPenaltyAbandonDays()
void addAbandonButton(TooltipMakerAPI info, float width)
float getTimeRemainingFraction()
void addAcceptButton(TooltipMakerAPI info, float width)
Set< String > getIntelTags(SectorMapAPI map)
void setDuration(Float duration)
void addGenericMissionState(TooltipMakerAPI info)
abstract void missionAccepted()
void addAbandonButton(TooltipMakerAPI info, float width, String abandon)
MissionState missionState
void setMissionResult(MissionResult missionResult)
String getSpriteName(String category, String id)