Пример #1
0
 def enterTownBattle(self, event):
     mult = ToontownBattleGlobals.getMintCreditMultiplier(self.zoneId)
     base.localAvatar.inventory.setBattleCreditMultiplier(mult)
     self.loader.townBattle.enter(event,
                                  self.fsm.getStateNamed('battle'),
                                  bldg=1,
                                  creditMultiplier=mult)
    def makeBattle(self, bossCogPosHpr, battlePosHpr, roundCallback, finishCallback, battleNumber, battleSide):
        if battleNumber == 1:
            battle = DistributedBattleWaitersAI.DistributedBattleWaitersAI(self.air, self, roundCallback, finishCallback, battleSide)
        else:
            battle = DistributedBattleDinersAI.DistributedBattleDinersAI(self.air, self, roundCallback, finishCallback, battleSide)
        self.setBattlePos(battle, bossCogPosHpr, battlePosHpr)
        battle.suitsKilled = self.suitsKilled
        battle.battleCalc.toonSkillPtsGained = self.toonSkillPtsGained
        battle.toonExp = self.toonExp
        battle.toonOrigQuests = self.toonOrigQuests
        battle.toonItems = self.toonItems
        battle.toonOrigMerits = self.toonOrigMerits
        battle.toonMerits = self.toonMerits
        battle.toonParts = self.toonParts
        battle.helpfulToons = self.helpfulToons
        mult = ToontownBattleGlobals.getBossBattleCreditMultiplier(battleNumber)
        battle.battleCalc.setSkillCreditMultiplier(mult)
        activeSuits = self.activeSuitsA
        if battleSide:
            activeSuits = self.activeSuitsB
        for suit in activeSuits:
            battle.addSuit(suit)

        battle.generateWithRequired(self.zoneId)
        return battle
Пример #3
0
    def setInvasionStatus(self, msgType, suitType, remaining, flags):
        if msgType not in ToontownGlobals.SuitInvasions:
            return

        if suitType in SuitDNA.suitHeadTypes:
            attributes = SuitBattleGlobals.SuitAttributes[suitType]
            suitNames = {
                'singular': attributes['name'],
                'plural': attributes['pluralname']
            }
        elif suitType in SuitDNA.suitDepts:
            suitNames = {
                'singular': SuitDNA.getDeptFullname(suitType),
                'plural': SuitDNA.getDeptFullnameP(suitType)
            }
        else:
            return

        track = Sequence()
        base.localAvatar.inventory.setInvasionCreditMultiplier(
            1 if msgType in ToontownGlobals.
            EndingInvasions else ToontownBattleGlobals.getInvasionMultiplier())

        for i, message in enumerate(ToontownGlobals.SuitInvasions[msgType]):
            track.append(Wait(5 if i else 1))
            track.append(
                Func(base.localAvatar.setSystemMessage, 0,
                     (TTLocalizer.SuitInvasionPrefix + message) % suitNames))

        track.start()
Пример #4
0
    def makeBattle(self, bossCogPosHpr, battlePosHpr, roundCallback,
                   finishCallback, battleNumber, battleSide):
        if battleNumber == 1:
            battle = DistributedBattleWaitersAI.DistributedBattleWaitersAI(
                self.air, self, roundCallback, finishCallback, battleSide)
        else:
            battle = DistributedBattleDinersAI.DistributedBattleDinersAI(
                self.air, self, roundCallback, finishCallback, battleSide)
        self.setBattlePos(battle, bossCogPosHpr, battlePosHpr)
        battle.suitsKilled = self.suitsKilled
        battle.battleCalc.toonSkillPtsGained = self.toonSkillPtsGained
        battle.toonExp = self.toonExp
        battle.toonOrigQuests = self.toonOrigQuests
        battle.toonItems = self.toonItems
        battle.toonOrigMerits = self.toonOrigMerits
        battle.toonMerits = self.toonMerits
        battle.toonParts = self.toonParts
        battle.helpfulToons = self.helpfulToons
        mult = ToontownBattleGlobals.getBossBattleCreditMultiplier(
            battleNumber)
        battle.battleCalc.setSkillCreditMultiplier(mult)
        activeSuits = self.activeSuitsA
        if battleSide:
            activeSuits = self.activeSuitsB
        for suit in activeSuits:
            battle.addSuit(suit)

        battle.generateWithRequired(self.zoneId)
        return battle
