예제 #1
0
    def getMeritIntervalList(self, toon, dept, origMerits, earnedMerits):
        """
        returns a list of intervals that, if played, will show merits
        gained for the given dept.
        """
        tickDelay = 0.08
        intervalList = []
        totalMerits = CogDisguiseGlobals.getTotalMerits(toon, dept)
        neededMerits = 0

        # Only show the inc value if we are not maxed
        if totalMerits and (origMerits != totalMerits):
            neededMerits = totalMerits - origMerits
            intervalList.append(Func(self.showMeritIncLabel, dept, min(neededMerits, earnedMerits)))

        # How much time should it take to increment the bar?
        barTime = math.log(earnedMerits + 1)
        numTicks = int(math.ceil(barTime / tickDelay))

        for i in range(numTicks):
            t = (i + 1) / float(numTicks)
            newValue = int(origMerits + t * earnedMerits + 0.5)
            intervalList.append(Func(self.incrementMerits, toon, dept, newValue, totalMerits))
            intervalList.append(Wait(tickDelay))

        intervalList.append(Func(self.resetMeritBarColor, dept))
        intervalList.append(Wait(0.4))

        # we don't need a promotion if we've reach level 50
        if (toon.cogLevels[dept] < ToontownGlobals.MaxCogSuitLevel):
            if neededMerits and toon.readyForPromotion(dept):
                intervalList.append(Wait(0.4))
                intervalList += self.getPromotionIntervalList(toon, dept)

        return intervalList
 def getNextMeritValue(self, curMerits, toon, dept):
     totalMerits = CogDisguiseGlobals.getTotalMerits(toon, dept)
     retVal = totalMerits
     if curMerits > totalMerits:
         retVal = amount
     
     return retVal
예제 #3
0
 def recoverMerits(self,
                   av,
                   cogList,
                   zoneId,
                   multiplier=1,
                   extraMerits=None):
     avId = av.getDoId()
     meritsRecovered = [0, 0, 0, 0, 0]
     if extraMerits is None:
         extraMerits = [0, 0, 0, 0, 0]
     if self.air.suitInvasionManager.getInvading():
         multiplier *= getInvasionMultiplier()
     for i in xrange(len(extraMerits)):
         if CogDisguiseGlobals.isSuitComplete(av.getCogParts(), i):
             meritsRecovered[i] += extraMerits[i]
             self.notify.debug('recoverMerits: extra merits = %s' %
                               extraMerits[i])
     self.notify.debug('recoverMerits: multiplier = %s' % multiplier)
     for cogDict in cogList:
         dept = SuitDNA.suitDepts.index(cogDict['track'])
         if avId in cogDict['activeToons']:
             if CogDisguiseGlobals.isSuitComplete(
                     av.getCogParts(),
                     SuitDNA.suitDepts.index(cogDict['track'])):
                 self.notify.debug(
                     'recoverMerits: checking against cogDict: %s' %
                     cogDict)
                 rand = random.random() * 100
                 if rand <= self.getPercentChance(
                 ) and not cogDict['isVirtual']:
                     merits = cogDict['level'] * MeritMultiplier
                     merits = int(round(merits))
                     if cogDict['hasRevives']:
                         merits *= 2
                     merits = merits * multiplier
                     merits = int(round(merits))
                     meritsRecovered[dept] += merits
                     self.notify.debug('recoverMerits: merits = %s' %
                                       merits)
                 else:
                     self.notify.debug('recoverMerits: virtual cog!')
     if meritsRecovered != [0, 0, 0, 0, 0]:
         actualCounted = [0, 0, 0, 0, 0]
         merits = av.getCogMerits()
         for i in xrange(len(meritsRecovered)):
             max = CogDisguiseGlobals.getTotalMerits(av, i)
             if max:
                 if merits[i] + meritsRecovered[i] <= max:
                     actualCounted[i] = meritsRecovered[i]
                     merits[i] += meritsRecovered[i]
                 else:
                     actualCounted[i] = max - merits[i]
                     merits[i] = max
                 av.b_setCogMerits(merits)
         if reduce(lambda x, y: x + y, actualCounted):
             self.air.writeServerEvent(
                 'merits', avId, '%s|%s|%s|%s|%s' % tuple(actualCounted))
             self.notify.debug('recoverMerits: av %s recovered merits %s' %
                               (avId, actualCounted))
     return meritsRecovered
