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 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
Example #5
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)
Example #8
0
    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)
Example #9
0
    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):
     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)