Пример #5
0
 def enterBattleOne(self):
     self.cleanupIntervals()
     mult = ToontownBattleGlobals.getBossBattleCreditMultiplier(1)
     localAvatar.inventory.setBattleCreditMultiplier(mult)
     self.toonsToBattlePosition(self.toonsA, self.battleANode)
     self.toonsToBattlePosition(self.toonsB, self.battleBNode)
     self.releaseToons()
     base.playMusic(self.battleOneMusic, looping=1, volume=0.9)
Пример #6
0
 def enterElevator(self, ts=0):
     self.currentFloor += 1
     self.cr.playGame.getPlace().currentFloor = self.currentFloor
     self.setElevatorLights(self.elevatorModelIn)
     self.setElevatorLights(self.elevatorModelOut)
     self.__playElevator(ts, self.elevatorName, self.__handleElevatorDone)
     mult = ToontownBattleGlobals.getCreditMultiplier(self.currentFloor)
     base.localAvatar.inventory.setBattleCreditMultiplier(mult)
Пример #7
0
 def enterBattle(self, event):
     mult = ToontownBattleGlobals.getCreditMultiplier(self.currentFloor)
     self.townBattle.enter(event,
                           self.fsm.getStateNamed('battle'),
                           bldg=1,
                           creditMultiplier=mult)
     base.localAvatar.b_setAnimState('off', 1)
     base.localAvatar.cantLeaveGame = 1
 def enterBattle(self, event):
     mult = 1
     if self.bossCog:
         mult = ToontownBattleGlobals.getBossBattleCreditMultiplier(self.bossCog.battleNumber)
     self.townBattle.enter(event, self.fsm.getStateNamed('battle'), bldg=1, creditMultiplier=mult)
     base.localAvatar.b_setAnimState('off', 1)
     base.localAvatar.setTeleportAvailable(0)
     base.localAvatar.cantLeaveGame = 1
Пример #9
0
 def enterTownBattle(self, event):
     mult = ToontownBattleGlobals.getStageCreditMultiplier(
         bboard.get(DistributedStage.DistributedStage.FloorNum))
     base.localAvatar.inventory.setBattleCreditMultiplier(mult)
     self.loader.townBattle.enter(event,
                                  self.fsm.getStateNamed('battle'),
                                  bldg=1,
                                  creditMultiplier=mult)
 def enterElevator(self, ts = 0):
     self.currentFloor += 1
     self.cr.playGame.getPlace().currentFloor = self.currentFloor
     self.setElevatorLights(self.elevatorModelIn)
     self.setElevatorLights(self.elevatorModelOut)
     self.__playElevator(ts, self.elevatorName, self.__handleElevatorDone)
     mult = ToontownBattleGlobals.getCreditMultiplier(self.currentFloor)
     base.localAvatar.inventory.setBattleCreditMultiplier(mult)
 def enterBattleOne(self):
     self.cleanupIntervals()
     mult = ToontownBattleGlobals.getBossBattleCreditMultiplier(1)
     localAvatar.inventory.setBattleCreditMultiplier(mult)
     self.toonsToBattlePosition(self.toonsA, self.battleANode)
     self.toonsToBattlePosition(self.toonsB, self.battleBNode)
     self.releaseToons()
     base.playMusic(self.battleOneMusic, looping=1, volume=0.9)
 def enterElevator(self, ts = 0):
     if not self._CogdoGameRepeat:
         self.currentFloor += 1
     self.cr.playGame.getPlace().currentFloor = self.currentFloor
     self.setElevatorLights(self.elevatorModelIn)
     self.setElevatorLights(self.elevatorModelOut)
     if not self.isBossFloor(self.currentFloor):
         self.elevatorModelOut.detachNode()
         messenger.send('sellbotFieldOfficeChanged', [True])
     else:
         if self.FOType == 's':
             self._movie = CogdoElevatorMovie()
             self._movie.load()
             self._movie.play()
     self.__playElevator(ts, self.elevatorName, self.__handleElevatorDone)
     mult = ToontownBattleGlobals.getCreditMultiplier(self.currentFloor)
     base.localAvatar.inventory.setBattleCreditMultiplier(mult)