예제 #4
0
 def confirmJoinGroup(self, groupId, buttonTuple):
     doneStatus = self.joinDialog.doneStatus
     self.joinDialog.cleanup()
     del self.joinDialog
     if doneStatus is not 'ok':
         return
     for gid in base.cr.groupManager.id2type.keys():
         if base.cr.groupManager.isInGroup(base.localAvatar.doId, gid):
             self.rejectGroup(4)
             return
     #if len(base.cr.groupManager.getGroupPlayers(groupId)) >= 8:
     #    self.rejectGroup(3)
     #    return
     suitIdx = -1
     gids = {10000:0, 11000:1, 12000:2, 13000:3}
     suitIdx = gids.get(groupId)
     if suitIdx is not None:
         merits = base.localAvatar.cogMerits[suitIdx]
         if CogDisguiseGlobals.getTotalMerits(base.localAvatar, suitIdx) > merits:
             self.rejectGroup(2, suitIdx)
             return
         parts = base.localAvatar.getCogParts()
         if not CogDisguiseGlobals.isSuitComplete(parts, suitIdx):
             self.rejectGroup(1)
             return
     base.cr.groupManager.d_addPlayerToGroup(groupId, base.localAvatar.doId)
     self.currentGroupJoined = groupId
     try:
         place = base.cr.playGame.getPlace()
     except:
         try:
             place = base.cr.playGame.hood.loader.place
         except:
             place = base.cr.playGame.hood.place
     place.requestTeleport(groupId, groupId, base.localAvatar.defaultShard, -1)
 def getMeritIntervalList(self, toon, dept, origMerits, earnedMerits):
     tickDelay = 1.0 / 60
     intervalList = []
     totalMerits = CogDisguiseGlobals.getTotalMerits(toon, dept)
     neededMerits = 0
     if totalMerits and origMerits != totalMerits:
         neededMerits = totalMerits - origMerits
         intervalList.append(Func(self.showMeritIncLabel, dept, min(neededMerits, earnedMerits)))
     
     barTime = 0.5
     numTicks = int(math.ceil(barTime / tickDelay))
     for i in range(numTicks):
         t = (i + 1) / float(numTicks)
         newValue = int(origMerits + t * earnedMerits + 0.5)
         intervalList.append(Func(self.incrementMerits, toon, dept, newValue, totalMerits))
         intervalList.append(Wait(tickDelay))
     
     intervalList.append(Func(self.resetMeritBarColor, dept))
     intervalList.append(Wait(0.10000000000000001))
     if toon.cogLevels[dept] < ToontownGlobals.MaxCogSuitLevel:
         if neededMerits and toon.readyForPromotion(dept):
             intervalList.append(Wait(0.40000000000000002))
             intervalList += self.getPromotionIntervalList(toon, dept)
         
     
     return intervalList
    def update(self):
        if not CogDisguiseGlobals.isSuitComplete(base.localAvatar.cogParts, self.deptIndex):
            self.progressBar['text'] = '%s %s' % (
                CogDisguiseGlobals.getPartCountAsString(base.localAvatar.cogParts, self.deptIndex),
                TTLocalizer.DisguiseParts)

            self.progressBar['range'] = CogDisguiseGlobals.PartsPerSuit[self.deptIndex]
            self.progressBar['value'] = CogDisguiseGlobals.getPartCount(base.localAvatar.cogParts, self.deptIndex)
            return

        promoStatus = base.localAvatar.promotionStatus[self.deptIndex]

        if promoStatus != ToontownGlobals.PendingPromotion:
            totalMerits = CogDisguiseGlobals.getTotalMerits(base.localAvatar, self.deptIndex)
            merits = base.localAvatar.cogMerits[self.deptIndex]

            self.progressBar['range'] = totalMerits
            self.progressBar['value'] = merits

            self.progressBar['text'] = '%s/%s %s' % (
            merits, totalMerits, TTLocalizer.RewardPanelMeritBarLabels[self.deptIndex])
        else:
            self.progressBar['range'] = 1
            self.progressBar['value'] = 1

            maxSuitLevel = (SuitDNA.levelsPerSuit - 1) + (SuitDNA.suitsPerDept - 1)
            if base.localAvatar.cogLevels[self.deptIndex] == maxSuitLevel:
                self.progressBar['text'] = TTLocalizer.RewardPanelMeritsMaxed
            else:
                self.progressBar['text'] = TTLocalizer.RewardPanelPromotionPending
예제 #7
0
    def getNextMeritValue(self, curMerits, toon, dept):
        totalMerits = CogDisguiseGlobals.getTotalMerits(toon, dept)
        retVal = totalMerits
        if curMerits > totalMerits:
            retVal = amount

        return retVal
