1package com.fs.starfarer.api.impl.campaign.intel.bar.events;
5import com.fs.starfarer.api.campaign.econ.CommodityOnMarketAPI;
6import com.fs.starfarer.api.campaign.econ.MarketAPI;
7import com.fs.starfarer.api.characters.PersonAPI;
8import com.fs.starfarer.api.impl.campaign.econ.impl.BaseIndustry;
9import com.fs.starfarer.api.impl.campaign.ids.Commodities;
10import com.fs.starfarer.api.impl.campaign.ids.Factions;
11import com.fs.starfarer.api.impl.campaign.ids.Ranks;
12import com.fs.starfarer.api.impl.campaign.ids.Tags;
13import com.fs.starfarer.api.impl.campaign.intel.contacts.ContactIntel;
14import com.fs.starfarer.api.util.Misc;
23 if (!super.shouldShowAtMarket(
market))
return false;
26 if (!
market.getFactionId().equals(Factions.LUDDIC_CHURCH) &&
27 !
market.getFactionId().equals(Factions.LUDDIC_PATH)) {
31 if (
market.getStabilityValue() < 4)
return false;
34 if (com.getMaxSupply() <= 0)
return false;
35 if (com.getAvailable() < com.getMaxDemand())
return false;
42 return Commodities.DOMESTIC_GOODS;
52 super.adjustPerson(
person);
54 person.addTag(Tags.CONTACT_TRADE);
59 return Ranks.POST_GUILDMASTER;
64 return Factions.LUDDIC_CHURCH;
77 int size = Math.min(com.getAvailable(), com.getMaxSupply());
78 if (size < 1) size = 1;
79 quantity *= Math.max(1, BaseIndustry.getSizeMult(size) - 2);
90 return "A tough looking " +
getManOrWoman() +
" whose worn but well-tailored work suit bears the " +
91 "sigil of a crafts guild sits at a corner table bearing the remnants of a spare meal.";
97 return "Strike up a conversation with the tough-looking " +
getManOrWoman() +
"";
105 return "You buy " + himOrHer +
" a drink and strike up a conversation. " +
106 Misc.ucFirst(heOrShe) +
" turns out to be one of the masters of a local craft guild " +
107 " with a bit of a problem. \"His holiness, the Curate Astropolitan, turns his mind to spiritual " +
108 "rather than practical matters.\" " +
109 Misc.ucFirst(heOrShe) +
" explains that the commercial bureaucracy of " +
market.getName() +
110 " is understaffed and overworked. \"Ludd forgive me, but bills aren't paid by prayer.\"\n\n" +
111 Misc.ucFirst(heOrShe) +
" explains that there are %s units of domestic goods gathering dust " +
112 "in a guild warehouse. If they could be quietly sold at even the under-market price " +
113 "of %s each, don't mind the tariffs, it'd be nothing more than an act of charity.";
118 return new String [] { Misc.getWithDGS(
quantity), Misc.getDGSCredits(
unitPrice) };
122 return new Color [] { Misc.getHighlightColor(), Misc.getHighlightColor() };
127 return "Accept the deal and transfer " + Misc.getDGSCredits(
unitPrice *
quantity) +
" to the guild";
132 return "Decline the deal; \"Patience is a virtue, after all\"";
137 return "\"Praise be to Providence for bringing you to me!\" exclaims the guild-master " +
138 "with a broad smile and a clap on the back. Soon enough, your cargo manifest " +
139 "counts %s additional units of domestic goods, \"recovered from deep space salvage\".";
144 return new String [] { Misc.getWithDGS(
quantity)};
148 return new Color [] {Misc.getHighlightColor() };
transient TextPanelAPI text
PersonImportance pickMediumImportance()
void regen(MarketAPI market)
void adjustPerson(PersonAPI person)
void doExtraConfirmActions()
Color[] getAcceptTextColors()
String[] getAcceptTextTokens()
String[] getMainTextTokens()
boolean shouldShowAtMarket(MarketAPI market)
String getPersonFaction()
Color[] getMainTextColors()