Hell terrain spread:

Yoadm

Warlord
Joined
Jul 25, 2005
Messages
265
Well, we have all witnessed the constant headache it is to clean up hell terrain, though theres something I've never really found out: Does hell terrain stop spreading once the Hyborem civ is wiped out?
 
no, but it lowers the AC. Hell terrain is about the AC and your alignment.
 
Once Hyborem arrives hell terrain is there to stay, pretty much no matter what you do. Even wiping him out on the turn he arrives will not work.

Just use the option in your games to take hell terrain out of your game.

It removes a bit of flavor from the game, but it also removes a tedious micromanagement feature as well IMO and I will take that anytime. ;)
 
Once Hyborem arrives hell terrain is there to stay, pretty much no matter what you do. Even wiping him out on the turn he arrives will not work.

This does not appear to be true as I just saw in a .34 game I recently finished.

Unfortunately for Hyborem he appeared near where the red dragon's city was at and I had a big stack of units on the way there to take on the dragon. I diverted them to go after Hyborem instead. I took him out only a couple of (4-5?) turns after he arrived and a couple of those spells that clean up the hell terrain appear to have stopped it from spreading permanently.

Once it gets into the ocean though you are probably screwed.
 
Code:
	def doHellTerrain(self):
		iAshenVeil = gc.getInfoTypeForString('RELIGION_THE_ASHEN_VEIL')
		iBurningSands = gc.getInfoTypeForString('TERRAIN_BURNING_SANDS')
		iBanana = gc.getInfoTypeForString('BONUS_BANANA')
		iCotton = gc.getInfoTypeForString('BONUS_COTTON')
		iCorn = gc.getInfoTypeForString('BONUS_CORN')
		iCow = gc.getInfoTypeForString('BONUS_COW')
		iEvil = gc.getInfoTypeForString('ALIGNMENT_EVIL')
		iFarm = gc.getInfoTypeForString('IMPROVEMENT_FARM')
		iFlames = gc.getInfoTypeForString('FEATURE_FLAMES')
		iFlamesSpreadChance = gc.getDefineINT('FLAMES_SPREAD_CHANCE')
		iGulagarm = gc.getInfoTypeForString('BONUS_GULAGARM')
		iHorse = gc.getInfoTypeForString('BONUS_HORSE')
		iInfernal = gc.getInfoTypeForString('CIVILIZATION_INFERNAL')
		iMarble = gc.getInfoTypeForString('BONUS_MARBLE')
		iNeutral = gc.getInfoTypeForString('ALIGNMENT_NEUTRAL')
		iNightmare = gc.getInfoTypeForString('BONUS_NIGHTMARE')
		iPig = gc.getInfoTypeForString('BONUS_PIG')
		iRazorweed = gc.getInfoTypeForString('BONUS_RAZORWEED')
		iRice = gc.getInfoTypeForString('BONUS_RICE')
		iSheep = gc.getInfoTypeForString('BONUS_SHEEP')
		iSheutStone = gc.getInfoTypeForString('BONUS_SHEUT_STONE')
		iSilk = gc.getInfoTypeForString('BONUS_SILK')
		iSnakePillar = gc.getInfoTypeForString('IMPROVEMENT_SNAKE_PILLAR')
		iSugar = gc.getInfoTypeForString('BONUS_SUGAR')
		iToad = gc.getInfoTypeForString('BONUS_TOAD')
		iWheat = gc.getInfoTypeForString('BONUS_WHEAT')
		iCount = CyGame().getGlobalCounter()
		for i in range (CyMap().numPlots()):
			pPlot = CyMap().plotByIndex(i)
			iFeature = pPlot.getFeatureType()
			iTerrain = pPlot.getTerrainType()
			iBonus = pPlot.getBonusType(-1)
			iImprovement = pPlot.getImprovementType()
			bUntouched = true
			if pPlot.isOwned():
				pPlayer = gc.getPlayer(pPlot.getOwner())
				iAlignment = pPlayer.getAlignment()
				if pPlayer.getCivilizationType() == iInfernal:
					pPlot.changePlotCounter(100)
					bUntouched = false
				if (bUntouched and pPlayer.getStateReligion() == iAshenVeil or (iCount >= 50 and iAlignment == iEvil) or (iCount >= 75 and iAlignment == iNeutral)):
					iX = pPlot.getX()
					iY = pPlot.getY()
					for iiX in range(iX-1, iX+2, 1):
						for iiY in range(iY-1, iY+2, 1):
							pAdjacentPlot = CyMap().plot(iiX,iiY)
							if pAdjacentPlot.isNone() == False:
								if pAdjacentPlot.getPlotCounter() > 10:
									pPlot.changePlotCounter(1)
									bUntouched = false
			if (bUntouched and pPlot.isOwned() == false and iCount > 25):
				iX = pPlot.getX()
				iY = pPlot.getY()
				for iiX in range(iX-1, iX+2, 1):
					for iiY in range(iY-1, iY+2, 1):
						pAdjacentPlot = CyMap().plot(iiX,iiY)
						if pAdjacentPlot.isNone() == False:
							if pAdjacentPlot.getPlotCounter() > 10:
								pPlot.changePlotCounter(1)
								bUntouched = false
			iPlotCount = pPlot.getPlotCounter()
			if (bUntouched and iPlotCount > 0):
				pPlot.changePlotCounter(-1)
			if iPlotCount > 9:
				if (iBonus == iSheep or iBonus == iPig):
					pPlot.setBonusType(iToad)
				if (iBonus == iHorse or iBonus == iCow):
					pPlot.setBonusType(iNightmare)
				if (iBonus == iCotton or iBonus == iSilk):
					pPlot.setBonusType(iRazorweed)
				if (iBonus == iBanana or iBonus == iSugar):
					pPlot.setBonusType(iGulagarm)
				if (iBonus == iMarble):
					pPlot.setBonusType(iSheutStone)
				if (iBonus == iCorn or iBonus == iRice or iBonus == iWheat):
					pPlot.setBonusType(-1)
					pPlot.setImprovementType(iSnakePillar)
			if iPlotCount < 10:
				if iBonus == iToad:
					if CyGame().getSorenRandNum(100, "Hell Convert") < 50:
						pPlot.setBonusType(iSheep)
					else:
						pPlot.setBonusType(iPig)
				if iBonus == iNightmare:
					if CyGame().getSorenRandNum(100, "Hell Convert") < 50:
						pPlot.setBonusType(iHorse)
					else:
						pPlot.setBonusType(iCow)
				if iBonus == iRazorweed:
					if CyGame().getSorenRandNum(100, "Hell Convert") < 50:
						pPlot.setBonusType(iCotton)
					else:
						pPlot.setBonusType(iSilk)
				if iBonus == iGulagarm:
					if CyGame().getSorenRandNum(100, "Hell Convert") < 50:
						pPlot.setBonusType(iBanana)
					else:
						pPlot.setBonusType(iSugar)
				if (iBonus == iSheutStone):
					pPlot.setBonusType(iMarble)
				if iImprovement == iSnakePillar:
					pPlot.setImprovementType(iFarm)
					iCount = CyGame().getSorenRandNum(100, "Hell Convert")
					if  iCount < 33:
						pPlot.setBonusType(iCorn)
					else:
						if iCount < 66:
							pPlot.setBonusType(iRice)
						else:
							pPlot.setBonusType(iWheat)
			if iTerrain == iBurningSands:
				if pPlot.isCity() == False:
					if pPlot.isPeak() == False:
						if CyGame().getSorenRandNum(100, "Flames") <= iFlamesSpreadChance:
							pPlot.setFeatureType(iFlames, 0)


