1package com.fs.starfarer.api.impl.campaign.intel.bar.events;
4import java.util.ArrayList;
7import com.fs.starfarer.api.Global;
8import com.fs.starfarer.api.campaign.CargoAPI;
9import com.fs.starfarer.api.campaign.CargoAPI.CargoItemType;
10import com.fs.starfarer.api.campaign.PersonImportance;
11import com.fs.starfarer.api.campaign.TextPanelAPI;
12import com.fs.starfarer.api.campaign.econ.CommoditySpecAPI;
13import com.fs.starfarer.api.campaign.econ.Industry;
14import com.fs.starfarer.api.campaign.econ.MarketAPI;
15import com.fs.starfarer.api.characters.PersonAPI;
16import com.fs.starfarer.api.impl.campaign.CoreReputationPlugin.CustomRepImpact;
17import com.fs.starfarer.api.impl.campaign.CoreReputationPlugin.RepActionEnvelope;
18import com.fs.starfarer.api.impl.campaign.CoreReputationPlugin.RepActions;
19import com.fs.starfarer.api.impl.campaign.econ.impl.BaseIndustry;
20import com.fs.starfarer.api.impl.campaign.ids.Commodities;
21import com.fs.starfarer.api.impl.campaign.ids.Factions;
22import com.fs.starfarer.api.impl.campaign.ids.Industries;
23import com.fs.starfarer.api.impl.campaign.ids.Ranks;
24import com.fs.starfarer.api.impl.campaign.ids.Tags;
25import com.fs.starfarer.api.impl.campaign.intel.contacts.ContactIntel;
26import com.fs.starfarer.api.impl.campaign.rulecmd.AddRemoveCommodity;
27import com.fs.starfarer.api.util.Misc;
28import com.fs.starfarer.api.util.WeightedRandomPicker;
37 if (!super.shouldShowAtMarket(
market))
return false;
44 boolean hasMilitaryBase =
false;
47 hasMilitaryBase =
true;
51 if (!hasMilitaryBase)
return false;
61 String[] possible =
new String[] {
70 List <String> playerHas =
new ArrayList<String>();
71 List <String> playerNotHas =
new ArrayList<String>();
77 for (String c : possible) {
78 int q = (int) cargo.
getQuantity(CargoItemType.RESOURCES, c);
88 if (playerHas.isEmpty() || playerNotHas.isEmpty())
return null;
96 String pick = take.
pick();
126 super.adjustPerson(
person);
166 return "None other than the station's quartermaster, who looks rather sullen, is sitting at the bar.";
171 return "Approach the quartermaster and offer to buy " +
getHimOrHer() +
" a drink";
181 String units =
"units";
182 if (qty == 1) units =
"unit";
184 return "In venerated tradition going back thousands of cycles, the quartermaster " +
185 "vents to you about how " +
getHisOrHer() +
" provision request got mixed up and " +
188 "computer fried on rads would do a better job than the idiots in Fleet Supply,\" " +
190 "slamming the glass down.\n\n" +
217 return "Do nothing but commiserate with the quartermaster as you finish your drink.";
224 return "You exchange comms with the quartermaster and the very next day " +
getHeOrShe() +
225 " smoothes things along with the port authorities and arranges for the quickest cargo " +
226 "transfer you've ever seen, trading your %s " + give.
getLowerCaseName() +
" for " +
228 "sends you a personal thank-you note.";
248 CustomRepImpact impact =
new CustomRepImpact();
252 new RepActionEnvelope(RepActions.CUSTOM,
253 impact,
null,
text,
true,
true),
256 impact =
new CustomRepImpact();
257 impact.delta = 0.03f;
259 new RepActionEnvelope(RepActions.CUSTOM,
260 impact,
null,
text,
true,
true),
269 return "You drink to the bureaucrats in Fleet Supply \"mistaking the airlock for " +
270 "the head-hatch\", empty your glass, and make your exit.";
static SettingsAPI getSettings()
static SectorAPI getSector()
static final String HEAVY_MACHINERY
static final String SUPPLIES
static final String METALS
static final String RARE_METALS
static final String HAND_WEAPONS
static final String HEGEMONY
static final String TAG_COMMAND
static final String TAG_MILITARY
static String POST_SUPPLY_OFFICER
static String SPACE_COMMANDER
transient TextPanelAPI text
transient InteractionDialogAPI dialog
void regen(MarketAPI market)
String[] getMainTextTokens()
boolean shouldShowAtMarket(MarketAPI market)
String getPersonFaction()
String playerGiveCommodity
Color[] getMainTextColors()
String[] getAcceptTextTokens()
void doExtraConfirmActions()
void adjustPerson(PersonAPI person)
Color[] getAcceptTextColors()
QuartermasterCargoSwapBarEvent()
static void addCommodityLossText(String commodityId, int quantity, TextPanelAPI text)
static String getWithDGS(float num)
static Color getHighlightColor()
void addAll(Collection< T > items)
CommoditySpecAPI getCommoditySpec(String commodityId)
float getQuantity(CargoAPI.CargoItemType type, Object data)
void removeCommodity(String id, float quantity)
PersonAPI createRandomPerson()
TextPanelAPI getTextPanel()
CampaignFleetAPI getPlayerFleet()
ReputationAdjustmentResult adjustPlayerReputation(Object action, String factionId)
FactionAPI getFaction(String factionId)
String getLowerCaseName()
List< Industry > getIndustries()
List< PersonAPI > getPeopleCopy()
void setImportanceAndVoice(PersonImportance importance, Random random)
void setRankId(String rank)
void setPostId(String postId)