Wegen den Technologien, das ist im DesertWar-Szenario so gelöst:
Eine Definition giveTech wird definiert:
PHP-Code:
def giveTech( self, iTech, iPlayer ):
"""Gives advance iTech to iPlayer."""
iTeam = gc.getPlayer(iPlayer).getTeam()
gc.getTeam(iTeam).setHasTech(iTech, True, 0, False, False)
und wird dann so aufgerufen:
PHP-Code:
self.giveTech(iDesertFox, iGermans)
(iDesertFox und iGermans sind die ID's der Tech bzw. der Ziv)
Also würde ich den Check am Anfang der Runde einmal so probieren:
PHP-Code:
iGlaubensfanatiker = ID der Tech
def onBeginPlayerTurn(self, argsList):
'Called at the beginning of a players turn'
iGameTurn, iPlayer = argsList
if (iPlayer.isCivic(22)):
iTeam = gc.getPlayer(iPlayer).getTeam()
gc.getTeam(iTeam).setHasTech(iGlaubensfanatiker, True, 0, False, False)
else:
iTeam = gc.getPlayer(iPlayer).getTeam()
gc.getTeam(iTeam).setHasTech(iGlaubensfanatiker, False, 0, False, False)
Dann kann in einem Teamspiel aber alle Mitglieder eines Teams die Glaubensfanatiker bauen, auch wenn nur einer in der Theokratie ist.
Im Desert-War-Szen wird auch noch die Funktionen "findfreeplotnear" und "concentric search" definiert. Vielleicht helfen die beim Platzieren der Partisanen weiter.