[MOD] Eusebius World Religions

I havent tested the last few version of this mod but today i tested the latest version and found few annoying things.

First off even if i disable "JZoC Mod" in hte ini file the mod is active. That is to bad sence its totaly unbalanced against the AI. The AI walk around the fort and take damage.


Second i cant get rid of the annoying spam of debug text in the log on the left side of the window. No matter how i edit the ini file.

Pleas fix this two things, untill then this mod are unfortunately unplayable.
 
Ploeperpengel said:
A few issues I noticed in a short testgame:

1.I founded Islam very early with a GP I got before any other Religions were founded. Also no Missionary and no Holy city for it.
2.Tradeconnection citybaricons aren't showing.
3.I can build all temples after discovering the required tech without the religionprereq.

-no pythonexceptions this time(yet)

Here a save:


The same happens to me...It's more than annoying :(
 
I also have a large amount of debug spam. Stuff like "Player 0 has built blahblah".Im not really sure what I'm doing with the install either. I cant figure out what to do with the .py files. Though I'm probably just stupid.
I really want to play it, but its just beyond irritating. :/
 
mollari said:
The same happens to me...It's more than annoying :(

I'm quite mystified by this one. I put together a saved game test. The Americans have all ancient and classical techs. Three great prophets. I can't found Islam under those conditions. Mind trying it and seeing if you can?

Eusebius
 
I did indeed forget to turn off the debug messages in that last release. Just put out .41b with them turned off and SDK source files included so you only need one download.

Ran a test for JZOC mod turned off in the ini file and my fort didn't fire at anyone. Again, not sure what to do with that report.

Thanks for the feedback. I'll do my best to figure things out; but religion and software are both full of mystery!

Eusebius
 
I am still having trouble getting this game to run. I have warlords and yet I keep getting a runtime error! :mad:
 
I can't believe you would ignore the first major uniquely American religion! So different from mainsream Christianity, so many possibilities. I'd be more than happy to help you out with it if you like.

Mormonism was a reaction to the religious pluralism of the Second Great Awakening. Not satisfied with the numerous private interpretations of scripture, they sought to restore the "true authority" of God on Earth.
Therefore Mormonism should be able to be founded in any city with, say, four or more religions. The founding wonder can be "Discovery of The Golden Plates."

Mormons are very industrous, and good at making money, and very repressed. Cities with Mormonism should get:
+2 hammers
+1 gold
+1 culture
-10% war weariness

The Mormon church is part church and part government. They have their own courts and their own welfare system that distributes food and good grown on church-owned farms.
The basic Mormon building should be the "stake" which gives some culture, +1 happy, and -15% maintenance due to it's self-supporting nature. (only effective if Mormonism is the state religion.)

The mormon Temple (cathedral) generates +2 happy and +50% culture. No bonus from incense though, incense is for catholics and hippies. Instead perhaps +1 science because of all the genealogy activity that takes place therein.

For a tongue-in-cheek second wonder, you could implement the Church Office Building, which generates +50% gold in the target (Mormon) city. Mormons are all about the money.

The symbol, of course, should be the angel Moroni:
http://www.mission.net/japan/tokyo/north/images/jtnmor.jpg
 
Oh, and "Jiba" is Chinese for penis. It's always a treat when erecting a Jiba can found a religion for you XD

Edit:
Did I say this was my favorite mod? It's my favorite mod. I never play anything else anymore.
 
gordonthewhale said:
I also found quotes of over 1 million for the following religions, either at adherents.com or religionfacts.com.
Aladura: 1 million
Falun Gong: 3 million+
Vodou: 4 million (or, more generally, African diasporic religions, 100 million)
Rastafarianism: 1 million

Falun Gong, according to my cab driver (I live in Beijing) is a synthesis of Buddhism, Confucianism, and mainly religious Daoism. It's a response to the forced secularism imposed by the Chinese government.

To implement it, you could implement some sort of inquisition feature like some of the other mods (FFH2) have that eliminates "undesirable" religions either city by city or across the whole country. Perhaps a type of civic (like fundamentalism) that annihilates all religions except the state religion and causes widespread unhappiness as well as making your neighbors dislike you more. That could also help clean up the number of religions in play in the game and make room for newer ones.

