1package com.fs.starfarer.api.impl.campaign.intel;
6import org.lwjgl.input.Keyboard;
8import com.fs.starfarer.api.Global;
9import com.fs.starfarer.api.campaign.FactionAPI;
10import com.fs.starfarer.api.campaign.InteractionDialogAPI;
11import com.fs.starfarer.api.campaign.SectorEntityToken;
12import com.fs.starfarer.api.campaign.TextPanelAPI;
13import com.fs.starfarer.api.campaign.econ.EconomyAPI.EconomyUpdateListener;
14import com.fs.starfarer.api.campaign.econ.MarketAPI;
15import com.fs.starfarer.api.impl.campaign.ids.Conditions;
16import com.fs.starfarer.api.impl.campaign.ids.Factions;
17import com.fs.starfarer.api.impl.campaign.ids.Tags;
18import com.fs.starfarer.api.ui.ButtonAPI;
19import com.fs.starfarer.api.ui.IntelUIAPI;
20import com.fs.starfarer.api.ui.LabelAPI;
21import com.fs.starfarer.api.ui.SectorMapAPI;
22import com.fs.starfarer.api.ui.TooltipMakerAPI;
23import com.fs.starfarer.api.util.Misc;
27 public static enum AgreementEndingType {
53 public static String
KEY =
"$triTachDeal_ref";
63 protected AgreementEndingType
endType =
null;
108 return "Tri-Tachyon Strategic Partnership";
147 if (factionId.equals(curr.getFactionId())) {
149 size += curr.getSize();
171 if (mode == ListInfoMode.IN_DESC) initPad = opad;
188 label = info.
addPara(fName +
" colonies receive %s accessibility", initPad, tc, h,
"+" + accessPlayer +
"%");
194 label = info.
addPara(fName +
" colonies receive %s accessibility", initPad, tc, h,
"+" + accessTriTach +
"%");
213 info.
addPara(
"Your agreement with the Tri-Tachyon Corporation is no longer in force.", opad);
217 info.
addPara(
"A partnership with the %s that allows you to leverage your combined market power "
222 info.
addPara(
"Each partner's accessibility bonus is based "
223 +
"on the total size of the colonies of the other partner.", opad);
225 info.
addPara(
"The contract is carefully worded to survive even in the face of open hostilities, and is, "
226 +
"from a legal perspective, perpetually binding.", opad);
228 info.
addPara(
"You can of course decide to end this partnership unilaterally, but there "
229 +
"would be no possibility of re-negotiating a similar deal after displaying such a lack of respect "
230 +
"for your contractual obligations.", opad);
234 (
int)(width), 20f, opad * 1f);
245 Set<String> tags = super.getIntelTags(map);
273 if (dialog !=
null) {
277 if (type == AgreementEndingType.BROKEN) {
292 super.buttonPressConfirmed(buttonId, ui);
299 prompt.
addPara(
"You can decide to end this partnership unilaterally, but taking this action would "
300 +
"hurt your standing with %s, and there "
301 +
"would be no possibility of re-negotiating a similar deal after displaying such a lack of respect "
302 +
"for your contractual obligations.", 0f,
313 return super.doesButtonHaveConfirmDialog(buttonId);
336 curr.getAccessibilityMod().modifyFlat(
ACCESS_MOD_ID, mod, desc);
static SettingsAPI getSettings()
static SectorAPI getSector()
static final String DECIVILIZED
static final String TRITACHYON
static final String PLAYER
boolean isSendingUpdate()
void sendUpdate(Object listInfoParam, TextPanelAPI textPanel)
void unindent(TooltipMakerAPI info)
Object getListInfoParam()
Color getBulletColorForMode(ListInfoMode mode)
void setImportant(Boolean important)
void bullet(TooltipMakerAPI info)
static float MARKET_SIZE_TO_ACCESSIBILITY
void createConfirmationPrompt(Object buttonId, TooltipMakerAPI prompt)
void buttonPressConfirmed(Object buttonId, IntelUIAPI ui)
static boolean brokeDeal()
void endAgreement(AgreementEndingType type, InteractionDialogAPI dialog)
String getAcceptedPostfix()
String getBrokenPostfix()
SectorEntityToken getMapLocation(SectorMapAPI map)
static final String HAS_TRI_TACH_DEAL
static String UPDATE_PARAM_ACCEPTED
static float REP_FOR_BREAKING_DEAL
static final String BROKE_TRI_TACH_DEAL
void unapplyAccessModifier()
void createSmallDescription(TooltipMakerAPI info, float width, float height)
static String ACCESS_MOD_ID
float computeColonySize(String factionId)
TriTachyonDeal(InteractionDialogAPI dialog)
void addBulletPoints(TooltipMakerAPI info, ListInfoMode mode)
Set< String > getIntelTags(SectorMapAPI map)
boolean doesButtonHaveConfirmDialog(Object buttonId)
float computeAccessibilityBonusTriTach()
String getImportantIcon()
String getSmallDescriptionTitle()
float computeAccessibilityBonusPlayer()
void commodityUpdated(String commodityId)
AgreementEndingType endType
static void setHasDeal(boolean deal)
static void setBrokeDeal(boolean broke)
FactionAPI getFactionForUIColors()
boolean isEconomyListenerExpired()
static Color getTextColor()
static void incrUntrustwortyCount()
static Color getBasePlayerColor()
static Color getGrayColor()
static void adjustRep(float repChangeFaction, RepLevel limit, String factionId, float repChangePerson, RepLevel personLimit, PersonAPI person, TextPanelAPI text)
static Color getHighlightColor()
String getSpriteName(String category, String id)
String getDisplayNameLong()
TextPanelAPI getTextPanel()
MemoryAPI getPlayerMemoryWithoutUpdate()
FactionAPI getPlayerFaction()
IntelManagerAPI getIntelManager()
FactionAPI getFaction(String factionId)
MemoryAPI getMemoryWithoutUpdate()
void addIntel(IntelInfoPlugin plugin)
void addUpdateListener(EconomyUpdateListener listener)
List< MarketAPI > getMarketsCopy()
void removeUpdateListener(EconomyUpdateListener listener)
void set(String key, Object value)
boolean getBoolean(String key)
void setHighlight(int start, int end)
void setHighlightColors(Color ... colors)