예제 #8
0
    def getMeritIntervalList(self, toon, dept, origMerits, earnedMerits):
        tickDelay = 1.0 / 60
        intervalList = []
        totalMerits = CogDisguiseGlobals.getTotalMerits(toon, dept)
        neededMerits = 0
        if totalMerits and origMerits != totalMerits:
            neededMerits = totalMerits - origMerits
            intervalList.append(
                Func(self.showMeritIncLabel, dept,
                     min(neededMerits, earnedMerits)))
        barTime = 0.5
        numTicks = int(math.ceil(barTime / tickDelay))
        for i in xrange(numTicks):
            t = (i + 1) / float(numTicks)
            newValue = int(origMerits + t * earnedMerits + 0.5)
            intervalList.append(
                Func(self.incrementMerits, toon, dept, newValue, totalMerits))
            intervalList.append(Wait(tickDelay))

        intervalList.append(Func(self.resetMeritBarColor, dept))
        intervalList.append(Wait(0.1))
        if toon.cogLevels[dept] < ToontownGlobals.MaxCogSuitLevel:
            if neededMerits and toon.readyForPromotion(dept):
                intervalList.append(Wait(0.4))
                intervalList += self.getPromotionIntervalList(toon, dept)
        return intervalList
예제 #9
0
    def updateMeritBars(self):
        if not self.meritBars:
            return

        for i in xrange(len(self.meritBars)):
            meritBar = self.meritBars[i]

            if CogDisguiseGlobals.isSuitComplete(base.localAvatar.cogParts, i):
                meritBar.show()
                totalMerits = CogDisguiseGlobals.getTotalMerits(base.localAvatar, i)
                merits = base.localAvatar.cogMerits[i]

                if totalMerits:
                    meritBar['range'] = totalMerits
                    meritBar['value'] = merits

                    if merits == totalMerits:
                        meritBar['text'] = TTLocalizer.RewardPanelMeritAlert
                    else:
                        meritBar['text'] = '%s/%s %s' % (merits, totalMerits, TTLocalizer.RewardPanelMeritBarLabels[i])
                else:
                    meritBar['range'] = 1
                    meritBar['value'] = 1
                    meritBar['text'] = TTLocalizer.RewardPanelMeritsMaxed
            else:
                meritBar.hide()
예제 #10
0
    def updateMeritBars(self):
        if not self.meritBars:
            return

        for i in xrange(len(self.meritBars)):
            meritBar = self.meritBars[i]

            if CogDisguiseGlobals.isSuitComplete(base.localAvatar.cogParts, i):
                meritBar.show()
                totalMerits = CogDisguiseGlobals.getTotalMerits(
                    base.localAvatar, i)
                merits = base.localAvatar.cogMerits[i]

                if totalMerits:
                    meritBar['range'] = totalMerits
                    meritBar['value'] = merits

                    if merits == totalMerits:
                        meritBar['text'] = TTLocalizer.RewardPanelMeritAlert
                    else:
                        meritBar['text'] = '%s/%s %s' % (
                            merits, totalMerits,
                            TTLocalizer.RewardPanelMeritBarLabels[i])
                else:
                    meritBar['range'] = 1
                    meritBar['value'] = 1
                    meritBar['text'] = TTLocalizer.RewardPanelMeritsMaxed
            else:
                meritBar.hide()
예제 #11
0
 def getNextMeritValue(self, curMerits, toon, dept):
     """
     Return the number of total merits to get to the next
     cog level. If the current merits equals or exceeds the highest
     next value, the highest next value is returned.
     """
     totalMerits = CogDisguiseGlobals.getTotalMerits(toon, dept)
     # The last value is the default
     retVal = totalMerits
     if curMerits > totalMerits:
             retVal = amount
     return retVal
예제 #12
0
    def recoverMerits(self,
                      toon,
                      suitsKilled,
                      zoneId,
                      multiplier=1,
                      extraMerits=None):
        if 1:  #extraMerits is None:
            extraMerits = [0, 0, 0, 0]

        #else:
        # extraMerits = [0, extraMerits, 0, 0]

        # to do: figure out which track we should add extra merits to (check zoneId?)

        amounts = {x: y for x, y in zip(SuitDNA.suitDepts, extraMerits)}
        parts = toon.getCogParts()

        # calc
        for suit in suitsKilled:
            if suit['isVirtual']:
                continue

            track, level = suit['track'], suit['level']
            deptIdx = SuitDNA.suitDepts.index(track)
            if not CogDisguiseGlobals.isSuitComplete(parts, deptIdx):
                continue

            mult = multiplier * (
                getInvasionMultiplier(self.air.suitInvasionManager.isMega())
                if self.air.suitInvasionManager.hasInvading() else 1)
            mult *= int(suit['hasRevives']) + 1

            amount = int((level + 1) / 2 * mult)
            amounts[track] += amount

        merits = toon.getCogMerits()
        am2 = [0, 0, 0, 0]

        for dept, value in amounts.items():
            dept = SuitDNA.suitDepts.index(dept)
            needed = max(
                0,
                CogDisguiseGlobals.getTotalMerits(toon, dept) - merits[dept])
            am2[dept] = min(needed, value)

        # apply
        toon.b_setCogMerits([x + y for x, y in zip(merits, am2)])

        return am2