def getToonUberStatus(toons, numToons):
    fieldList = []
    uberIndex = ToontownBattleGlobals.LAST_REGULAR_GAG_LEVEL + 1
    for toonId in toons:
        toonList = []
        toon = simbase.air.doId2do.get(toonId)
        if toon == None:
            fieldList.append(-1)
        else:
            for trackIndex in xrange(ToontownBattleGlobals.MAX_TRACK_INDEX + 1):
                toonList.append(toon.inventory.numItem(trackIndex, uberIndex))

            fieldList.append(ToontownBattleGlobals.encodeUber(toonList))

    lenDif = numToons - len(toons)
    if lenDif > 0:
        for index in xrange(lenDif):
            fieldList.append(-1)

    return fieldList
Пример #14
0
def getToonUberStatus(toons, numToons):
    fieldList = []
    uberIndex = ToontownBattleGlobals.LAST_REGULAR_GAG_LEVEL + 1
    for toonId in toons:
        toonList = []
        toon = simbase.air.doId2do.get(toonId)
        if toon == None:
            fieldList.append(-1)
        else:
            for trackIndex in xrange(ToontownBattleGlobals.MAX_TRACK_INDEX +
                                     1):
                toonList.append(toon.inventory.numItem(trackIndex, uberIndex))

            fieldList.append(ToontownBattleGlobals.encodeUber(toonList))

    lenDif = numToons - len(toons)
    if lenDif > 0:
        for index in xrange(lenDif):
            fieldList.append(-1)

    return fieldList
 def getBattleCreditMultiplier(self):
     return ToontownBattleGlobals.getMintCreditMultiplier(self.mintId)
