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
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
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
def getNextMeritValue(self, curMerits, toon, dept): totalMerits = CogDisguiseGlobals.getTotalMerits(toon, dept) retVal = totalMerits if curMerits > totalMerits: retVal = amount return retVal
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
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()
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()
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
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
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()
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()
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
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()
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()
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