예제 #13
0
 def updateMeritBar(self, dept):
     merits = base.localAvatar.cogMerits[dept]
     totalMerits = CogDisguiseGlobals.getTotalMerits(base.localAvatar, dept)
     if totalMerits == 0:
         progress = 1
     else:
         progress = min(merits / float(totalMerits), 1)
     self.updateMeritDial(progress)
     if base.localAvatar.readyForPromotion(dept):
         self.cogMeritRatio['text'] = TTLocalizer.DisguisePageMeritFull
         self.promotionTitle.show()
         self.progressTitle.hide()
     else:
         self.cogMeritRatio['text'] = '%d/%d' % (merits, totalMerits)
         self.promotionTitle.hide()
         self.progressTitle.show()
예제 #14
0
 def updateMeritBar(self, dept):
     merits = base.localAvatar.cogMerits[dept]
     totalMerits = CogDisguiseGlobals.getTotalMerits(base.localAvatar, dept)
     if totalMerits == 0:
         progress = 1
     else:
         progress = min(merits / float(totalMerits), 1)
     self.updateMeritDial(progress)
     if base.localAvatar.readyForPromotion(dept):
         self.cogMeritRatio['text'] = TTLocalizer.DisguisePageMeritFull
         self.promotionTitle.show()
         self.progressTitle.hide()
     else:
         self.cogMeritRatio['text'] = '%d/%d' % (merits, totalMerits)
         self.promotionTitle.hide()
         self.progressTitle.show()
예제 #15
0
 def recoverMerits(self, av, cogList, zoneId, multiplier = 1, extraMerits = None):
     avId = av.getDoId()
     meritsRecovered = [0, 0, 0, 0]
     if extraMerits is None:
         extraMerits = [0, 0, 0, 0]
     if self.air.suitInvasionManager.getInvading():
         multiplier *= getInvasionMultiplier()
     for i in xrange(len(extraMerits)):
         if CogDisguiseGlobals.isSuitComplete(av.getCogParts(), i):
             meritsRecovered[i] += extraMerits[i]
             self.notify.debug('recoverMerits: extra merits = %s' % extraMerits[i])
     self.notify.debug('recoverMerits: multiplier = %s' % multiplier)
     for cogDict in cogList:
         dept = SuitDNA.suitDepts.index(cogDict['track'])
         if avId in cogDict['activeToons']:
             if CogDisguiseGlobals.isSuitComplete(av.getCogParts(), SuitDNA.suitDepts.index(cogDict['track'])):
                 self.notify.debug('recoverMerits: checking against cogDict: %s' % cogDict)
                 rand = random.random() * 100
                 if rand <= self.getPercentChance() and not cogDict['isVirtual']:
                     merits = cogDict['level'] * MeritMultiplier
                     merits = int(round(merits))
                     if cogDict['hasRevives']:
                         merits *= 2
                     merits = merits * multiplier
                     merits = int(round(merits))
                     meritsRecovered[dept] += merits
                     self.notify.debug('recoverMerits: merits = %s' % merits)
                 else:
                     self.notify.debug('recoverMerits: virtual cog!')
     if meritsRecovered != [0, 0, 0, 0]:
         actualCounted = [0, 0, 0, 0]
         merits = av.getCogMerits()
         for i in xrange(len(meritsRecovered)):
             max = CogDisguiseGlobals.getTotalMerits(av, i)
             if max:
                 if merits[i] + meritsRecovered[i] <= max:
                     actualCounted[i] = meritsRecovered[i]
                     merits[i] += meritsRecovered[i]
                 else:
                     actualCounted[i] = max - merits[i]
                     merits[i] = max
                 av.b_setCogMerits(merits)
         if reduce(lambda x, y: x + y, actualCounted):
             self.air.writeServerEvent('merits', avId, '%s|%s|%s|%s' % tuple(actualCounted))
             self.notify.debug('recoverMerits: av %s recovered merits %s' % (avId, actualCounted))
     return meritsRecovered
 def recoverMerits(self, toon, suitsKilled, zoneId, mult = 1, extraMerits = None):
     if 1: #extraMerits is None:
         extraMerits = [0, 0, 0, 0]
         
     #else:
         # extraMerits = [0, extraMerits, 0, 0]
     
     # to do: figure out which track we should add extra merits to (check zoneId?)
         
     amounts = {x: y for x, y in zip(SuitDNA.suitDepts, extraMerits)}
     parts = toon.getCogParts()
     
     # calc
     for suit in suitsKilled:
         if suit['isVirtual']:
             continue
             
         track, level = suit['track'], suit['level']
         deptIdx = SuitDNA.suitDepts.index(track)
         if not CogDisguiseGlobals.isSuitComplete(parts, deptIdx):
             continue
         
         mult = (2 if self.air.suitInvasionManager.hasInvading() else 1)
         mult *= int(suit['hasRevives']) + 1
             
         amount = int((level + 1) / 2 * mult) * mult
         amounts[track] += amount
         
     merits = toon.getCogMerits()
     am2 = [0, 0, 0, 0]
     
     for dept, value in amounts.items():
         dept = SuitDNA.suitDepts.index(dept)
         needed = max(0, CogDisguiseGlobals.getTotalMerits(toon, dept) - merits[dept])
         am2[dept] = min(needed, value)
         
     # apply
     toon.b_setCogMerits([x + y for x, y in zip(merits, am2)])
     
     return am2
     
    def update(self):
        if not CogDisguiseGlobals.isSuitComplete(base.localAvatar.cogParts,
                                                 self.deptIndex):
            self.progressBar['text'] = '%s %s' % (
                CogDisguiseGlobals.getPartCountAsString(
                    base.localAvatar.cogParts,
                    self.deptIndex), TTLocalizer.DisguiseParts)

            self.progressBar['range'] = CogDisguiseGlobals.PartsPerSuit[
                self.deptIndex]
            self.progressBar['value'] = CogDisguiseGlobals.getPartCount(
                base.localAvatar.cogParts, self.deptIndex)
            return

        promoStatus = base.localAvatar.promotionStatus[self.deptIndex]

        if promoStatus != ToontownGlobals.PendingPromotion:
            totalMerits = CogDisguiseGlobals.getTotalMerits(
                base.localAvatar, self.deptIndex)
            merits = base.localAvatar.cogMerits[self.deptIndex]

            self.progressBar['range'] = totalMerits
            self.progressBar['value'] = merits

            self.progressBar['text'] = '%s/%s %s' % (
                merits, totalMerits,
                TTLocalizer.RewardPanelMeritBarLabels[self.deptIndex])
        else:
            self.progressBar['range'] = 1
            self.progressBar['value'] = 1

            maxSuitLevel = (SuitDNA.levelsPerSuit -
                            1) + (SuitDNA.suitsPerDept - 1)
            if base.localAvatar.cogLevels[self.deptIndex] == maxSuitLevel:
                self.progressBar['text'] = TTLocalizer.RewardPanelMeritsMaxed
            else:
                self.progressBar[
                    'text'] = TTLocalizer.RewardPanelPromotionPending
