Merging Super Forts

Oh noes ! Why are you blocking my cokepoint ? :lol:

[offtopic] Maybe they are Pepsi drinkers!?:mischief: :lol:

On topic, this is one of the reasons I had given up on using forts, plus the hammer and gold forts can give, which I never understood why.

JosEPh
 
I think this is because they can't conquer cities and a fort counts as city in many aspects.
But what bugs me more: Criminal/Hidden Nationality units can move through forts with ease. This is rediculous: If an enemy Bandit Rider wants to pass a cokepoint that is blocked by my Police Car, it can't without fighting. But if I build a Fort under my Police Car, the Rider can pass no matter if there are 1000 Police Cars.

This is correct - forts just act like cities, so hidden units can move through. You cannot move into an enemy fort if you cannot capture cities. Allowing hidden nat. units to move in (without capturing) should be possible, if that's what we prefer (I think). Allowing air units in is more problematic - they cannot capture, but they would prevent the owner's units moving in, because any attempt to do so would be an attack on the helicopter, so this could lead to some rather weird situations.
 
This is correct - forts just act like cities, so hidden units can move through. You cannot move into an enemy fort if you cannot capture cities. Allowing hidden nat. units to move in (without capturing) should be possible, if that's what we prefer (I think). Allowing air units in is more problematic - they cannot capture, but they would prevent the owner's units moving in, because any attempt to do so would be an attack on the helicopter, so this could lead to some rather weird situations.

Sounds reasonable to me.
 
I think this is because they can't conquer cities and a fort counts as city in many aspects.
But what bugs me more: Criminal/Hidden Nationality units can move through forts with ease. This is rediculous: If an enemy Bandit Rider wants to pass a cokepoint that is blocked by my Police Car, it can't without fighting. But if I build a Fort under my Police Car, the Rider can pass no matter if there are 1000 Police Cars.

Yeah strange :D

about hostile helicopters: for most purposes helicopters are ground units.
They might be able to flyover a fortified position, but not without getting under fire, in contrast to a bomber flying high.
 
about hostile helicopters: for most purposes helicopters are ground units.
They might be able to flyover a fortified position, but not without getting under fire, in contrast to a bomber flying high.
I got an idea on how to handle helicopters in the future - giving them a special paradrop ability that they can start from anywhere replicating the ability to fly out of combat range but being potentially intercepted in their travel (as they are now in air combat range).
 
Zone of control should not apply towater tiles or we should separate ZOC for land and water tiles.

It simply unrealistic when fort placedon the cost give zoc on water tiles before gunpowder and metallurgy.
 
Zone of control should not apply towater tiles or we should separate ZOC for land and water tiles.

It simply unrealistic when fort placedon the cost give zoc on water tiles before gunpowder and metallurgy.

My expectation is that (once ZOCs move to XML) we'll remove ZOCs on all the earlier forts anyway, so this may become moot. If it's needed though we could add sperate tags for land and water ZOCs, which would allow something like a 'Guns of Navarone' world wonder (or less powerful equivalent regular naval emplacement on a coast), to exert a water ZOC but NOT a land one. Also should probably separate out ZOCs that apply to aerial units at the same time.
 
I would say ZOC on water for early variants is fine as long as there is a naval unit stationed in the fort.
For me ZOC means the enemy won´t move there because he knows that fort/base/castle means trouble. That doesn´t have to mean within effective weapon range ( although that helps of course ;) ) Many real world castles effectively blocked routes down in a river valley despite being up on a hill themselves.
But then again, ZOC ingame could mean a more..direct threat then an unknown garrison spilling forth to meet you.

And an only loosely related idea: Could forts give boni to units stationed there for some turns, if said units fight anywhere within the sight range of the fort? same for cities. A unit stationed for a while in a base would have good knowledge of the surrounding terrain, and consequently use it better.
 
Probably a stupid try since i don't understand the mechanics really well but when opening the Civ4ImprovementsInfo.xml I found the code about forts. The new upgradeable with fortification tag was there as well and set to 1 - nice to see!

My idea was now to copy some parts of the "fort" code, change the required tech for it as well as its graphics and the culture output of it create a new improvement "Outpost" - constructable with woodworking, showing the "palisade" graphics and having only culture on the tile itself instead of the first ring as well.

