Preventing units to move in to enemy territory

Oh man, I never said you had to learn Python. I was making you a custom Python mod-comp. The only thing it would have required had been installation, and that wouldn't have required any skill at all. (Just extract into Python folder. Done!)
 
I was assuming that the NV are the protagonists, but I didn't dare define the lPlayers array as:
Code:
lAntagonists = [ eUSA, eSouthVietnam ]
:p
 
What exactly did not work?

Some units went through the impassable terrain, even if their <bCanMoveImpassable> was set to 0. I got it working now. Now i need to figure out how to prevent battleships, Carriers, and Destroyer passing trough impassable terrain.
Spoiler :


Impassable Jungle code.

Spoiler :
Code:
		<FeatureInfo>
			<Type>FEATURE_BORDER_ZONE_JUNGLE</Type>
			<Description>TXT_KEY_FEATURE_JUNGLE</Description>
			<Civilopedia>TXT_KEY_FEATURE_JUNGLE_PEDIA</Civilopedia>
			<ArtDefineTag>ART_DEF_FEATURE_JUNGLE</ArtDefineTag>
			<YieldChanges>
				<iYieldChange>-1</iYieldChange>
				<iYieldChange>0</iYieldChange>
				<iYieldChange>0</iYieldChange>
			</YieldChanges>
			<RiverYieldChange/>
			<HillsYieldChange/>
			<iMovement>2</iMovement>
			<iSeeThrough>1</iSeeThrough>
			<iHealthPercent>-25</iHealthPercent>
			<iDefense>50</iDefense>
			<iAppearance>0</iAppearance>
			<iDisappearance>0</iDisappearance>
			<iGrowth>16</iGrowth>
			<iTurnDamage>0</iTurnDamage>
			<bNoCoast>0</bNoCoast>
			<bNoRiver>0</bNoRiver>
			<bNoAdjacent>0</bNoAdjacent>
			<bRequiresFlatlands>0</bRequiresFlatlands>
			<bRequiresRiver>0</bRequiresRiver>
			<bAddsFreshWater>0</bAddsFreshWater>
			<bImpassable>1</bImpassable>
			<bNoCity>0</bNoCity>
			<bNoImprovement>0</bNoImprovement>
			<bVisibleAlways>0</bVisibleAlways>
			<bNukeImmune>0</bNukeImmune>
			<OnUnitChangeTo/>
			<TerrainBooleans>
				<TerrainBoolean>
					<TerrainType>TERRAIN_GRASS</TerrainType>
					<bTerrain>1</bTerrain>
				</TerrainBoolean>
			</TerrainBooleans>
			<FootstepSounds>
				<FootstepSound>
					<FootstepAudioType>FOOTSTEP_AUDIO_HUMAN</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_FOOT_UNIT_FOREST</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>FOOTSTEP_AUDIO_HUMAN_LOW</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_FOOT_UNIT_LOW_FOREST</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>FOOTSTEP_AUDIO_ANIMAL</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_ANIMAL_FOOT_LARGE_FOREST</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>FOOTSTEP_AUDIO_ANIMAL_LOW</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_ANIMAL_FOOT_LARGE_LOW_FOREST</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>FOOTSTEP_AUDIO_HORSE</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_HORSE_RUN_FOREST</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_WHEELS</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_WHEELS</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_WHEELS_2</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_WHEELS_2</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_TANK</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_TANK_LOOP_FOREST</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_TANK</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_TANK_END_FOREST</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_MOD_ARMOUR</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_MOD_ARMOUR_LOOP_FOREST</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_MOD_ARMOUR</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_MOD_ARMOUR_END_FOREST</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_ARTILLERY</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_ARTILL_RUN_LOOP_FOREST</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_ARTILLERY</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_ARTILL_RUN_END_FOREST</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_WHEELS_3</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_TREBUCHET_RUN_LEAVES</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_WHEELS_3</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_TREBUCHET_STOP_LEAVES</FootstepAudioScript>
				</FootstepSound>
			</FootstepSounds>
			<WorldSoundscapeAudioScript>ASSS_JUNGLE_SELECT_AMB</WorldSoundscapeAudioScript>
			<EffectType>EFFECT_BIRDSCATTER</EffectType>
			<iEffectProbability>15</iEffectProbability>
			<iAdvancedStartRemoveCost>40</iAdvancedStartRemoveCost>
		</FeatureInfo>

