Best Python code snippet using fMBT_python
Quests.py
Source:Quests.py  
1from otp.otpbase import OTPGlobals2from toontown.toonbase import ToontownBattleGlobals3from toontown.toonbase import ToontownGlobals4from toontown.battle import SuitBattleGlobals5from toontown.coghq import CogDisguiseGlobals6import random7from toontown.toon import NPCToons8import copy, string9from toontown.hood import ZoneUtil10from direct.directnotify import DirectNotifyGlobal11from toontown.toonbase import TTLocalizer12from direct.showbase import PythonUtil13import time, types, random14notify = DirectNotifyGlobal.directNotify.newCategory('Quests')15ItemDict = TTLocalizer.QuestsItemDict16CompleteString = TTLocalizer.QuestsCompleteString17NotChosenString = TTLocalizer.QuestsNotChosenString18DefaultGreeting = TTLocalizer.QuestsDefaultGreeting19DefaultIncomplete = TTLocalizer.QuestsDefaultIncomplete20DefaultIncompleteProgress = TTLocalizer.QuestsDefaultIncompleteProgress21DefaultIncompleteWrongNPC = TTLocalizer.QuestsDefaultIncompleteWrongNPC22DefaultComplete = TTLocalizer.QuestsDefaultComplete23DefaultLeaving = TTLocalizer.QuestsDefaultLeaving24DefaultReject = TTLocalizer.QuestsDefaultReject25DefaultTierNotDone = TTLocalizer.QuestsDefaultTierNotDone26DefaultQuest = TTLocalizer.QuestsDefaultQuest27DefaultVisitQuestDialog = TTLocalizer.QuestsDefaultVisitQuestDialog28GREETING = 029QUEST = 130INCOMPLETE = 231INCOMPLETE_PROGRESS = 332INCOMPLETE_WRONG_NPC = 433COMPLETE = 534LEAVING = 635Any = 136OBSOLETE = 'OBSOLETE'37Start = 138Cont = 039Anywhere = 140NA = 241Same = 342AnyFish = 443AnyCashbotSuitPart = 544AnyLawbotSuitPart = 645AnyBossbotSuitPart = 746ToonTailor = 99947ToonHQ = 100048QuestDictTierIndex = 049QuestDictStartIndex = 150QuestDictDescIndex = 251QuestDictFromNpcIndex = 352QuestDictToNpcIndex = 453QuestDictRewardIndex = 554QuestDictNextQuestIndex = 655QuestDictDialogIndex = 756VeryEasy = 10057Easy = 7558Medium = 5059Hard = 2560VeryHard = 2061TT_TIER = 062DD_TIER = 463DG_TIER = 764MM_TIER = 865BR_TIER = 1166DL_TIER = 1467LAWBOT_HQ_TIER = 1868BOSSBOT_HQ_TIER = 3269ELDER_TIER = 4970LOOPING_FINAL_TIER = ELDER_TIER71VISIT_QUEST_ID = 100072TROLLEY_QUEST_ID = 11073FIRST_COG_QUEST_ID = 14574FRIEND_QUEST_ID = 15075PHONE_QUEST_ID = 17576NEWBIE_HP = 2577SELLBOT_HQ_NEWBIE_HP = 5078CASHBOT_HQ_NEWBIE_HP = 8579from toontown.toonbase.ToontownGlobals import FT_FullSuit, FT_Leg, FT_Arm, FT_Torso80QuestRandGen = random.Random()81def seedRandomGen(npcId, avId, tier, rewardHistory):82    QuestRandGen.seed(npcId * 100 + avId + tier + len(rewardHistory))83def seededRandomChoice(seq):84    return QuestRandGen.choice(seq)85def getCompleteStatusWithNpc(questComplete, toNpcId, npc):86    if questComplete:87        if npc:88            if npcMatches(toNpcId, npc):89                return COMPLETE90            else:91                return INCOMPLETE_WRONG_NPC92        else:93            return COMPLETE94    elif npc:95        if npcMatches(toNpcId, npc):96            return INCOMPLETE_PROGRESS97        else:98            return INCOMPLETE99    else:100        return INCOMPLETE101def npcMatches(toNpcId, npc):102    return toNpcId == npc.getNpcId() or toNpcId == Any or toNpcId == ToonHQ and npc.getHq() or toNpcId == ToonTailor and npc.getTailor()103def calcRecoverChance(numberNotDone, baseChance, cap = 1):104    chance = baseChance105    avgNum2Kill = 1.0 / (chance / 100.0)106    if numberNotDone >= avgNum2Kill * 1.5 and cap:107        chance = 1000108    elif numberNotDone > avgNum2Kill * 0.5:109        diff = float(numberNotDone - avgNum2Kill * 0.5)110        luck = 1.0 + abs(diff / (avgNum2Kill * 0.5))111        chance *= luck112    return chance113def simulateRecoveryVar(numNeeded, baseChance, list = 0, cap = 1):114    numHave = 0115    numTries = 0116    greatestFailChain = 0117    currentFail = 0118    capHits = 0119    attemptList = {}120    while numHave < numNeeded:121        numTries += 1122        chance = calcRecoverChance(currentFail, baseChance, cap)123        test = random.random() * 100124        if chance == 1000:125            capHits += 1126        if test < chance:127            numHave += 1128            if currentFail > greatestFailChain:129                greatestFailChain = currentFail130            if attemptList.get(currentFail):131                attemptList[currentFail] += 1132            else:133                attemptList[currentFail] = 1134            currentFail = 0135        else:136            currentFail += 1137    print 'Test results: %s tries, %s longest failure chain, %s cap hits' % (numTries, greatestFailChain, capHits)138    if list:139        print 'failures for each succes %s' % attemptList140def simulateRecoveryFix(numNeeded, baseChance, list = 0):141    numHave = 0142    numTries = 0143    greatestFailChain = 0144    currentFail = 0145    attemptList = {}146    while numHave < numNeeded:147        numTries += 1148        chance = baseChance149        test = random.random() * 100150        if test < chance:151            numHave += 1152            if currentFail > greatestFailChain:153                greatestFailChain = currentFail154            if attemptList.get(currentFail):155                attemptList[currentFail] += 1156            else:157                attemptList[currentFail] = 1158            currentFail = 0159        else:160            currentFail += 1161    print 'Test results: %s tries, %s longest failure chain' % (numTries, greatestFailChain)162    if list:163        print 'failures for each succes %s' % attemptList164class Quest:165    _cogTracks = [Any,166     'c',167     'l',168     'm',169     's']170    _factoryTypes = [Any,171     FT_FullSuit,172     FT_Leg,173     FT_Arm,174     FT_Torso]175    def check(self, cond, msg):176        pass177    def checkLocation(self, location):178        locations = [Anywhere] + TTLocalizer.GlobalStreetNames.keys()179        self.check(location in locations, 'invalid location: %s' % location)180    def checkNumCogs(self, num):181        self.check(1, 'invalid number of cogs: %s' % num)182    def checkNewbieLevel(self, level):183        self.check(1, 'invalid newbie level: %s' % level)184    def checkCogType(self, type):185        types = [Any] + SuitBattleGlobals.SuitAttributes.keys()186        self.check(type in types, 'invalid cog type: %s' % type)187    def checkCogTrack(self, track):188        self.check(track in self._cogTracks, 'invalid cog track: %s' % track)189    def checkCogLevel(self, level):190        self.check(level >= 1 and level <= 12, 'invalid cog level: %s' % level)191    def checkNumSkelecogs(self, num):192        self.check(1, 'invalid number of cogs: %s' % num)193    def checkSkelecogTrack(self, track):194        self.check(track in self._cogTracks, 'invalid cog track: %s' % track)195    def checkSkelecogLevel(self, level):196        self.check(level >= 1 and level <= 12, 'invalid cog level: %s' % level)197    def checkNumSkeleRevives(self, num):198        self.check(1, 'invalid number of cogs: %s' % num)199    def checkNumForemen(self, num):200        self.check(num > 0, 'invalid number of foremen: %s' % num)201    def checkNumVPs(self, num):202        self.check(num > 0, 'invalid number of VPs: %s' % num)203    def checkNumSupervisors(self, num):204        self.check(num > 0, 'invalid number of supervisors: %s' % num)205    def checkNumCFOs(self, num):206        self.check(num > 0, 'invalid number of CFOs: %s' % num)207    def checkNumBuildings(self, num):208        self.check(1, 'invalid num buildings: %s' % num)209    def checkBuildingTrack(self, track):210        self.check(track in self._cogTracks, 'invalid building track: %s' % track)211    def checkBuildingFloors(self, floors):212        self.check(floors >= 1 and floors <= 5, 'invalid num floors: %s' % floors)213    def checkNumFactories(self, num):214        self.check(1, 'invalid num factories: %s' % num)215    def checkFactoryType(self, type):216        self.check(type in self._factoryTypes, 'invalid factory type: %s' % type)217    def checkNumMints(self, num):218        self.check(1, 'invalid num mints: %s' % num)219    def checkNumCogParts(self, num):220        self.check(1, 'invalid num cog parts: %s' % num)221    def checkNumGags(self, num):222        self.check(1, 'invalid num gags: %s' % num)223    def checkGagTrack(self, track):224        self.check(track >= ToontownBattleGlobals.MIN_TRACK_INDEX and track <= ToontownBattleGlobals.MAX_TRACK_INDEX, 'invalid gag track: %s' % track)225    def checkGagItem(self, item):226        self.check(item >= ToontownBattleGlobals.MIN_LEVEL_INDEX and item <= ToontownBattleGlobals.MAX_LEVEL_INDEX, 'invalid gag item: %s' % item)227    def checkDeliveryItem(self, item):228        self.check(ItemDict.has_key(item), 'invalid delivery item: %s' % item)229    def checkNumItems(self, num):230        self.check(1, 'invalid num items: %s' % num)231    def checkRecoveryItem(self, item):232        self.check(ItemDict.has_key(item), 'invalid recovery item: %s' % item)233    def checkPercentChance(self, chance):234        self.check(chance > 0 and chance <= 100, 'invalid percent chance: %s' % chance)235    def checkRecoveryItemHolderAndType(self, holder, holderType = 'type'):236        holderTypes = ['type', 'level', 'track']237        self.check(holderType in holderTypes, 'invalid recovery item holderType: %s' % holderType)238        if holderType == 'type':239            holders = [Any, AnyFish] + SuitBattleGlobals.SuitAttributes.keys()240            self.check(holder in holders, 'invalid recovery item holder: %s for holderType: %s' % (holder, holderType))241        elif holderType == 'level':242            pass243        elif holderType == 'track':244            self.check(holder in self._cogTracks, 'invalid recovery item holder: %s for holderType: %s' % (holder, holderType))245    def checkTrackChoice(self, option):246        self.check(option >= ToontownBattleGlobals.MIN_TRACK_INDEX and option <= ToontownBattleGlobals.MAX_TRACK_INDEX, 'invalid track option: %s' % option)247    def checkNumFriends(self, num):248        self.check(1, 'invalid number of friends: %s' % num)249    def checkNumMinigames(self, num):250        self.check(1, 'invalid number of minigames: %s' % num)251    def filterFunc(avatar):252        return 1253    filterFunc = staticmethod(filterFunc)254    def __init__(self, id, quest):255        self.id = id256        self.quest = quest257    def getId(self):258        return self.id259    def getType(self):260        return self.__class__261    def getObjectiveStrings(self):262        return ['']263    def getString(self):264        return self.getObjectiveStrings()[0]265    def getRewardString(self, progressString):266        return self.getString() + ' : ' + progressString267    def getChooseString(self):268        return self.getString()269    def getPosterString(self):270        return self.getString()271    def getHeadlineString(self):272        return self.getString()273    def getDefaultQuestDialog(self):274        return self.getString() + TTLocalizer.Period275    def getNumQuestItems(self):276        return -1277    def addArticle(self, num, oString):278        if len(oString) == 0:279            return oString280        if num == 1:281            return oString282        else:283            return '%d %s' % (num, oString)284    def __repr__(self):285        return 'Quest type: %s id: %s params: %s' % (self.__class__.__name__, self.id, self.quest[0:])286    def doesCogCount(self, avId, cogDict, zoneId, avList):287        return 0288    def doesVPCount(self, avId, cogDict, zoneId, avList):289        return 0290    def doesCFOCount(self, avId, cogDict, zoneId, avList):291        return 0292    def doesFactoryCount(self, avId, location, avList):293        return 0294    def doesMintCount(self, avId, location, avList):295        return 0296    def doesCogPartCount(self, avId, location, avList):297        return 0298    def getCompletionStatus(self, av, questDesc, npc = None):299        notify.error('Pure virtual - please override me')300        return None301class LocationBasedQuest(Quest):302    def __init__(self, id, quest):303        Quest.__init__(self, id, quest)304        self.checkLocation(self.quest[0])305    def getLocation(self):306        return self.quest[0]307    def getLocationName(self):308        loc = self.getLocation()309        if loc == Anywhere:310            locName = ''311        elif loc in ToontownGlobals.hoodNameMap:312            locName = TTLocalizer.QuestInLocationString % {'inPhrase': ToontownGlobals.hoodNameMap[loc][1],313             'location': ToontownGlobals.hoodNameMap[loc][-1] + TTLocalizer.QuestsLocationArticle}314        elif loc in ToontownGlobals.StreetBranchZones:315            locName = TTLocalizer.QuestInLocationString % {'inPhrase': ToontownGlobals.StreetNames[loc][1],316             'location': ToontownGlobals.StreetNames[loc][-1] + TTLocalizer.QuestsLocationArticle}317        return locName318    def isLocationMatch(self, zoneId):319        loc = self.getLocation()320        if loc is Anywhere:321            return 1322        if ZoneUtil.isPlayground(loc):323            if loc == ZoneUtil.getCanonicalHoodId(zoneId):324                return 1325            else:326                return 0327        elif loc == ZoneUtil.getCanonicalBranchZone(zoneId):328            return 1329        elif loc == zoneId:330            return 1331        else:332            return 0333    def getChooseString(self):334        return TTLocalizer.QuestsLocationString % {'string': self.getString(),335         'location': self.getLocationName()}336    def getPosterString(self):337        return TTLocalizer.QuestsLocationString % {'string': self.getString(),338         'location': self.getLocationName()}339    def getDefaultQuestDialog(self):340        return (TTLocalizer.QuestsLocationString + TTLocalizer.Period) % {'string': self.getString(),341         'location': self.getLocationName()}342class NewbieQuest:343    def getNewbieLevel(self):344        notify.error('Pure virtual - please override me')345    def getString(self, newStr = TTLocalizer.QuestsCogNewNewbieQuestObjective, oldStr = TTLocalizer.QuestsCogOldNewbieQuestObjective):346        laff = self.getNewbieLevel()347        if laff <= NEWBIE_HP:348            return newStr % self.getObjectiveStrings()[0]349        else:350            return oldStr % {'laffPoints': laff,351             'objective': self.getObjectiveStrings()[0]}352    def getCaption(self):353        laff = self.getNewbieLevel()354        if laff <= NEWBIE_HP:355            return TTLocalizer.QuestsCogNewNewbieQuestCaption % laff356        else:357            return TTLocalizer.QuestsCogOldNewbieQuestCaption % laff358    def getNumNewbies(self, avId, avList):359        newbieHp = self.getNewbieLevel()360        num = 0361        for av in avList:362            if av.getDoId() != avId and av.getMaxHp() <= newbieHp:363                num += 1364        return num365class CogQuest(LocationBasedQuest):366    def __init__(self, id, quest):367        LocationBasedQuest.__init__(self, id, quest)368        if self.__class__ == CogQuest:369            self.checkNumCogs(self.quest[1])370            self.checkCogType(self.quest[2])371    def getCogType(self):372        return self.quest[2]373    def getNumQuestItems(self):374        return self.getNumCogs()375    def getNumCogs(self):376        return self.quest[1]377    def getCompletionStatus(self, av, questDesc, npc = None):378        questId, fromNpcId, toNpcId, rewardId, toonProgress = questDesc379        questComplete = toonProgress >= self.getNumCogs()380        return getCompleteStatusWithNpc(questComplete, toNpcId, npc)381    def getProgressString(self, avatar, questDesc):382        if self.getCompletionStatus(avatar, questDesc) == COMPLETE:383            return CompleteString384        elif self.getNumCogs() == 1:385            return ''386        else:387            return TTLocalizer.QuestsCogQuestProgress % {'progress': questDesc[4],388             'numCogs': self.getNumCogs()}389    def getCogNameString(self):390        numCogs = self.getNumCogs()391        cogType = self.getCogType()392        if numCogs == 1:393            if cogType == Any:394                return TTLocalizer.Cog395            else:396                return SuitBattleGlobals.SuitAttributes[cogType]['singularname']397        elif cogType == Any:398            return TTLocalizer.Cogs399        else:400            return SuitBattleGlobals.SuitAttributes[cogType]['pluralname']401    def getObjectiveStrings(self):402        cogName = self.getCogNameString()403        numCogs = self.getNumCogs()404        if numCogs == 1:405            text = cogName406        else:407            text = TTLocalizer.QuestsCogQuestDefeatDesc % {'numCogs': numCogs,408             'cogName': cogName}409        return (text,)410    def getString(self):411        return TTLocalizer.QuestsCogQuestDefeat % self.getObjectiveStrings()[0]412    def getSCStrings(self, toNpcId, progress):413        if progress >= self.getNumCogs():414            return getFinishToonTaskSCStrings(toNpcId)415        cogName = self.getCogNameString()416        numCogs = self.getNumCogs()417        if numCogs == 1:418            text = TTLocalizer.QuestsCogQuestSCStringS419        else:420            text = TTLocalizer.QuestsCogQuestSCStringP421        cogLoc = self.getLocationName()422        return text % {'cogName': cogName,423         'cogLoc': cogLoc}424    def getHeadlineString(self):425        return TTLocalizer.QuestsCogQuestHeadline426    def doesCogCount(self, avId, cogDict, zoneId, avList):427        questCogType = self.getCogType()428        return (questCogType is Any or questCogType is cogDict['type']) and avId in cogDict['activeToons'] and self.isLocationMatch(zoneId)429class CogNewbieQuest(CogQuest, NewbieQuest):430    def __init__(self, id, quest):431        CogQuest.__init__(self, id, quest)432        if self.__class__ == CogNewbieQuest:433            self.checkNumCogs(self.quest[1])434            self.checkCogType(self.quest[2])435            self.checkNewbieLevel(self.quest[3])436    def getNewbieLevel(self):437        return self.quest[3]438    def getString(self):439        return NewbieQuest.getString(self)440    def doesCogCount(self, avId, cogDict, zoneId, avList):441        if CogQuest.doesCogCount(self, avId, cogDict, zoneId, avList):442            return self.getNumNewbies(avId, avList)443        else:444            return 0445class CogTrackQuest(CogQuest):446    trackCodes = ['c',447     'l',448     'm',449     's']450    trackNamesS = [TTLocalizer.BossbotS,451     TTLocalizer.LawbotS,452     TTLocalizer.CashbotS,453     TTLocalizer.SellbotS]454    trackNamesP = [TTLocalizer.BossbotP,455     TTLocalizer.LawbotP,456     TTLocalizer.CashbotP,457     TTLocalizer.SellbotP]458    def __init__(self, id, quest):459        CogQuest.__init__(self, id, quest)460        if self.__class__ == CogTrackQuest:461            self.checkNumCogs(self.quest[1])462            self.checkCogTrack(self.quest[2])463    def getCogTrack(self):464        return self.quest[2]465    def getProgressString(self, avatar, questDesc):466        if self.getCompletionStatus(avatar, questDesc) == COMPLETE:467            return CompleteString468        elif self.getNumCogs() == 1:469            return ''470        else:471            return TTLocalizer.QuestsCogTrackQuestProgress % {'progress': questDesc[4],472             'numCogs': self.getNumCogs()}473    def getObjectiveStrings(self):474        numCogs = self.getNumCogs()475        track = self.trackCodes.index(self.getCogTrack())476        if numCogs == 1:477            text = self.trackNamesS[track]478        else:479            text = TTLocalizer.QuestsCogTrackDefeatDesc % {'numCogs': numCogs,480             'trackName': self.trackNamesP[track]}481        return (text,)482    def getString(self):483        return TTLocalizer.QuestsCogTrackQuestDefeat % self.getObjectiveStrings()[0]484    def getSCStrings(self, toNpcId, progress):485        if progress >= self.getNumCogs():486            return getFinishToonTaskSCStrings(toNpcId)487        numCogs = self.getNumCogs()488        track = self.trackCodes.index(self.getCogTrack())489        if numCogs == 1:490            cogText = self.trackNamesS[track]491            text = TTLocalizer.QuestsCogTrackQuestSCStringS492        else:493            cogText = self.trackNamesP[track]494            text = TTLocalizer.QuestsCogTrackQuestSCStringP495        cogLocName = self.getLocationName()496        return text % {'cogText': cogText,497         'cogLoc': cogLocName}498    def getHeadlineString(self):499        return TTLocalizer.QuestsCogTrackQuestHeadline500    def doesCogCount(self, avId, cogDict, zoneId, avList):501        questCogTrack = self.getCogTrack()502        return questCogTrack == cogDict['track'] and avId in cogDict['activeToons'] and self.isLocationMatch(zoneId)503class CogLevelQuest(CogQuest):504    def __init__(self, id, quest):505        CogQuest.__init__(self, id, quest)506        self.checkNumCogs(self.quest[1])507        self.checkCogLevel(self.quest[2])508    def getCogType(self):509        return Any510    def getCogLevel(self):511        return self.quest[2]512    def getProgressString(self, avatar, questDesc):513        if self.getCompletionStatus(avatar, questDesc) == COMPLETE:514            return CompleteString515        elif self.getNumCogs() == 1:516            return ''517        else:518            return TTLocalizer.QuestsCogLevelQuestProgress % {'progress': questDesc[4],519             'numCogs': self.getNumCogs()}520    def getObjectiveStrings(self):521        count = self.getNumCogs()522        level = self.getCogLevel()523        name = self.getCogNameString()524        if count == 1:525            text = TTLocalizer.QuestsCogLevelQuestDesc526        else:527            text = TTLocalizer.QuestsCogLevelQuestDescC528        return (text % {'count': count,529          'level': level,530          'name': name},)531    def getString(self):532        return TTLocalizer.QuestsCogLevelQuestDefeat % self.getObjectiveStrings()[0]533    def getSCStrings(self, toNpcId, progress):534        if progress >= self.getNumCogs():535            return getFinishToonTaskSCStrings(toNpcId)536        count = self.getNumCogs()537        level = self.getCogLevel()538        name = self.getCogNameString()539        if count == 1:540            text = TTLocalizer.QuestsCogLevelQuestDesc541        else:542            text = TTLocalizer.QuestsCogLevelQuestDescI543        objective = text % {'level': level,544         'name': name}545        location = self.getLocationName()546        return TTLocalizer.QuestsCogLevelQuestSCString % {'objective': objective,547         'location': location}548    def getHeadlineString(self):549        return TTLocalizer.QuestsCogLevelQuestHeadline550    def doesCogCount(self, avId, cogDict, zoneId, avList):551        questCogLevel = self.getCogLevel()552        return questCogLevel <= cogDict['level'] and avId in cogDict['activeToons'] and self.isLocationMatch(zoneId)553class SkelecogQBase:554    def getCogNameString(self):555        numCogs = self.getNumCogs()556        if numCogs == 1:557            return TTLocalizer.ASkeleton558        else:559            return TTLocalizer.SkeletonP560    def doesCogCount(self, avId, cogDict, zoneId, avList):561        return cogDict['isSkelecog'] and avId in cogDict['activeToons'] and self.isLocationMatch(zoneId)562class SkelecogQuest(CogQuest, SkelecogQBase):563    def __init__(self, id, quest):564        CogQuest.__init__(self, id, quest)565        self.checkNumSkelecogs(self.quest[1])566    def getCogType(self):567        return Any568    def getCogNameString(self):569        return SkelecogQBase.getCogNameString(self)570    def doesCogCount(self, avId, cogDict, zoneId, avList):571        return SkelecogQBase.doesCogCount(self, avId, cogDict, zoneId, avList)572class SkelecogNewbieQuest(SkelecogQuest, NewbieQuest):573    def __init__(self, id, quest):574        SkelecogQuest.__init__(self, id, quest)575        self.checkNewbieLevel(self.quest[2])576    def getNewbieLevel(self):577        return self.quest[2]578    def getString(self):579        return NewbieQuest.getString(self)580    def doesCogCount(self, avId, cogDict, zoneId, avList):581        if SkelecogQuest.doesCogCount(self, avId, cogDict, zoneId, avList):582            return self.getNumNewbies(avId, avList)583        else:584            return 0585class SkelecogTrackQuest(CogTrackQuest, SkelecogQBase):586    trackNamesS = [TTLocalizer.BossbotSkelS,587     TTLocalizer.LawbotSkelS,588     TTLocalizer.CashbotSkelS,589     TTLocalizer.SellbotSkelS]590    trackNamesP = [TTLocalizer.BossbotSkelP,591     TTLocalizer.LawbotSkelP,592     TTLocalizer.CashbotSkelP,593     TTLocalizer.SellbotSkelP]594    def __init__(self, id, quest):595        CogTrackQuest.__init__(self, id, quest)596        self.checkNumSkelecogs(self.quest[1])597        self.checkSkelecogTrack(self.quest[2])598    def getCogNameString(self):599        return SkelecogQBase.getCogNameString(self)600    def doesCogCount(self, avId, cogDict, zoneId, avList):601        return SkelecogQBase.doesCogCount(self, avId, cogDict, zoneId, avList) and self.getCogTrack() == cogDict['track']602class SkelecogLevelQuest(CogLevelQuest, SkelecogQBase):603    def __init__(self, id, quest):604        CogLevelQuest.__init__(self, id, quest)605        self.checkNumSkelecogs(self.quest[1])606        self.checkSkelecogLevel(self.quest[2])607    def getCogType(self):608        return Any609    def getCogNameString(self):610        return SkelecogQBase.getCogNameString(self)611    def doesCogCount(self, avId, cogDict, zoneId, avList):612        return SkelecogQBase.doesCogCount(self, avId, cogDict, zoneId, avList) and self.getCogLevel() <= cogDict['level']613class SkeleReviveQBase:614    def getCogNameString(self):615        numCogs = self.getNumCogs()616        if numCogs == 1:617            return TTLocalizer.Av2Cog618        else:619            return TTLocalizer.v2CogP620    def doesCogCount(self, avId, cogDict, zoneId, avList):621        return cogDict['hasRevives'] and avId in cogDict['activeToons'] and self.isLocationMatch(zoneId)622class SkeleReviveQuest(CogQuest, SkeleReviveQBase):623    def __init__(self, id, quest):624        CogQuest.__init__(self, id, quest)625        self.checkNumSkeleRevives(self.quest[1])626    def getCogType(self):627        return Any628    def getCogNameString(self):629        return SkeleReviveQBase.getCogNameString(self)630    def doesCogCount(self, avId, cogDict, zoneId, avList):631        return SkeleReviveQBase.doesCogCount(self, avId, cogDict, zoneId, avList)632class ForemanQuest(CogQuest):633    def __init__(self, id, quest):634        CogQuest.__init__(self, id, quest)635        self.checkNumForemen(self.quest[1])636    def getCogType(self):637        return Any638    def getCogNameString(self):639        numCogs = self.getNumCogs()640        if numCogs == 1:641            return TTLocalizer.AForeman642        else:643            return TTLocalizer.ForemanP644    def doesCogCount(self, avId, cogDict, zoneId, avList):645        return bool(CogQuest.doesCogCount(self, avId, cogDict, zoneId, avList) and cogDict['isForeman'])646class ForemanNewbieQuest(ForemanQuest, NewbieQuest):647    def __init__(self, id, quest):648        ForemanQuest.__init__(self, id, quest)649        self.checkNewbieLevel(self.quest[2])650    def getNewbieLevel(self):651        return self.quest[2]652    def getString(self):653        return NewbieQuest.getString(self)654    def doesCogCount(self, avId, cogDict, zoneId, avList):655        if ForemanQuest.doesCogCount(self, avId, cogDict, zoneId, avList):656            return self.getNumNewbies(avId, avList)657        else:658            return 0659class VPQuest(CogQuest):660    def __init__(self, id, quest):661        CogQuest.__init__(self, id, quest)662        self.checkNumVPs(self.quest[1])663    def getCogType(self):664        return Any665    def getCogNameString(self):666        numCogs = self.getNumCogs()667        if numCogs == 1:668            return TTLocalizer.ACogVP669        else:670            return TTLocalizer.CogVPs671    def doesCogCount(self, avId, cogDict, zoneId, avList):672        return 0673    def doesVPCount(self, avId, cogDict, zoneId, avList):674        return self.isLocationMatch(zoneId)675class VPNewbieQuest(VPQuest, NewbieQuest):676    def __init__(self, id, quest):677        VPQuest.__init__(self, id, quest)678        self.checkNewbieLevel(self.quest[2])679    def getNewbieLevel(self):680        return self.quest[2]681    def getString(self):682        return NewbieQuest.getString(self)683    def doesVPCount(self, avId, cogDict, zoneId, avList):684        if VPQuest.doesVPCount(self, avId, cogDict, zoneId, avList):685            return self.getNumNewbies(avId, avList)686        else:687            return 0688class SupervisorQuest(CogQuest):689    def __init__(self, id, quest):690        CogQuest.__init__(self, id, quest)691        self.checkNumSupervisors(self.quest[1])692    def getCogType(self):693        return Any694    def getCogNameString(self):695        numCogs = self.getNumCogs()696        if numCogs == 1:697            return TTLocalizer.ASupervisor698        else:699            return TTLocalizer.SupervisorP700    def doesCogCount(self, avId, cogDict, zoneId, avList):701        return bool(CogQuest.doesCogCount(self, avId, cogDict, zoneId, avList) and cogDict['isSupervisor'])702class SupervisorNewbieQuest(SupervisorQuest, NewbieQuest):703    def __init__(self, id, quest):704        SupervisorQuest.__init__(self, id, quest)705        self.checkNewbieLevel(self.quest[2])706    def getNewbieLevel(self):707        return self.quest[2]708    def getString(self):709        return NewbieQuest.getString(self)710    def doesCogCount(self, avId, cogDict, zoneId, avList):711        if SupervisorQuest.doesCogCount(self, avId, cogDict, zoneId, avList):712            return self.getNumNewbies(avId, avList)713        else:714            return 0715class CFOQuest(CogQuest):716    def __init__(self, id, quest):717        CogQuest.__init__(self, id, quest)718        self.checkNumCFOs(self.quest[1])719    def getCogType(self):720        return Any721    def getCogNameString(self):722        numCogs = self.getNumCogs()723        if numCogs == 1:724            return TTLocalizer.ACogCFO725        else:726            return TTLocalizer.CogCFOs727    def doesCogCount(self, avId, cogDict, zoneId, avList):728        return 0729    def doesCFOCount(self, avId, cogDict, zoneId, avList):730        return self.isLocationMatch(zoneId)731class CFONewbieQuest(CFOQuest, NewbieQuest):732    def __init__(self, id, quest):733        CFOQuest.__init__(self, id, quest)734        self.checkNewbieLevel(self.quest[2])735    def getNewbieLevel(self):736        return self.quest[2]737    def getString(self):738        return NewbieQuest.getString(self)739    def doesCFOCount(self, avId, cogDict, zoneId, avList):740        if CFOQuest.doesCFOCount(self, avId, cogDict, zoneId, avList):741            return self.getNumNewbies(avId, avList)742        else:743            return 0744class RescueQuest(VPQuest):745    def __init__(self, id, quest):746        VPQuest.__init__(self, id, quest)747    def getNumToons(self):748        return self.getNumCogs()749    def getProgressString(self, avatar, questDesc):750        if self.getCompletionStatus(avatar, questDesc) == COMPLETE:751            return CompleteString752        elif self.getNumToons() == 1:753            return ''754        else:755            return TTLocalizer.QuestsRescueQuestProgress % {'progress': questDesc[4],756             'numToons': self.getNumToons()}757    def getObjectiveStrings(self):758        numToons = self.getNumCogs()759        if numToons == 1:760            text = TTLocalizer.QuestsRescueQuestToonS761        else:762            text = TTLocalizer.QuestsRescueQuestRescueDesc % {'numToons': numToons}763        return (text,)764    def getString(self):765        return TTLocalizer.QuestsRescueQuestRescue % self.getObjectiveStrings()[0]766    def getSCStrings(self, toNpcId, progress):767        if progress >= self.getNumToons():768            return getFinishToonTaskSCStrings(toNpcId)769        numToons = self.getNumToons()770        if numToons == 1:771            text = TTLocalizer.QuestsRescueQuestSCStringS772        else:773            text = TTLocalizer.QuestsRescueQuestSCStringP774        toonLoc = self.getLocationName()775        return text % {'toonLoc': toonLoc}776    def getHeadlineString(self):777        return TTLocalizer.QuestsRescueQuestHeadline778class RescueNewbieQuest(RescueQuest, NewbieQuest):779    def __init__(self, id, quest):780        RescueQuest.__init__(self, id, quest)781        self.checkNewbieLevel(self.quest[2])782    def getNewbieLevel(self):783        return self.quest[2]784    def getString(self):785        return NewbieQuest.getString(self, newStr=TTLocalizer.QuestsRescueNewNewbieQuestObjective, oldStr=TTLocalizer.QuestsRescueOldNewbieQuestObjective)786    def doesVPCount(self, avId, cogDict, zoneId, avList):787        if RescueQuest.doesVPCount(self, avId, cogDict, zoneId, avList):788            return self.getNumNewbies(avId, avList)789        else:790            return 0791class BuildingQuest(CogQuest):792    trackCodes = ['c',793     'l',794     'm',795     's']796    trackNames = [TTLocalizer.Bossbot,797     TTLocalizer.Lawbot,798     TTLocalizer.Cashbot,799     TTLocalizer.Sellbot]800    def __init__(self, id, quest):801        CogQuest.__init__(self, id, quest)802        self.checkNumBuildings(self.quest[1])803        self.checkBuildingTrack(self.quest[2])804        self.checkBuildingFloors(self.quest[3])805    def getNumFloors(self):806        return self.quest[3]807    def getBuildingTrack(self):808        return self.quest[2]809    def getNumQuestItems(self):810        return self.getNumBuildings()811    def getNumBuildings(self):812        return self.quest[1]813    def getCompletionStatus(self, av, questDesc, npc = None):814        questId, fromNpcId, toNpcId, rewardId, toonProgress = questDesc815        questComplete = toonProgress >= self.getNumBuildings()816        return getCompleteStatusWithNpc(questComplete, toNpcId, npc)817    def getProgressString(self, avatar, questDesc):818        if self.getCompletionStatus(avatar, questDesc) == COMPLETE:819            return CompleteString820        elif self.getNumBuildings() == 1:821            return ''822        else:823            return TTLocalizer.QuestsBuildingQuestProgressString % {'progress': questDesc[4],824             'num': self.getNumBuildings()}825    def getObjectiveStrings(self):826        count = self.getNumBuildings()827        floors = TTLocalizer.QuestsBuildingQuestFloorNumbers[self.getNumFloors() - 1]828        buildingTrack = self.getBuildingTrack()829        if buildingTrack == Any:830            type = TTLocalizer.Cog831        else:832            type = self.trackNames[self.trackCodes.index(buildingTrack)]833        if count == 1:834            if floors == '':835                text = TTLocalizer.QuestsBuildingQuestDesc836            else:837                text = TTLocalizer.QuestsBuildingQuestDescF838        elif floors == '':839            text = TTLocalizer.QuestsBuildingQuestDescC840        else:841            text = TTLocalizer.QuestsBuildingQuestDescCF842        return (text % {'count': count,843          'floors': floors,844          'type': type},)845    def getString(self):846        return TTLocalizer.QuestsBuildingQuestString % self.getObjectiveStrings()[0]847    def getSCStrings(self, toNpcId, progress):848        if progress >= self.getNumBuildings():849            return getFinishToonTaskSCStrings(toNpcId)850        count = self.getNumBuildings()851        floors = TTLocalizer.QuestsBuildingQuestFloorNumbers[self.getNumFloors() - 1]852        buildingTrack = self.getBuildingTrack()853        if buildingTrack == Any:854            type = TTLocalizer.Cog855        else:856            type = self.trackNames[self.trackCodes.index(buildingTrack)]857        if count == 1:858            if floors == '':859                text = TTLocalizer.QuestsBuildingQuestDesc860            else:861                text = TTLocalizer.QuestsBuildingQuestDescF862        elif floors == '':863            text = TTLocalizer.QuestsBuildingQuestDescI864        else:865            text = TTLocalizer.QuestsBuildingQuestDescIF866        objective = text % {'floors': floors,867         'type': type}868        location = self.getLocationName()869        return TTLocalizer.QuestsBuildingQuestSCString % {'objective': objective,870         'location': location}871    def getHeadlineString(self):872        return TTLocalizer.QuestsBuildingQuestHeadline873    def doesCogCount(self, avId, cogDict, zoneId, avList):874        return 0875    def doesBuildingCount(self, avId, avList):876        return 1877class BuildingNewbieQuest(BuildingQuest, NewbieQuest):878    def __init__(self, id, quest):879        BuildingQuest.__init__(self, id, quest)880        self.checkNewbieLevel(self.quest[4])881    def getNewbieLevel(self):882        return self.quest[4]883    def getString(self):884        return NewbieQuest.getString(self)885    def getHeadlineString(self):886        return TTLocalizer.QuestsNewbieQuestHeadline887    def doesBuildingCount(self, avId, avList):888        return self.getNumNewbies(avId, avList)889class FactoryQuest(LocationBasedQuest):890    factoryTypeNames = {FT_FullSuit: TTLocalizer.Cog,891     FT_Leg: TTLocalizer.FactoryTypeLeg,892     FT_Arm: TTLocalizer.FactoryTypeArm,893     FT_Torso: TTLocalizer.FactoryTypeTorso}894    def __init__(self, id, quest):895        LocationBasedQuest.__init__(self, id, quest)896        self.checkNumFactories(self.quest[1])897    def getNumQuestItems(self):898        return self.getNumFactories()899    def getNumFactories(self):900        return self.quest[1]901    def getFactoryType(self):902        loc = self.getLocation()903        type = Any904        if loc in ToontownGlobals.factoryId2factoryType:905            type = ToontownGlobals.factoryId2factoryType[loc]906        return type907    def getCompletionStatus(self, av, questDesc, npc = None):908        questId, fromNpcId, toNpcId, rewardId, toonProgress = questDesc909        questComplete = toonProgress >= self.getNumFactories()910        return getCompleteStatusWithNpc(questComplete, toNpcId, npc)911    def getProgressString(self, avatar, questDesc):912        if self.getCompletionStatus(avatar, questDesc) == COMPLETE:913            return CompleteString914        elif self.getNumFactories() == 1:915            return ''916        else:917            return TTLocalizer.QuestsFactoryQuestProgressString % {'progress': questDesc[4],918             'num': self.getNumFactories()}919    def getObjectiveStrings(self):920        count = self.getNumFactories()921        factoryType = self.getFactoryType()922        if factoryType == Any:923            type = TTLocalizer.Cog924        else:925            type = FactoryQuest.factoryTypeNames[factoryType]926        if count == 1:927            text = TTLocalizer.QuestsFactoryQuestDesc928        else:929            text = TTLocalizer.QuestsFactoryQuestDescC930        return (text % {'count': count,931          'type': type},)932    def getString(self):933        return TTLocalizer.QuestsFactoryQuestString % self.getObjectiveStrings()[0]934    def getSCStrings(self, toNpcId, progress):935        if progress >= self.getNumFactories():936            return getFinishToonTaskSCStrings(toNpcId)937        factoryType = self.getFactoryType()938        if factoryType == Any:939            type = TTLocalizer.Cog940        else:941            type = FactoryQuest.factoryTypeNames[factoryType]942        count = self.getNumFactories()943        if count == 1:944            text = TTLocalizer.QuestsFactoryQuestDesc945        else:946            text = TTLocalizer.QuestsFactoryQuestDescI947        objective = text % {'type': type}948        location = self.getLocationName()949        return TTLocalizer.QuestsFactoryQuestSCString % {'objective': objective,950         'location': location}951    def getHeadlineString(self):952        return TTLocalizer.QuestsFactoryQuestHeadline953    def doesFactoryCount(self, avId, location, avList):954        return self.isLocationMatch(location)955class FactoryNewbieQuest(FactoryQuest, NewbieQuest):956    def __init__(self, id, quest):957        FactoryQuest.__init__(self, id, quest)958        self.checkNewbieLevel(self.quest[2])959    def getNewbieLevel(self):960        return self.quest[2]961    def getString(self):962        return NewbieQuest.getString(self)963    def getHeadlineString(self):964        return TTLocalizer.QuestsNewbieQuestHeadline965    def doesFactoryCount(self, avId, location, avList):966        if FactoryQuest.doesFactoryCount(self, avId, location, avList):967            return self.getNumNewbies(avId, avList)968        else:969            return num970class MintQuest(LocationBasedQuest):971    def __init__(self, id, quest):972        LocationBasedQuest.__init__(self, id, quest)973        self.checkNumMints(self.quest[1])974    def getNumQuestItems(self):975        return self.getNumMints()976    def getNumMints(self):977        return self.quest[1]978    def getCompletionStatus(self, av, questDesc, npc = None):979        questId, fromNpcId, toNpcId, rewardId, toonProgress = questDesc980        questComplete = toonProgress >= self.getNumMints()981        return getCompleteStatusWithNpc(questComplete, toNpcId, npc)982    def getProgressString(self, avatar, questDesc):983        if self.getCompletionStatus(avatar, questDesc) == COMPLETE:984            return CompleteString985        elif self.getNumMints() == 1:986            return ''987        else:988            return TTLocalizer.QuestsMintQuestProgressString % {'progress': questDesc[4],989             'num': self.getNumMints()}990    def getObjectiveStrings(self):991        count = self.getNumMints()992        if count == 1:993            text = TTLocalizer.QuestsMintQuestDesc994        else:995            text = TTLocalizer.QuestsMintQuestDescC % {'count': count}996        return (text,)997    def getString(self):998        return TTLocalizer.QuestsMintQuestString % self.getObjectiveStrings()[0]999    def getSCStrings(self, toNpcId, progress):1000        if progress >= self.getNumMints():1001            return getFinishToonTaskSCStrings(toNpcId)1002        count = self.getNumMints()1003        if count == 1:1004            objective = TTLocalizer.QuestsMintQuestDesc1005        else:1006            objective = TTLocalizer.QuestsMintQuestDescI1007        location = self.getLocationName()1008        return TTLocalizer.QuestsMintQuestSCString % {'objective': objective,1009         'location': location}1010    def getHeadlineString(self):1011        return TTLocalizer.QuestsMintQuestHeadline1012    def doesMintCount(self, avId, location, avList):1013        return self.isLocationMatch(location)1014class MintNewbieQuest(MintQuest, NewbieQuest):1015    def __init__(self, id, quest):1016        MintQuest.__init__(self, id, quest)1017        self.checkNewbieLevel(self.quest[2])1018    def getNewbieLevel(self):1019        return self.quest[2]1020    def getString(self):1021        return NewbieQuest.getString(self)1022    def getHeadlineString(self):1023        return TTLocalizer.QuestsNewbieQuestHeadline1024    def doesMintCount(self, avId, location, avList):1025        if MintQuest.doesMintCount(self, avId, location, avList):1026            return self.getNumNewbies(avId, avList)1027        else:1028            return num1029class CogPartQuest(LocationBasedQuest):1030    def __init__(self, id, quest):1031        LocationBasedQuest.__init__(self, id, quest)1032        self.checkNumCogParts(self.quest[1])1033    def getNumQuestItems(self):1034        return self.getNumParts()1035    def getNumParts(self):1036        return self.quest[1]1037    def getCompletionStatus(self, av, questDesc, npc = None):1038        questId, fromNpcId, toNpcId, rewardId, toonProgress = questDesc1039        questComplete = toonProgress >= self.getNumParts()1040        return getCompleteStatusWithNpc(questComplete, toNpcId, npc)1041    def getProgressString(self, avatar, questDesc):1042        if self.getCompletionStatus(avatar, questDesc) == COMPLETE:1043            return CompleteString1044        elif self.getNumParts() == 1:1045            return ''1046        else:1047            return TTLocalizer.QuestsCogPartQuestProgressString % {'progress': questDesc[4],1048             'num': self.getNumParts()}1049    def getObjectiveStrings(self):1050        count = self.getNumParts()1051        if count == 1:1052            text = TTLocalizer.QuestsCogPartQuestDesc1053        else:1054            text = TTLocalizer.QuestsCogPartQuestDescC1055        return (text % {'count': count},)1056    def getString(self):1057        return TTLocalizer.QuestsCogPartQuestString % self.getObjectiveStrings()[0]1058    def getSCStrings(self, toNpcId, progress):1059        if progress >= self.getNumParts():1060            return getFinishToonTaskSCStrings(toNpcId)1061        count = self.getNumParts()1062        if count == 1:1063            text = TTLocalizer.QuestsCogPartQuestDesc1064        else:1065            text = TTLocalizer.QuestsCogPartQuestDescI1066        objective = text1067        location = self.getLocationName()1068        return TTLocalizer.QuestsCogPartQuestSCString % {'objective': objective,1069         'location': location}1070    def getHeadlineString(self):1071        return TTLocalizer.QuestsCogPartQuestHeadline1072    def doesCogPartCount(self, avId, location, avList):1073        return self.isLocationMatch(location)1074class CogPartNewbieQuest(CogPartQuest, NewbieQuest):1075    def __init__(self, id, quest):1076        CogPartQuest.__init__(self, id, quest)1077        self.checkNewbieLevel(self.quest[2])1078    def getNewbieLevel(self):1079        return self.quest[2]1080    def getString(self):1081        return NewbieQuest.getString(self, newStr=TTLocalizer.QuestsCogPartNewNewbieQuestObjective, oldStr=TTLocalizer.QuestsCogPartOldNewbieQuestObjective)1082    def getHeadlineString(self):1083        return TTLocalizer.QuestsNewbieQuestHeadline1084    def doesCogPartCount(self, avId, location, avList):1085        if CogPartQuest.doesCogPartCount(self, avId, location, avList):1086            return self.getNumNewbies(avId, avList)1087        else:1088            return num1089class DeliverGagQuest(Quest):1090    def __init__(self, id, quest):1091        Quest.__init__(self, id, quest)1092        self.checkNumGags(self.quest[0])1093        self.checkGagTrack(self.quest[1])1094        self.checkGagItem(self.quest[2])1095    def getGagType(self):1096        return (self.quest[1], self.quest[2])1097    def getNumQuestItems(self):1098        return self.getNumGags()1099    def getNumGags(self):1100        return self.quest[0]1101    def getCompletionStatus(self, av, questDesc, npc = None):1102        questId, fromNpcId, toNpcId, rewardId, toonProgress = questDesc1103        gag = self.getGagType()1104        num = self.getNumGags()1105        track = gag[0]1106        level = gag[1]1107        questComplete = npc and av.inventory and av.inventory.numItem(track, level) >= num1108        return getCompleteStatusWithNpc(questComplete, toNpcId, npc)1109    def getProgressString(self, avatar, questDesc):1110        if self.getCompletionStatus(avatar, questDesc) == COMPLETE:1111            return CompleteString1112        elif self.getNumGags() == 1:1113            return ''1114        else:1115            return TTLocalizer.QuestsDeliverGagQuestProgress % {'progress': questDesc[4],1116             'numGags': self.getNumGags()}1117    def getObjectiveStrings(self):1118        track, item = self.getGagType()1119        num = self.getNumGags()1120        if num == 1:1121            text = ToontownBattleGlobals.AvPropStringsSingular[track][item]1122        else:1123            gagName = ToontownBattleGlobals.AvPropStringsPlural[track][item]1124            text = TTLocalizer.QuestsItemNameAndNum % {'num': TTLocalizer.getLocalNum(num),1125             'name': gagName}1126        return (text,)1127    def getString(self):1128        return TTLocalizer.QuestsDeliverGagQuestString % self.getObjectiveStrings()[0]1129    def getRewardString(self, progress):1130        return TTLocalizer.QuestsDeliverGagQuestStringLong % self.getObjectiveStrings()[0]1131    def getDefaultQuestDialog(self):1132        return TTLocalizer.QuestsDeliverGagQuestStringLong % self.getObjectiveStrings()[0] + '\x07' + TTLocalizer.QuestsDeliverGagQuestInstructions1133    def getSCStrings(self, toNpcId, progress):1134        if progress >= self.getNumGags():1135            return getFinishToonTaskSCStrings(toNpcId)1136        track, item = self.getGagType()1137        num = self.getNumGags()1138        if num == 1:1139            text = TTLocalizer.QuestsDeliverGagQuestToSCStringS1140            gagName = ToontownBattleGlobals.AvPropStringsSingular[track][item]1141        else:1142            text = TTLocalizer.QuestsDeliverGagQuestToSCStringP1143            gagName = ToontownBattleGlobals.AvPropStringsPlural[track][item]1144        return [text % {'gagName': gagName}, TTLocalizer.QuestsDeliverGagQuestSCString] + getVisitSCStrings(toNpcId)1145    def getHeadlineString(self):1146        return TTLocalizer.QuestsDeliverGagQuestHeadline1147class DeliverItemQuest(Quest):1148    def __init__(self, id, quest):1149        Quest.__init__(self, id, quest)1150        self.checkDeliveryItem(self.quest[0])1151    def getItem(self):1152        return self.quest[0]1153    def getCompletionStatus(self, av, questDesc, npc = None):1154        questId, fromNpcId, toNpcId, rewardId, toonProgress = questDesc1155        if npc and npcMatches(toNpcId, npc):1156            return COMPLETE1157        else:1158            return INCOMPLETE_WRONG_NPC1159    def getProgressString(self, avatar, questDesc):1160        return TTLocalizer.QuestsDeliverItemQuestProgress1161    def getObjectiveStrings(self):1162        iDict = ItemDict[self.getItem()]1163        article = iDict[2]1164        itemName = iDict[0]1165        return [article + itemName]1166    def getString(self):1167        return TTLocalizer.QuestsDeliverItemQuestString % self.getObjectiveStrings()[0]1168    def getRewardString(self, progress):1169        return TTLocalizer.QuestsDeliverItemQuestStringLong % self.getObjectiveStrings()[0]1170    def getDefaultQuestDialog(self):1171        return TTLocalizer.QuestsDeliverItemQuestStringLong % self.getObjectiveStrings()[0]1172    def getSCStrings(self, toNpcId, progress):1173        iDict = ItemDict[self.getItem()]1174        article = iDict[2]1175        itemName = iDict[0]1176        return [TTLocalizer.QuestsDeliverItemQuestSCString % {'article': article,1177          'itemName': itemName}] + getVisitSCStrings(toNpcId)1178    def getHeadlineString(self):1179        return TTLocalizer.QuestsDeliverItemQuestHeadline1180class VisitQuest(Quest):1181    def __init__(self, id, quest):1182        Quest.__init__(self, id, quest)1183    def getCompletionStatus(self, av, questDesc, npc = None):1184        questId, fromNpcId, toNpcId, rewardId, toonProgress = questDesc1185        if npc and npcMatches(toNpcId, npc):1186            return COMPLETE1187        else:1188            return INCOMPLETE_WRONG_NPC1189    def getProgressString(self, avatar, questDesc):1190        return TTLocalizer.QuestsVisitQuestProgress1191    def getObjectiveStrings(self):1192        return ['']1193    def getString(self):1194        return TTLocalizer.QuestsVisitQuestStringShort1195    def getChooseString(self):1196        return TTLocalizer.QuestsVisitQuestStringLong1197    def getRewardString(self, progress):1198        return TTLocalizer.QuestsVisitQuestStringLong1199    def getDefaultQuestDialog(self):1200        return random.choice(DefaultVisitQuestDialog)1201    def getSCStrings(self, toNpcId, progress):1202        return getVisitSCStrings(toNpcId)1203    def getHeadlineString(self):1204        return TTLocalizer.QuestsVisitQuestHeadline1205class RecoverItemQuest(LocationBasedQuest):1206    def __init__(self, id, quest):1207        LocationBasedQuest.__init__(self, id, quest)1208        self.checkNumItems(self.quest[1])1209        self.checkRecoveryItem(self.quest[2])1210        self.checkPercentChance(self.quest[3])1211        if len(self.quest) > 5:1212            self.checkRecoveryItemHolderAndType(self.quest[4], self.quest[5])1213        else:1214            self.checkRecoveryItemHolderAndType(self.quest[4])1215    def testRecover(self, progress):1216        test = random.random() * 1001217        chance = self.getPercentChance()1218        numberDone = progress & pow(2, 16) - 11219        numberNotDone = progress >> 161220        returnTest = None1221        avgNum2Kill = 1.0 / (chance / 100.0)1222        if numberNotDone >= avgNum2Kill * 1.5:1223            chance = 1001224        elif numberNotDone > avgNum2Kill * 0.5:1225            diff = float(numberNotDone - avgNum2Kill * 0.5)1226            luck = 1.0 + abs(diff / (avgNum2Kill * 0.5))1227            chance *= luck1228        if test <= chance:1229            returnTest = 11230            numberNotDone = 01231            numberDone += 11232        else:1233            returnTest = 01234            numberNotDone += 11235            numberDone += 01236        returnCount = numberNotDone << 161237        returnCount += numberDone1238        return (returnTest, returnCount)1239    def testDone(self, progress):1240        numberDone = progress & pow(2, 16) - 11241        print 'Quest number done %s' % numberDone1242        if numberDone >= self.getNumItems():1243            return 11244        else:1245            return 01246    def getNumQuestItems(self):1247        return self.getNumItems()1248    def getNumItems(self):1249        return self.quest[1]1250    def getItem(self):1251        return self.quest[2]1252    def getPercentChance(self):1253        return self.quest[3]1254    def getHolder(self):1255        return self.quest[4]1256    def getHolderType(self):1257        if len(self.quest) == 5:1258            return 'type'1259        else:1260            return self.quest[5]1261    def getCompletionStatus(self, av, questDesc, npc = None):1262        questId, fromNpcId, toNpcId, rewardId, toonProgress = questDesc1263        forwardProgress = toonProgress & pow(2, 16) - 11264        questComplete = forwardProgress >= self.getNumItems()1265        return getCompleteStatusWithNpc(questComplete, toNpcId, npc)1266    def getProgressString(self, avatar, questDesc):1267        if self.getCompletionStatus(avatar, questDesc) == COMPLETE:1268            return CompleteString1269        elif self.getNumItems() == 1:1270            return ''1271        else:1272            progress = questDesc[4] & pow(2, 16) - 11273            return TTLocalizer.QuestsRecoverItemQuestProgress % {'progress': progress,1274             'numItems': self.getNumItems()}1275    def getObjectiveStrings(self):1276        holder = self.getHolder()1277        holderType = self.getHolderType()1278        if holder == Any:1279            holderName = TTLocalizer.TheCogs1280        elif holder == AnyFish:1281            holderName = TTLocalizer.AFish1282        elif holderType == 'type':1283            holderName = SuitBattleGlobals.SuitAttributes[holder]['pluralname']1284        elif holderType == 'level':1285            holderName = TTLocalizer.QuestsRecoverItemQuestHolderString % {'level': TTLocalizer.Level,1286             'holder': holder,1287             'cogs': TTLocalizer.Cogs}1288        elif holderType == 'track':1289            if holder == 'c':1290                holderName = TTLocalizer.BossbotP1291            elif holder == 's':1292                holderName = TTLocalizer.SellbotP1293            elif holder == 'm':1294                holderName = TTLocalizer.CashbotP1295            elif holder == 'l':1296                holderName = TTLocalizer.LawbotP1297        item = self.getItem()1298        num = self.getNumItems()1299        if num == 1:1300            itemName = ItemDict[item][2] + ItemDict[item][0]1301        else:1302            itemName = TTLocalizer.QuestsItemNameAndNum % {'num': TTLocalizer.getLocalNum(num),1303             'name': ItemDict[item][1]}1304        return [itemName, holderName]1305    def getString(self):1306        return TTLocalizer.QuestsRecoverItemQuestString % {'item': self.getObjectiveStrings()[0],1307         'holder': self.getObjectiveStrings()[1]}1308    def getSCStrings(self, toNpcId, progress):1309        item = self.getItem()1310        num = self.getNumItems()1311        forwardProgress = progress & pow(2, 16) - 11312        if forwardProgress >= self.getNumItems():1313            if num == 1:1314                itemName = ItemDict[item][2] + ItemDict[item][0]1315            else:1316                itemName = TTLocalizer.QuestsItemNameAndNum % {'num': TTLocalizer.getLocalNum(num),1317                 'name': ItemDict[item][1]}1318            if toNpcId == ToonHQ:1319                strings = [TTLocalizer.QuestsRecoverItemQuestReturnToHQSCString % itemName, TTLocalizer.QuestsRecoverItemQuestGoToHQSCString]1320            elif toNpcId:1321                npcName, hoodName, buildingArticle, buildingName, toStreet, streetName, isInPlayground = getNpcInfo(toNpcId)1322                strings = [TTLocalizer.QuestsRecoverItemQuestReturnToSCString % {'item': itemName,1323                  'npcName': npcName}]1324                if isInPlayground:1325                    strings.append(TTLocalizer.QuestsRecoverItemQuestGoToPlaygroundSCString % hoodName)1326                else:1327                    strings.append(TTLocalizer.QuestsRecoverItemQuestGoToStreetSCString % {'to': toStreet,1328                     'street': streetName,1329                     'hood': hoodName})1330                strings.extend([TTLocalizer.QuestsRecoverItemQuestVisitBuildingSCString % (buildingArticle, buildingName), TTLocalizer.QuestsRecoverItemQuestWhereIsBuildingSCString % (buildingArticle, buildingName)])1331            return strings1332        holder = self.getHolder()1333        holderType = self.getHolderType()1334        locName = self.getLocationName()1335        if holder == Any:1336            holderName = TTLocalizer.TheCogs1337        elif holder == AnyFish:1338            holderName = TTLocalizer.TheFish1339        elif holderType == 'type':1340            holderName = SuitBattleGlobals.SuitAttributes[holder]['pluralname']1341        elif holderType == 'level':1342            holderName = TTLocalizer.QuestsRecoverItemQuestHolderString % {'level': TTLocalizer.Level,1343             'holder': holder,1344             'cogs': TTLocalizer.Cogs}1345        elif holderType == 'track':1346            if holder == 'c':1347                holderName = TTLocalizer.BossbotP1348            elif holder == 's':1349                holderName = TTLocalizer.SellbotP1350            elif holder == 'm':1351                holderName = TTLocalizer.CashbotP1352            elif holder == 'l':1353                holderName = TTLocalizer.LawbotP1354        if num == 1:1355            itemName = ItemDict[item][2] + ItemDict[item][0]1356        else:1357            itemName = TTLocalizer.QuestsItemNameAndNum % {'num': TTLocalizer.getLocalNum(num),1358             'name': ItemDict[item][1]}1359        return TTLocalizer.QuestsRecoverItemQuestRecoverFromSCString % {'item': itemName,1360         'holder': holderName,1361         'loc': locName}1362    def getHeadlineString(self):1363        return TTLocalizer.QuestsRecoverItemQuestHeadline1364    def doesCogCount(self, avId, cogDict, zoneId, avList):1365        questCogType = self.getHolder()1366        return (questCogType is Any or questCogType is cogDict[self.getHolderType()]) and avId in cogDict['activeToons'] and self.isLocationMatch(zoneId)1367class TrackChoiceQuest(Quest):1368    def __init__(self, id, quest):1369        Quest.__init__(self, id, quest)1370        self.checkTrackChoice(self.quest[0])1371        self.checkTrackChoice(self.quest[1])1372    def getChoices(self):1373        return (self.quest[0], self.quest[1])1374    def getCompletionStatus(self, av, questDesc, npc = None):1375        questId, fromNpcId, toNpcId, rewardId, toonProgress = questDesc1376        if npc and npcMatches(toNpcId, npc):1377            return COMPLETE1378        else:1379            return INCOMPLETE_WRONG_NPC1380    def getProgressString(self, avatar, questDesc):1381        if self.getCompletionStatus(avatar, questDesc) == COMPLETE:1382            return CompleteString1383        else:1384            return NotChosenString1385    def getObjectiveStrings(self):1386        trackA, trackB = self.getChoices()1387        trackAName = ToontownBattleGlobals.Tracks[trackA].capitalize()1388        trackBName = ToontownBattleGlobals.Tracks[trackB].capitalize()1389        return [trackAName, trackBName]1390    def getString(self):1391        return TTLocalizer.QuestsTrackChoiceQuestString % {'trackA': self.getObjectiveStrings()[0],1392         'trackB': self.getObjectiveStrings()[1]}1393    def getSCStrings(self, toNpcId, progress):1394        trackA, trackB = self.getChoices()1395        trackAName = ToontownBattleGlobals.Tracks[trackA].capitalize()1396        trackBName = ToontownBattleGlobals.Tracks[trackB].capitalize()1397        return [TTLocalizer.QuestsTrackChoiceQuestSCString % {'trackA': trackAName,1398          'trackB': trackBName}, TTLocalizer.QuestsTrackChoiceQuestMaybeSCString % trackAName, TTLocalizer.QuestsTrackChoiceQuestMaybeSCString % trackBName] + getVisitSCStrings(toNpcId)1399    def getHeadlineString(self):1400        return TTLocalizer.QuestsTrackChoiceQuestHeadline1401class FriendQuest(Quest):1402    def filterFunc(avatar):1403        if len(avatar.getFriendsList()) == 0:1404            return 11405        else:1406            return 01407    filterFunc = staticmethod(filterFunc)1408    def __init__(self, id, quest):1409        Quest.__init__(self, id, quest)1410    def getCompletionStatus(self, av, questDesc, npc = None):1411        questId, fromNpcId, toNpcId, rewardId, toonProgress = questDesc1412        questComplete = toonProgress >= 1 or len(av.getFriendsList()) > 01413        return getCompleteStatusWithNpc(questComplete, toNpcId, npc)1414    def getProgressString(self, avatar, questDesc):1415        if self.getCompletionStatus(avatar, questDesc) == COMPLETE:1416            return CompleteString1417        else:1418            return ''1419    def getString(self):1420        return TTLocalizer.QuestsFriendQuestString1421    def getSCStrings(self, toNpcId, progress):1422        if progress:1423            return getFinishToonTaskSCStrings(toNpcId)1424        return TTLocalizer.QuestsFriendQuestSCString1425    def getHeadlineString(self):1426        return TTLocalizer.QuestsFriendQuestHeadline1427    def getObjectiveStrings(self):1428        return [TTLocalizer.QuestsFriendQuestString]1429    def doesFriendCount(self, av, otherAv):1430        return 11431class FriendNewbieQuest(FriendQuest, NewbieQuest):1432    def filterFunc(avatar):1433        return 11434    filterFunc = staticmethod(filterFunc)1435    def __init__(self, id, quest):1436        FriendQuest.__init__(self, id, quest)1437        self.checkNumFriends(self.quest[0])1438        self.checkNewbieLevel(self.quest[1])1439    def getNumQuestItems(self):1440        return self.getNumFriends()1441    def getNumFriends(self):1442        return self.quest[0]1443    def getNewbieLevel(self):1444        return self.quest[1]1445    def getCompletionStatus(self, av, questDesc, npc = None):1446        questId, fromNpcId, toNpcId, rewardId, toonProgress = questDesc1447        questComplete = toonProgress >= self.getNumFriends()1448        return getCompleteStatusWithNpc(questComplete, toNpcId, npc)1449    def getProgressString(self, avatar, questDesc):1450        if self.getCompletionStatus(avatar, questDesc) == COMPLETE:1451            return CompleteString1452        elif self.getNumFriends() == 1:1453            return ''1454        else:1455            return TTLocalizer.QuestsFriendNewbieQuestProgress % {'progress': questDesc[4],1456             'numFriends': self.getNumFriends()}1457    def getString(self):1458        return TTLocalizer.QuestsFriendNewbieQuestObjective % self.getNumFriends()1459    def getObjectiveStrings(self):1460        return [TTLocalizer.QuestsFriendNewbieQuestString % (self.getNumFriends(), self.getNewbieLevel())]1461    def doesFriendCount(self, av, otherAv):1462        if otherAv != None and otherAv.getMaxHp() <= self.getNewbieLevel():1463            return 11464        return 01465class TrolleyQuest(Quest):1466    def __init__(self, id, quest):1467        Quest.__init__(self, id, quest)1468    def getCompletionStatus(self, av, questDesc, npc = None):1469        questId, fromNpcId, toNpcId, rewardId, toonProgress = questDesc1470        questComplete = toonProgress >= 11471        return getCompleteStatusWithNpc(questComplete, toNpcId, npc)1472    def getProgressString(self, avatar, questDesc):1473        if self.getCompletionStatus(avatar, questDesc) == COMPLETE:1474            return CompleteString1475        else:1476            return ''1477    def getString(self):1478        return TTLocalizer.QuestsFriendQuestString1479    def getSCStrings(self, toNpcId, progress):1480        if progress:1481            return getFinishToonTaskSCStrings(toNpcId)1482        return TTLocalizer.QuestsTrolleyQuestSCString1483    def getHeadlineString(self):1484        return TTLocalizer.QuestsTrolleyQuestHeadline1485    def getObjectiveStrings(self):1486        return [TTLocalizer.QuestsTrolleyQuestString]1487class MailboxQuest(Quest):1488    def __init__(self, id, quest):1489        Quest.__init__(self, id, quest)1490    def getCompletionStatus(self, av, questDesc, npc = None):1491        questId, fromNpcId, toNpcId, rewardId, toonProgress = questDesc1492        questComplete = toonProgress >= 11493        return getCompleteStatusWithNpc(questComplete, toNpcId, npc)1494    def getProgressString(self, avatar, questDesc):1495        if self.getCompletionStatus(avatar, questDesc) == COMPLETE:1496            return CompleteString1497        else:1498            return ''1499    def getString(self):1500        return TTLocalizer.QuestsMailboxQuestString1501    def getSCStrings(self, toNpcId, progress):1502        if progress:1503            return getFinishToonTaskSCStrings(toNpcId)1504        return TTLocalizer.QuestsMailboxQuestSCString1505    def getHeadlineString(self):1506        return TTLocalizer.QuestsMailboxQuestHeadline1507    def getObjectiveStrings(self):1508        return [TTLocalizer.QuestsMailboxQuestString]1509class PhoneQuest(Quest):1510    def __init__(self, id, quest):1511        Quest.__init__(self, id, quest)1512    def getCompletionStatus(self, av, questDesc, npc = None):1513        questId, fromNpcId, toNpcId, rewardId, toonProgress = questDesc1514        questComplete = toonProgress >= 11515        return getCompleteStatusWithNpc(questComplete, toNpcId, npc)1516    def getProgressString(self, avatar, questDesc):1517        if self.getCompletionStatus(avatar, questDesc) == COMPLETE:1518            return CompleteString1519        else:1520            return ''1521    def getString(self):1522        return TTLocalizer.QuestsPhoneQuestString1523    def getSCStrings(self, toNpcId, progress):1524        if progress:1525            return getFinishToonTaskSCStrings(toNpcId)1526        return TTLocalizer.QuestsPhoneQuestSCString1527    def getHeadlineString(self):1528        return TTLocalizer.QuestsPhoneQuestHeadline1529    def getObjectiveStrings(self):1530        return [TTLocalizer.QuestsPhoneQuestString]1531class MinigameNewbieQuest(Quest, NewbieQuest):1532    def __init__(self, id, quest):1533        Quest.__init__(self, id, quest)1534        self.checkNumMinigames(self.quest[0])1535        self.checkNewbieLevel(self.quest[1])1536    def getNumQuestItems(self):1537        return self.getNumMinigames()1538    def getNumMinigames(self):1539        return self.quest[0]1540    def getNewbieLevel(self):1541        return self.quest[1]1542    def getCompletionStatus(self, av, questDesc, npc = None):1543        questId, fromNpcId, toNpcId, rewardId, toonProgress = questDesc1544        questComplete = toonProgress >= self.getNumMinigames()1545        return getCompleteStatusWithNpc(questComplete, toNpcId, npc)1546    def getProgressString(self, avatar, questDesc):1547        if self.getCompletionStatus(avatar, questDesc) == COMPLETE:1548            return CompleteString1549        elif self.getNumMinigames() == 1:1550            return ''1551        else:1552            return TTLocalizer.QuestsMinigameNewbieQuestProgress % {'progress': questDesc[4],1553             'numMinigames': self.getNumMinigames()}1554    def getString(self):1555        return TTLocalizer.QuestsMinigameNewbieQuestObjective % self.getNumMinigames()1556    def getObjectiveStrings(self):1557        return [TTLocalizer.QuestsMinigameNewbieQuestString % self.getNumMinigames()]1558    def getHeadlineString(self):1559        return TTLocalizer.QuestsNewbieQuestHeadline1560    def getSCStrings(self, toNpcId, progress):1561        if progress:1562            return getFinishToonTaskSCStrings(toNpcId)1563        return TTLocalizer.QuestsTrolleyQuestSCString1564    def doesMinigameCount(self, av, avList):1565        newbieHp = self.getNewbieLevel()1566        points = 01567        for toon in avList:1568            if toon != av and toon.getMaxHp() <= newbieHp:1569                points += 11570        return points1571DefaultDialog = {GREETING: DefaultGreeting,1572 QUEST: DefaultQuest,1573 INCOMPLETE: DefaultIncomplete,1574 INCOMPLETE_PROGRESS: DefaultIncompleteProgress,1575 INCOMPLETE_WRONG_NPC: DefaultIncompleteWrongNPC,1576 COMPLETE: DefaultComplete,1577 LEAVING: DefaultLeaving}1578def getQuestFromNpcId(id):1579    return QuestDict.get(id)[QuestDictFromNpcIndex]1580def getQuestToNpcId(id):1581    return QuestDict.get(id)[QuestDictToNpcIndex]1582def getQuestDialog(id):1583    return QuestDict.get(id)[QuestDictDialogIndex]1584def getQuestReward(id, av):1585    baseRewardId = QuestDict.get(id)[QuestDictRewardIndex]1586    return transformReward(baseRewardId, av)1587def isQuestJustForFun(questId, rewardId):1588    questEntry = QuestDict.get(questId)1589    if questEntry:1590        tier = questEntry[QuestDictTierIndex]1591        return isRewardOptional(tier, rewardId)1592    else:1593        return False1594NoRewardTierZeroQuests = (101, 110, 121, 131, 141, 145, 150, 160, 161, 162, 163)1595RewardTierZeroQuests = ()1596PreClarabelleQuestIds = NoRewardTierZeroQuests + RewardTierZeroQuests1597QuestDict = {1598    101: (TT_TIER, Start, (CogQuest, Anywhere, 1, 'f'), Any, ToonHQ, NA, 110, DefaultDialog),1599    110: (TT_TIER, Cont, (TrolleyQuest,), Any, ToonHQ, NA, 145, DefaultDialog),1600    120: (TT_TIER, OBSOLETE, (DeliverItemQuest, 5), ToonHQ, 2002, NA, 121, DefaultDialog),1601    121: (TT_TIER, OBSOLETE, (RecoverItemQuest, ToontownGlobals.ToontownCentral, 1, 2, VeryEasy, Any, 'type'), 2002, 2002, NA, 150, DefaultDialog),1602    130: (TT_TIER, OBSOLETE, (DeliverItemQuest, 6), ToonHQ, 2003, NA, 131, DefaultDialog),1603    131: (TT_TIER, OBSOLETE, (RecoverItemQuest, ToontownGlobals.ToontownCentral, 1, 3, VeryEasy, Any, 'type'), 2003, 2003, NA, 150, DefaultDialog),1604    140: (TT_TIER, OBSOLETE, (DeliverItemQuest, 4), ToonHQ, 2005, NA, 141, DefaultDialog),1605    141: (TT_TIER, OBSOLETE, (RecoverItemQuest, ToontownGlobals.ToontownCentral, 1, 1, VeryEasy, Any, 'type'), 2005, 2005, NA, 150, DefaultDialog),1606    145: (TT_TIER, Cont, (RecoverItemQuest, ToontownGlobals.ToontownCentral, 1, 20, VeryEasy, Any, 'type'), ToonHQ, ToonHQ, NA, 150, DefaultDialog),1607    150: (TT_TIER, Cont, (FriendQuest,), Same, Same, NA, 175, DefaultDialog),1608    160: (TT_TIER, OBSOLETE, (CogTrackQuest, ToontownGlobals.ToontownCentral, 3, 'c'), Same, ToonHQ, NA, 175, TTLocalizer.QuestDialogDict[160]),1609    161: (TT_TIER, OBSOLETE, (CogTrackQuest, ToontownGlobals.ToontownCentral, 3, 'l'), Same, ToonHQ, NA, 175, TTLocalizer.QuestDialogDict[161]),1610    162: (TT_TIER, OBSOLETE, (CogTrackQuest, ToontownGlobals.ToontownCentral, 3, 's'), Same, ToonHQ, NA, 175, TTLocalizer.QuestDialogDict[162]),1611    163: (TT_TIER, OBSOLETE, (CogTrackQuest, ToontownGlobals.ToontownCentral, 3, 'm'), Same, ToonHQ, NA, 175, TTLocalizer.QuestDialogDict[163]),1612    175: (TT_TIER, Cont, (PhoneQuest,), Same, ToonHQ, 100, NA, TTLocalizer.QuestDialogDict[175]),1613    164: (TT_TIER + 1, Start, (VisitQuest,), Any, 2001, NA, 165, TTLocalizer.QuestDialogDict[164]),1614    165: (TT_TIER + 1, Start, (CogQuest, Anywhere, 4, Any), 2001, Same, NA, (166, 167, 168, 169), TTLocalizer.QuestDialogDict[165]),1615    166: (TT_TIER + 1, Cont, (CogTrackQuest, Anywhere, 4, 'c'), Same, Same, NA, (170, 171, 172), TTLocalizer.QuestDialogDict[166]),1616    167: (TT_TIER + 1, Cont, (CogTrackQuest, Anywhere, 4, 'l'), Same, Same, NA, (170, 171, 172), TTLocalizer.QuestDialogDict[167]),1617    168: (TT_TIER + 1, Cont, (CogTrackQuest, Anywhere, 4, 's'), Same, Same, NA, (170, 171, 172), TTLocalizer.QuestDialogDict[168]),1618    169: (TT_TIER + 1, Cont, (CogTrackQuest, Anywhere, 4, 'm'), Same, Same, NA, (170, 171, 172), TTLocalizer.QuestDialogDict[169]),1619    170: (TT_TIER + 1, Cont, (VisitQuest,), Same, 2005, NA, 400, TTLocalizer.QuestDialogDict[170]),1620    171: (TT_TIER + 1, Cont, (VisitQuest,), Same, 2311, NA, 400, TTLocalizer.QuestDialogDict[171]),1621    172: (TT_TIER + 1, Cont, (VisitQuest,), Same, 2119, NA, 400, TTLocalizer.QuestDialogDict[172]),1622    400: (TT_TIER + 1, Cont, (TrackChoiceQuest, ToontownBattleGlobals.SOUND_TRACK, ToontownBattleGlobals.HEAL_TRACK), Same, Same, 400, NA, TTLocalizer.QuestDialogDict[400]),1623    1001: (TT_TIER + 2, Start, (CogQuest, ToontownGlobals.ToontownCentral, 3, Any), Any, ToonHQ, Any, NA, DefaultDialog),1624    1002: (TT_TIER + 2, Start, (CogQuest, ToontownGlobals.ToontownCentral, 4, Any), Any, ToonHQ, Any, NA, DefaultDialog),1625    1003: (TT_TIER + 2, Start, (CogQuest, ToontownGlobals.ToontownCentral, 5, Any), Any, ToonHQ, Any, NA, DefaultDialog),1626    1004: (TT_TIER + 2, Start, (CogQuest, ToontownGlobals.ToontownCentral, 6, Any), Any, ToonHQ, Any, NA, DefaultDialog),1627    1005: (TT_TIER + 2, Start, (CogQuest, Anywhere, 2, 'f'), Any, ToonHQ, Any, NA, DefaultDialog),1628    1006: (TT_TIER + 2, Start, (CogQuest, Anywhere, 2, 'p'), Any, ToonHQ, Any, NA, DefaultDialog),1629    1007: (TT_TIER + 2, Start, (CogQuest, Anywhere, 2, 'bf'), Any, ToonHQ, Any, NA, DefaultDialog),1630    1008: (TT_TIER + 2, Start, (CogQuest, Anywhere, 2, 'b'), Any, ToonHQ, Any, NA, DefaultDialog),1631    1009: (TT_TIER + 2, Start, (CogQuest, Anywhere, 2, 'sc'), Any, ToonHQ, Any, NA, DefaultDialog),1632    1010: (TT_TIER + 2, Start, (CogQuest, Anywhere, 2, 'pp'), Any, ToonHQ, Any, NA, DefaultDialog),1633    1011: (TT_TIER + 2, Start, (CogQuest, Anywhere, 2, 'cc'), Any, ToonHQ, Any, NA, DefaultDialog),1634    1012: (TT_TIER + 2, Start, (CogQuest, Anywhere, 2, 'tm'), Any, ToonHQ, Any, NA, DefaultDialog),1635    1013: (TT_TIER + 2, Start, (CogQuest, Anywhere, 4, 'f'), Any, ToonHQ, Any, NA, DefaultDialog),1636    1014: (TT_TIER + 2, Start, (CogQuest, Anywhere, 4, 'p'), Any, ToonHQ, Any, NA, DefaultDialog),1637    1015: (TT_TIER + 2, Start, (CogQuest, Anywhere, 4, 'bf'), Any, ToonHQ, Any, NA, DefaultDialog),1638    1016: (TT_TIER + 2, Start, (CogQuest, Anywhere, 4, 'b'), Any, ToonHQ, Any, NA, DefaultDialog),1639    1017: (TT_TIER + 2, Start, (CogQuest, Anywhere, 1, 'ym'), Any, ToonHQ, Any, NA, DefaultDialog),1640    1018: (TT_TIER + 2, Start, (CogQuest, Anywhere, 1, 'nd'), Any, ToonHQ, Any, NA, DefaultDialog),1641    1019: (TT_TIER + 2, Start, (CogQuest, Anywhere, 1, 'tw'), Any, ToonHQ, Any, NA, DefaultDialog),1642    1020: (TT_TIER + 2, Start, (CogQuest, Anywhere, 1, 'dt'), Any, ToonHQ, Any, NA, DefaultDialog),1643    1021: (TT_TIER + 2, Start, (CogLevelQuest, ToontownGlobals.ToontownCentral, 2, 2), Any, ToonHQ, Any, NA, DefaultDialog),1644    1022: (TT_TIER + 2, Start, (CogLevelQuest, ToontownGlobals.ToontownCentral, 6, 2), Any, ToonHQ, Any, NA, DefaultDialog),1645    1023: (TT_TIER + 2, Start, (CogLevelQuest, ToontownGlobals.ToontownCentral, 3, 2), Any, ToonHQ, Any, NA, DefaultDialog),1646    1024: (TT_TIER + 2, Start, (CogLevelQuest, ToontownGlobals.ToontownCentral, 4, 2), Any, ToonHQ, Any, NA, DefaultDialog),1647    1025: (TT_TIER + 2, Start, (CogLevelQuest, ToontownGlobals.ToontownCentral, 4, 3), Any, ToonHQ, Any, NA, DefaultDialog),1648    1026: (TT_TIER + 2, Start, (CogLevelQuest, ToontownGlobals.ToontownCentral, 6, 3), Any, ToonHQ, Any, NA, DefaultDialog),1649    1027: (TT_TIER + 2, Start, (CogTrackQuest, ToontownGlobals.ToontownCentral, 2, 'm'), Any, ToonHQ, Any, NA, DefaultDialog),1650    1028: (TT_TIER + 2, Start, (CogTrackQuest, ToontownGlobals.ToontownCentral, 2, 's'), Any, ToonHQ, Any, NA, DefaultDialog),1651    1029: (TT_TIER + 2, Start, (CogTrackQuest, ToontownGlobals.ToontownCentral, 2, 'c'), Any, ToonHQ, Any, NA, DefaultDialog),1652    1030: (TT_TIER + 2, Start, (CogTrackQuest, ToontownGlobals.ToontownCentral, 2, 'l'), Any, ToonHQ, Any, NA, DefaultDialog),1653    1031: (TT_TIER + 2, Start, (CogTrackQuest, ToontownGlobals.ToontownCentral, 3, 'm'), Any, ToonHQ, Any, NA, DefaultDialog),1654    1032: (TT_TIER + 2, Start, (CogTrackQuest, ToontownGlobals.ToontownCentral, 3, 's'), Any, ToonHQ, Any, NA, DefaultDialog),1655    1033: (TT_TIER + 2, Start, (CogTrackQuest, ToontownGlobals.ToontownCentral, 3, 'c'), Any, ToonHQ, Any, NA, DefaultDialog),1656    1034: (TT_TIER + 2, Start, (CogTrackQuest, ToontownGlobals.ToontownCentral, 3, 'l'), Any, ToonHQ, Any, NA, DefaultDialog),1657    1035: (TT_TIER + 2, Start, (CogTrackQuest, ToontownGlobals.ToontownCentral, 5, 'm'), Any, ToonHQ, Any, NA, DefaultDialog),1658    1036: (TT_TIER + 2, Start, (CogTrackQuest, ToontownGlobals.ToontownCentral, 5, 's'), Any, ToonHQ, Any, NA, DefaultDialog),1659    1037: (TT_TIER + 2, Start, (CogTrackQuest, ToontownGlobals.ToontownCentral, 5, 'c'), Any, ToonHQ, Any, NA, DefaultDialog),1660    1038: (TT_TIER + 2, Start, (CogTrackQuest, ToontownGlobals.ToontownCentral, 5, 'l'), Any, ToonHQ, Any, NA, DefaultDialog),1661    1039: (TT_TIER + 2, Start, (VisitQuest,), Any, 2135, NA, (1041, 1042, 1043), TTLocalizer.QuestDialogDict[1039]),1662    1040: (TT_TIER + 2, Start, (VisitQuest,), Any, 2207, NA, (1041, 1042, 1043), TTLocalizer.QuestDialogDict[1040]),1663    1041: (TT_TIER + 2, Cont, (VisitQuest,), Same, 2211, NA, 1044, TTLocalizer.QuestDialogDict[1041]),1664    1042: (TT_TIER + 2, Cont, (VisitQuest,), Same, 2209, NA, 1044, TTLocalizer.QuestDialogDict[1042]),1665    1043: (TT_TIER + 2, Cont, (VisitQuest,), Same, 2210, NA, 1044, TTLocalizer.QuestDialogDict[1043]),1666    1044: (TT_TIER + 2, Cont, (RecoverItemQuest, Anywhere, 4, 7, VeryEasy, Any, 'type'), Same, Same, NA, 1045, TTLocalizer.QuestDialogDict[1044]),1667    1045: (TT_TIER + 2, Cont, (DeliverItemQuest, 8), Same, ToonHQ, 300, NA, TTLocalizer.QuestDialogDict[1045]),1668    1046: (TT_TIER + 2, Start, (VisitQuest,), Any, 2127, NA, 1047, TTLocalizer.QuestDialogDict[1046]),1669    1047: (TT_TIER + 2, Start, (RecoverItemQuest, Anywhere, 5, 9, VeryEasy, 'm', 'track'), 2127, Same, NA, 1048, TTLocalizer.QuestDialogDict[1047]),1670    1048: (TT_TIER + 2, Cont, (DeliverItemQuest, 9), Same, 2131, NA, 1049, TTLocalizer.QuestDialogDict[1048]),1671    1049: (TT_TIER + 2, Cont, (RecoverItemQuest, Anywhere, 10, 2007, VeryEasy, 3, 'level'), Same, Same, NA, 1053, TTLocalizer.QuestDialogDict[1049]),1672    1053: (TT_TIER + 2, Cont, (DeliverItemQuest, 9), Same, 2127, 700, NA, TTLocalizer.QuestDialogDict[1053]),1673    1054: (TT_TIER + 2, Start, (VisitQuest,), Any, 2128, NA, 1055, TTLocalizer.QuestDialogDict[1054]),1674    1055: (TT_TIER + 2, Start, (RecoverItemQuest, Anywhere, 4, 10, Easy, AnyFish), 2128, Same, NA, 1056, TTLocalizer.QuestDialogDict[1055]),1675    1056: (TT_TIER + 2, Cont, (VisitQuest,), Same, 2213, NA, 1057, TTLocalizer.QuestDialogDict[1056]),1676    1057: (TT_TIER + 2, Cont, (CogLevelQuest, ToontownGlobals.ToontownCentral, 6, 3), Same, Same, NA, 1058, TTLocalizer.QuestDialogDict[1057]),1677    1058: (TT_TIER + 2, Cont, (DeliverItemQuest, 11), Same, 2128, 200, NA, TTLocalizer.QuestDialogDict[1058]),1678    1059: (TT_TIER + 2, Start, (VisitQuest,), Any, 2302, NA, 1060, TTLocalizer.QuestDialogDict[1059]),1679    1060: (TT_TIER + 2, Start, (RecoverItemQuest, Anywhere, 1, 12, Medium, AnyFish), 2302, Same, NA, 1062, TTLocalizer.QuestDialogDict[1060]),1680    1061: (TT_TIER + 2, Cont, (CogQuest, ToontownGlobals.ToontownCentral, 6, 'p'), Same, Same, 101, NA, TTLocalizer.QuestDialogDict[1061]),1681    1062: (TT_TIER + 2, Cont, (CogQuest, ToontownGlobals.ToontownCentral, 6, 'b'), Same, Same, 101, NA, TTLocalizer.QuestDialogDict[1062]),1682    900: (TT_TIER + 3, Start, (VisitQuest,), Any, 2201, NA, 1063, TTLocalizer.QuestDialogDict[900]),1683    1063: (TT_TIER + 3, Start, (RecoverItemQuest, Anywhere, 1, 13, Medium, 3, 'level'), 2201, Same, NA, 1067, TTLocalizer.QuestDialogDict[1063]),1684    1067: (TT_TIER + 3, Cont, (DeliverItemQuest, 13), Same, 2112, NA, 1068, TTLocalizer.QuestDialogDict[1067]),1685    1068: (TT_TIER + 3, Cont, (CogQuest, ToontownGlobals.ToontownCentral, 10, Any), Same, Same, NA, (1069, 1070, 1071), TTLocalizer.QuestDialogDict[1068]),1686    1069: (TT_TIER + 3, Cont, (RecoverItemQuest, Anywhere, 1, 13, Medium, 'm', 'track'), Same, Same, NA, 1072, TTLocalizer.QuestDialogDict[1069]),1687    1070: (TT_TIER + 3, Cont, (RecoverItemQuest, Anywhere, 1, 13, Medium, 's', 'track'), Same, Same, NA, 1072, TTLocalizer.QuestDialogDict[1070]),1688    1071: (TT_TIER + 3, Cont, (RecoverItemQuest, Anywhere, 1, 13, Medium, 'c', 'track'), Same, Same, NA, 1072, TTLocalizer.QuestDialogDict[1071]),1689    1072: (TT_TIER + 3, Cont, (DeliverItemQuest, 13), Same, 2301, NA, 1073, TTLocalizer.QuestDialogDict[1072]),1690    1073: (TT_TIER + 3, Cont, (VisitQuest,), Any, 2201, NA, 1074, TTLocalizer.QuestDialogDict[1073]),1691    1074: (TT_TIER + 3, Cont, (RecoverItemQuest, Anywhere, 1, 13, Hard, Any), Same, Same, NA, 1075, TTLocalizer.QuestDialogDict[1074]),1692    1075: (TT_TIER + 3, Cont, (DeliverItemQuest, 13), Same, 2301, 900, NA, TTLocalizer.QuestDialogDict[1075]),1693    1076: (TT_TIER + 2, Start, (VisitQuest,), Any, 2217, NA, 1077, TTLocalizer.QuestDialogDict[1076]),1694    1077: (TT_TIER + 2, Start, (RecoverItemQuest, Anywhere, 1, 14, Medium, Any), 2217, Same, NA, 1078, TTLocalizer.QuestDialogDict[1077]),1695    1078: (TT_TIER + 2, Cont, (DeliverItemQuest, 14), Same, 2302, NA, 1079, TTLocalizer.QuestDialogDict[1078]),1696    1079: (TT_TIER + 2, Cont, (RecoverItemQuest, Anywhere, 1, 15, Easy, 'f'), Same, 2217, NA, 1080, TTLocalizer.QuestDialogDict[1079]),1697    1092: (TT_TIER + 2, Cont, (RecoverItemQuest, Anywhere, 1, 15, Easy, 'sc'), Same, 2217, NA, 1080, TTLocalizer.QuestDialogDict[1092]),1698    1080: (TT_TIER + 2, Cont, (RecoverItemQuest, Anywhere, 4, 15, Easy, AnyFish), Same, Same, 500, NA, TTLocalizer.QuestDialogDict[1080]),1699    1081: (TT_TIER + 2, Start, (VisitQuest,), Any, 2208, NA, 1082, TTLocalizer.QuestDialogDict[1081]),1700    1082: (TT_TIER + 2, Start, (RecoverItemQuest, Anywhere, 1, 16, Medium, 's', 'track'), 2208, Same, NA, 1083, TTLocalizer.QuestDialogDict[1082]),1701    1083: (TT_TIER + 2, Cont, (RecoverItemQuest, Anywhere, 1, 17, Medium, 'l', 'track'), Same, Same, NA, 1084, TTLocalizer.QuestDialogDict[1083]),1702    1084: (TT_TIER + 2, Cont, (RecoverItemQuest, Anywhere, 1, 18, Medium, 'm', 'track'), Same, Same, 102, NA, TTLocalizer.QuestDialogDict[1084]),1703    1085: (TT_TIER + 2, Start, (VisitQuest,), Any, 2003, NA, 1086, TTLocalizer.QuestDialogDict[1085]),1704    1086: (TT_TIER + 2, Start, (RecoverItemQuest, Anywhere, 5, 2007, Easy, 2, 'level'), 2003, Same, NA, 1089, TTLocalizer.QuestDialogDict[1086]),1705    1089: (TT_TIER + 2, Cont, (DeliverItemQuest, 19), Same, ToonHQ, 100, NA, TTLocalizer.QuestDialogDict[1089]),1706    1090: (TT_TIER + 2, Start, (VisitQuest,), Any, 2119, NA, 1091, TTLocalizer.QuestDialogDict[1090]),1707    1091: (TT_TIER + 2, Start, (CogLevelQuest, ToontownGlobals.ToontownCentral, 8, 2), 2119, ToonHQ, 101, NA, TTLocalizer.QuestDialogDict[1091]),1708    1100: (TT_TIER + 2, Start, (CogQuest, ToontownGlobals.ToontownCentral, 10, Any), Any, ToonHQ, NA, 1101, DefaultDialog),1709    1101: (TT_TIER + 2, Cont, (DeliverItemQuest, 1000), Any, 2004, 1000, NA, DefaultDialog),1710    1102: (TT_TIER + 2, Start, (CogLevelQuest, ToontownGlobals.ToontownCentral, 8, 3), Any, ToonHQ, NA, 1103, DefaultDialog),1711    1103: (TT_TIER + 2, Cont, (DeliverItemQuest, 1000), Any, 2004, 1000, NA, DefaultDialog),1712    1105: (TT_TIER + 2, Start, (CogQuest, Anywhere, 2, 'f'), Any, ToonHQ, Any, NA, DefaultDialog),1713    1106: (TT_TIER + 2, Start, (CogQuest, Anywhere, 2, 'p'), Any, ToonHQ, Any, NA, DefaultDialog),1714    1107: (TT_TIER + 2, Start, (CogQuest, Anywhere, 2, 'bf'), Any, ToonHQ, Any, NA, DefaultDialog),1715    1108: (TT_TIER + 2, Start, (CogQuest, Anywhere, 2, 'b'), Any, ToonHQ, Any, NA, DefaultDialog),1716    1109: (TT_TIER + 2, Start, (CogQuest, Anywhere, 2, 'sc'), Any, ToonHQ, Any, NA, DefaultDialog),1717    1110: (TT_TIER + 2, Start, (CogQuest, Anywhere, 2, 'pp'), Any, ToonHQ, Any, NA, DefaultDialog),1718    1111: (TT_TIER + 2, Start, (CogQuest, Anywhere, 2, 'cc'), Any, ToonHQ, Any, NA, DefaultDialog),1719    1112: (TT_TIER + 2, Start, (CogQuest, Anywhere, 2, 'tm'), Any, ToonHQ, Any, NA, DefaultDialog),1720    1205: (TT_TIER + 3, Start, (CogQuest, Anywhere, 4, 'f'), Any, ToonHQ, Any, NA, DefaultDialog),1721    1206: (TT_TIER + 3, Start, (CogQuest, Anywhere, 4, 'p'), Any, ToonHQ, Any, NA, DefaultDialog),1722    1207: (TT_TIER + 3, Start, (CogQuest, Anywhere, 4, 'bf'), Any, ToonHQ, Any, NA, DefaultDialog),1723    1208: (TT_TIER + 3, Start, (CogQuest, Anywhere, 4, 'b'), Any, ToonHQ, Any, NA, DefaultDialog),1724    1209: (TT_TIER + 3, Start, (CogQuest, Anywhere, 4, 'sc'), Any, ToonHQ, Any, NA, DefaultDialog),1725    1210: (TT_TIER + 3, Start, (CogQuest, Anywhere, 4, 'pp'), Any, ToonHQ, Any, NA, DefaultDialog),1726    1211: (TT_TIER + 3, Start, (CogQuest, Anywhere, 4, 'cc'), Any, ToonHQ, Any, NA, DefaultDialog),1727    1212: (TT_TIER + 3, Start, (CogQuest, Anywhere, 4, 'tm'), Any, ToonHQ, Any, NA, DefaultDialog),1728    401: (DD_TIER, Start, (TrackChoiceQuest, ToontownBattleGlobals.DROP_TRACK, ToontownBattleGlobals.LURE_TRACK), Any, ToonHQ, 400, NA, TTLocalizer.QuestDialogDict[401]),1729    2001: (DD_TIER, Start, (CogQuest, Anywhere, 3, Any), Any, ToonHQ, Any, NA, DefaultDialog),1730    2002: (DD_TIER, Start, (CogQuest, Anywhere, 4, Any), Any, ToonHQ, Any, NA, DefaultDialog),1731    2003: (DD_TIER, Start, (CogQuest, Anywhere, 5, Any), Any, ToonHQ, Any, NA, DefaultDialog),1732    2004: (DD_TIER, Start, (CogQuest, Anywhere, 6, Any), Any, ToonHQ, Any, NA, DefaultDialog),1733    2005: (DD_TIER, Start, (CogQuest, Anywhere, 7, Any), Any, ToonHQ, Any, NA, DefaultDialog),1734    2006: (DD_TIER, Start, (CogQuest, Anywhere, 8, Any), Any, ToonHQ, Any, NA, DefaultDialog),1735    2007: (DD_TIER, Start, (CogQuest, Anywhere, 9, Any), Any, ToonHQ, Any, NA, DefaultDialog),1736    2008: (DD_TIER, Start, (CogQuest, Anywhere, 10, Any), Any, ToonHQ, Any, NA, DefaultDialog),1737    2009: (DD_TIER, Start, (CogQuest, Anywhere, 12, Any), Any, ToonHQ, Any, NA, DefaultDialog),1738    2010: (DD_TIER, Start, (CogLevelQuest, Anywhere, 2, 3), Any, ToonHQ, Any, NA, DefaultDialog),1739    2011: (DD_TIER, Start, (CogLevelQuest, Anywhere, 3, 3), Any, ToonHQ, Any, NA, DefaultDialog),1740    2012: (DD_TIER, Start, (CogLevelQuest, Anywhere, 2, 4), Any, ToonHQ, Any, NA, DefaultDialog),1741    2013: (DD_TIER, Start, (CogLevelQuest, Anywhere, 4, 4), Any, ToonHQ, Any, NA, DefaultDialog),1742    2014: (DD_TIER, Start, (CogLevelQuest, Anywhere, 4, 5), Any, ToonHQ, Any, NA, DefaultDialog),1743    2015: (DD_TIER, Start, (CogLevelQuest, Anywhere, 5, 5), Any, ToonHQ, Any, NA, DefaultDialog),1744    2816: (DD_TIER, Start, (CogLevelQuest, Anywhere, 4, 6), Any, ToonHQ, Any, NA, DefaultDialog),1745    2817: (DD_TIER, Start, (CogLevelQuest, Anywhere, 5, 6), Any, ToonHQ, Any, NA, DefaultDialog),1746    2818: (DD_TIER, Start, (CogLevelQuest, Anywhere, 6, 6), Any, ToonHQ, Any, NA, DefaultDialog),1747    2819: (DD_TIER, Start, (CogLevelQuest, Anywhere, 7, 6), Any, ToonHQ, Any, NA, DefaultDialog),1748    2020: (DD_TIER, Start, (CogQuest, Anywhere, 10, Any), Any, ToonHQ, NA, 2021, DefaultDialog),1749    2021: (DD_TIER, Cont, (DeliverItemQuest, 1000), Any, 1007, 1000, NA, DefaultDialog),1750    2101: (DD_TIER + 1, Start, (CogQuest, ToontownGlobals.DonaldsDock, 3, Any), Any, ToonHQ, Any, NA, DefaultDialog),1751    2102: (DD_TIER + 1, Start, (CogQuest, ToontownGlobals.DonaldsDock, 4, Any), Any, ToonHQ, Any, NA, DefaultDialog),1752    2103: (DD_TIER + 1, Start, (CogQuest, ToontownGlobals.DonaldsDock, 5, Any), Any, ToonHQ, Any, NA, DefaultDialog),1753    2104: (DD_TIER + 1, Start, (CogQuest, Anywhere, 6, Any), Any, ToonHQ, Any, NA, DefaultDialog),1754    2105: (DD_TIER + 1, Start, (CogQuest, Anywhere, 7, Any), Any, ToonHQ, Any, NA, DefaultDialog),1755    2106: (DD_TIER + 1, Start, (CogQuest, Anywhere, 8, Any), Any, ToonHQ, Any, NA, DefaultDialog),1756    2107: (DD_TIER + 1, Start, (CogQuest, Anywhere, 6, 'f'), Any, ToonHQ, Any, NA, DefaultDialog),1757    2108: (DD_TIER + 1, Start, (CogQuest, Anywhere, 4, 'p'), Any, ToonHQ, Any, NA, DefaultDialog),1758    2109: (DD_TIER + 1, Start, (CogQuest, Anywhere, 4, 'ym'), Any, ToonHQ, Any, NA, DefaultDialog),1759    2110: (DD_TIER + 1, Start, (CogQuest, Anywhere, 3, 'mm'), Any, ToonHQ, Any, NA, DefaultDialog),1760    2111: (DD_TIER + 1, Start, (CogQuest, Anywhere, 2, 'ds'), Any, ToonHQ, Any, NA, DefaultDialog),1761    2112: (DD_TIER + 1, Start, (CogQuest, Anywhere, 1, 'hh'), Any, ToonHQ, Any, NA, DefaultDialog),1762    2113: (DD_TIER + 1, Start, (CogQuest, Anywhere, 6, 'cc'), Any, ToonHQ, Any, NA, DefaultDialog),1763    2114: (DD_TIER + 1, Start, (CogQuest, Anywhere, 4, 'tm'), Any, ToonHQ, Any, NA, DefaultDialog),1764    2115: (DD_TIER + 1, Start, (CogQuest, Anywhere, 4, 'nd'), Any, ToonHQ, Any, NA, DefaultDialog),1765    2116: (DD_TIER + 1, Start, (CogQuest, Anywhere, 3, 'gh'), Any, ToonHQ, Any, NA, DefaultDialog),1766    2117: (DD_TIER + 1, Start, (CogQuest, Anywhere, 2, 'ms'), Any, ToonHQ, Any, NA, DefaultDialog),1767    2118: (DD_TIER + 1, Start, (CogQuest, Anywhere, 1, 'tf'), Any, ToonHQ, Any, NA, DefaultDialog),1768    2119: (DD_TIER + 1, Start, (CogQuest, Anywhere, 6, 'sc'), Any, ToonHQ, Any, NA, DefaultDialog),1769    2120: (DD_TIER + 1, Start, (CogQuest, Anywhere, 4, 'pp'), Any, ToonHQ, Any, NA, DefaultDialog),1770    2121: (DD_TIER + 1, Start, (CogQuest, Anywhere, 4, 'tw'), Any, ToonHQ, Any, NA, DefaultDialog),1771    2122: (DD_TIER + 1, Start, (CogQuest, Anywhere, 3, 'bc'), Any, ToonHQ, Any, NA, DefaultDialog),1772    2123: (DD_TIER + 1, Start, (CogQuest, Anywhere, 2, 'nc'), Any, ToonHQ, Any, NA, DefaultDialog),1773    2124: (DD_TIER + 1, Start, (CogQuest, Anywhere, 1, 'mb'), Any, ToonHQ, Any, NA, DefaultDialog),1774    2125: (DD_TIER + 1, Start, (CogQuest, Anywhere, 6, 'bf'), Any, ToonHQ, Any, NA, DefaultDialog),1775    2126: (DD_TIER + 1, Start, (CogQuest, Anywhere, 4, 'b'), Any, ToonHQ, Any, NA, DefaultDialog),1776    2127: (DD_TIER + 1, Start, (CogQuest, Anywhere, 4, 'dt'), Any, ToonHQ, Any, NA, DefaultDialog),1777    2128: (DD_TIER + 1, Start, (CogQuest, Anywhere, 3, 'ac'), Any, ToonHQ, Any, NA, DefaultDialog),1778    2129: (DD_TIER + 1, Start, (CogQuest, Anywhere, 2, 'bs'), Any, ToonHQ, Any, NA, DefaultDialog),1779    2130: (DD_TIER + 1, Start, (CogQuest, Anywhere, 1, 'sd'), Any, ToonHQ, Any, NA, DefaultDialog),1780    2131: (DD_TIER + 1, Start, (CogLevelQuest, ToontownGlobals.DonaldsDock, 2, 3), Any, ToonHQ, Any, NA, DefaultDialog),1781    2132: (DD_TIER + 1, Start, (CogLevelQuest, ToontownGlobals.DonaldsDock, 3, 3), Any, ToonHQ, Any, NA, DefaultDialog),1782    2133: (DD_TIER + 1, Start, (CogLevelQuest, ToontownGlobals.DonaldsDock, 2, 4), Any, ToonHQ, Any, NA, DefaultDialog),1783    2134: (DD_TIER + 1, Start, (CogLevelQuest, ToontownGlobals.DonaldsDock, 4, 4), Any, ToonHQ, Any, NA, DefaultDialog),1784    2135: (DD_TIER + 1, Start, (CogLevelQuest, ToontownGlobals.DonaldsDock, 4, 5), Any, ToonHQ, Any, NA, DefaultDialog),1785    2136: (DD_TIER + 1, Start, (CogLevelQuest, ToontownGlobals.DonaldsDock, 5, 5), Any, ToonHQ, Any, NA, DefaultDialog),1786    2137: (DD_TIER + 1, Start, (CogLevelQuest, ToontownGlobals.DonaldsDock, 4, 6), Any, ToonHQ, Any, NA, DefaultDialog),1787    2138: (DD_TIER + 1, Start, (CogLevelQuest, ToontownGlobals.DonaldsDock, 6, 6), Any, ToonHQ, Any, NA, DefaultDialog),1788    2139: (DD_TIER + 1, Start, (CogTrackQuest, ToontownGlobals.DonaldsDock, 3, 'm'), Any, ToonHQ, Any, NA, DefaultDialog),1789    2140: (DD_TIER + 1, Start, (CogTrackQuest, ToontownGlobals.DonaldsDock, 3, 's'), Any, ToonHQ, Any, NA, DefaultDialog),1790    2141: (DD_TIER + 1, Start, (CogTrackQuest, ToontownGlobals.DonaldsDock, 3, 'c'), Any, ToonHQ, Any, NA, DefaultDialog),1791    2142: (DD_TIER + 1, Start, (CogTrackQuest, ToontownGlobals.DonaldsDock, 3, 'l'), Any, ToonHQ, Any, NA, DefaultDialog),1792    2143: (DD_TIER + 1, Start, (CogTrackQuest, ToontownGlobals.DonaldsDock, 5, 'm'), Any, ToonHQ, Any, NA, DefaultDialog),1793    2144: (DD_TIER + 1, Start, (CogTrackQuest, ToontownGlobals.DonaldsDock, 5, 's'), Any, ToonHQ, Any, NA, DefaultDialog),1794    2145: (DD_TIER + 1, Start, (CogTrackQuest, ToontownGlobals.DonaldsDock, 5, 'c'), Any, ToonHQ, Any, NA, DefaultDialog),1795    2146: (DD_TIER + 1, Start, (CogTrackQuest, ToontownGlobals.DonaldsDock, 5, 'l'), Any, ToonHQ, Any, NA, DefaultDialog),1796    2147: (DD_TIER + 1, Start, (CogTrackQuest, Anywhere, 7, 'm'), Any, ToonHQ, Any, NA, DefaultDialog),1797    2148: (DD_TIER + 1, Start, (CogTrackQuest, Anywhere, 7, 's'), Any, ToonHQ, Any, NA, DefaultDialog),1798    2149: (DD_TIER + 1, Start, (CogTrackQuest, Anywhere, 7, 'c'), Any, ToonHQ, Any, NA, DefaultDialog),1799    2150: (DD_TIER + 1, Start, (CogTrackQuest, Anywhere, 7, 'l'), Any, ToonHQ, Any, NA, DefaultDialog),1800    2151: (DD_TIER + 1, Start, (BuildingQuest, Anywhere, 1, Any, 1), Any, ToonHQ, Any, NA, DefaultDialog),1801    2152: (DD_TIER + 1, Start, (BuildingQuest, Anywhere, 1, Any, 2), Any, ToonHQ, Any, NA, DefaultDialog),1802    2153: (DD_TIER + 1, Start, (BuildingQuest, Anywhere, 2, Any, 1), Any, ToonHQ, Any, NA, DefaultDialog),1803    2154: (DD_TIER + 1, Start, (BuildingQuest, Anywhere, 2, Any, 2), Any, ToonHQ, Any, NA, DefaultDialog),1804    2155: (DD_TIER + 1, Start, (BuildingQuest, Anywhere, 1, 'm', 1), Any, ToonHQ, Any, NA, DefaultDialog),1805    2156: (DD_TIER + 1, Start, (BuildingQuest, Anywhere, 1, 's', 1), Any, ToonHQ, Any, NA, DefaultDialog),1806    2157: (DD_TIER + 1, Start, (BuildingQuest, Anywhere, 1, 'c', 1), Any, ToonHQ, Any, NA, DefaultDialog),1807    2158: (DD_TIER + 1, Start, (BuildingQuest, Anywhere, 1, 'l', 1), Any, ToonHQ, Any, NA, DefaultDialog),1808    2159: (DD_TIER + 1, Start, (DeliverGagQuest, 2, ToontownBattleGlobals.THROW_TRACK, 1), Any, Any, Any, NA, DefaultDialog),1809    2160: (DD_TIER + 1, Start, (DeliverGagQuest, 1, ToontownBattleGlobals.SQUIRT_TRACK, 1), Any, Any, Any, NA, DefaultDialog),1810    2161: (DD_TIER + 1, Start, (DeliverGagQuest, 1, ToontownBattleGlobals.SQUIRT_TRACK, 2), Any, Any, Any, NA, DefaultDialog),1811    2162: (DD_TIER + 1, Start, (DeliverGagQuest, 2, ToontownBattleGlobals.THROW_TRACK, 2), Any, Any, Any, NA, DefaultDialog),1812    2201: (DD_TIER + 1, Start, (VisitQuest,), Any, 1101, NA, 2202, TTLocalizer.QuestDialogDict[2201]),1813    2202: (DD_TIER + 1, Start, (RecoverItemQuest, Anywhere, 1, 2001, Medium, 'pp'), 1101, Same, 101, NA, TTLocalizer.QuestDialogDict[2202]),1814    2203: (DD_TIER + 1, Start, (VisitQuest,), Any, 1102, NA, 2204, TTLocalizer.QuestDialogDict[2203]),1815    2204: (DD_TIER + 1, Start, (DeliverItemQuest, 2002), 1102, 1104, NA, 2205, TTLocalizer.QuestDialogDict[2204]),1816    2205: (DD_TIER + 1, Cont, (RecoverItemQuest, Anywhere, 1, 2003, Medium, 'f'), Same, Same, NA, 2206, TTLocalizer.QuestDialogDict[2205]),1817    2206: (DD_TIER + 1, Cont, (DeliverItemQuest, 2004), Same, 1102, 201, NA, TTLocalizer.QuestDialogDict[2206]),1818    2207: (DD_TIER + 1, Start, (VisitQuest,), Any, 1201, NA, 2208, TTLocalizer.QuestDialogDict[2207]),1819    2208: (DD_TIER + 1, Start, (RecoverItemQuest, Anywhere, 1, 2005, Easy, 'bs'), 1201, Same, 701, NA, TTLocalizer.QuestDialogDict[2208]),1820    2209: (DD_TIER + 1, Start, (VisitQuest,), Any, 1302, NA, 2210, TTLocalizer.QuestDialogDict[2209]),1821    2210: (DD_TIER + 1, Start, (VisitQuest,), 1302, 1301, NA, 2211, TTLocalizer.QuestDialogDict[2210]),1822    2211: (DD_TIER + 1, Cont, (CogQuest, ToontownGlobals.DonaldsDock, 5, 'mm'), Same, Same, NA, 2212, TTLocalizer.QuestDialogDict[2211]),1823    2212: (DD_TIER + 1, Cont, (DeliverItemQuest, 2006), Same, 1302, NA, 2213, TTLocalizer.QuestDialogDict[2212]),1824    2213: (DD_TIER + 1, Cont, (VisitQuest,), Same, 1202, NA, 2214, TTLocalizer.QuestDialogDict[2213]),1825    2214: (DD_TIER + 1, Cont, (RecoverItemQuest, ToontownGlobals.DonaldsDock, 3, 2007, Hard, Any), Same, Same, NA, 2215, TTLocalizer.QuestDialogDict[2214]),1826    2215: (DD_TIER + 1, Cont, (DeliverItemQuest, 2008), Same, 1302, 301, NA, TTLocalizer.QuestDialogDict[2215]),1827    2500: (DD_TIER + 1, Start, (CogQuest, ToontownGlobals.DonaldsDock, 15, Any), Any, ToonHQ, NA, 2501, DefaultDialog),1828    2501: (DD_TIER + 1, Cont, (DeliverItemQuest, 1000), Any, 1007, 1000, NA, DefaultDialog),1829    2801: (DD_TIER + 2, Start, (CogQuest, Anywhere, 3, Any), Any, ToonHQ, Any, NA, DefaultDialog),1830    2802: (DD_TIER + 2, Start, (CogQuest, Anywhere, 4, Any), Any, ToonHQ, Any, NA, DefaultDialog),1831    2803: (DD_TIER + 2, Start, (CogQuest, Anywhere, 5, Any), Any, ToonHQ, Any, NA, DefaultDialog),1832    2804: (DD_TIER + 2, Start, (CogQuest, Anywhere, 6, Any), Any, ToonHQ, Any, NA, DefaultDialog),1833    2805: (DD_TIER + 2, Start, (CogQuest, Anywhere, 7, Any), Any, ToonHQ, Any, NA, DefaultDialog),1834    2806: (DD_TIER + 2, Start, (CogQuest, Anywhere, 8, Any), Any, ToonHQ, Any, NA, DefaultDialog),1835    2807: (DD_TIER + 2, Start, (CogQuest, Anywhere, 9, Any), Any, ToonHQ, Any, NA, DefaultDialog),1836    2808: (DD_TIER + 2, Start, (CogQuest, Anywhere, 10, Any), Any, ToonHQ, Any, NA, DefaultDialog),1837    2809: (DD_TIER + 2, Start, (CogQuest, Anywhere, 12, Any), Any, ToonHQ, Any, NA, DefaultDialog),1838    2810: (DD_TIER + 2, Start, (CogLevelQuest, Anywhere, 2, 3), Any, ToonHQ, Any, NA, DefaultDialog),1839    2811: (DD_TIER + 2, Start, (CogLevelQuest, Anywhere, 3, 3), Any, ToonHQ, Any, NA, DefaultDialog),1840    2812: (DD_TIER + 2, Start, (CogLevelQuest, Anywhere, 2, 4), Any, ToonHQ, Any, NA, DefaultDialog),1841    2813: (DD_TIER + 2, Start, (CogLevelQuest, Anywhere, 4, 4), Any, ToonHQ, Any, NA, DefaultDialog),1842    2814: (DD_TIER + 2, Start, (CogLevelQuest, Anywhere, 4, 5), Any, ToonHQ, Any, NA, DefaultDialog),1843    2815: (DD_TIER + 2, Start, (CogLevelQuest, Anywhere, 5, 5), Any, ToonHQ, Any, NA, DefaultDialog),1844    2816: (DD_TIER + 2, Start, (CogLevelQuest, Anywhere, 4, 6), Any, ToonHQ, Any, NA, DefaultDialog),1845    2817: (DD_TIER + 2, Start, (CogLevelQuest, Anywhere, 5, 6), Any, ToonHQ, Any, NA, DefaultDialog),1846    2818: (DD_TIER + 2, Start, (CogLevelQuest, Anywhere, 6, 6), Any, ToonHQ, Any, NA, DefaultDialog),1847    2819: (DD_TIER + 2, Start, (CogLevelQuest, Anywhere, 7, 6), Any, ToonHQ, Any, NA, DefaultDialog),1848    2820: (DD_TIER + 2, Start, (CogQuest, Anywhere, 20, Any), Any, ToonHQ, NA, 2821, DefaultDialog),1849    2821: (DD_TIER + 2, Cont, (DeliverItemQuest, 1000), Any, 1007, 1000, NA, DefaultDialog),1850    901: (DD_TIER + 2, Start, (VisitQuest,), Any, 1203, NA, 2902, TTLocalizer.QuestDialogDict[901]),1851    2902: (DD_TIER + 2, Start, (VisitQuest,), 1203, 1303, NA, 2903, TTLocalizer.QuestDialogDict[2902]),1852    2903: (DD_TIER + 2, Cont, (DeliverItemQuest, 2009), Same, 1106, NA, 2904, TTLocalizer.QuestDialogDict[2903]),1853    2904: (DD_TIER + 2, Cont, (DeliverItemQuest, 2010), Same, 1203, NA, 2905, TTLocalizer.QuestDialogDict[2904]),1854    2905: (DD_TIER + 2, Cont, (VisitQuest, 2009), Same, 1105, NA, 2906, TTLocalizer.QuestDialogDict[2905]),1855    2906: (DD_TIER + 2, Cont, (DeliverGagQuest, 3, ToontownBattleGlobals.SQUIRT_TRACK, 2), Same, Same, NA, 2907, TTLocalizer.QuestDialogDict[2906]),1856    2907: (DD_TIER + 2, Cont, (DeliverItemQuest, 2011), Same, 1203, NA, (2910, 2915, 2920), TTLocalizer.QuestDialogDict[2907]),1857    2910: (DD_TIER + 2, Cont, (VisitQuest,), Same, 1107, NA, 2911, TTLocalizer.QuestDialog_2910),1858    2911: (DD_TIER + 2, Cont, (CogTrackQuest, ToontownGlobals.DonaldsDock, 4, 'm'), Same, Same, NA, 2925, TTLocalizer.QuestDialogDict[2911]),1859    2915: (DD_TIER + 2, Cont, (VisitQuest,), Same, 1204, NA, 2916, TTLocalizer.QuestDialog_2910),1860    2916: (DD_TIER + 2, Cont, (CogTrackQuest, ToontownGlobals.DonaldsDock, 2, 's'), Same, Same, NA, 2925, TTLocalizer.QuestDialogDict[2916]),1861    2920: (DD_TIER + 2, Cont, (VisitQuest,), Same, 1204, NA, 2921, TTLocalizer.QuestDialog_2910),1862    2921: (DD_TIER + 2, Cont, (CogTrackQuest, ToontownGlobals.DonaldsDock, 6, 'c'), Same, Same, NA, 2925, TTLocalizer.QuestDialogDict[2921]),1863    2925: (DD_TIER + 2, Cont, (DeliverItemQuest, 2012), Same, 1203, NA, 2926, TTLocalizer.QuestDialogDict[2925]),1864    2926: (DD_TIER + 2, Cont, (BuildingQuest, ToontownGlobals.DonaldsDock, 1, Any, 2), Same, Same, 900, NA, TTLocalizer.QuestDialogDict[2926]),1865    3101: (DG_TIER, Start, (CogQuest, ToontownGlobals.DaisyGardens, 8, Any), Any, ToonHQ, Any, NA, DefaultDialog),1866    3102: (DG_TIER, Start, (CogQuest, ToontownGlobals.DaisyGardens, 10, Any), Any, ToonHQ, Any, NA, DefaultDialog),1867    3103: (DG_TIER, Start, (CogQuest, ToontownGlobals.DaisyGardens, 12, Any), Any, ToonHQ, Any, NA, DefaultDialog),1868    3104: (DG_TIER, Start, (CogQuest, Anywhere, 14, Any), Any, ToonHQ, Any, NA, DefaultDialog),1869    3105: (DG_TIER, Start, (CogQuest, Anywhere, 16, Any), Any, ToonHQ, Any, NA, DefaultDialog),1870    3106: (DG_TIER, Start, (CogQuest, Anywhere, 18, Any), Any, ToonHQ, Any, NA, DefaultDialog),1871    3107: (DG_TIER, Start, (CogQuest, Anywhere, 10, 'f'), Any, ToonHQ, OBSOLETE, NA, DefaultDialog),1872    3108: (DG_TIER, Start, (CogQuest, Anywhere, 8, 'p'), Any, ToonHQ, OBSOLETE, NA, DefaultDialog),1873    3109: (DG_TIER, Start, (CogQuest, Anywhere, 8, 'ym'), Any, ToonHQ, OBSOLETE, NA, DefaultDialog),1874    3110: (DG_TIER, Start, (CogQuest, Anywhere, 6, 'mm'), Any, ToonHQ, OBSOLETE, NA, DefaultDialog),1875    3111: (DG_TIER, Start, (CogQuest, Anywhere, 6, 'ds'), Any, ToonHQ, OBSOLETE, NA, DefaultDialog),1876    3112: (DG_TIER, Start, (CogQuest, Anywhere, 6, 'hh'), Any, ToonHQ, OBSOLETE, NA, DefaultDialog),1877    3113: (DG_TIER, Start, (CogQuest, Anywhere, 10, 'cc'), Any, ToonHQ, Any, NA, DefaultDialog),1878    3114: (DG_TIER, Start, (CogQuest, Anywhere, 8, 'tm'), Any, ToonHQ, Any, NA, DefaultDialog),1879    3115: (DG_TIER, Start, (CogQuest, Anywhere, 8, 'nd'), Any, ToonHQ, Any, NA, DefaultDialog),1880    3116: (DG_TIER, Start, (CogQuest, Anywhere, 6, 'gh'), Any, ToonHQ, Any, NA, DefaultDialog),1881    3117: (DG_TIER, Start, (CogQuest, Anywhere, 6, 'ms'), Any, ToonHQ, Any, NA, DefaultDialog),1882    3118: (DG_TIER, Start, (CogQuest, Anywhere, 6, 'tf'), Any, ToonHQ, Any, NA, DefaultDialog),1883    3119: (DG_TIER, Start, (CogQuest, Anywhere, 10, 'sc'), Any, ToonHQ, OBSOLETE, NA, DefaultDialog),1884    3120: (DG_TIER, Start, (CogQuest, Anywhere, 8, 'pp'), Any, ToonHQ, OBSOLETE, NA, DefaultDialog),1885    3121: (DG_TIER, Start, (CogQuest, Anywhere, 8, 'tw'), Any, ToonHQ, OBSOLETE, NA, DefaultDialog),1886    3122: (DG_TIER, Start, (CogQuest, Anywhere, 6, 'bc'), Any, ToonHQ, OBSOLETE, NA, DefaultDialog),1887    3123: (DG_TIER, Start, (CogQuest, Anywhere, 6, 'nc'), Any, ToonHQ, OBSOLETE, NA, DefaultDialog),1888    3124: (DG_TIER, Start, (CogQuest, Anywhere, 6, 'mb'), Any, ToonHQ, OBSOLETE, NA, DefaultDialog),1889    3125: (DG_TIER, Start, (CogQuest, Anywhere, 10, 'bf'), Any, ToonHQ, Any, NA, DefaultDialog),1890    3126: (DG_TIER, Start, (CogQuest, Anywhere, 8, 'b'), Any, ToonHQ, Any, NA, DefaultDialog),1891    3127: (DG_TIER, Start, (CogQuest, Anywhere, 8, 'dt'), Any, ToonHQ, Any, NA, DefaultDialog),1892    3128: (DG_TIER, Start, (CogQuest, Anywhere, 6, 'ac'), Any, ToonHQ, Any, NA, DefaultDialog),1893    3129: (DG_TIER, Start, (CogQuest, Anywhere, 6, 'bs'), Any, ToonHQ, Any, NA, DefaultDialog),1894    3130: (DG_TIER, Start, (CogQuest, Anywhere, 6, 'sd'), Any, ToonHQ, Any, NA, DefaultDialog),1895    3131: (DG_TIER, Start, (CogLevelQuest, Anywhere, 10, 3), Any, ToonHQ, Any, NA, DefaultDialog),1896    3132: (DG_TIER, Start, (CogLevelQuest, Anywhere, 15, 3), Any, ToonHQ, Any, NA, DefaultDialog),1897    3133: (DG_TIER, Start, (CogLevelQuest, Anywhere, 8, 4), Any, ToonHQ, Any, NA, DefaultDialog),1898    3134: (DG_TIER, Start, (CogLevelQuest, Anywhere, 12, 4), Any, ToonHQ, Any, NA, DefaultDialog),1899    3135: (DG_TIER, Start, (CogLevelQuest, Anywhere, 4, 5), Any, ToonHQ, Any, NA, DefaultDialog),1900    3136: (DG_TIER, Start, (CogLevelQuest, Anywhere, 6, 5), Any, ToonHQ, Any, NA, DefaultDialog),1901    3137: (DG_TIER, Start, (CogLevelQuest, Anywhere, 8, 6), Any, ToonHQ, Any, NA, DefaultDialog),1902    3138: (DG_TIER, Start, (CogLevelQuest, Anywhere, 12, 6), Any, ToonHQ, Any, NA, DefaultDialog),1903    3139: (DG_TIER, Start, (CogTrackQuest, ToontownGlobals.DaisyGardens, 6, 'm'), Any, ToonHQ, OBSOLETE, NA, DefaultDialog),1904    3140: (DG_TIER, Start, (CogTrackQuest, ToontownGlobals.DaisyGardens, 6, 's'), Any, ToonHQ, Any, NA, DefaultDialog),1905    3141: (DG_TIER, Start, (CogTrackQuest, ToontownGlobals.DaisyGardens, 6, 'c'), Any, ToonHQ, OBSOLETE, NA, DefaultDialog),1906    3142: (DG_TIER, Start, (CogTrackQuest, ToontownGlobals.DaisyGardens, 6, 'l'), Any, ToonHQ, Any, NA, DefaultDialog),1907    3143: (DG_TIER, Start, (CogTrackQuest, ToontownGlobals.DaisyGardens, 10, 'm'), Any, ToonHQ, OBSOLETE, NA, DefaultDialog),1908    3144: (DG_TIER, Start, (CogTrackQuest, ToontownGlobals.DaisyGardens, 10, 's'), Any, ToonHQ, Any, NA, DefaultDialog),1909    3145: (DG_TIER, Start, (CogTrackQuest, ToontownGlobals.DaisyGardens, 10, 'c'), Any, ToonHQ, OBSOLETE, NA, DefaultDialog),1910    3146: (DG_TIER, Start, (CogTrackQuest, ToontownGlobals.DaisyGardens, 10, 'l'), Any, ToonHQ, Any, NA, DefaultDialog),1911    3147: (DG_TIER, Start, (CogTrackQuest, Anywhere, 14, 'm'), Any, ToonHQ, OBSOLETE, NA, DefaultDialog),1912    3148: (DG_TIER, Start, (CogTrackQuest, Anywhere, 14, 's'), Any, ToonHQ, Any, NA, DefaultDialog),1913    3149: (DG_TIER, Start, (CogTrackQuest, Anywhere, 14, 'c'), Any, ToonHQ, OBSOLETE, NA, DefaultDialog),1914    3150: (DG_TIER, Start, (CogTrackQuest, Anywhere, 14, 'l'), Any, ToonHQ, Any, NA, DefaultDialog),1915    3151: (DG_TIER, Start, (BuildingQuest, Anywhere, 1, Any, 2), Any, ToonHQ, Any, NA, DefaultDialog),1916    3152: (DG_TIER, Start, (BuildingQuest, Anywhere, 2, Any, 2), Any, ToonHQ, Any, NA, DefaultDialog),1917    3153: (DG_TIER, Start, (BuildingQuest, Anywhere, 3, Any, 2), Any, ToonHQ, Any, NA, DefaultDialog),1918    3154: (DG_TIER, Start, (BuildingQuest, Anywhere, 4, Any, 2), Any, ToonHQ, Any, NA, DefaultDialog),1919    3155: (DG_TIER, Start, (BuildingQuest, Anywhere, 2, 'm', 2), Any, ToonHQ, OBSOLETE, NA, DefaultDialog),1920    3156: (DG_TIER, Start, (BuildingQuest, Anywhere, 2, 's', 2), Any, ToonHQ, Any, NA, DefaultDialog),1921    3157: (DG_TIER, Start, (BuildingQuest, Anywhere, 2, 'c', 2), Any, ToonHQ, OBSOLETE, NA, DefaultDialog),1922    3158: (DG_TIER, Start, (BuildingQuest, Anywhere, 2, 'l', 2), Any, ToonHQ, Any, NA, DefaultDialog),1923    3200: (DG_TIER, Start, (VisitQuest,), Any, 5101, NA, 3201, TTLocalizer.QuestDialogDict[3200]),1924    3201: (DG_TIER, Start, (DeliverItemQuest, 5001), 5101, 5206, NA, 3203, TTLocalizer.QuestDialogDict[3201]),1925    3203: (DG_TIER, Cont, (RecoverItemQuest, ToontownGlobals.DaisyGardens, 1, 5002, VeryHard, Any), Same, Same, 100, NA, TTLocalizer.QuestDialogDict[3203]),1926    3204: (DG_TIER, Start, (VisitQuest,), Any, 5106, NA, 3205, TTLocalizer.QuestDialogDict[3204]),1927    3205: (DG_TIER, Start, (RecoverItemQuest, Anywhere, 1, 5003, Medium, 'b'), 5106, Same, 100, NA, TTLocalizer.QuestDialogDict[3205]),1928    3206: (DG_TIER, Start, (VisitQuest,), Any, 5107, NA, 3207, TTLocalizer.QuestDialogDict[3206]),1929    3207: (DG_TIER, Start, (RecoverItemQuest, ToontownGlobals.DaisyGardens, 10, 5004, VeryEasy, 'dt'), 5107, Same, 101, NA, TTLocalizer.QuestDialogDict[3207]),1930    3208: (DG_TIER, OBSOLETE, (CogQuest, ToontownGlobals.DaisyGardens, 10, 'cc'), Any, ToonHQ, NA, 3209, TTLocalizer.QuestDialogDict[3208]),1931    3209: (DG_TIER, OBSOLETE, (CogQuest, ToontownGlobals.DaisyGardens, 10, 'tm'), Same, Same, 202, NA, TTLocalizer.QuestDialogDict[3209]),1932    3247: (DG_TIER, OBSOLETE, (CogQuest, ToontownGlobals.DaisyGardens, 20, 'b'), Any, ToonHQ, 202, NA, TTLocalizer.QuestDialogDict[3247]),1933    3210: (DG_TIER, Start, (DeliverGagQuest, 10, ToontownBattleGlobals.SQUIRT_TRACK, 0), Any, 5207, NA, 3211, TTLocalizer.QuestDialogDict[3210]),1934    3211: (DG_TIER, Cont, (CogQuest, 5200, 20, Any), Same, Same, 100, NA, TTLocalizer.QuestDialogDict[3211]),1935    3212: (DG_TIER, OBSOLETE, (VisitQuest,), Any, 5208, NA, 3213, TTLocalizer.QuestDialogDict[3212]),1936    3213: (DG_TIER, OBSOLETE, (RecoverItemQuest, ToontownGlobals.DaisyGardens, 1, 5005, VeryHard, Any), 5208, Same, NA, 3214, TTLocalizer.QuestDialogDict[3213]),1937    3214: (DG_TIER, OBSOLETE, (RecoverItemQuest, ToontownGlobals.DaisyGardens, 1, 5006, VeryHard, Any), Same, Same, NA, 3215, TTLocalizer.QuestDialogDict[3214]),1938    3215: (DG_TIER, OBSOLETE, (RecoverItemQuest, ToontownGlobals.DaisyGardens, 1, 5007, VeryHard, Any), Same, Same, NA, 3216, TTLocalizer.QuestDialogDict[3215]),1939    3216: (DG_TIER, OBSOLETE, (RecoverItemQuest, ToontownGlobals.DaisyGardens, 1, 5008, VeryHard, Any), Same, Same, 202, NA, TTLocalizer.QuestDialogDict[3216]),1940    3217: (DG_TIER, Start, (RecoverItemQuest, Anywhere, 1, 5010, VeryEasy, 'nd'), ToonHQ, ToonHQ, NA, 3218, TTLocalizer.QuestDialogDict[3217]),1941    3218: (DG_TIER, Cont, (RecoverItemQuest, Anywhere, 1, 5010, VeryHard, 'gh'), Same, Same, NA, 3219, TTLocalizer.QuestDialogDict[3218]),1942    3219: (DG_TIER, Cont, (RecoverItemQuest, Anywhere, 1, 5010, Easy, 'ms'), Same, Same, 101, NA, TTLocalizer.QuestDialogDict[3219]),1943    3244: (DG_TIER, Start, (RecoverItemQuest, Anywhere, 1, 5010, VeryEasy, 'ac'), ToonHQ, ToonHQ, NA, 3245, TTLocalizer.QuestDialogDict[3244]),1944    3245: (DG_TIER, Cont, (RecoverItemQuest, Anywhere, 1, 5010, VeryHard, 'bs'), Same, Same, NA, 3246, TTLocalizer.QuestDialogDict[3245]),1945    3246: (DG_TIER, Cont, (RecoverItemQuest, Anywhere, 1, 5010, VeryHard, 'sd'), Same, Same, 101, NA, TTLocalizer.QuestDialogDict[3246]),1946    3220: (DG_TIER, Start, (VisitQuest,), Any, 5207, NA, 3221, TTLocalizer.QuestDialogDict[3220]),1947    3221: (DG_TIER, Start, (CogQuest, ToontownGlobals.DaisyGardens, 20, Any), 5207, Same, 100, NA, TTLocalizer.QuestDialogDict[3221]),1948    3222: (DG_TIER, Start, (BuildingQuest, Anywhere, 2, Any, 1), ToonHQ, ToonHQ, NA, 3223, TTLocalizer.QuestDialogDict[3222]),1949    3223: (DG_TIER, Cont, (BuildingQuest, Anywhere, 2, Any, 2), Same, Same, NA, 3224, TTLocalizer.QuestDialogDict[3223]),1950    3224: (DG_TIER, Cont, (BuildingQuest, Anywhere, 2, Any, 3), Same, Same, 501, NA, TTLocalizer.QuestDialogDict[3224]),1951    3225: (DG_TIER, Start, (VisitQuest,), Any, 5108, NA, (3226, 3227, 3228, 3229, 3230, 3231, 3232, 3233, 3234), TTLocalizer.QuestDialogDict[3225]),1952    3226: (DG_TIER, Start, (DeliverItemQuest, 5011), 5108, 5201, NA, 3235, TTLocalizer.QuestDialog_3225),1953    3227: (DG_TIER, Start, (DeliverItemQuest, 5011), 5108, 5203, NA, 3235, TTLocalizer.QuestDialog_3225),1954    3228: (DG_TIER, Start, (DeliverItemQuest, 5011), 5108, 5204, NA, 3235, TTLocalizer.QuestDialog_3225),1955    3229: (DG_TIER, Start, (DeliverItemQuest, 5011), 5108, 5205, NA, 3235, TTLocalizer.QuestDialog_3225),1956    3230: (DG_TIER, Start, (DeliverItemQuest, 5011), 5108, 5102, NA, 3235, TTLocalizer.QuestDialog_3225),1957    3231: (DG_TIER, Start, (DeliverItemQuest, 5011), 5108, 5103, NA, 3235, TTLocalizer.QuestDialog_3225),1958    3232: (DG_TIER, Start, (DeliverItemQuest, 5011), 5108, 5104, NA, 3235, TTLocalizer.QuestDialog_3225),1959    3233: (DG_TIER, Start, (DeliverItemQuest, 5011), 5108, 5105, NA, 3235, TTLocalizer.QuestDialog_3225),1960    3234: (DG_TIER, Start, (DeliverItemQuest, 5011), 5108, 5207, NA, 3235, TTLocalizer.QuestDialog_3225),1961    3235: (DG_TIER, Cont, (CogQuest, ToontownGlobals.DaisyGardens, 10, Any), Same, 5108, 100, NA, TTLocalizer.QuestDialogDict[3235]),1962    3236: (DG_TIER, OBSOLETE, (BuildingQuest, Anywhere, 3, 'l', 2), Any, ToonHQ, NA, 3237, TTLocalizer.QuestDialogDict[3236]),1963    3237: (DG_TIER, OBSOLETE, (BuildingQuest, Anywhere, 3, 's', 2), Same, Same, 702, NA, TTLocalizer.QuestDialogDict[3237]),1964    3238: (DG_TIER, Start, (RecoverItemQuest, Anywhere, 1, 2, VeryEasy, 'm'), Any, ToonHQ, NA, 3239, TTLocalizer.QuestDialogDict[3238]),1965    3239: (DG_TIER, Cont, (RecoverItemQuest, Anywhere, 1, 5012, Hard, 'm'), Same, Same, 302, NA, TTLocalizer.QuestDialogDict[3239]),1966    3242: (DG_TIER, Start, (RecoverItemQuest, Anywhere, 1, 2, VeryEasy, 'le'), Any, ToonHQ, NA, 3243, TTLocalizer.QuestDialogDict[3242]),1967    3243: (DG_TIER, Cont, (RecoverItemQuest, Anywhere, 1, 5012, Hard, 'le'), Same, Same, 302, NA, TTLocalizer.QuestDialogDict[3243]),1968    3240: (DG_TIER, OBSOLETE, (RecoverItemQuest, Anywhere, 1, 5009, Hard, 'le'), Any, 5103, 102, NA, TTLocalizer.QuestDialogDict[3240]),1969    3241: (DG_TIER, OBSOLETE, (BuildingQuest, Anywhere, 5, Any, 3), Any, ToonHQ, 102, NA, TTLocalizer.QuestDialogDict[3241]),1970    3250: (DG_TIER, Start, (VisitQuest,), Any, 5317, NA, 3251, TTLocalizer.QuestDialogDict[3250]),1971    3251: (DG_TIER, Start, (CogTrackQuest, ToontownGlobals.SellbotHQ, 5, 's'), 5317, Same, NA, 3252, TTLocalizer.QuestDialogDict[3251]),1972    3252: (DG_TIER, Cont, (VisitQuest,), Same, 5311, NA, 3253, TTLocalizer.QuestDialogDict[3252]),1973    3253: (DG_TIER, Cont, (RecoverItemQuest, ToontownGlobals.SellbotHQ, 1, 5013, Medium, 's', 'track'), Same, Same, NA, 3254, TTLocalizer.QuestDialogDict[3253]),1974    3254: (DG_TIER, Cont, (DeliverItemQuest, 5013), Same, 5317, 202, NA, TTLocalizer.QuestDialogDict[3254]),1975    3255: (DG_TIER, Start, (VisitQuest,), Any, 5314, NA, 3258, TTLocalizer.QuestDialogDict[3255]),1976    3256: (DG_TIER, Start, (VisitQuest,), Any, 5315, NA, 3258, TTLocalizer.QuestDialogDict[3256]),1977    3257: (DG_TIER, Start, (VisitQuest,), Any, 5316, NA, 3258, TTLocalizer.QuestDialogDict[3257]),1978    3258: (DG_TIER, Cont, (RecoverItemQuest, ToontownGlobals.SellbotHQ, 1, 5014, VeryEasy, 's', 'track'), Same, Same, NA, 3259, TTLocalizer.QuestDialogDict[3258]),1979    3259: (DG_TIER, Cont, (RecoverItemQuest, ToontownGlobals.SellbotHQ, 1, 5015, Easy, 's', 'track'), Same, Same, NA, 3260, TTLocalizer.QuestDialogDict[3259]),1980    3260: (DG_TIER, Cont, (RecoverItemQuest, ToontownGlobals.SellbotHQ, 1, 5016, Easy, 's', 'track'), Same, Same, NA, 3261, TTLocalizer.QuestDialogDict[3260]),1981    3261: (DG_TIER, Cont, (RecoverItemQuest, ToontownGlobals.SellbotHQ, 1, 5017, Medium, 's', 'track'), Same, Same, 102, NA, TTLocalizer.QuestDialogDict[3261]),1982    3262: (DG_TIER, Start, (VisitQuest,), Any, 5313, NA, 3263, TTLocalizer.QuestDialogDict[3262]),1983    3263: (DG_TIER, Start, (FactoryQuest, ToontownGlobals.SellbotHQ, 1), 5313, 5313, 702, NA, TTLocalizer.QuestDialogDict[3263]),1984    3500: (DG_TIER, Start, (CogQuest, ToontownGlobals.DaisyGardens, 25, Any), Any, ToonHQ, NA, 3501, DefaultDialog),1985    3501: (DG_TIER, Cont, (DeliverItemQuest, 1000), Any, 5007, 1000, NA, DefaultDialog),1986    4001: (MM_TIER, Start, (TrackChoiceQuest, ToontownBattleGlobals.TRAP_TRACK, ToontownBattleGlobals.HEAL_TRACK), Any, ToonHQ, 400, NA, TTLocalizer.QuestDialogDict[4001]),1987    4002: (MM_TIER, Start, (TrackChoiceQuest, ToontownBattleGlobals.TRAP_TRACK, ToontownBattleGlobals.SOUND_TRACK), Any, ToonHQ, 400, NA, TTLocalizer.QuestDialogDict[4002]),1988    4010: (MM_TIER, Start, (CogQuest, Anywhere, 16, Any), Any, ToonHQ, Any, NA, DefaultDialog),1989    4011: (MM_TIER, Start, (CogQuest, Anywhere, 18, Any), Any, ToonHQ, Any, NA, DefaultDialog),1990    4012: (MM_TIER, Start, (CogQuest, Anywhere, 20, Any), Any, ToonHQ, Any, NA, DefaultDialog),1991    4013: (MM_TIER, Start, (CogQuest, Anywhere, 22, Any), Any, ToonHQ, Any, NA, DefaultDialog),1992    4014: (MM_TIER, Start, (CogQuest, Anywhere, 24, Any), Any, ToonHQ, Any, NA, DefaultDialog),1993    4015: (MM_TIER, Start, (CogQuest, Anywhere, 26, Any), Any, ToonHQ, Any, NA, DefaultDialog),1994    4016: (MM_TIER, Start, (CogQuest, Anywhere, 28, Any), Any, ToonHQ, Any, NA, DefaultDialog),1995    4017: (MM_TIER, Start, (CogQuest, Anywhere, 30, Any), Any, ToonHQ, Any, NA, DefaultDialog),1996    4018: (MM_TIER, Start, (CogQuest, Anywhere, 32, Any), Any, ToonHQ, Any, NA, DefaultDialog),1997    4019: (MM_TIER, Start, (CogQuest, Anywhere, 34, Any), Any, ToonHQ, Any, NA, DefaultDialog),1998    4020: (MM_TIER, Start, (CogLevelQuest, Anywhere, 20, 3), Any, ToonHQ, Any, NA, DefaultDialog),1999    4021: (MM_TIER, Start, (CogLevelQuest, Anywhere, 25, 3), Any, ToonHQ, Any, NA, DefaultDialog),2000    4022: (MM_TIER, Start, (CogLevelQuest, Anywhere, 16, 4), Any, ToonHQ, Any, NA, DefaultDialog),2001    4023: (MM_TIER, Start, (CogLevelQuest, Anywhere, 20, 4), Any, ToonHQ, Any, NA, DefaultDialog),2002    4024: (MM_TIER, Start, (CogLevelQuest, Anywhere, 10, 5), Any, ToonHQ, Any, NA, DefaultDialog),2003    4025: (MM_TIER, Start, (CogLevelQuest, Anywhere, 20, 5), Any, ToonHQ, Any, NA, DefaultDialog),2004    4026: (MM_TIER, Start, (CogLevelQuest, Anywhere, 16, 6), Any, ToonHQ, Any, NA, DefaultDialog),2005    4027: (MM_TIER, Start, (CogLevelQuest, Anywhere, 18, 6), Any, ToonHQ, Any, NA, DefaultDialog),2006    4028: (MM_TIER, Start, (CogLevelQuest, Anywhere, 20, 6), Any, ToonHQ, Any, NA, DefaultDialog),2007    4029: (MM_TIER, Start, (CogLevelQuest, Anywhere, 24, 6), Any, ToonHQ, Any, NA, DefaultDialog),2008    4030: (MM_TIER, Start, (CogQuest, Anywhere, 45, Any), Any, ToonHQ, NA, 4031, DefaultDialog),2009    4031: (MM_TIER, Cont, (DeliverItemQuest, 1000), Any, 4008, 1000, NA, DefaultDialog),2010    4040: (MM_TIER, Start, (CogQuest, ToontownGlobals.SellbotHQ, 6, Any), Any, ToonHQ, Any, NA, DefaultDialog),2011    4041: (MM_TIER, Start, (CogQuest, ToontownGlobals.SellbotHQ, 6, Any), Any, ToonHQ, Any, NA, DefaultDialog),2012    4042: (MM_TIER, Start, (CogLevelQuest, ToontownGlobals.SellbotHQ, 3, 4), Any, ToonHQ, Any, NA, DefaultDialog),2013    4043: (MM_TIER, Start, (SkelecogQuest, ToontownGlobals.SellbotFactoryInt, 3), Any, ToonHQ, Any, NA, DefaultDialog),2014    4101: (MM_TIER + 1, Start, (CogQuest, ToontownGlobals.MinniesMelodyland, 16, Any), Any, ToonHQ, Any, NA, DefaultDialog),2015    4102: (MM_TIER + 1, Start, (CogQuest, ToontownGlobals.MinniesMelodyland, 18, Any), Any, ToonHQ, Any, NA, DefaultDialog),2016    4103: (MM_TIER + 1, Start, (CogQuest, ToontownGlobals.MinniesMelodyland, 20, Any), Any, ToonHQ, Any, NA, DefaultDialog),2017    4104: (MM_TIER + 1, Start, (CogQuest, ToontownGlobals.MinniesMelodyland, 24, Any), Any, ToonHQ, Any, NA, DefaultDialog),2018    4105: (MM_TIER + 1, Start, (CogQuest, Anywhere, 28, Any), Any, ToonHQ, Any, NA, DefaultDialog),2019    4106: (MM_TIER + 1, Start, (CogQuest, Anywhere, 32, Any), Any, ToonHQ, Any, NA, DefaultDialog),2020    4107: (MM_TIER + 1, Start, (CogQuest, Anywhere, 20, 'f'), Any, ToonHQ, Any, NA, DefaultDialog),2021    4108: (MM_TIER + 1, Start, (CogQuest, Anywhere, 16, 'p'), Any, ToonHQ, Any, NA, DefaultDialog),2022    4109: (MM_TIER + 1, Start, (CogQuest, Anywhere, 16, 'ym'), Any, ToonHQ, Any, NA, DefaultDialog),2023    4110: (MM_TIER + 1, Start, (CogQuest, Anywhere, 12, 'mm'), Any, ToonHQ, Any, NA, DefaultDialog),2024    4111: (MM_TIER + 1, Start, (CogQuest, Anywhere, 12, 'ds'), Any, ToonHQ, Any, NA, DefaultDialog),2025    4112: (MM_TIER + 1, Start, (CogQuest, Anywhere, 12, 'hh'), Any, ToonHQ, Any, NA, DefaultDialog),2026    4113: (MM_TIER + 1, Start, (CogQuest, Anywhere, 20, 'cc'), Any, ToonHQ, Any, NA, DefaultDialog),2027    4114: (MM_TIER + 1, Start, (CogQuest, Anywhere, 16, 'tm'), Any, ToonHQ, Any, NA, DefaultDialog),2028    4115: (MM_TIER + 1, Start, (CogQuest, Anywhere, 16, 'nd'), Any, ToonHQ, Any, NA, DefaultDialog),2029    4116: (MM_TIER + 1, Start, (CogQuest, Anywhere, 12, 'gh'), Any, ToonHQ, Any, NA, DefaultDialog),2030    4117: (MM_TIER + 1, Start, (CogQuest, Anywhere, 12, 'ms'), None, ToonHQ, Any, NA, DefaultDialog),2031    4118: (MM_TIER + 1, Start, (CogQuest, Anywhere, 12, 'tf'), None, ToonHQ, Any, NA, DefaultDialog),2032    4119: (MM_TIER + 1, Start, (CogQuest, Anywhere, 20, 'sc'), Any, ToonHQ, Any, NA, DefaultDialog),2033    4120: (MM_TIER + 1, Start, (CogQuest, Anywhere, 16, 'pp'), Any, ToonHQ, Any, NA, DefaultDialog),2034    4121: (MM_TIER + 1, Start, (CogQuest, Anywhere, 16, 'tw'), Any, ToonHQ, Any, NA, DefaultDialog),2035    4122: (MM_TIER + 1, Start, (CogQuest, Anywhere, 12, 'bc'), Any, ToonHQ, Any, NA, DefaultDialog),2036    4123: (MM_TIER + 1, Start, (CogQuest, Anywhere, 12, 'nc'), Any, ToonHQ, Any, NA, DefaultDialog),2037    4124: (MM_TIER + 1, Start, (CogQuest, Anywhere, 12, 'mb'), Any, ToonHQ, Any, NA, DefaultDialog),2038    4125: (MM_TIER + 1, Start, (CogQuest, Anywhere, 20, 'bf'), Any, ToonHQ, Any, NA, DefaultDialog),2039    4126: (MM_TIER + 1, Start, (CogQuest, Anywhere, 16, 'b'), Any, ToonHQ, Any, NA, DefaultDialog),2040    4127: (MM_TIER + 1, Start, (CogQuest, Anywhere, 16, 'dt'), Any, ToonHQ, Any, NA, DefaultDialog),2041    4128: (MM_TIER + 1, Start, (CogQuest, Anywhere, 12, 'ac'), Any, ToonHQ, Any, NA, DefaultDialog),2042    4129: (MM_TIER + 1, Start, (CogQuest, Anywhere, 12, 'bs'), Any, ToonHQ, Any, NA, DefaultDialog),2043    4130: (MM_TIER + 1, Start, (CogQuest, Anywhere, 12, 'sd'), Any, ToonHQ, Any, NA, DefaultDialog),2044    4131: (MM_TIER + 1, Start, (CogLevelQuest, Anywhere, 20, 3), Any, ToonHQ, Any, NA, DefaultDialog),2045    4132: (MM_TIER + 1, Start, (CogLevelQuest, Anywhere, 25, 3), Any, ToonHQ, Any, NA, DefaultDialog),2046    4133: (MM_TIER + 1, Start, (CogLevelQuest, Anywhere, 16, 4), Any, ToonHQ, Any, NA, DefaultDialog),2047    4134: (MM_TIER + 1, Start, (CogLevelQuest, Anywhere, 20, 4), Any, ToonHQ, Any, NA, DefaultDialog),2048    4135: (MM_TIER + 1, Start, (CogLevelQuest, Anywhere, 10, 5), Any, ToonHQ, Any, NA, DefaultDialog),2049    4136: (MM_TIER + 1, Start, (CogLevelQuest, Anywhere, 20, 5), Any, ToonHQ, Any, NA, DefaultDialog),2050    4137: (MM_TIER + 1, Start, (CogLevelQuest, Anywhere, 16, 6), Any, ToonHQ, Any, NA, DefaultDialog),2051    4138: (MM_TIER + 1, Start, (CogLevelQuest, Anywhere, 24, 6), Any, ToonHQ, Any, NA, DefaultDialog),2052    4139: (MM_TIER + 1, Start, (CogTrackQuest, ToontownGlobals.MinniesMelodyland, 15, 'm'), Any, ToonHQ, Any, NA, DefaultDialog),2053    4140: (MM_TIER + 1, Start, (CogTrackQuest, ToontownGlobals.MinniesMelodyland, 15, 's'), Any, ToonHQ, Any, NA, DefaultDialog),2054    4141: (MM_TIER + 1, Start, (CogTrackQuest, ToontownGlobals.MinniesMelodyland, 15, 'c'), Any, ToonHQ, Any, NA, DefaultDialog),2055    4142: (MM_TIER + 1, Start, (CogTrackQuest, ToontownGlobals.MinniesMelodyland, 15, 'l'), Any, ToonHQ, Any, NA, DefaultDialog),2056    4143: (MM_TIER + 1, Start, (CogTrackQuest, ToontownGlobals.MinniesMelodyland, 24, 'm'), Any, ToonHQ, Any, NA, DefaultDialog),2057    4144: (MM_TIER + 1, Start, (CogTrackQuest, ToontownGlobals.MinniesMelodyland, 24, 's'), Any, ToonHQ, Any, NA, DefaultDialog),2058    4145: (MM_TIER + 1, Start, (CogTrackQuest, ToontownGlobals.MinniesMelodyland, 24, 'c'), Any, ToonHQ, Any, NA, DefaultDialog),2059    4146: (MM_TIER + 1, Start, (CogTrackQuest, ToontownGlobals.MinniesMelodyland, 24, 'l'), Any, ToonHQ, Any, NA, DefaultDialog),2060    4147: (MM_TIER + 1, Start, (CogTrackQuest, Anywhere, 30, 'm'), Any, ToonHQ, Any, NA, DefaultDialog),2061    4148: (MM_TIER + 1, Start, (CogTrackQuest, Anywhere, 30, 's'), Any, ToonHQ, Any, NA, DefaultDialog),2062    4149: (MM_TIER + 1, Start, (CogTrackQuest, Anywhere, 30, 'c'), Any, ToonHQ, Any, NA, DefaultDialog),2063    4150: (MM_TIER + 1, Start, (CogTrackQuest, Anywhere, 30, 'l'), Any, ToonHQ, Any, NA, DefaultDialog),2064    4151: (MM_TIER + 1, Start, (BuildingQuest, Anywhere, 1, Any, 3), Any, ToonHQ, Any, NA, DefaultDialog),2065    4152: (MM_TIER + 1, Start, (BuildingQuest, Anywhere, 2, Any, 3), Any, ToonHQ, Any, NA, DefaultDialog),2066    4153: (MM_TIER + 1, Start, (BuildingQuest, Anywhere, 3, Any, 3), Any, ToonHQ, Any, NA, DefaultDialog),2067    4154: (MM_TIER + 1, Start, (BuildingQuest, Anywhere, 4, Any, 3), Any, ToonHQ, Any, NA, DefaultDialog),2068    4155: (MM_TIER + 1, Start, (BuildingQuest, Anywhere, 3, 'm', 3), Any, ToonHQ, Any, NA, DefaultDialog),2069    4156: (MM_TIER + 1, Start, (BuildingQuest, Anywhere, 3, 's', 3), Any, ToonHQ, Any, NA, DefaultDialog),2070    4157: (MM_TIER + 1, Start, (BuildingQuest, Anywhere, 3, 'c', 3), Any, ToonHQ, Any, NA, DefaultDialog),2071    4158: (MM_TIER + 1, Start, (BuildingQuest, Anywhere, 3, 'l', 3), Any, ToonHQ, Any, NA, DefaultDialog),2072    4160: (MM_TIER + 1, Start, (CogQuest, ToontownGlobals.SellbotHQ, 10, Any), Any, ToonHQ, Any, NA, DefaultDialog),2073    4161: (MM_TIER + 1, Start, (CogQuest, ToontownGlobals.SellbotHQ, 12, Any), Any, ToonHQ, Any, NA, DefaultDialog),2074    4162: (MM_TIER + 1, Start, (CogLevelQuest, ToontownGlobals.SellbotHQ, 6, 4), Any, ToonHQ, Any, NA, DefaultDialog),2075    4163: (MM_TIER + 1, Start, (FactoryQuest, ToontownGlobals.SellbotHQ, 1), Any, ToonHQ, Any, NA, DefaultDialog),2076    4164: (MM_TIER + 1, Start, (FactoryQuest, ToontownGlobals.SellbotHQ, 1), Any, ToonHQ, Any, NA, DefaultDialog),2077    4165: (MM_TIER + 1, Start, (SkelecogQuest, ToontownGlobals.SellbotFactoryInt, 4), Any, ToonHQ, Any, NA, DefaultDialog),2078    4166: (MM_TIER + 1, Start, (ForemanQuest, ToontownGlobals.SellbotHQ, 1), Any, ToonHQ, Any, NA, DefaultDialog),2079    4200: (MM_TIER + 1, Start, (VisitQuest,), Any, 4101, NA, 4201, TTLocalizer.QuestDialogDict[4200]),2080    4201: (MM_TIER + 1, Start, (VisitQuest,), 4101, 4201, NA, 4202, TTLocalizer.QuestDialogDict[4201]),2081    4202: (MM_TIER + 1, Cont, (DeliverItemQuest, 4001), Same, 4101, NA, 4203, TTLocalizer.QuestDialogDict[4202]),2082    4203: (MM_TIER + 1, Cont, (VisitQuest,), Same, 4301, NA, 4204, TTLocalizer.QuestDialogDict[4203]),2083    4204: (MM_TIER + 1, Cont, (CogQuest, ToontownGlobals.MinniesMelodyland, 10, Any), Same, Same, NA, 4205, TTLocalizer.QuestDialogDict[4204]),2084    4205: (MM_TIER + 1, Cont, (DeliverItemQuest, 4002), Same, 4101, NA, 4206, TTLocalizer.QuestDialogDict[4205]),2085    4206: (MM_TIER + 1, Cont, (VisitQuest,), Same, 4102, NA, 4207, TTLocalizer.QuestDialogDict[4206]),2086    4207: (MM_TIER + 1, Cont, (VisitQuest,), Same, 4108, NA, 4208, TTLocalizer.QuestDialogDict[4207]),2087    4208: (MM_TIER + 1, Cont, (DeliverGagQuest, 1, ToontownBattleGlobals.THROW_TRACK, 4), Same, Same, NA, 4209, TTLocalizer.QuestDialogDict[4208]),2088    4209: (MM_TIER + 1, Cont, (DeliverItemQuest, 4003), Same, 4102, NA, 4210, TTLocalizer.QuestDialogDict[4209]),2089    4210: (MM_TIER + 1, Cont, (DeliverItemQuest, 4004), Same, 4101, 203, NA, TTLocalizer.QuestDialogDict[4210]),2090    4211: (MM_TIER + 1, Start, (VisitQuest,), ToonHQ, 4103, NA, 4212, TTLocalizer.QuestDialogDict[4211]),2091    4212: (MM_TIER + 1, Start, (CogQuest, ToontownGlobals.MinniesMelodyland, 10, 'nc'), 4103, Same, NA, 4213, TTLocalizer.QuestDialogDict[4212]),2092    4213: (MM_TIER + 1, Cont, (CogTrackQuest, ToontownGlobals.MinniesMelodyland, 20, 'm'), Same, Same, NA, 4214, TTLocalizer.QuestDialogDict[4213]),2093    4214: (MM_TIER + 1, Cont, (BuildingQuest, Anywhere, 1, 'm', Any), Same, Same, 303, NA, TTLocalizer.QuestDialogDict[4214]),2094    4215: (MM_TIER + 1, Start, (VisitQuest,), Any, 4302, NA, 4216, TTLocalizer.QuestDialogDict[4215]),2095    4216: (MM_TIER + 1, Start, (RecoverItemQuest, Anywhere, 1, 4005, VeryHard, 'gh'), 4302, Same, NA, 4217, TTLocalizer.QuestDialogDict[4216]),2096    4217: (MM_TIER + 1, Cont, (DeliverItemQuest, 4005), Same, 4203, NA, 4218, TTLocalizer.QuestDialogDict[4217]),2097    4218: (MM_TIER + 1, Cont, (VisitQuest,), Any, 4302, NA, 4219, TTLocalizer.QuestDialogDict[4218]),2098    4219: (MM_TIER + 1, Cont, (RecoverItemQuest, Anywhere, 1, 4006, VeryHard, 'gh'), Same, Same, NA, 4220, TTLocalizer.QuestDialogDict[4219]),2099    4220: (MM_TIER + 1, Cont, (DeliverItemQuest, 4006), Same, 4308, NA, 4221, TTLocalizer.QuestDialogDict[4220]),2100    4221: (MM_TIER + 1, Cont, (VisitQuest,), Any, 4302, NA, 4222, TTLocalizer.QuestDialogDict[4221]),2101    4222: (MM_TIER + 1, Cont, (RecoverItemQuest, Anywhere, 1, 4007, VeryHard, 'gh'), Same, Same, NA, 4223, TTLocalizer.QuestDialogDict[4222]),2102    4223: (MM_TIER + 1, Cont, (DeliverItemQuest, 4007), Same, 4202, NA, 4224, TTLocalizer.QuestDialogDict[4223]),2103    4224: (MM_TIER + 1, Cont, (VisitQuest,), Any, 4302, 703, NA, TTLocalizer.QuestDialogDict[4224]),2104    4500: (MM_TIER + 1, Start, (CogQuest, ToontownGlobals.MinniesMelodyland, 40, Any), Any, ToonHQ, NA, 4501, DefaultDialog),2105    4501: (MM_TIER + 1, Cont, (DeliverItemQuest, 1000), Any, 4008, 1000, NA, DefaultDialog),2106    902: (MM_TIER + 2, Start, (VisitQuest,), Any, 4303, NA, 4903, TTLocalizer.QuestDialogDict[902]),2107    4903: (MM_TIER + 2, Start, (DeliverItemQuest, 4008), 4303, 4109, NA, 4904, TTLocalizer.QuestDialogDict[4903]),2108    4904: (MM_TIER + 2, Cont, (RecoverItemQuest, Anywhere, 1, 4009, VeryHard, AnyFish), Same, Same, NA, 4905, TTLocalizer.QuestDialogDict[4904]),2109    4905: (MM_TIER + 2, Cont, (BuildingQuest, Anywhere, 1, Any, 1), Same, Same, NA, 4906, TTLocalizer.QuestDialogDict[4905]),2110    4906: (MM_TIER + 2, Cont, (DeliverItemQuest, 4010), Same, 4303, NA, 4907, TTLocalizer.QuestDialogDict[4906]),2111    4907: (MM_TIER + 2, Cont, (VisitQuest,), Same, 4208, NA, 4908, TTLocalizer.QuestDialogDict[4907]),2112    4908: (MM_TIER + 2, Cont, (BuildingQuest, Anywhere, 1, Any, 2), Same, Same, NA, 4909, TTLocalizer.QuestDialogDict[4908]),2113    4909: (MM_TIER + 2, Cont, (BuildingQuest, Anywhere, 1, Any, 3), Same, Same, NA, 4910, TTLocalizer.QuestDialogDict[4909]),2114    4910: (MM_TIER + 2, Cont, (DeliverItemQuest, 4011), Same, 4303, 900, NA, TTLocalizer.QuestDialogDict[4910]),2115    4810: (MM_TIER + 2, Start, (CogQuest, Anywhere, 16, Any), Any, ToonHQ, Any, NA, DefaultDialog),2116    4811: (MM_TIER + 2, Start, (CogQuest, Anywhere, 18, Any), Any, ToonHQ, Any, NA, DefaultDialog),2117    4812: (MM_TIER + 2, Start, (CogQuest, Anywhere, 20, Any), Any, ToonHQ, Any, NA, DefaultDialog),2118    4813: (MM_TIER + 2, Start, (CogQuest, Anywhere, 22, Any), Any, ToonHQ, Any, NA, DefaultDialog),2119    4814: (MM_TIER + 2, Start, (CogQuest, Anywhere, 24, Any), Any, ToonHQ, Any, NA, DefaultDialog),2120    4815: (MM_TIER + 2, Start, (CogQuest, Anywhere, 26, Any), Any, ToonHQ, Any, NA, DefaultDialog),2121    4816: (MM_TIER + 2, Start, (CogQuest, Anywhere, 28, Any), Any, ToonHQ, Any, NA, DefaultDialog),2122    4817: (MM_TIER + 2, Start, (CogQuest, Anywhere, 30, Any), Any, ToonHQ, Any, NA, DefaultDialog),2123    4818: (MM_TIER + 2, Start, (CogQuest, Anywhere, 32, Any), Any, ToonHQ, Any, NA, DefaultDialog),2124    4819: (MM_TIER + 2, Start, (CogQuest, Anywhere, 34, Any), Any, ToonHQ, Any, NA, DefaultDialog),2125    4820: (MM_TIER + 2, Start, (CogLevelQuest, Anywhere, 20, 3), Any, ToonHQ, Any, NA, DefaultDialog),2126    4821: (MM_TIER + 2, Start, (CogLevelQuest, Anywhere, 25, 3), Any, ToonHQ, Any, NA, DefaultDialog),2127    4822: (MM_TIER + 2, Start, (CogLevelQuest, Anywhere, 16, 4), Any, ToonHQ, Any, NA, DefaultDialog),2128    4823: (MM_TIER + 2, Start, (CogLevelQuest, Anywhere, 20, 4), Any, ToonHQ, Any, NA, DefaultDialog),2129    4824: (MM_TIER + 2, Start, (CogLevelQuest, Anywhere, 10, 5), Any, ToonHQ, Any, NA, DefaultDialog),2130    4825: (MM_TIER + 2, Start, (CogLevelQuest, Anywhere, 20, 5), Any, ToonHQ, Any, NA, DefaultDialog),2131    4826: (MM_TIER + 2, Start, (CogLevelQuest, Anywhere, 16, 6), Any, ToonHQ, Any, NA, DefaultDialog),2132    4827: (MM_TIER + 2, Start, (CogLevelQuest, Anywhere, 18, 6), Any, ToonHQ, Any, NA, DefaultDialog),2133    4828: (MM_TIER + 2, Start, (CogLevelQuest, Anywhere, 20, 6), Any, ToonHQ, Any, NA, DefaultDialog),2134    4829: (MM_TIER + 2, Start, (CogLevelQuest, Anywhere, 24, 6), Any, ToonHQ, Any, NA, DefaultDialog),2135    4830: (MM_TIER + 2, Start, (CogQuest, Anywhere, 45, Any), Any, ToonHQ, NA, 4831, DefaultDialog),2136    4831: (MM_TIER + 2, Cont, (DeliverItemQuest, 1000), Any, 4008, 1000, NA, DefaultDialog),2137    4840: (MM_TIER + 2, Start, (CogQuest, ToontownGlobals.SellbotHQ, 12, Any), Any, ToonHQ, Any, NA, DefaultDialog),2138    4841: (MM_TIER + 2, Start, (CogQuest, ToontownGlobals.SellbotHQ, 15, Any), Any, ToonHQ, Any, NA, DefaultDialog),2139    4842: (MM_TIER + 2, Start, (CogLevelQuest, ToontownGlobals.SellbotHQ, 12, 4), Any, ToonHQ, Any, NA, DefaultDialog),2140    4843: (MM_TIER + 2, Start, (CogLevelQuest, ToontownGlobals.SellbotFactoryInt, 10, 5), Any, ToonHQ, Any, NA, DefaultDialog),2141    4844: (MM_TIER + 2, Start, (FactoryQuest, ToontownGlobals.SellbotHQ, 1), Any, ToonHQ, Any, NA, DefaultDialog),2142    4845: (MM_TIER + 2, Start, (FactoryQuest, ToontownGlobals.SellbotHQ, 1), Any, ToonHQ, Any, NA, DefaultDialog),2143    4846: (MM_TIER + 2, Start, (SkelecogQuest, ToontownGlobals.SellbotFactoryInt, 5), Any, ToonHQ, Any, NA, DefaultDialog),2144    4847: (MM_TIER + 2, Start, (SkelecogLevelQuest, ToontownGlobals.SellbotHQ, 3, 5), Any, ToonHQ, Any, NA, DefaultDialog),2145    4848: (MM_TIER + 2, Start, (ForemanQuest, ToontownGlobals.SellbotHQ, 1), Any, ToonHQ, Any, NA, DefaultDialog),2146    5247: (BR_TIER, Start, (VisitQuest,), Any, 3112, NA, 5248, TTLocalizer.QuestDialogDict[5247]),2147    5248: (BR_TIER, Start, (CogLevelQuest, Anywhere, 10, 8), 3112, Same, NA, 5249, TTLocalizer.QuestDialogDict[5248]),2148    5249: (BR_TIER, Cont, (RecoverItemQuest, Anywhere, 3, 3018, VeryHard, AnyFish), Same, Same, NA, (5250, 5258, 5259, 5260), TTLocalizer.QuestDialogDict[5249]),2149    5250: (BR_TIER, Cont, (BuildingQuest, Anywhere, 2, 'l', 4), Same, Same, NA, (5001, 5002, 5003, 5004, 5005, 5006, 5007, 5008), TTLocalizer.QuestDialogDict[5250]),2150    5258: (BR_TIER, Cont, (BuildingQuest, Anywhere, 2, 'c', 4), Same, Same, NA, (5001, 5002, 5003, 5004, 5005, 5006, 5007, 5008), TTLocalizer.QuestDialogDict[5258]),2151    5259: (BR_TIER, Cont, (BuildingQuest, Anywhere, 2, 'm', 4), Same, Same, NA, (5001, 5002, 5003, 5004, 5005, 5006, 5007, 5008), TTLocalizer.QuestDialogDict[5259]),2152    5260: (BR_TIER, Cont, (BuildingQuest, Anywhere, 2, 's', 4), Same, Same, NA, (5001, 5002, 5003, 5004, 5005, 5006, 5007, 5008), TTLocalizer.QuestDialogDict[5260]),2153    5001: (BR_TIER, Cont, (TrackChoiceQuest, ToontownBattleGlobals.SOUND_TRACK, ToontownBattleGlobals.DROP_TRACK), Same, Same, 400, NA, TTLocalizer.TheBrrrghTrackQuestDict),2154    5002: (BR_TIER, Cont, (TrackChoiceQuest, ToontownBattleGlobals.SOUND_TRACK, ToontownBattleGlobals.LURE_TRACK), Same, Same, 400, NA, TTLocalizer.TheBrrrghTrackQuestDict),2155    5003: (BR_TIER, Cont, (TrackChoiceQuest, ToontownBattleGlobals.HEAL_TRACK, ToontownBattleGlobals.DROP_TRACK), Same, Same, 400, NA, TTLocalizer.TheBrrrghTrackQuestDict),2156    5004: (BR_TIER, Cont, (TrackChoiceQuest, ToontownBattleGlobals.HEAL_TRACK, ToontownBattleGlobals.LURE_TRACK), Same, Same, 400, NA, TTLocalizer.TheBrrrghTrackQuestDict),2157    5005: (BR_TIER, Cont, (TrackChoiceQuest, ToontownBattleGlobals.TRAP_TRACK, ToontownBattleGlobals.SOUND_TRACK), Same, Same, 400, NA, TTLocalizer.TheBrrrghTrackQuestDict),2158    5006: (BR_TIER, Cont, (TrackChoiceQuest, ToontownBattleGlobals.TRAP_TRACK, ToontownBattleGlobals.HEAL_TRACK), Same, Same, 400, NA, TTLocalizer.TheBrrrghTrackQuestDict),2159    5007: (BR_TIER, Cont, (TrackChoiceQuest, ToontownBattleGlobals.TRAP_TRACK, ToontownBattleGlobals.DROP_TRACK), Same, Same, 400, NA, TTLocalizer.TheBrrrghTrackQuestDict),2160    5008: (BR_TIER, Cont, (TrackChoiceQuest, ToontownBattleGlobals.TRAP_TRACK, ToontownBattleGlobals.LURE_TRACK), Same, Same, 400, NA, TTLocalizer.TheBrrrghTrackQuestDict),2161    5020: (BR_TIER, Start, (CogQuest, Anywhere, 36, Any), Any, ToonHQ, Any, NA, DefaultDialog),2162    5021: (BR_TIER, Start, (CogQuest, Anywhere, 38, Any), Any, ToonHQ, Any, NA, DefaultDialog),2163    5022: (BR_TIER, Start, (CogQuest, Anywhere, 40, Any), Any, ToonHQ, Any, NA, DefaultDialog),2164    5023: (BR_TIER, Start, (CogQuest, Anywhere, 42, Any), Any, ToonHQ, Any, NA, DefaultDialog),2165    5024: (BR_TIER, Start, (CogQuest, Anywhere, 44, Any), Any, ToonHQ, Any, NA, DefaultDialog),2166    5025: (BR_TIER, Start, (CogQuest, Anywhere, 46, Any), Any, ToonHQ, Any, NA, DefaultDialog),2167    5026: (BR_TIER, Start, (CogQuest, Anywhere, 48, Any), Any, ToonHQ, Any, NA, DefaultDialog),2168    5027: (BR_TIER, Start, (CogQuest, Anywhere, 50, Any), Any, ToonHQ, Any, NA, DefaultDialog),2169    5028: (BR_TIER, Start, (CogQuest, Anywhere, 52, Any), Any, ToonHQ, Any, NA, DefaultDialog),2170    5029: (BR_TIER, Start, (CogQuest, Anywhere, 54, Any), Any, ToonHQ, Any, NA, DefaultDialog),2171    5030: (BR_TIER, Start, (CogLevelQuest, Anywhere, 25, 5), Any, ToonHQ, Any, NA, DefaultDialog),2172    5031: (BR_TIER, Start, (CogLevelQuest, Anywhere, 30, 5), Any, ToonHQ, Any, NA, DefaultDialog),2173    5032: (BR_TIER, Start, (CogLevelQuest, Anywhere, 35, 6), Any, ToonHQ, Any, NA, DefaultDialog),2174    5033: (BR_TIER, Start, (CogLevelQuest, Anywhere, 6, 7), Any, ToonHQ, Any, NA, DefaultDialog),2175    5034: (BR_TIER, Start, (CogLevelQuest, Anywhere, 10, 7), Any, ToonHQ, Any, NA, DefaultDialog),2176    5035: (BR_TIER, Start, (CogLevelQuest, Anywhere, 20, 7), Any, ToonHQ, Any, NA, DefaultDialog),2177    5036: (BR_TIER, Start, (CogLevelQuest, Anywhere, 2, 8), Any, ToonHQ, Any, NA, DefaultDialog),2178    5037: (BR_TIER, Start, (CogLevelQuest, Anywhere, 8, 8), Any, ToonHQ, Any, NA, DefaultDialog),2179    5038: (BR_TIER, Start, (CogLevelQuest, Anywhere, 10, 8), Any, ToonHQ, Any, NA, DefaultDialog),2180    5039: (BR_TIER, Start, (CogLevelQuest, Anywhere, 12, 8), Any, ToonHQ, Any, NA, DefaultDialog),2181    5040: (BR_TIER, Start, (CogQuest, ToontownGlobals.TheBrrrgh, 75, Any), Any, ToonHQ, NA, 5041, DefaultDialog),2182    5041: (BR_TIER, Cont, (DeliverItemQuest, 1000), Any, 3008, 1000, NA, DefaultDialog),2183    5060: (BR_TIER, Start, (CogNewbieQuest, ToontownGlobals.ToontownCentral, 5, Any, NEWBIE_HP), Any, ToonHQ, 606, NA, DefaultDialog),2184    5061: (BR_TIER, Start, (CogNewbieQuest, ToontownGlobals.ToontownCentral, 5, Any, NEWBIE_HP), Any, ToonHQ, 606, NA, DefaultDialog),2185    5062: (BR_TIER, Start, (CogNewbieQuest, ToontownGlobals.ToontownCentral, 5, Any, NEWBIE_HP), Any, ToonHQ, 606, NA, DefaultDialog),2186    5063: (BR_TIER, Start, (CogNewbieQuest, ToontownGlobals.ToontownCentral, 5, Any, NEWBIE_HP), Any, ToonHQ, 606, NA, DefaultDialog),2187    5064: (BR_TIER, Start, (BuildingNewbieQuest, Anywhere, 1, Any, 1, NEWBIE_HP), Any, ToonHQ, 607, NA, DefaultDialog),2188    5065: (BR_TIER, Start, (BuildingNewbieQuest, Anywhere, 1, Any, 1, NEWBIE_HP), Any, ToonHQ, 607, NA, DefaultDialog),2189    5066: (BR_TIER, Start, (BuildingNewbieQuest, Anywhere, 1, Any, 1, NEWBIE_HP), Any, ToonHQ, 607, NA, DefaultDialog),2190    5067: (BR_TIER, Start, (BuildingNewbieQuest, Anywhere, 1, Any, 1, NEWBIE_HP), Any, ToonHQ, 607, NA, DefaultDialog),2191    5070: (BR_TIER, Start, (CogQuest, ToontownGlobals.SellbotHQ, 20, Any), Any, ToonHQ, Any, NA, DefaultDialog),2192    5071: (BR_TIER, Start, (CogQuest, ToontownGlobals.SellbotHQ, 22, Any), Any, ToonHQ, Any, NA, DefaultDialog),2193    5072: (BR_TIER, Start, (CogLevelQuest, ToontownGlobals.SellbotHQ, 15, 4), Any, ToonHQ, Any, NA, DefaultDialog),2194    5073: (BR_TIER, Start, (CogLevelQuest, ToontownGlobals.SellbotHQ, 10, 5), Any, ToonHQ, Any, NA, DefaultDialog),2195    5074: (BR_TIER, Start, (CogLevelQuest, ToontownGlobals.SellbotFactoryInt, 12, 5), Any, ToonHQ, Any, NA, DefaultDialog),2196    5075: (BR_TIER, Start, (CogLevelQuest, ToontownGlobals.SellbotFactoryInt, 8, 6), Any, ToonHQ, Any, NA, DefaultDialog),2197    5076: (BR_TIER, Start, (FactoryQuest, ToontownGlobals.SellbotHQ, 1), Any, ToonHQ, Any, NA, DefaultDialog),2198    5077: (BR_TIER, Start, (FactoryQuest, ToontownGlobals.SellbotHQ, 2), Any, ToonHQ, Any, NA, DefaultDialog),2199    5078: (BR_TIER, Start, (FactoryQuest, ToontownGlobals.SellbotHQ, 1), Any, ToonHQ, Any, NA, DefaultDialog),2200    5079: (BR_TIER, Start, (FactoryQuest, ToontownGlobals.SellbotHQ, 2), Any, ToonHQ, Any, NA, DefaultDialog),2201    5080: (BR_TIER, Start, (SkelecogQuest, ToontownGlobals.SellbotFactoryInt, 10), Any, ToonHQ, Any, NA, DefaultDialog),2202    5081: (BR_TIER, Start, (SkelecogLevelQuest, ToontownGlobals.SellbotHQ, 5, 5), Any, ToonHQ, Any, NA, DefaultDialog),2203    5082: (BR_TIER, Start, (SkelecogLevelQuest, ToontownGlobals.SellbotHQ, 2, 6), Any, ToonHQ, Any, NA, DefaultDialog),2204    5083: (BR_TIER, Start, (ForemanQuest, ToontownGlobals.SellbotHQ, 1), Any, ToonHQ, Any, NA, DefaultDialog),2205    5084: (BR_TIER, Start, (ForemanQuest, ToontownGlobals.SellbotHQ, 2), Any, ToonHQ, Any, NA, DefaultDialog),2206    5101: (BR_TIER + 1, Start, (CogQuest, ToontownGlobals.TheBrrrgh, 36, Any), Any, ToonHQ, Any, NA, DefaultDialog),2207    5102: (BR_TIER + 1, Start, (CogQuest, ToontownGlobals.TheBrrrgh, 40, Any), Any, ToonHQ, Any, NA, DefaultDialog),2208    5103: (BR_TIER + 1, Start, (CogQuest, ToontownGlobals.TheBrrrgh, 42, Any), Any, ToonHQ, Any, NA, DefaultDialog),2209    5104: (BR_TIER + 1, Start, (CogQuest, Anywhere, 45, Any), Any, ToonHQ, Any, NA, DefaultDialog),2210    5105: (BR_TIER + 1, Start, (CogQuest, Anywhere, 50, Any), Any, ToonHQ, Any, NA, DefaultDialog),2211    5106: (BR_TIER + 1, Start, (CogQuest, Anywhere, 55, Any), Any, ToonHQ, Any, NA, DefaultDialog),2212    5107: (BR_TIER + 1, Start, (CogQuest, Anywhere, 25, 'p'), Any, ToonHQ, Any, NA, DefaultDialog),2213    5108: (BR_TIER + 1, Start, (CogQuest, Anywhere, 20, 'ym'), Any, ToonHQ, Any, NA, DefaultDialog),2214    5109: (BR_TIER + 1, Start, (CogQuest, Anywhere, 20, 'mm'), Any, ToonHQ, Any, NA, DefaultDialog),2215    5110: (BR_TIER + 1, Start, (CogQuest, Anywhere, 15, 'ds'), Any, ToonHQ, Any, NA, DefaultDialog),2216    5111: (BR_TIER + 1, Start, (CogQuest, Anywhere, 15, 'hh'), Any, ToonHQ, Any, NA, DefaultDialog),2217    5112: (BR_TIER + 1, Start, (CogQuest, Anywhere, 8, 'cr'), Any, ToonHQ, Any, NA, DefaultDialog),2218    5113: (BR_TIER + 1, Start, (CogQuest, Anywhere, 25, 'tm'), Any, ToonHQ, Any, NA, DefaultDialog),2219    5114: (BR_TIER + 1, Start, (CogQuest, Anywhere, 20, 'nd'), Any, ToonHQ, Any, NA, DefaultDialog),2220    5115: (BR_TIER + 1, Start, (CogQuest, Anywhere, 20, 'gh'), Any, ToonHQ, Any, NA, DefaultDialog),2221    5116: (BR_TIER + 1, Start, (CogQuest, Anywhere, 15, 'ms'), Any, ToonHQ, Any, NA, DefaultDialog),2222    5117: (BR_TIER + 1, Start, (CogQuest, Anywhere, 15, 'tf'), Any, ToonHQ, Any, NA, DefaultDialog),2223    5118: (BR_TIER + 1, Start, (CogQuest, Anywhere, 8, 'm'), Any, ToonHQ, Any, NA, DefaultDialog),2224    5119: (BR_TIER + 1, Start, (CogQuest, Anywhere, 25, 'pp'), Any, ToonHQ, Any, NA, DefaultDialog),2225    5120: (BR_TIER + 1, Start, (CogQuest, Anywhere, 20, 'tw'), Any, ToonHQ, Any, NA, DefaultDialog),2226    5121: (BR_TIER + 1, Start, (CogQuest, Anywhere, 20, 'bc'), Any, ToonHQ, Any, NA, DefaultDialog),2227    5122: (BR_TIER + 1, Start, (CogQuest, Anywhere, 15, 'nc'), Any, ToonHQ, Any, NA, DefaultDialog),2228    5123: (BR_TIER + 1, Start, (CogQuest, Anywhere, 15, 'mb'), Any, ToonHQ, Any, NA, DefaultDialog),2229    5124: (BR_TIER + 1, Start, (CogQuest, Anywhere, 8, 'ls'), Any, ToonHQ, Any, NA, DefaultDialog),2230    5125: (BR_TIER + 1, Start, (CogQuest, Anywhere, 25, 'b'), Any, ToonHQ, Any, NA, DefaultDialog),2231    5126: (BR_TIER + 1, Start, (CogQuest, Anywhere, 20, 'dt'), Any, ToonHQ, Any, NA, DefaultDialog),2232    5127: (BR_TIER + 1, Start, (CogQuest, Anywhere, 20, 'ac'), Any, ToonHQ, Any, NA, DefaultDialog),2233    5128: (BR_TIER + 1, Start, (CogQuest, Anywhere, 15, 'bs'), Any, ToonHQ, Any, NA, DefaultDialog),2234    5129: (BR_TIER + 1, Start, (CogQuest, Anywhere, 15, 'sd'), Any, ToonHQ, Any, NA, DefaultDialog),2235    5130: (BR_TIER + 1, Start, (CogQuest, Anywhere, 8, 'le'), Any, ToonHQ, Any, NA, DefaultDialog),2236    5131: (BR_TIER + 1, Start, (CogLevelQuest, Anywhere, 25, 5), Any, ToonHQ, Any, NA, DefaultDialog),2237    5132: (BR_TIER + 1, Start, (CogLevelQuest, Anywhere, 30, 5), Any, ToonHQ, Any, NA, DefaultDialog),2238    5133: (BR_TIER + 1, Start, (CogLevelQuest, Anywhere, 35, 6), Any, ToonHQ, Any, NA, DefaultDialog),2239    5134: (BR_TIER + 1, Start, (CogLevelQuest, Anywhere, 6, 7), Any, ToonHQ, Any, NA, DefaultDialog),2240    5135: (BR_TIER + 1, Start, (CogLevelQuest, Anywhere, 10, 7), Any, ToonHQ, Any, NA, DefaultDialog),2241    5136: (BR_TIER + 1, Start, (CogLevelQuest, Anywhere, 20, 7), Any, ToonHQ, Any, NA, DefaultDialog),2242    5137: (BR_TIER + 1, Start, (CogLevelQuest, Anywhere, 2, 8), Any, ToonHQ, Any, NA, DefaultDialog),2243    5138: (BR_TIER + 1, Start, (CogLevelQuest, Anywhere, 8, 8), Any, ToonHQ, Any, NA, DefaultDialog),2244    5139: (BR_TIER + 1, Start, (CogTrackQuest, ToontownGlobals.TheBrrrgh, 32, 'm'), Any, ToonHQ, Any, NA, DefaultDialog),2245    5140: (BR_TIER + 1, Start, (CogTrackQuest, ToontownGlobals.TheBrrrgh, 32, 's'), Any, ToonHQ, Any, NA, DefaultDialog),2246    5141: (BR_TIER + 1, Start, (CogTrackQuest, ToontownGlobals.TheBrrrgh, 32, 'c'), Any, ToonHQ, Any, NA, DefaultDialog),2247    5142: (BR_TIER + 1, Start, (CogTrackQuest, ToontownGlobals.TheBrrrgh, 32, 'l'), Any, ToonHQ, Any, NA, DefaultDialog),2248    5143: (BR_TIER + 1, Start, (CogTrackQuest, ToontownGlobals.TheBrrrgh, 40, 'm'), Any, ToonHQ, Any, NA, DefaultDialog),2249    5144: (BR_TIER + 1, Start, (CogTrackQuest, ToontownGlobals.TheBrrrgh, 40, 's'), Any, ToonHQ, Any, NA, DefaultDialog),2250    5145: (BR_TIER + 1, Start, (CogTrackQuest, ToontownGlobals.TheBrrrgh, 40, 'c'), Any, ToonHQ, Any, NA, DefaultDialog),2251    5146: (BR_TIER + 1, Start, (CogTrackQuest, ToontownGlobals.TheBrrrgh, 40, 'l'), Any, ToonHQ, Any, NA, DefaultDialog),2252    5147: (BR_TIER + 1, Start, (CogTrackQuest, Anywhere, 45, 'm'), Any, ToonHQ, Any, NA, DefaultDialog),2253    5148: (BR_TIER + 1, Start, (CogTrackQuest, Anywhere, 45, 's'), Any, ToonHQ, Any, NA, DefaultDialog),2254    5149: (BR_TIER + 1, Start, (CogTrackQuest, Anywhere, 45, 'c'), Any, ToonHQ, Any, NA, DefaultDialog),2255    5150: (BR_TIER + 1, Start, (CogTrackQuest, Anywhere, 45, 'l'), Any, ToonHQ, Any, NA, DefaultDialog),2256    5151: (BR_TIER + 1, Start, (BuildingQuest, Anywhere, 8, Any, 3), Any, ToonHQ, Any, NA, DefaultDialog),2257    5152: (BR_TIER + 1, Start, (BuildingQuest, Anywhere, 2, Any, 4), Any, ToonHQ, Any, NA, DefaultDialog),2258    5153: (BR_TIER + 1, Start, (BuildingQuest, Anywhere, 5, Any, 4), Any, ToonHQ, Any, NA, DefaultDialog),2259    5154: (BR_TIER + 1, Start, (BuildingQuest, Anywhere, 6, Any, 4), Any, ToonHQ, Any, NA, DefaultDialog),2260    5155: (BR_TIER + 1, Start, (BuildingQuest, Anywhere, 2, 'm', 4), Any, ToonHQ, Any, NA, DefaultDialog),2261    5156: (BR_TIER + 1, Start, (BuildingQuest, Anywhere, 2, 's', 4), Any, ToonHQ, Any, NA, DefaultDialog),2262    5157: (BR_TIER + 1, Start, (BuildingQuest, Anywhere, 2, 'c', 4), Any, ToonHQ, Any, NA, DefaultDialog),2263    5158: (BR_TIER + 1, Start, (BuildingQuest, Anywhere, 2, 'l', 4), Any, ToonHQ, Any, NA, DefaultDialog),2264    5160: (BR_TIER + 1, Start, (CogQuest, ToontownGlobals.SellbotHQ, 22, Any), Any, ToonHQ, Any, NA, DefaultDialog),2265    5161: (BR_TIER + 1, Start, (CogQuest, ToontownGlobals.SellbotHQ, 25, Any), Any, ToonHQ, Any, NA, DefaultDialog),2266    5162: (BR_TIER + 1, Start, (CogLevelQuest, ToontownGlobals.SellbotHQ, 16, 4), Any, ToonHQ, Any, NA, DefaultDialog),2267    5163: (BR_TIER + 1, Start, (CogLevelQuest, ToontownGlobals.SellbotHQ, 12, 5), Any, ToonHQ, Any, NA, DefaultDialog),2268    5164: (BR_TIER + 1, Start, (CogLevelQuest, ToontownGlobals.SellbotFactoryInt, 14, 5), Any, ToonHQ, Any, NA, DefaultDialog),2269    5165: (BR_TIER + 1, Start, (CogLevelQuest, ToontownGlobals.SellbotFactoryInt, 10, 6), Any, ToonHQ, Any, NA, DefaultDialog),2270    5166: (BR_TIER + 1, Start, (FactoryQuest, ToontownGlobals.SellbotHQ, 1), Any, ToonHQ, Any, NA, DefaultDialog),2271    5167: (BR_TIER + 1, Start, (FactoryQuest, ToontownGlobals.SellbotHQ, 2), Any, ToonHQ, Any, NA, DefaultDialog),2272    5168: (BR_TIER + 1, Start, (FactoryQuest, ToontownGlobals.SellbotHQ, 1), Any, ToonHQ, Any, NA, DefaultDialog),2273    5169: (BR_TIER + 1, Start, (FactoryQuest, ToontownGlobals.SellbotHQ, 2), Any, ToonHQ, Any, NA, DefaultDialog),2274    5170: (BR_TIER + 1, Start, (SkelecogQuest, ToontownGlobals.SellbotFactoryInt, 12), Any, ToonHQ, Any, NA, DefaultDialog),2275    5171: (BR_TIER + 1, Start, (SkelecogLevelQuest, ToontownGlobals.SellbotHQ, 6, 5), Any, ToonHQ, Any, NA, DefaultDialog),2276    5172: (BR_TIER + 1, Start, (SkelecogLevelQuest, ToontownGlobals.SellbotHQ, 3, 6), Any, ToonHQ, Any, NA, DefaultDialog),2277    5173: (BR_TIER + 1, Start, (ForemanQuest, ToontownGlobals.SellbotHQ, 1), Any, ToonHQ, Any, NA, DefaultDialog),2278    5174: (BR_TIER + 1, Start, (ForemanQuest, ToontownGlobals.SellbotHQ, 2), Any, ToonHQ, Any, NA, DefaultDialog),2279    5200: (BR_TIER + 1, Start, (VisitQuest,), Any, 3110, NA, (5201, 5261, 5262, 5263), TTLocalizer.QuestDialogDict[5200]),2280    5201: (BR_TIER + 1, Start, (RecoverItemQuest, Anywhere, 1, 3001, VeryHard, 'hh'), 3110, Same, 100, NA, TTLocalizer.QuestDialogDict[5201]),2281    5261: (BR_TIER + 1, Start, (RecoverItemQuest, Anywhere, 1, 3001, VeryHard, 'tf'), 3110, Same, 100, NA, TTLocalizer.QuestDialogDict[5261]),2282    5262: (BR_TIER + 1, Start, (RecoverItemQuest, Anywhere, 1, 3001, VeryHard, 'mb'), 3110, Same, 100, NA, TTLocalizer.QuestDialogDict[5262]),2283    5263: (BR_TIER + 1, Start, (RecoverItemQuest, Anywhere, 1, 3001, VeryHard, 'sd'), 3110, Same, 100, NA, TTLocalizer.QuestDialogDict[5263]),2284    5202: (BR_TIER + 1, Start, (VisitQuest,), Any, 3108, NA, 5203, TTLocalizer.QuestDialogDict[5202]),2285    5203: (BR_TIER + 1, Start, (RecoverItemQuest, ToontownGlobals.TheBrrrgh, 1, 3002, VeryHard, Any), 3108, Same, NA, 5204, TTLocalizer.QuestDialogDict[5203]),2286    5204: (BR_TIER + 1, Cont, (VisitQuest,), Same, 3205, NA, 5205, TTLocalizer.QuestDialogDict[5204]),2287    5205: (BR_TIER + 1, Cont, (RecoverItemQuest, ToontownGlobals.TheBrrrgh, 3, 3003, Hard, AnyFish), Same, Same, NA, 5206, TTLocalizer.QuestDialogDict[5205]),2288    5206: (BR_TIER + 1, Cont, (VisitQuest,), Same, 3210, NA, 5207, TTLocalizer.QuestDialogDict[5206]),2289    5207: (BR_TIER + 1, Cont, (BuildingQuest, Anywhere, 5, Any, 4), Same, Same, NA, 5208, TTLocalizer.QuestDialogDict[5207]),2290    5208: (BR_TIER + 1, Cont, (VisitQuest,), Same, 3114, NA, 5209, TTLocalizer.QuestDialogDict[5208]),2291    5209: (BR_TIER + 1, Cont, (CogLevelQuest, Anywhere, 20, 7), Same, Same, 204, NA, TTLocalizer.QuestDialogDict[5209]),2292    5210: (BR_TIER + 1, Start, (VisitQuest,), Any, 3206, NA, (5211, 5264, 5265, 5266), TTLocalizer.QuestDialogDict[5210]),2293    5211: (BR_TIER + 1, Start, (RecoverItemQuest, ToontownGlobals.TheBrrrgh, 1, 3004, Medium, 'le'), 3206, Same, NA, 5212, TTLocalizer.QuestDialogDict[5211]),2294    5264: (BR_TIER + 1, Start, (RecoverItemQuest, ToontownGlobals.TheBrrrgh, 1, 3004, Hard, 'ls'), 3206, Same, NA, 5212, TTLocalizer.QuestDialogDict[5264]),2295    5265: (BR_TIER + 1, Start, (RecoverItemQuest, ToontownGlobals.TheBrrrgh, 1, 3004, Hard, 'm'), 3206, Same, NA, 5212, TTLocalizer.QuestDialogDict[5265]),2296    5266: (BR_TIER + 1, Start, (RecoverItemQuest, ToontownGlobals.TheBrrrgh, 1, 3004, Hard, 'cr'), 3206, Same, NA, 5212, TTLocalizer.QuestDialogDict[5266]),2297    5212: (BR_TIER + 1, Cont, (DeliverItemQuest, 3004), Same, 3111, NA, 5213, TTLocalizer.QuestDialogDict[5212]),2298    5213: (BR_TIER + 1, Cont, (RecoverItemQuest, ToontownGlobals.TheBrrrgh, 10, 3005, Hard, Any), Same, Same, NA, 5214, TTLocalizer.QuestDialogDict[5213]),2299    5214: (BR_TIER + 1, Cont, (VisitQuest,), Same, 3119, NA, 5215, TTLocalizer.QuestDialogDict[5214]),2300    5215: (BR_TIER + 1, Cont, (CogLevelQuest, Anywhere, 10, 8), Same, Same, NA, 5216, TTLocalizer.QuestDialogDict[5215]),2301    5216: (BR_TIER + 1, Cont, (DeliverItemQuest, 3006), Same, 3206, 704, NA, TTLocalizer.QuestDialogDict[5216]),2302    5217: (BR_TIER + 1, Start, (VisitQuest,), Any, 3113, NA, 5218, TTLocalizer.QuestDialogDict[5217]),2303    5218: (BR_TIER + 1, Start, (CogQuest, Anywhere, 10, 'm'), 3113, Same, NA, 5219, TTLocalizer.QuestDialogDict[5218]),2304    5219: (BR_TIER + 1, Cont, (CogQuest, Anywhere, 10, 'cr'), Same, Same, NA, 5220, TTLocalizer.QuestDialogDict[5219]),2305    5220: (BR_TIER + 1, Cont, (CogQuest, Anywhere, 10, 'ls'), Same, Same, NA, 5221, TTLocalizer.QuestDialogDict[5220]),2306    5221: (BR_TIER + 1, Cont, (VisitQuest,), Same, 3211, NA, 5222, TTLocalizer.QuestDialogDict[5221]),2307    5222: (BR_TIER + 1, Cont, (RecoverItemQuest, Anywhere, 2, 3007, Hard, AnyFish), Same, Same, NA, 5223, TTLocalizer.QuestDialogDict[5222]),2308    5223: (BR_TIER + 1, Cont, (DeliverItemQuest, 3008), Same, 3113, NA, 5224, TTLocalizer.QuestDialogDict[5223]),2309    5224: (BR_TIER + 1, Cont, (CogQuest, Anywhere, 5, 'le'), Same, Same, 502, NA, TTLocalizer.QuestDialogDict[5224]),2310    5225: (BR_TIER + 1, Start, (VisitQuest,), Any, 3106, NA, 5226, TTLocalizer.QuestDialogDict[5225]),2311    5226: (BR_TIER + 1, Start, (BuildingQuest, Anywhere, 3, 'm', 4), 3106, Same, NA, 5227, TTLocalizer.QuestDialogDict[5226]),2312    5227: (BR_TIER + 1, Cont, (VisitQuest,), Same, 3208, NA, 5228, TTLocalizer.QuestDialogDict[5227]),2313    5228: (BR_TIER + 1, Cont, (DeliverItemQuest, 3009), Same, 3207, NA, (5229, 5267, 5268, 5269), TTLocalizer.QuestDialogDict[5228]),2314    5229: (BR_TIER + 1, Cont, (CogTrackQuest, ToontownGlobals.TheBrrrgh, 8, 'm'), Same, Same, NA, 5230, TTLocalizer.QuestDialogDict[5229]),2315    5267: (BR_TIER + 1, Cont, (CogTrackQuest, ToontownGlobals.TheBrrrgh, 8, 's'), Same, Same, NA, 5230, TTLocalizer.QuestDialogDict[5267]),2316    5268: (BR_TIER + 1, Cont, (CogTrackQuest, ToontownGlobals.TheBrrrgh, 8, 'l'), Same, Same, NA, 5230, TTLocalizer.QuestDialogDict[5268]),2317    5269: (BR_TIER + 1, Cont, (CogTrackQuest, ToontownGlobals.TheBrrrgh, 8, 'c'), Same, Same, NA, (5230, 5270, 5271, 5272), TTLocalizer.QuestDialogDict[5269]),2318    5230: (BR_TIER + 1, Cont, (RecoverItemQuest, Anywhere, 1, 3010, Hard, 'rb'), Same, Same, NA, 5231, TTLocalizer.QuestDialogDict[5230]),2319    5270: (BR_TIER + 1, Cont, (RecoverItemQuest, Anywhere, 1, 3010, Hard, 'tbc'), Same, Same, NA, 5231, TTLocalizer.QuestDialogDict[5270]),2320    5271: (BR_TIER + 1, Cont, (RecoverItemQuest, Anywhere, 1, 3010, Hard, 'mh'), Same, Same, NA, 5231, TTLocalizer.QuestDialogDict[5271]),2321    5272: (BR_TIER + 1, Cont, (RecoverItemQuest, Anywhere, 1, 3010, Medium, 'bw'), Same, Same, NA, 5231, TTLocalizer.QuestDialogDict[5272]),2322    5231: (BR_TIER + 1, Cont, (DeliverItemQuest, 3010), Same, 3208, NA, 5232, TTLocalizer.QuestDialogDict[5231]),2323    5232: (BR_TIER + 1, Cont, (VisitQuest,), Same, 3106, NA, 5233, TTLocalizer.QuestDialogDict[5232]),2324    5233: (BR_TIER + 1, Cont, (DeliverItemQuest, 3011), Same, 3208, 304, NA, TTLocalizer.QuestDialogDict[5233]),2325    5243: (BR_TIER + 1, Start, (VisitQuest,), Any, 3217, NA, 5244, TTLocalizer.QuestDialogDict[5243]),2326    5244: (BR_TIER + 1, Start, (RecoverItemQuest, Anywhere, 1, 2007, VeryHard, 'mm'), 3217, Same, NA, 5245, TTLocalizer.QuestDialogDict[5244]),2327    5245: (BR_TIER + 1, Cont, (RecoverItemQuest, Anywhere, 1, 3017, Hard, AnyFish), Same, Same, NA, 5246, TTLocalizer.QuestDialogDict[5245]),2328    5246: (BR_TIER + 1, Cont, (BuildingQuest, ToontownGlobals.TheBrrrgh, 5, Any, 1), Same, Same, 101, NA, TTLocalizer.QuestDialogDict[5246]),2329    5251: (BR_TIER + 1, Start, (VisitQuest,), Any, 3134, NA, 5252, TTLocalizer.QuestDialogDict[5251]),2330    5252: (BR_TIER + 1, Start, (RecoverItemQuest, Anywhere, 1, 3019, VeryHard, Any), 3134, Same, NA, (5253, 5273, 5274, 5275), TTLocalizer.QuestDialogDict[5252]),2331    5253: (BR_TIER + 1, Cont, (RecoverItemQuest, Anywhere, 1, 3020, VeryHard, 'cr'), Same, Same, NA, (5254, 5282, 5283, 5284), TTLocalizer.QuestDialogDict[5253]),2332    5273: (BR_TIER + 1, Cont, (RecoverItemQuest, Anywhere, 1, 3020, VeryHard, 'm'), Same, Same, NA, (5254, 5282, 5283, 5284), TTLocalizer.QuestDialogDict[5273]),2333    5274: (BR_TIER + 1, Cont, (RecoverItemQuest, Anywhere, 1, 3020, VeryHard, 'ls'), Same, Same, NA, (5254, 5282, 5283, 5284), TTLocalizer.QuestDialogDict[5274]),2334    5275: (BR_TIER + 1, Cont, (RecoverItemQuest, Anywhere, 1, 3020, Hard, 'le'), Same, Same, NA, (5254, 5282, 5283, 5284), TTLocalizer.QuestDialogDict[5275]),2335    5254: (BR_TIER + 1, Cont, (RecoverItemQuest, Anywhere, 1, 3021, VeryHard, 'mh'), Same, Same, 102, NA, TTLocalizer.QuestDialogDict[5254]),2336    5282: (BR_TIER + 1, Cont, (RecoverItemQuest, Anywhere, 1, 3021, VeryHard, 'tbc'), Same, Same, 102, NA, TTLocalizer.QuestDialogDict[5282]),2337    5283: (BR_TIER + 1, Cont, (RecoverItemQuest, Anywhere, 1, 3021, VeryHard, 'rb'), Same, Same, 102, NA, TTLocalizer.QuestDialogDict[5283]),2338    5284: (BR_TIER + 1, Cont, (RecoverItemQuest, Anywhere, 1, 3021, Hard, 'bw'), Same, Same, 102, NA, TTLocalizer.QuestDialogDict[5284]),2339    5255: (BR_TIER + 1, Start, (VisitQuest,), Any, 3228, NA, (5256, 5276), TTLocalizer.QuestDialogDict[5255]),2340    5256: (BR_TIER + 1, Cont, (CogTrackQuest, Anywhere, 45, 'c'), 3228, Same, NA, (5257, 5277), TTLocalizer.QuestDialogDict[5256]),2341    5276: (BR_TIER + 1, Cont, (CogTrackQuest, Anywhere, 40, 'l'), 3228, Same, NA, (5257, 5277), TTLocalizer.QuestDialogDict[5276]),2342    5257: (BR_TIER + 1, Cont, (CogTrackQuest, Anywhere, 45, 's'), Same, Same, 100, NA, TTLocalizer.QuestDialogDict[5257]),2343    5277: (BR_TIER + 1, Cont, (CogTrackQuest, Anywhere, 45, 'm'), Same, Same, 100, NA, TTLocalizer.QuestDialogDict[5277]),2344    5301: (BR_TIER + 1, Start, (VisitQuest,), Any, 3304, NA, 5302, TTLocalizer.QuestDialogDict[5301]),2345    5302: (BR_TIER + 1, Cont, (CogTrackQuest, Anywhere, 90, 'l'), Same, Same, 100, NA, TTLocalizer.QuestDialogDict[5302]),2346    5303: (BR_TIER + 1, Start, (VisitQuest,), Any, 3318, NA, 5304, TTLocalizer.QuestDialogDict[5303]),2347    5304: (BR_TIER + 1, Cont, (RecoverItemQuest, ToontownGlobals.TheBrrrgh, 1, 3024, VeryHard, 'l', 'track'), Same, Same, NA, 5305, TTLocalizer.QuestDialogDict[5304]),2348    5305: (BR_TIER + 1, Cont, (CogLevelQuest, Anywhere, 20, 7), Same, Same, NA, 5306, TTLocalizer.QuestDialogDict[5305]),2349    5306: (BR_TIER + 1, Cont, (RecoverItemQuest, ToontownGlobals.TheBrrrgh, 2, 3025, Hard, AnyFish), Same, Same, NA, 5307, TTLocalizer.QuestDialogDict[5306]),2350    5307: (BR_TIER + 1, Cont, (BuildingQuest, Anywhere, 5, Any, 4), Same, Same, 204, NA, TTLocalizer.QuestDialogDict[5307]),2351    5308: (BR_TIER + 1, Start, (VisitQuest,), Any, 3312, NA, 5309, TTLocalizer.QuestDialogDict[5308]),2352    5309: (BR_TIER + 1, Start, (CogTrackQuest, ToontownGlobals.PolarPlace, 30, 'l'), Same, Same, NA, 5310, TTLocalizer.QuestDialogDict[5309]),2353    5310: (BR_TIER + 1, Cont, (VisitQuest,), Same, 3113, NA, 5311, TTLocalizer.QuestDialogDict[5310]),2354    5311: (BR_TIER + 1, Cont, (RecoverItemQuest, Anywhere, 2, 3026, Medium, 'le'), Same, Same, NA, 5312, TTLocalizer.QuestDialogDict[5311]),2355    5312: (BR_TIER + 1, Cont, (DeliverItemQuest, 3026), Same, 3312, 502, NA, TTLocalizer.QuestDialogDict[5312]),2356    5290: (BR_TIER + 1, Start, (CogNewbieQuest, ToontownGlobals.ToontownCentral, 12, Any, NEWBIE_HP), Any, ToonHQ, 606, NA, DefaultDialog),2357    5291: (BR_TIER + 1, Start, (CogNewbieQuest, ToontownGlobals.ToontownCentral, 12, Any, NEWBIE_HP), Any, ToonHQ, 606, NA, DefaultDialog),2358    5292: (BR_TIER + 1, Start, (CogNewbieQuest, ToontownGlobals.ToontownCentral, 12, Any, NEWBIE_HP), Any, ToonHQ, 606, NA, DefaultDialog),2359    5293: (BR_TIER + 1, Start, (CogNewbieQuest, ToontownGlobals.ToontownCentral, 12, Any, NEWBIE_HP), Any, ToonHQ, 606, NA, DefaultDialog),2360    5294: (BR_TIER + 1, Start, (BuildingNewbieQuest, Anywhere, 1, Any, 1, NEWBIE_HP), Any, ToonHQ, 607, NA, DefaultDialog),2361    5295: (BR_TIER + 1, Start, (BuildingNewbieQuest, Anywhere, 1, Any, 1, NEWBIE_HP), Any, ToonHQ, 607, NA, DefaultDialog),2362    5296: (BR_TIER + 1, Start, (BuildingNewbieQuest, Anywhere, 1, Any, 1, NEWBIE_HP), Any, ToonHQ, 607, NA, DefaultDialog),2363    5297: (BR_TIER + 1, Start, (BuildingNewbieQuest, Anywhere, 1, Any, 1, NEWBIE_HP), Any, ToonHQ, 607, NA, DefaultDialog),2364    5500: (BR_TIER + 1, Start, (CogQuest, ToontownGlobals.TheBrrrgh, 75, Any), Any, ToonHQ, NA, 5501, DefaultDialog),2365    5501: (BR_TIER + 1, Cont, (DeliverItemQuest, 1000), Any, 3008, 1000, NA, DefaultDialog),2366    903: (BR_TIER + 2, Start, (VisitQuest,), Any, 3112, NA, (5234, 5278), TTLocalizer.QuestDialogDict[903]),2367    5234: (BR_TIER + 2, Start, (RecoverItemQuest, Anywhere, 6, 3012, Medium, 'tbc'), 3112, Same, NA, (5235, 5279), TTLocalizer.QuestDialogDict[5234]),2368    5278: (BR_TIER + 2, Start, (RecoverItemQuest, Anywhere, 6, 3022, Medium, 'mh'), 3112, Same, NA, (5235, 5279), TTLocalizer.QuestDialogDict[5278]),2369    5235: (BR_TIER + 2, Cont, (RecoverItemQuest, Anywhere, 1, 3013, Hard, 'rb'), Same, Same, NA, 5236, TTLocalizer.QuestDialogDict[5235]),2370    5279: (BR_TIER + 2, Cont, (RecoverItemQuest, Anywhere, 1, 3013, Medium, 'bw'), Same, Same, NA, 5236, TTLocalizer.QuestDialogDict[5279]),2371    5236: (BR_TIER + 2, Cont, (RecoverItemQuest, Anywhere, 1, 3014, VeryHard, AnyFish), Same, Same, NA, 5237, TTLocalizer.QuestDialogDict[5236]),2372    5237: (BR_TIER + 2, Cont, (VisitQuest,), Same, 3128, NA, (5238, 5280), TTLocalizer.QuestDialogDict[5237]),2373    5238: (BR_TIER + 2, Cont, (RecoverItemQuest, Anywhere, 10, 3015, VeryEasy, 'mh'), Same, Same, NA, 5239, TTLocalizer.QuestDialogDict[5238]),2374    5280: (BR_TIER + 2, Cont, (RecoverItemQuest, Anywhere, 10, 3015, VeryEasy, 'tbc'), Same, Same, NA, 5239, TTLocalizer.QuestDialogDict[5280]),2375    5239: (BR_TIER + 2, Cont, (DeliverItemQuest, 3015), Same, 3112, NA, (5240, 5281), TTLocalizer.QuestDialogDict[5239]),2376    5240: (BR_TIER + 2, Cont, (RecoverItemQuest, Anywhere, 1, 3016, Hard, 'bw'), Same, Same, NA, 5241, TTLocalizer.QuestDialogDict[5240]),2377    5281: (BR_TIER + 2, Cont, (RecoverItemQuest, Anywhere, 1, 3023, Hard, 'mh'), Same, Same, NA, 5241, TTLocalizer.QuestDialogDict[5281]),2378    5241: (BR_TIER + 2, Cont, (BuildingQuest, Anywhere, 20, Any, 4), Same, Same, NA, 5242, TTLocalizer.QuestDialogDict[5241]),2379    5242: (BR_TIER + 2, Cont, (RecoverItemQuest, Anywhere, 1, 3014, VeryHard, AnyFish), Same, Same, 900, NA, TTLocalizer.QuestDialogDict[5242]),2380    5320: (BR_TIER + 2, Start, (CogQuest, Anywhere, 36, Any), Any, ToonHQ, Any, NA, DefaultDialog),2381    5321: (BR_TIER + 2, Start, (CogQuest, Anywhere, 38, Any), Any, ToonHQ, Any, NA, DefaultDialog),2382    5322: (BR_TIER + 2, Start, (CogQuest, Anywhere, 40, Any), Any, ToonHQ, Any, NA, DefaultDialog),2383    5323: (BR_TIER + 2, Start, (CogQuest, Anywhere, 42, Any), Any, ToonHQ, Any, NA, DefaultDialog),2384    5324: (BR_TIER + 2, Start, (CogQuest, Anywhere, 44, Any), Any, ToonHQ, Any, NA, DefaultDialog),2385    5325: (BR_TIER + 2, Start, (CogQuest, Anywhere, 46, Any), Any, ToonHQ, Any, NA, DefaultDialog),2386    5326: (BR_TIER + 2, Start, (CogQuest, Anywhere, 48, Any), Any, ToonHQ, Any, NA, DefaultDialog),2387    5327: (BR_TIER + 2, Start, (CogQuest, Anywhere, 53, Any), Any, ToonHQ, Any, NA, DefaultDialog),2388    5328: (BR_TIER + 2, Start, (CogQuest, Anywhere, 52, Any), Any, ToonHQ, Any, NA, DefaultDialog),2389    5329: (BR_TIER + 2, Start, (CogQuest, Anywhere, 54, Any), Any, ToonHQ, Any, NA, DefaultDialog),2390    5330: (BR_TIER + 2, Start, (CogLevelQuest, Anywhere, 25, 5), Any, ToonHQ, Any, NA, DefaultDialog),2391    5331: (BR_TIER + 2, Start, (CogLevelQuest, Anywhere, 30, 5), Any, ToonHQ, Any, NA, DefaultDialog),2392    5332: (BR_TIER + 2, Start, (CogLevelQuest, Anywhere, 35, 6), Any, ToonHQ, Any, NA, DefaultDialog),2393    5333: (BR_TIER + 2, Start, (CogLevelQuest, Anywhere, 6, 7), Any, ToonHQ, Any, NA, DefaultDialog),2394    5334: (BR_TIER + 2, Start, (CogLevelQuest, Anywhere, 10, 7), Any, ToonHQ, Any, NA, DefaultDialog),2395    5335: (BR_TIER + 2, Start, (CogLevelQuest, Anywhere, 20, 7), Any, ToonHQ, Any, NA, DefaultDialog),2396    5336: (BR_TIER + 2, Start, (CogLevelQuest, Anywhere, 2, 8), Any, ToonHQ, Any, NA, DefaultDialog),2397    5337: (BR_TIER + 2, Start, (CogLevelQuest, Anywhere, 8, 8), Any, ToonHQ, Any, NA, DefaultDialog),2398    5338: (BR_TIER + 2, Start, (CogLevelQuest, Anywhere, 10, 8), Any, ToonHQ, Any, NA, DefaultDialog),2399    5339: (BR_TIER + 2, Start, (CogLevelQuest, Anywhere, 12, 8), Any, ToonHQ, Any, NA, DefaultDialog),2400    5340: (BR_TIER + 2, Start, (CogQuest, ToontownGlobals.TheBrrrgh, 75, Any), Any, ToonHQ, NA, 5341, DefaultDialog),2401    5341: (BR_TIER + 2, Cont, (DeliverItemQuest, 1000), Any, 3008, 1000, NA, DefaultDialog),2402    5360: (BR_TIER + 2, Start, (CogNewbieQuest, ToontownGlobals.ToontownCentral, 20, Any, NEWBIE_HP), Any, ToonHQ, 606, NA, DefaultDialog),2403    5361: (BR_TIER + 2, Start, (CogNewbieQuest, ToontownGlobals.ToontownCentral, 20, Any, NEWBIE_HP), Any, ToonHQ, 606, NA, DefaultDialog),2404    5362: (BR_TIER + 2, Start, (CogNewbieQuest, ToontownGlobals.ToontownCentral, 20, Any, NEWBIE_HP), Any, ToonHQ, 606, NA, DefaultDialog),2405    5363: (BR_TIER + 2, Start, (CogNewbieQuest, ToontownGlobals.ToontownCentral, 20, Any, NEWBIE_HP), Any, ToonHQ, 606, NA, DefaultDialog),2406    5364: (BR_TIER + 2, Start, (BuildingNewbieQuest, Anywhere, 1, Any, 1, NEWBIE_HP), Any, ToonHQ, 607, NA, DefaultDialog),2407    5365: (BR_TIER + 2, Start, (BuildingNewbieQuest, Anywhere, 1, Any, 1, NEWBIE_HP), Any, ToonHQ, 607, NA, DefaultDialog),2408    5366: (BR_TIER + 2, Start, (BuildingNewbieQuest, Anywhere, 1, Any, 1, NEWBIE_HP), Any, ToonHQ, 607, NA, DefaultDialog),2409    5367: (BR_TIER + 2, Start, (BuildingNewbieQuest, Anywhere, 1, Any, 1, NEWBIE_HP), Any, ToonHQ, 607, NA, DefaultDialog),2410    5370: (BR_TIER + 2, Start, (CogQuest, ToontownGlobals.SellbotHQ, 22, Any), Any, ToonHQ, Any, NA, DefaultDialog),2411    5371: (BR_TIER + 2, Start, (CogQuest, ToontownGlobals.SellbotHQ, 25, Any), Any, ToonHQ, Any, NA, DefaultDialog),2412    5372: (BR_TIER + 2, Start, (CogLevelQuest, ToontownGlobals.SellbotHQ, 16, 4), Any, ToonHQ, Any, NA, DefaultDialog),2413    5373: (BR_TIER + 2, Start, (CogLevelQuest, ToontownGlobals.SellbotHQ, 12, 5), Any, ToonHQ, Any, NA, DefaultDialog),2414    5374: (BR_TIER + 2, Start, (CogLevelQuest, ToontownGlobals.SellbotFactoryInt, 14, 5), Any, ToonHQ, Any, NA, DefaultDialog),2415    5375: (BR_TIER + 2, Start, (CogLevelQuest, ToontownGlobals.SellbotFactoryInt, 10, 6), Any, ToonHQ, Any, NA, DefaultDialog),2416    5376: (BR_TIER + 2, Start, (FactoryQuest, ToontownGlobals.SellbotHQ, 1), Any, ToonHQ, Any, NA, DefaultDialog),2417    5377: (BR_TIER + 2, Start, (FactoryQuest, ToontownGlobals.SellbotHQ, 2), Any, ToonHQ, Any, NA, DefaultDialog),2418    5378: (BR_TIER + 2, Start, (FactoryQuest, ToontownGlobals.SellbotHQ, 1), Any, ToonHQ, Any, NA, DefaultDialog),2419    5379: (BR_TIER + 2, Start, (FactoryQuest, ToontownGlobals.SellbotHQ, 2), Any, ToonHQ, Any, NA, DefaultDialog),2420    5380: (BR_TIER + 2, Start, (SkelecogQuest, ToontownGlobals.SellbotFactoryInt, 12), Any, ToonHQ, Any, NA, DefaultDialog),2421    5381: (BR_TIER + 2, Start, (SkelecogLevelQuest, ToontownGlobals.SellbotHQ, 6, 5), Any, ToonHQ, Any, NA, DefaultDialog),2422    5382: (BR_TIER + 2, Start, (SkelecogLevelQuest, ToontownGlobals.SellbotHQ, 3, 6), Any, ToonHQ, Any, NA, DefaultDialog),2423    5383: (BR_TIER + 2, Start, (ForemanQuest, ToontownGlobals.SellbotHQ, 1), Any, ToonHQ, Any, NA, DefaultDialog),2424    5384: (BR_TIER + 2, Start, (ForemanQuest, ToontownGlobals.SellbotHQ, 2), Any, ToonHQ, Any, NA, DefaultDialog),2425    6101: (DL_TIER, Start, (CogQuest, ToontownGlobals.DonaldsDreamland, 60, Any), Any, ToonHQ, Any, NA, DefaultDialog),2426    6102: (DL_TIER, Start, (CogQuest, ToontownGlobals.DonaldsDreamland, 65, Any), Any, ToonHQ, Any, NA, DefaultDialog),2427    6103: (DL_TIER, OBSOLETE, (CogQuest, ToontownGlobals.DonaldsDreamland, 70, Any), Any, ToonHQ, Any, NA, DefaultDialog),2428    6104: (DL_TIER, Start, (CogQuest, Anywhere, 80, Any), Any, ToonHQ, Any, NA, DefaultDialog),2429    6105: (DL_TIER, Start, (CogQuest, Anywhere, 90, Any), Any, ToonHQ, Any, NA, DefaultDialog),2430    6106: (DL_TIER, Start, (CogQuest, Anywhere, 100, Any), Any, ToonHQ, Any, NA, DefaultDialog),2431    6107: (DL_TIER, Start, (CogQuest, Anywhere, 25, 'ym'), Any, ToonHQ, Any, NA, DefaultDialog),2432    6108: (DL_TIER, Start, (CogQuest, Anywhere, 25, 'mm'), Any, ToonHQ, Any, NA, DefaultDialog),2433    6109: (DL_TIER, Start, (CogQuest, Anywhere, 25, 'ds'), Any, ToonHQ, Any, NA, DefaultDialog),2434    6110: (DL_TIER, Start, (CogQuest, Anywhere, 25, 'hh'), Any, ToonHQ, Any, NA, DefaultDialog),2435    6111: (DL_TIER, Start, (CogQuest, Anywhere, 15, 'cr'), Any, ToonHQ, Any, NA, DefaultDialog),2436    6112: (DL_TIER, Start, (CogQuest, Anywhere, 8, 'tbc'), Any, ToonHQ, Any, NA, DefaultDialog),2437    6113: (DL_TIER, Start, (CogQuest, Anywhere, 25, 'nd'), Any, ToonHQ, Any, NA, DefaultDialog),2438    6114: (DL_TIER, Start, (CogQuest, Anywhere, 25, 'gh'), Any, ToonHQ, Any, NA, DefaultDialog),2439    6115: (DL_TIER, Start, (CogQuest, Anywhere, 25, 'ms'), Any, ToonHQ, Any, NA, DefaultDialog),2440    6116: (DL_TIER, Start, (CogQuest, Anywhere, 25, 'tf'), Any, ToonHQ, Any, NA, DefaultDialog),2441    6117: (DL_TIER, Start, (CogQuest, Anywhere, 15, 'm'), Any, ToonHQ, Any, NA, DefaultDialog),2442    6118: (DL_TIER, Start, (CogQuest, Anywhere, 8, 'mh'), Any, ToonHQ, Any, NA, DefaultDialog),2443    6119: (DL_TIER, Start, (CogQuest, Anywhere, 25, 'tw'), Any, ToonHQ, Any, NA, DefaultDialog),2444    6120: (DL_TIER, Start, (CogQuest, Anywhere, 25, 'bc'), Any, ToonHQ, Any, NA, DefaultDialog),2445    6121: (DL_TIER, Start, (CogQuest, Anywhere, 25, 'nc'), Any, ToonHQ, Any, NA, DefaultDialog),2446    6122: (DL_TIER, OBSOLETE, (CogQuest, Anywhere, 25, 'mb'), Any, ToonHQ, Any, NA, DefaultDialog),2447    6123: (DL_TIER, Start, (CogQuest, Anywhere, 15, 'ls'), Any, ToonHQ, Any, NA, DefaultDialog),2448    6124: (DL_TIER, Start, (CogQuest, Anywhere, 8, 'rb'), Any, ToonHQ, Any, NA, DefaultDialog),2449    6125: (DL_TIER, Start, (CogQuest, Anywhere, 25, 'dt'), Any, ToonHQ, Any, NA, DefaultDialog),2450    6126: (DL_TIER, Start, (CogQuest, Anywhere, 25, 'ac'), Any, ToonHQ, Any, NA, DefaultDialog),2451    6127: (DL_TIER, Start, (CogQuest, Anywhere, 25, 'bs'), Any, ToonHQ, Any, NA, DefaultDialog),2452    6128: (DL_TIER, Start, (CogQuest, Anywhere, 25, 'sd'), Any, ToonHQ, Any, NA, DefaultDialog),2453    6129: (DL_TIER, Start, (CogQuest, Anywhere, 15, 'le'), Any, ToonHQ, Any, NA, DefaultDialog),2454    6130: (DL_TIER, Start, (CogQuest, Anywhere, 8, 'bw'), Any, ToonHQ, Any, NA, DefaultDialog),2455    6131: (DL_TIER, Start, (CogLevelQuest, Anywhere, 50, 5), Any, ToonHQ, Any, NA, DefaultDialog),2456    6132: (DL_TIER, Start, (CogLevelQuest, Anywhere, 40, 6), Any, ToonHQ, Any, NA, DefaultDialog),2457    6133: (DL_TIER, Start, (CogLevelQuest, Anywhere, 35, 7), Any, ToonHQ, Any, NA, DefaultDialog),2458    6134: (DL_TIER, Start, (CogLevelQuest, Anywhere, 30, 8), Any, ToonHQ, Any, NA, DefaultDialog),2459    6135: (DL_TIER, Start, (CogLevelQuest, Anywhere, 25, 9), Any, ToonHQ, Any, NA, DefaultDialog),2460    6136: (DL_TIER, Start, (CogLevelQuest, Anywhere, 20, 9), Any, ToonHQ, Any, NA, DefaultDialog),2461    6137: (DL_TIER, Start, (CogLevelQuest, Anywhere, 15, 9), Any, ToonHQ, Any, NA, DefaultDialog),2462    6138: (DL_TIER, Start, (CogLevelQuest, Anywhere, 10, 10), Any, ToonHQ, Any, NA, DefaultDialog),2463    6139: (DL_TIER, Start, (CogTrackQuest, ToontownGlobals.DonaldsDreamland, 50, 'm'), Any, ToonHQ, Any, NA, DefaultDialog),2464    6140: (DL_TIER, Start, (CogTrackQuest, ToontownGlobals.DonaldsDreamland, 50, 's'), Any, ToonHQ, Any, NA, DefaultDialog),2465    6141: (DL_TIER, OBSOLETE, (CogTrackQuest, ToontownGlobals.DonaldsDreamland, 50, 'c'), Any, ToonHQ, Any, NA, DefaultDialog),2466    6142: (DL_TIER, Start, (CogTrackQuest, ToontownGlobals.DonaldsDreamland, 50, 'l'), Any, ToonHQ, Any, NA, DefaultDialog),2467    6143: (DL_TIER, OBSOLETE, (CogTrackQuest, ToontownGlobals.DonaldsDreamland, 55, 'm'), Any, ToonHQ, Any, NA, DefaultDialog),2468    6144: (DL_TIER, Start, (CogTrackQuest, ToontownGlobals.DonaldsDreamland, 55, 's'), Any, ToonHQ, Any, NA, DefaultDialog),2469    6145: (DL_TIER, Start, (CogTrackQuest, ToontownGlobals.DonaldsDreamland, 55, 'c'), Any, ToonHQ, Any, NA, DefaultDialog),2470    6146: (DL_TIER, Start, (CogTrackQuest, ToontownGlobals.DonaldsDreamland, 55, 'l'), Any, ToonHQ, Any, NA, DefaultDialog),2471    6147: (DL_TIER, OBSOLETE, (CogTrackQuest, Anywhere, 70, 'm'), Any, ToonHQ, Any, NA, DefaultDialog),2472    6148: (DL_TIER, Start, (CogTrackQuest, Anywhere, 70, 's'), Any, ToonHQ, Any, NA, DefaultDialog),2473    6149: (DL_TIER, Start, (CogTrackQuest, Anywhere, 70, 'c'), Any, ToonHQ, Any, NA, DefaultDialog),2474    6150: (DL_TIER, Start, (CogTrackQuest, Anywhere, 70, 'l'), Any, ToonHQ, Any, NA, DefaultDialog),2475    6151: (DL_TIER, Start, (BuildingQuest, Anywhere, 10, Any, 2), Any, ToonHQ, Any, NA, DefaultDialog),2476    6152: (DL_TIER, Start, (BuildingQuest, Anywhere, 6, Any, 4), Any, ToonHQ, Any, NA, DefaultDialog),2477    6153: (DL_TIER, OBSOLETE, (BuildingQuest, Anywhere, 8, Any, 4), Any, ToonHQ, Any, NA, DefaultDialog),2478    6154: (DL_TIER, Start, (BuildingQuest, Anywhere, 6, Any, 5), Any, ToonHQ, Any, NA, DefaultDialog),2479    6155: (DL_TIER, Start, (BuildingQuest, Anywhere, 2, 'm', 5), Any, ToonHQ, Any, NA, DefaultDialog),2480    6156: (DL_TIER, Start, (BuildingQuest, Anywhere, 2, 's', 5), Any, ToonHQ, Any, NA, DefaultDialog),2481    6157: (DL_TIER, Start, (BuildingQuest, Anywhere, 2, 'c', 5), Any, ToonHQ, Any, NA, DefaultDialog),2482    6158: (DL_TIER, Start, (BuildingQuest, Anywhere, 2, 'l', 5), Any, ToonHQ, Any, NA, DefaultDialog),2483    6160: (DL_TIER, Start, (CogNewbieQuest, ToontownGlobals.ToontownCentral, 25, Any, NEWBIE_HP), Any, ToonHQ, 607, NA, DefaultDialog),2484    6161: (DL_TIER, Start, (CogNewbieQuest, ToontownGlobals.ToontownCentral, 25, Any, NEWBIE_HP), Any, ToonHQ, 607, NA, DefaultDialog),2485    6162: (DL_TIER, Start, (CogNewbieQuest, ToontownGlobals.ToontownCentral, 25, Any, NEWBIE_HP), Any, ToonHQ, 607, NA, DefaultDialog),2486    6163: (DL_TIER, Start, (CogNewbieQuest, ToontownGlobals.ToontownCentral, 25, Any, NEWBIE_HP), Any, ToonHQ, 607, NA, DefaultDialog),2487    6164: (DL_TIER, Start, (BuildingNewbieQuest, Anywhere, 2, Any, 1, NEWBIE_HP), Any, ToonHQ, 608, NA, DefaultDialog),2488    6165: (DL_TIER, Start, (BuildingNewbieQuest, Anywhere, 2, Any, 1, NEWBIE_HP), Any, ToonHQ, 608, NA, DefaultDialog),2489    6166: (DL_TIER, Start, (BuildingNewbieQuest, Anywhere, 2, Any, 1, NEWBIE_HP), Any, ToonHQ, 608, NA, DefaultDialog),2490    6167: (DL_TIER, Start, (BuildingNewbieQuest, Anywhere, 2, Any, 1, NEWBIE_HP), Any, ToonHQ, 608, NA, DefaultDialog),2491    6170: (DL_TIER, OBSOLETE, (CogQuest, ToontownGlobals.SellbotHQ, 40, Any), Any, ToonHQ, Any, NA, DefaultDialog),2492    6171: (DL_TIER, OBSOLETE, (CogQuest, ToontownGlobals.SellbotHQ, 45, Any), Any, ToonHQ, Any, NA, DefaultDialog),2493    6172: (DL_TIER, OBSOLETE, (CogQuest, ToontownGlobals.SellbotHQ, 50, Any), Any, ToonHQ, Any, NA, DefaultDialog),2494    6173: (DL_TIER, OBSOLETE, (CogLevelQuest, ToontownGlobals.SellbotHQ, 30, 4), Any, ToonHQ, Any, NA, DefaultDialog),2495    6174: (DL_TIER, OBSOLETE, (CogLevelQuest, ToontownGlobals.SellbotHQ, 20, 5), Any, ToonHQ, Any, NA, DefaultDialog),2496    6175: (DL_TIER, OBSOLETE, (CogLevelQuest, ToontownGlobals.SellbotHQ, 20, 5), Any, ToonHQ, Any, NA, DefaultDialog),2497    6176: (DL_TIER, OBSOLETE, (CogLevelQuest, ToontownGlobals.SellbotFactoryInt, 15, 5), Any, ToonHQ, Any, NA, DefaultDialog),2498    6177: (DL_TIER, OBSOLETE, (CogLevelQuest, ToontownGlobals.SellbotFactoryInt, 10, 6), Any, ToonHQ, Any, NA, DefaultDialog),2499    6178: (DL_TIER, OBSOLETE, (CogLevelQuest, ToontownGlobals.SellbotFactoryInt, 10, 6), Any, ToonHQ, Any, NA, DefaultDialog),2500    6179: (DL_TIER, OBSOLETE, (FactoryQuest, ToontownGlobals.SellbotHQ, 3), Any, ToonHQ, Any, NA, DefaultDialog),2501    6180: (DL_TIER, OBSOLETE, (FactoryQuest, ToontownGlobals.SellbotHQ, 4), Any, ToonHQ, Any, NA, DefaultDialog),2502    6181: (DL_TIER, OBSOLETE, (FactoryQuest, ToontownGlobals.SellbotHQ, 3), Any, ToonHQ, Any, NA, DefaultDialog),2503    6182: (DL_TIER, OBSOLETE, (FactoryQuest, ToontownGlobals.SellbotHQ, 4), Any, ToonHQ, Any, NA, DefaultDialog),2504    6183: (DL_TIER, OBSOLETE, (SkelecogQuest, ToontownGlobals.SellbotFactoryInt, 20), Any, ToonHQ, Any, NA, DefaultDialog),2505    6184: (DL_TIER, OBSOLETE, (SkelecogLevelQuest, ToontownGlobals.SellbotHQ, 10, 5), Any, ToonHQ, Any, NA, DefaultDialog),2506    6185: (DL_TIER, OBSOLETE, (SkelecogLevelQuest, ToontownGlobals.SellbotHQ, 4, 6), Any, ToonHQ, Any, NA, DefaultDialog),2507    6186: (DL_TIER, OBSOLETE, (ForemanQuest, ToontownGlobals.SellbotHQ, 3), Any, ToonHQ, Any, NA, DefaultDialog),2508    6187: (DL_TIER, OBSOLETE, (ForemanQuest, ToontownGlobals.SellbotHQ, 4), Any, ToonHQ, Any, NA, DefaultDialog),2509    6190: (DL_TIER, Start, (CogNewbieQuest, ToontownGlobals.SellbotHQ, 15, Any, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, 609, NA, DefaultDialog),2510    6191: (DL_TIER, Start, (CogNewbieQuest, ToontownGlobals.SellbotHQ, 15, Any, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, 609, NA, DefaultDialog),2511    6192: (DL_TIER, Start, (CogNewbieQuest, ToontownGlobals.SellbotHQ, 15, Any, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, 609, NA, DefaultDialog),2512    6193: (DL_TIER, Start, (SkelecogNewbieQuest, ToontownGlobals.SellbotHQ, 3, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, 609, NA, DefaultDialog),2513    6194: (DL_TIER, Start, (FactoryNewbieQuest, ToontownGlobals.SellbotHQ, 1, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, 609, NA, DefaultDialog),2514    6195: (DL_TIER, Start, (FactoryNewbieQuest, ToontownGlobals.SellbotHQ, 1, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, 609, NA, DefaultDialog),2515    6196: (DL_TIER, Start, (ForemanNewbieQuest, ToontownGlobals.SellbotFactoryInt, 1, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, 609, NA, DefaultDialog),2516    6201: (DL_TIER, Start, (VisitQuest,), Any, 9111, NA, 6202, TTLocalizer.QuestDialogDict[6201]),2517    6202: (DL_TIER, Start, (CogQuest, ToontownGlobals.DonaldsDreamland, 70, Any), 9111, Same, 100, NA, TTLocalizer.QuestDialogDict[6202]),2518    6206: (DL_TIER, Start, (VisitQuest,), Any, 9131, NA, 6207, TTLocalizer.QuestDialogDict[6206]),2519    6207: (DL_TIER, Start, (BuildingQuest, ToontownGlobals.DonaldsDreamland, 8, Any, 4), 9131, Same, 205, NA, TTLocalizer.QuestDialogDict[6207]),2520    6211: (DL_TIER, Start, (VisitQuest,), Any, 9217, NA, 6212, TTLocalizer.QuestDialogDict[6211]),2521    6212: (DL_TIER, Start, (RecoverItemQuest, Anywhere, 3, 6002, Medium, 'bc'), 9217, Same, NA, 6213, TTLocalizer.QuestDialogDict[6212]),2522    6213: (DL_TIER, Cont, (RecoverItemQuest, Anywhere, 1, 6003, Hard, 'mb'), Same, Same, NA, 6214, TTLocalizer.QuestDialogDict[6213]),2523    6214: (DL_TIER, Cont, (RecoverItemQuest, Anywhere, 1, 6004, VeryHard, 'pp'), Same, Same, 101, NA, TTLocalizer.QuestDialogDict[6214]),2524    6221: (DL_TIER, Start, (VisitQuest,), Any, 9119, NA, 6222, TTLocalizer.QuestDialogDict[6221]),2525    6222: (DL_TIER, Start, (CogTrackQuest, ToontownGlobals.DonaldsDreamland, 50, 'c'), 9119, Same, 102, NA, TTLocalizer.QuestDialogDict[6222]),2526    6231: (DL_TIER, Start, (VisitQuest,), Any, 9203, NA, 6232, TTLocalizer.QuestDialogDict[6231]),2527    6232: (DL_TIER, Start, (VisitQuest,), 9203, 9103, NA, 6233, TTLocalizer.QuestDialogDict[6232]),2528    6233: (DL_TIER, Cont, (CogTrackQuest, ToontownGlobals.CashbotHQ, 10, 'm'), Same, Same, NA, 6234, TTLocalizer.QuestDialogDict[6233]),2529    6234: (DL_TIER, Cont, (VisitQuest,), Same, 9203, NA, 6235, TTLocalizer.QuestDialogDict[6234]),2530    6235: (DL_TIER, Cont, (RecoverItemQuest, ToontownGlobals.CashbotHQ, 1, 6001, VeryHard, 'm', 'track'), Same, Same, 4000, NA, TTLocalizer.QuestDialogDict[6235]),2531    6241: (DL_TIER, Start, (VisitQuest,), Any, 9219, NA, 6242, TTLocalizer.QuestDialogDict[6241]),2532    6242: (DL_TIER, Start, (CogQuest, ToontownGlobals.DonaldsDreamland, 25, 'nc'), 9219, Same, 705, NA, TTLocalizer.QuestDialogDict[6242]),2533    6251: (DL_TIER, Start, (VisitQuest,), Any, 9221, NA, 6252, TTLocalizer.QuestDialogDict[6251]),2534    6252: (DL_TIER, Start, (DeliverItemQuest, 6006), 9221, 9222, NA, 6253, TTLocalizer.QuestDialogDict[6252]),2535    6253: (DL_TIER, Cont, (VisitQuest,), Same, 9221, NA, 6254, TTLocalizer.QuestDialogDict[6253]),2536    6254: (DL_TIER, Cont, (DeliverItemQuest, 6007), Same, 9210, NA, 6255, TTLocalizer.QuestDialogDict[6254]),2537    6255: (DL_TIER, Cont, (CogTrackQuest, Anywhere, 70, 'm'), Same, Same, NA, 6256, TTLocalizer.QuestDialogDict[6255]),2538    6256: (DL_TIER, Cont, (VisitQuest,), Same, 9221, NA, 6257, TTLocalizer.QuestDialogDict[6256]),2539    6257: (DL_TIER, Cont, (DeliverItemQuest, 6008), Same, 9205, NA, 6258, TTLocalizer.QuestDialogDict[6257]),2540    6258: (DL_TIER, Cont, (CogQuest, Anywhere, 25, 'ms'), Same, Same, NA, 6259, TTLocalizer.QuestDialogDict[6258]),2541    6259: (DL_TIER, Cont, (VisitQuest,), Same, 9221, NA, 6260, TTLocalizer.QuestDialogDict[6259]),2542    6260: (DL_TIER, Cont, (DeliverItemQuest, 6009), Same, 9229, NA, 6261, TTLocalizer.QuestDialogDict[6260]),2543    6261: (DL_TIER, Cont, (VisitQuest,), Same, 9221, NA, 6262, TTLocalizer.QuestDialogDict[6261]),2544    6262: (DL_TIER, Cont, (DeliverItemQuest, 6010), Same, 9126, NA, 6263, TTLocalizer.QuestDialogDict[6262]),2545    6263: (DL_TIER, Cont, (DeliverItemQuest, 6010), Same, 9112, NA, 6264, TTLocalizer.QuestDialogDict[6263]),2546    6264: (DL_TIER, Cont, (DeliverItemQuest, 6011), Same, 9221, NA, 6265, TTLocalizer.QuestDialogDict[6264]),2547    6265: (DL_TIER, Cont, (DeliverItemQuest, 6012), Same, 9115, NA, 6266, TTLocalizer.QuestDialogDict[6265]),2548    6266: (DL_TIER, Cont, (VisitQuest,), Same, 9221, 103, NA, TTLocalizer.QuestDialogDict[6266]),2549    6271: (DL_TIER, Start, (VisitQuest,), Any, 9208, NA, 6272, TTLocalizer.QuestDialogDict[6271]),2550    6272: (DL_TIER, Start, (BuildingQuest, ToontownGlobals.DonaldsDreamland, 2, 'm', 5), 9208, Same, 305, NA, TTLocalizer.QuestDialogDict[6272]),2551    6281: (DL_TIER, Start, (VisitQuest,), Any, 9123, NA, 6282, TTLocalizer.QuestDialogDict[6281]),2552    6282: (DL_TIER, Start, (CogTrackQuest, ToontownGlobals.DonaldsDreamland, 55, 'm'), 9123, Same, 4001, NA, TTLocalizer.QuestDialogDict[6282]),2553    6291: (DL_TIER, Start, (VisitQuest,), Any, 9226, NA, 6292, TTLocalizer.QuestDialogDict[6291]),2554    6292: (DL_TIER, Start, (RecoverItemQuest, ToontownGlobals.DonaldsDreamland, 1, 6005, VeryHard, 'm', 'track'), 9226, Same, 4002, NA, TTLocalizer.QuestDialogDict[6292]),2555    6301: (DL_TIER, Start, (CogQuest, ToontownGlobals.CashbotHQ, 40, Any), Any, ToonHQ, Any, NA, DefaultDialog),2556    6302: (DL_TIER, Start, (CogQuest, ToontownGlobals.CashbotHQ, 45, Any), Any, ToonHQ, Any, NA, DefaultDialog),2557    6303: (DL_TIER, Start, (CogQuest, ToontownGlobals.CashbotHQ, 50, Any), Any, ToonHQ, Any, NA, DefaultDialog),2558    6304: (DL_TIER, Start, (CogLevelQuest, ToontownGlobals.CashbotHQ, 30, 7), Any, ToonHQ, Any, NA, DefaultDialog),2559    6305: (DL_TIER, Start, (CogLevelQuest, ToontownGlobals.CashbotHQ, 20, 8), Any, ToonHQ, Any, NA, DefaultDialog),2560    6306: (DL_TIER, Start, (CogLevelQuest, ToontownGlobals.CashbotHQ, 15, 9), Any, ToonHQ, Any, NA, DefaultDialog),2561    6307: (DL_TIER, Start, (CogLevelQuest, ToontownGlobals.CashbotMintIntA, 12, 10), Any, ToonHQ, Any, NA, DefaultDialog),2562    6308: (DL_TIER, OBSOLETE, (CogLevelQuest, ToontownGlobals.CashbotMintIntB, 10, 10), Any, ToonHQ, Any, NA, DefaultDialog),2563    6309: (DL_TIER, OBSOLETE, (CogLevelQuest, ToontownGlobals.CashbotMintIntC, 8, 10), Any, ToonHQ, Any, NA, DefaultDialog),2564    6310: (DL_TIER, Start, (MintQuest, ToontownGlobals.CashbotMintIntA, 5), Any, ToonHQ, Any, NA, DefaultDialog),2565    6311: (DL_TIER, OBSOLETE, (MintQuest, ToontownGlobals.CashbotMintIntB, 4), Any, ToonHQ, Any, NA, DefaultDialog),2566    6312: (DL_TIER, OBSOLETE, (MintQuest, ToontownGlobals.CashbotMintIntC, 3), Any, ToonHQ, Any, NA, DefaultDialog),2567    6313: (DL_TIER, Start, (SkelecogQuest, ToontownGlobals.CashbotHQ, 20), Any, ToonHQ, Any, NA, DefaultDialog),2568    6314: (DL_TIER, Start, (SkelecogLevelQuest, ToontownGlobals.CashbotHQ, 10, 11), Any, ToonHQ, Any, NA, DefaultDialog),2569    6315: (DL_TIER, Start, (SkelecogLevelQuest, ToontownGlobals.CashbotHQ, 6, 12), Any, ToonHQ, Any, NA, DefaultDialog),2570    6318: (DL_TIER, Start, (SupervisorQuest, ToontownGlobals.CashbotMintIntA, 5), Any, ToonHQ, Any, NA, DefaultDialog),2571    6319: (DL_TIER, OBSOLETE, (SupervisorQuest, ToontownGlobals.CashbotMintIntB, 4), Any, ToonHQ, Any, NA, DefaultDialog),2572    6320: (DL_TIER, OBSOLETE, (SupervisorQuest, ToontownGlobals.CashbotMintIntC, 3), Any, ToonHQ, Any, NA, DefaultDialog),2573    6321: (DL_TIER, Start, (CogLevelQuest, ToontownGlobals.CashbotMintIntA, 10, 10), Any, ToonHQ, Any, NA, DefaultDialog),2574    6322: (DL_TIER, Start, (CogLevelQuest, ToontownGlobals.CashbotMintIntA, 8, 10), Any, ToonHQ, Any, NA, DefaultDialog),2575    6323: (DL_TIER, Start, (MintQuest, ToontownGlobals.CashbotMintIntA, 4), Any, ToonHQ, Any, NA, DefaultDialog),2576    6324: (DL_TIER, Start, (MintQuest, ToontownGlobals.CashbotMintIntA, 3), Any, ToonHQ, Any, NA, DefaultDialog),2577    6325: (DL_TIER, Start, (SupervisorQuest, ToontownGlobals.CashbotMintIntA, 4), Any, ToonHQ, Any, NA, DefaultDialog),2578    6326: (DL_TIER, Start, (SupervisorQuest, ToontownGlobals.CashbotMintIntA, 3), Any, ToonHQ, Any, NA, DefaultDialog),2579    7101: (DL_TIER + 1, Start, (CogQuest, Anywhere, 120, Any), Any, ToonHQ, Any, NA, DefaultDialog),2580    7102: (DL_TIER + 1, Start, (CogQuest, Anywhere, 130, Any), Any, ToonHQ, Any, NA, DefaultDialog),2581    7103: (DL_TIER + 1, OBSOLETE, (CogQuest, Anywhere, 140, Any), Any, ToonHQ, Any, NA, DefaultDialog),2582    7104: (DL_TIER + 1, Start, (CogQuest, Anywhere, 160, Any), Any, ToonHQ, Any, NA, DefaultDialog),2583    7105: (DL_TIER + 1, Start, (CogQuest, Anywhere, 180, Any), Any, ToonHQ, Any, NA, DefaultDialog),2584    7106: (DL_TIER + 1, Start, (CogQuest, Anywhere, 200, Any), Any, ToonHQ, Any, NA, DefaultDialog),2585    7107: (DL_TIER + 1, Start, (CogQuest, Anywhere, 70, 'ym'), Any, ToonHQ, Any, NA, DefaultDialog),2586    7108: (DL_TIER + 1, Start, (CogQuest, Anywhere, 60, 'mm'), Any, ToonHQ, Any, NA, DefaultDialog),2587    7109: (DL_TIER + 1, Start, (CogQuest, Anywhere, 50, 'ds'), Any, ToonHQ, Any, NA, DefaultDialog),2588    7110: (DL_TIER + 1, Start, (CogQuest, Anywhere, 50, 'hh'), Any, ToonHQ, Any, NA, DefaultDialog),2589    7111: (DL_TIER + 1, Start, (CogQuest, Anywhere, 30, 'cr'), Any, ToonHQ, Any, NA, DefaultDialog),2590    7112: (DL_TIER + 1, Start, (CogQuest, Anywhere, 20, 'tbc'), Any, ToonHQ, Any, NA, DefaultDialog),2591    7113: (DL_TIER + 1, Start, (CogQuest, Anywhere, 70, 'nd'), Any, ToonHQ, Any, NA, DefaultDialog),2592    7114: (DL_TIER + 1, Start, (CogQuest, Anywhere, 60, 'gh'), Any, ToonHQ, Any, NA, DefaultDialog),2593    7115: (DL_TIER + 1, Start, (CogQuest, Anywhere, 50, 'ms'), Any, ToonHQ, Any, NA, DefaultDialog),2594    7116: (DL_TIER + 1, Start, (CogQuest, Anywhere, 50, 'tf'), Any, ToonHQ, Any, NA, DefaultDialog),2595    7117: (DL_TIER + 1, Start, (CogQuest, Anywhere, 30, 'm'), Any, ToonHQ, Any, NA, DefaultDialog),2596    7118: (DL_TIER + 1, Start, (CogQuest, Anywhere, 20, 'mh'), Any, ToonHQ, Any, NA, DefaultDialog),2597    7119: (DL_TIER + 1, Start, (CogQuest, Anywhere, 70, 'tw'), Any, ToonHQ, Any, NA, DefaultDialog),2598    7120: (DL_TIER + 1, Start, (CogQuest, Anywhere, 60, 'bc'), Any, ToonHQ, Any, NA, DefaultDialog),2599    7121: (DL_TIER + 1, OBSOLETE, (CogQuest, Anywhere, 50, 'nc'), Any, ToonHQ, Any, NA, DefaultDialog),2600    7122: (DL_TIER + 1, Start, (CogQuest, Anywhere, 50, 'mb'), Any, ToonHQ, Any, NA, DefaultDialog),2601    7123: (DL_TIER + 1, Start, (CogQuest, Anywhere, 30, 'ls'), Any, ToonHQ, Any, NA, DefaultDialog),2602    7124: (DL_TIER + 1, Start, (CogQuest, Anywhere, 20, 'rb'), Any, ToonHQ, Any, NA, DefaultDialog),2603    7125: (DL_TIER + 1, Start, (CogQuest, Anywhere, 70, 'dt'), Any, ToonHQ, Any, NA, DefaultDialog),2604    7126: (DL_TIER + 1, Start, (CogQuest, Anywhere, 60, 'ac'), Any, ToonHQ, Any, NA, DefaultDialog),2605    7127: (DL_TIER + 1, Start, (CogQuest, Anywhere, 50, 'bs'), Any, ToonHQ, Any, NA, DefaultDialog),2606    7128: (DL_TIER + 1, Start, (CogQuest, Anywhere, 50, 'sd'), Any, ToonHQ, Any, NA, DefaultDialog),2607    7129: (DL_TIER + 1, Start, (CogQuest, Anywhere, 30, 'le'), Any, ToonHQ, Any, NA, DefaultDialog),2608    7130: (DL_TIER + 1, Start, (CogQuest, Anywhere, 20, 'bw'), Any, ToonHQ, Any, NA, DefaultDialog),2609    7131: (DL_TIER + 1, Start, (CogLevelQuest, Anywhere, 100, 7), Any, ToonHQ, Any, NA, DefaultDialog),2610    7132: (DL_TIER + 1, Start, (CogLevelQuest, Anywhere, 80, 8), Any, ToonHQ, Any, NA, DefaultDialog),2611    7133: (DL_TIER + 1, Start, (CogLevelQuest, Anywhere, 60, 9), Any, ToonHQ, Any, NA, DefaultDialog),2612    7134: (DL_TIER + 1, Start, (CogLevelQuest, Anywhere, 70, 9), Any, ToonHQ, Any, NA, DefaultDialog),2613    7135: (DL_TIER + 1, Start, (CogLevelQuest, Anywhere, 40, 10), Any, ToonHQ, Any, NA, DefaultDialog),2614    7136: (DL_TIER + 1, Start, (CogLevelQuest, Anywhere, 50, 10), Any, ToonHQ, Any, NA, DefaultDialog),2615    7137: (DL_TIER + 1, Start, (CogLevelQuest, Anywhere, 20, 11), Any, ToonHQ, Any, NA, DefaultDialog),2616    7138: (DL_TIER + 1, Start, (CogLevelQuest, Anywhere, 30, 11), Any, ToonHQ, Any, NA, DefaultDialog),2617    7139: (DL_TIER + 1, Start, (CogTrackQuest, Anywhere, 100, 'm'), Any, ToonHQ, Any, NA, DefaultDialog),2618    7140: (DL_TIER + 1, Start, (CogTrackQuest, Anywhere, 100, 's'), Any, ToonHQ, Any, NA, DefaultDialog),2619    7141: (DL_TIER + 1, Start, (CogTrackQuest, Anywhere, 100, 'c'), Any, ToonHQ, Any, NA, DefaultDialog),2620    7142: (DL_TIER + 1, Start, (CogTrackQuest, Anywhere, 100, 'l'), Any, ToonHQ, Any, NA, DefaultDialog),2621    7143: (DL_TIER + 1, OBSOLETE, (CogTrackQuest, Anywhere, 120, 'm'), Any, ToonHQ, Any, NA, DefaultDialog),2622    7144: (DL_TIER + 1, Start, (CogTrackQuest, Anywhere, 120, 's'), Any, ToonHQ, Any, NA, DefaultDialog),2623    7145: (DL_TIER + 1, Start, (CogTrackQuest, Anywhere, 120, 'c'), Any, ToonHQ, Any, NA, DefaultDialog),2624    7146: (DL_TIER + 1, Start, (CogTrackQuest, Anywhere, 120, 'l'), Any, ToonHQ, Any, NA, DefaultDialog),2625    7147: (DL_TIER + 1, Start, (CogTrackQuest, Anywhere, 140, 'm'), Any, ToonHQ, Any, NA, DefaultDialog),2626    7148: (DL_TIER + 1, Start, (CogTrackQuest, Anywhere, 140, 's'), Any, ToonHQ, Any, NA, DefaultDialog),2627    7149: (DL_TIER + 1, Start, (CogTrackQuest, Anywhere, 140, 'c'), Any, ToonHQ, Any, NA, DefaultDialog),2628    7150: (DL_TIER + 1, Start, (CogTrackQuest, Anywhere, 140, 'l'), Any, ToonHQ, Any, NA, DefaultDialog),2629    7151: (DL_TIER + 1, Start, (BuildingQuest, Anywhere, 20, Any, 2), Any, ToonHQ, Any, NA, DefaultDialog),2630    7152: (DL_TIER + 1, OBSOLETE, (BuildingQuest, Anywhere, 10, Any, 3), Any, ToonHQ, Any, NA, DefaultDialog),2631    7153: (DL_TIER + 1, Start, (BuildingQuest, Anywhere, 10, Any, 4), Any, ToonHQ, Any, NA, DefaultDialog),2632    7154: (DL_TIER + 1, Start, (BuildingQuest, Anywhere, 10, Any, 5), Any, ToonHQ, Any, NA, DefaultDialog),2633    7155: (DL_TIER + 1, OBSOLETE, (BuildingQuest, Anywhere, 5, 'm', 5), Any, ToonHQ, Any, NA, DefaultDialog),2634    7156: (DL_TIER + 1, Start, (BuildingQuest, Anywhere, 5, 's', 5), Any, ToonHQ, Any, NA, DefaultDialog),2635    7157: (DL_TIER + 1, Start, (BuildingQuest, Anywhere, 5, 'c', 5), Any, ToonHQ, Any, NA, DefaultDialog),2636    7158: (DL_TIER + 1, Start, (BuildingQuest, Anywhere, 5, 'l', 5), Any, ToonHQ, Any, NA, DefaultDialog),2637    7160: (DL_TIER + 1, Start, (CogNewbieQuest, ToontownGlobals.ToontownCentral, 35, Any, NEWBIE_HP), Any, ToonHQ, 607, NA, DefaultDialog),2638    7161: (DL_TIER + 1, Start, (CogNewbieQuest, ToontownGlobals.ToontownCentral, 35, Any, NEWBIE_HP), Any, ToonHQ, 607, NA, DefaultDialog),2639    7162: (DL_TIER + 1, Start, (CogNewbieQuest, ToontownGlobals.ToontownCentral, 35, Any, NEWBIE_HP), Any, ToonHQ, 607, NA, DefaultDialog),2640    7163: (DL_TIER + 1, Start, (CogNewbieQuest, ToontownGlobals.ToontownCentral, 35, Any, NEWBIE_HP), Any, ToonHQ, 607, NA, DefaultDialog),2641    7164: (DL_TIER + 1, Start, (BuildingNewbieQuest, Anywhere, 1, Any, 2, NEWBIE_HP), Any, ToonHQ, 608, NA, DefaultDialog),2642    7165: (DL_TIER + 1, Start, (BuildingNewbieQuest, Anywhere, 1, Any, 2, NEWBIE_HP), Any, ToonHQ, 608, NA, DefaultDialog),2643    7166: (DL_TIER + 1, Start, (BuildingNewbieQuest, Anywhere, 1, Any, 2, NEWBIE_HP), Any, ToonHQ, 608, NA, DefaultDialog),2644    7167: (DL_TIER + 1, Start, (BuildingNewbieQuest, Anywhere, 1, Any, 2, NEWBIE_HP), Any, ToonHQ, 608, NA, DefaultDialog),2645    7170: (DL_TIER + 1, OBSOLETE, (CogQuest, ToontownGlobals.SellbotHQ, 80, Any), Any, ToonHQ, Any, NA, DefaultDialog),2646    7171: (DL_TIER + 1, OBSOLETE, (CogQuest, ToontownGlobals.SellbotHQ, 90, Any), Any, ToonHQ, Any, NA, DefaultDialog),2647    7172: (DL_TIER + 1, OBSOLETE, (CogQuest, ToontownGlobals.SellbotHQ, 100, Any), Any, ToonHQ, Any, NA, DefaultDialog),2648    7173: (DL_TIER + 1, OBSOLETE, (CogLevelQuest, ToontownGlobals.SellbotHQ, 50, 4), Any, ToonHQ, Any, NA, DefaultDialog),2649    7174: (DL_TIER + 1, OBSOLETE, (CogLevelQuest, ToontownGlobals.SellbotHQ, 35, 5), Any, ToonHQ, Any, NA, DefaultDialog),2650    7175: (DL_TIER + 1, OBSOLETE, (CogLevelQuest, ToontownGlobals.SellbotHQ, 35, 5), Any, ToonHQ, Any, NA, DefaultDialog),2651    7176: (DL_TIER + 1, OBSOLETE, (CogLevelQuest, ToontownGlobals.SellbotFactoryInt, 30, 5), Any, ToonHQ, Any, NA, DefaultDialog),2652    7177: (DL_TIER + 1, OBSOLETE, (CogLevelQuest, ToontownGlobals.SellbotFactoryInt, 20, 6), Any, ToonHQ, Any, NA, DefaultDialog),2653    7178: (DL_TIER + 1, OBSOLETE, (CogLevelQuest, ToontownGlobals.SellbotFactoryInt, 20, 6), Any, ToonHQ, Any, NA, DefaultDialog),2654    7179: (DL_TIER + 1, OBSOLETE, (FactoryQuest, ToontownGlobals.SellbotHQ, 6), Any, ToonHQ, Any, NA, DefaultDialog),2655    7180: (DL_TIER + 1, OBSOLETE, (FactoryQuest, ToontownGlobals.SellbotHQ, 8), Any, ToonHQ, Any, NA, DefaultDialog),2656    7181: (DL_TIER + 1, OBSOLETE, (FactoryQuest, ToontownGlobals.SellbotHQ, 6), Any, ToonHQ, Any, NA, DefaultDialog),2657    7182: (DL_TIER + 1, OBSOLETE, (FactoryQuest, ToontownGlobals.SellbotHQ, 8), Any, ToonHQ, Any, NA, DefaultDialog),2658    7183: (DL_TIER + 1, OBSOLETE, (SkelecogQuest, ToontownGlobals.SellbotFactoryInt, 40), Any, ToonHQ, Any, NA, DefaultDialog),2659    7184: (DL_TIER + 1, OBSOLETE, (SkelecogLevelQuest, ToontownGlobals.SellbotHQ, 20, 5), Any, ToonHQ, Any, NA, DefaultDialog),2660    7185: (DL_TIER + 1, OBSOLETE, (SkelecogLevelQuest, ToontownGlobals.SellbotHQ, 8, 6), Any, ToonHQ, Any, NA, DefaultDialog),2661    7186: (DL_TIER + 1, OBSOLETE, (ForemanQuest, ToontownGlobals.SellbotHQ, 6), Any, ToonHQ, Any, NA, DefaultDialog),2662    7187: (DL_TIER + 1, OBSOLETE, (ForemanQuest, ToontownGlobals.SellbotHQ, 8), Any, ToonHQ, Any, NA, DefaultDialog),2663    7190: (DL_TIER + 1, Start, (CogNewbieQuest, ToontownGlobals.SellbotHQ, 25, Any, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, 609, NA, DefaultDialog),2664    7191: (DL_TIER + 1, Start, (CogNewbieQuest, ToontownGlobals.SellbotHQ, 25, Any, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, 609, NA, DefaultDialog),2665    7192: (DL_TIER + 1, Start, (CogNewbieQuest, ToontownGlobals.SellbotHQ, 25, Any, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, 609, NA, DefaultDialog),2666    7193: (DL_TIER + 1, Start, (SkelecogNewbieQuest, ToontownGlobals.SellbotHQ, 6, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, 609, NA, DefaultDialog),2667    7194: (DL_TIER + 1, Start, (FactoryNewbieQuest, ToontownGlobals.SellbotHQ, 2, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, 609, NA, DefaultDialog),2668    7195: (DL_TIER + 1, Start, (FactoryNewbieQuest, ToontownGlobals.SellbotHQ, 2, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, 609, NA, DefaultDialog),2669    7196: (DL_TIER + 1, Start, (ForemanNewbieQuest, ToontownGlobals.SellbotFactoryInt, 2, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, 609, NA, DefaultDialog),2670    7201: (DL_TIER + 1, Start, (VisitQuest,), Any, 9124, NA, 7202, TTLocalizer.QuestDialogDict[7201]),2671    7202: (DL_TIER + 1, Start, (VisitQuest,), 9124, 9128, NA, 7203, TTLocalizer.QuestDialogDict[7202]),2672    7203: (DL_TIER + 1, Cont, (DeliverItemQuest, 7001), Same, 9124, NA, 7204, TTLocalizer.QuestDialogDict[7203]),2673    7204: (DL_TIER + 1, Cont, (VisitQuest,), Same, 9128, NA, 7205, TTLocalizer.QuestDialogDict[7204]),2674    7205: (DL_TIER + 1, Cont, (CogQuest, ToontownGlobals.DonaldsDreamland, 140, Any), Same, Same, NA, 7206, TTLocalizer.QuestDialogDict[7205]),2675    7206: (DL_TIER + 1, Cont, (DeliverItemQuest, 7002), Same, 9124, 4003, NA, TTLocalizer.QuestDialogDict[7206]),2676    7209: (DL_TIER + 1, Start, (VisitQuest,), Any, 9232, NA, 7210, TTLocalizer.QuestDialogDict[7209]),2677    7210: (DL_TIER + 1, Start, (VisitQuest,), 9232, 9101, NA, 7211, TTLocalizer.QuestDialogDict[7210]),2678    7211: (DL_TIER + 1, Cont, (CogQuest, Anywhere, 30, 'nc'), Same, Same, NA, 7212, TTLocalizer.QuestDialogDict[7211]),2679    7212: (DL_TIER + 1, Cont, (DeliverItemQuest, 7003), Same, 9232, NA, 7213, TTLocalizer.QuestDialogDict[7212]),2680    7213: (DL_TIER + 1, Cont, (VisitQuest,), Same, 9101, NA, 7214, TTLocalizer.QuestDialogDict[7213]),2681    7214: (DL_TIER + 1, Cont, (CogTrackQuest, Anywhere, 65, 'm'), Same, Same, NA, 7215, TTLocalizer.QuestDialogDict[7214]),2682    7215: (DL_TIER + 1, Cont, (DeliverItemQuest, 7004), Same, 9232, 4004, NA, TTLocalizer.QuestDialogDict[7215]),2683    7218: (DL_TIER + 1, Start, (VisitQuest,), Any, 9109, NA, 7219, TTLocalizer.QuestDialogDict[7218]),2684    7219: (DL_TIER + 1, Start, (VisitQuest,), 9109, 9230, NA, 7220, TTLocalizer.QuestDialogDict[7219]),2685    7220: (DL_TIER + 1, Cont, (DeliverItemQuest, 7005), Same, 9109, NA, 7221, TTLocalizer.QuestDialogDict[7220]),2686    7221: (DL_TIER + 1, Cont, (VisitQuest,), Same, 9230, NA, 7222, TTLocalizer.QuestDialogDict[7221]),2687    7222: (DL_TIER + 1, Cont, (BuildingQuest, Anywhere, 10, Any, 3), Same, Same, NA, 7223, TTLocalizer.QuestDialogDict[7222]),2688    7223: (DL_TIER + 1, Cont, (DeliverItemQuest, 7006), Same, 9109, 4005, NA, TTLocalizer.QuestDialogDict[7223]),2689    7226: (DL_TIER + 1, Start, (VisitQuest,), Any, 9224, NA, 7227, TTLocalizer.QuestDialogDict[7226]),2690    7227: (DL_TIER + 1, Start, (VisitQuest,), 9224, 9102, NA, 7228, TTLocalizer.QuestDialogDict[7227]),2691    7228: (DL_TIER + 1, Cont, (DeliverItemQuest, 7007), Same, 9224, NA, 7229, TTLocalizer.QuestDialogDict[7228]),2692    7229: (DL_TIER + 1, Cont, (VisitQuest,), Same, 9102, NA, 7230, TTLocalizer.QuestDialogDict[7229]),2693    7230: (DL_TIER + 1, Cont, (DeliverItemQuest, 7008), Same, 9224, NA, 7231, TTLocalizer.QuestDialogDict[7230]),2694    7231: (DL_TIER + 1, Cont, (VisitQuest,), Same, 9102, NA, 7232, TTLocalizer.QuestDialogDict[7231]),2695    7232: (DL_TIER + 1, Cont, (VisitQuest,), Same, 9216, NA, 7233, TTLocalizer.QuestDialogDict[7232]),2696    7233: (DL_TIER + 1, Cont, (DeliverItemQuest, 7009), Same, 9224, NA, 7234, TTLocalizer.QuestDialogDict[7233]),2697    7234: (DL_TIER + 1, Cont, (VisitQuest,), Same, 9216, NA, 7235, TTLocalizer.QuestDialogDict[7234]),2698    7235: (DL_TIER + 1, Cont, (BuildingQuest, Anywhere, 5, 'm', 5), Same, Same, NA, 7236, TTLocalizer.QuestDialogDict[7235]),2699    7236: (DL_TIER + 1, Cont, (DeliverItemQuest, 7010), Same, 9224, 4006, NA, TTLocalizer.QuestDialogDict[7236]),2700    7239: (DL_TIER + 1, Start, (VisitQuest,), Any, 9114, NA, 7240, TTLocalizer.QuestDialogDict[7239]),2701    7240: (DL_TIER + 1, Start, (VisitQuest,), 9114, 9215, NA, 7241, TTLocalizer.QuestDialogDict[7240]),2702    7241: (DL_TIER + 1, Cont, (RecoverItemQuest, ToontownGlobals.DonaldsDreamland, 1, 7011, Hard, AnyFish), Same, Same, NA, 7242, TTLocalizer.QuestDialogDict[7241]),2703    7242: (DL_TIER + 1, Cont, (RecoverItemQuest, ToontownGlobals.DonaldsDreamland, 1, 7012, VeryHard, AnyFish), Same, Same, NA, 7243, TTLocalizer.QuestDialogDict[7242]),2704    7243: (DL_TIER + 1, Cont, (RecoverItemQuest, ToontownGlobals.CashbotHQ, 1, 7013, Hard, 'ls'), Same, Same, NA, 7244, TTLocalizer.QuestDialogDict[7243]),2705    7244: (DL_TIER + 1, Cont, (DeliverItemQuest, 7014), Same, 9114, 4007, NA, TTLocalizer.QuestDialogDict[7244]),2706    7250: (DL_TIER + 1, Start, (CogQuest, ToontownGlobals.CashbotHQ, 80, Any), Any, ToonHQ, Any, NA, DefaultDialog),2707    7251: (DL_TIER + 1, Start, (CogQuest, ToontownGlobals.CashbotHQ, 90, Any), Any, ToonHQ, Any, NA, DefaultDialog),2708    7252: (DL_TIER + 1, Start, (CogQuest, ToontownGlobals.CashbotHQ, 100, Any), Any, ToonHQ, Any, NA, DefaultDialog),2709    7253: (DL_TIER + 1, Start, (CogLevelQuest, ToontownGlobals.CashbotHQ, 50, 7), Any, ToonHQ, Any, NA, DefaultDialog),2710    7254: (DL_TIER + 1, Start, (CogLevelQuest, ToontownGlobals.CashbotHQ, 35, 8), Any, ToonHQ, Any, NA, DefaultDialog),2711    7255: (DL_TIER + 1, Start, (CogLevelQuest, ToontownGlobals.CashbotHQ, 35, 9), Any, ToonHQ, Any, NA, DefaultDialog),2712    7256: (DL_TIER + 1, Start, (CogLevelQuest, ToontownGlobals.CashbotMintIntA, 30, 10), Any, ToonHQ, Any, NA, DefaultDialog),2713    7257: (DL_TIER + 1, Start, (CogLevelQuest, ToontownGlobals.CashbotMintIntB, 25, 11), Any, ToonHQ, Any, NA, DefaultDialog),2714    7258: (DL_TIER + 1, OBSOLETE, (CogLevelQuest, ToontownGlobals.CashbotMintIntC, 20, 11), Any, ToonHQ, Any, NA, DefaultDialog),2715    7259: (DL_TIER + 1, Start, (MintQuest, ToontownGlobals.CashbotMintIntA, 8), Any, ToonHQ, Any, NA, DefaultDialog),2716    7260: (DL_TIER + 1, Start, (MintQuest, ToontownGlobals.CashbotMintIntB, 7), Any, ToonHQ, Any, NA, DefaultDialog),2717    7261: (DL_TIER + 1, OBSOLETE, (MintQuest, ToontownGlobals.CashbotMintIntC, 6), Any, ToonHQ, Any, NA, DefaultDialog),2718    7262: (DL_TIER + 1, Start, (SkelecogQuest, ToontownGlobals.CashbotHQ, 30), Any, ToonHQ, Any, NA, DefaultDialog),2719    7263: (DL_TIER + 1, Start, (SkelecogLevelQuest, ToontownGlobals.CashbotHQ, 20, 11), Any, ToonHQ, Any, NA, DefaultDialog),2720    7264: (DL_TIER + 1, Start, (SkelecogLevelQuest, ToontownGlobals.CashbotHQ, 10, 12), Any, ToonHQ, Any, NA, DefaultDialog),2721    7265: (DL_TIER + 1, Start, (SupervisorQuest, ToontownGlobals.CashbotMintIntA, 10), Any, ToonHQ, Any, NA, DefaultDialog),2722    7266: (DL_TIER + 1, Start, (SupervisorQuest, ToontownGlobals.CashbotMintIntB, 8), Any, ToonHQ, Any, NA, DefaultDialog),2723    7267: (DL_TIER + 1, OBSOLETE, (SupervisorQuest, ToontownGlobals.CashbotMintIntC, 6), Any, ToonHQ, Any, NA, DefaultDialog),2724    7268: (DL_TIER + 1, Start, (CogLevelQuest, ToontownGlobals.CashbotMintIntB, 20, 11), Any, ToonHQ, Any, NA, DefaultDialog),2725    7269: (DL_TIER + 1, Start, (MintQuest, ToontownGlobals.CashbotMintIntB, 6), Any, ToonHQ, Any, NA, DefaultDialog),2726    7270: (DL_TIER + 1, Start, (SupervisorQuest, ToontownGlobals.CashbotMintIntB, 6), Any, ToonHQ, Any, NA, DefaultDialog),2727    7500: (DL_TIER + 1, Start, (CogQuest, ToontownGlobals.DonaldsDreamland, 100, Any), Any, ToonHQ, NA, 7501, DefaultDialog),2728    7501: (DL_TIER + 1, Cont, (DeliverItemQuest, 1000), Any, 9010, 1000, NA, DefaultDialog),2729    8101: (DL_TIER + 2, Start, (CogQuest, Anywhere, 240, Any), Any, ToonHQ, Any, NA, DefaultDialog),2730    8102: (DL_TIER + 2, Start, (CogQuest, Anywhere, 260, Any), Any, ToonHQ, Any, NA, DefaultDialog),2731    8103: (DL_TIER + 2, Start, (CogQuest, Anywhere, 280, Any), Any, ToonHQ, Any, NA, DefaultDialog),2732    8104: (DL_TIER + 2, Start, (CogQuest, Anywhere, 320, Any), Any, ToonHQ, Any, NA, DefaultDialog),2733    8105: (DL_TIER + 2, Start, (CogQuest, Anywhere, 360, Any), Any, ToonHQ, Any, NA, DefaultDialog),2734    8106: (DL_TIER + 2, Start, (CogQuest, Anywhere, 400, Any), Any, ToonHQ, Any, NA, DefaultDialog),2735    8107: (DL_TIER + 2, Start, (CogQuest, Anywhere, 140, 'ym'), Any, ToonHQ, Any, NA, DefaultDialog),2736    8108: (DL_TIER + 2, Start, (CogQuest, Anywhere, 120, 'mm'), Any, ToonHQ, Any, NA, DefaultDialog),2737    8109: (DL_TIER + 2, Start, (CogQuest, Anywhere, 100, 'ds'), Any, ToonHQ, Any, NA, DefaultDialog),2738    8110: (DL_TIER + 2, Start, (CogQuest, Anywhere, 100, 'hh'), Any, ToonHQ, Any, NA, DefaultDialog),2739    8111: (DL_TIER + 2, Start, (CogQuest, Anywhere, 60, 'cr'), Any, ToonHQ, Any, NA, DefaultDialog),2740    8112: (DL_TIER + 2, Start, (CogQuest, Anywhere, 40, 'tbc'), Any, ToonHQ, Any, NA, DefaultDialog),2741    8113: (DL_TIER + 2, Start, (CogQuest, Anywhere, 140, 'nd'), Any, ToonHQ, Any, NA, DefaultDialog),2742    8114: (DL_TIER + 2, Start, (CogQuest, Anywhere, 120, 'gh'), Any, ToonHQ, Any, NA, DefaultDialog),2743    8115: (DL_TIER + 2, Start, (CogQuest, Anywhere, 100, 'ms'), Any, ToonHQ, Any, NA, DefaultDialog),2744    8116: (DL_TIER + 2, Start, (CogQuest, Anywhere, 100, 'tf'), Any, ToonHQ, Any, NA, DefaultDialog),2745    8117: (DL_TIER + 2, Start, (CogQuest, Anywhere, 60, 'm'), Any, ToonHQ, Any, NA, DefaultDialog),2746    8118: (DL_TIER + 2, Start, (CogQuest, Anywhere, 40, 'mh'), Any, ToonHQ, Any, NA, DefaultDialog),2747    8119: (DL_TIER + 2, Start, (CogQuest, Anywhere, 140, 'tw'), Any, ToonHQ, Any, NA, DefaultDialog),2748    8120: (DL_TIER + 2, Start, (CogQuest, Anywhere, 120, 'bc'), Any, ToonHQ, Any, NA, DefaultDialog),2749    8121: (DL_TIER + 2, Start, (CogQuest, Anywhere, 100, 'nc'), Any, ToonHQ, Any, NA, DefaultDialog),2750    8122: (DL_TIER + 2, Start, (CogQuest, Anywhere, 100, 'mb'), Any, ToonHQ, Any, NA, DefaultDialog),2751    8123: (DL_TIER + 2, Start, (CogQuest, Anywhere, 60, 'ls'), Any, ToonHQ, Any, NA, DefaultDialog),2752    8124: (DL_TIER + 2, Start, (CogQuest, Anywhere, 40, 'rb'), Any, ToonHQ, Any, NA, DefaultDialog),2753    8125: (DL_TIER + 2, Start, (CogQuest, Anywhere, 140, 'dt'), Any, ToonHQ, Any, NA, DefaultDialog),2754    8126: (DL_TIER + 2, Start, (CogQuest, Anywhere, 120, 'ac'), Any, ToonHQ, Any, NA, DefaultDialog),2755    8127: (DL_TIER + 2, Start, (CogQuest, Anywhere, 100, 'bs'), Any, ToonHQ, Any, NA, DefaultDialog),2756    8128: (DL_TIER + 2, Start, (CogQuest, Anywhere, 100, 'sd'), Any, ToonHQ, Any, NA, DefaultDialog),2757    8129: (DL_TIER + 2, Start, (CogQuest, Anywhere, 60, 'le'), Any, ToonHQ, Any, NA, DefaultDialog),2758    8130: (DL_TIER + 2, Start, (CogQuest, Anywhere, 40, 'bw'), Any, ToonHQ, Any, NA, DefaultDialog),2759    8131: (DL_TIER + 2, Start, (CogLevelQuest, Anywhere, 160, 9), Any, ToonHQ, Any, NA, DefaultDialog),2760    8132: (DL_TIER + 2, Start, (CogLevelQuest, Anywhere, 200, 9), Any, ToonHQ, Any, NA, DefaultDialog),2761    8133: (DL_TIER + 2, Start, (CogLevelQuest, Anywhere, 120, 10), Any, ToonHQ, Any, NA, DefaultDialog),2762    8134: (DL_TIER + 2, Start, (CogLevelQuest, Anywhere, 140, 10), Any, ToonHQ, Any, NA, DefaultDialog),2763    8135: (DL_TIER + 2, Start, (CogLevelQuest, Anywhere, 80, 11), Any, ToonHQ, Any, NA, DefaultDialog),2764    8136: (DL_TIER + 2, Start, (CogLevelQuest, Anywhere, 100, 11), Any, ToonHQ, Any, NA, DefaultDialog),2765    8137: (DL_TIER + 2, Start, (CogLevelQuest, Anywhere, 40, 12), Any, ToonHQ, Any, NA, DefaultDialog),2766    8138: (DL_TIER + 2, Start, (CogLevelQuest, Anywhere, 60, 12), Any, ToonHQ, Any, NA, DefaultDialog),2767    8139: (DL_TIER + 2, Start, (CogTrackQuest, Anywhere, 200, 'm'), Any, ToonHQ, Any, NA, DefaultDialog),2768    8140: (DL_TIER + 2, Start, (CogTrackQuest, Anywhere, 200, 's'), Any, ToonHQ, Any, NA, DefaultDialog),2769    8141: (DL_TIER + 2, Start, (CogTrackQuest, Anywhere, 200, 'c'), Any, ToonHQ, Any, NA, DefaultDialog),2770    8142: (DL_TIER + 2, Start, (CogTrackQuest, Anywhere, 200, 'l'), Any, ToonHQ, Any, NA, DefaultDialog),2771    8143: (DL_TIER + 2, Start, (CogTrackQuest, Anywhere, 250, 'm'), Any, ToonHQ, Any, NA, DefaultDialog),2772    8144: (DL_TIER + 2, Start, (CogTrackQuest, Anywhere, 250, 's'), Any, ToonHQ, Any, NA, DefaultDialog),2773    8145: (DL_TIER + 2, Start, (CogTrackQuest, Anywhere, 250, 'c'), Any, ToonHQ, Any, NA, DefaultDialog),2774    8146: (DL_TIER + 2, Start, (CogTrackQuest, Anywhere, 250, 'l'), Any, ToonHQ, Any, NA, DefaultDialog),2775    8147: (DL_TIER + 2, Start, (CogTrackQuest, Anywhere, 300, 'm'), Any, ToonHQ, Any, NA, DefaultDialog),2776    8148: (DL_TIER + 2, Start, (CogTrackQuest, Anywhere, 300, 's'), Any, ToonHQ, Any, NA, DefaultDialog),2777    8149: (DL_TIER + 2, Start, (CogTrackQuest, Anywhere, 300, 'c'), Any, ToonHQ, Any, NA, DefaultDialog),2778    8150: (DL_TIER + 2, Start, (CogTrackQuest, Anywhere, 300, 'l'), Any, ToonHQ, Any, NA, DefaultDialog),2779    8151: (DL_TIER + 2, Start, (BuildingQuest, Anywhere, 40, Any, 2), Any, ToonHQ, Any, NA, DefaultDialog),2780    8152: (DL_TIER + 2, Start, (BuildingQuest, Anywhere, 20, Any, 3), Any, ToonHQ, Any, NA, DefaultDialog),2781    8153: (DL_TIER + 2, Start, (BuildingQuest, Anywhere, 20, Any, 4), Any, ToonHQ, Any, NA, DefaultDialog),2782    8154: (DL_TIER + 2, Start, (BuildingQuest, Anywhere, 20, Any, 5), Any, ToonHQ, Any, NA, DefaultDialog),2783    8155: (DL_TIER + 2, Start, (BuildingQuest, Anywhere, 10, 'm', 5), Any, ToonHQ, Any, NA, DefaultDialog),2784    8156: (DL_TIER + 2, Start, (BuildingQuest, Anywhere, 10, 's', 5), Any, ToonHQ, Any, NA, DefaultDialog),2785    8157: (DL_TIER + 2, Start, (BuildingQuest, Anywhere, 10, 'c', 5), Any, ToonHQ, Any, NA, DefaultDialog),2786    8158: (DL_TIER + 2, Start, (BuildingQuest, Anywhere, 10, 'l', 5), Any, ToonHQ, Any, NA, DefaultDialog),2787    8160: (DL_TIER + 2, Start, (CogNewbieQuest, ToontownGlobals.ToontownCentral, 40, Any, NEWBIE_HP), Any, ToonHQ, 608, NA, DefaultDialog),2788    8161: (DL_TIER + 2, Start, (CogNewbieQuest, ToontownGlobals.ToontownCentral, 40, Any, NEWBIE_HP), Any, ToonHQ, 608, NA, DefaultDialog),2789    8162: (DL_TIER + 2, Start, (CogNewbieQuest, ToontownGlobals.ToontownCentral, 40, Any, NEWBIE_HP), Any, ToonHQ, 608, NA, DefaultDialog),2790    8163: (DL_TIER + 2, Start, (CogNewbieQuest, ToontownGlobals.ToontownCentral, 40, Any, NEWBIE_HP), Any, ToonHQ, 608, NA, DefaultDialog),2791    8164: (DL_TIER + 2, Start, (BuildingNewbieQuest, Anywhere, 1, Any, 3, NEWBIE_HP), Any, ToonHQ, 609, NA, DefaultDialog),2792    8165: (DL_TIER + 2, Start, (BuildingNewbieQuest, Anywhere, 1, Any, 3, NEWBIE_HP), Any, ToonHQ, 609, NA, DefaultDialog),2793    8166: (DL_TIER + 2, Start, (BuildingNewbieQuest, Anywhere, 1, Any, 3, NEWBIE_HP), Any, ToonHQ, 609, NA, DefaultDialog),2794    8167: (DL_TIER + 2, Start, (BuildingNewbieQuest, Anywhere, 1, Any, 3, NEWBIE_HP), Any, ToonHQ, 609, NA, DefaultDialog),2795    8170: (DL_TIER + 2, OBSOLETE, (CogQuest, ToontownGlobals.SellbotHQ, 160, Any), Any, ToonHQ, Any, NA, DefaultDialog),2796    8171: (DL_TIER + 2, OBSOLETE, (CogQuest, ToontownGlobals.SellbotHQ, 180, Any), Any, ToonHQ, Any, NA, DefaultDialog),2797    8172: (DL_TIER + 2, OBSOLETE, (CogQuest, ToontownGlobals.SellbotHQ, 200, Any), Any, ToonHQ, Any, NA, DefaultDialog),2798    8173: (DL_TIER + 2, OBSOLETE, (CogLevelQuest, ToontownGlobals.SellbotHQ, 100, 4), Any, ToonHQ, Any, NA, DefaultDialog),2799    8174: (DL_TIER + 2, OBSOLETE, (CogLevelQuest, ToontownGlobals.SellbotHQ, 70, 5), Any, ToonHQ, Any, NA, DefaultDialog),2800    8175: (DL_TIER + 2, OBSOLETE, (CogLevelQuest, ToontownGlobals.SellbotHQ, 70, 5), Any, ToonHQ, Any, NA, DefaultDialog),2801    8176: (DL_TIER + 2, OBSOLETE, (CogLevelQuest, ToontownGlobals.SellbotFactoryInt, 60, 5), Any, ToonHQ, Any, NA, DefaultDialog),2802    8177: (DL_TIER + 2, OBSOLETE, (CogLevelQuest, ToontownGlobals.SellbotFactoryInt, 40, 6), Any, ToonHQ, Any, NA, DefaultDialog),2803    8178: (DL_TIER + 2, OBSOLETE, (CogLevelQuest, ToontownGlobals.SellbotFactoryInt, 40, 6), Any, ToonHQ, Any, NA, DefaultDialog),2804    8179: (DL_TIER + 2, OBSOLETE, (FactoryQuest, ToontownGlobals.SellbotHQ, 12), Any, ToonHQ, Any, NA, DefaultDialog),2805    8180: (DL_TIER + 2, OBSOLETE, (FactoryQuest, ToontownGlobals.SellbotHQ, 16), Any, ToonHQ, Any, NA, DefaultDialog),2806    8181: (DL_TIER + 2, OBSOLETE, (FactoryQuest, ToontownGlobals.SellbotHQ, 12), Any, ToonHQ, Any, NA, DefaultDialog),2807    8182: (DL_TIER + 2, OBSOLETE, (FactoryQuest, ToontownGlobals.SellbotHQ, 16), Any, ToonHQ, Any, NA, DefaultDialog),2808    8183: (DL_TIER + 2, OBSOLETE, (SkelecogQuest, ToontownGlobals.SellbotFactoryInt, 80), Any, ToonHQ, Any, NA, DefaultDialog),2809    8184: (DL_TIER + 2, OBSOLETE, (SkelecogLevelQuest, ToontownGlobals.SellbotHQ, 40, 5), Any, ToonHQ, Any, NA, DefaultDialog),2810    8185: (DL_TIER + 2, OBSOLETE, (SkelecogLevelQuest, ToontownGlobals.SellbotHQ, 16, 6), Any, ToonHQ, Any, NA, DefaultDialog),2811    8186: (DL_TIER + 2, OBSOLETE, (ForemanQuest, ToontownGlobals.SellbotHQ, 12), Any, ToonHQ, Any, NA, DefaultDialog),2812    8187: (DL_TIER + 2, OBSOLETE, (ForemanQuest, ToontownGlobals.SellbotHQ, 16), Any, ToonHQ, Any, NA, DefaultDialog),2813    8188: (DL_TIER + 2, OBSOLETE, (VPQuest, ToontownGlobals.SellbotHQ, 2), Any, ToonHQ, Any, NA, DefaultDialog),2814    8189: (DL_TIER + 2, OBSOLETE, (RescueQuest, ToontownGlobals.SellbotHQ, 2), Any, ToonHQ, Any, NA, DefaultDialog),2815    8190: (DL_TIER + 2, OBSOLETE, (CogNewbieQuest, ToontownGlobals.SellbotHQ, 30, Any, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, 610, NA, DefaultDialog),2816    8191: (DL_TIER + 2, OBSOLETE, (CogNewbieQuest, ToontownGlobals.SellbotHQ, 30, Any, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, 610, NA, DefaultDialog),2817    8192: (DL_TIER + 2, OBSOLETE, (CogNewbieQuest, ToontownGlobals.SellbotHQ, 30, Any, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, 610, NA, DefaultDialog),2818    8193: (DL_TIER + 2, OBSOLETE, (SkelecogNewbieQuest, ToontownGlobals.SellbotHQ, 8, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, 610, NA, DefaultDialog),2819    8194: (DL_TIER + 2, OBSOLETE, (FactoryNewbieQuest, ToontownGlobals.SellbotHQ, 3, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, 610, NA, DefaultDialog),2820    8195: (DL_TIER + 2, OBSOLETE, (FactoryNewbieQuest, ToontownGlobals.SellbotHQ, 3, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, 610, NA, DefaultDialog),2821    8196: (DL_TIER + 2, OBSOLETE, (ForemanNewbieQuest, ToontownGlobals.SellbotFactoryInt, 3, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, 610, NA, DefaultDialog),2822    8197: (DL_TIER + 2, OBSOLETE, (VPNewbieQuest, ToontownGlobals.SellbotHQ, 1, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, 610, NA, DefaultDialog),2823    8198: (DL_TIER + 2, OBSOLETE, (RescueNewbieQuest, ToontownGlobals.SellbotHQ, 1, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, 610, NA, DefaultDialog),2824    8201: (DL_TIER + 2, Start, (CogQuest, ToontownGlobals.CashbotHQ, 160, Any), Any, ToonHQ, Any, NA, DefaultDialog),2825    8202: (DL_TIER + 2, Start, (CogQuest, ToontownGlobals.CashbotHQ, 180, Any), Any, ToonHQ, Any, NA, DefaultDialog),2826    8203: (DL_TIER + 2, Start, (CogQuest, ToontownGlobals.CashbotHQ, 200, Any), Any, ToonHQ, Any, NA, DefaultDialog),2827    8204: (DL_TIER + 2, Start, (CogLevelQuest, ToontownGlobals.CashbotHQ, 100, 7), Any, ToonHQ, Any, NA, DefaultDialog),2828    8205: (DL_TIER + 2, Start, (CogLevelQuest, ToontownGlobals.CashbotHQ, 90, 8), Any, ToonHQ, Any, NA, DefaultDialog),2829    8206: (DL_TIER + 2, Start, (CogLevelQuest, ToontownGlobals.CashbotHQ, 80, 9), Any, ToonHQ, Any, NA, DefaultDialog),2830    8207: (DL_TIER + 2, Start, (CogLevelQuest, ToontownGlobals.CashbotMintIntA, 60, 10), Any, ToonHQ, Any, NA, DefaultDialog),2831    8208: (DL_TIER + 2, Start, (CogLevelQuest, ToontownGlobals.CashbotMintIntB, 50, 11), Any, ToonHQ, Any, NA, DefaultDialog),2832    8209: (DL_TIER + 2, Start, (CogLevelQuest, ToontownGlobals.CashbotMintIntC, 40, 11), Any, ToonHQ, Any, NA, DefaultDialog),2833    8210: (DL_TIER + 2, Start, (MintQuest, ToontownGlobals.CashbotMintIntA, 16), Any, ToonHQ, Any, NA, DefaultDialog),2834    8211: (DL_TIER + 2, Start, (MintQuest, ToontownGlobals.CashbotMintIntB, 14), Any, ToonHQ, Any, NA, DefaultDialog),2835    8212: (DL_TIER + 2, Start, (MintQuest, ToontownGlobals.CashbotMintIntC, 12), Any, ToonHQ, Any, NA, DefaultDialog),2836    8213: (DL_TIER + 2, Start, (SkelecogQuest, ToontownGlobals.CashbotMintIntA, 80), Any, ToonHQ, Any, NA, DefaultDialog),2837    8214: (DL_TIER + 2, Start, (SkelecogQuest, ToontownGlobals.CashbotMintIntB, 60), Any, ToonHQ, Any, NA, DefaultDialog),2838    8215: (DL_TIER + 2, Start, (SkelecogQuest, ToontownGlobals.CashbotMintIntC, 40), Any, ToonHQ, Any, NA, DefaultDialog),2839    8216: (DL_TIER + 2, Start, (SupervisorQuest, ToontownGlobals.CashbotMintIntA, 16), Any, ToonHQ, Any, NA, DefaultDialog),2840    8217: (DL_TIER + 2, Start, (SupervisorQuest, ToontownGlobals.CashbotMintIntB, 14), Any, ToonHQ, Any, NA, DefaultDialog),2841    8218: (DL_TIER + 2, Start, (SupervisorQuest, ToontownGlobals.CashbotMintIntC, 12), Any, ToonHQ, Any, NA, DefaultDialog),2842    8219: (DL_TIER + 2, Start, (CFOQuest, ToontownGlobals.CashbotHQ, 2), Any, ToonHQ, 621, NA, DefaultDialog),2843    9101: (DL_TIER + 3, Start, (CogQuest, Anywhere, 500, Any), Any, ToonHQ, Any, NA, DefaultDialog),2844    9102: (DL_TIER + 3, Start, (CogQuest, Anywhere, 600, Any), Any, ToonHQ, Any, NA, DefaultDialog),2845    9103: (DL_TIER + 3, Start, (CogQuest, Anywhere, 700, Any), Any, ToonHQ, Any, NA, DefaultDialog),2846    9104: (DL_TIER + 3, Start, (CogQuest, Anywhere, 800, Any), Any, ToonHQ, Any, NA, DefaultDialog),2847    9105: (DL_TIER + 3, Start, (CogQuest, Anywhere, 900, Any), Any, ToonHQ, Any, NA, DefaultDialog),2848    9106: (DL_TIER + 3, Start, (CogQuest, Anywhere, 1000, Any), Any, ToonHQ, Any, NA, DefaultDialog),2849    9107: (DL_TIER + 3, Start, (CogQuest, Anywhere, 300, 'ym'), Any, ToonHQ, Any, NA, DefaultDialog),2850    9108: (DL_TIER + 3, Start, (CogQuest, Anywhere, 250, 'mm'), Any, ToonHQ, Any, NA, DefaultDialog),2851    9109: (DL_TIER + 3, Start, (CogQuest, Anywhere, 200, 'ds'), Any, ToonHQ, Any, NA, DefaultDialog),2852    9110: (DL_TIER + 3, Start, (CogQuest, Anywhere, 200, 'hh'), Any, ToonHQ, Any, NA, DefaultDialog),2853    9111: (DL_TIER + 3, Start, (CogQuest, Anywhere, 120, 'cr'), Any, ToonHQ, Any, NA, DefaultDialog),2854    9112: (DL_TIER + 3, Start, (CogQuest, Anywhere, 80, 'tbc'), Any, ToonHQ, Any, NA, DefaultDialog),2855    9113: (DL_TIER + 3, Start, (CogQuest, Anywhere, 280, 'nd'), Any, ToonHQ, Any, NA, DefaultDialog),2856    9114: (DL_TIER + 3, Start, (CogQuest, Anywhere, 240, 'gh'), Any, ToonHQ, Any, NA, DefaultDialog),2857    9115: (DL_TIER + 3, Start, (CogQuest, Anywhere, 200, 'ms'), Any, ToonHQ, Any, NA, DefaultDialog),2858    9116: (DL_TIER + 3, Start, (CogQuest, Anywhere, 200, 'tf'), Any, ToonHQ, Any, NA, DefaultDialog),2859    9117: (DL_TIER + 3, Start, (CogQuest, Anywhere, 120, 'm'), Any, ToonHQ, Any, NA, DefaultDialog),2860    9118: (DL_TIER + 3, Start, (CogQuest, Anywhere, 80, 'mh'), Any, ToonHQ, Any, NA, DefaultDialog),2861    9119: (DL_TIER + 3, Start, (CogQuest, Anywhere, 280, 'tw'), Any, ToonHQ, Any, NA, DefaultDialog),2862    9120: (DL_TIER + 3, Start, (CogQuest, Anywhere, 240, 'bc'), Any, ToonHQ, Any, NA, DefaultDialog),2863    9121: (DL_TIER + 3, Start, (CogQuest, Anywhere, 200, 'nc'), Any, ToonHQ, Any, NA, DefaultDialog),2864    9122: (DL_TIER + 3, Start, (CogQuest, Anywhere, 200, 'mb'), Any, ToonHQ, Any, NA, DefaultDialog),2865    9123: (DL_TIER + 3, Start, (CogQuest, Anywhere, 120, 'ls'), Any, ToonHQ, Any, NA, DefaultDialog),2866    9124: (DL_TIER + 3, Start, (CogQuest, Anywhere, 80, 'rb'), Any, ToonHQ, Any, NA, DefaultDialog),2867    9125: (DL_TIER + 3, Start, (CogQuest, Anywhere, 280, 'dt'), Any, ToonHQ, Any, NA, DefaultDialog),2868    9126: (DL_TIER + 3, Start, (CogQuest, Anywhere, 240, 'ac'), Any, ToonHQ, Any, NA, DefaultDialog),2869    9127: (DL_TIER + 3, Start, (CogQuest, Anywhere, 200, 'bs'), Any, ToonHQ, Any, NA, DefaultDialog),2870    9128: (DL_TIER + 3, Start, (CogQuest, Anywhere, 200, 'sd'), Any, ToonHQ, Any, NA, DefaultDialog),2871    9129: (DL_TIER + 3, Start, (CogQuest, Anywhere, 120, 'le'), Any, ToonHQ, Any, NA, DefaultDialog),2872    9130: (DL_TIER + 3, Start, (CogQuest, Anywhere, 80, 'bw'), Any, ToonHQ, Any, NA, DefaultDialog),2873    9131: (DL_TIER + 3, Start, (CogLevelQuest, Anywhere, 320, 9), Any, ToonHQ, Any, NA, DefaultDialog),2874    9132: (DL_TIER + 3, Start, (CogLevelQuest, Anywhere, 400, 9), Any, ToonHQ, Any, NA, DefaultDialog),2875    9133: (DL_TIER + 3, Start, (CogLevelQuest, Anywhere, 240, 10), Any, ToonHQ, Any, NA, DefaultDialog),2876    9134: (DL_TIER + 3, Start, (CogLevelQuest, Anywhere, 280, 10), Any, ToonHQ, Any, NA, DefaultDialog),2877    9135: (DL_TIER + 3, Start, (CogLevelQuest, Anywhere, 160, 11), Any, ToonHQ, Any, NA, DefaultDialog),2878    9136: (DL_TIER + 3, Start, (CogLevelQuest, Anywhere, 200, 11), Any, ToonHQ, Any, NA, DefaultDialog),2879    9137: (DL_TIER + 3, Start, (CogLevelQuest, Anywhere, 80, 12), Any, ToonHQ, Any, NA, DefaultDialog),2880    9138: (DL_TIER + 3, Start, (CogLevelQuest, Anywhere, 120, 12), Any, ToonHQ, Any, NA, DefaultDialog),2881    9139: (DL_TIER + 3, Start, (CogTrackQuest, Anywhere, 400, 'm'), Any, ToonHQ, Any, NA, DefaultDialog),2882    9140: (DL_TIER + 3, Start, (CogTrackQuest, Anywhere, 400, 's'), Any, ToonHQ, Any, NA, DefaultDialog),2883    9141: (DL_TIER + 3, Start, (CogTrackQuest, Anywhere, 400, 'c'), Any, ToonHQ, Any, NA, DefaultDialog),2884    9142: (DL_TIER + 3, Start, (CogTrackQuest, Anywhere, 400, 'l'), Any, ToonHQ, Any, NA, DefaultDialog),2885    9143: (DL_TIER + 3, Start, (CogTrackQuest, Anywhere, 500, 'm'), Any, ToonHQ, Any, NA, DefaultDialog),2886    9144: (DL_TIER + 3, Start, (CogTrackQuest, Anywhere, 500, 's'), Any, ToonHQ, Any, NA, DefaultDialog),2887    9145: (DL_TIER + 3, Start, (CogTrackQuest, Anywhere, 500, 'c'), Any, ToonHQ, Any, NA, DefaultDialog),2888    9146: (DL_TIER + 3, Start, (CogTrackQuest, Anywhere, 500, 'l'), Any, ToonHQ, Any, NA, DefaultDialog),2889    9147: (DL_TIER + 3, Start, (CogTrackQuest, Anywhere, 600, 'm'), Any, ToonHQ, Any, NA, DefaultDialog),2890    9148: (DL_TIER + 3, Start, (CogTrackQuest, Anywhere, 600, 's'), Any, ToonHQ, Any, NA, DefaultDialog),2891    9149: (DL_TIER + 3, Start, (CogTrackQuest, Anywhere, 600, 'c'), Any, ToonHQ, Any, NA, DefaultDialog),2892    9150: (DL_TIER + 3, Start, (CogTrackQuest, Anywhere, 600, 'l'), Any, ToonHQ, Any, NA, DefaultDialog),2893    9151: (DL_TIER + 3, Start, (BuildingQuest, Anywhere, 400, Any, 2), Any, ToonHQ, Any, NA, DefaultDialog),2894    9152: (DL_TIER + 3, Start, (BuildingQuest, Anywhere, 200, Any, 3), Any, ToonHQ, Any, NA, DefaultDialog),2895    9153: (DL_TIER + 3, Start, (BuildingQuest, Anywhere, 200, Any, 4), Any, ToonHQ, Any, NA, DefaultDialog),2896    9154: (DL_TIER + 3, Start, (BuildingQuest, Anywhere, 200, Any, 5), Any, ToonHQ, Any, NA, DefaultDialog),2897    9155: (DL_TIER + 3, Start, (BuildingQuest, Anywhere, 100, Any, 5), Any, ToonHQ, Any, NA, DefaultDialog),2898    9156: (DL_TIER + 3, Start, (BuildingQuest, Anywhere, 100, Any, 5), Any, ToonHQ, Any, NA, DefaultDialog),2899    9157: (DL_TIER + 3, Start, (BuildingQuest, Anywhere, 100, Any, 5), Any, ToonHQ, Any, NA, DefaultDialog),2900    9158: (DL_TIER + 3, Start, (BuildingQuest, Anywhere, 100, Any, 5), Any, ToonHQ, Any, NA, DefaultDialog),2901    9160: (DL_TIER + 3, Start, (CogNewbieQuest, ToontownGlobals.ToontownCentral, 45, Any, NEWBIE_HP), Any, ToonHQ, 609, NA, DefaultDialog),2902    9161: (DL_TIER + 3, Start, (CogNewbieQuest, ToontownGlobals.ToontownCentral, 45, Any, NEWBIE_HP), Any, ToonHQ, 609, NA, DefaultDialog),2903    9162: (DL_TIER + 3, Start, (CogNewbieQuest, ToontownGlobals.ToontownCentral, 45, Any, NEWBIE_HP), Any, ToonHQ, 609, NA, DefaultDialog),2904    9163: (DL_TIER + 3, Start, (CogNewbieQuest, ToontownGlobals.ToontownCentral, 45, Any, NEWBIE_HP), Any, ToonHQ, 609, NA, DefaultDialog),2905    9164: (DL_TIER + 3, Start, (BuildingNewbieQuest, Anywhere, 1, Any, 3, NEWBIE_HP), Any, ToonHQ, 609, NA, DefaultDialog),2906    9165: (DL_TIER + 3, Start, (BuildingNewbieQuest, Anywhere, 1, Any, 3, NEWBIE_HP), Any, ToonHQ, 609, NA, DefaultDialog),2907    9166: (DL_TIER + 3, Start, (BuildingNewbieQuest, Anywhere, 1, Any, 3, NEWBIE_HP), Any, ToonHQ, 609, NA, DefaultDialog),2908    9167: (DL_TIER + 3, Start, (BuildingNewbieQuest, Anywhere, 1, Any, 3, NEWBIE_HP), Any, ToonHQ, 609, NA, DefaultDialog),2909    9170: (DL_TIER + 3, OBSOLETE, (CogQuest, ToontownGlobals.SellbotHQ, 350, Any), Any, ToonHQ, Any, NA, DefaultDialog),2910    9171: (DL_TIER + 3, OBSOLETE, (CogQuest, ToontownGlobals.SellbotHQ, 400, Any), Any, ToonHQ, Any, NA, DefaultDialog),2911    9172: (DL_TIER + 3, OBSOLETE, (CogQuest, ToontownGlobals.SellbotHQ, 500, Any), Any, ToonHQ, Any, NA, DefaultDialog),2912    9173: (DL_TIER + 3, OBSOLETE, (CogLevelQuest, ToontownGlobals.SellbotHQ, 200, 4), Any, ToonHQ, Any, NA, DefaultDialog),2913    9174: (DL_TIER + 3, OBSOLETE, (CogLevelQuest, ToontownGlobals.SellbotHQ, 150, 5), Any, ToonHQ, Any, NA, DefaultDialog),2914    9175: (DL_TIER + 3, OBSOLETE, (CogLevelQuest, ToontownGlobals.SellbotHQ, 150, 5), Any, ToonHQ, Any, NA, DefaultDialog),2915    9176: (DL_TIER + 3, OBSOLETE, (CogLevelQuest, ToontownGlobals.SellbotFactoryInt, 150, 5), Any, ToonHQ, Any, NA, DefaultDialog),2916    9177: (DL_TIER + 3, OBSOLETE, (CogLevelQuest, ToontownGlobals.SellbotFactoryInt, 100, 6), Any, ToonHQ, Any, NA, DefaultDialog),2917    9178: (DL_TIER + 3, OBSOLETE, (CogLevelQuest, ToontownGlobals.SellbotFactoryInt, 100, 6), Any, ToonHQ, Any, NA, DefaultDialog),2918    9179: (DL_TIER + 3, OBSOLETE, (FactoryQuest, ToontownGlobals.SellbotHQ, 25), Any, ToonHQ, Any, NA, DefaultDialog),2919    9180: (DL_TIER + 3, OBSOLETE, (FactoryQuest, ToontownGlobals.SellbotHQ, 35), Any, ToonHQ, Any, NA, DefaultDialog),2920    9181: (DL_TIER + 3, OBSOLETE, (FactoryQuest, ToontownGlobals.SellbotHQ, 25), Any, ToonHQ, Any, NA, DefaultDialog),2921    9182: (DL_TIER + 3, OBSOLETE, (FactoryQuest, ToontownGlobals.SellbotHQ, 35), Any, ToonHQ, Any, NA, DefaultDialog),2922    9183: (DL_TIER + 3, OBSOLETE, (SkelecogQuest, ToontownGlobals.SellbotFactoryInt, 150), Any, ToonHQ, Any, NA, DefaultDialog),2923    9184: (DL_TIER + 3, OBSOLETE, (SkelecogLevelQuest, ToontownGlobals.SellbotHQ, 80, 5), Any, ToonHQ, Any, NA, DefaultDialog),2924    9185: (DL_TIER + 3, OBSOLETE, (SkelecogLevelQuest, ToontownGlobals.SellbotHQ, 32, 6), Any, ToonHQ, Any, NA, DefaultDialog),2925    9186: (DL_TIER + 3, OBSOLETE, (ForemanQuest, ToontownGlobals.SellbotHQ, 25), Any, ToonHQ, Any, NA, DefaultDialog),2926    9187: (DL_TIER + 3, OBSOLETE, (ForemanQuest, ToontownGlobals.SellbotHQ, 35), Any, ToonHQ, Any, NA, DefaultDialog),2927    9188: (DL_TIER + 3, OBSOLETE, (VPQuest, ToontownGlobals.SellbotHQ, 3), Any, ToonHQ, Any, NA, DefaultDialog),2928    9189: (DL_TIER + 3, OBSOLETE, (RescueQuest, ToontownGlobals.SellbotHQ, 3), Any, ToonHQ, Any, NA, DefaultDialog),2929    9190: (DL_TIER + 3, OBSOLETE, (CogNewbieQuest, ToontownGlobals.SellbotHQ, 35, Any, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, 611, NA, DefaultDialog),2930    9191: (DL_TIER + 3, OBSOLETE, (CogNewbieQuest, ToontownGlobals.SellbotHQ, 35, Any, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, 611, NA, DefaultDialog),2931    9192: (DL_TIER + 3, OBSOLETE, (CogNewbieQuest, ToontownGlobals.SellbotHQ, 35, Any, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, 611, NA, DefaultDialog),2932    9193: (DL_TIER + 3, OBSOLETE, (SkelecogNewbieQuest, ToontownGlobals.SellbotHQ, 10, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, 611, NA, DefaultDialog),2933    9194: (DL_TIER + 3, OBSOLETE, (FactoryNewbieQuest, ToontownGlobals.SellbotHQ, 4, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, 611, NA, DefaultDialog),2934    9195: (DL_TIER + 3, OBSOLETE, (FactoryNewbieQuest, ToontownGlobals.SellbotHQ, 4, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, 611, NA, DefaultDialog),2935    9196: (DL_TIER + 3, OBSOLETE, (ForemanNewbieQuest, ToontownGlobals.SellbotFactoryInt, 4, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, 611, NA, DefaultDialog),2936    9197: (DL_TIER + 3, OBSOLETE, (VPNewbieQuest, ToontownGlobals.SellbotHQ, 2, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, 611, NA, DefaultDialog),2937    9198: (DL_TIER + 3, OBSOLETE, (RescueNewbieQuest, ToontownGlobals.SellbotHQ, 2, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, 611, NA, DefaultDialog),2938    9201: (DL_TIER + 3, Start, (CogQuest, ToontownGlobals.CashbotHQ, 350, Any), Any, ToonHQ, Any, NA, DefaultDialog),2939    9202: (DL_TIER + 3, Start, (CogQuest, ToontownGlobals.CashbotHQ, 400, Any), Any, ToonHQ, Any, NA, DefaultDialog),2940    9203: (DL_TIER + 3, Start, (CogQuest, ToontownGlobals.CashbotHQ, 450, Any), Any, ToonHQ, Any, NA, DefaultDialog),2941    9204: (DL_TIER + 3, Start, (CogLevelQuest, ToontownGlobals.CashbotHQ, 200, 7), Any, ToonHQ, Any, NA, DefaultDialog),2942    9205: (DL_TIER + 3, Start, (CogLevelQuest, ToontownGlobals.CashbotHQ, 150, 8), Any, ToonHQ, Any, NA, DefaultDialog),2943    9206: (DL_TIER + 3, Start, (CogLevelQuest, ToontownGlobals.CashbotHQ, 100, 9), Any, ToonHQ, Any, NA, DefaultDialog),2944    9207: (DL_TIER + 3, Start, (CogLevelQuest, ToontownGlobals.CashbotMintIntA, 200, 10), Any, ToonHQ, Any, NA, DefaultDialog),2945    9208: (DL_TIER + 3, Start, (CogLevelQuest, ToontownGlobals.CashbotMintIntB, 150, 10), Any, ToonHQ, Any, NA, DefaultDialog),2946    9209: (DL_TIER + 3, Start, (CogLevelQuest, ToontownGlobals.CashbotMintIntC, 100, 11), Any, ToonHQ, Any, NA, DefaultDialog),2947    9210: (DL_TIER + 3, Start, (MintQuest, ToontownGlobals.CashbotMintIntA, 35), Any, ToonHQ, Any, NA, DefaultDialog),2948    9211: (DL_TIER + 3, Start, (MintQuest, ToontownGlobals.CashbotMintIntB, 30), Any, ToonHQ, Any, NA, DefaultDialog),2949    9212: (DL_TIER + 3, Start, (MintQuest, ToontownGlobals.CashbotMintIntC, 25), Any, ToonHQ, Any, NA, DefaultDialog),2950    9213: (DL_TIER + 3, Start, (SkelecogQuest, ToontownGlobals.CashbotMintIntA, 150), Any, ToonHQ, Any, NA, DefaultDialog),2951    9214: (DL_TIER + 3, Start, (SkelecogQuest, ToontownGlobals.CashbotMintIntB, 100), Any, ToonHQ, Any, NA, DefaultDialog),2952    9215: (DL_TIER + 3, Start, (SkelecogQuest, ToontownGlobals.CashbotMintIntC, 50), Any, ToonHQ, Any, NA, DefaultDialog),2953    9216: (DL_TIER + 3, Start, (SupervisorQuest, ToontownGlobals.CashbotMintIntA, 35), Any, ToonHQ, Any, NA, DefaultDialog),2954    9217: (DL_TIER + 3, Start, (SupervisorQuest, ToontownGlobals.CashbotMintIntB, 30), Any, ToonHQ, Any, NA, DefaultDialog),2955    9218: (DL_TIER + 3, Start, (SupervisorQuest, ToontownGlobals.CashbotMintIntC, 25), Any, ToonHQ, Any, NA, DefaultDialog),2956    9219: (DL_TIER + 3, Start, (CFOQuest, ToontownGlobals.CashbotHQ, 3), Any, ToonHQ, 622, NA, DefaultDialog),2957    9220: (DL_TIER + 3, Start, (CogNewbieQuest, ToontownGlobals.CashbotMintIntA, 35, Any, CASHBOT_HQ_NEWBIE_HP), Any, ToonHQ, 611, NA, DefaultDialog),2958    9221: (DL_TIER + 3, Start, (CogNewbieQuest, ToontownGlobals.CashbotMintIntB, 30, Any, CASHBOT_HQ_NEWBIE_HP), Any, ToonHQ, 611, NA, DefaultDialog),2959    9222: (DL_TIER + 3, Start, (CogNewbieQuest, ToontownGlobals.CashbotMintIntC, 25, Any, CASHBOT_HQ_NEWBIE_HP), Any, ToonHQ, 611, NA, DefaultDialog),2960    9223: (DL_TIER + 3, Start, (SkelecogNewbieQuest, ToontownGlobals.CashbotHQ, 10, CASHBOT_HQ_NEWBIE_HP), Any, ToonHQ, 611, NA, DefaultDialog),2961    9224: (DL_TIER + 3, Start, (MintNewbieQuest, ToontownGlobals.CashbotMintIntA, 6, CASHBOT_HQ_NEWBIE_HP), Any, ToonHQ, 611, NA, DefaultDialog),2962    9225: (DL_TIER + 3, Start, (MintNewbieQuest, ToontownGlobals.CashbotMintIntB, 4, CASHBOT_HQ_NEWBIE_HP), Any, ToonHQ, 611, NA, DefaultDialog),2963    9226: (DL_TIER + 3, Start, (MintNewbieQuest, ToontownGlobals.CashbotMintIntC, 2, CASHBOT_HQ_NEWBIE_HP), Any, ToonHQ, 611, NA, DefaultDialog),2964    9227: (DL_TIER + 3, Start, (SupervisorNewbieQuest, ToontownGlobals.CashbotMintIntA, 6, CASHBOT_HQ_NEWBIE_HP), Any, ToonHQ, 611, NA, DefaultDialog),2965    9228: (DL_TIER + 3, Start, (SupervisorNewbieQuest, ToontownGlobals.CashbotMintIntB, 4, CASHBOT_HQ_NEWBIE_HP), Any, ToonHQ, 611, NA, DefaultDialog),2966    9229: (DL_TIER + 3, Start, (SupervisorNewbieQuest, ToontownGlobals.CashbotMintIntC, 2, CASHBOT_HQ_NEWBIE_HP), Any, ToonHQ, 611, NA, DefaultDialog),2967    9500: (DL_TIER + 3, Start, (CogQuest, ToontownGlobals.DonaldsDreamland, 1000, Any), Any, ToonHQ, NA, 9501, DefaultDialog),2968    9501: (DL_TIER + 3, Cont, (DeliverItemQuest, 1000), Any, 2004, 1000, NA, DefaultDialog),2969    10001: (ELDER_TIER, Start, (CogNewbieQuest, ToontownGlobals.ToontownCentral, 50, Any, NEWBIE_HP), Any, ToonHQ, Any, NA, DefaultDialog),2970    10002: (ELDER_TIER, Start, (BuildingNewbieQuest, Anywhere, 4, Any, 1, NEWBIE_HP), Any, ToonHQ, Any, NA, DefaultDialog),2971    10100: (ELDER_TIER, Start, (CogQuest, Anywhere, 80, Any), Any, ToonHQ, Any, NA, DefaultDialog),2972    10101: (ELDER_TIER, Start, (CogQuest, Anywhere, 100, Any), Any, ToonHQ, Any, NA, DefaultDialog),2973    10102: (ELDER_TIER, Start, (CogQuest, Anywhere, 120, Any), Any, ToonHQ, Any, NA, DefaultDialog),2974    10103: (ELDER_TIER, Start, (CogQuest, Anywhere, 200, Any), Any, ToonHQ, 613, NA, DefaultDialog),2975    10104: (ELDER_TIER, Start, (CogQuest, Anywhere, 250, Any), Any, ToonHQ, 615, NA, DefaultDialog),2976    10105: (ELDER_TIER, Start, (CogQuest, Anywhere, 300, Any), Any, ToonHQ, 616, NA, DefaultDialog),2977    10106: (ELDER_TIER, Start, (CogQuest, Anywhere, 400, Any), Any, ToonHQ, 618, NA, DefaultDialog),2978    10110: (ELDER_TIER, Start, (BuildingQuest, Anywhere, 40, Any, 2), Any, ToonHQ, Any, NA, DefaultDialog),2979    10111: (ELDER_TIER, Start, (BuildingQuest, Anywhere, 30, Any, 3), Any, ToonHQ, Any, NA, DefaultDialog),2980    10112: (ELDER_TIER, Start, (BuildingQuest, Anywhere, 25, Any, 4), Any, ToonHQ, Any, NA, DefaultDialog),2981    10113: (ELDER_TIER, Start, (BuildingQuest, Anywhere, 20, Any, 5), Any, ToonHQ, Any, NA, DefaultDialog),2982    10114: (ELDER_TIER, Start, (BuildingQuest, Anywhere, 20, 'm', 5), Any, ToonHQ, Any, NA, DefaultDialog),2983    10115: (ELDER_TIER, Start, (BuildingQuest, Anywhere, 20, 's', 5), Any, ToonHQ, Any, NA, DefaultDialog),2984    10116: (ELDER_TIER, Start, (BuildingQuest, Anywhere, 20, 'c', 5), Any, ToonHQ, Any, NA, DefaultDialog),2985    10117: (ELDER_TIER, Start, (BuildingQuest, Anywhere, 20, 'l', 5), Any, ToonHQ, Any, NA, DefaultDialog),2986    10118: (ELDER_TIER, Start, (BuildingQuest, Anywhere, 50, Any, 1), Any, ToonHQ, 620, NA, DefaultDialog),2987    10120: (ELDER_TIER, OBSOLETE, (CogQuest, ToontownGlobals.SellbotHQ, 60, Any), Any, ToonHQ, Any, NA, DefaultDialog),2988    10121: (ELDER_TIER, OBSOLETE, (FactoryQuest, ToontownGlobals.SellbotHQ, 10), Any, ToonHQ, Any, NA, DefaultDialog),2989    10122: (ELDER_TIER, OBSOLETE, (ForemanQuest, ToontownGlobals.SellbotHQ, 10), Any, ToonHQ, Any, NA, DefaultDialog),2990    10123: (ELDER_TIER, OBSOLETE, (VPQuest, ToontownGlobals.SellbotHQ, 2), Any, ToonHQ, Any, NA, DefaultDialog),2991    10124: (ELDER_TIER, OBSOLETE, (RescueQuest, ToontownGlobals.SellbotHQ, 2), Any, ToonHQ, Any, NA, DefaultDialog),2992    10130: (ELDER_TIER, OBSOLETE, (CogNewbieQuest, ToontownGlobals.SellbotHQ, 40, Any, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, Any, NA, DefaultDialog),2993    10131: (ELDER_TIER, OBSOLETE, (FactoryNewbieQuest, ToontownGlobals.SellbotHQ, 3, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, Any, NA, DefaultDialog),2994    10132: (ELDER_TIER, OBSOLETE, (VPNewbieQuest, ToontownGlobals.SellbotHQ, 1, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, Any, NA, DefaultDialog),2995    10140: (ELDER_TIER, Start, (CogQuest, ToontownGlobals.CashbotHQ, 60, Any), Any, ToonHQ, Any, NA, DefaultDialog),2996    10141: (ELDER_TIER, Start, (MintQuest, ToontownGlobals.CashbotHQ, 10), Any, ToonHQ, Any, NA, DefaultDialog),2997    10142: (ELDER_TIER, Start, (SupervisorQuest, ToontownGlobals.CashbotHQ, 10), Any, ToonHQ, Any, NA, DefaultDialog),2998    10143: (ELDER_TIER, Start, (CFOQuest, ToontownGlobals.CashbotHQ, 2), Any, ToonHQ, 623, NA, DefaultDialog),2999    10145: (ELDER_TIER, Start, (CogNewbieQuest, ToontownGlobals.CashbotHQ, 40, Any, CASHBOT_HQ_NEWBIE_HP), Any, ToonHQ, Any, NA, DefaultDialog),3000    10146: (ELDER_TIER, Start, (MintNewbieQuest, ToontownGlobals.CashbotHQ, 3, CASHBOT_HQ_NEWBIE_HP), Any, ToonHQ, Any, NA, DefaultDialog),3001    10147: (ELDER_TIER, Start, (SupervisorNewbieQuest, ToontownGlobals.CashbotHQ, 3, CASHBOT_HQ_NEWBIE_HP), Any, ToonHQ, 611, NA, DefaultDialog),3002    10200: (ELDER_TIER, Start, (CogQuest, Anywhere, 100, Any), Any, ToonHQ, NA, 10201, DefaultDialog),3003    10201: (ELDER_TIER, Cont, (DeliverItemQuest, 1000), Any, ToonTailor, 1000, NA, DefaultDialog),3004    10202: (ELDER_TIER, Start, (BuildingQuest, Anywhere, 25, Any, 1), Any, ToonHQ, NA, 10203, DefaultDialog),3005    10203: (ELDER_TIER, Cont, (DeliverItemQuest, 1000), Any, ToonTailor, 1000, NA, DefaultDialog),3006    10204: (ELDER_TIER, Start, (CogNewbieQuest, ToontownGlobals.ToontownCentral, 60, Any, NEWBIE_HP), Any, ToonHQ, NA, 10205, DefaultDialog),3007    10205: (ELDER_TIER, Cont, (DeliverItemQuest, 1000), Any, ToonTailor, 1000, NA, DefaultDialog),3008    10206: (ELDER_TIER, Start, (BuildingNewbieQuest, Anywhere, 4, Any, 1, NEWBIE_HP), Any, ToonHQ, NA, 10207, DefaultDialog),3009    10207: (ELDER_TIER, Cont, (DeliverItemQuest, 1000), Any, ToonTailor, 1000, NA, DefaultDialog),3010    11000: (LAWBOT_HQ_TIER, Start, (VisitQuest,), Any, 3310, NA, 11001, TTLocalizer.QuestDialogDict[11000]),3011    11001: (LAWBOT_HQ_TIER, Start, (RecoverItemQuest, ToontownGlobals.SillyStreet, 1, 3027, Hard, Any), Same, Same, 4100, NA, TTLocalizer.QuestDialogDict[11001]),3012    11002: (LAWBOT_HQ_TIER + 1, Start, (VisitQuest,), Any, 3310, NA, 11003, TTLocalizer.QuestDialogDict[11002]),3013    11003: (LAWBOT_HQ_TIER + 1, Start, (RecoverItemQuest, ToontownGlobals.LoopyLane, 1, 3027, Hard, Any), Same, Same, 4101, NA, TTLocalizer.QuestDialogDict[11003]),3014    11004: (LAWBOT_HQ_TIER + 2, Start, (VisitQuest,), Any, 3310, NA, 11005, TTLocalizer.QuestDialogDict[11004]),3015    11005: (LAWBOT_HQ_TIER + 2, Start, (RecoverItemQuest, ToontownGlobals.PunchlinePlace, 1, 3027, Hard, Any), Same, Same, 4102, NA, TTLocalizer.QuestDialogDict[11005]),3016    11006: (LAWBOT_HQ_TIER + 3, Start, (VisitQuest,), Any, 3310, NA, 11007, TTLocalizer.QuestDialogDict[11006]),3017    11007: (LAWBOT_HQ_TIER + 3, Start, (RecoverItemQuest, ToontownGlobals.BarnacleBoulevard, 1, 3027, Hard, Any), Same, Same, 4103, NA, TTLocalizer.QuestDialogDict[11007]),3018    11008: (LAWBOT_HQ_TIER + 4, Start, (VisitQuest,), Any, 3310, NA, 11009, TTLocalizer.QuestDialogDict[11008]),3019    11009: (LAWBOT_HQ_TIER + 4, Start, (RecoverItemQuest, ToontownGlobals.SeaweedStreet, 1, 3027, Hard, Any), Same, Same, 4104, NA, TTLocalizer.QuestDialogDict[11009]),3020    11010: (LAWBOT_HQ_TIER + 5, Start, (VisitQuest,), Any, 3310, NA, 11011, TTLocalizer.QuestDialogDict[11010]),3021    11011: (LAWBOT_HQ_TIER + 5, Start, (RecoverItemQuest, ToontownGlobals.LighthouseLane, 1, 3027, Hard, Any), Same, Same, 4105, NA, TTLocalizer.QuestDialogDict[11011]),3022    11012: (LAWBOT_HQ_TIER + 6, Start, (VisitQuest,), Any, 3310, NA, 11013, TTLocalizer.QuestDialogDict[11012]),3023    11013: (LAWBOT_HQ_TIER + 6, Start, (RecoverItemQuest, ToontownGlobals.ElmStreet, 1, 3027, Hard, Any), Same, Same, 4106, NA, TTLocalizer.QuestDialogDict[11013]),3024    11014: (LAWBOT_HQ_TIER + 7, Start, (VisitQuest,), Any, 3310, NA, 11015, TTLocalizer.QuestDialogDict[11014]),3025    11015: (LAWBOT_HQ_TIER + 7, Start, (RecoverItemQuest, ToontownGlobals.MapleStreet, 1, 3027, Hard, Any), Same, Same, 4107, NA, TTLocalizer.QuestDialogDict[11015]),3026    11016: (LAWBOT_HQ_TIER + 8, Start, (VisitQuest,), Any, 3310, NA, 11017, TTLocalizer.QuestDialogDict[11016]),3027    11017: (LAWBOT_HQ_TIER + 8, Start, (RecoverItemQuest, ToontownGlobals.OakStreet, 1, 3027, Hard, Any), Same, Same, 4108, NA, TTLocalizer.QuestDialogDict[11017]),3028    11018: (LAWBOT_HQ_TIER + 9, Start, (VisitQuest,), Any, 3310, NA, 11019, TTLocalizer.QuestDialogDict[11018]),3029    11019: (LAWBOT_HQ_TIER + 9, Start, (RecoverItemQuest, ToontownGlobals.AltoAvenue, 1, 3027, Hard, Any), Same, Same, 4109, NA, TTLocalizer.QuestDialogDict[11019]),3030    11020: (LAWBOT_HQ_TIER + 10, Start, (VisitQuest,), Any, 3310, NA, 11021, TTLocalizer.QuestDialogDict[11020]),3031    11021: (LAWBOT_HQ_TIER + 10, Start, (RecoverItemQuest, ToontownGlobals.BaritoneBoulevard, 1, 3027, Hard, Any), Same, Same, 4110, NA, TTLocalizer.QuestDialogDict[11021]),3032    11022: (LAWBOT_HQ_TIER + 11, Start, (VisitQuest,), Any, 3310, NA, 11023, TTLocalizer.QuestDialogDict[11022]),3033    11023: (LAWBOT_HQ_TIER + 11, Start, (RecoverItemQuest, ToontownGlobals.TenorTerrace, 1, 3027, Hard, Any), Same, Same, 4111, NA, TTLocalizer.QuestDialogDict[11023]),3034    11024: (LAWBOT_HQ_TIER + 12, Start, (VisitQuest,), Any, 3310, NA, 11025, TTLocalizer.QuestDialogDict[11024]),3035    11025: (LAWBOT_HQ_TIER + 12, Start, (RecoverItemQuest, ToontownGlobals.LullabyLane, 1, 3027, Hard, Any), Same, Same, 4112, NA, TTLocalizer.QuestDialogDict[11025]),3036    11026: (LAWBOT_HQ_TIER + 13, Start, (VisitQuest,), Any, 3310, NA, 11027, TTLocalizer.QuestDialogDict[11026]),3037    11027: (LAWBOT_HQ_TIER + 13, Start, (RecoverItemQuest, ToontownGlobals.PajamaPlace, 1, 3027, Hard, Any), Same, Same, 4113, NA, TTLocalizer.QuestDialogDict[11027]),3038    12000: (BOSSBOT_HQ_TIER, Start, (VisitQuest,), Any, 1222, NA, 12001, TTLocalizer.QuestDialogDict[12000]),3039    12001: (BOSSBOT_HQ_TIER, Start, (CogQuest, Anywhere, 1, 'f'), Same, Same, 4200, NA, TTLocalizer.QuestDialogDict[12001]),3040    12002: (BOSSBOT_HQ_TIER + 1, Start, (VisitQuest,), Any, 1222, NA, 12003, TTLocalizer.QuestDialogDict[12002]),3041    12003: (BOSSBOT_HQ_TIER + 1, Start, (CogQuest, Anywhere, 1, 'p'), Same, Same, 4201, NA, TTLocalizer.QuestDialogDict[12003]),3042    12004: (BOSSBOT_HQ_TIER + 2, Start, (VisitQuest,), Any, 1222, NA, 12005, TTLocalizer.QuestDialogDict[12004]),3043    12005: (BOSSBOT_HQ_TIER + 2, Start, (CogQuest, Anywhere, 1, 'ym'), Same, Same, 4202, NA, TTLocalizer.QuestDialogDict[12005]),3044    12006: (BOSSBOT_HQ_TIER + 3, Start, (VisitQuest,), Any, 1222, NA, 12007, TTLocalizer.QuestDialogDict[12006]),3045    12007: (BOSSBOT_HQ_TIER + 3, Start, (CogQuest, Anywhere, 1, 'mm'), Same, Same, 4203, NA, TTLocalizer.QuestDialogDict[12007]),3046    12008: (BOSSBOT_HQ_TIER + 4, Start, (VisitQuest,), Any, 1222, NA, 12009, TTLocalizer.QuestDialogDict[12008]),3047    12009: (BOSSBOT_HQ_TIER + 4, Start, (CogQuest, Anywhere, 1, 'ds'), Same, Same, 4204, NA, TTLocalizer.QuestDialogDict[12009]),3048    12010: (BOSSBOT_HQ_TIER + 5, Start, (VisitQuest,), Any, 1222, NA, 12011, TTLocalizer.QuestDialogDict[12010]),3049    12011: (BOSSBOT_HQ_TIER + 5, Start, (CogQuest, Anywhere, 1, 'hh'), Same, Same, 4205, NA, TTLocalizer.QuestDialogDict[12011]),3050    12012: (BOSSBOT_HQ_TIER + 6, Start, (VisitQuest,), Any, 1222, NA, 12013, TTLocalizer.QuestDialogDict[12012]),3051    12013: (BOSSBOT_HQ_TIER + 6, Start, (CogQuest, Anywhere, 1, 'cr'), Same, Same, 4206, NA, TTLocalizer.QuestDialogDict[12013]),3052    12014: (BOSSBOT_HQ_TIER + 7, Start, (VisitQuest,), Any, 1222, NA, 12015, TTLocalizer.QuestDialogDict[12014]),3053    12015: (BOSSBOT_HQ_TIER + 7, Start, (CogQuest, Anywhere, 1, 'tbc'), Same, Same, 4207, NA, TTLocalizer.QuestDialogDict[12015]),3054    12016: (BOSSBOT_HQ_TIER + 8, Start, (VisitQuest,), Any, 1222, NA, 12017, TTLocalizer.QuestDialogDict[12016]),3055    12017: (BOSSBOT_HQ_TIER + 8, Start, (SkeleReviveQuest, Anywhere, 1), Same, Same, 4208, NA, TTLocalizer.QuestDialogDict[12017]),3056    12018: (BOSSBOT_HQ_TIER + 9, Start, (VisitQuest,), Any, 1222, NA, 12019, TTLocalizer.QuestDialogDict[12018]),3057    12019: (BOSSBOT_HQ_TIER + 9, Start, (SkeleReviveQuest, Anywhere, 1), Same, Same, 4209, NA, TTLocalizer.QuestDialogDict[12019]),3058    12020: (BOSSBOT_HQ_TIER + 10, Start, (VisitQuest,), Any, 1222, NA, 12021, TTLocalizer.QuestDialogDict[12020]),3059    12021: (BOSSBOT_HQ_TIER + 10, Start, (SkeleReviveQuest, Anywhere, 1), Same, Same, 4210, NA, TTLocalizer.QuestDialogDict[12021]),3060    12022: (BOSSBOT_HQ_TIER + 11, Start, (VisitQuest,), Any, 1222, NA, 12023, TTLocalizer.QuestDialogDict[12022]),3061    12023: (BOSSBOT_HQ_TIER + 11, Start, (SkeleReviveQuest, Anywhere, 1), Same, Same, 4211, NA, TTLocalizer.QuestDialogDict[12023]),3062    12024: (BOSSBOT_HQ_TIER + 12, Start, (VisitQuest,), Any, 1222, NA, 12025, TTLocalizer.QuestDialogDict[12024]),3063    12025: (BOSSBOT_HQ_TIER + 12, Start, (SkeleReviveQuest, Anywhere, 1), Same, Same, 4212, NA, TTLocalizer.QuestDialogDict[12025]),3064    12026: (BOSSBOT_HQ_TIER + 13, Start, (VisitQuest,), Any, 1222, NA, 12027, TTLocalizer.QuestDialogDict[12026]),3065    12027: (BOSSBOT_HQ_TIER + 13, Start, (SkeleReviveQuest, Anywhere, 1), Same, Same, 4213, NA, TTLocalizer.QuestDialogDict[12027]),3066    12028: (BOSSBOT_HQ_TIER + 14, Start, (VisitQuest,), Any, 1222, NA, 12029, TTLocalizer.QuestDialogDict[12028]),3067    12029: (BOSSBOT_HQ_TIER + 14, Start, (SkeleReviveQuest, Anywhere, 1), Same, Same, 4214, NA, TTLocalizer.QuestDialogDict[12029]),3068    12030: (BOSSBOT_HQ_TIER + 15, Start, (VisitQuest,), Any, 1222, NA, 12031, TTLocalizer.QuestDialogDict[12030]),3069    12031: (BOSSBOT_HQ_TIER + 15, Start, (SkeleReviveQuest, Anywhere, 1), Same, Same, 4215, NA, TTLocalizer.QuestDialogDict[12031]),3070    12032: (BOSSBOT_HQ_TIER + 16, Start, (VisitQuest,), Any, 2001, 4216, NA, TTLocalizer.QuestDialogDict[12032]) }3071Tier2QuestsDict = {}3072for questId, questDesc in QuestDict.items():3073    if questDesc[QuestDictStartIndex] == Start:3074        tier = questDesc[QuestDictTierIndex]3075        if Tier2QuestsDict.has_key(tier):3076            Tier2QuestsDict[tier].append(questId)3077        else:3078            Tier2QuestsDict[tier] = [questId]3079Quest2RewardDict = {}3080Tier2Reward2QuestsDict = {}3081Quest2RemainingStepsDict = {}3082def getAllRewardIdsForReward(rewardId):3083    if rewardId is AnyCashbotSuitPart:3084        return range(4000, 4011 + 1)3085    if rewardId is AnyLawbotSuitPart:3086        return range(4100, 4113 + 1)3087    if rewardId is AnyBossbotSuitPart:3088        return range(4200, 4216 + 1)3089    return (rewardId,)3090def findFinalRewardId(questId):3091    finalRewardId = Quest2RewardDict.get(questId)3092    if finalRewardId:3093        remainingSteps = Quest2RemainingStepsDict.get(questId)3094    else:3095        try:3096            questDesc = QuestDict[questId]3097        except KeyError:3098            print 'findFinalRewardId: Quest ID: %d not found' % questId3099            return -13100        nextQuestId = questDesc[QuestDictNextQuestIndex]3101        if nextQuestId == NA:3102            finalRewardId = questDesc[QuestDictRewardIndex]3103            remainingSteps = 13104        else:3105            if type(nextQuestId) == type(()):3106                finalRewardId, remainingSteps = findFinalRewardId(nextQuestId[0])3107                for id in nextQuestId[1:]:3108                    findFinalRewardId(id)3109            else:3110                finalRewardId, remainingSteps = findFinalRewardId(nextQuestId)3111            remainingSteps += 13112        if finalRewardId != OBSOLETE:3113            if questDesc[QuestDictStartIndex] == Start:3114                tier = questDesc[QuestDictTierIndex]3115                tier2RewardDict = Tier2Reward2QuestsDict.setdefault(tier, {})3116                rewardIds = getAllRewardIdsForReward(finalRewardId)3117                for rewardId in rewardIds:3118                    questList = tier2RewardDict.setdefault(rewardId, [])3119                    questList.append(questId)3120        else:3121            finalRewardId = None3122        Quest2RewardDict[questId] = finalRewardId3123        Quest2RemainingStepsDict[questId] = remainingSteps3124    return (finalRewardId, remainingSteps)3125for questId in QuestDict.keys():3126    findFinalRewardId(questId)3127def getStartingQuests(tier = None):3128    startingQuests = []3129    for questId in QuestDict.keys():3130        if isStartingQuest(questId):3131            if tier is None:3132                startingQuests.append(questId)3133            elif questId in Tier2QuestsDict[tier]:3134                startingQuests.append(questId)3135    startingQuests.sort()3136    return startingQuests3137def getFinalRewardId(questId, fAll = 0):3138    if fAll or isStartingQuest(questId):3139        return Quest2RewardDict.get(questId)3140    else:3141        return None3142    return None3143def isStartingQuest(questId):3144    try:3145        return QuestDict[questId][QuestDictStartIndex] == Start3146    except KeyError:3147        return None3148    return None3149def getNumChoices(tier):3150    if tier in (0,):3151        return 03152    if tier in (1,):3153        return 23154    else:3155        return 33156def getAvatarRewardId(av, questId):3157    for quest in av.quests:3158        if questId == quest[0]:3159            return quest[3]3160    notify.warning('getAvatarRewardId(): quest not found on avatar')3161    return None3162def getNextQuest(id, currentNpc, av):3163    nextQuest = QuestDict[id][QuestDictNextQuestIndex]3164    if nextQuest == NA:3165        return (NA, NA)3166    elif type(nextQuest) == type(()):3167        nextReward = QuestDict[nextQuest[0]][QuestDictRewardIndex]3168        nextNextQuest, nextNextToNpcId = getNextQuest(nextQuest[0], currentNpc, av)3169        if nextReward == 400 and nextNextQuest == NA:3170            nextQuest = chooseTrackChoiceQuest(av.getRewardTier(), av)3171        else:3172            nextQuest = random.choice(nextQuest)3173    if not getQuestClass(nextQuest).filterFunc(av):3174        return getNextQuest(nextQuest, currentNpc, av)3175    nextToNpcId = getQuestToNpcId(nextQuest)3176    if nextToNpcId == Any:3177        nextToNpcId = 20043178    elif nextToNpcId == Same:3179        if currentNpc.getHq():3180            nextToNpcId = ToonHQ3181        else:3182            nextToNpcId = currentNpc.getNpcId()3183    elif nextToNpcId == ToonHQ:3184        nextToNpcId = ToonHQ3185    return (nextQuest, nextToNpcId)3186def filterQuests(entireQuestPool, currentNpc, av):3187    if notify.getDebug():3188        notify.debug('filterQuests: entireQuestPool: %s' % entireQuestPool)3189    validQuestPool = dict([ (questId, 1) for questId in entireQuestPool ])3190    if isLoopingFinalTier(av.getRewardTier()):3191        history = map(lambda questDesc: questDesc[0], av.quests)3192    else:3193        history = av.getQuestHistory()3194    if notify.getDebug():3195        notify.debug('filterQuests: av quest history: %s' % history)3196    currentQuests = av.quests3197    for questId in entireQuestPool:3198        if questId in history:3199            if notify.getDebug():3200                notify.debug('filterQuests: Removed %s because in history' % questId)3201            validQuestPool[questId] = 03202            continue3203        potentialFromNpc = getQuestFromNpcId(questId)3204        if not npcMatches(potentialFromNpc, currentNpc):3205            if notify.getDebug():3206                notify.debug('filterQuests: Removed %s: potentialFromNpc does not match currentNpc' % questId)3207            validQuestPool[questId] = 03208            continue3209        potentialToNpc = getQuestToNpcId(questId)3210        if currentNpc.getNpcId() == potentialToNpc:3211            if notify.getDebug():3212                notify.debug('filterQuests: Removed %s because potentialToNpc is currentNpc' % questId)3213            validQuestPool[questId] = 03214            continue3215        if not getQuestClass(questId).filterFunc(av):3216            if notify.getDebug():3217                notify.debug('filterQuests: Removed %s because of filterFunc' % questId)3218            validQuestPool[questId] = 03219            continue3220        for quest in currentQuests:3221            fromNpcId = quest[1]3222            toNpcId = quest[2]3223            if potentialToNpc == toNpcId and toNpcId != ToonHQ:3224                validQuestPool[questId] = 03225                if notify.getDebug():3226                    notify.debug('filterQuests: Removed %s because npc involved' % questId)3227                break3228    finalQuestPool = filter(lambda key: validQuestPool[key], validQuestPool.keys())3229    if notify.getDebug():3230        notify.debug('filterQuests: finalQuestPool: %s' % finalQuestPool)3231    return finalQuestPool3232def chooseTrackChoiceQuest(tier, av, fixed = 0):3233    def fixAndCallAgain():3234        if not fixed and av.fixTrackAccess():3235            notify.info('av %s trackAccess fixed: %s' % (av.getDoId(), trackAccess))3236            return chooseTrackChoiceQuest(tier, av, fixed=1)3237        else:3238            return None3239        return None3240    bestQuest = None3241    trackAccess = av.getTrackAccess()3242    if tier == MM_TIER:3243        if trackAccess[ToontownBattleGlobals.HEAL_TRACK] == 1:3244            bestQuest = 40023245        elif trackAccess[ToontownBattleGlobals.SOUND_TRACK] == 1:3246            bestQuest = 40013247        else:3248            notify.warning('av %s has bogus trackAccess: %s' % (av.getDoId(), trackAccess))3249            return fixAndCallAgain()3250    elif tier == BR_TIER:3251        if trackAccess[ToontownBattleGlobals.TRAP_TRACK] == 1:3252            if trackAccess[ToontownBattleGlobals.SOUND_TRACK] == 1:3253                if trackAccess[ToontownBattleGlobals.DROP_TRACK] == 1:3254                    bestQuest = 50043255                elif trackAccess[ToontownBattleGlobals.LURE_TRACK] == 1:3256                    bestQuest = 50033257                else:3258                    notify.warning('av %s has bogus trackAccess: %s' % (av.getDoId(), trackAccess))3259                    return fixAndCallAgain()3260            elif trackAccess[ToontownBattleGlobals.HEAL_TRACK] == 1:3261                if trackAccess[ToontownBattleGlobals.DROP_TRACK] == 1:3262                    bestQuest = 50023263                elif trackAccess[ToontownBattleGlobals.LURE_TRACK] == 1:3264                    bestQuest = 50013265                else:3266                    notify.warning('av %s has bogus trackAccess: %s' % (av.getDoId(), trackAccess))3267                    return fixAndCallAgain()3268        elif trackAccess[ToontownBattleGlobals.SOUND_TRACK] == 0:3269            bestQuest = 50053270        elif trackAccess[ToontownBattleGlobals.HEAL_TRACK] == 0:3271            bestQuest = 50063272        elif trackAccess[ToontownBattleGlobals.DROP_TRACK] == 0:3273            bestQuest = 50073274        elif trackAccess[ToontownBattleGlobals.LURE_TRACK] == 0:3275            bestQuest = 50083276        else:3277            notify.warning('av %s has bogus trackAccess: %s' % (av.getDoId(), trackAccess))3278            return fixAndCallAgain()3279    else:3280        if notify.getDebug():3281            notify.debug('questPool for reward 400 had no dynamic choice, tier: %s' % tier)3282        bestQuest = seededRandomChoice(Tier2Reward2QuestsDict[tier][400])3283    if notify.getDebug():3284        notify.debug('chooseTrackChoiceQuest: avId: %s trackAccess: %s tier: %s bestQuest: %s' % (av.getDoId(),3285         trackAccess,3286         tier,3287         bestQuest))3288    return bestQuest3289def chooseMatchingQuest(tier, validQuestPool, rewardId, npc, av):3290    questsMatchingReward = Tier2Reward2QuestsDict[tier].get(rewardId, [])3291    if notify.getDebug():3292        notify.debug('questsMatchingReward: %s tier: %s = %s' % (rewardId, tier, questsMatchingReward))3293    if rewardId == 400 and QuestDict[questsMatchingReward[0]][QuestDictNextQuestIndex] == NA:3294        bestQuest = chooseTrackChoiceQuest(tier, av)3295        if notify.getDebug():3296            notify.debug('single part track choice quest: %s tier: %s avId: %s trackAccess: %s bestQuest: %s' % (rewardId,3297             tier,3298             av.getDoId(),3299             av.getTrackAccess(),3300             bestQuest))3301    else:3302        validQuestsMatchingReward = PythonUtil.intersection(questsMatchingReward, validQuestPool)3303        if notify.getDebug():3304            notify.debug('validQuestsMatchingReward: %s tier: %s = %s' % (rewardId, tier, validQuestsMatchingReward))3305        if validQuestsMatchingReward:3306            bestQuest = seededRandomChoice(validQuestsMatchingReward)3307        else:3308            questsMatchingReward = Tier2Reward2QuestsDict[tier].get(AnyCashbotSuitPart, [])3309            if notify.getDebug():3310                notify.debug('questsMatchingReward: AnyCashbotSuitPart tier: %s = %s' % (tier, questsMatchingReward))3311            validQuestsMatchingReward = PythonUtil.intersection(questsMatchingReward, validQuestPool)3312            if validQuestsMatchingReward:3313                if notify.getDebug():3314                    notify.debug('validQuestsMatchingReward: AnyCashbotSuitPart tier: %s = %s' % (tier, validQuestsMatchingReward))3315                bestQuest = seededRandomChoice(validQuestsMatchingReward)3316            else:3317                questsMatchingReward = Tier2Reward2QuestsDict[tier].get(AnyLawbotSuitPart, [])3318                if notify.getDebug():3319                    notify.debug('questsMatchingReward: AnyLawbotSuitPart tier: %s = %s' % (tier, questsMatchingReward))3320                validQuestsMatchingReward = PythonUtil.intersection(questsMatchingReward, validQuestPool)3321                if validQuestsMatchingReward:3322                    if notify.getDebug():3323                        notify.debug('validQuestsMatchingReward: AnyLawbotSuitPart tier: %s = %s' % (tier, validQuestsMatchingReward))3324                    bestQuest = seededRandomChoice(validQuestsMatchingReward)3325                else:3326                    questsMatchingReward = Tier2Reward2QuestsDict[tier].get(Any, [])3327                    if notify.getDebug():3328                        notify.debug('questsMatchingReward: Any tier: %s = %s' % (tier, questsMatchingReward))3329                    if not questsMatchingReward:3330                        notify.warning('chooseMatchingQuests, no questsMatchingReward')3331                        return None3332                    validQuestsMatchingReward = PythonUtil.intersection(questsMatchingReward, validQuestPool)3333                    if not validQuestsMatchingReward:3334                        notify.warning('chooseMatchingQuests, no validQuestsMatchingReward')3335                        return None3336                    if notify.getDebug():3337                        notify.debug('validQuestsMatchingReward: Any tier: %s = %s' % (tier, validQuestsMatchingReward))3338                    bestQuest = seededRandomChoice(validQuestsMatchingReward)3339    return bestQuest3340def transformReward(baseRewardId, av):3341    if baseRewardId == 900:3342        trackId, progress = av.getTrackProgress()3343        if trackId == -1:3344            notify.warning('transformReward: asked to transform 900 but av is not training')3345            actualRewardId = baseRewardId3346        else:3347            actualRewardId = 900 + 1 + trackId3348        return actualRewardId3349    elif baseRewardId > 800 and baseRewardId < 900:3350        trackId, progress = av.getTrackProgress()3351        if trackId < 0:3352            notify.warning('transformReward: av: %s is training a track with none chosen!' % av.getDoId())3353            return 6013354        else:3355            actualRewardId = baseRewardId + 200 + trackId * 1003356            return actualRewardId3357    else:3358        return baseRewardId3359def chooseBestQuests(tier, currentNpc, av):3360    if isLoopingFinalTier(tier):3361        rewardHistory = map(lambda questDesc: questDesc[3], av.quests)3362    else:3363        rewardHistory = av.getRewardHistory()[1]3364    seedRandomGen(currentNpc.getNpcId(), av.getDoId(), tier, rewardHistory)3365    numChoices = getNumChoices(tier)3366    rewards = getNextRewards(numChoices, tier, av)3367    if not rewards:3368        return []3369    possibleQuests = []3370    possibleRewards = list(rewards)3371    if Any not in possibleRewards:3372        possibleRewards.append(Any)3373    for rewardId in possibleRewards:3374        possibleQuests.extend(Tier2Reward2QuestsDict[tier].get(rewardId, []))3375    validQuestPool = filterQuests(possibleQuests, currentNpc, av)3376    if not validQuestPool:3377        return []3378    if numChoices == 0:3379        numChoices = 13380    bestQuests = []3381    for i in xrange(numChoices):3382        if len(validQuestPool) == 0:3383            break3384        if len(rewards) == 0:3385            break3386        rewardId = rewards.pop(0)3387        bestQuestId = chooseMatchingQuest(tier, validQuestPool, rewardId, currentNpc, av)3388        if bestQuestId is None:3389            continue3390        validQuestPool.remove(bestQuestId)3391        bestQuestToNpcId = getQuestToNpcId(bestQuestId)3392        if bestQuestToNpcId == Any:3393            bestQuestToNpcId = 20033394        elif bestQuestToNpcId == Same:3395            if currentNpc.getHq():3396                bestQuestToNpcId = ToonHQ3397            else:3398                bestQuestToNpcId = currentNpc.getNpcId()3399        elif bestQuestToNpcId == ToonHQ:3400            bestQuestToNpcId = ToonHQ3401        bestQuests.append([bestQuestId, rewardId, bestQuestToNpcId])3402    for quest in bestQuests:3403        quest[1] = transformReward(quest[1], av)3404    return bestQuests3405def questExists(id):3406    return QuestDict.has_key(id)3407def getQuest(id):3408    questEntry = QuestDict.get(id)3409    if questEntry:3410        questDesc = questEntry[QuestDictDescIndex]3411        questClass = questDesc[0]3412        return questClass(id, questDesc[1:])3413    else:3414        return None3415    return None3416def getQuestClass(id):3417    questEntry = QuestDict.get(id)3418    if questEntry:3419        return questEntry[QuestDictDescIndex][0]3420    else:3421        return None3422    return None3423def getVisitSCStrings(npcId):3424    if npcId == ToonHQ:3425        strings = [TTLocalizer.QuestsRecoverItemQuestSeeHQSCString, TTLocalizer.QuestsRecoverItemQuestGoToHQSCString]3426    elif npcId == ToonTailor:3427        strings = [TTLocalizer.QuestsTailorQuestSCString]3428    elif npcId:3429        npcName, hoodName, buildingArticle, buildingName, toStreet, streetName, isInPlayground = getNpcInfo(npcId)3430        strings = [TTLocalizer.QuestsVisitQuestSeeSCString % npcName]3431        if isInPlayground:3432            strings.append(TTLocalizer.QuestsRecoverItemQuestGoToPlaygroundSCString % hoodName)3433        else:3434            strings.append(TTLocalizer.QuestsRecoverItemQuestGoToStreetSCString % {'to': toStreet,3435             'street': streetName,3436             'hood': hoodName})3437        strings.extend([TTLocalizer.QuestsRecoverItemQuestVisitBuildingSCString % (buildingArticle, buildingName), TTLocalizer.QuestsRecoverItemQuestWhereIsBuildingSCString % (buildingArticle, buildingName)])3438    return strings3439def getFinishToonTaskSCStrings(npcId):3440    return [TTLocalizer.QuestsGenericFinishSCString] + getVisitSCStrings(npcId)3441def chooseQuestDialog(id, status):3442    questDialog = getQuestDialog(id).get(status)3443    if questDialog == None:3444        if status == QUEST:3445            quest = getQuest(id)3446            questDialog = quest.getDefaultQuestDialog()3447        else:3448            questDialog = DefaultDialog[status]3449    if type(questDialog) == type(()):3450        return random.choice(questDialog)3451    else:3452        return questDialog3453    return3454def chooseQuestDialogReject():3455    return random.choice(DefaultReject)3456def chooseQuestDialogTierNotDone():3457    return random.choice(DefaultTierNotDone)3458def getNpcInfo(npcId):3459    npcName = NPCToons.getNPCName(npcId)3460    npcZone = NPCToons.getNPCZone(npcId)3461    hoodId = ZoneUtil.getCanonicalHoodId(npcZone)3462    hoodName = base.cr.hoodMgr.getFullnameFromId(hoodId)3463    buildingArticle = NPCToons.getBuildingArticle(npcZone)3464    buildingName = NPCToons.getBuildingTitle(npcZone)3465    branchId = ZoneUtil.getCanonicalBranchZone(npcZone)3466    toStreet = ToontownGlobals.StreetNames[branchId][0]3467    streetName = ToontownGlobals.StreetNames[branchId][-1]3468    isInPlayground = ZoneUtil.isPlayground(branchId)3469    return (npcName,3470     hoodName,3471     buildingArticle,3472     buildingName,3473     toStreet,3474     streetName,3475     isInPlayground)3476def getNpcLocationDialog(fromNpcId, toNpcId):3477    if not toNpcId:3478        return (None, None, None)3479    fromNpcZone = None3480    fromBranchId = None3481    if fromNpcId:3482        fromNpcZone = NPCToons.getNPCZone(fromNpcId)3483        fromBranchId = ZoneUtil.getCanonicalBranchZone(fromNpcZone)3484    toNpcZone = NPCToons.getNPCZone(toNpcId)3485    toBranchId = ZoneUtil.getCanonicalBranchZone(toNpcZone)3486    toNpcName, toHoodName, toBuildingArticle, toBuildingName, toStreetTo, toStreetName, isInPlayground = getNpcInfo(toNpcId)3487    if fromBranchId == toBranchId:3488        if isInPlayground:3489            streetDesc = TTLocalizer.QuestsStreetLocationThisPlayground3490        else:3491            streetDesc = TTLocalizer.QuestsStreetLocationThisStreet3492    elif isInPlayground:3493        streetDesc = TTLocalizer.QuestsStreetLocationNamedPlayground % toHoodName3494    else:3495        streetDesc = TTLocalizer.QuestsStreetLocationNamedStreet % {'toStreetName': toStreetName,3496         'toHoodName': toHoodName}3497    paragraph = TTLocalizer.QuestsLocationParagraph % {'building': TTLocalizer.QuestsLocationBuilding % toNpcName,3498     'buildingName': toBuildingName,3499     'buildingVerb': TTLocalizer.QuestsLocationBuildingVerb,3500     'street': streetDesc}3501    return (paragraph, toBuildingName, streetDesc)3502def fillInQuestNames(text, avName = None, fromNpcId = None, toNpcId = None):3503    text = copy.deepcopy(text)3504    if avName != None:3505        text = text.replace('_avName_', avName)3506    if toNpcId:3507        if toNpcId == ToonHQ:3508            toNpcName = TTLocalizer.QuestsHQOfficerFillin3509            where = TTLocalizer.QuestsHQWhereFillin3510            buildingName = TTLocalizer.QuestsHQBuildingNameFillin3511            streetDesc = TTLocalizer.QuestsHQLocationNameFillin3512        elif toNpcId == ToonTailor:3513            toNpcName = TTLocalizer.QuestsTailorFillin3514            where = TTLocalizer.QuestsTailorWhereFillin3515            buildingName = TTLocalizer.QuestsTailorBuildingNameFillin3516            streetDesc = TTLocalizer.QuestsTailorLocationNameFillin3517        else:3518            toNpcName = str(NPCToons.getNPCName(toNpcId))3519            where, buildingName, streetDesc = getNpcLocationDialog(fromNpcId, toNpcId)3520        text = text.replace('_toNpcName_', toNpcName)3521        text = text.replace('_where_', where)3522        text = text.replace('_buildingName_', buildingName)3523        text = text.replace('_streetDesc_', streetDesc)3524    return text3525def getVisitingQuest():3526    return VisitQuest(VISIT_QUEST_ID)3527class Reward:3528    def __init__(self, id, reward):3529        self.id = id3530        self.reward = reward3531    def getId(self):3532        return self.id3533    def getType(self):3534        return self.__class__3535    def getAmount(self):3536        return None3537    def sendRewardAI(self, av):3538        raise 'not implemented'3539    def countReward(self, qrc):3540        raise 'not implemented'3541    def getString(self):3542        return 'undefined'3543    def getPosterString(self):3544        return 'base class'3545class MaxHpReward(Reward):3546    def __init__(self, id, reward):3547        Reward.__init__(self, id, reward)3548    def getAmount(self):3549        return self.reward[0]3550    def sendRewardAI(self, av):3551        maxHp = av.getMaxHp()3552        maxHp = min(ToontownGlobals.MaxHpLimit, maxHp + self.getAmount())3553        av.b_setMaxHp(maxHp)3554        av.toonUp(maxHp)3555    def countReward(self, qrc):3556        qrc.maxHp += self.getAmount()3557    def getString(self):3558        return TTLocalizer.QuestsMaxHpReward % self.getAmount()3559    def getPosterString(self):3560        return TTLocalizer.QuestsMaxHpRewardPoster % self.getAmount()3561class MoneyReward(Reward):3562    def __init__(self, id, reward):3563        Reward.__init__(self, id, reward)3564    def getAmount(self):3565        return self.reward[0]3566    def sendRewardAI(self, av):3567        money = av.getMoney()3568        maxMoney = av.getMaxMoney()3569        av.addMoney(self.getAmount())3570    def countReward(self, qrc):3571        qrc.money += self.getAmount()3572    def getString(self):3573        amt = self.getAmount()3574        if amt == 1:3575            return TTLocalizer.QuestsMoneyRewardSingular3576        else:3577            return TTLocalizer.QuestsMoneyRewardPlural % amt3578    def getPosterString(self):3579        amt = self.getAmount()3580        if amt == 1:3581            return TTLocalizer.QuestsMoneyRewardPosterSingular3582        else:3583            return TTLocalizer.QuestsMoneyRewardPosterPlural % amt3584class MaxMoneyReward(Reward):3585    def __init__(self, id, reward):3586        Reward.__init__(self, id, reward)3587    def getAmount(self):3588        return self.reward[0]3589    def sendRewardAI(self, av):3590        av.b_setMaxMoney(self.getAmount())3591    def countReward(self, qrc):3592        qrc.maxMoney = self.getAmount()3593    def getString(self):3594        amt = self.getAmount()3595        if amt == 1:3596            return TTLocalizer.QuestsMaxMoneyRewardSingular3597        else:3598            return TTLocalizer.QuestsMaxMoneyRewardPlural % amt3599    def getPosterString(self):3600        amt = self.getAmount()3601        if amt == 1:3602            return TTLocalizer.QuestsMaxMoneyRewardPosterSingular3603        else:3604            return TTLocalizer.QuestsMaxMoneyRewardPosterPlural % amt3605class MaxGagCarryReward(Reward):3606    def __init__(self, id, reward):3607        Reward.__init__(self, id, reward)3608    def getAmount(self):3609        return self.reward[0]3610    def getName(self):3611        return self.reward[1]3612    def sendRewardAI(self, av):3613        av.b_setMaxCarry(self.getAmount())3614    def countReward(self, qrc):3615        qrc.maxCarry = self.getAmount()3616    def getString(self):3617        name = self.getName()3618        amt = self.getAmount()3619        return TTLocalizer.QuestsMaxGagCarryReward % {'name': name,3620         'num': amt}3621    def getPosterString(self):3622        name = self.getName()3623        amt = self.getAmount()3624        return TTLocalizer.QuestsMaxGagCarryRewardPoster % {'name': name,3625         'num': amt}3626class MaxQuestCarryReward(Reward):3627    def __init__(self, id, reward):3628        Reward.__init__(self, id, reward)3629    def getAmount(self):3630        return self.reward[0]3631    def sendRewardAI(self, av):3632        av.b_setQuestCarryLimit(self.getAmount())3633    def countReward(self, qrc):3634        qrc.questCarryLimit = self.getAmount()3635    def getString(self):3636        amt = self.getAmount()3637        return TTLocalizer.QuestsMaxQuestCarryReward % amt3638    def getPosterString(self):3639        amt = self.getAmount()3640        return TTLocalizer.QuestsMaxQuestCarryRewardPoster % amt3641class TeleportReward(Reward):3642    def __init__(self, id, reward):3643        Reward.__init__(self, id, reward)3644    def getZone(self):3645        return self.reward[0]3646    def sendRewardAI(self, av):3647        av.addTeleportAccess(self.getZone())3648    def countReward(self, qrc):3649        qrc.addTeleportAccess(self.getZone())3650    def getString(self):3651        hoodName = ToontownGlobals.hoodNameMap[self.getZone()][-1]3652        return TTLocalizer.QuestsTeleportReward % hoodName3653    def getPosterString(self):3654        hoodName = ToontownGlobals.hoodNameMap[self.getZone()][-1]3655        return TTLocalizer.QuestsTeleportRewardPoster % hoodName3656TrackTrainingQuotas = {ToontownBattleGlobals.HEAL_TRACK: 15,3657 ToontownBattleGlobals.TRAP_TRACK: 15,3658 ToontownBattleGlobals.LURE_TRACK: 15,3659 ToontownBattleGlobals.SOUND_TRACK: 15,3660 ToontownBattleGlobals.THROW_TRACK: 15,3661 ToontownBattleGlobals.SQUIRT_TRACK: 15,3662 ToontownBattleGlobals.DROP_TRACK: 15}3663class TrackTrainingReward(Reward):3664    def __init__(self, id, reward):3665        Reward.__init__(self, id, reward)3666    def getTrack(self):3667        track = self.reward[0]3668        if track == None:3669            track = 03670        return track3671    def sendRewardAI(self, av):3672        av.b_setTrackProgress(self.getTrack(), 0)3673    def countReward(self, qrc):3674        qrc.trackProgressId = self.getTrack()3675        qrc.trackProgress = 03676    def getString(self):3677        trackName = ToontownBattleGlobals.Tracks[self.getTrack()].capitalize()3678        return TTLocalizer.QuestsTrackTrainingReward % trackName3679    def getPosterString(self):3680        return TTLocalizer.QuestsTrackTrainingRewardPoster3681class TrackProgressReward(Reward):3682    def __init__(self, id, reward):3683        Reward.__init__(self, id, reward)3684    def getTrack(self):3685        track = self.reward[0]3686        if track == None:3687            track = 03688        return track3689    def getProgressIndex(self):3690        return self.reward[1]3691    def sendRewardAI(self, av):3692        av.addTrackProgress(self.getTrack(), self.getProgressIndex())3693    def countReward(self, qrc):3694        qrc.addTrackProgress(self.getTrack(), self.getProgressIndex())3695    def getString(self):3696        trackName = ToontownBattleGlobals.Tracks[self.getTrack()].capitalize()3697        return TTLocalizer.QuestsTrackProgressReward % {'frameNum': self.getProgressIndex(),3698         'trackName': trackName}3699    def getPosterString(self):3700        trackName = ToontownBattleGlobals.Tracks[self.getTrack()].capitalize()3701        return TTLocalizer.QuestsTrackProgressRewardPoster % {'trackName': trackName,3702         'frameNum': self.getProgressIndex()}3703class TrackCompleteReward(Reward):3704    def __init__(self, id, reward):3705        Reward.__init__(self, id, reward)3706    def getTrack(self):3707        track = self.reward[0]3708        if track == None:3709            track = 03710        return track3711    def sendRewardAI(self, av):3712        av.addTrackAccess(self.getTrack())3713        av.clearTrackProgress()3714    def countReward(self, qrc):3715        qrc.addTrackAccess(self.getTrack())3716        qrc.clearTrackProgress()3717    def getString(self):3718        trackName = ToontownBattleGlobals.Tracks[self.getTrack()].capitalize()3719        return TTLocalizer.QuestsTrackCompleteReward % trackName3720    def getPosterString(self):3721        trackName = ToontownBattleGlobals.Tracks[self.getTrack()].capitalize()3722        return TTLocalizer.QuestsTrackCompleteRewardPoster % trackName3723class ClothingTicketReward(Reward):3724    def __init__(self, id, reward):3725        Reward.__init__(self, id, reward)3726    def sendRewardAI(self, av):3727        pass3728    def countReward(self, qrc):3729        pass3730    def getString(self):3731        return TTLocalizer.QuestsClothingTicketReward3732    def getPosterString(self):3733        return TTLocalizer.QuestsClothingTicketRewardPoster3734class TIPClothingTicketReward(ClothingTicketReward):3735    def __init__(self, id, reward):3736        ClothingTicketReward.__init__(self, id, reward)3737    def getString(self):3738        return TTLocalizer.TIPQuestsClothingTicketReward3739    def getPosterString(self):3740        return TTLocalizer.TIPQuestsClothingTicketRewardPoster3741class CheesyEffectReward(Reward):3742    def __init__(self, id, reward):3743        Reward.__init__(self, id, reward)3744    def getEffect(self):3745        return self.reward[0]3746    def getHoodId(self):3747        return self.reward[1]3748    def getDurationMinutes(self):3749        return self.reward[2]3750    def sendRewardAI(self, av):3751        expireTime = int(time.time() / 60 + 0.5) + self.getDurationMinutes()3752        av.b_setCheesyEffect(self.getEffect(), self.getHoodId(), expireTime)3753    def countReward(self, qrc):3754        pass3755    def getString(self):3756        effect = self.getEffect()3757        hoodId = self.getHoodId()3758        duration = self.getDurationMinutes()3759        string = TTLocalizer.CheesyEffectMinutes3760        if duration > 90:3761            duration = int((duration + 30) / 60)3762            string = TTLocalizer.CheesyEffectHours3763            if duration > 36:3764                duration = int((duration + 12) / 24)3765                string = TTLocalizer.CheesyEffectDays3766        desc = TTLocalizer.CheesyEffectDescriptions[effect][1]3767        if hoodId == 0:3768            whileStr = ''3769        elif hoodId == 1:3770            whileStr = TTLocalizer.CheesyEffectExceptIn % TTLocalizer.ToontownCentral[-1]3771        else:3772            hoodName = base.cr.hoodMgr.getFullnameFromId(hoodId)3773            whileStr = TTLocalizer.CheesyEffectWhileYouAreIn % hoodName3774        if duration:3775            return string % {'time': duration,3776             'effectName': desc,3777             'whileIn': whileStr}3778        else:3779            return TTLocalizer.CheesyEffectIndefinite % {'effectName': desc,3780             'whileIn': whileStr}3781    def getPosterString(self):3782        effect = self.getEffect()3783        desc = TTLocalizer.CheesyEffectDescriptions[effect][0]3784        return TTLocalizer.QuestsCheesyEffectRewardPoster % desc3785class CogSuitPartReward(Reward):3786    trackNames = [TTLocalizer.Bossbot,3787     TTLocalizer.Lawbot,3788     TTLocalizer.Cashbot,3789     TTLocalizer.Sellbot]3790    def __init__(self, id, reward):3791        Reward.__init__(self, id, reward)3792    def getCogTrack(self):3793        return self.reward[0]3794    def getCogPart(self):3795        return self.reward[1]3796    def sendRewardAI(self, av):3797        dept = self.getCogTrack()3798        part = self.getCogPart()3799        av.giveCogPart(part, dept)3800    def countReward(self, qrc):3801        pass3802    def getCogTrackName(self):3803        index = ToontownGlobals.cogDept2index[self.getCogTrack()]3804        return CogSuitPartReward.trackNames[index]3805    def getCogPartName(self):3806        index = ToontownGlobals.cogDept2index[self.getCogTrack()]3807        return CogDisguiseGlobals.PartsQueryNames[index][self.getCogPart()]3808    def getString(self):3809        return TTLocalizer.QuestsCogSuitPartReward % {'cogTrack': self.getCogTrackName(),3810         'part': self.getCogPartName()}3811    def getPosterString(self):3812        return TTLocalizer.QuestsCogSuitPartRewardPoster % {'cogTrack': self.getCogTrackName(),3813         'part': self.getCogPartName()}3814def getRewardClass(id):3815    reward = RewardDict.get(id)3816    if reward:3817        return reward[0]3818    else:3819        return None3820    return None3821def getReward(id):3822    reward = RewardDict.get(id)3823    if reward:3824        rewardClass = reward[0]3825        return rewardClass(id, reward[1:])3826    else:3827        notify.warning('getReward(): id %s not found.' % id)3828        return None3829    return None3830def getNextRewards(numChoices, tier, av):3831    rewardTier = list(getRewardsInTier(tier))3832    optRewards = list(getOptionalRewardsInTier(tier))3833    if av.getGameAccess() == OTPGlobals.AccessFull and tier == TT_TIER + 3:3834        optRewards = []3835    if isLoopingFinalTier(tier):3836        rewardHistory = map(lambda questDesc: questDesc[3], av.quests)3837        if notify.getDebug():3838            notify.debug('getNextRewards: current rewards (history): %s' % rewardHistory)3839    else:3840        rewardHistory = av.getRewardHistory()[1]3841        if notify.getDebug():3842            notify.debug('getNextRewards: rewardHistory: %s' % rewardHistory)3843    if notify.getDebug():3844        notify.debug('getNextRewards: rewardTier: %s' % rewardTier)3845        notify.debug('getNextRewards: numChoices: %s' % numChoices)3846    for rewardId in getRewardsInTier(tier):3847        if getRewardClass(rewardId) == CogSuitPartReward:3848            deptStr = RewardDict.get(rewardId)[1]3849            cogPart = RewardDict.get(rewardId)[2]3850            dept = ToontownGlobals.cogDept2index[deptStr]3851            if av.hasCogPart(cogPart, dept):3852                notify.debug('getNextRewards: already has cog part: %s dept: %s' % (cogPart, dept))3853                rewardTier.remove(rewardId)3854            else:3855                notify.debug('getNextRewards: keeping quest for cog part: %s dept: %s' % (cogPart, dept))3856    for rewardId in rewardHistory:3857        if rewardId in rewardTier:3858            rewardTier.remove(rewardId)3859        elif rewardId in optRewards:3860            optRewards.remove(rewardId)3861        elif rewardId in (901, 902, 903, 904, 905, 906, 907):3862            genericRewardId = 9003863            if genericRewardId in rewardTier:3864                rewardTier.remove(genericRewardId)3865        elif rewardId > 1000 and rewardId < 1699:3866            index = rewardId % 1003867            genericRewardId = 800 + index3868            if genericRewardId in rewardTier:3869                rewardTier.remove(genericRewardId)3870    if numChoices == 0:3871        if len(rewardTier) == 0:3872            return []3873        else:3874            return [rewardTier[0]]3875    rewardPool = rewardTier[:numChoices]3876    for i in xrange(len(rewardPool), numChoices * 2):3877        if optRewards:3878            optionalReward = seededRandomChoice(optRewards)3879            optRewards.remove(optionalReward)3880            rewardPool.append(optionalReward)3881        else:3882            break3883    if notify.getDebug():3884        notify.debug('getNextRewards: starting reward pool: %s' % rewardPool)3885    if len(rewardPool) == 0:3886        if notify.getDebug():3887            notify.debug('getNextRewards: no rewards left at all')3888        return []3889    finalRewardPool = [rewardPool.pop(0)]3890    for i in xrange(numChoices - 1):3891        if len(rewardPool) == 0:3892            break3893        selectedReward = seededRandomChoice(rewardPool)3894        rewardPool.remove(selectedReward)3895        finalRewardPool.append(selectedReward)3896    if notify.getDebug():3897        notify.debug('getNextRewards: final reward pool: %s' % finalRewardPool)3898    return finalRewardPool3899RewardDict = {3900    100: (MaxHpReward, 1),3901    101: (MaxHpReward, 2),3902    102: (MaxHpReward, 3),3903    103: (MaxHpReward, 4),3904    104: (MaxHpReward, 5),3905    105: (MaxHpReward, 6),3906    106: (MaxHpReward, 7),3907    107: (MaxHpReward, 8),3908    108: (MaxHpReward, 9),3909    109: (MaxHpReward, 10),3910    200: (MaxGagCarryReward, 25, TTLocalizer.QuestsMediumPouch),3911    201: (MaxGagCarryReward, 30, TTLocalizer.QuestsLargePouch),3912    202: (MaxGagCarryReward, 35, TTLocalizer.QuestsSmallBag),3913    203: (MaxGagCarryReward, 40, TTLocalizer.QuestsMediumBag),3914    204: (MaxGagCarryReward, 50, TTLocalizer.QuestsLargeBag),3915    205: (MaxGagCarryReward, 60, TTLocalizer.QuestsSmallBackpack),3916    206: (MaxGagCarryReward, 70, TTLocalizer.QuestsMediumBackpack),3917    207: (MaxGagCarryReward, 80, TTLocalizer.QuestsLargeBackpack),3918    300: (TeleportReward, ToontownGlobals.ToontownCentral),3919    301: (TeleportReward, ToontownGlobals.DonaldsDock),3920    302: (TeleportReward, ToontownGlobals.DaisyGardens),3921    303: (TeleportReward, ToontownGlobals.MinniesMelodyland),3922    304: (TeleportReward, ToontownGlobals.TheBrrrgh),3923    305: (TeleportReward, ToontownGlobals.DonaldsDreamland),3924    400: (TrackTrainingReward, None),3925    401: (TrackTrainingReward, ToontownBattleGlobals.HEAL_TRACK),3926    402: (TrackTrainingReward, ToontownBattleGlobals.TRAP_TRACK),3927    403: (TrackTrainingReward, ToontownBattleGlobals.LURE_TRACK),3928    404: (TrackTrainingReward, ToontownBattleGlobals.SOUND_TRACK),3929    405: (TrackTrainingReward, ToontownBattleGlobals.THROW_TRACK),3930    406: (TrackTrainingReward, ToontownBattleGlobals.SQUIRT_TRACK),3931    407: (TrackTrainingReward, ToontownBattleGlobals.DROP_TRACK),3932    500: (MaxQuestCarryReward, 2),3933    501: (MaxQuestCarryReward, 3),3934    502: (MaxQuestCarryReward, 4),3935    600: (MoneyReward, 10),3936    601: (MoneyReward, 20),3937    602: (MoneyReward, 40),3938    603: (MoneyReward, 60),3939    604: (MoneyReward, 100),3940    605: (MoneyReward, 150),3941    606: (MoneyReward, 200),3942    607: (MoneyReward, 250),3943    608: (MoneyReward, 300),3944    609: (MoneyReward, 400),3945    610: (MoneyReward, 500),3946    611: (MoneyReward, 600),3947    612: (MoneyReward, 700),3948    613: (MoneyReward, 800),3949    614: (MoneyReward, 900),3950    615: (MoneyReward, 1000),3951    616: (MoneyReward, 1100),3952    617: (MoneyReward, 1200),3953    618: (MoneyReward, 1300),3954    619: (MoneyReward, 1400),3955    620: (MoneyReward, 1500),3956    621: (MoneyReward, 1750),3957    622: (MoneyReward, 2000),3958    623: (MoneyReward, 2500),3959    700: (MaxMoneyReward, 50),3960    701: (MaxMoneyReward, 60),3961    702: (MaxMoneyReward, 80),3962    703: (MaxMoneyReward, 100),3963    704: (MaxMoneyReward, 120),3964    705: (MaxMoneyReward, 150),3965    706: (MaxMoneyReward, 200),3966    707: (MaxMoneyReward, 250),3967    801: (TrackProgressReward, None, 1),3968    802: (TrackProgressReward, None, 2),3969    803: (TrackProgressReward, None, 3),3970    804: (TrackProgressReward, None, 4),3971    805: (TrackProgressReward, None, 5),3972    806: (TrackProgressReward, None, 6),3973    807: (TrackProgressReward, None, 7),3974    808: (TrackProgressReward, None, 8),3975    809: (TrackProgressReward, None, 9),3976    810: (TrackProgressReward, None, 10),3977    811: (TrackProgressReward, None, 11),3978    812: (TrackProgressReward, None, 12),3979    813: (TrackProgressReward, None, 13),3980    814: (TrackProgressReward, None, 14),3981    815: (TrackProgressReward, None, 15),3982    110: (TIPClothingTicketReward,),3983    1000: (ClothingTicketReward,),3984    1001: (TrackProgressReward, ToontownBattleGlobals.HEAL_TRACK, 1),3985    1002: (TrackProgressReward, ToontownBattleGlobals.HEAL_TRACK, 2),3986    1003: (TrackProgressReward, ToontownBattleGlobals.HEAL_TRACK, 3),3987    1004: (TrackProgressReward, ToontownBattleGlobals.HEAL_TRACK, 4),3988    1005: (TrackProgressReward, ToontownBattleGlobals.HEAL_TRACK, 5),3989    1006: (TrackProgressReward, ToontownBattleGlobals.HEAL_TRACK, 6),3990    1007: (TrackProgressReward, ToontownBattleGlobals.HEAL_TRACK, 7),3991    1008: (TrackProgressReward, ToontownBattleGlobals.HEAL_TRACK, 8),3992    1009: (TrackProgressReward, ToontownBattleGlobals.HEAL_TRACK, 9),3993    1010: (TrackProgressReward, ToontownBattleGlobals.HEAL_TRACK, 10),3994    1011: (TrackProgressReward, ToontownBattleGlobals.HEAL_TRACK, 11),3995    1012: (TrackProgressReward, ToontownBattleGlobals.HEAL_TRACK, 12),3996    1013: (TrackProgressReward, ToontownBattleGlobals.HEAL_TRACK, 13),3997    1014: (TrackProgressReward, ToontownBattleGlobals.HEAL_TRACK, 14),3998    1015: (TrackProgressReward, ToontownBattleGlobals.HEAL_TRACK, 15),3999    1101: (TrackProgressReward, ToontownBattleGlobals.TRAP_TRACK, 1),4000    1102: (TrackProgressReward, ToontownBattleGlobals.TRAP_TRACK, 2),4001    1103: (TrackProgressReward, ToontownBattleGlobals.TRAP_TRACK, 3),4002    1104: (TrackProgressReward, ToontownBattleGlobals.TRAP_TRACK, 4),4003    1105: (TrackProgressReward, ToontownBattleGlobals.TRAP_TRACK, 5),4004    1106: (TrackProgressReward, ToontownBattleGlobals.TRAP_TRACK, 6),4005    1107: (TrackProgressReward, ToontownBattleGlobals.TRAP_TRACK, 7),4006    1108: (TrackProgressReward, ToontownBattleGlobals.TRAP_TRACK, 8),4007    1109: (TrackProgressReward, ToontownBattleGlobals.TRAP_TRACK, 9),4008    1110: (TrackProgressReward, ToontownBattleGlobals.TRAP_TRACK, 10),4009    1111: (TrackProgressReward, ToontownBattleGlobals.TRAP_TRACK, 11),4010    1112: (TrackProgressReward, ToontownBattleGlobals.TRAP_TRACK, 12),4011    1113: (TrackProgressReward, ToontownBattleGlobals.TRAP_TRACK, 13),4012    1114: (TrackProgressReward, ToontownBattleGlobals.TRAP_TRACK, 14),4013    1115: (TrackProgressReward, ToontownBattleGlobals.TRAP_TRACK, 15),4014    1201: (TrackProgressReward, ToontownBattleGlobals.LURE_TRACK, 1),4015    1202: (TrackProgressReward, ToontownBattleGlobals.LURE_TRACK, 2),4016    1203: (TrackProgressReward, ToontownBattleGlobals.LURE_TRACK, 3),4017    1204: (TrackProgressReward, ToontownBattleGlobals.LURE_TRACK, 4),4018    1205: (TrackProgressReward, ToontownBattleGlobals.LURE_TRACK, 5),4019    1206: (TrackProgressReward, ToontownBattleGlobals.LURE_TRACK, 6),4020    1207: (TrackProgressReward, ToontownBattleGlobals.LURE_TRACK, 7),4021    1208: (TrackProgressReward, ToontownBattleGlobals.LURE_TRACK, 8),4022    1209: (TrackProgressReward, ToontownBattleGlobals.LURE_TRACK, 9),4023    1210: (TrackProgressReward, ToontownBattleGlobals.LURE_TRACK, 10),4024    1211: (TrackProgressReward, ToontownBattleGlobals.LURE_TRACK, 11),4025    1212: (TrackProgressReward, ToontownBattleGlobals.LURE_TRACK, 12),4026    1213: (TrackProgressReward, ToontownBattleGlobals.LURE_TRACK, 13),4027    1214: (TrackProgressReward, ToontownBattleGlobals.LURE_TRACK, 14),4028    1215: (TrackProgressReward, ToontownBattleGlobals.LURE_TRACK, 15),4029    1301: (TrackProgressReward, ToontownBattleGlobals.SOUND_TRACK, 1),4030    1302: (TrackProgressReward, ToontownBattleGlobals.SOUND_TRACK, 2),4031    1303: (TrackProgressReward, ToontownBattleGlobals.SOUND_TRACK, 3),4032    1304: (TrackProgressReward, ToontownBattleGlobals.SOUND_TRACK, 4),4033    1305: (TrackProgressReward, ToontownBattleGlobals.SOUND_TRACK, 5),4034    1306: (TrackProgressReward, ToontownBattleGlobals.SOUND_TRACK, 6),4035    1307: (TrackProgressReward, ToontownBattleGlobals.SOUND_TRACK, 7),4036    1308: (TrackProgressReward, ToontownBattleGlobals.SOUND_TRACK, 8),4037    1309: (TrackProgressReward, ToontownBattleGlobals.SOUND_TRACK, 9),4038    1310: (TrackProgressReward, ToontownBattleGlobals.SOUND_TRACK, 10),4039    1311: (TrackProgressReward, ToontownBattleGlobals.SOUND_TRACK, 11),4040    1312: (TrackProgressReward, ToontownBattleGlobals.SOUND_TRACK, 12),4041    1313: (TrackProgressReward, ToontownBattleGlobals.SOUND_TRACK, 13),4042    1314: (TrackProgressReward, ToontownBattleGlobals.SOUND_TRACK, 14),4043    1315: (TrackProgressReward, ToontownBattleGlobals.SOUND_TRACK, 15),4044    1601: (TrackProgressReward, ToontownBattleGlobals.DROP_TRACK, 1),4045    1602: (TrackProgressReward, ToontownBattleGlobals.DROP_TRACK, 2),4046    1603: (TrackProgressReward, ToontownBattleGlobals.DROP_TRACK, 3),4047    1604: (TrackProgressReward, ToontownBattleGlobals.DROP_TRACK, 4),4048    1605: (TrackProgressReward, ToontownBattleGlobals.DROP_TRACK, 5),4049    1606: (TrackProgressReward, ToontownBattleGlobals.DROP_TRACK, 6),4050    1607: (TrackProgressReward, ToontownBattleGlobals.DROP_TRACK, 7),4051    1608: (TrackProgressReward, ToontownBattleGlobals.DROP_TRACK, 8),4052    1609: (TrackProgressReward, ToontownBattleGlobals.DROP_TRACK, 9),4053    1610: (TrackProgressReward, ToontownBattleGlobals.DROP_TRACK, 10),4054    1611: (TrackProgressReward, ToontownBattleGlobals.DROP_TRACK, 11),4055    1612: (TrackProgressReward, ToontownBattleGlobals.DROP_TRACK, 12),4056    1613: (TrackProgressReward, ToontownBattleGlobals.DROP_TRACK, 13),4057    1614: (TrackProgressReward, ToontownBattleGlobals.DROP_TRACK, 14),4058    1615: (TrackProgressReward, ToontownBattleGlobals.DROP_TRACK, 15),4059    900: (TrackCompleteReward, None),4060    901: (TrackCompleteReward, ToontownBattleGlobals.HEAL_TRACK),4061    902: (TrackCompleteReward, ToontownBattleGlobals.TRAP_TRACK),4062    903: (TrackCompleteReward, ToontownBattleGlobals.LURE_TRACK),4063    904: (TrackCompleteReward, ToontownBattleGlobals.SOUND_TRACK),4064    905: (TrackCompleteReward, ToontownBattleGlobals.THROW_TRACK),4065    906: (TrackCompleteReward, ToontownBattleGlobals.SQUIRT_TRACK),4066    907: (TrackCompleteReward, ToontownBattleGlobals.DROP_TRACK),4067    2205: (CheesyEffectReward, ToontownGlobals.CEBigToon, 2000, 10),4068    2206: (CheesyEffectReward, ToontownGlobals.CESmallToon, 2000, 10),4069    2101: (CheesyEffectReward, ToontownGlobals.CEBigHead, 1000, 10),4070    2102: (CheesyEffectReward, ToontownGlobals.CESmallHead, 1000, 10),4071    2105: (CheesyEffectReward, ToontownGlobals.CEBigToon, 0, 20),4072    2106: (CheesyEffectReward, ToontownGlobals.CESmallToon, 0, 20),4073    2501: (CheesyEffectReward, ToontownGlobals.CEBigHead, 5000, 60),4074    2502: (CheesyEffectReward, ToontownGlobals.CESmallHead, 5000, 60),4075    2503: (CheesyEffectReward, ToontownGlobals.CEBigLegs, 5000, 20),4076    2504: (CheesyEffectReward, ToontownGlobals.CESmallLegs, 5000, 20),4077    2505: (CheesyEffectReward, ToontownGlobals.CEBigToon, 0, 60),4078    2506: (CheesyEffectReward, ToontownGlobals.CESmallToon, 0, 60),4079    2401: (CheesyEffectReward, ToontownGlobals.CEBigHead, 1, 120),4080    2402: (CheesyEffectReward, ToontownGlobals.CESmallHead, 1, 120),4081    2403: (CheesyEffectReward, ToontownGlobals.CEBigLegs, 4000, 60),4082    2404: (CheesyEffectReward, ToontownGlobals.CESmallLegs, 4000, 60),4083    2405: (CheesyEffectReward, ToontownGlobals.CEBigToon, 0, 120),4084    2406: (CheesyEffectReward, ToontownGlobals.CESmallToon, 0, 120),4085    2407: (CheesyEffectReward, ToontownGlobals.CEFlatPortrait, 4000, 30),4086    2408: (CheesyEffectReward, ToontownGlobals.CEFlatProfile, 4000, 30),4087    2409: (CheesyEffectReward, ToontownGlobals.CETransparent, 4000, 30),4088    2410: (CheesyEffectReward, ToontownGlobals.CENoColor, 4000, 30),4089    2301: (CheesyEffectReward, ToontownGlobals.CEBigHead, 1, 360),4090    2302: (CheesyEffectReward, ToontownGlobals.CESmallHead, 1, 360),4091    2303: (CheesyEffectReward, ToontownGlobals.CEBigLegs, 1, 360),4092    2304: (CheesyEffectReward, ToontownGlobals.CESmallLegs, 1, 360),4093    2305: (CheesyEffectReward, ToontownGlobals.CEBigToon, 0, 1440),4094    2306: (CheesyEffectReward, ToontownGlobals.CESmallToon, 0, 1440),4095    2307: (CheesyEffectReward, ToontownGlobals.CEFlatPortrait, 3000, 240),4096    2308: (CheesyEffectReward, ToontownGlobals.CEFlatProfile, 3000, 240),4097    2309: (CheesyEffectReward, ToontownGlobals.CETransparent, 1, 120),4098    2310: (CheesyEffectReward, ToontownGlobals.CENoColor, 1, 120),4099    2311: (CheesyEffectReward, ToontownGlobals.CEInvisible, 3000, 120),4100    2900: (CheesyEffectReward, ToontownGlobals.CENormal, 0, 0),4101    2901: (CheesyEffectReward, ToontownGlobals.CEBigHead, 1, 1440),4102    2902: (CheesyEffectReward, ToontownGlobals.CESmallHead, 1, 1440),4103    2903: (CheesyEffectReward, ToontownGlobals.CEBigLegs, 1, 1440),4104    2904: (CheesyEffectReward, ToontownGlobals.CESmallLegs, 1, 1440),4105    2905: (CheesyEffectReward, ToontownGlobals.CEBigToon, 0, 1440),4106    2906: (CheesyEffectReward, ToontownGlobals.CESmallToon, 0, 1440),4107    2907: (CheesyEffectReward, ToontownGlobals.CEFlatPortrait, 1, 1440),4108    2908: (CheesyEffectReward, ToontownGlobals.CEFlatProfile, 1, 1440),4109    2909: (CheesyEffectReward, ToontownGlobals.CETransparent, 1, 1440),4110    2910: (CheesyEffectReward, ToontownGlobals.CENoColor, 1, 1440),4111    2911: (CheesyEffectReward, ToontownGlobals.CEInvisible, 1, 1440),4112    2920: (CheesyEffectReward, ToontownGlobals.CENormal, 0, 0),4113    2921: (CheesyEffectReward, ToontownGlobals.CEBigHead, 1, 2880),4114    2922: (CheesyEffectReward, ToontownGlobals.CESmallHead, 1, 2880),4115    2923: (CheesyEffectReward, ToontownGlobals.CEBigLegs, 1, 2880),4116    2924: (CheesyEffectReward, ToontownGlobals.CESmallLegs, 1, 2880),4117    2925: (CheesyEffectReward, ToontownGlobals.CEBigToon, 0, 2880),4118    2926: (CheesyEffectReward, ToontownGlobals.CESmallToon, 0, 2880),4119    2927: (CheesyEffectReward, ToontownGlobals.CEFlatPortrait, 1, 2880),4120    2928: (CheesyEffectReward, ToontownGlobals.CEFlatProfile, 1, 2880),4121    2929: (CheesyEffectReward, ToontownGlobals.CETransparent, 1, 2880),4122    2930: (CheesyEffectReward, ToontownGlobals.CENoColor, 1, 2880),4123    2931: (CheesyEffectReward, ToontownGlobals.CEInvisible, 1, 2880),4124    2940: (CheesyEffectReward, ToontownGlobals.CENormal, 0, 0),4125    2941: (CheesyEffectReward, ToontownGlobals.CEBigHead, 1, 10080),4126    2942: (CheesyEffectReward, ToontownGlobals.CESmallHead, 1, 10080),4127    2943: (CheesyEffectReward, ToontownGlobals.CEBigLegs, 1, 10080),4128    2944: (CheesyEffectReward, ToontownGlobals.CESmallLegs, 1, 10080),4129    2945: (CheesyEffectReward, ToontownGlobals.CEBigToon, 0, 10080),4130    2946: (CheesyEffectReward, ToontownGlobals.CESmallToon, 0, 10080),4131    2947: (CheesyEffectReward, ToontownGlobals.CEFlatPortrait, 1, 10080),4132    2948: (CheesyEffectReward, ToontownGlobals.CEFlatProfile, 1, 10080),4133    2949: (CheesyEffectReward, ToontownGlobals.CETransparent, 1, 10080),4134    2950: (CheesyEffectReward, ToontownGlobals.CENoColor, 1, 10080),4135    2951: (CheesyEffectReward, ToontownGlobals.CEInvisible, 1, 10080),4136    2960: (CheesyEffectReward, ToontownGlobals.CENormal, 0, 0),4137    2961: (CheesyEffectReward, ToontownGlobals.CEBigHead, 1, 43200),4138    2962: (CheesyEffectReward, ToontownGlobals.CESmallHead, 1, 43200),4139    2963: (CheesyEffectReward, ToontownGlobals.CEBigLegs, 1, 43200),4140    2964: (CheesyEffectReward, ToontownGlobals.CESmallLegs, 1, 43200),4141    2965: (CheesyEffectReward, ToontownGlobals.CEBigToon, 0, 43200),4142    2966: (CheesyEffectReward, ToontownGlobals.CESmallToon, 0, 43200),4143    2967: (CheesyEffectReward, ToontownGlobals.CEFlatPortrait, 1, 43200),4144    2968: (CheesyEffectReward, ToontownGlobals.CEFlatProfile, 1, 43200),4145    2969: (CheesyEffectReward, ToontownGlobals.CETransparent, 1, 43200),4146    2970: (CheesyEffectReward, ToontownGlobals.CENoColor, 1, 43200),4147    2971: (CheesyEffectReward, ToontownGlobals.CEInvisible, 1, 43200),4148    4000: (CogSuitPartReward, 'm', CogDisguiseGlobals.leftLegUpper),4149    4001: (CogSuitPartReward, 'm', CogDisguiseGlobals.leftLegLower),4150    4002: (CogSuitPartReward, 'm', CogDisguiseGlobals.leftLegFoot),4151    4003: (CogSuitPartReward, 'm', CogDisguiseGlobals.rightLegUpper),4152    4004: (CogSuitPartReward, 'm', CogDisguiseGlobals.rightLegLower),4153    4005: (CogSuitPartReward, 'm', CogDisguiseGlobals.rightLegFoot),4154    4006: (CogSuitPartReward, 'm', CogDisguiseGlobals.upperTorso),4155    4007: (CogSuitPartReward, 'm', CogDisguiseGlobals.torsoPelvis),4156    4008: (CogSuitPartReward, 'm', CogDisguiseGlobals.leftArmUpper),4157    4009: (CogSuitPartReward, 'm', CogDisguiseGlobals.leftArmLower),4158    4010: (CogSuitPartReward, 'm', CogDisguiseGlobals.rightArmUpper),4159    4011: (CogSuitPartReward, 'm', CogDisguiseGlobals.rightArmLower),4160    4100: (CogSuitPartReward, 'l', CogDisguiseGlobals.leftLegUpper),4161    4101: (CogSuitPartReward, 'l', CogDisguiseGlobals.leftLegLower),4162    4102: (CogSuitPartReward, 'l', CogDisguiseGlobals.leftLegFoot),4163    4103: (CogSuitPartReward, 'l', CogDisguiseGlobals.rightLegUpper),4164    4104: (CogSuitPartReward, 'l', CogDisguiseGlobals.rightLegLower),4165    4105: (CogSuitPartReward, 'l', CogDisguiseGlobals.rightLegFoot),4166    4106: (CogSuitPartReward, 'l', CogDisguiseGlobals.upperTorso),4167    4107: (CogSuitPartReward, 'l', CogDisguiseGlobals.torsoPelvis),4168    4108: (CogSuitPartReward, 'l', CogDisguiseGlobals.leftArmUpper),4169    4109: (CogSuitPartReward, 'l', CogDisguiseGlobals.leftArmLower),4170    4110: (CogSuitPartReward, 'l', CogDisguiseGlobals.leftArmHand),4171    4111: (CogSuitPartReward, 'l', CogDisguiseGlobals.rightArmUpper),4172    4112: (CogSuitPartReward, 'l', CogDisguiseGlobals.rightArmLower),4173    4113: (CogSuitPartReward, 'l', CogDisguiseGlobals.rightArmHand),4174    4200: (CogSuitPartReward, 'c', CogDisguiseGlobals.leftLegUpper),4175    4201: (CogSuitPartReward, 'c', CogDisguiseGlobals.leftLegLower),4176    4202: (CogSuitPartReward, 'c', CogDisguiseGlobals.leftLegFoot),4177    4203: (CogSuitPartReward, 'c', CogDisguiseGlobals.rightLegUpper),4178    4204: (CogSuitPartReward, 'c', CogDisguiseGlobals.rightLegLower),4179    4205: (CogSuitPartReward, 'c', CogDisguiseGlobals.rightLegFoot),4180    4206: (CogSuitPartReward, 'c', CogDisguiseGlobals.torsoLeftShoulder),4181    4207: (CogSuitPartReward, 'c', CogDisguiseGlobals.torsoRightShoulder),4182    4208: (CogSuitPartReward, 'c', CogDisguiseGlobals.torsoChest),4183    4209: (CogSuitPartReward, 'c', CogDisguiseGlobals.torsoHealthMeter),4184    4210: (CogSuitPartReward, 'c', CogDisguiseGlobals.torsoPelvis),4185    4211: (CogSuitPartReward, 'c', CogDisguiseGlobals.leftArmUpper),4186    4212: (CogSuitPartReward, 'c', CogDisguiseGlobals.leftArmLower),4187    4213: (CogSuitPartReward, 'c', CogDisguiseGlobals.leftArmHand),4188    4214: (CogSuitPartReward, 'c', CogDisguiseGlobals.rightArmUpper),4189    4215: (CogSuitPartReward, 'c', CogDisguiseGlobals.rightArmLower),4190    4216: (CogSuitPartReward, 'c', CogDisguiseGlobals.rightArmHand) }4191def getNumTiers():4192    return len(RequiredRewardTrackDict) - 14193def isLoopingFinalTier(tier):4194    return tier == LOOPING_FINAL_TIER4195def getRewardsInTier(tier):4196    return RequiredRewardTrackDict.get(tier, [])4197def getNumRewardsInTier(tier):4198    return len(RequiredRewardTrackDict.get(tier, []))4199def rewardTierExists(tier):4200    return RequiredRewardTrackDict.has_key(tier)4201def getOptionalRewardsInTier(tier):4202    return OptionalRewardTrackDict.get(tier, [])4203def getRewardIdFromTrackId(trackId):4204    return 401 + trackId4205RequiredRewardTrackDict = {4206    TT_TIER: (100,),4207    TT_TIER + 1: (400,),4208    TT_TIER + 2: (100, 801, 200, 802, 803, 101, 804, 805, 102, 806, 807, 100, 808, 809, 101, 810, 811, 500, 812, 813, 700, 814, 815, 300),4209    TT_TIER + 3: (900,),4210    DD_TIER: (400,),4211    DD_TIER + 1: (100, 801, 802, 201, 803, 804, 101, 805, 806, 102, 807, 808, 100, 809, 810, 101, 811, 812, 701, 813, 814, 815, 301),4212    DD_TIER + 2: (900,),4213    DG_TIER: (100, 202, 101, 102, 100, 101, 501, 702, 302),4214    MM_TIER: (400,),4215    MM_TIER + 1: (100, 801, 802, 203, 803, 804, 101, 805, 806, 102, 807, 808, 100, 809, 810, 101, 811, 812, 703, 813, 814, 815, 303),4216    MM_TIER + 2: (900,),4217    BR_TIER: (400,),4218    BR_TIER + 1: (100, 801, 802, 704, 803, 804, 101, 805, 806, 502, 807, 808, 102, 809, 810, 204, 811, 812, 100, 813, 814, 101, 815, 304),4219    BR_TIER + 2: (900,),4220    DL_TIER: (4000, 100, 205, 101, 102, 705, 103, 305, 4001, 4002),4221    DL_TIER + 1: (100, 206, 101, 4003, 4004, 4005, 102, 4006, 4007, 4008, 706, 103, 4009, 4010, 4011, 4000, 4001, 4002),4222    DL_TIER + 2: (4006, 4007, 4008, 100, 4000, 4001, 4002, 4003, 101, 4004, 4005, 4009, 102, 103, 4010, 4011),4223    DL_TIER + 3: (4009, 4010, 4011, 100, 4000, 4001, 101, 4002, 4003, 102, 4004, 4005, 102, 4006, 4007, 707, 207, 4008),4224    LAWBOT_HQ_TIER: (4100,),4225    LAWBOT_HQ_TIER + 1: (4101,),4226    LAWBOT_HQ_TIER + 2: (4102,),4227    LAWBOT_HQ_TIER + 3: (4103,),4228    LAWBOT_HQ_TIER + 4: (4104,),4229    LAWBOT_HQ_TIER + 5: (4105,),4230    LAWBOT_HQ_TIER + 6: (4106,),4231    LAWBOT_HQ_TIER + 7: (4107,),4232    LAWBOT_HQ_TIER + 8: (4108,),4233    LAWBOT_HQ_TIER + 9: (4109,),4234    LAWBOT_HQ_TIER + 10: (4110,),4235    LAWBOT_HQ_TIER + 11: (4111,),4236    LAWBOT_HQ_TIER + 12: (4112,),4237    LAWBOT_HQ_TIER + 13: (4113,),4238    BOSSBOT_HQ_TIER: (4200,),4239    BOSSBOT_HQ_TIER + 1: (4201,),4240    BOSSBOT_HQ_TIER + 2: (4202,),4241    BOSSBOT_HQ_TIER + 3: (4203,),4242    BOSSBOT_HQ_TIER + 4: (4204,),4243    BOSSBOT_HQ_TIER + 5: (4205,),4244    BOSSBOT_HQ_TIER + 6: (4206,),4245    BOSSBOT_HQ_TIER + 7: (4207,),4246    BOSSBOT_HQ_TIER + 8: (4208,),4247    BOSSBOT_HQ_TIER + 9: (4209,),4248    BOSSBOT_HQ_TIER + 10: (4210,),4249    BOSSBOT_HQ_TIER + 11: (4211,),4250    BOSSBOT_HQ_TIER + 12: (4212,),4251    BOSSBOT_HQ_TIER + 13: (4213,),4252    BOSSBOT_HQ_TIER + 14: (4214,),4253    BOSSBOT_HQ_TIER + 15: (4215,),4254    BOSSBOT_HQ_TIER + 16: (4216,),4255    ELDER_TIER: (4000, 4001, 4002, 4003, 4004, 4005, 4006, 4007, 4008, 4009, 4010, 4011) }4256OptionalRewardTrackDict = {4257    TT_TIER: (),4258    TT_TIER + 1: (),4259    TT_TIER + 2: (1000, 601, 601, 602, 602, 2205, 2206, 2205, 2206),4260    TT_TIER + 3: (601, 601, 602, 602, 2205, 2206, 2205, 2206),4261    DD_TIER: (1000, 602, 602, 603, 603, 2101, 2102, 2105, 2106),4262    DD_TIER + 1: (1000, 602, 602, 603, 603, 2101, 2102, 2105, 2106),4263    DD_TIER + 2: (1000, 602, 602, 603, 603, 2101, 2102, 2105, 2106),4264    DG_TIER: (1000, 603, 603, 604, 604, 2501, 2502, 2503, 2504, 2505, 2506),4265    MM_TIER: (1000, 604, 604, 605, 605, 2403, 2404, 2405, 2406, 2407, 2408, 2409),4266    MM_TIER + 1: (1000, 604, 604, 605, 605, 2403, 2404, 2405, 2406, 2407, 2408, 2409),4267    MM_TIER + 2: (1000, 604, 604, 605, 605, 2403, 2404, 2405, 2406, 2407, 2408, 2409),4268    BR_TIER: (1000, 606, 606, 606, 606, 606, 607, 607, 607, 607, 607, 2305, 2306, 2307, 2308, 2309, 2310, 2311),4269    BR_TIER + 1: (1000, 606, 606, 606, 606, 606, 607, 607, 607, 607, 607, 2305, 2306, 2307, 2308, 2309, 2310, 2311),4270    BR_TIER + 2: (1000, 606, 606, 606, 606, 606, 607, 607, 607, 607, 607, 2305, 2306, 2307, 2308, 2309, 2310, 2311),4271    DL_TIER: (607, 607, 607, 607, 608, 608, 608, 608, 2901, 2902, 2907, 2908, 2909, 2910, 2911),4272    DL_TIER + 1: (1000, 607, 607, 607, 607, 608, 608, 608, 608, 2923, 2924, 2927, 2928, 2929, 2930, 2931),4273    DL_TIER + 2: (608, 608, 608, 608, 609, 609, 609, 609, 2941, 2942, 2943, 2944, 2947, 2948, 2949, 2950, 2951),4274    DL_TIER + 3: (1000, 609, 609, 609, 609, 609, 609, 2961, 2962, 2963, 2964, 2965, 2966, 2967, 2968, 2969, 2970, 2971),4275    ELDER_TIER: (1000, 1000, 610, 611, 612, 613, 614, 615, 616, 617, 618, 2961, 2962, 2963, 2964, 2965, 2966, 2967, 2968, 2969, 2970, 2971) }4276def isRewardOptional(tier, rewardId):4277    return OptionalRewardTrackDict.has_key(tier) and rewardId in OptionalRewardTrackDict[tier]4278def getItemName(itemId):4279    return ItemDict[itemId][0]4280def getPluralItemName(itemId):4281    return ItemDict[itemId][1]4282def avatarHasTrolleyQuest(av):4283    return len(av.quests) == 1 and av.quests[0][0] == TROLLEY_QUEST_ID4284def avatarHasCompletedTrolleyQuest(av):4285    return av.quests[0][4] > 04286def avatarHasFirstCogQuest(av):4287    return len(av.quests) == 1 and av.quests[0][0] == FIRST_COG_QUEST_ID4288def avatarHasCompletedFirstCogQuest(av):4289    return av.quests[0][4] > 04290def avatarHasFriendQuest(av):4291    return len(av.quests) == 1 and av.quests[0][0] == FRIEND_QUEST_ID4292def avatarHasCompletedFriendQuest(av):4293    return av.quests[0][4] > 04294def avatarHasPhoneQuest(av):4295    return len(av.quests) == 1 and av.quests[0][0] == PHONE_QUEST_ID4296def avatarHasCompletedPhoneQuest(av):4297    return av.quests[0][4] > 04298def avatarWorkingOnRequiredRewards(av):4299    tier = av.getRewardTier()4300    rewardList = list(getRewardsInTier(tier))4301    for i in xrange(len(rewardList)):4302        actualRewardId = transformReward(rewardList[i], av)4303        rewardList[i] = actualRewardId4304    for questDesc in av.quests:4305        questId = questDesc[0]4306        rewardId = questDesc[3]4307        if rewardId in rewardList:4308            return 14309        elif rewardId == NA:4310            rewardId = transformReward(getFinalRewardId(questId, fAll=1), av)4311            if rewardId in rewardList:4312                return 14313    return 04314def avatarHasAllRequiredRewards(av, tier):4315    rewardHistory = list(av.getRewardHistory()[1])4316    rewardList = getRewardsInTier(tier)4317    notify.debug('checking avatarHasAllRequiredRewards: history: %s, tier: %s' % (rewardHistory, rewardList))4318    for rewardId in rewardList:4319        if rewardId == 900:4320            found = 04321            for actualRewardId in (901, 902, 903, 904, 905, 906, 907):4322                if actualRewardId in rewardHistory:4323                    found = 14324                    rewardHistory.remove(actualRewardId)4325                    if notify.getDebug():4326                        notify.debug('avatarHasAllRequiredRewards: rewardId 900 found as: %s' % actualRewardId)4327                    break4328            if not found:4329                if notify.getDebug():4330                    notify.debug('avatarHasAllRequiredRewards: rewardId 900 not found')4331                return 04332        else:4333            actualRewardId = transformReward(rewardId, av)4334            if actualRewardId in rewardHistory:4335                rewardHistory.remove(actualRewardId)4336            elif getRewardClass(rewardId) == CogSuitPartReward:4337                deptStr = RewardDict.get(rewardId)[1]4338                cogPart = RewardDict.get(rewardId)[2]4339                dept = ToontownGlobals.cogDept2index[deptStr]4340                if av.hasCogPart(cogPart, dept):4341                    if notify.getDebug():4342                        notify.debug('avatarHasAllRequiredRewards: rewardId: %s counts, avatar has cog part: %s dept: %s' % (actualRewardId, cogPart, dept))4343                else:4344                    if notify.getDebug():4345                        notify.debug('avatarHasAllRequiredRewards: CogSuitPartReward: %s not found' % actualRewardId)4346                    return 04347            else:4348                if notify.getDebug():4349                    notify.debug('avatarHasAllRequiredRewards: rewardId %s not found' % actualRewardId)4350                return 04351    if notify.getDebug():4352        notify.debug('avatarHasAllRequiredRewards: remaining rewards: %s' % rewardHistory)4353        for rewardId in rewardHistory:4354            if not isRewardOptional(tier, rewardId):4355                notify.warning('required reward found, expected only optional: %s' % rewardId)4356    return 14357def nextQuestList(nextQuest):4358    if nextQuest == NA:4359        return None4360    seqTypes = (types.ListType, types.TupleType)4361    if type(nextQuest) in seqTypes:4362        return nextQuest4363    else:4364        return (nextQuest,)4365    return None4366def checkReward(questId, forked = 0):4367    quest = QuestDict[questId]4368    reward = quest[5]4369    nextQuests = nextQuestList(quest[6])4370    if nextQuests is None:4371        validRewards = RewardDict.keys() + [Any,4372         AnyCashbotSuitPart,4373         AnyLawbotSuitPart,4374         OBSOLETE]4375        if reward is OBSOLETE:4376            print 'warning: quest %s is obsolete' % questId4377        return reward4378    else:4379        forked = forked or len(nextQuests) > 14380        firstReward = checkReward(nextQuests[0], forked)4381        for qId in nextQuests[1:]:4382            thisReward = checkReward(qId, forked)4383        return firstReward4384    return4385def assertAllQuestsValid():4386    print 'checking quests...'4387    for questId in QuestDict.keys():4388        try:4389            quest = getQuest(questId)4390        except AssertionError, e:4391            err = 'invalid quest: %s' % questId4392            print err4393            raise4394    for questId in QuestDict.keys():4395        quest = QuestDict[questId]4396        tier, start, questDesc, fromNpc, toNpc, reward, nextQuest, dialog = quest4397        if start:...fullcalendar.d.ts
Source:fullcalendar.d.ts  
1declare module 'fullcalendar/src/util' {2	import * as moment from 'moment';3	export function compensateScroll(rowEls: any, scrollbarWidths: any): void;4	export function uncompensateScroll(rowEls: any): void;5	export function disableCursor(): void;6	export function enableCursor(): void;7	export function distributeHeight(els: any, availableHeight: any, shouldRedistribute: any): void;8	export function undistributeHeight(els: any): void;9	export function matchCellWidths(els: any): number;10	export function subtractInnerElHeight(outerEl: any, innerEl: any): any;11	export function getScrollParent(el: any): any;12	export function getOuterRect(el: any, origin?: any): {13	    left: number;14	    right: any;15	    top: number;16	    bottom: any;17	};18	export function getClientRect(el: any, origin?: any): {19	    left: number;20	    right: any;21	    top: number;22	    bottom: any;23	};24	export function getContentRect(el: any, origin: any): {25	    left: number;26	    right: any;27	    top: number;28	    bottom: any;29	};30	export function getScrollbarWidths(el: any): any;31	export function isPrimaryMouseButton(ev: any): boolean;32	export function getEvX(ev: any): any;33	export function getEvY(ev: any): any;34	export function getEvIsTouch(ev: any): boolean;35	export function preventSelection(el: any): void;36	export function allowSelection(el: any): void;37	export function preventDefault(ev: any): void;38	export function intersectRects(rect1: any, rect2: any): false | {39	    left: number;40	    right: number;41	    top: number;42	    bottom: number;43	};44	export function constrainPoint(point: any, rect: any): {45	    left: number;46	    top: number;47	};48	export function getRectCenter(rect: any): {49	    left: number;50	    top: number;51	};52	export function diffPoints(point1: any, point2: any): {53	    left: number;54	    top: number;55	};56	export function parseFieldSpecs(input: any): any[];57	export function compareByFieldSpecs(obj1: any, obj2: any, fieldSpecs: any, obj1fallback?: any, obj2fallback?: any): any;58	export function compareByFieldSpec(obj1: any, obj2: any, fieldSpec: any, obj1fallback: any, obj2fallback: any): any;59	export function flexibleCompare(a: any, b: any): number;60	export const dayIDs: string[];61	export const unitsDesc: string[];62	export function diffDayTime(a: any, b: any): moment.Duration;63	export function diffDay(a: any, b: any): moment.Duration;64	export function diffByUnit(a: any, b: any, unit: any): moment.Duration;65	export function computeGreatestUnit(start: any, end?: any): any;66	export function computeDurationGreatestUnit(duration: any, durationInput: any): any;67	export function divideRangeByDuration(start: any, end: any, dur: any): number;68	export function divideDurationByDuration(dur1: any, dur2: any): number;69	export function multiplyDuration(dur: any, n: any): moment.Duration;70	export function durationHasTime(dur: any): boolean;71	export function isNativeDate(input: any): boolean;72	export function isTimeString(str: any): boolean;73	export function log(...args: any[]): any;74	export function warn(...args: any[]): any;75	export function mergeProps(propObjs: any, complexProps?: any): {};76	export function copyOwnProps(src: any, dest: any): void;77	export function hasOwnProp(obj: any, name: any): any;78	export function applyAll(functions: any, thisObj: any, args: any): any;79	export function removeMatching(array: any, testFunc: any): number;80	export function removeExact(array: any, exactVal: any): number;81	export function isArraysEqual(a0: any, a1: any): boolean;82	export function firstDefined(...args: any[]): any;83	export function htmlEscape(s: any): string;84	export function stripHtmlEntities(text: any): any;85	export function cssToStr(cssProps: any): string;86	export function attrsToStr(attrs: any): string;87	export function capitaliseFirstLetter(str: any): any;88	export function compareNumbers(a: any, b: any): number;89	export function isInt(n: any): boolean;90	export function proxy(obj: any, methodName: any): () => any;91	export function debounce(func: any, wait: any, immediate?: boolean): () => any;92}93declare module 'fullcalendar/Mixin' {94	export class Default {95	    static mixInto(destClass: any): void;96	    static mixOver(destClass: any): void;97	}98	export default Default;99}100declare module 'fullcalendar/EmitterMixin' {101	import Mixin from 'fullcalendar/Mixin';102	export interface EmitterInterface {103	    on(types: any, handler: any): any;104	    one(types: any, handler: any): any;105	    off(types: any, handler: any): any;106	    trigger(types: any, ...args: any[]): any;107	    triggerWith(types: any, context: any, args: any): any;108	    hasHandlers(type: any): any;109	}110	export class Default extends Mixin implements EmitterInterface {111	    on(types: any, handler: any): this;112	    one(types: any, handler: any): this;113	    _prepareIntercept(handler: any): (ev: any, extra: any) => any;114	    off(types: any, handler: any): this;115	    trigger(types: any, ...args: any[]): this;116	    triggerWith(types: any, context: any, args: any): this;117	    hasHandlers(type: any): boolean;118	}119	export default Default;120}121declare module 'fullcalendar/TaskQueue' {122	import { EmitterInterface } from 'fullcalendar/EmitterMixin';123	export class Default {124	    on: EmitterInterface['on'];125	    one: EmitterInterface['one'];126	    off: EmitterInterface['off'];127	    trigger: EmitterInterface['trigger'];128	    triggerWith: EmitterInterface['triggerWith'];129	    hasHandlers: EmitterInterface['hasHandlers'];130	    q: any;131	    isPaused: boolean;132	    isRunning: boolean;133	    queue(...args: any[]): void;134	    pause(): void;135	    resume(): void;136	    getIsIdle(): boolean;137	    tryStart(): void;138	    canRunNext(): any;139	    runRemaining(): void;140	    runTask(task: any): any;141	}142	export default Default;143}144declare module 'fullcalendar/RenderQueue' {145	import TaskQueue from 'fullcalendar/TaskQueue';146	export class Default extends TaskQueue {147	    waitsByNamespace: any;148	    waitNamespace: any;149	    waitId: any;150	    constructor(waitsByNamespace: any);151	    queue(taskFunc: any, namespace: any, type: any): void;152	    startWait(namespace: any, waitMs: any): void;153	    delayWait(waitMs: any): void;154	    spawnWait(waitMs: any): void;155	    clearWait(): void;156	    canRunNext(): boolean;157	    runTask(task: any): void;158	    compoundTask(newTask: any): boolean;159	}160	export default Default;161}162declare module 'fullcalendar/src/options' {163	export const globalDefaults: {164	    titleRangeSeparator: string;165	    monthYearFormat: string;166	    defaultTimedEventDuration: string;167	    defaultAllDayEventDuration: {168	        days: number;169	    };170	    forceEventDuration: boolean;171	    nextDayThreshold: string;172	    columnHeader: boolean;173	    defaultView: string;174	    aspectRatio: number;175	    header: {176	        left: string;177	        center: string;178	        right: string;179	    };180	    weekends: boolean;181	    weekNumbers: boolean;182	    weekNumberTitle: string;183	    weekNumberCalculation: string;184	    scrollTime: string;185	    minTime: string;186	    maxTime: string;187	    showNonCurrentDates: boolean;188	    lazyFetching: boolean;189	    startParam: string;190	    endParam: string;191	    timezoneParam: string;192	    timezone: boolean;193	    locale: any;194	    isRTL: boolean;195	    buttonText: {196	        prev: string;197	        next: string;198	        prevYear: string;199	        nextYear: string;200	        year: string;201	        today: string;202	        month: string;203	        week: string;204	        day: string;205	    };206	    allDayText: string;207	    agendaEventMinHeight: number;208	    theme: boolean;209	    dragOpacity: number;210	    dragRevertDuration: number;211	    dragScroll: boolean;212	    unselectAuto: boolean;213	    dropAccept: string;214	    eventOrder: string;215	    eventLimit: boolean;216	    eventLimitText: string;217	    eventLimitClick: string;218	    dayPopoverFormat: string;219	    handleWindowResize: boolean;220	    windowResizeDelay: number;221	    longPressDelay: number;222	};223	export const englishDefaults: {224	    dayPopoverFormat: string;225	};226	export const rtlDefaults: {227	    header: {228	        left: string;229	        center: string;230	        right: string;231	    };232	    buttonIcons: {233	        prev: string;234	        next: string;235	        prevYear: string;236	        nextYear: string;237	    };238	    themeButtonIcons: {239	        prev: string;240	        next: string;241	        nextYear: string;242	        prevYear: string;243	    };244	};245	export function mergeOptions(optionObjs: any): {};246}247declare module 'fullcalendar/Iterator' {248	export class Default {249	    items: any;250	    constructor(items: any);251	    proxyCall(methodName: any, ...args: any[]): any[];252	}253	export default Default;254}255declare module 'fullcalendar/ListenerMixin' {256	import Mixin from 'fullcalendar/Mixin';257	export interface ListenerInterface {258	    listenTo(other: any, arg: any, callback?: any): any;259	    stopListeningTo(other: any, eventName?: any): any;260	}261	export class Default extends Mixin implements ListenerInterface {262	    listenerId: any;263	    listenTo(other: any, arg: any, callback?: any): void;264	    stopListeningTo(other: any, eventName?: any): void;265	    getListenerNamespace(): string;266	}267	export default Default;268}269declare module 'fullcalendar/GlobalEmitter' {270	import { EmitterInterface } from 'fullcalendar/EmitterMixin';271	import { ListenerInterface } from 'fullcalendar/ListenerMixin';272	export class Default {273	    on: EmitterInterface['on'];274	    one: EmitterInterface['one'];275	    off: EmitterInterface['off'];276	    trigger: EmitterInterface['trigger'];277	    triggerWith: EmitterInterface['triggerWith'];278	    hasHandlers: EmitterInterface['hasHandlers'];279	    listenTo: ListenerInterface['listenTo'];280	    stopListeningTo: ListenerInterface['stopListeningTo'];281	    isTouching: boolean;282	    mouseIgnoreDepth: number;283	    handleScrollProxy: (ev: Event) => void;284	    handleTouchMoveProxy: (ev: Event) => void;285	    static get(): any;286	    static needed(): void;287	    static unneeded(): void;288	    bind(): void;289	    unbind(): void;290	    handleTouchStart(ev: any): void;291	    handleTouchMove(ev: any): void;292	    handleTouchCancel(ev: any): void;293	    handleTouchEnd(ev: any): void;294	    handleMouseDown(ev: any): void;295	    handleMouseMove(ev: any): void;296	    handleMouseUp(ev: any): void;297	    handleClick(ev: any): void;298	    handleSelectStart(ev: any): void;299	    handleContextMenu(ev: any): void;300	    handleScroll(ev: any): void;301	    stopTouch(ev: any, skipMouseIgnore?: boolean): void;302	    startTouchMouseIgnore(): void;303	    shouldIgnoreMouse(): boolean;304	}305	export default Default;306}307declare module 'fullcalendar/Toolbar' {308	export class Default {309	    calendar: any;310	    toolbarOptions: any;311	    el: any;312	    viewsWithButtons: any;313	    constructor(calendar: any, toolbarOptions: any);314	    setToolbarOptions(newToolbarOptions: any): void;315	    render(): void;316	    removeElement(): void;317	    renderSection(position: any): JQuery;318	    updateTitle(text: any): void;319	    activateButton(buttonName: any): void;320	    deactivateButton(buttonName: any): void;321	    disableButton(buttonName: any): void;322	    enableButton(buttonName: any): void;323	    getViewsWithButtons(): any;324	}325	export default Default;326}327declare module 'fullcalendar/src/locale' {328	import * as moment from 'moment';329	export const localeOptionHash: {};330	export function populateInstanceComputableOptions(options: any): void;331	export function datepickerLocale(localeCode: any, dpLocaleCode: any, dpOptions: any): void;332	export function locale(localeCode: any, newFcOptions: any): void;333	export function getMomentLocaleData(localeCode: any): moment.Locale;334}335declare module 'fullcalendar/Class' {336	export class Default {337	    static extend(members: any): any;338	    static mixin(members: any): void;339	}340	export default Default;341}342declare module 'fullcalendar/Model' {343	import Class from 'fullcalendar/Class';344	import { EmitterInterface } from 'fullcalendar/EmitterMixin';345	import { ListenerInterface } from 'fullcalendar/ListenerMixin';346	export class Default extends Class {347	    on: EmitterInterface['on'];348	    one: EmitterInterface['one'];349	    off: EmitterInterface['off'];350	    trigger: EmitterInterface['trigger'];351	    triggerWith: EmitterInterface['triggerWith'];352	    hasHandlers: EmitterInterface['hasHandlers'];353	    listenTo: ListenerInterface['listenTo'];354	    stopListeningTo: ListenerInterface['stopListeningTo'];355	    _props: any;356	    _watchers: any;357	    _globalWatchArgs: any;358	    constructor();359	    static watch(name: any, ...args: any[]): void;360	    constructed(): void;361	    applyGlobalWatchers(): void;362	    has(name: any): boolean;363	    get(name: any): any;364	    set(name: any, val: any): void;365	    reset(newProps: any): void;366	    unset(name: any): void;367	    setProps(newProps: any): void;368	    watch(name: any, depList: any, startFunc: any, stopFunc?: any): void;369	    unwatch(name: any): void;370	    _watchDeps(depList: any, startFunc: any, stopFunc: any): {371	        teardown: () => void;372	        flash: () => void;373	    };374	    flash(name: any): void;375	}376	export default Default;377}378declare module 'fullcalendar/OptionsManager' {379	import Model from 'fullcalendar/Model';380	export class Default extends Model {381	    _calendar: any;382	    dirDefaults: any;383	    localeDefaults: any;384	    overrides: any;385	    dynamicOverrides: any;386	    constructor(_calendar: any, overrides: any);387	    add(newOptionHash: any): void;388	    compute(): void;389	    recordOverrides(newOptionHash: any): void;390	}391	export default Default;392}393declare module 'fullcalendar/ViewRegistry' {394	export const viewHash: {};395	export function defineView(viewName: any, viewConfig: any): void;396	export function getViewConfig(viewName: any): any;397}398declare module 'fullcalendar/ViewSpecManager' {399	export class Default {400	    _calendar: any;401	    optionsManager: any;402	    viewSpecCache: any;403	    constructor(optionsManager: any, _calendar: any);404	    clearCache(): void;405	    getViewSpec(viewType: any): any;406	    getUnitViewSpec(unit: any): any;407	    buildViewSpec(requestedViewType: any): any;408	    buildViewSpecOptions(spec: any): void;409	    buildViewSpecButtonText(spec: any, requestedViewType: any): void;410	}411	export default Default;412}413declare module 'fullcalendar/Theme' {414	export class Default {415	    optionsManager: any;416	    classes: any;417	    iconClasses: any;418	    baseIconClass: string;419	    iconOverrideOption: any;420	    iconOverrideCustomButtonOption: any;421	    iconOverridePrefix: string;422	    constructor(optionsManager: any);423	    processIconOverride(): void;424	    setIconOverride(iconOverrideHash: any): void;425	    applyIconOverridePrefix(className: any): any;426	    getClass(key: any): any;427	    getIconClass(buttonName: any): string;428	    getCustomButtonIconClass(customButtonProps: any): string;429	}430	export default Default;431}432declare module 'fullcalendar/src/moment-ext' {433	import * as moment from 'moment'; module 'moment' {434	    interface Moment {435	        hasTime(): boolean;436	        time(): moment.Duration;437	        stripZone(): any;438	        stripTime(): any;439	    }440	} let newMomentProto: any; let oldMomentProto: any; function oldMomentFormat(mom: any, formatStr?: any): any;441	export { newMomentProto, oldMomentProto, oldMomentFormat }; const momentExt: any;442	export default momentExt;443}444declare module 'fullcalendar/UnzonedRange' {445	export class Default {446	    startMs: number;447	    endMs: number;448	    isStart: boolean;449	    isEnd: boolean;450	    constructor(startInput?: any, endInput?: any);451	    static invertRanges(ranges: any, constraintRange: any): any[];452	    intersect(otherRange: any): any;453	    intersectsWith(otherRange: any): boolean;454	    containsRange(innerRange: any): boolean;455	    containsDate(date: any): boolean;456	    constrainDate(date: any): any;457	    equals(otherRange: any): boolean;458	    clone(): Default;459	    getStart(): any;460	    getEnd(): any;461	    as(unit: any): number;462	}463	export default Default;464}465declare module 'fullcalendar/ComponentFootprint' {466	export class Default {467	    unzonedRange: any;468	    isAllDay: boolean;469	    constructor(unzonedRange: any, isAllDay: any);470	    toLegacy(calendar: any): {471	        start: any;472	        end: any;473	    };474	}475	export default Default;476}477declare module 'fullcalendar/EventFootprint' {478	export class Default {479	    componentFootprint: any;480	    eventDef: any;481	    eventInstance: any;482	    constructor(componentFootprint: any, eventDef: any, eventInstance: any);483	    getEventLegacy(): any;484	}485	export default Default;486}487declare module 'fullcalendar/ParsableModelMixin' {488	import Mixin from 'fullcalendar/Mixin';489	export interface ParsableModelInterface {490	    applyProps(rawProps: any): any;491	    applyManualStandardProps(rawProps: any): any;492	    applyMiscProps(rawProps: any): any;493	    isStandardProp(propName: any): any;494	}495	export class Default extends Mixin implements ParsableModelInterface {496	    standardPropMap: any;497	    static defineStandardProps(propDefs: any): void;498	    static copyVerbatimStandardProps(src: any, dest: any): void;499	    applyProps(rawProps: any): boolean;500	    applyManualStandardProps(rawProps: any): boolean;501	    applyMiscProps(rawProps: any): void;502	    isStandardProp(propName: any): boolean;503	}504	export default Default;505}506declare module 'fullcalendar/EventDef' {507	import { default as ParsableModelMixin, ParsableModelInterface } from 'fullcalendar/ParsableModelMixin';508	export abstract class Default {509	    static uuid: number;510	    static defineStandardProps: typeof ParsableModelMixin.defineStandardProps;511	    static copyVerbatimStandardProps: typeof ParsableModelMixin.copyVerbatimStandardProps;512	    applyProps: ParsableModelInterface['applyProps'];513	    isStandardProp: ParsableModelInterface['isStandardProp'];514	    source: any;515	    id: any;516	    rawId: any;517	    uid: any;518	    title: any;519	    url: any;520	    rendering: any;521	    constraint: any;522	    overlap: any;523	    editable: any;524	    startEditable: any;525	    durationEditable: any;526	    color: any;527	    backgroundColor: any;528	    borderColor: any;529	    textColor: any;530	    className: any;531	    miscProps: any;532	    constructor(source: any);533	    static parse(rawInput: any, source: any): any;534	    static normalizeId(id: any): string;535	    static generateId(): string;536	    abstract isAllDay(): any;537	    abstract buildInstances(unzonedRange: any): any;538	    clone(): any;539	    hasInverseRendering(): boolean;540	    hasBgRendering(): boolean;541	    getRendering(): any;542	    getConstraint(): any;543	    getOverlap(): any;544	    isStartExplicitlyEditable(): any;545	    isDurationExplicitlyEditable(): any;546	    isExplicitlyEditable(): any;547	    toLegacy(): any;548	    applyManualStandardProps(rawProps: any): boolean;549	    applyMiscProps(rawProps: any): void;550	}551	export default Default;552}553declare module 'fullcalendar/EventInstance' {554	export class Default {555	    def: any;556	    dateProfile: any;557	    constructor(def: any, dateProfile: any);558	    toLegacy(): any;559	}560	export default Default;561}562declare module 'fullcalendar/EventDateProfile' {563	import UnzonedRange from 'fullcalendar/UnzonedRange';564	export class Default {565	    start: any;566	    end: any;567	    unzonedRange: any;568	    constructor(start: any, end: any, calendar: any);569	    static parse(rawProps: any, source: any): false | Default;570	    static isStandardProp(propName: any): boolean;571	    isAllDay(): boolean;572	    buildUnzonedRange(calendar: any): UnzonedRange;573	    getEnd(calendar: any): any;574	}575	export default Default;576}577declare module 'fullcalendar/SingleEventDef' {578	import EventDef from 'fullcalendar/EventDef';579	import EventInstance from 'fullcalendar/EventInstance';580	export class Default extends EventDef {581	    dateProfile: any;582	    buildInstances(): EventInstance[];583	    buildInstance(): EventInstance;584	    isAllDay(): any;585	    clone(): any;586	    rezone(): void;587	    applyManualStandardProps(rawProps: any): boolean;588	}589	export default Default;590}591declare module 'fullcalendar/RecurringEventDef' {592	import EventDef from 'fullcalendar/EventDef';593	export class Default extends EventDef {594	    startTime: any;595	    endTime: any;596	    dowHash: any;597	    isAllDay(): boolean;598	    buildInstances(unzonedRange: any): any[];599	    setDow(dowNumbers: any): void;600	    clone(): any;601	}602	export default Default;603}604declare module 'fullcalendar/EventDefParser' {605	 const _default: {606	    parse: (eventInput: any, source: any) => any;607	};608	export default _default;609}610declare module 'fullcalendar/EventSource' {611	import { default as ParsableModelMixin, ParsableModelInterface } from 'fullcalendar/ParsableModelMixin';612	import Class from 'fullcalendar/Class';613	import Calendar from 'fullcalendar/Calendar';614	export class Default extends Class {615	    static uuid: number;616	    static defineStandardProps: typeof ParsableModelMixin.defineStandardProps;617	    static copyVerbatimStandardProps: typeof ParsableModelMixin.copyVerbatimStandardProps;618	    applyProps: ParsableModelInterface['applyProps'];619	    isStandardProp: ParsableModelInterface['isStandardProp'];620	    calendar: Calendar;621	    id: string;622	    uid: string;623	    color: string;624	    backgroundColor: string;625	    borderColor: string;626	    textColor: string;627	    className: string[];628	    editable: boolean;629	    startEditable: boolean;630	    durationEditable: boolean;631	    rendering: string | null;632	    overlap: boolean;633	    constraint: any;634	    allDayDefault: boolean;635	    eventDataTransform: any;636	    constructor(calendar: any);637	    static parse(rawInput: any, calendar: any): false | Default;638	    static normalizeId(id: any): string;639	    fetch(start: any, end: any, timezone: any): void;640	    removeEventDefsById(eventDefId: any): void;641	    removeAllEventDefs(): void;642	    getPrimitive(otherSource: any): void;643	    parseEventDefs(rawEventDefs: any): any[];644	    parseEventDef(rawInput: any): any;645	    applyManualStandardProps(rawProps: any): boolean;646	}647	export default Default;648}649declare module 'fullcalendar/EventRange' {650	export class Default {651	    unzonedRange: any;652	    eventDef: any;653	    eventInstance: any;654	    constructor(unzonedRange: any, eventDef: any, eventInstance?: any);655	}656	export default Default;657}658declare module 'fullcalendar/src/models/event/util' {659	import EventRange from 'fullcalendar/EventRange';660	import EventFootprint from 'fullcalendar/EventFootprint';661	export function eventDefsToEventInstances(eventDefs: any, unzonedRange: any): any[];662	export function eventInstanceToEventRange(eventInstance: any): EventRange;663	export function eventRangeToEventFootprint(eventRange: any): EventFootprint;664	export function eventInstanceToUnzonedRange(eventInstance: any): any;665	export function eventFootprintToComponentFootprint(eventFootprint: any): any;666}667declare module 'fullcalendar/Constraints' {668	import ComponentFootprint from 'fullcalendar/ComponentFootprint';669	import EventFootprint from 'fullcalendar/EventFootprint';670	export class Default {671	    eventManager: any;672	    _calendar: any;673	    constructor(eventManager: any, _calendar: any);674	    opt(name: any): any;675	    isEventInstanceGroupAllowed(eventInstanceGroup: any): boolean;676	    getPeerEventInstances(eventDef: any): any;677	    isSelectionFootprintAllowed(componentFootprint: any): boolean;678	    isFootprintAllowed(componentFootprint: any, peerEventFootprints: any, constraintVal: any, overlapVal: any, subjectEventInstance?: any): boolean;679	    isFootprintWithinConstraints(componentFootprint: any, constraintFootprints: any): boolean;680	    constraintValToFootprints(constraintVal: any, isAllDay: any): any[];681	    buildCurrentBusinessFootprints(isAllDay: any): any[];682	    eventInstancesToFootprints(eventInstances: any): any[];683	    collectOverlapEventFootprints(peerEventFootprints: any, targetFootprint: any): any[];684	    parseEventDefToInstances(eventInput: any): any;685	    eventRangesToEventFootprints(eventRanges: any): any[];686	    eventRangeToEventFootprints(eventRange: any): EventFootprint[];687	    parseFootprints(rawInput: any): ComponentFootprint[];688	    footprintContainsFootprint(outerFootprint: any, innerFootprint: any): any;689	    footprintsIntersect(footprint0: any, footprint1: any): any;690	}691	export default Default;692}693declare module 'fullcalendar/Promise' {694	 const PromiseStub: {695	    construct: (executor: any) => JQueryPromise<{}>;696	    resolve: (val: any) => JQueryPromise<{}>;697	    reject: () => JQueryPromise<{}>;698	};699	export default PromiseStub;700}701declare module 'fullcalendar/EventInstanceGroup' {702	export class Default {703	    eventInstances: any;704	    explicitEventDef: any;705	    constructor(eventInstances?: any);706	    getAllEventRanges(constraintRange: any): any;707	    sliceRenderRanges(constraintRange: any): any;708	    sliceNormalRenderRanges(constraintRange: any): any[];709	    sliceInverseRenderRanges(constraintRange: any): any;710	    isInverse(): any;711	    getEventDef(): any;712	}713	export default Default;714}715declare module 'fullcalendar/EventPeriod' {716	/// <reference types="jquery" />717	import * as moment from 'moment';718	import { EmitterInterface } from 'fullcalendar/EmitterMixin';719	import UnzonedRange from 'fullcalendar/UnzonedRange';720	export class Default {721	    on: EmitterInterface['on'];722	    one: EmitterInterface['one'];723	    off: EmitterInterface['off'];724	    trigger: EmitterInterface['trigger'];725	    triggerWith: EmitterInterface['triggerWith'];726	    hasHandlers: EmitterInterface['hasHandlers'];727	    start: moment.Moment;728	    end: moment.Moment;729	    timezone: any;730	    unzonedRange: UnzonedRange;731	    requestsByUid: any;732	    pendingCnt: number;733	    freezeDepth: number;734	    stuntedReleaseCnt: number;735	    releaseCnt: number;736	    eventDefsByUid: any;737	    eventDefsById: any;738	    eventInstanceGroupsById: any;739	    constructor(start: any, end: any, timezone: any);740	    isWithinRange(start: any, end: any): boolean;741	    requestSources(sources: any): void;742	    requestSource(source: any): void;743	    purgeSource(source: any): void;744	    purgeAllSources(): void;745	    getEventDefByUid(eventDefUid: any): any;746	    getEventDefsById(eventDefId: any): any;747	    addEventDefs(eventDefs: any): void;748	    addEventDef(eventDef: any): void;749	    removeEventDefsById(eventDefId: any): void;750	    removeAllEventDefs(): void;751	    removeEventDef(eventDef: any): void;752	    getEventInstances(): any[];753	    getEventInstancesWithId(eventDefId: any): any;754	    getEventInstancesWithoutId(eventDefId: any): any[];755	    addEventInstance(eventInstance: any, eventDefId: any): void;756	    removeEventInstancesForDef(eventDef: any): void;757	    tryRelease(): void;758	    release(): void;759	    whenReleased(): JQueryPromise<{}>;760	    freeze(): void;761	    thaw(): void;762	}763	export default Default;764}765declare module 'fullcalendar/ArrayEventSource' {766	/// <reference types="jquery" />767	import EventSource from 'fullcalendar/EventSource';768	export class Default extends EventSource {769	    rawEventDefs: any;770	    eventDefs: any;771	    currentTimezone: any;772	    constructor(calendar: any);773	    static parse(rawInput: any, calendar: any): any;774	    setRawEventDefs(rawEventDefs: any): void;775	    fetch(start: any, end: any, timezone: any): JQueryPromise<{}>;776	    addEventDef(eventDef: any): void;777	    removeEventDefsById(eventDefId: any): number;778	    removeAllEventDefs(): void;779	    getPrimitive(): any;780	    applyManualStandardProps(rawProps: any): boolean;781	}782	export default Default;783}784declare module 'fullcalendar/EventSourceParser' {785	 const _default: {786	    sourceClasses: any[];787	    registerClass: (EventSourceClass: any) => void;788	    parse: (rawInput: any, calendar: any) => any;789	};790	export default _default;791}792declare module 'fullcalendar/EventManager' {793	import EventInstanceGroup from 'fullcalendar/EventInstanceGroup';794	import { EmitterInterface } from 'fullcalendar/EmitterMixin';795	import { ListenerInterface } from 'fullcalendar/ListenerMixin';796	export class Default {797	    on: EmitterInterface['on'];798	    one: EmitterInterface['one'];799	    off: EmitterInterface['off'];800	    trigger: EmitterInterface['trigger'];801	    triggerWith: EmitterInterface['triggerWith'];802	    hasHandlers: EmitterInterface['hasHandlers'];803	    listenTo: ListenerInterface['listenTo'];804	    stopListeningTo: ListenerInterface['stopListeningTo'];805	    currentPeriod: any;806	    calendar: any;807	    stickySource: any;808	    otherSources: any;809	    constructor(calendar: any);810	    requestEvents(start: any, end: any, timezone: any, force: any): any;811	    addSource(eventSource: any): void;812	    removeSource(doomedSource: any): void;813	    removeAllSources(): void;814	    refetchSource(eventSource: any): void;815	    refetchAllSources(): void;816	    getSources(): any[];817	    multiQuerySources(matchInputs: any): any[];818	    querySources(matchInput: any): any[];819	    getSourceById(id: any): any;820	    setPeriod(eventPeriod: any): void;821	    bindPeriod(eventPeriod: any): void;822	    unbindPeriod(eventPeriod: any): void;823	    getEventDefByUid(uid: any): any;824	    addEventDef(eventDef: any, isSticky: any): void;825	    removeEventDefsById(eventId: any): void;826	    removeAllEventDefs(): void;827	    mutateEventsWithId(eventDefId: any, eventDefMutation: any): () => void;828	    buildMutatedEventInstanceGroup(eventDefId: any, eventDefMutation: any): EventInstanceGroup;829	    freeze(): void;830	    thaw(): void;831	    getEventDefsById(eventDefId: any): any;832	    getEventInstances(): any;833	    getEventInstancesWithId(eventDefId: any): any;834	    getEventInstancesWithoutId(eventDefId: any): any;835	}836	export default Default;837}838declare module 'fullcalendar/BusinessHourGenerator' {839	export class Default {840	    rawComplexDef: any;841	    calendar: any;842	    constructor(rawComplexDef: any, calendar: any);843	    buildEventInstanceGroup(isAllDay: any, unzonedRange: any): any;844	    buildEventDefs(isAllDay: any): any[];845	    buildEventDef(isAllDay: any, rawDef: any): any;846	}847	export default Default;848}849declare module 'fullcalendar/EventDefDateMutation' {850	import EventDateProfile from 'fullcalendar/EventDateProfile';851	export class Default {852	    clearEnd: boolean;853	    forceTimed: boolean;854	    forceAllDay: boolean;855	    dateDelta: any;856	    startDelta: any;857	    endDelta: any;858	    static createFromDiff(dateProfile0: any, dateProfile1: any, largeUnit: any): any;859	    buildNewDateProfile(eventDateProfile: any, calendar: any): EventDateProfile;860	    setDateDelta(dateDelta: any): void;861	    setStartDelta(startDelta: any): void;862	    setEndDelta(endDelta: any): void;863	    isEmpty(): boolean;864	}865	export default Default;866}867declare module 'fullcalendar/EventDefMutation' {868	export class Default {869	    dateMutation: any;870	    eventDefId: any;871	    className: any;872	    verbatimStandardProps: any;873	    miscProps: any;874	    static createFromRawProps(eventInstance: any, rawProps: any, largeUnit: any): any;875	    mutateSingle(eventDef: any): () => void;876	    setDateMutation(dateMutation: any): void;877	    isEmpty(): boolean;878	}879	export default Default;880}881declare module 'fullcalendar/StandardTheme' {882	import Theme from 'fullcalendar/Theme';883	export class Default extends Theme {884	}885	export default Default;886}887declare module 'fullcalendar/JqueryUiTheme' {888	import Theme from 'fullcalendar/Theme';889	export class Default extends Theme {890	}891	export default Default;892}893declare module 'fullcalendar/ThemeRegistry' {894	export function defineThemeSystem(themeName: any, themeClass: any): void;895	export function getThemeSystemClass(themeSetting: any): any;896}897declare module 'fullcalendar/Calendar' {898	/// <reference types="jquery" />899	import * as moment from 'moment';900	import Iterator from 'fullcalendar/Iterator';901	import { EmitterInterface } from 'fullcalendar/EmitterMixin';902	import { ListenerInterface } from 'fullcalendar/ListenerMixin';903	import Toolbar from 'fullcalendar/Toolbar';904	import OptionsManager from 'fullcalendar/OptionsManager';905	import ViewSpecManager from 'fullcalendar/ViewSpecManager';906	import View from 'fullcalendar/View';907	import Theme from 'fullcalendar/Theme';908	import Constraints from 'fullcalendar/Constraints';909	import UnzonedRange from 'fullcalendar/UnzonedRange';910	import ComponentFootprint from 'fullcalendar/ComponentFootprint';911	import EventDateProfile from 'fullcalendar/EventDateProfile';912	import EventManager from 'fullcalendar/EventManager';913	import BusinessHourGenerator from 'fullcalendar/BusinessHourGenerator';914	import EventSource from 'fullcalendar/EventSource';915	import { RangeInput, MomentInput, OptionsInput, EventObjectInput, EventSourceInput } from 'fullcalendar/src/types/input-types';916	export class Default {917	    static defaults: any;918	    static englishDefaults: any;919	    static rtlDefaults: any;920	    on: EmitterInterface['on'];921	    one: EmitterInterface['one'];922	    off: EmitterInterface['off'];923	    trigger: EmitterInterface['trigger'];924	    triggerWith: EmitterInterface['triggerWith'];925	    hasHandlers: EmitterInterface['hasHandlers'];926	    listenTo: ListenerInterface['listenTo'];927	    stopListeningTo: ListenerInterface['stopListeningTo'];928	    view: View;929	    viewsByType: {930	        [viewName: string]: View;931	    };932	    currentDate: moment.Moment;933	    theme: Theme;934	    eventManager: EventManager;935	    constraints: Constraints;936	    optionsManager: OptionsManager;937	    viewSpecManager: ViewSpecManager;938	    businessHourGenerator: BusinessHourGenerator;939	    loadingLevel: number;940	    defaultAllDayEventDuration: moment.Duration;941	    defaultTimedEventDuration: moment.Duration;942	    localeData: object;943	    el: JQuery;944	    contentEl: JQuery;945	    suggestedViewHeight: number;946	    ignoreUpdateViewSize: number;947	    freezeContentHeightDepth: number;948	    windowResizeProxy: any;949	    header: Toolbar;950	    footer: Toolbar;951	    toolbarsManager: Iterator;952	    constructor(el: JQuery, overrides: OptionsInput);953	    constructed(): void;954	    getView(): View;955	    publiclyTrigger(name: string, triggerInfo: any): any;956	    hasPublicHandlers(name: string): boolean;957	    option(name: string | object, value?: any): any;958	    opt(name: string): any;959	    instantiateView(viewType: string): View;960	    isValidViewType(viewType: string): boolean;961	    changeView(viewName: string, dateOrRange: RangeInput | MomentInput): void;962	    zoomTo(newDate: moment.Moment, viewType?: string): void;963	    initCurrentDate(): void;964	    prev(): void;965	    next(): void;966	    prevYear(): void;967	    nextYear(): void;968	    today(): void;969	    gotoDate(zonedDateInput: any): void;970	    incrementDate(delta: any): void;971	    getDate(): moment.Moment;972	    pushLoading(): void;973	    popLoading(): void;974	    render(): void;975	    initialRender(): void;976	    destroy(): void;977	    elementVisible(): boolean;978	    bindViewHandlers(view: any): void;979	    unbindViewHandlers(view: any): void;980	    renderView(viewType?: string): void;981	    clearView(): void;982	    reinitView(): void;983	    getSuggestedViewHeight(): number;984	    isHeightAuto(): boolean;985	    updateViewSize(isResize?: boolean): boolean;986	    calcSize(): void;987	    _calcSize(): void;988	    windowResize(ev: JQueryEventObject): void;989	    freezeContentHeight(): void;990	    forceFreezeContentHeight(): void;991	    thawContentHeight(): void;992	    initToolbars(): void;993	    computeHeaderOptions(): {994	        extraClasses: string;995	        layout: any;996	    };997	    computeFooterOptions(): {998	        extraClasses: string;999	        layout: any;1000	    };1001	    renderHeader(): void;1002	    renderFooter(): void;1003	    setToolbarsTitle(title: string): void;1004	    updateToolbarButtons(dateProfile: any): void;1005	    queryToolbarsHeight(): any;1006	    select(zonedStartInput: MomentInput, zonedEndInput?: MomentInput): void;1007	    unselect(): void;1008	    buildSelectFootprint(zonedStartInput: MomentInput, zonedEndInput?: MomentInput): ComponentFootprint;1009	    initMomentInternals(): void;1010	    moment(...args: any[]): moment.Moment;1011	    msToMoment(ms: number, forceAllDay: boolean): moment.Moment;1012	    msToUtcMoment(ms: number, forceAllDay: boolean): moment.Moment;1013	    localizeMoment(mom: any): void;1014	    getIsAmbigTimezone(): boolean;1015	    applyTimezone(date: moment.Moment): moment.Moment;1016	    footprintToDateProfile(componentFootprint: any, ignoreEnd?: boolean): EventDateProfile;1017	    getNow(): moment.Moment;1018	    humanizeDuration(duration: moment.Duration): string;1019	    parseUnzonedRange(rangeInput: RangeInput): UnzonedRange;1020	    initEventManager(): void;1021	    requestEvents(start: moment.Moment, end: moment.Moment): any;1022	    getEventEnd(event: any): moment.Moment;1023	    getDefaultEventEnd(allDay: boolean, zonedStart: moment.Moment): moment.Moment;1024	    rerenderEvents(): void;1025	    refetchEvents(): void;1026	    renderEvents(eventInputs: EventObjectInput[], isSticky?: boolean): void;1027	    renderEvent(eventInput: EventObjectInput, isSticky?: boolean): void;1028	    removeEvents(legacyQuery: any): void;1029	    clientEvents(legacyQuery: any): any;1030	    updateEvents(eventPropsArray: EventObjectInput[]): void;1031	    updateEvent(eventProps: EventObjectInput): void;1032	    getEventSources(): EventSource;1033	    getEventSourceById(id: any): EventSource;1034	    addEventSource(sourceInput: EventSourceInput): void;1035	    removeEventSources(sourceMultiQuery: any): void;1036	    removeEventSource(sourceQuery: any): void;1037	    refetchEventSources(sourceMultiQuery: any): void;1038	}1039	export default Default;1040}1041declare module 'fullcalendar/DateProfileGenerator' {1042	import * as moment from 'moment';1043	import UnzonedRange from 'fullcalendar/UnzonedRange';1044	export class Default {1045	    _view: any;1046	    constructor(_view: any);1047	    opt(name: any): any;1048	    trimHiddenDays(unzonedRange: any): any;1049	    msToUtcMoment(ms: any, forceAllDay: any): any;1050	    buildPrev(currentDateProfile: any): {1051	        validUnzonedRange: any;1052	        currentUnzonedRange: any;1053	        currentRangeUnit: any;1054	        isRangeAllDay: any;1055	        activeUnzonedRange: any;1056	        renderUnzonedRange: any;1057	        minTime: any;1058	        maxTime: any;1059	        isValid: any;1060	        date: any;1061	        dateIncrement: any;1062	    };1063	    buildNext(currentDateProfile: any): {1064	        validUnzonedRange: any;1065	        currentUnzonedRange: any;1066	        currentRangeUnit: any;1067	        isRangeAllDay: any;1068	        activeUnzonedRange: any;1069	        renderUnzonedRange: any;1070	        minTime: any;1071	        maxTime: any;1072	        isValid: any;1073	        date: any;1074	        dateIncrement: any;1075	    };1076	    build(date: any, direction: any, forceToValid?: boolean): {1077	        validUnzonedRange: any;1078	        currentUnzonedRange: any;1079	        currentRangeUnit: any;1080	        isRangeAllDay: any;1081	        activeUnzonedRange: any;1082	        renderUnzonedRange: any;1083	        minTime: any;1084	        maxTime: any;1085	        isValid: any;1086	        date: any;1087	        dateIncrement: any;1088	    };1089	    buildValidRange(): any;1090	    buildCurrentRangeInfo(date: any, direction: any): {1091	        duration: any;1092	        unit: any;1093	        unzonedRange: any;1094	    };1095	    getFallbackDuration(): moment.Duration;1096	    adjustActiveRange(unzonedRange: any, minTime: any, maxTime: any): UnzonedRange;1097	    buildRangeFromDuration(date: any, direction: any, duration: any, unit: any): any;1098	    buildRangeFromDayCount(date: any, direction: any, dayCount: any): UnzonedRange;1099	    buildCustomVisibleRange(date: any): any;1100	    buildRenderRange(currentUnzonedRange: any, currentRangeUnit: any, isRangeAllDay: any): any;1101	    buildDateIncrement(fallback: any): any;1102	}1103	export default Default;1104}1105declare module 'fullcalendar/src/date-formatting' {1106	export function formatDate(date: any, formatStr: any): any;1107	export function formatRange(date1: any, date2: any, formatStr: any, separator: any, isRTL: any): any;1108	export function queryMostGranularFormatUnit(formatStr: any): any;1109}1110declare module 'fullcalendar/Component' {1111	import Model from 'fullcalendar/Model';1112	export class Default extends Model {1113	    el: any;1114	    setElement(el: any): void;1115	    removeElement(): void;1116	    bindGlobalHandlers(): void;1117	    unbindGlobalHandlers(): void;1118	    renderSkeleton(): void;1119	    unrenderSkeleton(): void;1120	}1121	export default Default;1122}1123declare module 'fullcalendar/DateComponent' {1124	import Component from 'fullcalendar/Component';1125	import EventFootprint from 'fullcalendar/EventFootprint';1126	export abstract class Default extends Component {1127	    static guid: number;1128	    eventRendererClass: any;1129	    helperRendererClass: any;1130	    businessHourRendererClass: any;1131	    fillRendererClass: any;1132	    uid: any;1133	    childrenByUid: any;1134	    isRTL: boolean;1135	    nextDayThreshold: any;1136	    dateProfile: any;1137	    eventRenderer: any;1138	    helperRenderer: any;1139	    businessHourRenderer: any;1140	    fillRenderer: any;1141	    hitsNeededDepth: number;1142	    hasAllDayBusinessHours: boolean;1143	    isDatesRendered: boolean;1144	    constructor(_view?: any, _options?: any);1145	    addChild(child: any): boolean;1146	    removeChild(child: any): boolean;1147	    updateSize(totalHeight: any, isAuto: any, isResize: any): void;1148	    opt(name: any): any;1149	    publiclyTrigger(...args: any[]): any;1150	    hasPublicHandlers(...args: any[]): any;1151	    executeDateRender(dateProfile: any): void;1152	    executeDateUnrender(): void;1153	    renderDates(dateProfile: any): void;1154	    unrenderDates(): void;1155	    getNowIndicatorUnit(): void;1156	    renderNowIndicator(date: any): void;1157	    unrenderNowIndicator(): void;1158	    renderBusinessHours(businessHourGenerator: any): void;1159	    unrenderBusinessHours(): void;1160	    executeEventRender(eventsPayload: any): void;1161	    executeEventUnrender(): void;1162	    getBusinessHourSegs(): any;1163	    getOwnBusinessHourSegs(): any;1164	    getEventSegs(): any;1165	    getOwnEventSegs(): any;1166	    triggerAfterEventsRendered(): void;1167	    triggerAfterEventSegsRendered(segs: any): void;1168	    triggerBeforeEventsDestroyed(): void;1169	    triggerBeforeEventSegsDestroyed(segs: any): void;1170	    showEventsWithId(eventDefId: any): void;1171	    hideEventsWithId(eventDefId: any): void;1172	    renderDrag(eventFootprints: any, seg: any, isTouch: any): boolean;1173	    unrenderDrag(): void;1174	    renderEventResize(eventFootprints: any, seg: any, isTouch: any): void;1175	    unrenderEventResize(): void;1176	    renderSelectionFootprint(componentFootprint: any): void;1177	    unrenderSelection(): void;1178	    renderHighlight(componentFootprint: any): void;1179	    unrenderHighlight(): void;1180	    hitsNeeded(): void;1181	    hitsNotNeeded(): void;1182	    prepareHits(): void;1183	    releaseHits(): void;1184	    queryHit(leftOffset: any, topOffset: any): any;1185	    getSafeHitFootprint(hit: any): any;1186	    getHitFootprint(hit: any): any;1187	    getHitEl(hit: any): any;1188	    eventRangesToEventFootprints(eventRanges: any): any[];1189	    eventRangeToEventFootprints(eventRange: any): EventFootprint[];1190	    eventFootprintsToSegs(eventFootprints: any): any[];1191	    eventFootprintToSegs(eventFootprint: any): any;1192	    componentFootprintToSegs(componentFootprint: any): any[];1193	    callChildren(methodName: any, args: any): void;1194	    iterChildren(func: any): void;1195	    _getCalendar(): any;1196	    _getView(): any;1197	    _getDateProfile(): any;1198	    buildGotoAnchorHtml(gotoOptions: any, attrs: any, innerHtml: any): string;1199	    getAllDayHtml(): any;1200	    getDayClasses(date: any, noThemeHighlight?: any): any[];1201	    formatRange(range: any, isAllDay: any, formatStr: any, separator: any): any;1202	    currentRangeAs(unit: any): any;1203	    computeDayRange(unzonedRange: any): {1204	        start: any;1205	        end: any;1206	    };1207	    isMultiDayRange(unzonedRange: any): boolean;1208	}1209	export default Default;1210}1211declare module 'fullcalendar/InteractiveDateComponent' {1212	import * as moment from 'moment';1213	import DateComponent from 'fullcalendar/DateComponent';1214	export abstract class Default extends DateComponent {1215	    dateClickingClass: any;1216	    dateSelectingClass: any;1217	    eventPointingClass: any;1218	    eventDraggingClass: any;1219	    eventResizingClass: any;1220	    externalDroppingClass: any;1221	    dateClicking: any;1222	    dateSelecting: any;1223	    eventPointing: any;1224	    eventDragging: any;1225	    eventResizing: any;1226	    externalDropping: any;1227	    segSelector: string;1228	    largeUnit: any;1229	    constructor(_view?: any, _options?: any);1230	    setElement(el: any): void;1231	    removeElement(): void;1232	    executeEventUnrender(): void;1233	    bindGlobalHandlers(): void;1234	    unbindGlobalHandlers(): void;1235	    bindDateHandlerToEl(el: any, name: any, handler: any): void;1236	    bindAllSegHandlersToEl(el: any): void;1237	    bindSegHandlerToEl(el: any, name: any, handler: any): void;1238	    shouldIgnoreMouse(): any;1239	    shouldIgnoreTouch(): any;1240	    shouldIgnoreEventPointing(): any;1241	    canStartSelection(seg: any, ev: any): any;1242	    canStartDrag(seg: any, ev: any): any;1243	    canStartResize(seg: any, ev: any): boolean;1244	    endInteractions(): void;1245	    isEventDefDraggable(eventDef: any): any;1246	    isEventDefStartEditable(eventDef: any): any;1247	    isEventDefGenerallyEditable(eventDef: any): any;1248	    isEventDefResizableFromStart(eventDef: any): any;1249	    isEventDefResizableFromEnd(eventDef: any): any;1250	    isEventDefResizable(eventDef: any): any;1251	    diffDates(a: any, b: any): moment.Duration;1252	    isEventInstanceGroupAllowed(eventInstanceGroup: any): any;1253	    isExternalInstanceGroupAllowed(eventInstanceGroup: any): boolean;1254	}1255	export default Default;1256}1257declare module 'fullcalendar/View' {1258	import * as moment from 'moment';1259	import RenderQueue from 'fullcalendar/RenderQueue';1260	import Calendar from 'fullcalendar/Calendar';1261	import InteractiveDateComponent from 'fullcalendar/InteractiveDateComponent';1262	import UnzonedRange from 'fullcalendar/UnzonedRange';1263	import EventInstance from 'fullcalendar/EventInstance';1264	export abstract class Default extends InteractiveDateComponent {1265	    type: string;1266	    name: string;1267	    title: string;1268	    calendar: Calendar;1269	    viewSpec: any;1270	    options: any;1271	    renderQueue: RenderQueue;1272	    batchRenderDepth: number;1273	    queuedScroll: object;1274	    isSelected: boolean;1275	    selectedEventInstance: EventInstance;1276	    eventOrderSpecs: any;1277	    isHiddenDayHash: boolean[];1278	    isNowIndicatorRendered: boolean;1279	    initialNowDate: moment.Moment;1280	    initialNowQueriedMs: number;1281	    nowIndicatorTimeoutID: any;1282	    nowIndicatorIntervalID: any;1283	    dateProfileGeneratorClass: any;1284	    dateProfileGenerator: any;1285	    usesMinMaxTime: boolean;1286	    start: moment.Moment;1287	    end: moment.Moment;1288	    intervalStart: moment.Moment;1289	    intervalEnd: moment.Moment;1290	    constructor(calendar: any, viewSpec: any);1291	    _getView(): this;1292	    opt(name: any): any;1293	    initRenderQueue(): void;1294	    onRenderQueueStart(): void;1295	    onRenderQueueStop(): void;1296	    startBatchRender(): void;1297	    stopBatchRender(): void;1298	    requestRender(func: any, namespace: any, actionType: any): void;1299	    whenSizeUpdated(func: any): void;1300	    computeTitle(dateProfile: any): any;1301	    computeTitleFormat(dateProfile: any): any;1302	    setDate(date: any): void;1303	    unsetDate(): void;1304	    fetchInitialEvents(dateProfile: any): any;1305	    bindEventChanges(): void;1306	    unbindEventChanges(): void;1307	    setEvents(eventsPayload: any): void;1308	    unsetEvents(): void;1309	    resetEvents(eventsPayload: any): void;1310	    requestDateRender(dateProfile: any): void;1311	    requestDateUnrender(): void;1312	    executeDateRender(dateProfile: any): void;1313	    executeDateUnrender(): void;1314	    bindBaseRenderHandlers(): void;1315	    triggerViewRender(): void;1316	    triggerViewDestroy(): void;1317	    requestEventsRender(eventsPayload: any): void;1318	    requestEventsUnrender(): void;1319	    requestBusinessHoursRender(businessHourGenerator: any): void;1320	    requestBusinessHoursUnrender(): void;1321	    bindGlobalHandlers(): void;1322	    unbindGlobalHandlers(): void;1323	    startNowIndicator(): void;1324	    updateNowIndicator(): void;1325	    stopNowIndicator(): void;1326	    updateSize(totalHeight: any, isAuto: any, isResize: any): void;1327	    addScroll(scroll: any): void;1328	    popScroll(): void;1329	    applyQueuedScroll(): void;1330	    queryScroll(): {};1331	    applyScroll(scroll: any): void;1332	    computeInitialDateScroll(): {};1333	    queryDateScroll(): {};1334	    applyDateScroll(scroll: any): void;1335	    reportEventDrop(eventInstance: any, eventMutation: any, el: any, ev: any): void;1336	    triggerEventDrop(eventInstance: any, dateDelta: any, undoFunc: any, el: any, ev: any): void;1337	    reportExternalDrop(singleEventDef: any, isEvent: any, isSticky: any, el: any, ev: any, ui: any): void;1338	    triggerExternalDrop(singleEventDef: any, isEvent: any, el: any, ev: any, ui: any): void;1339	    reportEventResize(eventInstance: any, eventMutation: any, el: any, ev: any): void;1340	    triggerEventResize(eventInstance: any, durationDelta: any, undoFunc: any, el: any, ev: any): void;1341	    select(footprint: any, ev?: any): void;1342	    renderSelectionFootprint(footprint: any): void;1343	    reportSelection(footprint: any, ev?: any): void;1344	    triggerSelect(footprint: any, ev?: any): void;1345	    unselect(ev?: any): void;1346	    selectEventInstance(eventInstance: any): void;1347	    unselectEventInstance(): void;1348	    isEventDefSelected(eventDef: any): boolean;1349	    handleDocumentMousedown(ev: any): void;1350	    processUnselect(ev: any): void;1351	    processRangeUnselect(ev: any): void;1352	    processEventUnselect(ev: any): void;1353	    triggerBaseRendered(): void;1354	    triggerBaseUnrendered(): void;1355	    triggerDayClick(footprint: any, dayEl: any, ev: any): void;1356	    isDateInOtherMonth(date: any, dateProfile: any): boolean;1357	    getUnzonedRangeOption(name: any): UnzonedRange;1358	    initHiddenDays(): void;1359	    trimHiddenDays(inputUnzonedRange: any): UnzonedRange;1360	    isHiddenDay(day: any): boolean;1361	    skipHiddenDays(date: any, inc?: number, isExclusive?: boolean): any;1362	}1363	export default Default;1364}1365declare module 'fullcalendar/src/types/input-types' {1366	/// <reference types="jquery" />1367	import * as moment from 'moment';1368	import View from 'fullcalendar/View';1369	import EventSource from 'fullcalendar/EventSource';1370	export type MomentInput = moment.Moment | Date | object | string | number;1371	export type DurationInput = moment.Duration | object | string | number;1372	export interface RangeInput {1373	    start?: MomentInput;1374	    end?: MomentInput;1375	}1376	export type ConstraintInput = RangeInput | BusinessHoursInput | 'businessHours';1377	export interface EventOptionsBase {1378	    className?: string | string[];1379	    editable?: boolean;1380	    startEditable?: boolean;1381	    durationEditable?: boolean;1382	    rendering?: string;1383	    overlap?: boolean;1384	    constraint?: ConstraintInput;1385	    color?: string;1386	    backgroundColor?: string;1387	    borderColor?: string;1388	    textColor?: string;1389	}1390	export interface EventObjectInput extends EventOptionsBase, RangeInput {1391	    _id?: string;1392	    id?: string | number;1393	    title: string;1394	    allDay?: boolean;1395	    url?: string;1396	    source?: EventSource;1397	    [customField: string]: any;1398	}1399	export type EventSourceFunction = (start: moment.Moment, end: moment.Moment, timezone: string, callback: ((events: EventObjectInput[]) => void)) => void;1400	export type EventSourceSimpleInput = EventObjectInput[] | EventSourceFunction | string;1401	export interface EventSourceExtendedInput extends EventOptionsBase, JQueryAjaxSettings {1402	    url?: string;1403	    events?: EventSourceSimpleInput;1404	    allDayDefault?: boolean;1405	    startParam?: string;1406	    endParam?: string;1407	    eventDataTransform?(eventData: any): EventObjectInput;1408	}1409	export type EventSourceInput = EventSourceSimpleInput | EventSourceExtendedInput;1410	export interface ToolbarInput {1411	    left?: string;1412	    center?: string;1413	    right?: string;1414	}1415	export interface CustomButtonInput {1416	    text: string;1417	    icon?: string;1418	    themeIcon?: string;1419	    bootstrapGlyphicon?: string;1420	    click(element: JQuery): void;1421	}1422	export interface ButtonIconsInput {1423	    prev?: string;1424	    next?: string;1425	    prevYear?: string;1426	    nextYear?: string;1427	}1428	export interface ButtonTextCompoundInput {1429	    prev?: string;1430	    next?: string;1431	    prevYear?: string;1432	    nextYear?: string;1433	    today?: string;1434	    month?: string;1435	    week?: string;1436	    day?: string;1437	    [viewId: string]: string | undefined;1438	}1439	export interface BusinessHoursInput {1440	    start?: MomentInput;1441	    end?: MomentInput;1442	    dow?: number[];1443	}1444	export interface EventSegment {1445	    event: EventObjectInput;1446	    start: moment.Moment;1447	    end: moment.Moment;1448	    isStart: boolean;1449	    isEnd: boolean;1450	}1451	export interface CellInfo {1452	    date: moment.Moment;1453	    dayEl: JQuery;1454	    moreEl: JQuery;1455	    segs: EventSegment[];1456	    hiddenSegs: EventSegment[];1457	}1458	export interface DropInfo {1459	    start: moment.Moment;1460	    end: moment.Moment;1461	}1462	export interface OptionsInputBase {1463	    header?: boolean | ToolbarInput;1464	    footer?: boolean | ToolbarInput;1465	    customButtons?: {1466	        [name: string]: CustomButtonInput;1467	    };1468	    buttonIcons?: boolean | ButtonIconsInput;1469	    themeSystem?: 'standard' | 'bootstrap3' | 'jquery-ui';1470	    themeButtonIcons?: boolean | ButtonIconsInput;1471	    bootstrapGlyphicons?: boolean | ButtonIconsInput;1472	    firstDay?: number;1473	    isRTL?: boolean;1474	    weekends?: boolean;1475	    hiddenDays?: number[];1476	    fixedWeekCount?: boolean;1477	    weekNumbers?: boolean;1478	    weekNumbersWithinDays?: boolean;1479	    weekNumberCalculation?: 'local' | 'ISO' | ((m: moment.Moment) => number);1480	    businessHours?: boolean | BusinessHoursInput | BusinessHoursInput[];1481	    showNonCurrentDates?: boolean;1482	    height?: number | 'auto' | 'parent' | (() => number);1483	    contentHeight?: number | 'auto' | (() => number);1484	    aspectRatio?: number;1485	    handleWindowResize?: boolean;1486	    windowResizeDelay?: number;1487	    eventLimit?: boolean | number;1488	    eventLimitClick?: 'popover' | 'week' | 'day' | string | ((cellinfo: CellInfo, jsevent: Event) => void);1489	    timezone?: string | boolean;1490	    now?: MomentInput | (() => MomentInput);1491	    defaultView?: string;1492	    allDaySlot?: boolean;1493	    allDayText?: string;1494	    slotDuration?: DurationInput;1495	    slotLabelFormat?: string;1496	    slotLabelInterval?: DurationInput;1497	    snapDuration?: DurationInput;1498	    scrollTime?: DurationInput;1499	    minTime?: DurationInput;1500	    maxTime?: DurationInput;1501	    slotEventOverlap?: boolean;1502	    listDayFormat?: string | boolean;1503	    listDayAltFormat?: string | boolean;1504	    noEventsMessage?: string;1505	    defaultDate?: MomentInput;1506	    nowIndicator?: boolean;1507	    visibleRange?: ((currentDate: moment.Moment) => RangeInput) | RangeInput;1508	    validRange?: RangeInput;1509	    dateIncrement?: DurationInput;1510	    dateAlignment?: string;1511	    duration?: DurationInput;1512	    dayCount?: number;1513	    locale?: string;1514	    timeFormat?: string;1515	    columnFormat?: string;1516	    titleFormat?: string;1517	    monthNames?: string[];1518	    monthNamesShort?: string[];1519	    dayNames?: string[];1520	    dayNamesShort?: string[];1521	    weekNumberTitle?: string;1522	    displayEventTime?: boolean;1523	    displayEventEnd?: boolean;1524	    eventLimitText?: string | ((eventCnt: number) => string);1525	    dayPopoverFormat?: string;1526	    navLinks?: boolean;1527	    navLinkDayClick?: string | ((date: moment.Moment, jsEvent: Event) => void);1528	    navLinkWeekClick?: string | ((weekStart: any, jsEvent: Event) => void);1529	    selectable?: boolean;1530	    selectHelper?: boolean;1531	    unselectAuto?: boolean;1532	    unselectCancel?: string;1533	    selectOverlap?: boolean | ((event: EventObjectInput) => boolean);1534	    selectConstraint?: ConstraintInput;1535	    events?: EventSourceInput;1536	    eventSources?: EventSourceInput[];1537	    allDayDefault?: boolean;1538	    startParam?: string;1539	    endParam?: string;1540	    lazyFetching?: boolean;1541	    eventColor?: string;1542	    eventBackgroundColor?: string;1543	    eventBorderColor?: string;1544	    eventTextColor?: string;1545	    nextDayThreshold?: DurationInput;1546	    eventOrder?: string | Array<((a: EventObjectInput, b: EventObjectInput) => number) | (string | ((a: EventObjectInput, b: EventObjectInput) => number))>;1547	    eventRenderWait?: number | null;1548	    editable?: boolean;1549	    eventStartEditable?: boolean;1550	    eventDurationEditable?: boolean;1551	    dragRevertDuration?: number;1552	    dragOpacity?: number;1553	    dragScroll?: boolean;1554	    eventOverlap?: boolean | ((stillEvent: EventObjectInput, movingEvent: EventObjectInput) => boolean);1555	    eventConstraint?: ConstraintInput;1556	    eventAllow?: ((dropInfo: DropInfo, draggedEvent: Event) => boolean);1557	    longPressDelay?: number;1558	    eventLongPressDelay?: number;1559	    droppable?: boolean;1560	    dropAccept?: string | ((draggable: any) => boolean);1561	    viewRender?(view: View, element: JQuery): void;1562	    viewDestroy?(view: View, element: JQuery): void;1563	    dayRender?(date: moment.Moment, cell: JQuery): void;1564	    windowResize?(view: View): void;1565	    dayClick?(date: moment.Moment, jsEvent: MouseEvent, view: View, resourceObj?: any): void;1566	    eventClick?(event: EventObjectInput, jsEvent: MouseEvent, view: View): boolean | void;1567	    eventMouseover?(event: EventObjectInput, jsEvent: MouseEvent, view: View): void;1568	    eventMouseout?(event: EventObjectInput, jsEvent: MouseEvent, view: View): void;1569	    select?(start: moment.Moment, end: moment.Moment, jsEvent: MouseEvent, view: View, resource?: any): void;1570	    unselect?(view: View, jsEvent: Event): void;1571	    eventDataTransform?(eventData: any): EventObjectInput;1572	    loading?(isLoading: boolean, view: View): void;1573	    eventRender?(event: EventObjectInput, element: JQuery, view: View): void;1574	    eventAfterRender?(event: EventObjectInput, element: JQuery, view: View): void;1575	    eventAfterAllRender?(view: View): void;1576	    eventDestroy?(event: EventObjectInput, element: JQuery, view: View): void;1577	    eventDragStart?(event: EventObjectInput, jsEvent: MouseEvent, ui: any, view: View): void;1578	    eventDragStop?(event: EventObjectInput, jsEvent: MouseEvent, ui: any, view: View): void;1579	    eventDrop?(event: EventObjectInput, delta: moment.Duration, revertFunc: Function, jsEvent: Event, ui: any, view: View): void;1580	    eventResizeStart?(event: EventObjectInput, jsEvent: MouseEvent, ui: any, view: View): void;1581	    eventResizeStop?(event: EventObjectInput, jsEvent: MouseEvent, ui: any, view: View): void;1582	    eventResize?(event: EventObjectInput, delta: moment.Duration, revertFunc: Function, jsEvent: Event, ui: any, view: View): void;1583	    drop?(date: moment.Moment, jsEvent: MouseEvent, ui: any): void;1584	    eventReceive?(event: EventObjectInput): void;1585	}1586	export interface ViewOptionsInput extends OptionsInputBase {1587	    type?: string;1588	    buttonText?: string;1589	}1590	export interface OptionsInput extends OptionsInputBase {1591	    buttonText?: ButtonTextCompoundInput;1592	    views?: {1593	        [viewId: string]: ViewOptionsInput;1594	    };1595	}1596}1597declare module 'fullcalendar/FuncEventSource' {1598	/// <reference types="jquery" />1599	import EventSource from 'fullcalendar/EventSource';1600	export class Default extends EventSource {1601	    func: any;1602	    static parse(rawInput: any, calendar: any): any;1603	    fetch(start: any, end: any, timezone: any): JQueryPromise<{}>;1604	    getPrimitive(): any;1605	    applyManualStandardProps(rawProps: any): boolean;1606	}1607	export default Default;1608}1609declare module 'fullcalendar/JsonFeedEventSource' {1610	/// <reference types="jquery" />1611	import EventSource from 'fullcalendar/EventSource';1612	export class Default extends EventSource {1613	    static AJAX_DEFAULTS: {1614	        dataType: string;1615	        cache: boolean;1616	    };1617	    url: any;1618	    startParam: any;1619	    endParam: any;1620	    timezoneParam: any;1621	    ajaxSettings: any;1622	    static parse(rawInput: any, calendar: any): any;1623	    fetch(start: any, end: any, timezone: any): JQueryPromise<{}>;1624	    buildRequestParams(start: any, end: any, timezone: any): {};1625	    getPrimitive(): any;1626	    applyMiscProps(rawProps: any): void;1627	}1628	export default Default;1629}1630declare module 'fullcalendar/CoordCache' {1631	export class Default {1632	    els: any;1633	    forcedOffsetParentEl: any;1634	    origin: any;1635	    boundingRect: any;1636	    isHorizontal: boolean;1637	    isVertical: boolean;1638	    lefts: any;1639	    rights: any;1640	    tops: any;1641	    bottoms: any;1642	    constructor(options: any);1643	    build(): void;1644	    clear(): void;1645	    ensureBuilt(): void;1646	    buildElHorizontals(): void;1647	    buildElVerticals(): void;1648	    getHorizontalIndex(leftOffset: any): any;1649	    getVerticalIndex(topOffset: any): any;1650	    getLeftOffset(leftIndex: any): any;1651	    getLeftPosition(leftIndex: any): number;1652	    getRightOffset(leftIndex: any): any;1653	    getRightPosition(leftIndex: any): number;1654	    getWidth(leftIndex: any): number;1655	    getTopOffset(topIndex: any): any;1656	    getTopPosition(topIndex: any): number;1657	    getBottomOffset(topIndex: any): any;1658	    getBottomPosition(topIndex: any): number;1659	    getHeight(topIndex: any): number;1660	    queryBoundingRect(): {1661	        left: number;1662	        right: any;1663	        top: number;1664	        bottom: any;1665	    };1666	    isPointInBounds(leftOffset: any, topOffset: any): boolean;1667	    isLeftInBounds(leftOffset: any): boolean;1668	    isTopInBounds(topOffset: any): boolean;1669	}1670	export default Default;1671}1672declare module 'fullcalendar/DragListener' {1673	import { ListenerInterface } from 'fullcalendar/ListenerMixin';1674	export class Default {1675	    listenTo: ListenerInterface['listenTo'];1676	    stopListeningTo: ListenerInterface['stopListeningTo'];1677	    options: any;1678	    subjectEl: any;1679	    originX: any;1680	    originY: any;1681	    scrollEl: any;1682	    isInteracting: boolean;1683	    isDistanceSurpassed: boolean;1684	    isDelayEnded: boolean;1685	    isDragging: boolean;1686	    isTouch: boolean;1687	    isGeneric: boolean;1688	    delay: any;1689	    delayTimeoutId: any;1690	    minDistance: any;1691	    shouldCancelTouchScroll: boolean;1692	    scrollAlwaysKills: boolean;1693	    isAutoScroll: boolean;1694	    scrollBounds: any;1695	    scrollTopVel: any;1696	    scrollLeftVel: any;1697	    scrollIntervalId: any;1698	    scrollSensitivity: number;1699	    scrollSpeed: number;1700	    scrollIntervalMs: number;1701	    constructor(options: any);1702	    startInteraction(ev: any, extraOptions?: any): void;1703	    handleInteractionStart(ev: any): void;1704	    endInteraction(ev: any, isCancelled: any): void;1705	    handleInteractionEnd(ev: any, isCancelled: any): void;1706	    bindHandlers(): void;1707	    unbindHandlers(): void;1708	    startDrag(ev: any, extraOptions?: any): void;1709	    handleDragStart(ev: any): void;1710	    handleMove(ev: any): void;1711	    handleDrag(dx: any, dy: any, ev: any): void;1712	    endDrag(ev: any): void;1713	    handleDragEnd(ev: any): void;1714	    startDelay(initialEv: any): void;1715	    handleDelayEnd(initialEv: any): void;1716	    handleDistanceSurpassed(ev: any): void;1717	    handleTouchMove(ev: any): void;1718	    handleMouseMove(ev: any): void;1719	    handleTouchScroll(ev: any): void;1720	    trigger(name: any, ...args: any[]): void;1721	    initAutoScroll(): void;1722	    destroyAutoScroll(): void;1723	    computeScrollBounds(): void;1724	    updateAutoScroll(ev: any): void;1725	    setScrollVel(topVel: any, leftVel: any): void;1726	    constrainScrollVel(): void;1727	    scrollIntervalFunc(): void;1728	    endAutoScroll(): void;1729	    handleDebouncedScroll(): void;1730	    handleScrollEnd(): void;1731	}1732	export default Default;1733}1734declare module 'fullcalendar/Scroller' {1735	import Class from 'fullcalendar/Class';1736	export class Default extends Class {1737	    el: any;1738	    scrollEl: any;1739	    overflowX: any;1740	    overflowY: any;1741	    constructor(options?: any);1742	    render(): void;1743	    renderEl(): JQuery;1744	    clear(): void;1745	    destroy(): void;1746	    applyOverflow(): void;1747	    lockOverflow(scrollbarWidths: any): void;1748	    setHeight(height: any): void;1749	    getScrollTop(): any;1750	    setScrollTop(top: any): void;1751	    getClientWidth(): any;1752	    getClientHeight(): any;1753	    getScrollbarWidths(): any;1754	}1755	export default Default;1756}1757declare module 'fullcalendar/DayTableMixin' {1758	import Mixin from 'fullcalendar/Mixin';1759	export interface DayTableInterface {1760	    dayDates: any;1761	    daysPerRow: any;1762	    rowCnt: any;1763	    colCnt: any;1764	    updateDayTable(): any;1765	    renderHeadHtml(): any;1766	    renderBgTrHtml(row: any): any;1767	    bookendCells(trEl: any): any;1768	    getCellDate(row: any, col: any): any;1769	    getCellRange(row: any, col: any): any;1770	    sliceRangeByDay(unzonedRange: any): any;1771	    sliceRangeByRow(unzonedRange: any): any;1772	    renderIntroHtml(): any;1773	}1774	export class Default extends Mixin implements DayTableInterface {1775	    breakOnWeeks: boolean;1776	    dayDates: any;1777	    dayIndices: any;1778	    daysPerRow: any;1779	    rowCnt: any;1780	    colCnt: any;1781	    colHeadFormat: any;1782	    updateDayTable(): void;1783	    updateDayTableCols(): void;1784	    computeColCnt(): any;1785	    getCellDate(row: any, col: any): any;1786	    getCellRange(row: any, col: any): {1787	        start: any;1788	        end: any;1789	    };1790	    getCellDayIndex(row: any, col: any): any;1791	    getColDayIndex(col: any): any;1792	    getDateDayIndex(date: any): any;1793	    computeColHeadFormat(): any;1794	    sliceRangeByRow(unzonedRange: any): any[];1795	    sliceRangeByDay(unzonedRange: any): any[];1796	    renderHeadHtml(): string;1797	    renderHeadIntroHtml(): void;1798	    renderHeadTrHtml(): string;1799	    renderHeadDateCellsHtml(): string;1800	    renderHeadDateCellHtml(date: any, colspan: any, otherAttrs: any): string;1801	    renderBgTrHtml(row: any): string;1802	    renderBgIntroHtml(row: any): void;1803	    renderBgCellsHtml(row: any): string;1804	    renderBgCellHtml(date: any, otherAttrs: any): string;1805	    renderIntroHtml(): void;1806	    bookendCells(trEl: any): void;1807	}1808	export default Default;1809}1810declare module 'fullcalendar/BusinessHourRenderer' {1811	export class Default {1812	    component: any;1813	    fillRenderer: any;1814	    segs: any;1815	    constructor(component: any, fillRenderer: any);1816	    render(businessHourGenerator: any): void;1817	    renderEventFootprints(eventFootprints: any): void;1818	    renderSegs(segs: any): void;1819	    unrender(): void;1820	    getSegs(): any;1821	}1822	export default Default;1823}1824declare module 'fullcalendar/EventRenderer' {1825	export class Default {1826	    view: any;1827	    component: any;1828	    fillRenderer: any;1829	    fgSegs: any;1830	    bgSegs: any;1831	    eventTimeFormat: any;1832	    displayEventTime: any;1833	    displayEventEnd: any;1834	    constructor(component: any, fillRenderer: any);1835	    opt(name: any): any;1836	    rangeUpdated(): void;1837	    render(eventsPayload: any): void;1838	    unrender(): void;1839	    renderFgRanges(eventRanges: any): void;1840	    unrenderFgRanges(): void;1841	    renderBgRanges(eventRanges: any): void;1842	    unrenderBgRanges(): void;1843	    getSegs(): any;1844	    renderFgSegs(segs: any): (boolean | void);1845	    unrenderFgSegs(segs: any): void;1846	    renderBgSegs(segs: any): boolean;1847	    unrenderBgSegs(): void;1848	    renderFgSegEls(segs: any, disableResizing?: boolean): any[];1849	    beforeFgSegHtml(seg: any): void;1850	    fgSegHtml(seg: any, disableResizing: any): void;1851	    getSegClasses(seg: any, isDraggable: any, isResizable: any): string[];1852	    filterEventRenderEl(eventFootprint: any, el: any): any;1853	    getTimeText(eventFootprint: any, formatStr?: any, displayEnd?: any): any;1854	    _getTimeText(start: any, end: any, isAllDay: any, formatStr?: any, displayEnd?: any): any;1855	    computeEventTimeFormat(): any;1856	    computeDisplayEventTime(): boolean;1857	    computeDisplayEventEnd(): boolean;1858	    getBgClasses(eventDef: any): any[];1859	    getClasses(eventDef: any): any[];1860	    getSkinCss(eventDef: any): {1861	        'background-color': any;1862	        'border-color': any;1863	        color: any;1864	    };1865	    getBgColor(eventDef: any): any;1866	    getBorderColor(eventDef: any): any;1867	    getTextColor(eventDef: any): any;1868	    getStylingObjs(eventDef: any): any[];1869	    getFallbackStylingObjs(eventDef: any): any[];1870	    sortEventSegs(segs: any): void;1871	    compareEventSegs(seg1: any, seg2: any): any;1872	}1873	export default Default;1874}1875declare module 'fullcalendar/FillRenderer' {1876	export class Default {1877	    fillSegTag: string;1878	    component: any;1879	    elsByFill: any;1880	    constructor(component: any);1881	    renderFootprint(type: any, componentFootprint: any, props: any): void;1882	    renderSegs(type: any, segs: any, props: any): any;1883	    unrender(type: any): void;1884	    buildSegEls(type: any, segs: any, props: any): any[];1885	    buildSegHtml(type: any, seg: any, props: any): string;1886	    attachSegEls(type: any, segs: any): void;1887	    reportEls(type: any, nodes: any): void;1888	}1889	export default Default;1890}1891declare module 'fullcalendar/HelperRenderer' {1892	import EventFootprint from 'fullcalendar/EventFootprint';1893	export class Default {1894	    view: any;1895	    component: any;1896	    eventRenderer: any;1897	    helperEls: any;1898	    constructor(component: any, eventRenderer: any);1899	    renderComponentFootprint(componentFootprint: any): void;1900	    renderEventDraggingFootprints(eventFootprints: any, sourceSeg: any, isTouch: any): void;1901	    renderEventResizingFootprints(eventFootprints: any, sourceSeg: any, isTouch: any): void;1902	    renderEventFootprints(eventFootprints: any, sourceSeg?: any, extraClassNames?: any, opacity?: any): void;1903	    renderSegs(segs: any, sourceSeg?: any): void;1904	    unrender(): void;1905	    fabricateEventFootprint(componentFootprint: any): EventFootprint;1906	}1907	export default Default;1908}1909declare module 'fullcalendar/HitDragListener' {1910	import DragListener from 'fullcalendar/DragListener';1911	export class Default extends DragListener {1912	    component: any;1913	    origHit: any;1914	    hit: any;1915	    coordAdjust: any;1916	    constructor(component: any, options: any);1917	    handleInteractionStart(ev: any): void;1918	    handleDragStart(ev: any): void;1919	    handleDrag(dx: any, dy: any, ev: any): void;1920	    handleDragEnd(ev: any): void;1921	    handleHitOver(hit: any): void;1922	    handleHitOut(): void;1923	    handleHitDone(): void;1924	    handleInteractionEnd(ev: any, isCancelled: any): void;1925	    handleScrollEnd(): void;1926	    queryHit(left: any, top: any): any;1927	}1928	export default Default;1929}1930declare module 'fullcalendar/Interaction' {1931	export class Default {1932	    view: any;1933	    component: any;1934	    constructor(component: any);1935	    opt(name: any): any;1936	    end(): void;1937	}1938	export default Default;1939}1940declare module 'fullcalendar/ExternalDropping' {1941	import { ListenerInterface } from 'fullcalendar/ListenerMixin';1942	import Interaction from 'fullcalendar/Interaction';1943	export class Default extends Interaction {1944	    listenTo: ListenerInterface['listenTo'];1945	    stopListeningTo: ListenerInterface['stopListeningTo'];1946	    dragListener: any;1947	    isDragging: boolean;1948	    end(): void;1949	    bindToDocument(): void;1950	    unbindFromDocument(): void;1951	    handleDragStart(ev: any, ui: any): void;1952	    listenToExternalDrag(el: any, ev: any, ui: any): void;1953	    computeExternalDrop(componentFootprint: any, meta: any): any;1954	}1955	export default Default;1956}1957declare module 'fullcalendar/EventResizing' {1958	import HitDragListener from 'fullcalendar/HitDragListener';1959	import Interaction from 'fullcalendar/Interaction';1960	export class Default extends Interaction {1961	    eventPointing: any;1962	    dragListener: any;1963	    isResizing: boolean;1964	    constructor(component: any, eventPointing: any);1965	    end(): void;1966	    bindToEl(el: any): void;1967	    handleMouseDown(seg: any, ev: any): void;1968	    handleTouchStart(seg: any, ev: any): void;1969	    buildDragListener(seg: any, isStart: any): HitDragListener;1970	    segResizeStart(seg: any, ev: any): void;1971	    segResizeStop(seg: any, ev: any): void;1972	    computeEventStartResizeMutation(startFootprint: any, endFootprint: any, origEventFootprint: any): any;1973	    computeEventEndResizeMutation(startFootprint: any, endFootprint: any, origEventFootprint: any): any;1974	}1975	export default Default;1976}1977declare module 'fullcalendar/EventPointing' {1978	import Interaction from 'fullcalendar/Interaction';1979	export class Default extends Interaction {1980	    mousedOverSeg: any;1981	    bindToEl(el: any): void;1982	    handleClick(seg: any, ev: any): void;1983	    handleMouseover(seg: any, ev: any): void;1984	    handleMouseout(seg: any, ev?: any): void;1985	    end(): void;1986	}1987	export default Default;1988}1989declare module 'fullcalendar/MouseFollower' {1990	import { ListenerInterface } from 'fullcalendar/ListenerMixin';1991	export class Default {1992	    listenTo: ListenerInterface['listenTo'];1993	    stopListeningTo: ListenerInterface['stopListeningTo'];1994	    options: any;1995	    sourceEl: any;1996	    el: any;1997	    parentEl: any;1998	    top0: any;1999	    left0: any;2000	    y0: any;2001	    x0: any;2002	    topDelta: any;2003	    leftDelta: any;2004	    isFollowing: boolean;2005	    isHidden: boolean;2006	    isAnimating: boolean;2007	    constructor(sourceEl: any, options: any);2008	    start(ev: any): void;2009	    stop(shouldRevert: any, callback: any): void;2010	    getEl(): any;2011	    removeElement(): void;2012	    updatePosition(): void;2013	    handleMove(ev: any): void;2014	    hide(): void;2015	    show(): void;2016	}2017	export default Default;2018}2019declare module 'fullcalendar/EventDragging' {2020	import EventDefMutation from 'fullcalendar/EventDefMutation';2021	import Interaction from 'fullcalendar/Interaction';2022	export class Default extends Interaction {2023	    eventPointing: any;2024	    dragListener: any;2025	    isDragging: boolean;2026	    constructor(component: any, eventPointing: any);2027	    end(): void;2028	    getSelectionDelay(): any;2029	    bindToEl(el: any): void;2030	    handleMousedown(seg: any, ev: any): void;2031	    handleTouchStart(seg: any, ev: any): void;2032	    buildSelectListener(seg: any): any;2033	    buildDragListener(seg: any): any;2034	    segDragStart(seg: any, ev: any): void;2035	    segDragStop(seg: any, ev: any): void;2036	    computeEventDropMutation(startFootprint: any, endFootprint: any, eventDef: any): EventDefMutation;2037	    computeEventDateMutation(startFootprint: any, endFootprint: any): any;2038	}2039	export default Default;2040}2041declare module 'fullcalendar/DateSelecting' {2042	import HitDragListener from 'fullcalendar/HitDragListener';2043	import ComponentFootprint from 'fullcalendar/ComponentFootprint';2044	import Interaction from 'fullcalendar/Interaction';2045	export class Default extends Interaction {2046	    dragListener: any;2047	    constructor(component: any);2048	    end(): void;2049	    getDelay(): any;2050	    bindToEl(el: any): void;2051	    buildDragListener(): HitDragListener;2052	    computeSelection(footprint0: any, footprint1: any): false | ComponentFootprint;2053	    computeSelectionFootprint(footprint0: any, footprint1: any): ComponentFootprint;2054	    isSelectionFootprintAllowed(componentFootprint: any): any;2055	}2056	export default Default;2057}2058declare module 'fullcalendar/DateClicking' {2059	import HitDragListener from 'fullcalendar/HitDragListener';2060	import Interaction from 'fullcalendar/Interaction';2061	export class Default extends Interaction {2062	    dragListener: any;2063	    constructor(component: any);2064	    end(): void;2065	    bindToEl(el: any): void;2066	    buildDragListener(): HitDragListener;2067	}2068	export default Default;2069}2070declare module 'fullcalendar/StandardInteractionsMixin' {2071	import Mixin from 'fullcalendar/Mixin';2072	export class Default extends Mixin {2073	}2074	export default Default;2075}2076declare module 'fullcalendar/TimeGridEventRenderer' {2077	import EventRenderer from 'fullcalendar/EventRenderer';2078	export class Default extends EventRenderer {2079	    timeGrid: any;2080	    constructor(timeGrid: any, fillRenderer: any);2081	    renderFgSegs(segs: any): void;2082	    renderFgSegsIntoContainers(segs: any, containerEls: any): void;2083	    unrenderFgSegs(): void;2084	    computeEventTimeFormat(): any;2085	    computeDisplayEventEnd(): boolean;2086	    fgSegHtml(seg: any, disableResizing: any): string;2087	    updateFgSegCoords(segs: any): void;2088	    computeFgSegHorizontals(segs: any): void;2089	    computeFgSegForwardBack(seg: any, seriesBackwardPressure: any, seriesBackwardCoord: any): void;2090	    sortForwardSegs(forwardSegs: any): void;2091	    compareForwardSegs(seg1: any, seg2: any): any;2092	    assignFgSegHorizontals(segs: any): void;2093	    generateFgSegHorizontalCss(seg: any): any;2094	}2095	export default Default;2096}2097declare module 'fullcalendar/TimeGridHelperRenderer' {2098	import HelperRenderer from 'fullcalendar/HelperRenderer';2099	export class Default extends HelperRenderer {2100	    renderSegs(segs: any, sourceSeg: any): JQuery;2101	}2102	export default Default;2103}2104declare module 'fullcalendar/TimeGridFillRenderer' {2105	import FillRenderer from 'fullcalendar/FillRenderer';2106	export class Default extends FillRenderer {2107	    attachSegEls(type: any, segs: any): any;2108	}2109	export default Default;2110}2111declare module 'fullcalendar/TimeGrid' {2112	import * as moment from 'moment';2113	import InteractiveDateComponent from 'fullcalendar/InteractiveDateComponent';2114	import { DayTableInterface } from 'fullcalendar/DayTableMixin';2115	import ComponentFootprint from 'fullcalendar/ComponentFootprint';2116	export class Default extends InteractiveDateComponent {2117	    dayDates: DayTableInterface['dayDates'];2118	    daysPerRow: DayTableInterface['daysPerRow'];2119	    colCnt: DayTableInterface['colCnt'];2120	    updateDayTable: DayTableInterface['updateDayTable'];2121	    renderHeadHtml: DayTableInterface['renderHeadHtml'];2122	    renderBgTrHtml: DayTableInterface['renderBgTrHtml'];2123	    bookendCells: DayTableInterface['bookendCells'];2124	    getCellDate: DayTableInterface['getCellDate'];2125	    view: any;2126	    helperRenderer: any;2127	    dayRanges: any;2128	    slotDuration: any;2129	    snapDuration: any;2130	    snapsPerSlot: any;2131	    labelFormat: any;2132	    labelInterval: any;2133	    headContainerEl: any;2134	    colEls: any;2135	    slatContainerEl: any;2136	    slatEls: any;2137	    nowIndicatorEls: any;2138	    colCoordCache: any;2139	    slatCoordCache: any;2140	    bottomRuleEl: any;2141	    contentSkeletonEl: any;2142	    colContainerEls: any;2143	    fgContainerEls: any;2144	    bgContainerEls: any;2145	    helperContainerEls: any;2146	    highlightContainerEls: any;2147	    businessContainerEls: any;2148	    helperSegs: any;2149	    highlightSegs: any;2150	    businessSegs: any;2151	    constructor(view: any);2152	    componentFootprintToSegs(componentFootprint: any): any[];2153	    sliceRangeByTimes(unzonedRange: any): any[];2154	    processOptions(): void;2155	    computeLabelInterval(slotDuration: any): any;2156	    renderDates(dateProfile: any): void;2157	    unrenderDates(): void;2158	    renderSkeleton(): void;2159	    renderSlats(): void;2160	    renderSlatRowHtml(): string;2161	    renderColumns(): void;2162	    unrenderColumns(): void;2163	    renderContentSkeleton(): void;2164	    unrenderContentSkeleton(): void;2165	    groupSegsByCol(segs: any): any[];2166	    attachSegsByCol(segsByCol: any, containerEls: any): void;2167	    getNowIndicatorUnit(): string;2168	    renderNowIndicator(date: any): void;2169	    unrenderNowIndicator(): void;2170	    updateSize(totalHeight: any, isAuto: any, isResize: any): void;2171	    getTotalSlatHeight(): any;2172	    computeDateTop(ms: any, startOfDayDate: any): any;2173	    computeTimeTop(time: any): any;2174	    updateSegVerticals(segs: any): void;2175	    computeSegVerticals(segs: any): void;2176	    assignSegVerticals(segs: any): void;2177	    generateSegVerticalCss(seg: any): {2178	        top: any;2179	        bottom: number;2180	    };2181	    prepareHits(): void;2182	    releaseHits(): void;2183	    queryHit(leftOffset: any, topOffset: any): any;2184	    getHitFootprint(hit: any): ComponentFootprint;2185	    computeSnapTime(snapIndex: any): moment.Duration;2186	    getHitEl(hit: any): any;2187	    renderDrag(eventFootprints: any, seg: any, isTouch: any): boolean;2188	    unrenderDrag(): void;2189	    renderEventResize(eventFootprints: any, seg: any, isTouch: any): void;2190	    unrenderEventResize(): void;2191	    renderSelectionFootprint(componentFootprint: any): void;2192	    unrenderSelection(): void;2193	}2194	export default Default;2195}2196declare module 'fullcalendar/Popover' {2197	import { ListenerInterface } from 'fullcalendar/ListenerMixin';2198	export class Default {2199	    listenTo: ListenerInterface['listenTo'];2200	    stopListeningTo: ListenerInterface['stopListeningTo'];2201	    isHidden: boolean;2202	    options: any;2203	    el: any;2204	    margin: number;2205	    constructor(options: any);2206	    show(): void;2207	    hide(): void;2208	    render(): void;2209	    documentMousedown(ev: any): void;2210	    removeElement(): void;2211	    position(): void;2212	    trigger(name: any): void;2213	}2214	export default Default;2215}2216declare module 'fullcalendar/DayGridEventRenderer' {2217	import EventRenderer from 'fullcalendar/EventRenderer';2218	export class Default extends EventRenderer {2219	    dayGrid: any;2220	    rowStructs: any;2221	    constructor(dayGrid: any, fillRenderer: any);2222	    renderBgRanges(eventRanges: any): void;2223	    renderFgSegs(segs: any): void;2224	    unrenderFgSegs(): void;2225	    renderSegRows(segs: any): any[];2226	    renderSegRow(row: any, rowSegs: any): {2227	        row: any;2228	        tbodyEl: JQuery;2229	        cellMatrix: any[];2230	        segMatrix: any[];2231	        segLevels: any[];2232	        segs: any;2233	    };2234	    buildSegLevels(segs: any): any[];2235	    groupSegRows(segs: any): any[];2236	    computeEventTimeFormat(): any;2237	    computeDisplayEventEnd(): boolean;2238	    fgSegHtml(seg: any, disableResizing: any): string;2239	}2240	export default Default;2241}2242declare module 'fullcalendar/DayGridHelperRenderer' {2243	import HelperRenderer from 'fullcalendar/HelperRenderer';2244	export class Default extends HelperRenderer {2245	    renderSegs(segs: any, sourceSeg: any): JQuery;2246	}2247	export default Default;2248}2249declare module 'fullcalendar/DayGridFillRenderer' {2250	import FillRenderer from 'fullcalendar/FillRenderer';2251	export class Default extends FillRenderer {2252	    fillSegTag: string;2253	    attachSegEls(type: any, segs: any): any[];2254	    renderFillRow(type: any, seg: any): any;2255	}2256	export default Default;2257}2258declare module 'fullcalendar/DayGrid' {2259	import ComponentFootprint from 'fullcalendar/ComponentFootprint';2260	import InteractiveDateComponent from 'fullcalendar/InteractiveDateComponent';2261	import { DayTableInterface } from 'fullcalendar/DayTableMixin';2262	export class Default extends InteractiveDateComponent {2263	    rowCnt: DayTableInterface['rowCnt'];2264	    colCnt: DayTableInterface['colCnt'];2265	    daysPerRow: DayTableInterface['daysPerRow'];2266	    sliceRangeByRow: DayTableInterface['sliceRangeByRow'];2267	    updateDayTable: DayTableInterface['updateDayTable'];2268	    renderHeadHtml: DayTableInterface['renderHeadHtml'];2269	    getCellDate: DayTableInterface['getCellDate'];2270	    renderBgTrHtml: DayTableInterface['renderBgTrHtml'];2271	    renderIntroHtml: DayTableInterface['renderIntroHtml'];2272	    getCellRange: DayTableInterface['getCellRange'];2273	    sliceRangeByDay: DayTableInterface['sliceRangeByDay'];2274	    view: any;2275	    helperRenderer: any;2276	    cellWeekNumbersVisible: boolean;2277	    bottomCoordPadding: number;2278	    headContainerEl: any;2279	    rowEls: any;2280	    cellEls: any;2281	    rowCoordCache: any;2282	    colCoordCache: any;2283	    isRigid: boolean;2284	    hasAllDayBusinessHours: boolean;2285	    segPopover: any;2286	    popoverSegs: any;2287	    constructor(view: any);2288	    componentFootprintToSegs(componentFootprint: any): any;2289	    renderDates(dateProfile: any): void;2290	    unrenderDates(): void;2291	    renderGrid(): void;2292	    renderDayRowHtml(row: any, isRigid: any): string;2293	    getIsNumbersVisible(): boolean;2294	    getIsDayNumbersVisible(): boolean;2295	    renderNumberTrHtml(row: any): string;2296	    renderNumberIntroHtml(row: any): any;2297	    renderNumberCellsHtml(row: any): string;2298	    renderNumberCellHtml(date: any): string;2299	    prepareHits(): void;2300	    releaseHits(): void;2301	    queryHit(leftOffset: any, topOffset: any): any;2302	    getHitFootprint(hit: any): ComponentFootprint;2303	    getHitEl(hit: any): any;2304	    getCellHit(row: any, col: any): any;2305	    getCellEl(row: any, col: any): any;2306	    executeEventUnrender(): void;2307	    getOwnEventSegs(): any;2308	    renderDrag(eventFootprints: any, seg: any, isTouch: any): boolean;2309	    unrenderDrag(): void;2310	    renderEventResize(eventFootprints: any, seg: any, isTouch: any): void;2311	    unrenderEventResize(): void;2312	    removeSegPopover(): void;2313	    limitRows(levelLimit: any): void;2314	    computeRowLevelLimit(row: any): (number | false);2315	    limitRow(row: any, levelLimit: any): void;2316	    unlimitRow(row: any): void;2317	    renderMoreLink(row: any, col: any, hiddenSegs: any): JQuery;2318	    showSegPopover(row: any, col: any, moreLink: any, segs: any): void;2319	    renderSegPopoverContent(row: any, col: any, segs: any): JQuery;2320	    resliceDaySegs(segs: any, dayDate: any): any[];2321	    getMoreLinkText(num: any): any;2322	    getCellSegs(row: any, col: any, startLevel?: any): any[];2323	}2324	export default Default;2325}2326declare module 'fullcalendar/AgendaView' {2327	import View from 'fullcalendar/View';2328	export class Default extends View {2329	    timeGridClass: any;2330	    dayGridClass: any;2331	    timeGrid: any;2332	    dayGrid: any;2333	    scroller: any;2334	    axisWidth: any;2335	    usesMinMaxTime: boolean;2336	    constructor(calendar: any, viewSpec: any);2337	    instantiateTimeGrid(): any;2338	    instantiateDayGrid(): any;2339	    renderSkeleton(): void;2340	    unrenderSkeleton(): void;2341	    renderSkeletonHtml(): string;2342	    axisStyleAttr(): string;2343	    getNowIndicatorUnit(): any;2344	    updateSize(totalHeight: any, isAuto: any, isResize: any): void;2345	    computeScrollerHeight(totalHeight: any): number;2346	    computeInitialDateScroll(): {2347	        top: any;2348	    };2349	    queryDateScroll(): {2350	        top: any;2351	    };2352	    applyDateScroll(scroll: any): void;2353	    getHitFootprint(hit: any): any;2354	    getHitEl(hit: any): any;2355	    executeEventRender(eventsPayload: any): void;2356	    renderDrag(eventFootprints: any, seg: any, isTouch: any): boolean;2357	    renderEventResize(eventFootprints: any, seg: any, isTouch: any): void;2358	    renderSelectionFootprint(componentFootprint: any): void;2359	}2360	export default Default;2361}2362declare module 'fullcalendar/BasicViewDateProfileGenerator' {2363	import UnzonedRange from 'fullcalendar/UnzonedRange';2364	import DateProfileGenerator from 'fullcalendar/DateProfileGenerator';2365	export class Default extends DateProfileGenerator {2366	    buildRenderRange(currentUnzonedRange: any, currentRangeUnit: any, isRangeAllDay: any): UnzonedRange;2367	}2368	export default Default;2369}2370declare module 'fullcalendar/BasicView' {2371	import View from 'fullcalendar/View';2372	export class Default extends View {2373	    dateProfileGeneratorClass: any;2374	    dayGridClass: any;2375	    scroller: any;2376	    dayGrid: any;2377	    weekNumberWidth: any;2378	    constructor(calendar: any, viewSpec: any);2379	    instantiateDayGrid(): any;2380	    executeDateRender(dateProfile: any): void;2381	    renderSkeleton(): void;2382	    unrenderSkeleton(): void;2383	    renderSkeletonHtml(): string;2384	    weekNumberStyleAttr(): string;2385	    hasRigidRows(): boolean;2386	    updateSize(totalHeight: any, isAuto: any, isResize: any): void;2387	    computeScrollerHeight(totalHeight: any): number;2388	    setGridHeight(height: any, isAuto: any): void;2389	    computeInitialDateScroll(): {2390	        top: number;2391	    };2392	    queryDateScroll(): {2393	        top: any;2394	    };2395	    applyDateScroll(scroll: any): void;2396	}2397	export default Default;2398}2399declare module 'fullcalendar/MonthViewDateProfileGenerator' {2400	import BasicViewDateProfileGenerator from 'fullcalendar/BasicViewDateProfileGenerator';2401	import UnzonedRange from 'fullcalendar/UnzonedRange';2402	export class Default extends BasicViewDateProfileGenerator {2403	    buildRenderRange(currentUnzonedRange: any, currentRangeUnit: any, isRangeAllDay: any): UnzonedRange;2404	}2405	export default Default;2406}2407declare module 'fullcalendar/MonthView' {2408	import BasicView from 'fullcalendar/BasicView';2409	export class Default extends BasicView {2410	    setGridHeight(height: any, isAuto: any): void;2411	    isDateInOtherMonth(date: any, dateProfile: any): boolean;2412	}2413	export default Default;2414}2415declare module 'fullcalendar/ListEventRenderer' {2416	import EventRenderer from 'fullcalendar/EventRenderer';2417	export class Default extends EventRenderer {2418	    renderFgSegs(segs: any): void;2419	    fgSegHtml(seg: any): string;2420	    computeEventTimeFormat(): any;2421	}2422	export default Default;2423}2424declare module 'fullcalendar/ListEventPointing' {2425	import EventPointing from 'fullcalendar/EventPointing';2426	export class Default extends EventPointing {2427	    handleClick(seg: any, ev: any): void;2428	}2429	export default Default;2430}2431declare module 'fullcalendar/ListView' {2432	import View from 'fullcalendar/View';2433	export class Default extends View {2434	    eventRendererClass: any;2435	    eventPointingClass: any;2436	    segSelector: any;2437	    scroller: any;2438	    contentEl: any;2439	    dayDates: any;2440	    dayRanges: any;2441	    constructor(calendar: any, viewSpec: any);2442	    renderSkeleton(): void;2443	    unrenderSkeleton(): void;2444	    updateSize(totalHeight: any, isAuto: any, isResize: any): void;2445	    computeScrollerHeight(totalHeight: any): number;2446	    renderDates(dateProfile: any): void;2447	    componentFootprintToSegs(footprint: any): any[];2448	    renderEmptyMessage(): void;2449	    renderSegList(allSegs: any): void;2450	    groupSegsByDay(segs: any): any[];2451	    dayHeaderHtml(dayDate: any): string;2452	}2453	export default Default;2454}2455declare module 'fullcalendar/src/exports' {2456	export const version = "<%= version %>";2457	export const internalApiVersion = 12;2458	export { EventObjectInput, BusinessHoursInput, EventOptionsBase } from 'fullcalendar/src/types/input-types';2459	export { applyAll, debounce, isInt, htmlEscape, cssToStr, proxy, capitaliseFirstLetter, getOuterRect, getClientRect, getContentRect, getScrollbarWidths, preventDefault, parseFieldSpecs, compareByFieldSpecs, compareByFieldSpec, flexibleCompare, computeGreatestUnit, divideRangeByDuration, divideDurationByDuration, multiplyDuration, durationHasTime, log, warn, removeExact, intersectRects } from 'fullcalendar/src/util';2460	export { formatDate, formatRange, queryMostGranularFormatUnit } from 'fullcalendar/src/date-formatting';2461	export { datepickerLocale, locale } from 'fullcalendar/src/locale';2462	export { default as moment } from 'fullcalendar/src/moment-ext';2463	export { default as EmitterMixin, EmitterInterface } from 'fullcalendar/EmitterMixin';2464	export { default as ListenerMixin, ListenerInterface } from 'fullcalendar/ListenerMixin';2465	export { default as Model } from 'fullcalendar/Model';2466	export { default as Constraints } from 'fullcalendar/Constraints';2467	export { default as UnzonedRange } from 'fullcalendar/UnzonedRange';2468	export { default as ComponentFootprint } from 'fullcalendar/ComponentFootprint';2469	export { default as BusinessHourGenerator } from 'fullcalendar/BusinessHourGenerator';2470	export { default as EventDef } from 'fullcalendar/EventDef';2471	export { default as EventDefMutation } from 'fullcalendar/EventDefMutation';2472	export { default as EventSourceParser } from 'fullcalendar/EventSourceParser';2473	export { default as EventSource } from 'fullcalendar/EventSource';2474	export { defineThemeSystem } from 'fullcalendar/ThemeRegistry';2475	export { default as EventInstanceGroup } from 'fullcalendar/EventInstanceGroup';2476	export { default as ArrayEventSource } from 'fullcalendar/ArrayEventSource';2477	export { default as FuncEventSource } from 'fullcalendar/FuncEventSource';2478	export { default as JsonFeedEventSource } from 'fullcalendar/JsonFeedEventSource';2479	export { default as EventFootprint } from 'fullcalendar/EventFootprint';2480	export { default as Class } from 'fullcalendar/Class';2481	export { default as Mixin } from 'fullcalendar/Mixin';2482	export { default as CoordCache } from 'fullcalendar/CoordCache';2483	export { default as DragListener } from 'fullcalendar/DragListener';2484	export { default as Promise } from 'fullcalendar/Promise';2485	export { default as TaskQueue } from 'fullcalendar/TaskQueue';2486	export { default as RenderQueue } from 'fullcalendar/RenderQueue';2487	export { default as Scroller } from 'fullcalendar/Scroller';2488	export { default as Theme } from 'fullcalendar/Theme';2489	export { default as DateComponent } from 'fullcalendar/DateComponent';2490	export { default as InteractiveDateComponent } from 'fullcalendar/InteractiveDateComponent';2491	export { default as Calendar } from 'fullcalendar/Calendar';2492	export { default as View } from 'fullcalendar/View';2493	export { defineView, getViewConfig } from 'fullcalendar/ViewRegistry';2494	export { default as DayTableMixin } from 'fullcalendar/DayTableMixin';2495	export { default as BusinessHourRenderer } from 'fullcalendar/BusinessHourRenderer';2496	export { default as EventRenderer } from 'fullcalendar/EventRenderer';2497	export { default as FillRenderer } from 'fullcalendar/FillRenderer';2498	export { default as HelperRenderer } from 'fullcalendar/HelperRenderer';2499	export { default as ExternalDropping } from 'fullcalendar/ExternalDropping';2500	export { default as EventResizing } from 'fullcalendar/EventResizing';2501	export { default as EventPointing } from 'fullcalendar/EventPointing';2502	export { default as EventDragging } from 'fullcalendar/EventDragging';2503	export { default as DateSelecting } from 'fullcalendar/DateSelecting';2504	export { default as StandardInteractionsMixin } from 'fullcalendar/StandardInteractionsMixin';2505	export { default as AgendaView } from 'fullcalendar/AgendaView';2506	export { default as TimeGrid } from 'fullcalendar/TimeGrid';2507	export { default as DayGrid } from 'fullcalendar/DayGrid';2508	export { default as BasicView } from 'fullcalendar/BasicView';2509	export { default as MonthView } from 'fullcalendar/MonthView';2510	export { default as ListView } from 'fullcalendar/ListView';2511}2512declare module 'fullcalendar/BootstrapTheme' {2513	import Theme from 'fullcalendar/Theme';2514	export class Default extends Theme {2515	}2516	export default Default;2517}2518declare module 'fullcalendar/src/types/jquery-hooks' {2519	import * as moment from 'moment';2520	import Calendar from 'fullcalendar/Calendar';2521	import View from 'fullcalendar/View';2522	import EventSource from 'fullcalendar/EventSource';2523	import { RangeInput, MomentInput, OptionsInput, EventObjectInput, EventSourceInput } from 'fullcalendar/src/types/input-types'; global  {2524	    interface JQueryStatic {2525	        fullCalendar: object;2526	    }2527	    interface JQuery {2528	        fullCalendar(options?: OptionsInput): JQuery;2529	        fullCalendar(method: 'getCalendar'): Calendar;2530	        fullCalendar(method: 'getView'): View;2531	        fullCalendar(method: 'destroy'): JQuery;2532	        fullCalendar(method: 'option', name: string | object, value?: any): any;2533	        fullCalendar(method: 'isValidViewType', viewType: string): boolean;2534	        fullCalendar(method: 'changeView', viewName: string, dateOrRange: RangeInput | MomentInput): JQuery;2535	        fullCalendar(method: 'zoomTo', newDate: moment.Moment, viewType?: string): JQuery;2536	        fullCalendar(method: 'prev'): JQuery;2537	        fullCalendar(method: 'next'): JQuery;2538	        fullCalendar(method: 'prevYear'): JQuery;2539	        fullCalendar(method: 'nextYear'): JQuery;2540	        fullCalendar(method: 'today'): JQuery;2541	        fullCalendar(method: 'gotoDate', zonedDateInput: any): JQuery;2542	        fullCalendar(method: 'incrementDate', delta: any): JQuery;2543	        fullCalendar(method: 'getDate'): moment.Moment;2544	        fullCalendar(method: 'render'): JQuery;2545	        fullCalendar(method: 'select', zonedStartInput: MomentInput, zonedEndInput?: MomentInput, resourceId?: string): JQuery;2546	        fullCalendar(method: 'unselect'): JQuery;2547	        fullCalendar(method: 'moment', ...args: any[]): moment.Moment;2548	        fullCalendar(method: 'getNow'): moment.Moment;2549	        fullCalendar(method: 'rerenderEvents'): JQuery;2550	        fullCalendar(method: 'refetchEvents'): JQuery;2551	        fullCalendar(method: 'renderEvents', eventInputs: EventObjectInput[], isSticky?: boolean): JQuery;2552	        fullCalendar(method: 'renderEvent', eventInput: EventObjectInput, isSticky?: boolean): JQuery;2553	        fullCalendar(method: 'removeEvents', legacyQuery: any): JQuery;2554	        fullCalendar(method: 'clientEvents', legacyQuery: any): any;2555	        fullCalendar(method: 'updateEvents', eventPropsArray: EventObjectInput[]): JQuery;2556	        fullCalendar(method: 'updateEvent', eventProps: EventObjectInput): JQuery;2557	        fullCalendar(method: 'getEventSources'): EventSource;2558	        fullCalendar(method: 'getEventSourceById', id: any): EventSource;2559	        fullCalendar(method: 'addEventSource', sourceInput: EventSourceInput): JQuery;2560	        fullCalendar(method: 'removeEventSources', sourceMultiQuery: any): JQuery;2561	        fullCalendar(method: 'removeEventSource', sourceQuery: any): JQuery;2562	        fullCalendar(method: 'refetchEventSources', sourceMultiQuery: any): JQuery;2563	    }2564	}2565}2566declare module 'fullcalendar/src/main' {2567	import * as exportHooks from 'fullcalendar/src/exports';2568	import 'fullcalendar/src/moment-ext';2569	import 'fullcalendar/src/date-formatting';2570	import 'fullcalendar/src/models/event-source/config';2571	import 'fullcalendar/src/theme/config';2572	import 'fullcalendar/src/basic/config';2573	import 'fullcalendar/src/agenda/config';2574	import 'fullcalendar/src/list/config';2575	import 'fullcalendar/src/types/jquery-hooks';2576	export = exportHooks;2577}2578declare module 'fullcalendar/plugins/gcal/GcalEventSource' {2579	/// <reference types="jquery" />2580	import { EventSource } from 'fullcalendar';2581	export class Default extends EventSource {2582	    static API_BASE: string;2583	    googleCalendarApiKey: any;2584	    googleCalendarId: any;2585	    googleCalendarError: any;2586	    ajaxSettings: any;2587	    static parse(rawInput: any, calendar: any): any;2588	    fetch(start: any, end: any, timezone: any): JQueryPromise<{}>;2589	    gcalItemsToRawEventDefs(items: any, gcalTimezone: any): any;2590	    gcalItemToRawEventDef(item: any, gcalTimezone: any): {2591	        id: any;2592	        title: any;2593	        start: any;2594	        end: any;2595	        url: any;2596	        location: any;2597	        description: any;2598	    };2599	    buildUrl(): string;2600	    buildRequestParams(start: any, end: any, timezone: any): any;2601	    reportError(message: any, apiErrorObjs?: any): void;2602	    getPrimitive(): any;2603	    applyManualStandardProps(rawProps: any): any;2604	    applyMiscProps(rawProps: any): void;2605	}2606	export default Default;2607}2608declare module 'fullcalendar' {2609	import main = require('fullcalendar/src/main');2610	export = main;...fix_reduce.py
Source:fix_reduce.py  
1# Copyright 2008 Armin Ronacher.2# Licensed to PSF under a Contributor Agreement.3"""Fixer for reduce().4Makes sure reduce() is imported from the functools module if reduce is5used in that module.6"""7from lib2to3 import fixer_base8from lib2to3.fixer_util import touch_import9class FixReduce(fixer_base.BaseFix):10    BM_compatible = True11    order = "pre"12    PATTERN = """13    power< 'reduce'14        trailer< '('15            arglist< (16                (not(argument<any '=' any>) any ','17                 not(argument<any '=' any>) any) |18                (not(argument<any '=' any>) any ','19                 not(argument<any '=' any>) any ','20                 not(argument<any '=' any>) any)21            ) >22        ')' >23    >24    """25    def transform(self, node, results):...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