However in the XML file there was no tag that shows which tech it is enabled with... and also the culture level isn't defined there. Can anyone point me a way how to do it?

I really thought it was that easy to just change 3 parameters to have a new improvement... :dunno:
 
But then again, ZOC ingame could mean a more..direct threat then an unknown garrison spilling forth to meet you.
Which is why I'm in disagreement that a moat should give a castle a ZOC but weaponized tower buildings should (they'd be able to lay down suppressive fire.)

This concept is pertinent to fort upgrades as well of course, as it would mean we should be adopting nearly all city defense tags into fort improvements and allowing them to be a part of the fort upgrade process. By this rationale, if you have a ZOC, you ALSO have adjacent tile damage being dealt.
 
@TB

Totally agree with everything you said here.
 
Probably a stupid try since i don't understand the mechanics really well but when opening the Civ4ImprovementsInfo.xml I found the code about forts. The new upgradeable with fortification tag was there as well and set to 1 - nice to see!

My idea was now to copy some parts of the "fort" code, change the required tech for it as well as its graphics and the culture output of it create a new improvement "Outpost" - constructable with woodworking, showing the "palisade" graphics and having only culture on the tile itself instead of the first ring as well.

However in the XML file there was no tag that shows which tech it is enabled with... and also the culture level isn't defined there. Can anyone point me a way how to do it?

I really thought it was that easy to just change 3 parameters to have a new improvement... :dunno:

From the definition for IMPROVEMANT_FORT in the current SVN, the culture stuff IS defined (near the bottom):
Code:
		<ImprovementInfo>
			<Type>IMPROVEMENT_FORT</Type>
			<Description>TXT_KEY_IMPROVEMENT_FORT</Description>
			<Civilopedia>TXT_KEY_IMPROVEMENT_FORT_PEDIA</Civilopedia>
			<ArtDefineTag>ART_DEF_IMPROVEMENT_FORT</ArtDefineTag>
			<YieldChanges/>
			<bActsAsCity>1</bActsAsCity>
			<bHillsMakesValid>0</bHillsMakesValid>
			<bFreshWaterMakesValid>0</bFreshWaterMakesValid>
			<bRiverSideMakesValid>0</bRiverSideMakesValid>
			<bNoFreshWater>0</bNoFreshWater>
			<bRequiresFlatlands>0</bRequiresFlatlands>
			<bRequiresRiverSide>0</bRequiresRiverSide>
			<bRequiresIrrigation>0</bRequiresIrrigation>
			<bCarriesIrrigation>0</bCarriesIrrigation>
			<bRequiresFeature>0</bRequiresFeature>
			<bWater>0</bWater>
			<bGoody>0</bGoody>
			<bPermanent>0</bPermanent>
			<bUseLSystem>1</bUseLSystem>
			<iAdvancedStartCost>60</iAdvancedStartCost>
			<iAdvancedStartCostIncrease>0</iAdvancedStartCostIncrease>
			<iTilesPerGoody>0</iTilesPerGoody>
			<iGoodyRange>0</iGoodyRange>
			<iFeatureGrowth>0</iFeatureGrowth>
			<iUpgradeTime>0</iUpgradeTime>
			<iAirBombDefense>20</iAirBombDefense>
			<iDefenseModifier>50</iDefenseModifier>
			<iHappiness>0</iHappiness>
			<iPillageGold>0</iPillageGold>
			<bOutsideBorders>1</bOutsideBorders>
			<TerrainMakesValids>
				<TerrainMakesValid>
					<TerrainType>TERRAIN_GRASS</TerrainType>
					<bMakesValid>1</bMakesValid>
				</TerrainMakesValid>
				<TerrainMakesValid>
					<TerrainType>TERRAIN_PLAINS</TerrainType>
					<bMakesValid>1</bMakesValid>
				</TerrainMakesValid>
				<TerrainMakesValid>
					<TerrainType>TERRAIN_DESERT</TerrainType>
					<bMakesValid>1</bMakesValid>
				</TerrainMakesValid>
				<TerrainMakesValid>
					<TerrainType>TERRAIN_TUNDRA</TerrainType>
					<bMakesValid>1</bMakesValid>
				</TerrainMakesValid>
				<TerrainMakesValid>
					<TerrainType>TERRAIN_SNOW</TerrainType>
					<bMakesValid>1</bMakesValid>
				</TerrainMakesValid>
				<TerrainMakesValid>
					<TerrainType>TERRAIN_MARSH</TerrainType>
					<bMakesValid>1</bMakesValid>
				</TerrainMakesValid>
				<TerrainMakesValid>
					<TerrainType>TERRAIN_LUSH</TerrainType>
					<bMakesValid>1</bMakesValid>
				</TerrainMakesValid>
				<TerrainMakesValid>
					<TerrainType>TERRAIN_SCRUB</TerrainType>
					<bMakesValid>1</bMakesValid>
				</TerrainMakesValid>
				<TerrainMakesValid>
					<TerrainType>TERRAIN_BARREN</TerrainType>
					<bMakesValid>1</bMakesValid>
				</TerrainMakesValid>
				<TerrainMakesValid>
					<TerrainType>TERRAIN_ROCKY</TerrainType>
					<bMakesValid>1</bMakesValid>
				</TerrainMakesValid>
				<TerrainMakesValid>
					<TerrainType>TERRAIN_DUNES</TerrainType>
					<bMakesValid>1</bMakesValid>
				</TerrainMakesValid>
				<TerrainMakesValid>
					<TerrainType>TERRAIN_SALT_FLATS</TerrainType>
					<bMakesValid>1</bMakesValid>
				</TerrainMakesValid>
				<TerrainMakesValid>
					<TerrainType>TERRAIN_PERMAFROST</TerrainType>
					<bMakesValid>1</bMakesValid>
				</TerrainMakesValid>
				<TerrainMakesValid>
					<TerrainType>TERRAIN_MUDDY</TerrainType>
					<bMakesValid>1</bMakesValid>
				</TerrainMakesValid>
			</TerrainMakesValids>
			<FeatureMakesValids/>
			<ImprovementPillage/>
			<ImprovementUpgrade/>
			<TechYieldChanges/>
			<RouteYieldChanges/>
			<bGraphicalOnly>0</bGraphicalOnly>
