Wieder mal eine Python-Frage
Betroffende Datei: CvEventManager.py
Platyping fügt seinem Wunder "Bolshoi" folgendes Feature hinzu:
Durch den Bau des Wunders wird der kulturelle Ausstoß jedes Theaters um +2 erhöht.
Ich habe mir die entsprechenden Codes angesehen und frage mich, wordurch der commerce Culture (und nicht z.B. Research) hier definiert wird?
Wie müsste der Code aussehen, wenn z.B. zwei zusätzliche Forschungspunkte pro Theater generiert werden soll?
Läßt sich das Ganze auch auf Yields ummünzen wenn man den Code *.setBuildingYieldChange verwendet?
Code:
## Bolshoi Start ##
if iBuildingType == gc.getInfoTypeForString("BUILDING_BOLSHOI"):
bc_theatre = gc.getInfoTypeForString("BUILDINGCLASS_THEATRE")
pPlayer = gc.getPlayer(pCity.getOwner())
(loopCity, iter) = pPlayer.firstCity(false)
while(loopCity):
loopCity.setBuildingCommerceChange (bc_theatre, 2, 2)
(loopCity, iter) = pPlayer.nextCity(iter, false)
## Bolshoi End ##
Code:
## Bolshoi Start ##
pPlayer = gc.getPlayer(city.getOwner())
if pPlayer.getBuildingClassCount(gc.getInfoTypeForString("BUILDINGCLASS_BOLSHOI")) == 1:
city.setBuildingCommerceChange (gc.getInfoTypeForString("BUILDINGCLASS_THEATRE"), 2, 2)
## Bolshoi End ##
Code:
## Bolshoi Start ##
if city.getNumActiveBuilding(gc.getInfoTypeForString("BUILDING_BOLSHOI")):
pPlayer = gc.getPlayer(iPlayer)
(loopCity, iter) = pPlayer.firstCity(false)
while(loopCity):
loopCity.setBuildingCommerceChange(gc.getInfoTypeForString("BUILDINGCLASS_THEATRE"), 2, 0)
(loopCity, iter) = pPlayer.nextCity(iter, false)
## Bolshoi End ##
Code:
## Bolshoi Start ##
pPlayer = gc.getPlayer(iPreviousOwner)
pPlayer2 = gc.getPlayer(iNewOwner)
if pCity.getNumActiveBuilding(gc.getInfoTypeForString("BUILDING_BOLSHOI")):
(loopCity, iter) = pPlayer.firstCity(false)
while(loopCity):
loopCity.setBuildingCommerceChange (gc.getInfoTypeForString("BUILDINGCLASS_THEATRE"), 2, 0)
(loopCity, iter) = pPlayer.nextCity(iter, false)
(loopCity, iter) = pPlayer2.firstCity(false)
while(loopCity):
loopCity.setBuildingCommerceChange (gc.getInfoTypeForString("BUILDINGCLASS_THEATRE"), 2, 2)
(loopCity, iter) = pPlayer2.nextCity(iter, false)
else:
pCity.setBuildingCommerceChange (gc.getInfoTypeForString("BUILDINGCLASS_THEATRE"), 2, 0)
if pPlayer2.getBuildingClassCount(gc.getInfoTypeForString("BUILDINGCLASS_BOLSHOI")) == 1:
pCity.setBuildingCommerceChange (bc_theatre, 2, 2)
## Bolshoi End ##