Sid Meier's Civilization VI

Sid Meier's Civilization VI

Extended Diplomacy Ribbon
brelgo 30 Apr, 2020 @ 11:18pm
[SUGGESTION] Add EraIndicator Label?
How do you feel about adding an EraIndicator to the EDR? I personally think it is a quite useful tool, often times it is handy to see in which era my opponents are without having to look into the tooltip.

Preview: https://imgur.com/a/NSfMdDW

PS: Also I would suggest moving DealIndicator a bit more to the right (as seen in the picture), at the current spot it is quite fiddly to open the right tooltip. It is not perfect with that soiution (and a bit ugly), but it is less of a hassle for me :)

PPS: Also, I have noticed that resources that I send my opponents are not added to the Luxury List at the end of their tool tip. From looking at the code, I think this is because that resource is not able to be traded. However, this makes it a hassle to quickly check which player still needs one of your resources - in the implementation from before, I could combine both lists to always check quickly if there was a deal I could offer. Of course, I could simply uncomment the four lines of code, but having the same feature twice is a bit redundant.

I would be happy to see a "You can trade them these luxuries" or a "They have access to these luxuries" as these are the informations I am most often searching for during trading. That being said, despite the few hassles the new solution for the Trade List brings, I still think it is more pretty than the last one, I am not going back :)

...

PPPS: For people that might want this but do not know how to implement it themselves, here is how to do it (the mod creator could possibly implement this more elegantly, deal with my crude solution for now):

In leadericon.xml, add the following line below the lines containing "DealIndicator" (should be twice):
<Label ID="EraIndicator" String="[ICON_New]" Anchor="R,T" Offset="0,12" Hidden="1"/>

In ExtendedDiplomacyRibbon.lua, add the following lines under --local localPlayerID:number = Game.GetLocalPlayer();

instance.EraIndicator:SetHide(false);
local pGameEras = Game.GetEras();
if pGameEras:HasHeroicGoldenAge(playerID) then
instance.EraIndicator:SetText("[ICON_GLORY_SUPER_GOLDEN_AGE]");
elseif pGameEras:HasGoldenAge(playerID) then
instance.EraIndicator:SetText("[ICON_GLORY_GOLDEN_AGE]");
elseif pGameEras:HasDarkAge(playerID) then
instance.EraIndicator:SetText("[ICON_GLORY_DARK_AGE]");
else
instance.EraIndicator:SetText("[ICON_GLORY_NORMAL_AGE]");
end

Also, add the following line under instance.DealIndicator:SetHide(true);

instance.EraIndicator:SetHide(true);

Greets
Last edited by brelgo; 30 Apr, 2020 @ 11:25pm