def handleToonsWon(self, toons): # toons just beat the boss extraMerits = [0,0,0,0] amount = ToontownGlobals.StageNoticeRewards[self.level.stageId] index = ToontownGlobals.cogHQZoneId2deptIndex(self.level.stageId) extraMerits[index] = amount # take care of the extra merits first for toon in toons: mult = 1. meritArray = self.air.promotionMgr.recoverMerits( toon, [], self.getTaskZoneId(), mult, extraMerits=extraMerits) if toon.doId in self.helpfulToons: self.toonMerits[toon.doId] = addListsByValue(self.toonMerits[toon.doId], meritArray) else: self.notify.debug("toon %d not helpful list, skipping merits" % toon.doId) for floorNum, cogsThisFloor in enumerate(self.suitsKilledPerFloor): self.notify.info('merits for floor %s' % floorNum) for toon in toons: # Append the recovered and not recovered items to their respective lists recovered, notRecovered = self.air.questManager.recoverItems( toon, cogsThisFloor, self.getTaskZoneId()) self.toonItems[toon.doId][0].extend(recovered) self.toonItems[toon.doId][1].extend(notRecovered) # the new merit list must be added by value to the cumulative list meritArray = self.air.promotionMgr.recoverMerits( toon, cogsThisFloor, self.getTaskZoneId(), getStageCreditMultiplier(floorNum)) self.notify.info('toon %s: %s' % (toon.doId, meritArray)) if toon.doId in self.helpfulToons: self.toonMerits[toon.doId] = addListsByValue(self.toonMerits[toon.doId], meritArray) else: self.notify.debug("toon %d not helpful list, skipping merits" % toon.doId)
def handleToonsWon(self, toons): extraMerits = [0, 0, 0, 0] amount = ToontownGlobals.StageNoticeRewards[self.level.stageId] index = ToontownGlobals.cogHQZoneId2deptIndex(self.level.stageId) extraMerits[index] = amount for toon in toons: mult = 1.0 meritArray = self.air.promotionMgr.recoverMerits(toon, [], self.getTaskZoneId(), mult, extraMerits=extraMerits) if toon.doId in self.helpfulToons: self.toonMerits[toon.doId] = addListsByValue(self.toonMerits[toon.doId], meritArray) else: self.notify.debug('toon %d not helpful list, skipping merits' % toon.doId) for floorNum, cogsThisFloor in enumerate(self.suitsKilledPerFloor): self.notify.info('merits for floor %s' % floorNum) for toon in toons: recovered, notRecovered = self.air.questManager.recoverItems(toon, cogsThisFloor, self.getTaskZoneId()) self.toonItems[toon.doId][0].extend(recovered) self.toonItems[toon.doId][1].extend(notRecovered) meritArray = self.air.promotionMgr.recoverMerits(toon, cogsThisFloor, self.getTaskZoneId(), getStageCreditMultiplier(floorNum)) self.notify.info('toon %s: %s' % (toon.doId, meritArray)) if toon.doId in self.helpfulToons: self.toonMerits[toon.doId] = addListsByValue(self.toonMerits[toon.doId], meritArray) else: self.notify.debug('toon %d not helpful list, skipping merits' % toon.doId)
def resume(self, currentFloor=0, topFloor=0): if len(self.suits) == 0: self.d_setMembers() self.suitsKilledPerFloor.append(self.suitsKilledThisBattle) if topFloor == 0: self.b_setState('Reward') else: for floorNum, cogsThisFloor in enumerate(self.suitsKilledPerFloor): for toonId in self.activeToons: toon = self.getToon(toonId) if toon: (recovered, notRecovered) = self.air.questManager.recoverItems(toon, cogsThisFloor, self.zoneId) self.toonItems[toonId][0].extend(recovered) self.toonItems[toonId][1].extend(notRecovered) meritArray = self.air.promotionMgr.recoverMerits(toon, cogsThisFloor, self.zoneId, getCreditMultiplier(floorNum)) if toonId in self.helpfulToons: self.toonMerits[toonId] = addListsByValue(self.toonMerits[toonId], meritArray) else: self.notify.debug('toon %d not helpful, skipping merits' % toonId) self.d_setBattleExperience() self.b_setState('BuildingReward') elif self.resumeNeedUpdate == 1: self.d_setMembers() if len(self.resumeDeadSuits) > 0 and self.resumeLastActiveSuitDied == 0 or len(self.resumeDeadToons) > 0: self.needAdjust = 1 self.setState('WaitForJoin') self.resumeNeedUpdate = 0 self.resumeDeadToons = [] self.resumeDeadSuits = [] self.resumeLastActiveSuitDied = 0
def resume(self, currentFloor=0, topFloor=0): if len(self.suits) == 0: self.d_setMembers() self.suitsKilledPerFloor.append(self.suitsKilledThisBattle) if topFloor == 0: self.b_setState('Reward') else: for floorNum, cogsThisFloor in enumerate(self.suitsKilledPerFloor): for toonId in self.activeToons: toon = self.getToon(toonId) if toon: (recovered, notRecovered) = self.air.questManager.recoverItems(toon, cogsThisFloor, self.zoneId) self.toonItems[toonId][0].extend(recovered) self.toonItems[toonId][1].extend(notRecovered) meritArray = self.air.promotionMgr.recoverMerits(toon, cogsThisFloor, self.zoneId, getCreditMultiplier(floorNum)) if toonId in self.helpfulToons: self.toonMerits[toonId] = addListsByValue(self.toonMerits[toonId], meritArray) else: self.notify.debug('toon %d not helpful, skipping merits' % toonId) self.d_setBattleExperience() self.b_setState('BuildingReward') elif self.resumeNeedUpdate == 1: self.d_setMembers() if len(self.resumeDeadSuits) > 0 or self.resumeLastActiveSuitDied == 0 or len(self.resumeDeadToons) > 0: self.needAdjust = 1 self.setState('WaitForJoin') self.resumeNeedUpdate = 0 self.resumeDeadToons = [] self.resumeDeadSuits = [] self.resumeLastActiveSuitDied = 0
def handleToonsWon(self, toons): extraMerits = [0, 0, 0, 0] amount = ToontownGlobals.MintCogBuckRewards[self.level.mintId] index = ToontownGlobals.cogHQZoneId2deptIndex(self.level.mintId) extraMerits[index] = amount for toon in toons: recovered, notRecovered = self.air.questManager.recoverItems( toon, self.suitsKilled, self.getTaskZoneId()) self.toonItems[toon.doId][0].extend(recovered) self.toonItems[toon.doId][1].extend(notRecovered) meritArray = self.air.promotionMgr.recoverMerits( toon, self.suitsKilled, self.getTaskZoneId(), getMintCreditMultiplier(self.getTaskZoneId()), extraMerits=extraMerits) if toon.doId in self.helpfulToons: self.toonMerits[toon.doId] = addListsByValue( self.toonMerits[toon.doId], meritArray) else: self.notify.debug('toon %d not helpful list, skipping merits' % toon.doId) if self.bossBattle: self.toonParts[toon.doId] = self.air.cogSuitMgr.recoverPart( toon, 'fullSuit', self.suitTrack, self.getTaskZoneId(), toons) self.notify.debug('toonParts = %s' % self.toonParts)
def handleToonsWon(self, toons): # toons just beat the boss extraMerits = [0, 0, 0, 0] amount = ToontownGlobals.MintCogBuckRewards[self.level.mintId] index = ToontownGlobals.cogHQZoneId2deptIndex(self.level.mintId) extraMerits[index] = amount for toon in toons: # Append the recovered and not recovered items to their respective lists recovered, notRecovered = self.air.questManager.recoverItems( toon, self.suitsKilled, self.getTaskZoneId()) self.toonItems[toon.doId][0].extend(recovered) self.toonItems[toon.doId][1].extend(notRecovered) # the new merit list must be added by value to the cumulative list meritArray = self.air.promotionMgr.recoverMerits( toon, self.suitsKilled, self.getTaskZoneId(), getMintCreditMultiplier(self.getTaskZoneId()), extraMerits=extraMerits) if toon.doId in self.helpfulToons: self.toonMerits[toon.doId] = addListsByValue( self.toonMerits[toon.doId], meritArray) else: self.notify.debug("toon %d not helpful list, skipping merits" % toon.doId)
def handleToonsWon(self, toons): # toons just beat the boss for toon in toons: # Append recovered and unrecovered items onto their respective lists recovered, notRecovered = self.air.questManager.recoverItems( toon, self.suitsKilled, self.getTaskZoneId()) self.toonItems[toon.doId][0].extend(recovered) self.toonItems[toon.doId][1].extend(notRecovered) # the merit list must be added by value to the cumulative list meritArray = self.air.promotionMgr.recoverMerits( toon, self.suitsKilled, self.getTaskZoneId(), getFactoryMeritMultiplier(self.getTaskZoneId())) if toon.doId in self.helpfulToons: self.toonMerits[toon.doId] = addListsByValue( self.toonMerits[toon.doId], meritArray) else: self.notify.debug("toon %d not helpful, skipping merits" % toon.doId) # only give part at the very end if self.bossBattle: self.toonParts[toon.doId] = self.air.cogSuitMgr.recoverPart( toon, self.level.factoryType, self.suitTrack, self.getTaskZoneId(), toons) self.notify.debug("toonParts = %s" % self.toonParts)
def resume(self, currentFloor=0, topFloor=0): assert (self.notify.debug('resuming the battle')) if (len(self.suits) == 0): # Toons won - award experience, etc. assert (self.resumeNeedUpdate == 1) self.d_setMembers() self.suitsKilledPerFloor.append(self.suitsKilledThisBattle) if (topFloor == 0): self.b_setState('Reward') else: # calculate and assign the merits and item recoveries by floor for floorNum, cogsThisFloor in PythonUtil.enumerate( self.suitsKilledPerFloor): for toonId in self.activeToons: toon = self.getToon(toonId) if toon: # Append the recovered and not recovered items to their respective lists recovered, notRecovered = self.air.questManager.recoverItems( toon, cogsThisFloor, self.zoneId) self.toonItems[toonId][0].extend(recovered) self.toonItems[toonId][1].extend(notRecovered) # the new merit list must be added by value to the cumulative list meritArray = self.air.promotionMgr.recoverMerits( toon, cogsThisFloor, self.zoneId, getCreditMultiplier(floorNum)) if toonId in self.helpfulToons: self.toonMerits[toonId] = addListsByValue( self.toonMerits[toonId], meritArray) else: self.notify.debug( "toon %d not helpful, skipping merits" % toonId) self.d_setBattleExperience() self.b_setState('BuildingReward') else: # Continue with the battle if (self.resumeNeedUpdate == 1): self.d_setMembers() if ((len(self.resumeDeadSuits) > 0 and self.resumeLastActiveSuitDied == 0) or (len(self.resumeDeadToons) > 0)): self.needAdjust = 1 # Wait for input will call __requestAdjust() self.setState('WaitForJoin') self.resumeNeedUpdate = 0 self.resumeDeadToons = [] self.resumeDeadSuits = [] self.resumeLastActiveSuitDied = 0
def handleToonsWon(self, toons): for toon in toons: recovered, notRecovered = self.air.questManager.recoverItems(toon, self.suitsKilled, self.getTaskZoneId()) self.toonItems[toon.doId][0].extend(recovered) self.toonItems[toon.doId][1].extend(notRecovered) meritArray = self.air.promotionMgr.recoverMerits(toon, self.suitsKilled, self.getTaskZoneId(), getFactoryMeritMultiplier(self.getTaskZoneId())) if toon.doId in self.helpfulToons: self.toonMerits[toon.doId] = addListsByValue(self.toonMerits[toon.doId], meritArray) else: self.notify.debug('toon %d not helpful, skipping merits' % toon.doId) if self.bossBattle: self.toonParts[toon.doId] = self.air.cogSuitMgr.recoverPart(toon, self.level.factoryType, self.suitTrack, self.getTaskZoneId(), toons) self.notify.debug('toonParts = %s' % self.toonParts)
def handleToonsWon(self, toons): extraMerits = [0, 0, 0, 0] amount = ToontownGlobals.MintCogBuckRewards[self.level.mintId] index = ToontownGlobals.cogHQZoneId2deptIndex(self.level.mintId) extraMerits[index] = amount for toon in toons: recovered, notRecovered = self.air.questManager.recoverItems(toon, self.suitsKilled, self.getTaskZoneId()) self.toonItems[toon.doId][0].extend(recovered) self.toonItems[toon.doId][1].extend(notRecovered) meritArray = self.air.promotionMgr.recoverMerits(toon, self.suitsKilled, self.getTaskZoneId(), getMintCreditMultiplier(self.getTaskZoneId()), extraMerits=extraMerits) if toon.doId in self.helpfulToons: self.toonMerits[toon.doId] = addListsByValue(self.toonMerits[toon.doId], meritArray) else: self.notify.debug('toon %d not helpful list, skipping merits' % toon.doId)
def handleToonsWon(self, toons): extraMerits = [0, 0, 0, 0] amount = ToontownGlobals.CountryClubCogBuckRewards[self.level.countryClubId] index = ToontownGlobals.cogHQZoneId2deptIndex(self.level.countryClubId) extraMerits[index] = amount self.handleCrateReward(toons) for toon in toons: recovered, notRecovered = self.air.questManager.recoverItems(toon, self.suitsKilled, self.getTaskZoneId()) self.toonItems[toon.doId][0].extend(recovered) self.toonItems[toon.doId][1].extend(notRecovered) meritArray = self.air.promotionMgr.recoverMerits(toon, self.suitsKilled, self.getTaskZoneId(), getCountryClubCreditMultiplier(self.getTaskZoneId()) * 2.0, extraMerits=extraMerits, addInvasion=False) if toon.doId in self.helpfulToons: self.toonMerits[toon.doId] = addListsByValue(self.toonMerits[toon.doId], meritArray) else: self.notify.debug('toon %d not helpful list, skipping merits' % toon.doId)
def handleToonsWon(self, toons): extraMerits = [0, 0, 0, 0] amount = ToontownGlobals.StageNoticeRewards[self.level.stageId] index = ToontownGlobals.cogHQZoneId2deptIndex(self.level.stageId) extraMerits[index] = amount for toon in toons: recovered, notRecovered = self.air.questManager.recoverItems(toon, self.suitsKilled, self.getTaskZoneId()) self.toonItems[toon.doId][0].extend(recovered) self.toonItems[toon.doId][1].extend(notRecovered) meritArray = self.air.promotionMgr.recoverMerits(toon, self.suitsKilled, self.getTaskZoneId(), getStageCreditMultiplier(self.level.getFloorNum()), extraMerits=extraMerits) if toon.doId in self.helpfulToons: self.toonMerits[toon.doId] = addListsByValue(self.toonMerits[toon.doId], meritArray) else: self.notify.debug('toon %d not helpful list, skipping merits' % toon.doId) if self.bossBattle: self.toonParts[toon.doId] = self.air.cogSuitMgr.recoverPart( toon, 'fullSuit', self.suitTrack, self.getTaskZoneId(), toons) self.notify.debug('toonParts = %s' % self.toonParts)