Small bug on Makuria last UHV?

PiR

Emperor
Supporter
Joined
Jan 25, 2012
Messages
1,787
Hi everyone, I guess there are not so many people maintaining this mod anymore, but I wanted to raise a small remark. I did not find a thread to raise small bugs so I'm opening a new thread, sorry if I missed the right place.

I played as Kingdom of Makuria (Nubia) but for the last UHV goal, I had founded "Arish" (8 tiles east of Alexandria or 4W1S of Jerusalem) and this did not allow to get a Mediterranean access. I found it weird because it actually enabled me to make many contacts through that sea.

Anyway I could win the game by conquering another city (Egypt or in my case Rhodos) but I wanted to suggest to fix this
 
The spot you settled is in the Sahara province, which is not included in the list for that goal. Its possible that edead did not want the goal to be achievable in that manner since it looks like an are that is not meant to be settled, although it has city names. You could fix this by adding con.rSahara to the medRegions list at line 1063 of Victory.py.
 
Thanks a lot for your quick rely and techincal solution. I managed to win with Rhodos. I mentionned it in case the mod is still maintained and it was not intentional. I like to play mods as they are intended, not to tweak them.
 
embryodead is long gone but I'm quite familiar with his code and I'm more than happy to help people enjoy his mod.
I actually misread your 1st post and thought you had settled west of Alexandria, in Sahara province, not where you actually settled, which is in Sinai province. Then I read the code again and discovered that it only checks whether you have a city in both of two province lists, without checking whether that city was a port or whether it is trade connected to your capital, which I think is what a person would intuitively expect the goal to require. Also one province in each list has coastlines on both seas, and in one of those (Sinai) its possible to found cities on both sides.
 
Then I'm not sure why it did not work for me. I had spent efforts building port there, and connecting to the capital by settling another not sot so useful city, but anyway that game is in the past.
I'm glad to see there are still good lads liking this game. I bought Civ 6 and I still miss the mods of Civ 4. Nostalgia or quality of gameplay? Who am I to tell
 
The code in victory.py is:

Code:
    def getMakurianUHV3(self):
        bMediterranean = False
        bRedSea = False
        medRegions = [con.rUpperEgypt, con.rLowerEgypt, con.rPalestine, con.rLebanon, con.rSyria, con.rNorthernSyria, con.rCilicia, con.rLycia, con.rThrace, con.rAsia, con.rCyprus, con.rRhodes]
        redRegions = [con.rSinai, con.rAksum, con.rMerebMellash, con.rJordan, con.rHejaz, con.rYemen, con.rHadhramaut, con.rSuqutra, con.rMahra, con.rOman, con.rBahrain, con.rMesopotamia]

The reason Sinai doesn't work is because it is listed only as a Red Sea region (i.e. in "redRegions"). As @srpt said, the code doesn't care if it's a port city or connected to your trade network, etc; it just checks that the region is in the relevant list.

The fix is simple - you could add "con.rSinai, " to the start of medRegions, in front of "con.rUpperEgypt, ". The code checks each list separately, so having a region appear in both lists shouldn't break anything.

However, I acknowledge your preference for playing mods "as intended" and in this case allowing a region to count twice would enable an exploit (allowing one city to connect to both seas when two cities are clearly intended), so I submit that Sinai's omission from the Mediterranean group is deliberate on edead's part and should not be altered. Going for an alternate location (Rhodes in your case) was the correct move.

It's worth noting that Lebanon provides a "safe haven" on the Med coast that will never flip away from you. It fits two back-to-back cites - Tyre and Tripoli - and if you raze Damascus, they can become very strong. Tyre with Kizil Kule and Krak des Chevaliers is a monster. Thanks to the water and peaks in their BFCs, they aren't even very hard on your stability. I like to nab Lebanon early, to maintain my Mediterranean access and Orthodox contacts while the brawling Egyptian empires come and go. A Longbowman garrison makes Lebanon a hard nut to crack, you just need a few Great Galleys to keep the seas free.
 
Top Bottom