8.3x Bugs Thread

Grigori Adventurers aren't marked as "Unique Units for the Grigori" in the civilopedia. This tag is present in the section for the UNIT_ADVENTURER section in the Civ4UnitInfos.xml file:

Code:
<PrereqCiv>CIVILIZATION_GRIGORI</PrereqCiv>

but doesn't seem to do any good. I've tried tweaking the other XML values for them in the UnitInfos file, including setting a unitcombat, setting a real cost, and some other items to see if it would do any good, but nada.

Odd, because other units for them like the Grigori medic do show up as Unique Units, not sure what the difference is.
 
when Pyre of Sepulcher spawns on flood plains and is explored, the fire mana node is not created.

what mapscript did you use? Maybe it added flood plains on top of the Sepulcher? Unique Improvements like the Pyre never spawn on Features.
 
On version 8.32 as the Scions:

Code:
Traceback (most recent call last):

  File "CvEventInterface", line 30, in onEvent

  File "BugEventManager", line 289, in handleEvent

  File "BugEventManager", line 294, in _dispatchEvent

  File "BugEventManager", line 306, in _handleDefaultEvent

  File "BugUtil", line 479, in __call__

  File "BugUtil", line 476, in call

  File "CvFFHPLUS", line 2424, in doTurnScions

NameError: global name 'caster' is not defined
ERR: Python function onEvent failed, module CvEventInterface

Caused by a Ghostwalker that casts Become Haunt. Every turn the haunt stays alive, the above error occurs.

PS. How do you spread Haunted Lands in Wild Mana?
 

Attachments

  • Bug.CivBeyondSwordSave
    339.5 KB · Views: 53
NameError: global name 'caster' is not defined
ERR: Python function onEvent failed, module CvEventInterface[/CODE]

Caused by a Ghostwalker that casts Become Haunt. Every turn the haunt stays alive, the above error occurs.

I don't have 8.32, but if it's like the last time the error cropped up going to 2424 and changing "caster" to "pUnit" will fix it. So you end up with something like this:

Spoiler :

Code:
		if pUnit.isHasPromotion(iHauntProm):
			if CyGame().getSorenRandNum(3, "Haunt to Ghostwalker Check") == 1:
				newUnit = pPlayer.initUnit(gc.getInfoTypeForString('UNIT_GHOSTWALKER'), pUnit.getX(), pUnit.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_SOUTH)
				newUnit.setDamage(pUnit.getDamage(), pUnit.getOwner())
				newUnit.convert(pUnit)				
				newUnit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_SUBDUE_ANIMAL'), True)
				newUnit.setHasPromotion(iHauntProm, False)
				continue


PS. How do you spread Haunted Lands in Wild Mana?

It spreads automatically. Having Ghostwalkers, Haunts, Redactors, Nature manna), and Korinna the Black, will make it spread faster. IIRC you need at least 1 Ghostwalker before the spread starts.

Korinna is a x2 multiplier on the per/tile odds.
Redactors have a spell that directly creates HL.

(If Sephi chooses to include it, the next version may have Ghostwalkers generate Creepers which spread HL or destroy rival food/health-improvements, and the passive spread will be turned down or eliminated.)
 