Hell terrain has nothing to do with the Infernals, except that all infernal territory has its plot counter set to 100 each turn. The Entropy Node Flair even also sets the node's plotCounter too 100, and is an alternate way for hell terrain to start spreading.

(In my version, the automatic spreading will be toned down and made less alignment dependent and spells/pyPerTurn effects that raise the plot counter will be added. The strongest Demons, who will be made much stronger, will be unable to leave hell, but AV units/lesser demons would be able to spread the corruption of hell to make a way for their big brothers.)



You can stop hell, but it is very hard and requires you have lots of Life I mages casting Sanctify every turn, even in oceans. I really think that Glory Everlasting (the ritual that kills all demons) should be made to set all the plot counters to 0 too, thus getting rid of hell permanently unless the Infernals are still around or the Entropy node flair event occurs.
 
You can stop hell, but it is very hard and requires you have lots of Life I mages casting Sanctify every turn, even in oceans.

Wait a sec, I've stopped it by nipping it in the bud before it really gets going. Or at least it appeared so. Doesn't Sanctify set the counter to 0 so if you can catch it early enough you really can just get rid of it?

And YIKES on the chaos node thing. I've never seen that one happen, only the life node, nature, and water node events and them usually several times a game. Are the node events completely random or are some more likely to happen?
 
