Bad Player
Deity
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.
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)