예제 #18
0
    def initGagFrame(self, toon, expList, meritList, noSkip=False):
        self.avNameLabel['text'] = toon.getName()
        self.endTrackFrame.hide()
        self.gagExpFrame.show()
        self.newGagFrame.hide()
        self.promotionFrame.hide()
        self.questFrame.hide()
        self.itemFrame.hide()
        self.cogPartFrame.hide()
        self.missedItemFrame.hide()
        trackBarOffset = 0
        self.skipButton['state'] = choice(noSkip, DGG.DISABLED, DGG.NORMAL)
        for i in xrange(len(SuitDNA.suitDepts)):
            meritBar = self.meritBars[i]
            meritLabel = self.meritLabels[i]
            totalMerits = CogDisguiseGlobals.getTotalMerits(toon, i)
            merits = meritList[i]
            self.meritIncLabels[i].hide()
            promoStatus = toon.promotionStatus[i]
            if CogDisguiseGlobals.isSuitComplete(toon.cogParts, i):
                if not self.trackBarsOffset:
                    trackBarOffset = 0.47
                    self.trackBarsOffset = 1
                meritBar.show()
                meritLabel.show()
                meritLabel.show()
                if totalMerits:
                    meritBar['range'] = totalMerits
                    meritBar['value'] = merits
                    if promoStatus != ToontownGlobals.PendingPromotion:
                        meritBar['text'] = '%s/%s %s' % (
                            merits, totalMerits,
                            TTLocalizer.RewardPanelMeritBarLabels[i])
                maxSuitType = SuitDNA.suitsPerDept - 1
                maxSuitLevel = (SuitDNA.levelsPerSuit - 1) + maxSuitType
                if toon.cogLevels[i] == maxSuitLevel:
                    if promoStatus == ToontownGlobals.PendingPromotion:
                        meritBar['range'] = 1
                        meritBar['value'] = 1
                        meritBar['text'] = TTLocalizer.RewardPanelMeritsMaxed
                elif promoStatus == ToontownGlobals.PendingPromotion:
                    meritBar['range'] = 1
                    meritBar['value'] = 1
                    meritBar['text'] = TTLocalizer.RewardPanelPromotionPending
                self.resetMeritBarColor(i)
            else:
                meritBar.hide()
                meritLabel.hide()

        for i in xrange(len(expList)):
            curExp = expList[i]
            trackBar = self.trackBars[i]
            trackLabel = self.trackLabels[i]
            trackIncLabel = self.trackIncLabels[i]
            trackBar.setX(trackBar.getX() - trackBarOffset)
            trackLabel.setX(trackLabel.getX() - trackBarOffset)
            trackIncLabel.setX(trackIncLabel.getX() - trackBarOffset)
            trackIncLabel.hide()
            if toon.hasTrackAccess(i):
                trackBar.show()
                if curExp >= ToontownBattleGlobals.UnpaidMaxSkills[
                        i] and toon.getGameAccess() != OTPGlobals.AccessFull:
                    nextExp = self.getNextExpValue(curExp, i)
                    trackBar['range'] = nextExp
                    trackBar['value'] = ToontownBattleGlobals.UnpaidMaxSkills[
                        i]
                    trackBar['text'] = TTLocalizer.InventoryGuestExp
                elif curExp >= ToontownBattleGlobals.regMaxSkill:
                    nextExp = self.getNextExpValueUber(curExp, i)
                    trackBar['range'] = nextExp
                    uberCurrExp = curExp - ToontownBattleGlobals.regMaxSkill
                    trackBar['value'] = uberCurrExp
                    trackBar['text'] = TTLocalizer.InventoryUberTrackExp % {
                        'nextExp': ToontownBattleGlobals.MaxSkill - curExp
                    }
                else:
                    nextExp = self.getNextExpValue(curExp, i)
                    trackBar['range'] = nextExp
                    trackBar['value'] = curExp
                    trackBar['text'] = '%s/%s' % (curExp, nextExp)
                self.resetBarColor(i)
            else:
                trackBar.hide()