Any civ that eliminates all religion except for the official one can randomly found Falun Gong somewhere far away from the capitol.


Also Voodoo and Rastafarianism would be very very cool. I can't imagine what the latter would entail.
 
One more thing, I don't understand why Confucianism is implemented the way it is. I'm not sure it should generate any gold, Confucianism doesn't have a very favorable view toward the merchant class.

Confucianism is all about governance and education (education in history and literature, not the sciences.) Its effect in a city should be similar to that of a courthouse plus a forum, perhaps -25% maintenance, and also a +25% chance of generating a great person.

Confucianism is pretty major and also pretty unique, and I think it's effect in the game should reflect that.
 
I just can't stop today.

This is probably way outside the scope of this mod, but you might consider adding a "schism" feature. This would use elements of the Revolutions mod, where a certain event (a war, changing state religions) triggers a religious schism in the target civilizations.

To do this you can make a dummy copy of each religion, indicated by a different color icon. When the schism happens, half the adherents instantly convert to the dummy version. It has the same effect as the original (same buildings, etc) but for diplomacy purposes it is treated by the AI as a different (and hostile!) sect.

The chances of this happening can increase the more civilizations have adopted a certain religion.

For example, on one continent The Koreans, Aztecs, English, and Mongols all follw Judaism, founded by England. Mongolia declares war on England. Judaism immediately splits into JudaismA and JudaismB. Throwing off English religious authority, Mongolia immediately converts to JudaismB. Korea and Aztecland randomly convert to one or the other and join in the holy war on the side of their own sect.

Of course you don't have to call them A and B. Doing this could be used to model real life schisms such as Catholic/Protestant, Roman Catholic/Eastern Orthodox Shia/Sunni, or Mahayana/Theravada.

It doesn't make much sense as it is where all the AI's have adopted MesoAmericanism and are perpetual friends because of the +4 same-faith modifier. Politics can and should have an effect on religious authority.
 
Hangly Man said:
I just can't stop today.
It doesn't make much sense as it is where all the AI's have adopted MesoAmericanism and are perpetual friends because of the +4 same-faith modifier. Politics can and should have an effect on religious authority.

Hey, I have been hoping for some feedback about this. The SDK piece is supposed to prevent all the AIs from going to worldviews--and so far I have seen this working in my test games. Are you still seeing all the AIs going for one of the worldviews?

Thanks,
Eusebius
 
CivGeneral said:
I am still having trouble getting this game to run. I have warlords and yet I keep getting a runtime error! :mad:

Are you running the Warlords 2.08 upgrade? It isn't obvious to me that it should make any difference, but lots about computers are unobvious!

Eusebius
 
Hi Eusebius, great mod -- it's so wonderful that I'm dying to incorporate it into my own! Sadly, I'm having some difficulty doing that, and my Python skills are regrettably poor ...

I want to keep the original game's religions (no new religions) and method of founding through technology (for now). What I'm really interested in is your code for religious dynamics, i.e., the "religion food chain," spread of state religion through conquest chance, single-civ religions, religious conversion and elimination. These things all seem to be dealt with in the ewr python file.

I created a pared-down version of this file, eliminating references to all the new religions. Any advice on how to integrate this? Do I still need euMap and TPGameUtils? Also, what is the purpose of using "m_moduleList" in CvCustomEventManager rather than just putting "ewr.ewr (self)" in the initialization section? I'm also using Revolution mod, so my Custom Event Manager file is giving me a headache -- when I try to "plug-and-play" with the "module" lines, Revolution doesn't run, but I can't get your code to run using "ewr.ewr (self)". :cry:

Perhaps I'm just in over my head; then again, perhaps you have some magic words that could solve all (or some) of my problems ... ?

Thanks for ANY help you can give.
 
Hephaistion said:
Hi Eusebius, great mod -- it's so wonderful that I'm dying to incorporate it into my own! Sadly, I'm having some difficulty doing that, and my Python skills are regrettably poor ...