My apologies if this is listed already (didn't read back more than a page). I'm playing an 8.32 game WITHOUT the option for Houses of Erebus. I doubled checked my game settings page, and the option is definitely not there. But I just researched hunting (very possibly the first), and I got house Vadalis in my capital. It's not the headquarters, but the house is there and I can see corporation costs. I have a savegame but won't post unless you ask for it.
 
I have Lucian Cold Iron for the Doviello, and have found the Pool of Tears, but it doesn't cure him of being Plagued. Bummer.

I looked in CvSpellInterface.py, line 4204 and it looks like this is on purpose?

Spoiler :

Code:
def onMovePoolOfTears(pCaster, pPlot):
#added Sephi
	if pCaster.getUnitType()==gc.getInfoTypeForString('UNIT_LUCIAN1'):
		return
#added Sephi
	if pCaster.isHasPromotion(gc.getInfoTypeForString('PROMOTION_DISEASED')):
		pCaster.setHasPromotion(gc.getInfoTypeForString('PROMOTION_DISEASED'), false)
		CyInterface().addMessage(pCaster.getOwner(),True,25,CyTranslator().getText("TXT_KEY_MESSAGE_POOL_OF_TEARS_DISEASED",()),'AS2D_FEATUREGROWTH',1,'Art/Interface/Buttons/Improvements/Pool of Tears.dds',ColorTypes(8),pCaster.getX(),pCaster.getY(),True,True)
	if pCaster.isHasPromotion(gc.getInfoTypeForString('PROMOTION_PLAGUED')):
		pCaster.setHasPromotion(gc.getInfoTypeForString('PROMOTION_PLAGUED'), false)
		CyInterface().addMessage(pCaster.getOwner(),True,25,CyTranslator().getText("TXT_KEY_MESSAGE_POOL_OF_TEARS_PLAGUED",()),'AS2D_FEATUREGROWTH',1,'Art/Interface/Buttons/Improvements/Pool of Tears.dds',ColorTypes(8),pCaster.getX(),pCaster.getY(),True,True)
	if pCaster.isHasPromotion(gc.getInfoTypeForString('PROMOTION_POISONED')):
		pCaster.setHasPromotion(gc.getInfoTypeForString('PROMOTION_POISONED'), false)
		CyInterface().addMessage(pCaster.getOwner(),True,25,CyTranslator().getText("TXT_KEY_MESSAGE_POOL_OF_TEARS_POISONED",()),'AS2D_FEATUREGROWTH',1,'Art/Interface/Buttons/Improvements/Pool of Tears.dds',ColorTypes(8),pCaster.getX(),pCaster.getY(),True,True)
	if pCaster.isHasPromotion(gc.getInfoTypeForString('PROMOTION_WITHERED')):
		pCaster.setHasPromotion(gc.getInfoTypeForString('PROMOTION_WITHERED'), false)
		CyInterface().addMessage(pCaster.getOwner(),True,25,CyTranslator().getText("TXT_KEY_MESSAGE_POOL_OF_TEARS_WITHERED",()),'AS2D_FEATUREGROWTH',1,'Art/Interface/Buttons/Improvements/Pool of Tears.dds',ColorTypes(8),pCaster.getX(),pCaster.getY(),True,True)


I guess he is pretty powerful, particularly so early in the game, but seems kind of a bummer if you go to all the trouble to find the Pool of Tears and march him halfway across the continent to find it that nothing even happens.

Perhaps at least a note in the Civilopedia that the Pool of Tears won't cure him of plagued.

I guess I have to wait for a priest to help (the note does allude to that in the Civilopedia, I suppose.)
 
Grigori Adventurers aren't marked as "Unique Units for the Grigori" in the civilopedia. This tag is present in the section for the UNIT_ADVENTURER section in the Civ4UnitInfos.xml file:

Code:
<PrereqCiv>CIVILIZATION_GRIGORI</PrereqCiv>

but doesn't seem to do any good. I've tried tweaking the other XML values for them in the UnitInfos file, including setting a unitcombat, setting a real cost, and some other items to see if it would do any good, but nada.

sounds like some Module overwrites the data for Adventurers
 
On version 8.32 as the Scions:

Code:
Traceback (most recent call last):

  File "CvEventInterface", line 30, in onEvent

  File "BugEventManager", line 289, in handleEvent

  File "BugEventManager", line 294, in _dispatchEvent

  File "BugEventManager", line 306, in _handleDefaultEvent

  File "BugUtil", line 479, in __call__

  File "BugUtil", line 476, in call

  File "CvFFHPLUS", line 2424, in doTurnScions

NameError: global name 'caster' is not defined
ERR: Python function onEvent failed, module CvEventInterface

Caused by a Ghostwalker that casts Become Haunt. Every turn the haunt stays alive, the above error occurs.

PS. How do you spread Haunted Lands in Wild Mana?

python fixed. Haunted lands spread is currently only via passive spread and the code for this does not work (already fixed for 9.0)
 
I have Lucian Cold Iron for the Doviello, and have found the Pool of Tears, but it doesn't cure him of being Plagued. Bummer.

I looked in CvSpellInterface.py, line 4204 and it looks like this is on purpose?

Spoiler :

Code:
def onMovePoolOfTears(pCaster, pPlot):
#added Sephi
	if pCaster.getUnitType()==gc.getInfoTypeForString('UNIT_LUCIAN1'):
		return
#added Sephi
	if pCaster.isHasPromotion(gc.getInfoTypeForString('PROMOTION_DISEASED')):
		pCaster.setHasPromotion(gc.getInfoTypeForString('PROMOTION_DISEASED'), false)
		CyInterface().addMessage(pCaster.getOwner(),True,25,CyTranslator().getText("TXT_KEY_MESSAGE_POOL_OF_TEARS_DISEASED",()),'AS2D_FEATUREGROWTH',1,'Art/Interface/Buttons/Improvements/Pool of Tears.dds',ColorTypes(8),pCaster.getX(),pCaster.getY(),True,True)
	if pCaster.isHasPromotion(gc.getInfoTypeForString('PROMOTION_PLAGUED')):
		pCaster.setHasPromotion(gc.getInfoTypeForString('PROMOTION_PLAGUED'), false)
		CyInterface().addMessage(pCaster.getOwner(),True,25,CyTranslator().getText("TXT_KEY_MESSAGE_POOL_OF_TEARS_PLAGUED",()),'AS2D_FEATUREGROWTH',1,'Art/Interface/Buttons/Improvements/Pool of Tears.dds',ColorTypes(8),pCaster.getX(),pCaster.getY(),True,True)
	if pCaster.isHasPromotion(gc.getInfoTypeForString('PROMOTION_POISONED')):
		pCaster.setHasPromotion(gc.getInfoTypeForString('PROMOTION_POISONED'), false)
		CyInterface().addMessage(pCaster.getOwner(),True,25,CyTranslator().getText("TXT_KEY_MESSAGE_POOL_OF_TEARS_POISONED",()),'AS2D_FEATUREGROWTH',1,'Art/Interface/Buttons/Improvements/Pool of Tears.dds',ColorTypes(8),pCaster.getX(),pCaster.getY(),True,True)
	if pCaster.isHasPromotion(gc.getInfoTypeForString('PROMOTION_WITHERED')):
		pCaster.setHasPromotion(gc.getInfoTypeForString('PROMOTION_WITHERED'), false)
		CyInterface().addMessage(pCaster.getOwner(),True,25,CyTranslator().getText("TXT_KEY_MESSAGE_POOL_OF_TEARS_WITHERED",()),'AS2D_FEATUREGROWTH',1,'Art/Interface/Buttons/Improvements/Pool of Tears.dds',ColorTypes(8),pCaster.getX(),pCaster.getY(),True,True)


I guess he is pretty powerful, particularly so early in the game, but seems kind of a bummer if you go to all the trouble to find the Pool of Tears and march him halfway across the continent to find it that nothing even happens.

Perhaps at least a note in the Civilopedia that the Pool of Tears won't cure him of plagued.

I guess I have to wait for a priest to help (the note does allude to that in the Civilopedia, I suppose.)

A note in the Pedia of Lucian Cold Iron would be good I guess.
 
Top Bottom