1. We have added a Gift Upgrades feature that allows you to gift an account upgrade to another member, just in time for the holiday season. You can see the gift option when going to the Account Upgrades screen, or on any user profile screen.
    Dismiss Notice

Orion's Inquisition Mod

Discussion in 'Civ4 - Mod Components' started by OrionVeteran, Nov 28, 2008.

  1. OrionVeteran

    OrionVeteran Deity

    Joined:
    Dec 25, 2003
    Messages:
    2,443
    Location:
    Newport News VA
    Yes. There was no sanctuary under the law, to protect a heretic or one suspected of heresy from a tribunal's right to try, judge, and condemn the accused. Any heretical rebellion would be virtually crushed by the combined power of the Church and State. In Spain, the Inquisition claimed and exercised the power of enforcing the prohibition of condemned books. All owners of books were commanded to submit them for examination, under penalty of excommunication or even death. No bookseller or other person was allowed to sell or keep any book condemned by the Inquisition, and all such books were to be publicly burnt. Civil power cooperated with the Inquisition, while providing an effective machinery for a state censorship. There was a continuous warfare waged against culture and learning, from which no one was safe.

    A large number of Jews and Muslims were given a choice, baptism or exile. Any resistance was futile. The edict was to convert or be expelled from their country. :assimilate:

    The Inquisition only required evidence of two witnesses for prosecution. The accused were not able to call witnesses in their own defense, nor during most of the Inquisition, were they allowed to have counsel present. In some areas, lawyers for the accused were allowed, but if the accused were found guilty of heresy, the lawyer could also be so charged, for having defended them!

    Since the primary stated goal of the Inquisition was to save souls, suspects were continually encouraged to "confess" to their heresy. Those that admitted their “guilt”, and were willing to give the Inquisition names of other potential heretics, were often let off with penances. However, some resisted and were unwilling to admit guilt: They usually ended up as victims of torture. The use of torture was authorized in 1252 by Pope Innocent IV. In Spain, it is estimated that torture was used in about 1/3 of all cases. The purpose of torture was to exact confessions.

    The harshest sentences (such as complete confiscation of property or burning at the stake) were reserved for two types of offenders - those that refused to recant of their heresy and those “relapsed” heretics. Once a relapsed or unrepentant heretic was found guilty, they were handed over to the secular authorities for punishment.

    The Church itself would not administer the death sentence. Rather, this was left to local secular authorities. The chosen method for administering capital punishment – burning at the stake, was partially chosen because it did not shed blood! There was a pragmatic reason for charging, sentencing, disinterring, and burning the dead – the goods of their families could be confiscated.

    In all of History, next to genicide, the Inquisition is perhaps the most heinous example of systematic and authorized killing to defend a religious doctrine or faith.

    Orion Veteran :cool:
     
  2. Ninja2

    Ninja2 Great Engineer

    Joined:
    Nov 17, 2005
    Messages:
    1,142
    Location:
    Denmarkia
    Not sure if this is out of context: Even within the Catholic faith, monks were occasionally burnt by the Inquisition, simply because they held views which differed too much from those of the Pope. In particular, the conflict between Franciscan and Dominican monks over the issue of poverty (were priests, monks, etc. allowed to own lands or property, and how ascetic should they live their lives) caused persecution of Franciscan monks by Dominican Popes. So calling yourself a Christian monk was no guarantee that the Inquisition would not come knocking on your door.
     
  3. Tephros

    Tephros Caffeine Junkie

    Joined:
    Apr 12, 2006
    Messages:
    521
    The extra cost under what I suggested would be in terms of losing population.

    Shwedagon Paya: The wonder that gives you access to all religious civics. The point being inquisitions should require theocracy.

    Strictly speaking, theocracy is a form of organized religion, but with the added condition that practicing other religions is not legally permitted. This seems to be the spirit of an inquisition. Contemporary examples are abundant in Islamic nations, but have no present need for active inquisition.

    I don't see the need for a holy office, even if some inquisitions used them. The idea is that the act of purging other religions should yield gold much like pillaging enemy countrysides, albeit a larger amount. This is because people who do not convert forfeit their property. Some inquisitions killed large numbers of people, some killed only a few dozen. Justinian killed many people and his actions could have been called a form of inquistion http://en.wikipedia.org/wiki/Justinian#Religious_policy. But I'm as interested in elegant gameplay as historical accuracy, as the game is based upon rewriting history. If you can deprive somebody of an AP victory merely by building a unit and purging a city, there should be a penalty as severe as population loss. That could represent the death or displacement of thousands.

    Well all victory conditions should be option as it is in vanilla. I always enable all of them though. I don't really use mods so it's kind of moot. I think inquisitors as I described should have been in BtS, but you can't get everything you want unless you're willing to mod for yourself.

    IMO, that's a pretty pathetic bonus for the long-term disadvantage of disallowing other religions. What I said was that there should be a bonus for having your state religion AND NO OTHERS.

    Not that I would ever use free religion in a game where I had used theocracy, but I would never build such a building as it would represent a permanent handicap and hurt you in the late-game. +2 gold is totally offset by +1 unhealthiness, and unhealthiness has nothing to do with any form of inquistion except in a gameplay penalty sense, though an inappropriate form of it IMO.

    If there were such a thing as religious victory, it should only involve getting your religious influence above some percentage (like 90%), not in purging your country of all other religions. Maybe it should also require being in control of the holy city for a majority of the game.
     
  4. glider1

    glider1 Deity

    Joined:
    May 29, 2006
    Messages:
    2,784
    Location:
    Where animals hop not run
    @OrionVet and Ninja2
    Thanks for that information on inquisitions! (Also thanks to Tephros for the wiki link). Would it be perhaps correct if I say that inquisitions and quashing rebellion are correlated not cause and effected?

    In any case, may I use your post as Civilopaedia text for Inquisitions in the "Revolution Inquisitions mod" at some point in the future? I would only do so with your permission and if I get it going, could forward you on the code.

    Cheers.
     
  5. OrionVeteran

    OrionVeteran Deity

    Joined:
    Dec 25, 2003
    Messages:
    2,443
    Location:
    Newport News VA
    You have suggested a city that has a successful inquisition should suffer the loss of 1 or even 2 population points. These numbers represent thousands of people. For a city with a total of 3 people to loose 1/3 or even 2/3 of the entire city population is simply not realistic or historically accurate. The -1 health slows the growth of a city with the Holy Office. Slower growth is still a population hit, but it represents far fewer people in comparison to killing off a major percentage of an entire city.

    OK, Thanks for the clarification.

    Not true. Organized religion in a country ruled by a Monarch were not Theocracies, yet the official state religious leaders sanctioned inquisitions in several non-theocraticaly ruled countries. The religious doctrine of the official Church had the same intollerance of other religions as you will find in a Theocracy, but these countries were not ruled by a Theocracy. Inquisitors acted in the name of the Church and with it's full authority to combat Heresy. Heresy is a theological or religious opinion or doctrine maintained in opposition to that of the official doctrine of the state religion. Thus, the religious doctrine of combating heresy was used to justify an inquisition. The study of religious doctrine is more correctly associated with Theology and is not limited to a Theocratic form of government.

    Heresy was not legally permitted in many countries that were not Theocracies. Again an inquisition was conducted to combat beliefs that did not conform to the official church doctrine.

    You can deprive someone of an AP victory by conquest of a city and razing it! I believe the more moderate form of a population hit represented by the Holy Office effect of -1 health, is more historically correct.

    Agreed.

    If you get to that condition, you have achieved religious unity. The bonus is victory!

    The offset only continues, while there is a need to produce more inquisitors. At some point, most of your cities will be converted and the gold continues to flow. :D

    Currently religious influence is set to 80%, which, along with the other prerequisites, makes achieving a religious victory difficult. It goes beyond what you ask by requiring you to not only have a Holy City, but also build the Holy City Shrine. :D

    Very Respectfully,

    Orion Veteran :cool:
     
  6. OrionVeteran

    OrionVeteran Deity

    Joined:
    Dec 25, 2003
    Messages:
    2,443
    Location:
    Newport News VA
    From old thread.....

    I have compared the doInquisitorCore_AI function in the latest version and the original version from BMARNZ. There was duplicate code. I have removed some of the duplication and I am slowly improving the entire function one piece at a time. The the 200A version has improved the section: #Checks religion percents. This code provides the "ibestReligionPercent" which is used in the next section of code.

    Please Note: The function is very large and changes will take some time. My goal in revising this function is to make the code more efficient and eliminating duplication is certainly a part of that. If you have any suggestions to improve this code, I'm willing to entertain any ideas.

    Sincerely,

    Orion Veteran :cool:
     
  7. OrionVeteran

    OrionVeteran Deity

    Joined:
    Dec 25, 2003
    Messages:
    2,443
    Location:
    Newport News VA
    I'm not in this to be glorified. I have re-written the mod, the code and all documentation for the enjoyment and benefit of the entire CIV community. Any reference to my authorship would be nice, but you are free to use what ever you want. ;)

    Orion Veteran :cool:
     
  8. OrionVeteran

    OrionVeteran Deity

    Joined:
    Dec 25, 2003
    Messages:
    2,443
    Location:
    Newport News VA
    After further review, I can safely say that there is already an option that you can choose at the beginning of the game for a religious victory. If the option is not selected or set to False, the code has a check that prevents the religious victory. So, if you don't want to play this mod with the possibility of achieving a religious victory, then all you have to do is disable it at game start. :)

    Respectfully,

    Orion Veteran :cool:
     
  9. modifieda4

    modifieda4 Chief Time Waster

    Joined:
    Sep 3, 2006
    Messages:
    385
    Location:
    Gold Coast
    good...so im not crazy:lol:...there was a duplicate section. fwiw i barely ever see the AI purge. there is something really wrong with that code.
     
  10. zappara

    zappara Mod Designer

    Joined:
    Dec 19, 2003
    Messages:
    2,781
    Location:
    Finland
    Just tested v2.00a little bit and after looking the python I had a small idea how to improve AI players: When using Choose religion option, shouldn't AI players pick their leader's favorite religion when he has that one set up instead of random religion?
     
  11. modifieda4

    modifieda4 Chief Time Waster

    Joined:
    Sep 3, 2006
    Messages:
    385
    Location:
    Gold Coast
    Ok a major update...

    In my test game via the world builder I gave each competing AI a religion (holy City), tons of inquisitors and holy officies.

    No inquisition.

    Then I canned the doInquisitorCore_AI which has been in Bmarnz inquisition code since the beginning and put in the doInquisitorCore_AI code from Gods of Old.

    next turn...MASSIVE Global Inquisition! :)

    added more heathen religions via world builder...and bam! AIs build inquisitors.

    One AI went free religion...no more inquisitions for them.

    For now, I'm using the Gods of Old code. You'll notice its much more simple.

    Code:
    	def doInquisitorCore_AI( self, pUnit ):
    		iOwner = pUnit.getOwner( )
    		iStateReligion = gc.getPlayer( iOwner ).getStateReligion( )
    		lCities = PyPlayer( iOwner ).getCityList( )
    		
    		#Looks to see if the AI controls a Holy City that is not the State Religion
    		for iCity in range( len( lCities ) ):
    			for iReligion in range( 7 ):
    				if iReligion != iStateReligion:
    					pCity = gc.getPlayer( iOwner ).getCity( lCities[ iCity ].getID( ) )
    					if pCity.isHolyCityByType( iReligion ):
    						#Makes the unit move to the City and purge it
    						if pUnit.generatePath( pCity.plot( ), 0, False, None ):
    							self.doHolyCitySeekAndDestroy( pUnit, pCity )
    							return
    		
    		for iCity in range( len( lCities ) ):
    			for iReligion in range( 7 ):
    				if iReligion != iStateReligion:
    					pCity = gc.getPlayer( iOwner ).getCity( lCities[ iCity ].getID( ) )
    					if pCity.isHasReligion( iReligion ):
    						if pUnit.generatePath( pCity.plot( ), 0, False, None ):
    							self.doHolyCitySeekAndDestroy( pUnit, pCity )
    							return	
    
     
  12. OrionVeteran

    OrionVeteran Deity

    Joined:
    Dec 25, 2003
    Messages:
    2,443
    Location:
    Newport News VA
    Fantastic! :goodjob: I took it from there and made the code follow the built in rules for inquisitions. For example, You must have established your state religion in the city before an inquisition can be attempted. ...And for Cities that have a non-state Holy City, the option for removing Holy Cities must set to True. Next, I took away the fixed number of religions (7); now it's unlimited. Lastly, I reversed the order to make the AI go after and purge non-state religions before going after any non-state Holy Cities. :)

    AutoAI tested the following code successfully:

    Code:
    def doInquisitorCore_AI( self, pUnit ):
    	iOwner = pUnit.getOwner( )
    	iStateReligion = gc.getPlayer( iOwner ).getStateReligion( )
    	lCities = PyPlayer( iOwner ).getCityList( )
    		
    	#Looks to see if the AI controls a City that has a non-State Religion
    	for iCity in range( len( lCities ) ):
    		for iReligion in range( gc.getNumReligionInfos( ) ):
    			if iReligion != iStateReligion:
    				pCity = gc.getPlayer( iOwner ).getCity( lCities[ iCity ].getID( ) )
    				if pCity.isHasReligion( iReligion ) and pCity.isHasReligion( iStateReligion ):
    					#Makes the unit move to the City and purge it
    					if pUnit.generatePath( pCity.plot( ), 0, False, None ):
    						self.doHolyCitySeekAndDestroy( pUnit, pCity )
    						return		
    		
    	#Looks to see if the AI controls a Holy City that is not the State Religion
    	for iCity in range( len( lCities ) ):
    		for iReligion in range( gc.getNumReligionInfos( ) ):
    			if iReligion != iStateReligion:
    				pCity = gc.getPlayer( iOwner ).getCity( lCities[ iCity ].getID( ) )
    				if pCity.isHolyCityByType( iReligion ) and pCity.isHasReligion( iStateReligion ):
    					# Verify option for Inquisitors to remove a non-state Holy City
    					if CvUtil.isOC_INQISITOR_CAN_REMOVE_HOLY_CITY():
    						#Makes the unit move to the City and purge it
    						if pUnit.generatePath( pCity.plot( ), 0, False, None ):
    							self.doHolyCitySeekAndDestroy( pUnit, pCity )
    							return
    
    This code will be included in the next release. Modifieda4, I am very grateful for the work you have done. :thanx:

    Sincerely,

    Orion Veteran :cool:
     
  13. modifieda4

    modifieda4 Chief Time Waster

    Joined:
    Sep 3, 2006
    Messages:
    385
    Location:
    Gold Coast
    thanks! I'll try your changes out...hopefully this puts the nail in the coffin of the Inquisitor AI :)
     
  14. modifieda4

    modifieda4 Chief Time Waster

    Joined:
    Sep 3, 2006
    Messages:
    385
    Location:
    Gold Coast
    Ok I tested Orion's code, and it seems fine. :)

    The AI doesnt purge unless the state religion is present. nice, this is good code! thanks orion!
     
  15. modifieda4

    modifieda4 Chief Time Waster

    Joined:
    Sep 3, 2006
    Messages:
    385
    Location:
    Gold Coast
    Orionverteran...I just finished playing an epic game with the good AI inquisition code.

    All I can say is holy sheeeet!:D It totally takes the game to a new level. Because purging affects inter-AI relations, the AI is waaaay more fractured and the game is so much better.

    I thank you for your additions to the Inquisition code :goodjob:
     
  16. OrionVeteran

    OrionVeteran Deity

    Joined:
    Dec 25, 2003
    Messages:
    2,443
    Location:
    Newport News VA
    Yes indeed it is. As you know, Civs that do not have the same state religion as you have, are going to be less friendly. Competing religions create a greater challenge for every player. If that wasn't enough, I have a surprise for you.

    Release of Version 2.00B

    I believe I have finally resolved the bug that allows more than one civ to occasionally found a second Holy City. Testing for the new code limited every civ to just one Holy City discovery. I think you will be very interested to find out how I solved it.

    Very Respectfully,

    Orion Veteran :cool:
     
  17. zappara

    zappara Mod Designer

    Joined:
    Dec 19, 2003
    Messages:
    2,781
    Location:
    Finland
    My small bug report might be too late since you've already released v2.00b but here goes anyway:

    Inquisition 2.00A

    game settings:

    limited religions on
    choose religion
    start era: medieval

    python error in CvEventManager.py line 972: CivUtil not defined...

    if iRCount == 7 - CivUtil.CvGetTotalReligionsFounded():

    Should be CvUtil.CvGetTotalReligionsFounded():

    Also Choose religion option does not work with these settings (era option problem?), after few turns you'll get random religion.

    Bug in CvUtil.py line 219:

    return iBestReligionPercent

    Should be quoted out since the rest of the same code block is quoted out...

    Excellent mod, keep up the good work! :)
     
  18. OrionVeteran

    OrionVeteran Deity

    Joined:
    Dec 25, 2003
    Messages:
    2,443
    Location:
    Newport News VA
    I show these minor bugs on different lines!
    CvEventManager.py line 976 -- minor typo. :blush:

    CvUtil.py line 214 What error? I could not reproduce an error here.
    I wanted the function to return the iBestReligion not the percent.

    Respectfully,

    Orion Veteran :cool:
     
  19. zappara

    zappara Mod Designer

    Joined:
    Dec 19, 2003
    Messages:
    2,781
    Location:
    Finland
    Taken from Inquisition 2.00a CvUtil.py file:

    Code:
    def getHolyCityReligion(iCity):
    		
    	for iReligion in range(gc.getNumReligionInfos()):
    		# Confirm City is a Holy City and get the religion
    		if iCity.isHolyCityByType(iReligion):
    			MyHCReligion = iReligion
    			break	
    	
    	return MyHCReligion
    
    #def getBestReligionPercent(self, argsList)
    #	iPlayer = argsList
    #	pPlayer = gc.getPlayer(iPlayer)
    #	iStateReligion = pPlayer.getStateReligion()
    #	lReligions = [ ]
    #	iBestReligionPercent = 0
    #		
    #	#Checks religion percents
    #	if iStateReligion == -1:
    #		iStateReligionPercent = -1
    #	else:
    #		iStateReligionPercent = gc.getGame().calculateReligionPercent(iStateReligion)
    #	for iReligionLoop in range(gc.getNumReligionInfos( )):
    #		if iReligionLoop != iStateReligion:
    #			if iReligionPercent > iStateReligionPercent:
    #				lReligions.append( iReligionLoop )
    #				if iReligionPercent > iBestReligionPercent:
    #					iBestReligionPercent = iReligionPercent					
    
    	return iBestReligionPercent	
    def getBestReligionPercent has been quoted out but not the last line "return iBestReligionPercent". So there's no function that would return the best religion percent.
     
  20. OrionVeteran

    OrionVeteran Deity

    Joined:
    Dec 25, 2003
    Messages:
    2,443
    Location:
    Newport News VA
    OK, I see now. You are using the obsolete 2.00A version. That problem was found and fixed with version 200B. Please download the latest version to obtain all of the python fixes and improvements to this mod. The only fix not included in version 2.00B is the python error in CvEventManager.py line 976: CvUtil:

    Everyone out there should change this:

    Code:
    if iRCount == 7 - CivUtil.CvGetTotalReligionsFounded():
    To This:

    Code:
    if iRCount == 7 - CvUtil.CvGetTotalReligionsFounded():
    Respectfully,


    Orion Veteran :cool:
     

Share This Page