I want to keep the original game's religions (no new religions) and method of founding through technology (for now). What I'm really interested in is your code for religious dynamics, i.e., the "religion food chain," spread of state religion through conquest chance, single-civ religions, religious conversion and elimination. These things all seem to be dealt with in the ewr python file.

I created a pared-down version of this file, eliminating references to all the new religions. Any advice on how to integrate this? Do I still need euMap and TPGameUtils? Also, what is the purpose of using "m_moduleList" in CvCustomEventManager rather than just putting "ewr.ewr (self)" in the initialization section? I'm also using Revolution mod, so my Custom Event Manager file is giving me a headache -- when I try to "plug-and-play" with the "module" lines, Revolution doesn't run, but I can't get your code to run using "ewr.ewr (self)". :cry:

Perhaps I'm just in over my head; then again, perhaps you have some magic words that could solve all (or some) of my problems ... ?

Thanks for ANY help you can give.

Hmmm, not an easy question. Here are a few thoughts...
  1. You will definitely need TPEventManger.py for OnReligionSpead, OnCityAcquired.
  2. I can't say for sure if the m_moduleList thing is needed anymore. I was having a horrible time with my global variables winding up unset, leading to the awful kludge in ewrResetGlobals. I didn't know either XML or Python when I started this and still wouldn't consider my knowledge to be anywhere near complete, especially around topics of scope and initialization.
  3. As far as I can tell, you would lose nothing by initializing all mods with the moduleList convention. The general idea is that you can call GetModule to get that actual instance of the object you initialized (rather than a new instance).
  4. Yes, you will need euMap and TPGameUtils. EuMap is used by the DoReligion call in TPGameUtils which is a lot of the guts of what you want.
That is all I can think of for know. Don't hesitate to come back with specific questions.

Eusebius


PS. With regard to CvCustomEventManager, I am assuming you have imported all the modules you are trying to initialize?
 
Eusebius said:
Hey, I have been hoping for some feedback about this. The SDK piece is supposed to prevent all the AIs from going to worldviews--and so far I have seen this working in my test games. Are you still seeing all the AIs going for one of the worldviews?

Thanks,
Eusebius

Yes, but not so much anymore.

Also I noticed I can build the Chichen Itza, get mesoamericanism, NOT convert to it, and get Shintoism for free! Woo!
 
Eusebius said:
Ran a test for JZOC mod turned off in the ini file and my fort didn't fire at anyone. Again, not sure what to do with that report.

I take it back. I just had a fort fire at someone despite the fact that I have that turned off in the config file. I'll try and track it down.

E.
 
Eusebius said:
Hmmm, not an easy question. Here are a few thoughts...
  1. You will definitely need TPEventManger.py for OnReligionSpead, OnCityAcquired.
  2. I can't say for sure if the m_moduleList thing is needed anymore. I was having a horrible time with my global variables winding up unset, leading to the awful kludge in ewrResetGlobals. I didn't know either XML or Python when I started this and still wouldn't consider my knowledge to be anywhere near complete, especially around topics of scope and initialization.
  3. As far as I can tell, you would lose nothing by initializing all mods with the moduleList convention. The general idea is that you can call GetModule to get that actual instance of the object you initialized (rather than a new instance).
  4. Yes, you will need euMap and TPGameUtils. EuMap is used by the DoReligion call in TPGameUtils which is a lot of the guts of what you want.
That is all I can think of for know. Don't hesitate to come back with specific questions.

Eusebius


PS. With regard to CvCustomEventManager, I am assuming you have imported all the modules you are trying to initialize?

Thanks for your help -- after a few days of tinkering, and eliminating arrangements that give me tons of errors all over the place, I've come down to one consistent error:

Traceback:

File "CivAppInterface", line 47, onSave
Attribute Error: 'module' object has no attribute 'onEvent'

Here's my CvCustomEventManager setup (the part I've been messing with):

