Capture Slaves

Do you have two of them - I think that was what I fixed. One of AArand's units had a unitclass of slave also.

I can't give you a copy of my RoM because I have almost used up my upload/download limit. It gets reset on the 27th and next month it gets increased.

I dont have anything else installed but RoM and CaptureSlaves, thats it.:confused: Everytime that init load modules junk is used is when it gets messed up.
 
I dont have anything else installed but RoM and CaptureSlaves, thats it.:confused: Everytime that init load modules junk is used is when it gets messed up.
OK, I can easily try it with a plain RoM 2.91 and see what happens. maybe today but more likely tomorrow - there is a dance meet on today ;). Must remember to warm up before classes and the ball.
 
OK, I can easily try it with a plain RoM 2.91 and see what happens. maybe today but more likely tomorrow - there is a dance meet on today ;). Must remember to warm up before classes and the ball.

Can you also do me a favor and look at this python i have for Espionage
Spoiler :
Code:
from CvPythonExtensions import *
import CvEventInterface
import CvUtil
import BugUtil
import PyHelpers

gc = CyGlobalContext()
localText = CyTranslator()
PyPlayer = PyHelpers.PyPlayer
PyInfo = PyHelpers.PyInfo
PyCity = PyHelpers.PyCity
PyGame = PyHelpers.PyGame

class Espionage:
	def __init__(self, eventManager):
	
		eventManager.addEventHandler("combatResult", self.onCombatResult)

	def onCombatResult(self, argsList):
		'Combat Result'
		pWinner,pLoser = argsList
		playerX = PyPlayer(pWinner.getOwner())
		unitX = PyInfo.UnitInfo(pWinner.getUnitType())
		playerY = PyPlayer(pLoser.getOwner())
		unitY = PyInfo.UnitInfo(pLoser.getUnitType())

