MagisterCultuum
Great Sage
I just had a weird issue in my modmod where the new Brotherhood of Wardens religion was being spread to every city of every player every turn.
When I closed the game and loaded a save, this issue did not continue.
(I recall one or two previous games where one of my new religions randomly appeared in my capital after the first turn. I never noticed it being spread to every other city then, but I probably did not keep playing long enough to build a second city or explore rival territory before saving and reloading anyway.)
My first guess was that this might have been caused by one of those memory issues causing the game to misread BUILDING_SHRINE_OF_SIRONA in the conditional statement I used to spread this religion to any city with the Shrine of Sirona. (This is a workaround I added to make up for the <ReligionChange> tags not working in Advanced Start. I was not playing an advanced start game at this point.)
It would make more sense for this behavior to occur if it cannot find BUILDING_SHRINE_OF_SIRONA and is instead spreading the religion after checking if pCity.getNumBuilding(-1) > 0:
If this was the case though, I would have expected to see an Assert upon loading and then have the Shrine of Sirona itself not to show up in the pedia, on the tech tree, or be buildable. I saw it there, and constructed it, and used the Sirona's Touch ability without any issue.
Edit: I just realized I was not using the assert DLL, so not seeing the assert is not strange.
It is possible for a memory corruption issue to be effecting the Python but not the XML code?
-----
Do you have any ETA on the next update?
I was thinking I might release a minor update of my own pretty soon, but would rather include your fixes if it would be ready within a week or two.
What are the chances that you'd decide to go ahead and add religion based production modifiers for buildings in the next version? It is fine if you don't. I'm asking only because I'd rather not waste time manually documenting the many discounts I gave in CvGameUtils.py if I'd be able to switch those to XML and have it all documented automatically.
When I closed the game and loaded a save, this issue did not continue.
(I recall one or two previous games where one of my new religions randomly appeared in my capital after the first turn. I never noticed it being spread to every other city then, but I probably did not keep playing long enough to build a second city or explore rival territory before saving and reloading anyway.)
My first guess was that this might have been caused by one of those memory issues causing the game to misread BUILDING_SHRINE_OF_SIRONA in the conditional statement I used to spread this religion to any city with the Shrine of Sirona. (This is a workaround I added to make up for the <ReligionChange> tags not working in Advanced Start. I was not playing an advanced start game at this point.)
It would make more sense for this behavior to occur if it cannot find BUILDING_SHRINE_OF_SIRONA and is instead spreading the religion after checking if pCity.getNumBuilding(-1) > 0:
If this was the case though, I would have expected to see an Assert upon loading and then have the Shrine of Sirona itself not to show up in the pedia, on the tech tree, or be buildable. I saw it there, and constructed it, and used the Sirona's Touch ability without any issue.
Edit: I just realized I was not using the assert DLL, so not seeing the assert is not strange.
It is possible for a memory corruption issue to be effecting the Python but not the XML code?
-----
Do you have any ETA on the next update?
I was thinking I might release a minor update of my own pretty soon, but would rather include your fixes if it would be ready within a week or two.
What are the chances that you'd decide to go ahead and add religion based production modifiers for buildings in the next version? It is fine if you don't. I'm asking only because I'd rather not waste time manually documenting the many discounts I gave in CvGameUtils.py if I'd be able to switch those to XML and have it all documented automatically.