001package com.fs.starfarer.api.impl.campaign.econ; 002 003import java.awt.Color; 004 005import com.fs.starfarer.api.Global; 006import com.fs.starfarer.api.impl.campaign.intel.PerseanLeagueMembership; 007import com.fs.starfarer.api.impl.campaign.intel.events.EstablishedPolityScript; 008import com.fs.starfarer.api.ui.TooltipMakerAPI; 009import com.fs.starfarer.api.util.Misc; 010 011public class EstablishedPolity extends BaseMarketConditionPlugin { 012 013 public static float ACCESSIBILITY_BONUS = 0.1f; 014 015 public static String NAME_BASE = "Established Polity"; 016 public static String NAME_LEAGUE = "League development programs"; 017 018 public EstablishedPolity() { 019 } 020 021 public void apply(String id) { 022 String text = Misc.ucFirst(getName().toLowerCase()); 023// if (PerseanLeagueMembership.isLeagueMember()) { 024// text = "New Persean League member"; 025// } 026 market.getAccessibilityMod().modifyFlat(id, ACCESSIBILITY_BONUS, text); 027 } 028 029 public void unapply(String id) { 030 market.getAccessibilityMod().unmodifyFlat(id); 031 } 032 033 @Override 034 public void createTooltipAfterDescription(TooltipMakerAPI tooltip, boolean expanded) { 035 EstablishedPolityScript script = EstablishedPolityScript.get(); 036 if (script == null) return; 037 038 Color h = Misc.getHighlightColor(); 039 040 float opad = 10f; 041 042 if (PerseanLeagueMembership.isLeagueMember()) { 043 tooltip.addPara("Your colonies are recently joined members of the Persean League, resulting in an increased " 044 + "flow of commerce.", opad); 045 } else { 046 tooltip.addPara("You've proven the independence and strength of your colonies by defeating a " 047 + "Persean League force sent against you, and are viewed as a stable trading partner.", opad); 048 } 049 050 tooltip.addPara("%s accessibility.", 051 opad, h, 052 "+" + (int)Math.round(ACCESSIBILITY_BONUS * 100f) + "%"); 053 } 054 055 @Override 056 public boolean hasCustomTooltip() { 057 return true; 058 } 059 060 061 @Override 062 public String getName() { 063 if (PerseanLeagueMembership.isLeagueMember()) { 064 return NAME_LEAGUE; 065 } 066 return NAME_BASE; 067 } 068 069 070 @Override 071 public String getIconName() { 072 if (PerseanLeagueMembership.isLeagueMember()) { 073 return Global.getSettings().getSpriteName("events", "new_league_member"); 074 } 075 return super.getIconName(); 076 } 077 078 079 080} 081 082 083 084 085