1package com.fs.starfarer.api.impl.campaign.intel;
7import org.lwjgl.input.Keyboard;
9import com.fs.starfarer.api.Global;
10import com.fs.starfarer.api.campaign.CampaignFleetAPI;
11import com.fs.starfarer.api.campaign.StoryPointActionDelegate;
12import com.fs.starfarer.api.campaign.TextPanelAPI;
13import com.fs.starfarer.api.characters.MutableCharacterStatsAPI;
14import com.fs.starfarer.api.characters.PersonAPI;
15import com.fs.starfarer.api.characters.SkillSpecAPI;
16import com.fs.starfarer.api.impl.campaign.events.OfficerManagerEvent;
17import com.fs.starfarer.api.impl.campaign.events.OfficerManagerEvent.SkillPickPreference;
18import com.fs.starfarer.api.impl.campaign.ids.Factions;
19import com.fs.starfarer.api.impl.campaign.ids.Ranks;
20import com.fs.starfarer.api.impl.campaign.ids.Sounds;
21import com.fs.starfarer.api.impl.campaign.ids.Tags;
22import com.fs.starfarer.api.impl.campaign.rulecmd.SetStoryOption.BaseOptionStoryPointActionDelegate;
23import com.fs.starfarer.api.impl.campaign.rulecmd.SetStoryOption.StoryOptionParams;
24import com.fs.starfarer.api.ui.ButtonAPI;
25import com.fs.starfarer.api.ui.IntelUIAPI;
26import com.fs.starfarer.api.ui.LabelAPI;
27import com.fs.starfarer.api.ui.SectorMapAPI;
28import com.fs.starfarer.api.ui.TooltipMakerAPI;
29import com.fs.starfarer.api.util.Misc;
47 SkillPickPreference.ANY,
true,
null,
false,
false, -1,
null);
66 return "Officer Promotion Candidate";
89 if (mode == ListInfoMode.IN_DESC) initPad = opad;
99 String skillName = spec.
getName();
101 skillName +=
" (Elite)";
103 info.
addPara(
"Skill: " + skillName, initPad, tc, h, skillName);
107 info.
addPara(
"Personality: %s", initPad, tc, h, pName);
112 String themselves =
"himself";
114 return "A junior officer, " +
person.
getNameString() +
", has distinguished " + themselves +
115 " recently and is worthy of consideration for " +
116 "the command of a ship.";
148 LabelAPI label = info.
addPara(
"Officers already under your command: %s %s %s", opad, tc, h,
149 "" + curr,
"/",
"" + max);
215 StoryOptionParams params =
new StoryOptionParams(
null, 1,
"promoteCrewMember",
217 "Promoted promising junior officer to ship command");
218 return new BaseOptionStoryPointActionDelegate(
null, params) {
220 public void confirm() {
229 public String getTitle() {
237 super.createDescription(info);
252 Set<String> tags = super.getIntelTags(map);
264 return super.getCommMessageSound();
static SettingsAPI getSettings()
static SectorAPI getSector()
static String pickPortraitPreferNonDuplicate(FactionAPI faction, Gender gender)
AvailableOfficer createOfficer(boolean isMerc, MarketAPI market, Random random)
static final String PLAYER
static String POST_OFFICER
static String STORY_POINT_SPEND_LEADERSHIP
String getSortStringNewestFirst()
void addLogTimestamp(TooltipMakerAPI info, Color tc, float opad)
String getDays(float days)
void unindent(TooltipMakerAPI info)
ButtonAPI addGenericButton(TooltipMakerAPI info, float width, String text, Object data)
void addDeleteButton(TooltipMakerAPI info, float width)
Color getBulletColorForMode(ListInfoMode mode)
float getDaysSincePlayerVisible()
void setImportant(Boolean important)
static String getDaysString(float days)
void bullet(TooltipMakerAPI info)
Color getTitleColor(ListInfoMode mode)
static Color getStoryOptionColor()
static Color getTextColor()
static int getMaxOfficers(CampaignFleetAPI fleet)
static String lcFirst(String str)
static Color getStoryDarkColor()
static Color getNegativeHighlightColor()
static Color getGrayColor()
static Color getHighlightColor()
static String getPersonalityName(PersonAPI person)
static int getNumNonMercOfficers(CampaignFleetAPI fleet)
SkillSpecAPI getSkillSpec(String skillId)
List< String > getSortedSkillIds()
FleetDataAPI getFleetData()
void removeCrew(int quantity)
void addOfficer(PersonAPI person)
CampaignFleetAPI getPlayerFleet()
FactionAPI getFaction(String factionId)
LabelAPI addPara(String text)
float getSkillLevel(String id)
String getPortraitSprite()
void setPortraitSprite(String portraitSprite)
MutableCharacterStatsAPI getStats()
PersonalityAPI getPersonalityAPI()
void setPostId(String postId)
void setHighlightColors(Color ... colors)