1package com.fs.starfarer.api.impl.campaign.intel.bar.events;
8import com.fs.starfarer.api.Global;
9import com.fs.starfarer.api.campaign.CampaignFleetAPI;
10import com.fs.starfarer.api.campaign.CargoAPI;
11import com.fs.starfarer.api.campaign.FactionAPI;
12import com.fs.starfarer.api.campaign.InteractionDialogAPI;
13import com.fs.starfarer.api.campaign.RepLevel;
14import com.fs.starfarer.api.campaign.RuleBasedDialog;
15import com.fs.starfarer.api.campaign.SectorEntityToken;
16import com.fs.starfarer.api.campaign.TextPanelAPI;
17import com.fs.starfarer.api.campaign.ReputationActionResponsePlugin.ReputationAdjustmentResult;
18import com.fs.starfarer.api.campaign.econ.MarketAPI;
19import com.fs.starfarer.api.campaign.rules.MemoryAPI;
20import com.fs.starfarer.api.characters.PersonAPI;
21import com.fs.starfarer.api.impl.campaign.CoreReputationPlugin;
22import com.fs.starfarer.api.impl.campaign.CoreReputationPlugin.CustomRepImpact;
23import com.fs.starfarer.api.impl.campaign.CoreReputationPlugin.RepActionEnvelope;
24import com.fs.starfarer.api.impl.campaign.CoreReputationPlugin.RepActions;
25import com.fs.starfarer.api.impl.campaign.ids.MemFlags;
26import com.fs.starfarer.api.impl.campaign.ids.Tags;
27import com.fs.starfarer.api.impl.campaign.intel.BaseIntelPlugin;
28import com.fs.starfarer.api.impl.campaign.intel.bar.events.BarEventManager.GenericBarEventCreator;
29import com.fs.starfarer.api.impl.campaign.intel.contacts.ContactIntel;
30import com.fs.starfarer.api.impl.campaign.rulecmd.AddRemoveCommodity;
31import com.fs.starfarer.api.ui.SectorMapAPI;
32import com.fs.starfarer.api.ui.TooltipMakerAPI;
33import com.fs.starfarer.api.util.Misc;
34import com.fs.starfarer.api.util.Misc.Token;
91 return event.getPerson();
95 return event.getRepaymentDays();
100 String action = params.get(0).getString(memoryMap);
110 if (action.equals(
"putValuesInMemory")) {
117 }
else if (action.equals(
"canPay")) {
118 return cargo.
getCredits().
get() >=
event.getRepaymentAmount();
119 }
else if (action.equals(
"payLoan")) {
121 }
else if (action.equals(
"extendLoan")) {
123 }
else if (action.equals(
"applyExtendLoanRepLoss")) {
125 }
else if (action.equals(
"notPaying")) {
127 }
else if (action.equals(
"noPaymentMessage")) {
129 }
else if (action.equals(
"isMajorLoan")) {
144 super.notifyEnding();
165 float extension =
event.getRepaymentDays();
169 GenericBarEventCreator creator =
null;
180 if (creator !=
null) {
186 CustomRepImpact impact =
new CustomRepImpact();
187 impact.delta = -0.05f;
191 new RepActionEnvelope(RepActions.CUSTOM,
192 impact,
null, dialog !=
null ? dialog.
getTextPanel() :
null,
true,
true),
195 impact =
new CustomRepImpact();
196 impact.delta = -0.02f;
200 new RepActionEnvelope(RepActions.CUSTOM,
201 impact,
null, dialog !=
null ? dialog.
getTextPanel() :
null,
true,
true),
213 if (dialog !=
null) {
218 CustomRepImpact impact =
new CustomRepImpact();
219 impact.delta = 0.05f;
222 new RepActionEnvelope(RepActions.CUSTOM,
223 impact,
null, dialog !=
null ? dialog.
getTextPanel() :
null,
true,
true),
226 impact =
new CustomRepImpact();
227 impact.delta = 0.02f;
230 new RepActionEnvelope(RepActions.CUSTOM,
231 impact,
null, dialog !=
null ? dialog.
getTextPanel() :
null,
true,
true),
248 CustomRepImpact impact =
new CustomRepImpact();
253 new RepActionEnvelope(RepActions.CUSTOM,
254 impact,
null, dialog !=
null ? dialog.
getTextPanel() :
null, dialog !=
null, dialog !=
null),
257 if (dialog ==
null) {
269 super.advanceImpl(amount);
284 float soonDays = dist / 1500 + 10f;
301 if (mode == ListInfoMode.IN_DESC) initPad = opad;
310 if (mode == ListInfoMode.IN_DESC) {
322 null,
null, info, tc, isUpdate, initPad);
342 return "Loan Repaid";
344 return "Loan Repayment - Failed";
346 return "Loan Repayment - Due Soon";
348 return "Loan Repayment";
354 return event.getPerson().getFaction();
377 info.
addPara(
"You've accepted a loan from " + p.
getNameString() +
" and must repay it on time, " +
392 return event.getPerson().getPortraitSprite();
396 Set<String> tags = super.getIntelTags(map);
static SectorAPI getSector()
static void addAdjustmentMessage(float delta, FactionAPI faction, PersonAPI person, TextPanelAPI panel, TooltipMakerAPI info, Color tc, boolean withCurrent, float pad)
static final String MEMORY_KEY_MISSION_IMPORTANT
void unindent(TooltipMakerAPI info)
void addDays(TooltipMakerAPI info, String after, float days)
void sendUpdateIfPlayerHasIntel(Object listInfoParam, TextPanelAPI textPanel)
Object getListInfoParam()
Color getBulletColorForMode(ListInfoMode mode)
void bullet(TooltipMakerAPI info)
Color getTitleColor(ListInfoMode mode)
TimeoutTracker< GenericBarEventCreator > getTimeout()
static BarEventManager getInstance()
List< GenericBarEventCreator > getCreators()
TriTachLoanIntel(TriTachLoanBarEvent event, MarketAPI market)
void createIntelInfo(TooltipMakerAPI info, ListInfoMode mode)
void extendLoan(InteractionDialogAPI dialog)
SectorEntityToken getMapLocation(SectorMapAPI map)
void noPaymentMessage(InteractionDialogAPI dialog)
TriTachLoanBarEvent event
FactionAPI getFactionForUIColors()
TriTachLoanBarEvent getEvent()
Set< String > getIntelTags(SectorMapAPI map)
boolean callEvent(String ruleId, final InteractionDialogAPI dialog, List< Token > params, Map< String, MemoryAPI > memoryMap)
ReputationAdjustmentResult repResult
void endWithPayment(InteractionDialogAPI dialog)
void createSmallDescription(TooltipMakerAPI info, float width, float height)
String getSmallDescriptionTitle()
static final String NUM_REPAID_LOANS
void applyExtendLoanRepLoss(InteractionDialogAPI dialog)
void addBulletPoints(TooltipMakerAPI info, ListInfoMode mode)
void setMajorLoan(boolean majorLoan)
void advanceImpl(float amount)
void endNoPayment(InteractionDialogAPI dialog)
static void addCreditsLossText(int credits, TextPanelAPI text)
static Color getTextColor()
static String getDGSCredits(float num)
static Color getGrayColor()
static float getDistance(SectorEntityToken from, SectorEntityToken to)
static float getDays(float amount)
static Color getHighlightColor()
static boolean setFlagWithReason(MemoryAPI memory, String flagKey, String reason, boolean value, float expire)
MutableValue getCredits()
void removePerson(PersonAPI person)
String addPerson(PersonAPI person)
String getDisplayNameWithArticleWithoutArticle()
String getDisplayNameWithArticle()
TextPanelAPI getTextPanel()
VisualPanelAPI getVisualPanel()
InteractionDialogPlugin getPlugin()
SectorEntityToken getInteractionTarget()
CampaignFleetAPI getPlayerFleet()
void addScript(EveryFrameScript script)
ReputationAdjustmentResult adjustPlayerReputation(Object action, String factionId)
void removeScript(EveryFrameScript script)
MemoryAPI getMemoryWithoutUpdate()
void setActivePerson(PersonAPI activePerson)
Vector2f getLocationInHyperspace()
void showPersonInfo(PersonAPI person)
void addPerson(PersonAPI person)
CommDirectoryAPI getCommDirectory()
Vector2f getLocationInHyperspace()
void removePerson(PersonAPI person)
SectorEntityToken getPrimaryEntity()
float getFloat(String key)
void set(String key, Object value)
String getPortraitSprite()
MemoryAPI getMemoryWithoutUpdate()