Closed austin-wangyu closed 6 years ago
Update: even after unlocking Lighthouse tech it still didn't resolve.
In Vanilla Civ5 you need the road tech to unlock city connections (so wheel)
can't reproduce.
there's basically only two conditions: you need a path of revealed coastal water plots to the capital.
that explains the problem with hippo regius. for utique it's hard to tell, maybe explore a bit more around the peninsula to the south?
Ilteroi is correct, I play exclusively with Carthage. The route to the south end does not have a sea connection to Carthage. Utique has same problem condition. There is still fog covering the coast tiles that will connect and create a lighthouse upon revealing them. Another option for sea connection is to the north where the horesemen barbarian is, there is also fog there.
Move the pathfinder to the edge of the land to reveal tiles, next turn. Problem solved.
The coastline to Utique is already revealed. The fog of war is over the tiles under the coast tiles.
There are two tiles uncovered at Utique that would allow the sea connection. It is to the lower left as highlighted in green.
The tiles you highlighted ARE explored. You wouldn't see the tile yields otherwise.
Here's a test to verify @ilteroi. Open up your save from the screenshot above. Have IGE loaded, place some boats in the water to reveal those tiles, do turn. Problem fixed? Should be.
They seems revealed for utique. Maybe because the CS isn't allied with you and so, it blocks the path?
enemy territory doesn't block trade routes.
those two tiles are not really revealed yet, it's just a trick of the camera.
Again: They are revealed. Else you wouldn't see the yields (2 food for coast).
But does showing yields count technically as being "revealed" to the AI? Or does it require the entire tile to be unmasked from the cloud for the properties to be available?
Couldn't load your save....which version are you using? and what mods?
Look more carefully at his screenshot and notice the real reason why Utique is not connecting.
Utique is NOT a coastal city so he can't have built a lighthouse there.
yes it is. The tile 7 from Utique is coastal. And also that wouldn't explain Gades and Saguntum
Yes I see that now thanks.
IMHO: CS block city connection. Just use IGE to make CS friendly and connection will appear
(My mistake, the city banner was tricking my eyes into thinking a coast tile was a land tile.)
wow quite the thread for a rather simple issue. can anyone load the save, put an explorer on the peninsula and see what happens please?
Jeez sorry about this crazy mess, the save was from before the screenshot as it had requested. I do not have the save from the screenshot. However, from the save file I've attached (which I'm not sure why people cannot open, please let me know if there's something I need to do), I took this screenshot:
Note how Utique was connected to the capital, and the city state border does not extend to the coast of my continent. I think it confirms that the city state border does break the capital connection, as well as the fact that there was no clear path to Hippo from Carthage, so despite there being a lighthouse, there was no connection. The city state border disconnected Utique, Gades, and Saguntum.
Speculation ofc, since I have little experience playing with Vox Populi/Carthage. Sorry about not having the save for the screenshot
@ilteroi I tried to load his save but was unsuccessful. @austin-wangyu What version of VP are you using AND are you using any other mods??
4-20-5, no other mods
Update: rip just realized that there is a more recent version of VP 5-20-3, my bad y'all.
well, now i'm confused. so it was alright before the CS border expanded? seems obvious, but here's the code:
// --------------------------------------------------------------------------------
int TradeRouteWaterValid(const CvAStarNode* parent, const CvAStarNode* node, const SPathFinderUserData&, const CvAStar* finder)
{
if(parent == NULL)
return TRUE;
const TradePathCacheData* pCacheData = reinterpret_cast<const TradePathCacheData*>(finder->GetScratchBuffer());
CvMap& kMap = GC.getMap();
CvPlot* pNewPlot = kMap.plotUnchecked(node->m_iX, node->m_iY);
if (!pNewPlot->isRevealed(pCacheData->GetTeam()))
return FALSE;
//ice in unowned territory is not allowed
if (pNewPlot->isIce() && !pNewPlot->isOwned())
return FALSE;
//ocean needs trait or tech
if (pNewPlot->isDeepWater())
return pCacheData->CanCrossOcean();
//coast is always ok
if (pNewPlot->isShallowWater())
return TRUE;
//check passable improvements
if(pNewPlot->isCityOrPassableImprovement(pCacheData->GetPlayer(),false) && pNewPlot->isAdjacentToShallowWater() )
return TRUE;
return FALSE;
}
no check for tile ownership. i'm stumped.
is there a pokey lil barb boat on the fogged coast tile?
@LoneGazebo I'm not sure which coast tile you're referring to?
hey guys, i think i was looking in the wrong place. sorry, the correct piece of code is
int WaterRouteValid(const CvAStarNode* parent, const CvAStarNode* node, const SPathFinderUserData& data, const CvAStar*)
{
if(parent == NULL)
return TRUE;
PlayerTypes ePlayer = data.ePlayer;
TeamTypes eTeam = GET_PLAYER(ePlayer).getTeam();
CvPlot* pNewPlot = GC.getMap().plotUnchecked(node->m_iX, node->m_iY);
if(!pNewPlot || !pNewPlot->isRevealed(eTeam))
return FALSE;
if(pNewPlot->getOwner()!=NO_PLAYER && !pNewPlot->IsFriendlyTerritory(ePlayer))
return FALSE;
CvCity* pCity = pNewPlot->getPlotCity();
if(pCity && pCity->getTeam() == eTeam)
return TRUE;
if(pNewPlot->isWater())
return TRUE;
return FALSE;
}
so there is an ownership check after all. the question is if minor players' territory should be excluded from the check, ie allowed for routes?
@ilteroi no, it was always like that. If someone need a road throw CS then ally it or make friendly.
@ilteroi since roads overrule CS ownership for connections, and you can't build roads at sea, I feel like CS tile ownership shouldn't affect water routes.
uuh i smell a forum poll
let's just change it and change it back if people balk. I feel like this a QoL change.
i just took a look but it seems roads trump plot ownership only if there's an active quest to build a road.
@ilteroi hmm...well, then maybe we leave it. I thought roads overwrote cs ownership in all instances.
I'm with @LoneGazebo change it. But I like changes. Seriously though, seems stupid that CS ownership of a tile would block water if !AtWar()
well then this isn't only about water connections anymore.
but i agree, the logical thing would be to allow connections through plots you can enter peacefully. so minor and major with open borders.
1. Mod version (i.e Date - 4/23): Most current as of 5/23/18
2. Mod list (if using Vox Populi only, leave blank):
3. Error description: See title, though each city has lighthouse, produces unhappiness due to lack of city connection as well as lack of income from city connection. Fish and other resources receive the lighthouse food and gold bonus, though.
4. Steps to reproduce (optional): As Carthage, settle a whole bunch of cities along the coast. No clue why they don't work, they can't all be blockaded at the same time this early on.
Supporting information: Please note that you can attach .zip files by dragging-and-dropping them. If possible, zip up all supporting data and post that way.
Log files (always attach your Logs folder, located at My Documents/My Games/Sid Meier's Civilization 5. Make sure you have enabled logging before experiencing an error! Go here to find out how: http://forums.civfanatics.com/showthread.php?t=487482): Unfortunately did not have logging enabled before this. Have enabled now for future reference.
Save game (always attach a save that was made a turn before the error; located at My Documents/My Games/Sid Meier's Civilization 5/ModdedSaves): Before lighthouse glitch.zip
CvMiniDump.dmp file (attach if experiencing a game crash. Located at Program Files/Steam/steamapps/common/Sid Meier's Civilization V):
Screenshots (optional):