Well, yeah, if you get rid of hell really early you can stop it. That requires killing off the Infernals very quickly though.


It is Entropy nodes, not Chaos Nodes, that can spread hell when they flair up. Chaos nodes just give out Mutation. As far as I know they are completely random, but they do of course require you own the proper type of node.
 
Wait a sec, I've stopped it by nipping it in the bud before it really gets going. Or at least it appeared so. Doesn't Sanctify set the counter to 0 so if you can catch it early enough you really can just get rid of it?

I'm not sure what you mean by your beginning paragraph, Bill.

Sanctifying hell terrain doesn't budge the Armageddon Counter as far as I can tell. If you Sanctify city ruins, you can move the counter negatively a small percentage, but almost never can you move it by -1. Often you must Sanctify 2 or more city ruins to decrease the counter by 1. It does depend on how high it is, I guess.

Once, again, I have to say that I have wiped out Hyborem and his Infernals within 1 or 2 turns of him entering the world and still had hell terrain I could never get rid of completely even with quite a few Adepts/Mages with Life I. Maybe it did have something to do with it spreading via rivers or other bodies of water, but in my experience once the Infernals arrive (and usually the counter will be fairly high when he arrives) the stuff spreads like crazy creating that Sanctify-micromanagement chore.
 
Each tile has a counter that determines whether it is hell terrain or not. Every turn tiles that border hell terrain have their counters increase, I think the amount may be dependent on the Armaggeddon counter. Above a certain number they become hell terrain. Sanctify sets the counter back to 0.

If Hyborem is summoned with a low AC and quickly killed you can control the hell terrain fairly easily. If it's higher hell will spread into more areas and may spread faster, making it more difficult to control as you observe. Also, ocean plots have counters as well, but have no graphical indication. So once hell reaches the oceans it has "seeds" that you can't find without having an Life I adept cruising the seas.
 
What Steve said.

When I did it the AC was fairly low, I got there soon after Hyborem was summoned, and I cast a bunch of Sanctifies that completely got rid of the terrain that did exist.

I was kind of paranoid about it and kept some guys in the area to watch but it really never did take off again.
 
Hell terrain also hides in peaks, tundra, and ice. The latter is the biggest issue. Hyborem often founds Dis on a desolate strip of ice at the north or south of the world. He spawns there, you kill him, you go "I don't see any hell, I must have nipped it in the bud!" But you haven't. The hell counter is maxed out on the ice tiles, you just can't see it. Pretty soon it'll spread to normal terrain, and you won't see the source. Worse, it spreads sideways, to the rest of the ice strip, eventually making its way around the whole world if the game goes on long enough.

You could send a bunch of life adepts into the ice around where Dis is/was and have them spam sanctify, de-helling the tiles. But you'd be firing blind, and it would probably only work if you started really early.
 