Impassable terrain.

Spoiler :
Code:
		<TerrainInfo>
			<Type>TERRAIN_BORDER_ZONE</Type>
			<Description>Border Zone</Description>
			<Civilopedia>TXT_KEY_TERRAIN_BORDER_ZONE_PEDIA</Civilopedia>
			<ArtDefineTag>ART_DEF_TERRAIN_BORDER_ZONE</ArtDefineTag>
			<Yields/>
			<RiverYieldChange/>
			<HillsYieldChange/>
			<bWater>0</bWater>
			<bImpassable>1</bImpassable>
			<bFound>0</bFound>
			<bFoundCoast>0</bFoundCoast>
			<bFoundFreshWater>0</bFoundFreshWater>
			<iMovement>1</iMovement>
			<iSeeFrom>0</iSeeFrom>
			<iSeeThrough>0</iSeeThrough>
			<iBuildModifier>0</iBuildModifier>
			<iDefense>0</iDefense>
			<Button>Art\Interface\Buttons\Border_Zone.dds</Button>
			<FootstepSounds>
				<FootstepSound>
					<FootstepAudioType>FOOTSTEP_AUDIO_HUMAN</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_FOOT_UNIT_FOREST</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>FOOTSTEP_AUDIO_HUMAN_LOW</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_FOOT_UNIT_LOW_FOREST</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>FOOTSTEP_AUDIO_ANIMAL</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_ANIMAL_FOOT_LARGE_FOREST</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>FOOTSTEP_AUDIO_ANIMAL_LOW</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_ANIMAL_FOOT_LARGE_LOW_FOREST</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>FOOTSTEP_AUDIO_HORSE</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_HORSE_RUN_FOREST</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_WHEELS</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_WHEELS</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_WHEELS_2</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_WHEELS_2</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_TANK</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_TANK_LOOP_FOREST</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_TANK</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_TANK_END_FOREST</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_MOD_ARMOUR</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_MOD_ARMOUR_LOOP_FOREST</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_MOD_ARMOUR</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_MOD_ARMOUR_END_FOREST</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_ARTILLERY</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_ARTILL_RUN_LOOP_FOREST</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_ARTILLERY</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_ARTILL_RUN_END_FOREST</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_WHEELS_3</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_TREBUCHET_RUN_LEAVES</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_WHEELS_3</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_TREBUCHET_STOP_LEAVES</FootstepAudioScript>
				</FootstepSound>
			</FootstepSounds>
			<bGraphicalOnly>0</bGraphicalOnly>
		</TerrainInfo>

Here's the impassable water.