예제 #19
0
    def initGagFrame(self, toon, expList, meritList, noSkip = False):
        self.avNameLabel['text'] = toon.getName()
        self.endTrackFrame.hide()
        self.gagExpFrame.show()
        self.newGagFrame.hide()
        self.promotionFrame.hide()
        self.questFrame.hide()
        self.itemFrame.hide()
        self.cogPartFrame.hide()
        self.missedItemFrame.hide()
        trackBarOffset = 0
        self.skipButton['state'] = choice(noSkip, DGG.DISABLED, DGG.NORMAL)
        for i in xrange(len(SuitDNA.suitDepts)):
            meritBar = self.meritBars[i]
            meritLabel = self.meritLabels[i]
            totalMerits = CogDisguiseGlobals.getTotalMerits(toon, i)
            merits = meritList[i]
            self.meritIncLabels[i].hide()
            if CogDisguiseGlobals.isSuitComplete(toon.cogParts, i):
                if not self.trackBarsOffset:
                    trackBarOffset = 0.47
                    self.trackBarsOffset = 1
                meritBar.show()
                meritLabel.show()
                meritLabel.show()
                if totalMerits:
                    meritBar['range'] = totalMerits
                    meritBar['value'] = merits
                    if merits == totalMerits:
                        meritBar['text'] = TTLocalizer.RewardPanelMeritAlert
                    else:
                        meritBar['text'] = '%s/%s %s' % (merits, totalMerits, TTLocalizer.RewardPanelMeritBarLabels[i])
                else:
                    meritBar['range'] = 1
                    meritBar['value'] = 1
                    meritBar['text'] = TTLocalizer.RewardPanelMeritsMaxed
                self.resetMeritBarColor(i)
            else:
                meritBar.hide()
                meritLabel.hide()

        for i in xrange(len(expList)):
            curExp = expList[i]
            trackBar = self.trackBars[i]
            trackLabel = self.trackLabels[i]
            trackIncLabel = self.trackIncLabels[i]
            trackBar.setX(trackBar.getX() - trackBarOffset)
            trackLabel.setX(trackLabel.getX() - trackBarOffset)
            trackIncLabel.setX(trackIncLabel.getX() - trackBarOffset)
            trackIncLabel.hide()
            if toon.hasTrackAccess(i):
                trackBar.show()
                if curExp >= ToontownBattleGlobals.UnpaidMaxSkills[i] and toon.getGameAccess() != OTPGlobals.AccessFull:
                    nextExp = self.getNextExpValue(curExp, i)
                    trackBar['range'] = nextExp
                    trackBar['value'] = ToontownBattleGlobals.UnpaidMaxSkills[i]
                    trackBar['text'] = TTLocalizer.InventoryGuestExp
                elif curExp >= ToontownBattleGlobals.regMaxSkill:
                    nextExp = self.getNextExpValueUber(curExp, i)
                    trackBar['range'] = nextExp
                    uberCurrExp = curExp - ToontownBattleGlobals.regMaxSkill
                    trackBar['value'] = uberCurrExp
                    trackBar['text'] = TTLocalizer.InventoryUberTrackExp % {'nextExp': ToontownBattleGlobals.MaxSkill - curExp}
                else:
                    nextExp = self.getNextExpValue(curExp, i)
                    trackBar['range'] = nextExp
                    trackBar['value'] = curExp
                    trackBar['text'] = '%s/%s' % (curExp, nextExp)
                self.resetBarColor(i)
            else:
                trackBar.hide()
    def initGagFrame(self, toon, expList, meritList, noSkip=False):
        self.notify.debug('Initializing Gag Frame!')
        self.avNameLabel['text'] = toon.getName()
        self.hqBonusLabel.hide()
        try:
            zoneId = base.cr.playGame.getPlace().getTaskZoneId()
        except:
            zoneId = 0
        if hasattr(base.cr, 'newsManager'):
            if base.cr.newsManager.isHolidayRunning(
                    ToontownGlobals.MORE_XP_HOLIDAY):
                self.multiplierLabel['text'] = "5x Gag Multiplier"
            if base.cr.newsManager.getInvading():
                self.hqBonusLabel['text'] = TTLocalizer.CogInvasionBonus
            if ZoneUtil.isCogHQZone(zoneId):
                self.hqBonusLabel['text'] = TTLocalizer.CogHQBonus
            if base.cr.newsManager.getInvading() and ZoneUtil.isCogHQZone(
                    zoneId):
                self.hqBonusLabel['text'] = TTLocalizer.MegaBonus
        if ZoneUtil.isCogHQZone(zoneId) or self.hqBonusLabel['text'] != '':
            self.hqBonusLabel.show()
            self.growShrink = Sequence(
                LerpScaleInterval(self.hqBonusLabel,
                                  1,
                                  1.1,
                                  0.9,
                                  blendType='easeInOut'),
                LerpScaleInterval(self.hqBonusLabel,
                                  1,
                                  0.9,
                                  1.1,
                                  blendType='easeInOut'))
            self.growShrink.loop()
        self.endTrackFrame.hide()
        self.gagExpFrame.show()
        self.multiplierLabel.show()
        self.newGagFrame.hide()
        self.promotionFrame.hide()
        self.questFrame.hide()
        self.itemFrame.hide()
        self.cogPartFrame.hide()
        self.missedItemFrame.hide()
        trackBarOffset = 0
        self.skipButton['state'] = DGG.DISABLED if noSkip else DGG.NORMAL
        for i in xrange(len(SuitDNA.suitDepts)):
            meritBar = self.meritBars[i]
            meritLabel = self.meritLabels[i]
            totalMerits = CogDisguiseGlobals.getTotalMerits(toon, i)
            merits = meritList[i]
            self.meritIncLabels[i].hide()
            if CogDisguiseGlobals.isSuitComplete(toon.cogParts, i):
                if not self.trackBarsOffset:
                    trackBarOffset = 0.47
                    self.trackBarsOffset = 1
                meritBar.show()
                meritLabel.show()
                meritLabel.show()
                if totalMerits:
                    meritBar['range'] = totalMerits
                    meritBar['value'] = merits
                    if merits == totalMerits:
                        meritBar['text'] = TTLocalizer.RewardPanelMeritAlert
                    else:
                        meritBar['text'] = '%s/%s %s' % (
                            merits, totalMerits,
                            TTLocalizer.RewardPanelMeritBarLabels[i])
                else:
                    meritBar['range'] = 1
                    meritBar['value'] = 1
                    meritBar['text'] = TTLocalizer.RewardPanelMeritsMaxed
                self.resetMeritBarColor(i)
            else:
                meritBar.hide()
                meritLabel.hide()

        for i in xrange(len(expList)):
            curExp = expList[i]
            trackBar = self.trackBars[i]
            trackLabel = self.trackLabels[i]
            trackIncLabel = self.trackIncLabels[i]
            trackBar.setX(trackBar.getX() - trackBarOffset)
            trackLabel.setX(trackLabel.getX() - trackBarOffset)
            trackIncLabel.setX(trackIncLabel.getX() - trackBarOffset)
            trackIncLabel.hide()
            if toon.hasTrackAccess(i):
                trackBar.show()
                if curExp >= ToontownBattleGlobals.UnpaidMaxSkills[
                        i] and toon.getGameAccess() != OTPGlobals.AccessFull:
                    nextExp = self.getNextExpValue(curExp, i)
                    trackBar['range'] = nextExp
                    trackBar['value'] = ToontownBattleGlobals.UnpaidMaxSkills[
                        i]
                    trackBar['text'] = TTLocalizer.InventoryGuestExp
                elif curExp >= ToontownBattleGlobals.regMaxSkill:
                    nextExp = self.getNextExpValueUber(curExp, i)
                    trackBar['range'] = nextExp
                    uberCurrExp = curExp - ToontownBattleGlobals.regMaxSkill
                    trackBar['value'] = uberCurrExp
                    trackBar['text'] = TTLocalizer.InventoryUberTrackExp % {
                        'nextExp': ToontownBattleGlobals.MaxSkill - curExp
                    }
                else:
                    nextExp = self.getNextExpValue(curExp, i)
                    trackBar['range'] = nextExp
                    trackBar['value'] = curExp
                    trackBar['text'] = '%s/%s' % (curExp, nextExp)
                self.resetBarColor(i)
            else:
                trackBar.hide()