Your post and the previous post on each tile having a counter are very interesting. I didn't know any of this.

I wonder how you could Sanctify what you cannot see. Would the Sanctify button on the Adept be available to use on an ice tile, for example, if you couldn't see the hell terrain, but it was there? Same for sending an Adept to water tiles.

I guess the key is having Hyborem arrive when the count is down. I just see in my games that he arrives with a higher counter as you normally would have to have one or more civs who have AV which has spread. If the count is high, then it would seem like a useless task to try and take out the Infernals and rid the world of hell terrain. However, if the count is low, you might have a chance of doing that.
 
how about allowing adepts with eighter life or entropy promos to see the counter on the tile they're on (or within a certain radius, say 2-4)? I wouldn't know how to code this, but it would certainly make mopping up a lot easier.
 
I guess the key is having Hyborem arrive when the count is down. I just see in my games that he arrives with a higher counter as you normally would have to have one or more civs who have AV which has spread. If the count is high, then it would seem like a useless task to try and take out the Infernals and rid the world of hell terrain. However, if the count is low, you might have a chance of doing that.

You also have to be able to take him out and get to him.

I had him arrive right next to me one time when I was alone on a continent BUT I had no one of very high level and didn't have any non-living units or units that could cast courage to take him (personally) on. By the time I got units developed to actually attack him the terrain was out of control.

Another game he appeared literally in the far corner of the world from me with several non-friendly civs in between. No way was I gonna take him out let alone stop the terrain from taking off.
 
You also have to be able to take him out and get to him.

I had him arrive right next to me one time when I was alone on a continent BUT I had no one of very high level and didn't have any non-living units or units that could cast courage to take him (personally) on. By the time I got units developed to actually attack him the terrain was out of control.

Another game he appeared literally in the far corner of the world from me with several non-friendly civs in between. No way was I gonna take him out let alone stop the terrain from taking off.

I agree.

One game I had him spawn right on my border - never did understand the mechanism that determines where he will spawn.

I killed him ONE TURN after he settled his city of Dis. Still, the hell terrain was here to stay. It spread to a nearby civ I did not have an open borders agreement with and we all know the AI never Sanctifies hell terrain, so it kept spreading everywhere with my Adepts with Life I being pretty much useless. Since then I turn off hell terrain in the options when starting a game.
 
I've found that the micro management approach is pointless due to the way hell terrain hides in mountains and tundra as noted above. It's like a huge game of wack-a-mole.

Alignment is a good way to deal with hell terrain: either join the order making you good so hell can't spread to your lands or join AV and enact sacrifice the weak so that the lower food from hell terrain (via destroyed food resources and the inability to spread irrigation on hell plains) has less of an effect. It's another way of promoting the good vs. evil battles I guess.
 
Personally, by the time Hell terrain gets to be a major issue I've usually got the means to quickly produce enough adepts to keep my borders secure. It's a massive micromanagement pain though, so what I usually wind up doing is just fortifying enough to sanctify every border point where Hell terrain might come in, and Sanctify every time it actually spreads into productive territory.

Although, I actually like letting Hell terrain spread over some of my less productive cities' lands. The extra set of resources is very nice, especially Sheut Stones and Nightmares.
 
Random: What happens if a good civ takes a city with hell terrain in its radius/underneath it, or founds a city on hell?
 
Random: What happens if a good civ takes a city with hell terrain in its radius/underneath it, or founds a city on hell?

It will stay exactly the same UNLESS you Sanctify the territory with an Adept/Mage. Once you Sanctify, though, you don't have to do it again - it will not creep back in as long as you keep your Good alignment.

It might be helpful to have an Adept/Mage with Spring after you Sanctify as many of the tiles will be desert after performing the Sanctify spell.
 
Hmmm. In a 0.33 game when my border spread into Hell terrain it eventually flipped back to non-hell. So I would imagine that if you take a city eventually it will flip back too.
 
Top Bottom