if iGameTurn!=0:
if iGameTurn%2 == 0:
self.doCheckDepletion()
def doCheckDepletion(self):
self.doCheckWorkedResource("BONUS_ALUMINUM", "IMPROVEMENT_MINE", 880)
self.doCheckWorkedResource("BONUS_ALUMINUM", "IMPROVEMENT_FORT", 880)
self.doCheckWorkedResource("BONUS_BANANA", "IMPROVEMENT_PLANTATION", 1120)
self.doCheckWorkedResource("BONUS_BANANA", "IMPROVEMENT_FORT", 1120)
self.doCheckWorkedResource("BONUS_CLAM", "IMPROVEMENT_FISHING_BOATS", 880)
self.doCheckWorkedResource("BONUS_COAL", "IMPROVEMENT_MINE", 880)
self.doCheckWorkedResource("BONUS_COAL", "IMPROVEMENT_FORT", 880)
self.doCheckWorkedResource("BONUS_COPPER", "IMPROVEMENT_MINE", 880)
self.doCheckWorkedResource("BONUS_COPPER", "IMPROVEMENT_FORT", 880)
self.doCheckWorkedResource("BONUS_CORN", "IMPROVEMENT_FARM", 1120)
self.doCheckWorkedResource("BONUS_CORN", "IMPROVEMENT_FORT", 1120)
self.doCheckWorkedResource("BONUS_COW", "IMPROVEMENT_PASTURE", 1120)
self.doCheckWorkedResource("BONUS_COW", "IMPROVEMENT_FORT", 1120)
self.doCheckWorkedResource("BONUS_CRAB", "IMPROVEMENT_FISHING_BOATS", 1120)
self.doCheckWorkedResource("BONUS_DEER", "IMPROVEMENT_CAMP", 780)
self.doCheckWorkedResource("BONUS_DEER", "IMPROVEMENT_FORT", 780)
self.doCheckWorkedResource("BONUS_DYE", "IMPROVEMENT_PLANTATION", 1120)
self.doCheckWorkedResource("BONUS_DYE", "IMPROVEMENT_FORT", 1120)
self.doCheckWorkedResource("BONUS_FISH", "IMPROVEMENT_FISHING_BOATS", 880)
self.doCheckWorkedResource("BONUS_FUR", "IMPROVEMENT_CAMP", 560)
self.doCheckWorkedResource("BONUS_FUR", "IMPROVEMENT_FORT", 560)
self.doCheckWorkedResource("BONUS_GEMS", "IMPROVEMENT_MINE", 1120)
self.doCheckWorkedResource("BONUS_GEMS", "IMPROVEMENT_FORT", 1120)
self.doCheckWorkedResource("BONUS_GOLD", "IMPROVEMENT_MINE", 880)
self.doCheckWorkedResource("BONUS_GOLD", "IMPROVEMENT_FORT", 880)
self.doCheckWorkedResource("BONUS_HORSE", "IMPROVEMENT_PASTURE", 1120)
self.doCheckWorkedResource("BONUS_HORSE", "IMPROVEMENT_FORT", 1120)
self.doCheckWorkedResource("BONUS_IRON", "IMPROVEMENT_MINE", 880)
self.doCheckWorkedResource("BONUS_IRON", "IMPROVEMENT_FORT", 880)
self.doCheckWorkedResource("BONUS_IVORY", "IMPROVEMENT_CAMP", 560)
self.doCheckWorkedResource("BONUS_IVORY", "IMPROVEMENT_FORT", 560)
self.doCheckWorkedResource("BONUS_MARBLE", "IMPROVEMENT_QUARRY", 750)
self.doCheckWorkedResource("BONUS_MARBLE", "IMPROVEMENT_FORT", 750)
self.doCheckWorkedResource("BONUS_OIL", "IMPROVEMENT_WELL", 880)
self.doCheckWorkedResource("BONUS_OIL", "IMPROVEMENT_FORT", 880)
self.doCheckWorkedResource("BONUS_OIL", "IMPROVEMENT_OFFSHORE_PLATFORM", 880)
self.doCheckWorkedResource("BONUS_PIG", "IMPROVEMENT_PASTURE", 1120)
self.doCheckWorkedResource("BONUS_PIG", "IMPROVEMENT_FORT", 1120)
self.doCheckWorkedResource("BONUS_RICE", "IMPROVEMENT_FARM", 1120)
self.doCheckWorkedResource("BONUS_RICE", "IMPROVEMENT_FORT", 1120)
self.doCheckWorkedResource("BONUS_SILK", "IMPROVEMENT_PLANTATION", 1120)
self.doCheckWorkedResource("BONUS_SILK", "IMPROVEMENT_FORT", 1120)
self.doCheckWorkedResource("BONUS_SILVER", "IMPROVEMENT_MINE", 880)
self.doCheckWorkedResource("BONUS_SILVER", "IMPROVEMENT_FORT", 880)
self.doCheckWorkedResource("BONUS_SPICES", "IMPROVEMENT_PLANTATION", 1120)
self.doCheckWorkedResource("BONUS_SPICES", "IMPROVEMENT_FORT", 1120)
self.doCheckWorkedResource("BONUS_STONE", "IMPROVEMENT_QUARRY", 750)
self.doCheckWorkedResource("BONUS_STONE", "IMPROVEMENT_FORT", 750)
self.doCheckWorkedResource("BONUS_SUGAR", "IMPROVEMENT_PLANTATION", 1120)
self.doCheckWorkedResource("BONUS_SUGAR", "IMPROVEMENT_FORT", 1120)
self.doCheckWorkedResource("BONUS_URANIUM", "IMPROVEMENT_MINE", 880)
self.doCheckWorkedResource("BONUS_URANIUM", "IMPROVEMENT_FORT", 880)
self.doCheckWorkedResource("BONUS_WHALE", "IMPROVEMENT_WHALING_BOATS", 560)
self.doCheckWorkedResource("BONUS_WHEAT", "IMPROVEMENT_FARM", 1120)
self.doCheckWorkedResource("BONUS_WHEAT", "IMPROVEMENT_FORT", 1120)
self.doCheckWorkedResource("BONUS_WINE", "IMPROVEMENT_WINERY", 1120)
self.doCheckWorkedResource("BONUS_WINE", "IMPROVEMENT_FORT", 1120)
def doCheckWorkedResource(self, bonus, improvement, randomInt):
iBonus = CvUtil.findInfoTypeNum(gc.getBonusInfo, gc.getNumBonusInfos(), bonus)
if (iBonus == -1):
return
lValidPlots = self.getPlotListbyBonus(iBonus)
if len(lValidPlots) == 0:
return
##If you have the requisite improvement (incl. fort) or if the plot is being worked by a City, continue.
for plot in lValidPlots:
P = False
if plot.getImprovementType() == CvUtil.findInfoTypeNum(gc.getImprovementInfo, gc.getNumImprovementInfos(), improvement):
P = True
elif plot.isCity():
P = True
if P == True:
if self.getRandomNumber(randomInt) == 0:
pBonusInfo = gc.getBonusInfo(iBonus)
plot.setBonusType(-1)
szTitle = localText.getText("TEXT_KEY_NEXT_WAR_RESOURCE_DEPLETED_TITLE", ())# (pBonusInfo.getDescription(), plotgetX(), plot.getY()))
#szText = localText.getText("TEXT_KEY_NEXT_WAR_RESOURCE_DEPLETED", (pBonusInfo.getDescription(), plot.getX(), plot.getY()))
#Not sure what the above commented out code for (debugging?) -- it was commented out in PM's original NextWar code. JKP1187
CyInterface().addMessage(plot.getOwner(), False, gc.getEVENT_MESSAGE_TIME(), szTitle, "AS2D_DISCOVERBONUS", InterfaceMessageTypes.MESSAGE_TYPE_MINOR_EVENT, pBonusInfo.getButton(), gc.getInfoTypeForString("COLOR_GREEN"), plot.getX(), plot.getY(), True, True)
else:
return
### Below are additional functions necessary to the activity of the resource depl'n code:
def getPlotListbyBonus(self, iBonus):
lPlots = []
totalPlots = gc.getMap().numPlots()
for i in range(totalPlots):
plot = gc.getMap().plotByIndex(i)
iOwner = plot.getOwner()
if (iOwner != -1):
if plot.getBonusType(gc.getPlayer(iOwner).getTeam()) == iBonus:
lPlots.append(plot)
return lPlots
def getRandomNumber(self, int):
return gc.getGame().getSorenRandNum(int, "Next War")