Пример #16
0
    def getExpTrack(self,
                    toon,
                    origExp,
                    earnedExp,
                    deathList,
                    origQuestsList,
                    itemList,
                    missedItemList,
                    origMeritList,
                    meritList,
                    partList,
                    toonList,
                    uberEntry,
                    helpfulToonsList,
                    noSkip=False):
        track = Sequence(
            Func(self.initGagFrame,
                 toon,
                 origExp,
                 origMeritList,
                 noSkip=noSkip), Wait(1.0))
        endTracks = [0, 0, 0, 0, 0, 0, 0]
        trackEnded = 0
        for trackIndex in xrange(len(earnedExp)):
            if earnedExp[trackIndex] > 0 or origExp[
                    trackIndex] >= ToontownBattleGlobals.MaxSkill:
                track += self.getTrackIntervalList(
                    toon, trackIndex, origExp[trackIndex],
                    earnedExp[trackIndex],
                    ToontownBattleGlobals.getUberFlagSafe(
                        uberEntry, trackIndex))
                maxExp = ToontownBattleGlobals.MaxSkill - ToontownBattleGlobals.UberSkill
                if origExp[trackIndex] < maxExp and earnedExp[
                        trackIndex] + origExp[trackIndex] >= maxExp:
                    endTracks[trackIndex] = 1
                    trackEnded = 1

        for dept in xrange(len(SuitDNA.suitDepts)):
            if meritList[dept]:
                track += self.getMeritIntervalList(toon, dept,
                                                   origMeritList[dept],
                                                   meritList[dept])

        track.append(Wait(0.75))
        itemInterval = self.getItemIntervalList(toon, itemList)
        if itemInterval:
            track.append(Func(self.initItemFrame, toon))
            track.append(Wait(0.25))
            track += itemInterval
            track.append(Wait(0.5))
        missedItemInterval = self.getMissedItemIntervalList(
            toon, missedItemList)
        if missedItemInterval:
            track.append(Func(self.initMissedItemFrame, toon))
            track.append(Wait(0.25))
            track += missedItemInterval
            track.append(Wait(0.5))
        self.notify.debug('partList = %s' % partList)
        newPart = 0
        for part in partList:
            if part != 0:
                newPart = 1
                break

        if newPart:
            partList = self.getCogPartIntervalList(toon, partList)
            if partList:
                track.append(Func(self.initCogPartFrame, toon))
                track.append(Wait(0.25))
                track += partList
                track.append(Wait(0.5))
        questList = self.getQuestIntervalList(toon, deathList, toonList,
                                              origQuestsList, itemList,
                                              helpfulToonsList)
        if questList:
            avQuests = []
            for i in xrange(0, len(origQuestsList), 5):
                avQuests.append(origQuestsList[i:i + 5])

            track.append(
                Func(self.initQuestFrame, toon, copy.deepcopy(avQuests)))
            track.append(Wait(0.25))
            track += questList
            track.append(Wait(0.5))
        track.append(Wait(0.25))
        if trackEnded:
            track.append(Func(self.vanishFrames))
            track.append(Fanfare.makeFanfare(0, toon)[0])
            for i in xrange(len(endTracks)):
                if endTracks[i] is 1:
                    track += self.getEndTrackIntervalList(toon, toonList, i)

            track.append(Func(self.cleanupEndTrack))
        return track
 def getBattleCreditMultiplier(self):
     return ToontownBattleGlobals.getFactoryCreditMultiplier(self.factoryId)
Пример #18
0
 def getBattleCreditMultiplier(self):
     return ToontownBattleGlobals.getFactoryCreditMultiplier(self.factoryId)
 def enterBattle(self, event):
     mult = ToontownBattleGlobals.getCreditMultiplier(self.currentFloor)
     self.townBattle.enter(event, self.fsm.getStateNamed('battle'), bldg=1, creditMultiplier=mult)
     base.localAvatar.b_setAnimState('off', 1)
     base.localAvatar.cantLeaveGame = 1
