setPermanentWarPeace - help please

Bad Player

Deity
Joined
Oct 31, 2005
Messages
3,534
Location
(Bris)Vegas!
Hi, I wrote some python code and used setPermanentWarPeace to make certain civs at peace with eachother and certain civs at war with eachother. However, some civs that I thought were set to permanently be at war with eachother (setPermanentWarPeace with FALSE boolean) made peace.

My code is meant to make good (Fall From Heaven 2) civs at permanent war with evil civs. It also is meant to make the good civs at permanent peace with other good civs.

Code:
		#Find and set the Team (i.e. player) ID numbers for each civ in the game (could be done manually since it is a scenario with fixed civs)
		for iGoodAndEvilPlayer in range(gc.getMAX_PLAYERS()):
			pGoodAndEvilPlayer = gc.getPlayer(iGoodAndEvilPlayer)
			if pGoodAndEvilPlayer.isAlive():
				if pGoodAndEvilPlayer.getCivilizationType() == gc.getInfoTypeForString('CIVILIZATION_BANNOR'):
					iBannorTeamID = gc.getPlayer(iGoodAndEvilPlayer).getTeam()
				if pGoodAndEvilPlayer.getCivilizationType() == gc.getInfoTypeForString('CIVILIZATION_CALABIM'):
					iCalabimTeamID = gc.getPlayer(iGoodAndEvilPlayer).getTeam()
				if pGoodAndEvilPlayer.getCivilizationType() == gc.getInfoTypeForString('CIVILIZATION_CLAN_OF_EMBERS'):
					iClanOfEmbersTeamID = gc.getPlayer(iGoodAndEvilPlayer).getTeam()
				if pGoodAndEvilPlayer.getCivilizationType() == gc.getInfoTypeForString('CIVILIZATION_DOVIELLO'):
					iDovielloTeamID = gc.getPlayer(iGoodAndEvilPlayer).getTeam()
				if pGoodAndEvilPlayer.getCivilizationType() == gc.getInfoTypeForString('CIVILIZATION_ELOHIM'):
					iElohimTeamID = gc.getPlayer(iGoodAndEvilPlayer).getTeam()
				if pGoodAndEvilPlayer.getCivilizationType() == gc.getInfoTypeForString('CIVILIZATION_KURIOTATES'):
					iKuriotatesTeamID = gc.getPlayer(iGoodAndEvilPlayer).getTeam()
				if pGoodAndEvilPlayer.getCivilizationType() == gc.getInfoTypeForString('CIVILIZATION_LJOSALFAR'):
					iLjosalfarTeamID = gc.getPlayer(iGoodAndEvilPlayer).getTeam()
				if pGoodAndEvilPlayer.getCivilizationType() == gc.getInfoTypeForString('CIVILIZATION_LUCHUIRP'):
					iLuchuirpTeamID = gc.getPlayer(iGoodAndEvilPlayer).getTeam()
				if pGoodAndEvilPlayer.getCivilizationType() == gc.getInfoTypeForString('CIVILIZATION_SHEAIM'):
					iSheaimTeamID = gc.getPlayer(iGoodAndEvilPlayer).getTeam()
				if pGoodAndEvilPlayer.getCivilizationType() == gc.getInfoTypeForString('CIVILIZATION_SVARTALFAR'):
					iSvartalfarTeamID = gc.getPlayer(iGoodAndEvilPlayer).getTeam()

				
					
		
		#If the setPermanentWarPeace boolean is True then the civs can only be at peace, if it is false then you also need the declareWar line
		#If the declareWar boolean is True then you get a pop-up message that the civ declares war on you, if it is False then there is no pop-up message
		#If the meet boolean is True then you get a pop-up message that you met them for the first time, if it is False then there is no pop-up message
		
		
		for iWarAndPeaceTeam in range(gc.getMAX_CIV_TEAMS()):
			pWarAndPeaceTeam = gc.getTeam(iWarAndPeaceTeam)
			if pWarAndPeaceTeam.isAlive():
				#Make good civs meet other good civs
				if iWarAndPeaceTeam == iBannorTeamID:
					pWarAndPeaceTeam.meet(iElohimTeamID, False)
					pWarAndPeaceTeam.meet(iKuriotatesTeamID, False)
					pWarAndPeaceTeam.meet(iLjosalfarTeamID, False)
					pWarAndPeaceTeam.meet(iLuchuirpTeamID, False)
				if iWarAndPeaceTeam == iElohimTeamID:
					pWarAndPeaceTeam.meet(iKuriotatesTeamID, False)
					pWarAndPeaceTeam.meet(iLjosalfarTeamID, False)
					pWarAndPeaceTeam.meet(iLuchuirpTeamID, False)
				if iWarAndPeaceTeam == iKuriotatesTeamID:
					pWarAndPeaceTeam.meet(iLjosalfarTeamID, False)
					pWarAndPeaceTeam.meet(iLuchuirpTeamID, False)
				if iWarAndPeaceTeam == iLjosalfarTeamID:
					pWarAndPeaceTeam.meet(iLuchuirpTeamID, False)
				#Make evil civs meet other evil civs
				if iWarAndPeaceTeam == iCalabimTeamID:
					pWarAndPeaceTeam.meet(iClanOfEmbersTeamID, False)
					pWarAndPeaceTeam.meet(iDovielloTeamID, False)
					pWarAndPeaceTeam.meet(iSheaimTeamID, False)
					pWarAndPeaceTeam.meet(iSvartalfarTeamID, False)
				if iWarAndPeaceTeam == iClanOfEmbersTeamID:
					pWarAndPeaceTeam.meet(iDovielloTeamID, False)
					pWarAndPeaceTeam.meet(iSheaimTeamID, False)
					pWarAndPeaceTeam.meet(iSvartalfarTeamID, False)
				if iWarAndPeaceTeam == iDovielloTeamID:
					pWarAndPeaceTeam.meet(iSheaimTeamID, False)
					pWarAndPeaceTeam.meet(iSvartalfarTeamID, False)
				if iWarAndPeaceTeam == iSheaimTeamID:
					pWarAndPeaceTeam.meet(iSvartalfarTeamID, False)			
				#This section makes the evils civs at war with the good civs 
				if iWarAndPeaceTeam == iCalabimTeamID:
					pWarAndPeaceTeam.declareWar(iBannorTeamID, False, WarPlanTypes.WARPLAN_TOTAL)
					pWarAndPeaceTeam.setPermanentWarPeace(iBannorTeamID, False)
					pWarAndPeaceTeam.declareWar(iElohimTeamID, False, WarPlanTypes.WARPLAN_TOTAL)
					pWarAndPeaceTeam.setPermanentWarPeace(iElohimTeamID, False)
					pWarAndPeaceTeam.declareWar(iKuriotatesTeamID, False, WarPlanTypes.WARPLAN_TOTAL)
					pWarAndPeaceTeam.setPermanentWarPeace(iKuriotatesTeamID, False)
					pWarAndPeaceTeam.declareWar(iLjosalfarTeamID, False, WarPlanTypes.WARPLAN_TOTAL)
					pWarAndPeaceTeam.setPermanentWarPeace(iLjosalfarTeamID, False)
					pWarAndPeaceTeam.declareWar(iLuchuirpTeamID, False, WarPlanTypes.WARPLAN_TOTAL)
					pWarAndPeaceTeam.setPermanentWarPeace(iLuchuirpTeamID, False)
				if iWarAndPeaceTeam == iClanOfEmbersTeamID:
					pWarAndPeaceTeam.declareWar(iBannorTeamID, False, WarPlanTypes.WARPLAN_TOTAL)
					pWarAndPeaceTeam.setPermanentWarPeace(iBannorTeamID, False)
					pWarAndPeaceTeam.declareWar(iElohimTeamID, False, WarPlanTypes.WARPLAN_TOTAL)
					pWarAndPeaceTeam.setPermanentWarPeace(iElohimTeamID, False)
					pWarAndPeaceTeam.declareWar(iKuriotatesTeamID, False, WarPlanTypes.WARPLAN_TOTAL)
					pWarAndPeaceTeam.setPermanentWarPeace(iKuriotatesTeamID, False)
					pWarAndPeaceTeam.declareWar(iLjosalfarTeamID, False, WarPlanTypes.WARPLAN_TOTAL)
					pWarAndPeaceTeam.setPermanentWarPeace(iLjosalfarTeamID, False)
					pWarAndPeaceTeam.declareWar(iLuchuirpTeamID, False, WarPlanTypes.WARPLAN_TOTAL)
					pWarAndPeaceTeam.setPermanentWarPeace(iLuchuirpTeamID, False)
				if iWarAndPeaceTeam == iDovielloTeamID:
					pWarAndPeaceTeam.declareWar(iBannorTeamID, False, WarPlanTypes.WARPLAN_TOTAL)
					pWarAndPeaceTeam.setPermanentWarPeace(iBannorTeamID, False)
					pWarAndPeaceTeam.declareWar(iElohimTeamID, False, WarPlanTypes.WARPLAN_TOTAL)
					pWarAndPeaceTeam.setPermanentWarPeace(iElohimTeamID, False)
					pWarAndPeaceTeam.declareWar(iKuriotatesTeamID, False, WarPlanTypes.WARPLAN_TOTAL)
					pWarAndPeaceTeam.setPermanentWarPeace(iKuriotatesTeamID, False)
					pWarAndPeaceTeam.declareWar(iLjosalfarTeamID, False, WarPlanTypes.WARPLAN_TOTAL)
					pWarAndPeaceTeam.setPermanentWarPeace(iLjosalfarTeamID, False)
					pWarAndPeaceTeam.declareWar(iLuchuirpTeamID, False, WarPlanTypes.WARPLAN_TOTAL)
					pWarAndPeaceTeam.setPermanentWarPeace(iLuchuirpTeamID, False)
				if iWarAndPeaceTeam == iSheaimTeamID:
					pWarAndPeaceTeam.declareWar(iBannorTeamID, False, WarPlanTypes.WARPLAN_TOTAL)
					pWarAndPeaceTeam.setPermanentWarPeace(iBannorTeamID, False)
					pWarAndPeaceTeam.declareWar(iElohimTeamID, False, WarPlanTypes.WARPLAN_TOTAL)
					pWarAndPeaceTeam.setPermanentWarPeace(iElohimTeamID, False)
					pWarAndPeaceTeam.declareWar(iKuriotatesTeamID, False, WarPlanTypes.WARPLAN_TOTAL)
					pWarAndPeaceTeam.setPermanentWarPeace(iKuriotatesTeamID, False)
					pWarAndPeaceTeam.declareWar(iLjosalfarTeamID, False, WarPlanTypes.WARPLAN_TOTAL)
					pWarAndPeaceTeam.setPermanentWarPeace(iLjosalfarTeamID, False)
					pWarAndPeaceTeam.declareWar(iLuchuirpTeamID, False, WarPlanTypes.WARPLAN_TOTAL)
					pWarAndPeaceTeam.setPermanentWarPeace(iLuchuirpTeamID, False)
				if iWarAndPeaceTeam == iSvartalfarTeamID:
					pWarAndPeaceTeam.declareWar(iBannorTeamID, False, WarPlanTypes.WARPLAN_TOTAL)
					pWarAndPeaceTeam.setPermanentWarPeace(iBannorTeamID, False)
					pWarAndPeaceTeam.declareWar(iElohimTeamID, False, WarPlanTypes.WARPLAN_TOTAL)
					pWarAndPeaceTeam.setPermanentWarPeace(iElohimTeamID, False)
					pWarAndPeaceTeam.declareWar(iKuriotatesTeamID, False, WarPlanTypes.WARPLAN_TOTAL)
					pWarAndPeaceTeam.setPermanentWarPeace(iKuriotatesTeamID, False)
					pWarAndPeaceTeam.declareWar(iLjosalfarTeamID, False, WarPlanTypes.WARPLAN_TOTAL)
					pWarAndPeaceTeam.setPermanentWarPeace(iLjosalfarTeamID, False)
					pWarAndPeaceTeam.declareWar(iLuchuirpTeamID, False, WarPlanTypes.WARPLAN_TOTAL)
					pWarAndPeaceTeam.setPermanentWarPeace(iLuchuirpTeamID, False)
				#This makes good civs be at peace with good civs
				if iWarAndPeaceTeam == iBannorTeamID:
					pWarAndPeaceTeam.setPermanentWarPeace(iElohimTeamID, True)
					pWarAndPeaceTeam.setPermanentWarPeace(iKuriotatesTeamID, True)
					pWarAndPeaceTeam.setPermanentWarPeace(iLjosalfarTeamID, True)
					pWarAndPeaceTeam.setPermanentWarPeace(iLuchuirpTeamID, True)
				if iWarAndPeaceTeam == iElohimTeamID:
					pWarAndPeaceTeam.setPermanentWarPeace(iKuriotatesTeamID, True)
					pWarAndPeaceTeam.setPermanentWarPeace(iLjosalfarTeamID, True)
					pWarAndPeaceTeam.setPermanentWarPeace(iLuchuirpTeamID, True)
				if iWarAndPeaceTeam == iKuriotatesTeamID:
					pWarAndPeaceTeam.setPermanentWarPeace(iLjosalfarTeamID, True)
					pWarAndPeaceTeam.setPermanentWarPeace(iLuchuirpTeamID, True)
				if iWarAndPeaceTeam == iLjosalfarTeamID:
					pWarAndPeaceTeam.setPermanentWarPeace(iLuchuirpTeamID, True)
 
If it is false, of course they can decide what they want..
 
Top Bottom