예제 #21
0
    def initGagFrame(self, toon, expList, meritList):
        self.avNameLabel['text'] = toon.getName()
        self.endTrackFrame.hide()
        self.gagExpFrame.show()
        self.newGagFrame.hide()
        self.promotionFrame.hide()
        self.questFrame.hide()
        self.itemFrame.hide()
        self.cogPartFrame.hide()
        self.missedItemFrame.hide()

        trackBarOffset = 0

        # Initialize the cog merit bars if enabled
        for i in range(len(SuitDNA.suitDepts)):
            meritBar = self.meritBars[i]
            meritLabel = self.meritLabels[i]
            totalMerits = CogDisguiseGlobals.getTotalMerits(toon, i)
            merits = meritList[i]
            self.meritIncLabels[i].hide()
            # if we are have a full suit then we are working on promotions
            if CogDisguiseGlobals.isSuitComplete(toon.cogParts, i):
                # if we don't show the merit bar, we must shift the skill bars left
                if not self.trackBarsOffset:
                    trackBarOffset = 0.47
                    # only do this once! :)
                    self.trackBarsOffset = 1
                meritBar.show()
                meritLabel.show()
                meritLabel.show()
                if totalMerits:
                    meritBar["range"] = totalMerits
                    meritBar["value"] = merits
                    if merits == totalMerits:
                        meritBar["text"] = TTLocalizer.RewardPanelMeritAlert
                    else:
                        meritBar["text"] = ("%s/%s %s" % (merits,
                                                          totalMerits,
                                                          TTLocalizer.RewardPanelMeritBarLabels[i],))
                else:
                    # if total merits = None, this dept is maxed out
                    meritBar["range"] = 1
                    meritBar["value"] = 1
                    meritBar["text"] = TTLocalizer.RewardPanelMeritsMaxed
                self.resetMeritBarColor(i)
            else:
                meritBar.hide()
                meritLabel.hide()

        # Initialize all the bars with the current and next exp
        for i in range(len(expList)):
            curExp = expList[i]
            trackBar = self.trackBars[i]
            trackLabel = self.trackLabels[i]
            trackIncLabel = self.trackIncLabels[i]
            trackBar.setX(trackBar.getX() - trackBarOffset)
            trackLabel.setX(trackLabel.getX() - trackBarOffset)
            trackIncLabel.setX(trackIncLabel.getX() - trackBarOffset)
            trackIncLabel.hide()
            if toon.hasTrackAccess(i):
                trackBar.show()

                if curExp >= ToontownBattleGlobals.UnpaidMaxSkill and toon.getGameAccess() != OTPGlobals.AccessFull:
                    nextExp = self.getNextExpValue(curExp, i)
                    trackBar["range"] = nextExp
                    trackBar["value"] = ToontownBattleGlobals.UnpaidMaxSkill
                    trackBar["text"] = (TTLocalizer.InventoryGuestExp)

                elif curExp >= ToontownBattleGlobals.regMaxSkill:
                    nextExp = self.getNextExpValueUber(curExp, i)
                    trackBar["range"] = nextExp
                    uberCurrExp = curExp - ToontownBattleGlobals.regMaxSkill
                    trackBar["value"] = uberCurrExp
                    trackBar["text"] = (TTLocalizer.InventoryUberTrackExp %
                                                  {"nextExp": ToontownBattleGlobals.MaxSkill - curExp,})
                else:
                    nextExp = self.getNextExpValue(curExp, i)
                    trackBar["range"] = nextExp
                    trackBar["value"] = curExp
                    trackBar["text"] = ("%s/%s" % (curExp, nextExp))
                self.resetBarColor(i)
            else:
                trackBar.hide()


        return