Spoiler :
Code:
		<TerrainInfo>
			<Type>TERRAIN_NV_WATERS</Type>
			<Description>North Vietnamese Waters</Description>
			<Civilopedia>US and SV ships can't move here.</Civilopedia>
			<ArtDefineTag>ART_DEF_TERRAIN_COAST</ArtDefineTag>
			<Yields>
				<iYield>1</iYield>
				<iYield>0</iYield>
				<iYield>1</iYield>
			</Yields>
			<RiverYieldChange/>
			<HillsYieldChange/>
			<bWater>1</bWater>
			<bImpassable>1</bImpassable>
			<bFound>0</bFound>
			<bFoundCoast>0</bFoundCoast>
			<bFoundFreshWater>0</bFoundFreshWater>
			<iMovement>1</iMovement>
			<iSeeFrom>0</iSeeFrom>
			<iSeeThrough>0</iSeeThrough>
			<iBuildModifier>0</iBuildModifier>
			<iDefense>0</iDefense>
			<Button>Art/Interface\Buttons\WorldBuilder\Terrain_Ocean.dds</Button>
			<FootstepSounds>
				<FootstepSound>
					<FootstepAudioType>FOOTSTEP_AUDIO_HUMAN</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_FOOT_UNIT_MUD</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>FOOTSTEP_AUDIO_HUMAN_LOW</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_FOOT_UNIT_LOW_MUD</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>FOOTSTEP_AUDIO_ANIMAL</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_ANIMAL_FOOT_LARGE_MUD</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>FOOTSTEP_AUDIO_ANIMAL_LOW</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_ANIMAL_FOOT_LARGE_LOW_MUD</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>FOOTSTEP_AUDIO_HORSE</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_HORSE_RUN</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_WHEELS</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_CHARIOT_LOOP</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_WHEELS</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_CHARIOT_END</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_WHEELS_2</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_WAR_CHARIOT_LOOP</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_WHEELS_2</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_WAR_CHARIOT_END</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_TANK</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_TANK_LOOP</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_TANK</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_TANK_END</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_MOD_ARMOUR</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_MOD_ARMOUR_LOOP</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_MOD_ARMOUR</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_MOD_ARMOUR_END</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_OCEAN1</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_OCEAN_LOOP1</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_OCEAN1</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_OCEAN_END1</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_OCEAN2</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_OCEAN_LOOP1</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_OCEAN2</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_OCEAN_END2</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_DESTOYER</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_DESTROYER_RUN_LOOP</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_DESTROYER</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_DESTROYER_RUN_END</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_IRONCLAD</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_IRONCLAD_RUN_LOOP</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_IRONCLAD</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_IRONCLAD_RUN_END</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_TRANSPORT</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_TRANSPORT_RUN_LOOP</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_TRANSPORT</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_TRANSPORT_RUN_END</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_SUBMARINE</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_SUBMARINE_RUN_LOOP</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_SUBMARINE</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_SUBMARINE_RUN_END</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_GUNSHIP</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_GUNSHIP_RUN_LOOP</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_GUNSHIP</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_GUNSHIP_RUN_END</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_ARTILLERY</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_ARTILLERY_RUN_LOOP</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_ARTILLERY</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_ARTILLERY_RUN_END</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_WHEELS_3</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_TREBUCHET_RUN</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_WHEELS_3</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_TREBUCHET_STOP</FootstepAudioScript>
				</FootstepSound>
			</FootstepSounds>
			<WorldSoundscapeAudioScript>ASSS_OCEAN_SELECT_AMB</WorldSoundscapeAudioScript>
			<bGraphicalOnly>0</bGraphicalOnly>
		</TerrainInfo>

Ships go through it, even if their <bCanMoveImpassable> is set to 0. Anyone have any ideas?

One Q, are players going to be able to play as NV :p

Yes.
 
(We could still implement a Python restriction for the ocean. A simple y coordinate check - easy and not overly processing heavy.)
 
:think: what happens if you place testwise ice there?
Just thinking it might be a bug in the civ code itself.

Ice doesn't let ships through. So if i add a new water (invisible) feature in CIV4FeatureInfos.xml, ships couldn't go through it.

Could i put ART_DEF_TERRAIN_OCEAN in Artdefinetag, so it would load ocean directly?
 
Ice doesn't let ships through. So if i add a new water (invisible) feature in CIV4FeatureInfos.xml, ships couldn't go through it.

:ack: okay, so this is another civ bug.
But yes, that would work.

Could i put ART_DEF_TERRAIN_OCEAN in Artdefinetag, so it would load ocean directly?

No, because the features load only ART_DEF_XY stuff from ArtDefines_Features, and if you put ART_DEF_TERRAIN_OCEAN into it, then it will not find it, because that's in another file.

But there is somewhere in the arts folder, on the top (if unpacked) an "empty.nif", which you could use.
 
I added the new feature, and used empty.nif


Spoiler :