## Marauder part 1Start ##

		pPlayer = gc.getPlayer(pWinner.getOwner())

		if pWinner.isHasPromotion(gc.getInfoTypeForString('PROMOTION_MARAUDER')):

			pPlayer = gc.getPlayer(pWinner.getOwner())

			iGold = playerY.getGold( )
			message = 0

			iGoldStolen = ( iGold//25 )

			if playerY.getGold( ) >= 500:
				playerY.changeGold( -20 )
			elif playerY.getGold( ) >= 25:
				playerY.changeGold( -iGoldStolen )
			elif (playerY.getGold( ) >= 1) and (playerY.getGold( ) < 25):
				playerY.changeGold( -1 )

			iGold2 = playerX.getGold( )
			if playerY.getGold( ) >= 500:
				playerX.changeGold( +20 )
				message = 1
			elif playerY.getGold( ) >= 25:
				playerX.changeGold( +iGoldStolen )
				message = 2
			else:
				playerX.changeGold( +1 )
				message = 3

			pPID = pPlayer.getID()
			iX = pWinner.getX()
			iY = pWinner.getY()
			szName = pPlayer.getName()

			## This only controls the text, all actual gold amounts are done above:
			iGoldStolenMax = ( 500//25 )
			iGoldStolenMin = ( 25//25 )

			if ( message == 1 ):
				CyInterface().addMessage(pPID,false,15,CyTranslator().getText("TXT_KEY_MARAUDER_GOLD1",(szName,iGoldStolenMax)),'',0,',Art/Interface/Buttons/TechTree/Banking.dds,Art/Interface/Buttons/TechTree_Atlas.dds,8,1',ColorTypes(44), iX, iY, True,True)
				CyInterface().addMessage(pLoser.getOwner(),false,15,CyTranslator().getText("TXT_KEY_MARAUDER_GOLD1",(szName,iGoldStolenMax)),'',0,',Art/Interface/Buttons/TechTree/Banking.dds,Art/Interface/Buttons/TechTree_Atlas.dds,8,1',ColorTypes(44), iX, iY, True,True)
				### message: %s1 has plundered %d2 [ICON_GOLD]!###
			if ( message == 2 ):
				CyInterface().addMessage(pPID,false,15,CyTranslator().getText("TXT_KEY_MARAUDER_GOLD2",(szName,iGoldStolen)),'',0,',Art/Interface/Buttons/TechTree/Banking.dds,Art/Interface/Buttons/TechTree_Atlas.dds,8,1',ColorTypes(44), iX, iY, True,True)
				CyInterface().addMessage(pLoser.getOwner(),false,15,CyTranslator().getText("TXT_KEY_MARAUDER_GOLD2",(szName,iGoldStolen)),'',0,',Art/Interface/Buttons/TechTree/Banking.dds,Art/Interface/Buttons/TechTree_Atlas.dds,8,1',ColorTypes(44), iX, iY, True,True)
				### message: %s1 has plundered %d2 [ICON_GOLD]!###
			if ( message == 3 ):
				CyInterface().addMessage(pPID,false,15,CyTranslator().getText("TXT_KEY_MARAUDER_GOLD3",(szName,iGoldStolenMin)),'',0,',Art/Interface/Buttons/TechTree/Banking.dds,Art/Interface/Buttons/TechTree_Atlas.dds,8,1',ColorTypes(44), iX, iY, True,True)
				CyInterface().addMessage(pLoser.getOwner(),false,15,CyTranslator().getText("TXT_KEY_MARAUDER_GOLD3",(szName,iGoldStolenMin)),'',0,',Art/Interface/Buttons/TechTree/Banking.dds,Art/Interface/Buttons/TechTree_Atlas.dds,8,1',ColorTypes(44), iX, iY, True,True)
				### message: %s1 has plundered %d2 [ICON_GOLD]!###

## Marauder part 1 End ##
## Industry Espionage Part 1 Start ##

		pPlayer = gc.getPlayer(pWinner.getOwner())

		if pWinner.isHasPromotion(gc.getInfoTypeForString('PROMOTION_INDUSTRYESPIONAGE')) and gc.getPlayer(pLoser.getOwner()).getCurrentResearch()>=0:

			pPlayer = gc.getPlayer(pWinner.getOwner())
			myteamINT = pPlayer.getTeam()
			myteam = gc.getTeam(myteamINT)				
			otherplayerINT =pLoser.getOwner()
			otherplayer = gc.getPlayer(otherplayerINT)
			otherteamINT=otherplayer.getTeam()
			otherteam=gc.getTeam(otherteamINT)
			

			iResearch = otherplayer.calculateBaseNetResearch ()			

			iResearchStolen = ( iResearch//25 )
			
			if iResearch >= 500:				
                                myteam.changeResearchProgress(pPlayer.getCurrentResearch (),20,pWinner.getOwner())
                                otherteam.changeResearchProgress(otherplayer.getCurrentResearch (),-20,pLoser.getOwner())
				message = 1
			elif iResearch >= 25:
				myteam.changeResearchProgress(pPlayer.getCurrentResearch (),int(iResearchStolen),pWinner.getOwner())
				otherteam.changeResearchProgress(otherplayer.getCurrentResearch (),-int(iResearchStolen),pLoser.getOwner())
				message = 2
			else:
				myteam.changeResearchProgress(pPlayer.getCurrentResearch (),1,pWinner.getOwner())
				otherteam.changeResearchProgress(otherplayer.getCurrentResearch (),-1,pLoser.getOwner())
				message = 3

			pPID = pPlayer.getID()
			otherPID=otherplayer.getID()
			iX = pWinner.getX()
			iY = pWinner.getY()
			szName = pPlayer.getName()

			## This only controls the text, all actual gold amounts are done above:
			iGoldStolenMax = ( 500//25 )
			iGoldStolenMin = ( 25//25 )

			if ( message == 1 ):
				CyInterface().addMessage(pPID,false,15,CyTranslator().getText("TXT_KEY_INDUSTRYESPIONAGE1",(szName,iGoldStolenMax)),'',0,'Art/Interface/Buttons/Process/ProcessResearch.dds',ColorTypes(44), iX, iY, True,True)
				CyInterface().addMessage(otherPID,false,15,CyTranslator().getText("TXT_KEY_INDUSTRYESPIONAGE1",(szName,iGoldStolenMax)),'',0,'Art/Interface/Buttons/Process/ProcessResearch.dds',ColorTypes(44), iX, iY, True,True)
				### message: %s1 has plundered %d2 [ICON_GOLD]!###
			if ( message == 2 ):
				CyInterface().addMessage(pPID,false,15,CyTranslator().getText("TXT_KEY_INDUSTRYESPIONAGE2",(szName,iResearchStolen)),'',0,'Art/Interface/Buttons/Process/ProcessResearch.dds',ColorTypes(44), iX, iY, True,True)
				CyInterface().addMessage(otherPID,false,15,CyTranslator().getText("TXT_KEY_INDUSTRYESPIONAGE2",(szName,iResearchStolen)),'',0,'Art/Interface/Buttons/Process/ProcessResearch.dds',ColorTypes(44), iX, iY, True,True)
				### message: %s1 has plundered %d2 [ICON_GOLD]!###
			if ( message == 3 ):
				CyInterface().addMessage(pPID,false,15,CyTranslator().getText("TXT_KEY_INDUSTRYESPIONAGE3",(szName,iGoldStolenMin)),'',0,'Art/Interface/Buttons/Process/ProcessResearch.dds',ColorTypes(44), iX, iY, True,True)
				CyInterface().addMessage(otherPID,false,15,CyTranslator().getText("TXT_KEY_INDUSTRYESPIONAGE3",(szName,iGoldStolenMin)),'',0,'Art/Interface/Buttons/Process/ProcessResearch.dds',ColorTypes(44), iX, iY, True,True)
				### message: %s1 has plundered %d2 [ICON_GOLD]!###

## Industry Espionage Part 1 End ##

def onUnitPromoted(self, argsList):
		'Unit Promoted'
		pUnit, iPromotion = argsList
		player = PyPlayer(pUnit.getOwner())
###Marauder Part 2 AI start###
		pWinner = pUnit
		pPlayer = gc.getPlayer(pWinner.getOwner())
		if not pPlayer.isHuman():
                        iMarauderPromo = gc.getInfoTypeForString('PROMOTION_MARAUDER') 
                        if (iPromotion<>iMarauderPromo):                                
                                if not pWinner.isHasPromotion(iMarauderPromo):
                                        if pWinner.canAcquirePromotion(iMarauderPromo):                                                
                                                if ((pPlayer.getGoldPerTurn () <=10)or(pPlayer.getCommercePercent(gc.getInfoTypeForString("COMMERCE_GOLD")) >=30)):                                                        
                                                        descission = CyGame().getSorenRandNum(4, "Gold")
                                                        if ((descission==1) or (descission ==2)):
                                                                pWinner.setHasPromotion(iPromotion,False)
                                                                if pWinner.canAcquirePromotion(iMarauderPromo):
                                                                        pWinner.setHasPromotion(iMarauderPromo,True)
                                                                else:
                                                                        pWinner.setHasPromotion(iPromotion,True)                                                                
                                                                return
                                                        
###Marauder Part 2 AI End###	
###Industry Espionage Part 2 AI start###
		pWinner = pUnit
		pPlayer = gc.getPlayer(pWinner.getOwner())
		if not pPlayer.isHuman():
                        iIndusPromo = gc.getInfoTypeForString('PROMOTION_INDUSTRYESPIONAGE')
                        if (iPromotion<>iIndusPromo):                                
                                if not pWinner.isHasPromotion(iIndusPromo):
                                        if pWinner.canAcquirePromotion(iIndusPromo):                                                
                                                if (pPlayer.getCommercePercent(gc.getInfoTypeForString("COMMERCE_RESEARCH")) <=70):                                                        
                                                        descission = CyGame().getSorenRandNum(4, "Research")
                                                        if ((descission==1) or (descission ==2)):
                                                                pWinner.setHasPromotion(iPromotion,False)
                                                                if pWinner.canAcquirePromotion(iIndusPromo): 
                                                                        pWinner.setHasPromotion(iIndusPromo,True)
                                                                else:
                                                                        pWinner.setHasPromotion(iPromotion,True)
                                                                return
                                                        
###Industry Espionage Part 2 AI End###
, thx.
 
Is there a version of this out anywhere?
 
Top Bottom