Spoiler :
import CvEventManager
import CvConfigParser
import CvEnhancedTechConquestEventManager
import CvEnhancedCulturalDecayEventManager
# --------- Revolution mod -------------
import RevUtils
import BarbarianCiv
import AIAutoPlay
import ChangePlayer
import Revolution
import Tester
# ---------- World Religions Mod ----------
import SettlerReligion
import TPEventManager
import ewr
import euMap

gc = CyGlobalContext()
m_moduleList = {}

def getModule(sName):
return m_moduleList.get(sName, -1)


class CvCustomEventManager(CvEventManager.CvEventManager, object):

def __init__(self, *args, **kwargs):
super(CvCustomEventManager, self).__init__(*args, **kwargs)
# map the initial EventHandlerMap values into the new data structure
for eventType, eventHandler in self.EventHandlerMap.iteritems():
self.setEventHandler(eventType, eventHandler)
# --> INSERT EVENT HANDLER INITIALIZATION HERE <--
CvEnhancedTechConquestEventManager.CvEnhancedTechConquestEventManager(self)
CvEnhancedCulturalDecayEventManager.CvEnhancedCulturalDecayEventManager(self)

config = CvConfigParser.CvConfigParser("HephMod.ini")

if( config.getboolean("AIAutoPlay", "Enable", True) ) :
AIAutoPlay.AIAutoPlay(self, config)
if( config.getboolean("BarbarianCiv", "Enable", True) ) :
BarbarianCiv.BarbarianCiv(self, config)
if( config.getboolean("ChangePlayer", "Enable", False) ) :
ChangePlayer.ChangePlayer(self, config)
if( config.getboolean("Revolution", "Enable", False) ) :
Revolution.Revolution(self, config)

RevUtils.registerEvents( self, config )

m_moduleList['ewr'] = ewr.ewr(self)
m_moduleList['euMap'] = euMap.euMap(self)
m_moduleList['SettlerReligion'] = SettlerReligion.SettlerReligion(self)
m_moduleList['TpEventManager'] = TPEventManager.TPEventManager(self)

# This component now handles all the mod issue reporting (ActivePopup, etc)
Tester.Tester( self, config )

def beginEvent( self, context, argsList=-1 ):
"Begin Event"
if(self.CustomEvents.has_key(context)):
return self.CustomEvents[context][2](argsList)
else:
return CvEventManager.CvEventManager.beginEvent(self, context, argsList)

def applyEvent( self, argsList ):
'Apply the effects of an event '
context, playerID, netUserData, popupReturn = argsList

if(self.CustomEvents.has_key(context)):
entry = self.CustomEvents[context]
# the apply function
return entry[1]( playerID, netUserData, popupReturn )
else:
return CvEventManager.CvEventManager.applyEvent(self, argsList)


def addCustomEventDefinition(self, eventType, eventDefinition):
self.CustomEvents[eventType] = eventDefinition

def removeCustomEventDefinition(self, eventType):
del self.CustomEvents[eventType]

def setCustomEventDefinition(self, eventType, eventDefinition):
self.CustomEvents[eventType] = eventDefinition


I copied and pasted all those additional "def" entries starting with def Begin Event from the EWR CvCustomEventManager ... wasn't sure if I needed them or not ...

Any thoughts?
 
I'm really sorry to bother you folks, but I'm having a problem playing this mod. I've downloaded Eusebius World Religion V41b and installed it in C-Program Files-Firaxis-Civ IV-Warlord-Mod - and unzipped the files. It shows up under Advanced on the Play screen under Mods, - there it is every time! I went in and cleared the cache, and although I can click it and a game loads, it most certainly isn't the mod I selected, but a regular game.

I suspect that there is something in the ini. file that I need to add or adjust, but I don't know what it is. I'm not afraid of the ini file - I modified it when I first got the game a short time ago on my much older and slower computer. With my new one, the games have been reinstalled, I've re-downloaded the mod, unzipped, cleared cache, mod appears but still not playable.

Can anyone tell me what it is I still need to do to play this mod?

I posted this originally in the Newbie question forum, and they directed me to ask it here.
Thanks.
Ron
 
Top Bottom