CIV4FeatureInfos.xml
Code:
		<FeatureInfo>
			<Type>FEATURE_NV_WATER_BARRIER</Type>
			<Description>NV Water Barrier</Description>
			<Civilopedia>US And SV Ships can't pass through here.</Civilopedia>
			<ArtDefineTag>ART_DEF_FEATURE_NV_WATER_BARRIER</ArtDefineTag>
			<YieldChanges/>
			<RiverYieldChange/>
			<HillsYieldChange/>
			<iMovement>1</iMovement>
			<iSeeThrough>0</iSeeThrough>
			<iHealthPercent>0</iHealthPercent>
			<iDefense>0</iDefense>
			<iAppearance>0</iAppearance>
			<iDisappearance>0</iDisappearance>
			<iGrowth>0</iGrowth>
			<iTurnDamage>0</iTurnDamage>
			<bNoCoast>0</bNoCoast>
			<bNoRiver>0</bNoRiver>
			<bNoAdjacent>0</bNoAdjacent>
			<bRequiresFlatlands>0</bRequiresFlatlands>
			<bRequiresRiver>0</bRequiresRiver>
			<bAddsFreshWater>0</bAddsFreshWater>
			<bImpassable>1</bImpassable>
			<bNoCity>0</bNoCity>
			<bNoImprovement>0</bNoImprovement>
			<bVisibleAlways>0</bVisibleAlways>
			<bNukeImmune>0</bNukeImmune>
			<OnUnitChangeTo/>
			<TerrainBooleans>
				<TerrainBoolean>
					<TerrainType>TERRAIN_COAST</TerrainType>
					<bTerrain>1</bTerrain>
				</TerrainBoolean>
				<TerrainBoolean>
					<TerrainType>TERRAIN_OCEAN</TerrainType>
					<bTerrain>1</bTerrain>
				</TerrainBoolean>
			</TerrainBooleans>
			<FootstepSounds>
				<FootstepSound>
					<FootstepAudioType>FOOTSTEP_AUDIO_HUMAN</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_FOOT_UNIT_SNOW</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>FOOTSTEP_AUDIO_HUMAN_LOW</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_FOOT_UNIT_LOW_SNOW</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>FOOTSTEP_AUDIO_ANIMAL</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_ANIMAL_FOOT_LARGE_SNOW</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>FOOTSTEP_AUDIO_ANIMAL_LOW</FootstepAudioType>
					<FootstepAudioScript>AS3D_UN_ANIMAL_FOOT_LARGE_LOW_SNOW</FootstepAudioScript>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>FOOTSTEP_AUDIO_HORSE</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_WHEELS</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_WHEELS</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_WHEELS_2</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_WHEELS_2</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_TANK</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_TANK</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_MOD_ARMOUR</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_MOD_ARMOUR</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_ARTILLERY</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_ARTILLERY</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>LOOPSTEP_WHEELS_3</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
				<FootstepSound>
					<FootstepAudioType>ENDSTEP_WHEELS_3</FootstepAudioType>
					<FootstepAudioScript/>
				</FootstepSound>
			</FootstepSounds>
			<EffectType>NONE</EffectType>
			<iEffectProbability>0</iEffectProbability>
			<iAdvancedStartRemoveCost>0</iAdvancedStartRemoveCost>
		</FeatureInfo>