Пример #20
0
 def getBattleCreditMultiplier(self):
     return ToontownBattleGlobals.getCountryClubCreditMultiplier(self.countryClubId)
    def setInvasionStatus(self, msgType, suitType, remaining, flags):
        if msgType not in ToontownGlobals.SuitInvasions:
            return

        if suitType in SuitDNA.suitHeadTypes:
            attributes = SuitBattleGlobals.SuitAttributes[suitType]
            suitNames = {'singular': attributes['name'], 'plural': attributes['pluralname']}
        elif suitType in SuitDNA.suitDepts:
            suitNames = {'singular': SuitDNA.getDeptFullname(suitType), 'plural': SuitDNA.getDeptFullnameP(suitType)}
        else:
            return

        track = Sequence()
        base.localAvatar.inventory.setInvasionCreditMultiplier(1 if msgType in ToontownGlobals.EndingInvasions else ToontownBattleGlobals.getInvasionMultiplier())

        for i, message in enumerate(ToontownGlobals.SuitInvasions[msgType]):
            track.append(Wait(5 if i else 1))
            track.append(Func(base.localAvatar.setSystemMessage, 0, (TTLocalizer.SuitInvasionPrefix + message) % suitNames))

        track.start()
 def enterTownBattle(self, event):
     mult = ToontownBattleGlobals.getStageCreditMultiplier(bboard.get(DistributedStage.DistributedStage.FloorNum))
     base.localAvatar.inventory.setBattleCreditMultiplier(mult)
     self.loader.townBattle.enter(event, self.fsm.getStateNamed('battle'), bldg=1, creditMultiplier=mult)
 def getBattleCreditMultiplier(self):
     return ToontownBattleGlobals.getStageCreditMultiplier(self.getFloorNum())
    def getExpTrack(self, toon, origExp, earnedExp, deathList, origQuestsList, itemList, missedItemList, origMeritList, meritList, partList, toonList, uberEntry, helpfulToonsList, noSkip = False):
        track = Sequence(Func(self.initGagFrame, toon, origExp, origMeritList, noSkip=noSkip), Wait(1.0))
        endTracks = [0,
         0,
         0,
         0,
         0,
         0,
         0]
        trackEnded = 0
        for trackIndex in xrange(len(earnedExp)):
            if earnedExp[trackIndex] > 0 or origExp[trackIndex] >= ToontownBattleGlobals.MaxSkill:
                track += self.getTrackIntervalList(toon, trackIndex, origExp[trackIndex], earnedExp[trackIndex], ToontownBattleGlobals.getUberFlagSafe(uberEntry, trackIndex))
                maxExp = ToontownBattleGlobals.MaxSkill - ToontownBattleGlobals.UberSkill
                if origExp[trackIndex] < maxExp and earnedExp[trackIndex] + origExp[trackIndex] >= maxExp:
                    endTracks[trackIndex] = 1
                    trackEnded = 1

        for dept in xrange(len(SuitDNA.suitDepts)):
            if meritList[dept]:
                track += self.getMeritIntervalList(toon, dept, origMeritList[dept], meritList[dept])

        track.append(Wait(0.75))
        itemInterval = self.getItemIntervalList(toon, itemList)
        if itemInterval:
            track.append(Func(self.initItemFrame, toon))
            track.append(Wait(0.25))
            track += itemInterval
            track.append(Wait(0.5))
        missedItemInterval = self.getMissedItemIntervalList(toon, missedItemList)
        if missedItemInterval:
            track.append(Func(self.initMissedItemFrame, toon))
            track.append(Wait(0.25))
            track += missedItemInterval
            track.append(Wait(0.5))
        self.notify.debug('partList = %s' % partList)
        newPart = 0
        for part in partList:
            if part != 0:
                newPart = 1
                break

        if newPart:
            partList = self.getCogPartIntervalList(toon, partList)
            if partList:
                track.append(Func(self.initCogPartFrame, toon))
                track.append(Wait(0.25))
                track += partList
                track.append(Wait(0.5))
        questList = self.getQuestIntervalList(toon, deathList, toonList, origQuestsList, itemList, helpfulToonsList)
        if questList:
            avQuests = []
            for i in xrange(0, len(origQuestsList), 5):
                avQuests.append(origQuestsList[i:i + 5])

            track.append(Func(self.initQuestFrame, toon, copy.deepcopy(avQuests)))
            track.append(Wait(0.25))
            track += questList
            track.append(Wait(0.5))
        track.append(Wait(0.25))
        if trackEnded:
            track.append(Func(self.vanishFrames))
            track.append(Fanfare.makeFanfare(0, toon)[0])
            for i in xrange(len(endTracks)):
                if endTracks[i] is 1:
                    track += self.getEndTrackIntervalList(toon, toonList, i)

            track.append(Func(self.cleanupEndTrack))
        return track
 def enterTownBattle(self, event):
     mult = ToontownBattleGlobals.getFactoryCreditMultiplier(self.zoneId)
     base.localAvatar.inventory.setBattleCreditMultiplier(mult)
     self.loader.townBattle.enter(event, self.fsm.getStateNamed('battle'), bldg=1, creditMultiplier=mult)
 def getBattleCreditMultiplier(self):
     return ToontownBattleGlobals.getMintCreditMultiplier(self.mintId)