[B]			<iCulture>2</iCulture>
			<iCultureRange>1</iCultureRange>
[/B]			<iVisibilityChange>2</iVisibilityChange>
			<iSeeFrom>1</iSeeFrom>
			<iUnique>2</iUnique>
			<bBombardable>1</bBombardable>
			<bUpgradeRequiresFortify>1</bUpgradeRequiresFortify>
		</ImprovementInfo>

It doesn't use the <PrereqTech> tag, which is optional. That just means it can currently be built without any tech requirements IF you have acces toa suitable build. In the case of C2C the build for a fort is:
Code:
		<BuildInfo>
			<Type>BUILD_FORT</Type>
			<Description>TXT_KEY_BUILD_FORT</Description>
			<Help/>
			<PrereqTech>TECH_MATHEMATICS</PrereqTech>
			<iTime>1000</iTime>
			<iCost>0</iCost>
			<bKill>0</bKill>
			<ImprovementType>IMPROVEMENT_FORT</ImprovementType>
			<RouteType>NONE</RouteType>
			<EntityEvent>ENTITY_EVENT_BUILD</EntityEvent>
			<FeatureStructs/>
			<HotKey>KB_F</HotKey>
			<bAltDown>0</bAltDown>
			<bShiftDown>0</bShiftDown>
			<bCtrlDown>1</bCtrlDown>
			<iHotKeyPriority>0</iHotKeyPriority>
			<Button>,Art/Interface/Buttons/Builds/BuildFort.dds,Art/Interface/Buttons/Actions_Builds_LeaderHeads_Specialists_Atlas.dds,7,9</Button>
		</BuildInfo>

So it's the availability of the build that controls the fort. If we want to include them in auto-upgrade chains however, we'll need to add suitable techs to the improvements too.
 
Thx for pointing that out, Koshling! I just tried to change all the stuff to make a fake fort aka Outpost but when trying to find the .dds for the palisade etc I go kinda lost... I had like 5 notepads open, bits of code here and there and I just got like a codepleptic shock (Feels like you need to throw up in your brain). Gee, pretty overwhelming to handle all of this. I can't do nothing against getting a headache everytime I try something about coding!!! :cry:

Then again, as long as you know what to do and how to combine the new aspects you discussed (upgrade chain yeah!) I am more than happy to wait for the improvement :worship:

Ok, before I stopped my attempt to code for today, I made some notes as to how I would change the forts stats for the new "Outpost" buildable with Woodworking or Carpentry.

iVisibility from 2 to 1 ;
iCultureRange from 1 to 0 [Does that mean no ring but the one tilehas culture?];
iCulture from 2 to 1 [does the iCulture mean the "cultural output of the tile per turn" so the Outpost will expand its borders at sometime? Would set it to 0 then];
iAirBombDefense from 20 to 5 ;
iDefenseModifier from 50 to 15 ;
iAdvancedStartCost from 60 to 30
 
Thx for pointing that out, Koshling! I just tried to change all the stuff to make a fake fort aka Outpost but when trying to find the .dds for the palisade etc I go kinda lost... I had like 5 notepads open, bits of code here and there and I just got like a codepleptic shock (Feels like you need to throw up in your brain). Gee, pretty overwhelming to handle all of this. I can't do nothing against getting a headache everytime I try something about coding!!! :cry:

Then again, as long as you know what to do and how to combine the new aspects you discussed (upgrade chain yeah!) I am more than happy to wait for the improvement :worship:

Ok, before I stopped my attempt to code for today, I made some notes as to how I would change the forts stats for the new "Outpost" buildable with Woodworking or Carpentry.

iVisibility from 2 to 1 ;
iCultureRange from 1 to 0 [Does that mean no ring but the one tilehas culture?];
iCulture from 2 to 1 [does the iCulture mean the "cultural output of the tile per turn" so the Outpost will expand its borders at sometime? Would set it to 0 then];
iAirBombDefense from 20 to 5 ;
iDefenseModifier from 50 to 15 ;
iAdvancedStartCost from 60 to 30

iCultureRange as you assumed
iCulture is simply the amount it adds to the tiles inside the culture range each turn, so it won;t grow outwards
 
The current tech requirement on improvements is usually done via the BuildInfos file in the units folder. It depends on whether or not you want the improvement to only upgrade so you have to build the earlier fort but not the upgraded ones or not.

For example the cottage appears in BuildInfos but hamlets etc don't. They should have a prereqtech in the ImprovementInfos.
 
At the moment, forts provide access to resources from the plot they are built on (I think). It occurs to me that if I move that into the XML too it opens up a whole new category of possible improvements like:

trapper's outpost:
culture range 0 (just its own plot)
defense modifiers of 0
no ZOC
iUnique 0 (can be built next to one another)
provides resource
can be built on beaver or rabbit

and similarly for other resource categories (hunter's outpost for most animal resources, mining output for metals and gems, etc.)

They wouldn't really be forts in the established sense, but they could be implemented with the fort tags. Would be a bit like resource crawlers in SMAC (but as built improvements rather than units)
 
At the moment, forts provide access to resources from the plot they are built on (I think). It occurs to me that if I move that into the XML too it opens up a whole new category of possible improvements like:

trapper's outpost:
culture range 0 (just its own plot)
defense modifiers of 0
no ZOC
iUnique 0 (can be built next to one another)
provides resource
can be built on beaver or rabbit

and similarly for other resource categories (hunter's outpost for most animal resources, mining output for metals and gems, etc.)

They wouldn't really be forts in the established sense, but they could be implemented with the fort tags. Would be a bit like resource crawlers in SMAC (but as built improvements rather than units)

Love it! This kind of thing would help us a lot with the eventual Nomadic project too.
 
Love it too.
with a trappers post I would even go so far as to make it buildable by hunting units.
Others should need workers though, but cheaper then full scale forts.

If you can externalize that ressource access to make it limited per outpost type.. could you exclude normal forts from ressource access? And make a more expensive "fortified trappers/mining/etc outpost" for those who need both the resource and the fort?
 
Love it too.
with a trappers post I would even go so far as to make it buildable by hunting units.
Others should need workers though, but cheaper then full scale forts.

If you can externalize that ressource access to make it limited per outpost type.. could you exclude normal forts from ressource access? And make a more expensive "fortified trappers/mining/etc outpost" for those who need both the resource and the fort?

All of this is possible of course (if the content authors can be bothered) once stuff is moved to the XML.
 
Back
Top Bottom