CIV4ArtDefines_Feature.xml
Code:
		<FeatureArtInfo>
			<Type>ART_DEF_FEATURE_NV_WATER_BARRIER</Type>
			<bAnimated>0</bAnimated>
			<bRiverArt>0</bRiverArt>
			<TileArtType>TILE_ART_TYPE_HALF_TILING</TileArtType>
			<LightType>LIGHT_TYPE_SUN</LightType>
			<fScale>1.0</fScale>
			<fInterfaceScale>1.0</fInterfaceScale>
			<Button>Art/Interface/Buttons/TerrainFeatures/Ice.dds</Button>
			<FeatureVariety>
				<FeatureArtPieces>
					<FeatureArtPiece>
						<ModelFile>Art/Terrain/empty.nif</ModelFile>
						<Connections>NW</Connections>
					</FeatureArtPiece>
					<FeatureArtPiece>
						<ModelFile>Art/Terrain/empty.nif</ModelFile>
						<Connections>NE</Connections>
					</FeatureArtPiece>
					<FeatureArtPiece>
						<ModelFile>Art/Terrain/empty.nif</ModelFile>
						<Connections>NW NE</Connections>
					</FeatureArtPiece>
					<FeatureArtPiece>
						<ModelFile>Art/Terrain/empty.nif</ModelFile>
						<Connections>SE</Connections>
					</FeatureArtPiece>
					<FeatureArtPiece>
						<ModelFile>Art/Terrain/empty.nif</ModelFile>
						<Connections>NW SE</Connections>
					</FeatureArtPiece>
					<FeatureArtPiece>
						<ModelFile>Art/Terrain/empty.nif</ModelFile>
						<Connections>NE SE</Connections>
					</FeatureArtPiece>
					<FeatureArtPiece>
						<ModelFile>Art/Terrain/empty.nif</ModelFile>
						<Connections>NW NE SE</Connections>
					</FeatureArtPiece>
					<FeatureArtPiece>
						<ModelFile>Art/Terrain/empty.nif</ModelFile>
						<Connections>SW</Connections>
					</FeatureArtPiece>
					<FeatureArtPiece>
						<ModelFile>Art/Terrain/empty.nif</ModelFile>
						<Connections>NW SW</Connections>
					</FeatureArtPiece>
					<FeatureArtPiece>
						<ModelFile>Art/Terrain/empty.nif</ModelFile>
						<Connections>NE SW</Connections>
					</FeatureArtPiece>
					<FeatureArtPiece>
						<ModelFile>Art/Terrain/empty.nif</ModelFile>
						<Connections>NW NE SW</Connections>
					</FeatureArtPiece>
					<FeatureArtPiece>
						<ModelFile>Art/Terrain/empty.nif</ModelFile>
						<Connections>SE SW</Connections>
					</FeatureArtPiece>
					<FeatureArtPiece>
						<ModelFile>Art/Terrain/empty.nif</ModelFile>
						<Connections>NW SE SW</Connections>
					</FeatureArtPiece>
					<FeatureArtPiece>
						<ModelFile>Art/Terrain/empty.nif</ModelFile>
						<Connections>NE SE SW</Connections>
					</FeatureArtPiece>
					<FeatureArtPiece>
						<ModelFile>Art/Terrain/empty.nif</ModelFile>
						<Connections>NW NE SE SW</Connections>
					</FeatureArtPiece>
				</FeatureArtPieces>
				<FeatureDummyNodes/>
				<bGenerateRotations>0</bGenerateRotations>
				<VarietyButton>Art/Interface/Buttons/TerrainFeatures/Ice.dds</VarietyButton>
			</FeatureVariety>
		</FeatureArtInfo>

And this is what i got.

Spoiler :


Any ideas?
 
Since the problem is at the corners of the plots, I would have to guess that it has to do with using a feature type that is supposed to tile, connecting together.

Try doing an entry like the one for the Oasis, which is a single object that does not tile (TileArtType of TILE_ART_TYPE_NONE). It only has one entry for the FeatureArtPiece to change to the empty.nif if you copy it (probably should set bAnimated to 0 too, if copying it).
 
Spoiler :
civ4screenshot0001gz.jpg
Spoiler :
Code:
		<FeatureArtInfo>
			<Type>ART_DEF_FEATURE_NV_WATER_BARRIER</Type>
			<bAnimated>0</bAnimated>
			<bRiverArt>0</bRiverArt>
			<TileArtType>TILE_ART_TYPE_NONE</TileArtType>
			<LightType>LIGHT_TYPE_SUN</LightType>
			<fScale>1.0</fScale>
			<fInterfaceScale>1.0</fInterfaceScale>
			<Button>Art/Interface/Buttons/TerrainFeatures/Ice.dds</Button>
			<FeatureVariety>
				<FeatureArtPieces>
					<FeatureArtPiece>
						<ModelFile>Art/Terrain/empty.nif</ModelFile>
						<Connections></Connections>
					</FeatureArtPiece>
				</FeatureArtPieces>
				<FeatureDummyNodes/>
				<bGenerateRotations>0</bGenerateRotations>
				<VarietyButton>Art/Interface/Buttons/TerrainFeatures/Ice.dds</VarietyButton>
			</FeatureVariety>
		</FeatureArtInfo>


Now there's just one big ball.

EDIT: Never mind, i fixed it by setting <fScale> to 0.0001. And it does block ships now.
 
I just noticed you said you got the empty.nif from vanilla. Perhaps that is the wrong empty.nif. BtS came with its own and it is different file (smaller by almost 1000 bytes).
 
Well, congratulations on completing the fix! :king: And good luck with the rest of the mod! :goodjob:
 
Back
Top Bottom