Open MrZorG33 opened 4 months ago
That is valid behavior that we've inherited from BTS. Coastal ships (which cannot cross ocean in general) may still cross ocean tiles within friendly (as in same team) cultural borders.
See this code of block from CvUnit::canMoveInto
if (eFeature != NO_FEATURE)
{
const CvFeatureInfo& kFeatureInfo = GC.getFeatureInfo(eFeature);
if (m_pUnitInfo->getFeatureImpassable(eFeature))
{
if (DOMAIN_SEA != eDomainType || kPlot.getTeam() != getTeam()) // sea units can enter impassable in own cultural borders
{
return false;
}
// Erik: The AI may attempt to pathfind into unrevealed ocean plots so have have to check for the plot being revealed
if (DOMAIN_SEA == eDomainType && !kPlot.isRevealed(getTeam(), false))
{
return false;
}
}
}
Life didn't prepare me for this...)) in my opinion this is a very strange gaming convention. can this be removed quickly and without consequences for the rest of the code?
IMO it works as intended now, there is nothing to fix. I think that vast majority of civ players got used to this behavior long ago.
for some reason, large coastal ships were able to cross the ocean.
There seem to be no errors in the settings: < TerrainImpassable> < TerrainType>TERRAIN_OCEAN < bTerrainImpassable>1< /bTerrainImpassable> < /TerrainImpassable>
maybe it's because there's a coral reef nearby? since the ship cannot enter other areas of the ocean, near which there is no reef. you can check out the moving capabilities by loading the attached save. dynamic_test.zip