from otp.otpbase import OTPGlobals
from toontown.toonbase import ToontownBattleGlobals
from toontown.toonbase import ToontownGlobals
from toontown.battle import SuitBattleGlobals
from toontown.coghq import CogDisguiseGlobals
import random
from toontown.toon import NPCToons
import copy
from toontown.hood import ZoneUtil
from direct.directnotify import DirectNotifyGlobal
from toontown.toonbase import TTLocalizer
from direct.showbase import PythonUtil
import time, types, random
notify = DirectNotifyGlobal.directNotify.newCategory('Quests')
ItemDict = TTLocalizer.QuestsItemDict
CompleteString = TTLocalizer.QuestsCompleteString
NotChosenString = TTLocalizer.QuestsNotChosenString
DefaultGreeting = TTLocalizer.QuestsDefaultGreeting
DefaultIncomplete = TTLocalizer.QuestsDefaultIncomplete
DefaultIncompleteProgress = TTLocalizer.QuestsDefaultIncompleteProgress
DefaultIncompleteWrongNPC = TTLocalizer.QuestsDefaultIncompleteWrongNPC
DefaultComplete = TTLocalizer.QuestsDefaultComplete
DefaultLeaving = TTLocalizer.QuestsDefaultLeaving
DefaultReject = TTLocalizer.QuestsDefaultReject
DefaultTierNotDone = TTLocalizer.QuestsDefaultTierNotDone
DefaultQuest = TTLocalizer.QuestsDefaultQuest
DefaultVisitQuestDialog = TTLocalizer.QuestsDefaultVisitQuestDialog
GREETING = 0
QUEST = 1
INCOMPLETE = 2
INCOMPLETE_PROGRESS = 3
INCOMPLETE_WRONG_NPC = 4
COMPLETE = 5
LEAVING = 6
Any = 1
OBSOLETE = 'OBSOLETE'
Start = 1
Cont = 0
Anywhere = 1
NA = 2
Same = 3
AnyFish = 4
AnyCashbotSuitPart = 5
AnyLawbotSuitPart = 6
AnyBossbotSuitPart = 7
ToonTailor = 999
ToonHQ = 1000
QuestDictTierIndex = 0
QuestDictStartIndex = 1
QuestDictDescIndex = 2
QuestDictFromNpcIndex = 3
QuestDictToNpcIndex = 4
QuestDictRewardIndex = 5
QuestDictNextQuestIndex = 6
QuestDictDialogIndex = 7
VeryEasy = 100
Easy = 75
Medium = 50
Hard = 25
VeryHard = 20
TT_TIER = 0
DD_TIER = 4
DG_TIER = 7
MM_TIER = 8
BR_TIER = 11
DL_TIER = 14
LAWBOT_HQ_TIER = 18
BOSSBOT_HQ_TIER = 32
ELDER_TIER = 49
LOOPING_FINAL_TIER = ELDER_TIER
VISIT_QUEST_ID = 1000
TROLLEY_QUEST_ID = 110
FIRST_COG_QUEST_ID = 145
FRIEND_QUEST_ID = 150
PHONE_QUEST_ID = 175
NEWBIE_HP = 25
SELLBOT_HQ_NEWBIE_HP = 50
CASHBOT_HQ_NEWBIE_HP = 85
from toontown.toonbase.ToontownGlobals import FT_FullSuit, FT_Leg, FT_Arm, FT_Torso
QuestRandGen = random.Random()

def seedRandomGen(npcId, avId, tier, rewardHistory):
    QuestRandGen.seed(npcId * 100 + avId + tier + len(rewardHistory))


def seededRandomChoice(seq):
    return QuestRandGen.choice(seq)


def getCompleteStatusWithNpc(questComplete, toNpcId, npc):
    if questComplete:
        if npc:
            if npcMatches(toNpcId, npc):
                return COMPLETE
            else:
                return INCOMPLETE_WRONG_NPC
        else:
            return COMPLETE
    elif npc:
        if npcMatches(toNpcId, npc):
            return INCOMPLETE_PROGRESS
        else:
            return INCOMPLETE
    else:
        return INCOMPLETE


def npcMatches(toNpcId, npc):
    return toNpcId == npc.getNpcId() or toNpcId == Any or toNpcId == ToonHQ and npc.getHq() or toNpcId == ToonTailor and npc.getTailor()


def calcRecoverChance(numberNotDone, baseChance, cap = 1):
    chance = baseChance
    avgNum2Kill = 1.0 / (chance / 100.0)
    if numberNotDone >= avgNum2Kill * 1.5 and cap:
        chance = 1000
    elif numberNotDone > avgNum2Kill * 0.5:
        diff = float(numberNotDone - avgNum2Kill * 0.5)
        luck = 1.0 + abs(diff / (avgNum2Kill * 0.5))
        chance *= luck
    return chance


def simulateRecoveryVar(numNeeded, baseChance, list = 0, cap = 1):
    numHave = 0
    numTries = 0
    greatestFailChain = 0
    currentFail = 0
    capHits = 0
    attemptList = {}
    while numHave < numNeeded:
        numTries += 1
        chance = calcRecoverChance(currentFail, baseChance, cap)
        test = random.random() * 100
        if chance == 1000:
            capHits += 1
        if test < chance:
            numHave += 1
            if currentFail > greatestFailChain:
                greatestFailChain = currentFail
            if attemptList.get(currentFail):
                attemptList[currentFail] += 1
            else:
                attemptList[currentFail] = 1
            currentFail = 0
        else:
            currentFail += 1

    print('Test results: %s tries, %s longest failure chain, %s cap hits' % (numTries, greatestFailChain, capHits))
    if list:
        print('failures for each succes %s' % attemptList)


def simulateRecoveryFix(numNeeded, baseChance, list = 0):
    numHave = 0
    numTries = 0
    greatestFailChain = 0
    currentFail = 0
    attemptList = {}
    while numHave < numNeeded:
        numTries += 1
        chance = baseChance
        test = random.random() * 100
        if test < chance:
            numHave += 1
            if currentFail > greatestFailChain:
                greatestFailChain = currentFail
            if attemptList.get(currentFail):
                attemptList[currentFail] += 1
            else:
                attemptList[currentFail] = 1
            currentFail = 0
        else:
            currentFail += 1

    print('Test results: %s tries, %s longest failure chain' % (numTries, greatestFailChain))
    if list:
        print('failures for each succes %s' % attemptList)


class Quest:
    _cogTracks = [Any,
     'c',
     'l',
     'm',
     's']
    _factoryTypes = [Any,
     FT_FullSuit,
     FT_Leg,
     FT_Arm,
     FT_Torso]

    def check(self, cond, msg):
        pass

    def checkLocation(self, location):
        locations = [Anywhere] + list(TTLocalizer.GlobalStreetNames.keys())
        self.check(location in locations, 'invalid location: %s' % location)

    def checkNumCogs(self, num):
        self.check(1, 'invalid number of cogs: %s' % num)

    def checkNewbieLevel(self, level):
        self.check(1, 'invalid newbie level: %s' % level)

    def checkCogType(self, type):
        types = [Any] + list(SuitBattleGlobals.SuitAttributes.keys())
        self.check(type in types, 'invalid cog type: %s' % type)

    def checkCogTrack(self, track):
        self.check(track in self._cogTracks, 'invalid cog track: %s' % track)

    def checkCogLevel(self, level):
        self.check(level >= 1 and level <= 12, 'invalid cog level: %s' % level)

    def checkNumSkelecogs(self, num):
        self.check(1, 'invalid number of cogs: %s' % num)

    def checkSkelecogTrack(self, track):
        self.check(track in self._cogTracks, 'invalid cog track: %s' % track)

    def checkSkelecogLevel(self, level):
        self.check(level >= 1 and level <= 12, 'invalid cog level: %s' % level)

    def checkNumSkeleRevives(self, num):
        self.check(1, 'invalid number of cogs: %s' % num)

    def checkNumForemen(self, num):
        self.check(num > 0, 'invalid number of foremen: %s' % num)

    def checkNumVPs(self, num):
        self.check(num > 0, 'invalid number of VPs: %s' % num)

    def checkNumSupervisors(self, num):
        self.check(num > 0, 'invalid number of supervisors: %s' % num)

    def checkNumCFOs(self, num):
        self.check(num > 0, 'invalid number of CFOs: %s' % num)

    def checkNumBuildings(self, num):
        self.check(1, 'invalid num buildings: %s' % num)

    def checkBuildingTrack(self, track):
        self.check(track in self._cogTracks, 'invalid building track: %s' % track)

    def checkBuildingFloors(self, floors):
        self.check(floors >= 1 and floors <= 5, 'invalid num floors: %s' % floors)

    def checkNumFactories(self, num):
        self.check(1, 'invalid num factories: %s' % num)

    def checkFactoryType(self, type):
        self.check(type in self._factoryTypes, 'invalid factory type: %s' % type)

    def checkNumMints(self, num):
        self.check(1, 'invalid num mints: %s' % num)

    def checkNumCogParts(self, num):
        self.check(1, 'invalid num cog parts: %s' % num)

    def checkNumGags(self, num):
        self.check(1, 'invalid num gags: %s' % num)

    def checkGagTrack(self, track):
        self.check(track >= ToontownBattleGlobals.MIN_TRACK_INDEX and track <= ToontownBattleGlobals.MAX_TRACK_INDEX, 'invalid gag track: %s' % track)

    def checkGagItem(self, item):
        self.check(item >= ToontownBattleGlobals.MIN_LEVEL_INDEX and item <= ToontownBattleGlobals.MAX_LEVEL_INDEX, 'invalid gag item: %s' % item)

    def checkDeliveryItem(self, item):
        self.check(item in ItemDict, 'invalid delivery item: %s' % item)

    def checkNumItems(self, num):
        self.check(1, 'invalid num items: %s' % num)

    def checkRecoveryItem(self, item):
        self.check(item in ItemDict, 'invalid recovery item: %s' % item)

    def checkPercentChance(self, chance):
        self.check(chance > 0 and chance <= 100, 'invalid percent chance: %s' % chance)

    def checkRecoveryItemHolderAndType(self, holder, holderType = 'type'):
        holderTypes = ['type', 'level', 'track']
        self.check(holderType in holderTypes, 'invalid recovery item holderType: %s' % holderType)
        if holderType == 'type':
            holders = [Any, AnyFish] + list(SuitBattleGlobals.SuitAttributes.keys())
            self.check(holder in holders, 'invalid recovery item holder: %s for holderType: %s' % (holder, holderType))
        elif holderType == 'level':
            pass
        elif holderType == 'track':
            self.check(holder in self._cogTracks, 'invalid recovery item holder: %s for holderType: %s' % (holder, holderType))

    def checkTrackChoice(self, option):
        self.check(option >= ToontownBattleGlobals.MIN_TRACK_INDEX and option <= ToontownBattleGlobals.MAX_TRACK_INDEX, 'invalid track option: %s' % option)

    def checkNumFriends(self, num):
        self.check(1, 'invalid number of friends: %s' % num)

    def checkNumMinigames(self, num):
        self.check(1, 'invalid number of minigames: %s' % num)

    def filterFunc(avatar):
        return 1

    filterFunc = staticmethod(filterFunc)

    def __init__(self, id, quest):
        self.id = id
        self.quest = quest

    def getId(self):
        return self.id

    def getType(self):
        return self.__class__

    def getObjectiveStrings(self):
        return ['']

    def getString(self):
        return self.getObjectiveStrings()[0]

    def getRewardString(self, progressString):
        return self.getString() + ' : ' + progressString

    def getChooseString(self):
        return self.getString()

    def getPosterString(self):
        return self.getString()

    def getHeadlineString(self):
        return self.getString()

    def getDefaultQuestDialog(self):
        return self.getString() + TTLocalizer.Period

    def getNumQuestItems(self):
        return -1

    def addArticle(self, num, oString):
        if len(oString) == 0:
            return oString
        if num == 1:
            return oString
        else:
            return '%d %s' % (num, oString)

    def __repr__(self):
        return 'Quest type: %s id: %s params: %s' % (self.__class__.__name__, self.id, self.quest[0:])

    def doesCogCount(self, avId, cogDict, zoneId, avList):
        return 0

    def doesVPCount(self, avId, cogDict, zoneId, avList):
        return 0

    def doesCFOCount(self, avId, cogDict, zoneId, avList):
        return 0

    def doesFactoryCount(self, avId, location, avList):
        return 0

    def doesMintCount(self, avId, location, avList):
        return 0

    def doesCogPartCount(self, avId, location, avList):
        return 0

    def getCompletionStatus(self, av, questDesc, npc = None):
        notify.error('Pure virtual - please override me')
        return None


class LocationBasedQuest(Quest):
    def __init__(self, id, quest):
        Quest.__init__(self, id, quest)
        self.checkLocation(self.quest[0])

    def getLocation(self):
        return self.quest[0]

    def getLocationName(self):
        loc = self.getLocation()
        if loc == Anywhere:
            locName = ''
        elif loc in ToontownGlobals.hoodNameMap:
            locName = TTLocalizer.QuestInLocationString % {'inPhrase': ToontownGlobals.hoodNameMap[loc][1],
             'location': ToontownGlobals.hoodNameMap[loc][-1] + TTLocalizer.QuestsLocationArticle}
        elif loc in ToontownGlobals.StreetBranchZones:
            locName = TTLocalizer.QuestInLocationString % {'inPhrase': ToontownGlobals.StreetNames[loc][1],
             'location': ToontownGlobals.StreetNames[loc][-1] + TTLocalizer.QuestsLocationArticle}
        return locName

    def isLocationMatch(self, zoneId):
        loc = self.getLocation()
        if loc is Anywhere:
            return 1
        if ZoneUtil.isPlayground(loc):
            if loc == ZoneUtil.getCanonicalHoodId(zoneId):
                return 1
            else:
                return 0
        elif loc == ZoneUtil.getCanonicalBranchZone(zoneId):
            return 1
        elif loc == zoneId:
            return 1
        else:
            return 0

    def getChooseString(self):
        return TTLocalizer.QuestsLocationString % {'string': self.getString(),
         'location': self.getLocationName()}

    def getPosterString(self):
        return TTLocalizer.QuestsLocationString % {'string': self.getString(),
         'location': self.getLocationName()}

    def getDefaultQuestDialog(self):
        return (TTLocalizer.QuestsLocationString + TTLocalizer.Period) % {'string': self.getString(),
         'location': self.getLocationName()}


class NewbieQuest:
    def getNewbieLevel(self):
        notify.error('Pure virtual - please override me')

    def getString(self, newStr = TTLocalizer.QuestsCogNewNewbieQuestObjective, oldStr = TTLocalizer.QuestsCogOldNewbieQuestObjective):
        laff = self.getNewbieLevel()
        if laff <= NEWBIE_HP:
            return newStr % self.getObjectiveStrings()[0]
        else:
            return oldStr % {'laffPoints': laff,
             'objective': self.getObjectiveStrings()[0]}

    def getCaption(self):
        laff = self.getNewbieLevel()
        if laff <= NEWBIE_HP:
            return TTLocalizer.QuestsCogNewNewbieQuestCaption % laff
        else:
            return TTLocalizer.QuestsCogOldNewbieQuestCaption % laff

    def getNumNewbies(self, avId, avList):
        newbieHp = self.getNewbieLevel()
        num = 0
        for av in avList:
            if av.getDoId() != avId and av.getMaxHp() <= newbieHp:
                num += 1

        return num


class CogQuest(LocationBasedQuest):
    def __init__(self, id, quest):
        LocationBasedQuest.__init__(self, id, quest)
        if self.__class__ == CogQuest:
            self.checkNumCogs(self.quest[1])
            self.checkCogType(self.quest[2])

    def getCogType(self):
        return self.quest[2]

    def getNumQuestItems(self):
        return self.getNumCogs()

    def getNumCogs(self):
        return self.quest[1]

    def getCompletionStatus(self, av, questDesc, npc = None):
        questId, fromNpcId, toNpcId, rewardId, toonProgress = questDesc
        questComplete = toonProgress >= self.getNumCogs()
        return getCompleteStatusWithNpc(questComplete, toNpcId, npc)

    def getProgressString(self, avatar, questDesc):
        if self.getCompletionStatus(avatar, questDesc) == COMPLETE:
            return CompleteString
        elif self.getNumCogs() == 1:
            return ''
        else:
            return TTLocalizer.QuestsCogQuestProgress % {'progress': questDesc[4],
             'numCogs': self.getNumCogs()}

    def getCogNameString(self):
        numCogs = self.getNumCogs()
        cogType = self.getCogType()
        if numCogs == 1:
            if cogType == Any:
                return TTLocalizer.Cog
            else:
                return SuitBattleGlobals.SuitAttributes[cogType]['singularname']
        elif cogType == Any:
            return TTLocalizer.Cogs
        else:
            return SuitBattleGlobals.SuitAttributes[cogType]['pluralname']

    def getObjectiveStrings(self):
        cogName = self.getCogNameString()
        numCogs = self.getNumCogs()
        if numCogs == 1:
            text = cogName
        else:
            text = TTLocalizer.QuestsCogQuestDefeatDesc % {'numCogs': numCogs,
             'cogName': cogName}
        return (text,)

    def getString(self):
        return TTLocalizer.QuestsCogQuestDefeat % self.getObjectiveStrings()[0]

    def getSCStrings(self, toNpcId, progress):
        if progress >= self.getNumCogs():
            return getFinishToonTaskSCStrings(toNpcId)
        cogName = self.getCogNameString()
        numCogs = self.getNumCogs()
        if numCogs == 1:
            text = TTLocalizer.QuestsCogQuestSCStringS
        else:
            text = TTLocalizer.QuestsCogQuestSCStringP
        cogLoc = self.getLocationName()
        return text % {'cogName': cogName,
         'cogLoc': cogLoc}

    def getHeadlineString(self):
        return TTLocalizer.QuestsCogQuestHeadline

    def doesCogCount(self, avId, cogDict, zoneId, avList):
        questCogType = self.getCogType()
        return (questCogType is Any or questCogType is cogDict['type']) and avId in cogDict['activeToons'] and self.isLocationMatch(zoneId)


class CogNewbieQuest(CogQuest, NewbieQuest):
    def __init__(self, id, quest):
        CogQuest.__init__(self, id, quest)
        if self.__class__ == CogNewbieQuest:
            self.checkNumCogs(self.quest[1])
            self.checkCogType(self.quest[2])
            self.checkNewbieLevel(self.quest[3])

    def getNewbieLevel(self):
        return self.quest[3]

    def getString(self):
        return NewbieQuest.getString(self)

    def doesCogCount(self, avId, cogDict, zoneId, avList):
        if CogQuest.doesCogCount(self, avId, cogDict, zoneId, avList):
            return self.getNumNewbies(avId, avList)
        else:
            return 0


class CogTrackQuest(CogQuest):
    trackCodes = ['c',
     'l',
     'm',
     's']
    trackNamesS = [TTLocalizer.BossbotS,
     TTLocalizer.LawbotS,
     TTLocalizer.CashbotS,
     TTLocalizer.SellbotS]
    trackNamesP = [TTLocalizer.BossbotP,
     TTLocalizer.LawbotP,
     TTLocalizer.CashbotP,
     TTLocalizer.SellbotP]

    def __init__(self, id, quest):
        CogQuest.__init__(self, id, quest)
        if self.__class__ == CogTrackQuest:
            self.checkNumCogs(self.quest[1])
            self.checkCogTrack(self.quest[2])

    def getCogTrack(self):
        return self.quest[2]

    def getProgressString(self, avatar, questDesc):
        if self.getCompletionStatus(avatar, questDesc) == COMPLETE:
            return CompleteString
        elif self.getNumCogs() == 1:
            return ''
        else:
            return TTLocalizer.QuestsCogTrackQuestProgress % {'progress': questDesc[4],
             'numCogs': self.getNumCogs()}

    def getObjectiveStrings(self):
        numCogs = self.getNumCogs()
        track = self.trackCodes.index(self.getCogTrack())
        if numCogs == 1:
            text = self.trackNamesS[track]
        else:
            text = TTLocalizer.QuestsCogTrackDefeatDesc % {'numCogs': numCogs,
             'trackName': self.trackNamesP[track]}
        return (text,)

    def getString(self):
        return TTLocalizer.QuestsCogTrackQuestDefeat % self.getObjectiveStrings()[0]

    def getSCStrings(self, toNpcId, progress):
        if progress >= self.getNumCogs():
            return getFinishToonTaskSCStrings(toNpcId)
        numCogs = self.getNumCogs()
        track = self.trackCodes.index(self.getCogTrack())
        if numCogs == 1:
            cogText = self.trackNamesS[track]
            text = TTLocalizer.QuestsCogTrackQuestSCStringS
        else:
            cogText = self.trackNamesP[track]
            text = TTLocalizer.QuestsCogTrackQuestSCStringP
        cogLocName = self.getLocationName()
        return text % {'cogText': cogText,
         'cogLoc': cogLocName}

    def getHeadlineString(self):
        return TTLocalizer.QuestsCogTrackQuestHeadline

    def doesCogCount(self, avId, cogDict, zoneId, avList):
        questCogTrack = self.getCogTrack()
        return questCogTrack == cogDict['track'] and avId in cogDict['activeToons'] and self.isLocationMatch(zoneId)


class CogLevelQuest(CogQuest):
    def __init__(self, id, quest):
        CogQuest.__init__(self, id, quest)
        self.checkNumCogs(self.quest[1])
        self.checkCogLevel(self.quest[2])

    def getCogType(self):
        return Any

    def getCogLevel(self):
        return self.quest[2]

    def getProgressString(self, avatar, questDesc):
        if self.getCompletionStatus(avatar, questDesc) == COMPLETE:
            return CompleteString
        elif self.getNumCogs() == 1:
            return ''
        else:
            return TTLocalizer.QuestsCogLevelQuestProgress % {'progress': questDesc[4],
             'numCogs': self.getNumCogs()}

    def getObjectiveStrings(self):
        count = self.getNumCogs()
        level = self.getCogLevel()
        name = self.getCogNameString()
        if count == 1:
            text = TTLocalizer.QuestsCogLevelQuestDesc
        else:
            text = TTLocalizer.QuestsCogLevelQuestDescC
        return (text % {'count': count,
          'level': level,
          'name': name},)

    def getString(self):
        return TTLocalizer.QuestsCogLevelQuestDefeat % self.getObjectiveStrings()[0]

    def getSCStrings(self, toNpcId, progress):
        if progress >= self.getNumCogs():
            return getFinishToonTaskSCStrings(toNpcId)
        count = self.getNumCogs()
        level = self.getCogLevel()
        name = self.getCogNameString()
        if count == 1:
            text = TTLocalizer.QuestsCogLevelQuestDesc
        else:
            text = TTLocalizer.QuestsCogLevelQuestDescI
        objective = text % {'level': level,
         'name': name}
        location = self.getLocationName()
        return TTLocalizer.QuestsCogLevelQuestSCString % {'objective': objective,
         'location': location}

    def getHeadlineString(self):
        return TTLocalizer.QuestsCogLevelQuestHeadline

    def doesCogCount(self, avId, cogDict, zoneId, avList):
        questCogLevel = self.getCogLevel()
        return questCogLevel <= cogDict['level'] and avId in cogDict['activeToons'] and self.isLocationMatch(zoneId)


class SkelecogQBase:
    def getCogNameString(self):
        numCogs = self.getNumCogs()
        if numCogs == 1:
            return TTLocalizer.ASkeleton
        else:
            return TTLocalizer.SkeletonP

    def doesCogCount(self, avId, cogDict, zoneId, avList):
        return cogDict['isSkelecog'] and avId in cogDict['activeToons'] and self.isLocationMatch(zoneId)


class SkelecogQuest(CogQuest, SkelecogQBase):
    def __init__(self, id, quest):
        CogQuest.__init__(self, id, quest)
        self.checkNumSkelecogs(self.quest[1])

    def getCogType(self):
        return Any

    def getCogNameString(self):
        return SkelecogQBase.getCogNameString(self)

    def doesCogCount(self, avId, cogDict, zoneId, avList):
        return SkelecogQBase.doesCogCount(self, avId, cogDict, zoneId, avList)


class SkelecogNewbieQuest(SkelecogQuest, NewbieQuest):
    def __init__(self, id, quest):
        SkelecogQuest.__init__(self, id, quest)
        self.checkNewbieLevel(self.quest[2])

    def getNewbieLevel(self):
        return self.quest[2]

    def getString(self):
        return NewbieQuest.getString(self)

    def doesCogCount(self, avId, cogDict, zoneId, avList):
        if SkelecogQuest.doesCogCount(self, avId, cogDict, zoneId, avList):
            return self.getNumNewbies(avId, avList)
        else:
            return 0


class SkelecogTrackQuest(CogTrackQuest, SkelecogQBase):
    trackNamesS = [TTLocalizer.BossbotSkelS,
     TTLocalizer.LawbotSkelS,
     TTLocalizer.CashbotSkelS,
     TTLocalizer.SellbotSkelS]
    trackNamesP = [TTLocalizer.BossbotSkelP,
     TTLocalizer.LawbotSkelP,
     TTLocalizer.CashbotSkelP,
     TTLocalizer.SellbotSkelP]

    def __init__(self, id, quest):
        CogTrackQuest.__init__(self, id, quest)
        self.checkNumSkelecogs(self.quest[1])
        self.checkSkelecogTrack(self.quest[2])

    def getCogNameString(self):
        return SkelecogQBase.getCogNameString(self)

    def doesCogCount(self, avId, cogDict, zoneId, avList):
        return SkelecogQBase.doesCogCount(self, avId, cogDict, zoneId, avList) and self.getCogTrack() == cogDict['track']


class SkelecogLevelQuest(CogLevelQuest, SkelecogQBase):
    def __init__(self, id, quest):
        CogLevelQuest.__init__(self, id, quest)
        self.checkNumSkelecogs(self.quest[1])
        self.checkSkelecogLevel(self.quest[2])

    def getCogType(self):
        return Any

    def getCogNameString(self):
        return SkelecogQBase.getCogNameString(self)

    def doesCogCount(self, avId, cogDict, zoneId, avList):
        return SkelecogQBase.doesCogCount(self, avId, cogDict, zoneId, avList) and self.getCogLevel() <= cogDict['level']


class SkeleReviveQBase:
    def getCogNameString(self):
        numCogs = self.getNumCogs()
        if numCogs == 1:
            return TTLocalizer.Av2Cog
        else:
            return TTLocalizer.v2CogP

    def doesCogCount(self, avId, cogDict, zoneId, avList):
        return cogDict['hasRevives'] and avId in cogDict['activeToons'] and self.isLocationMatch(zoneId)


class SkeleReviveQuest(CogQuest, SkeleReviveQBase):
    def __init__(self, id, quest):
        CogQuest.__init__(self, id, quest)
        self.checkNumSkeleRevives(self.quest[1])

    def getCogType(self):
        return Any

    def getCogNameString(self):
        return SkeleReviveQBase.getCogNameString(self)

    def doesCogCount(self, avId, cogDict, zoneId, avList):
        return SkeleReviveQBase.doesCogCount(self, avId, cogDict, zoneId, avList)


class ForemanQuest(CogQuest):
    def __init__(self, id, quest):
        CogQuest.__init__(self, id, quest)
        self.checkNumForemen(self.quest[1])

    def getCogType(self):
        return Any

    def getCogNameString(self):
        numCogs = self.getNumCogs()
        if numCogs == 1:
            return TTLocalizer.AForeman
        else:
            return TTLocalizer.ForemanP

    def doesCogCount(self, avId, cogDict, zoneId, avList):
        return bool(CogQuest.doesCogCount(self, avId, cogDict, zoneId, avList) and cogDict['isForeman'])


class ForemanNewbieQuest(ForemanQuest, NewbieQuest):
    def __init__(self, id, quest):
        ForemanQuest.__init__(self, id, quest)
        self.checkNewbieLevel(self.quest[2])

    def getNewbieLevel(self):
        return self.quest[2]

    def getString(self):
        return NewbieQuest.getString(self)

    def doesCogCount(self, avId, cogDict, zoneId, avList):
        if ForemanQuest.doesCogCount(self, avId, cogDict, zoneId, avList):
            return self.getNumNewbies(avId, avList)
        else:
            return 0


class VPQuest(CogQuest):
    def __init__(self, id, quest):
        CogQuest.__init__(self, id, quest)
        self.checkNumVPs(self.quest[1])

    def getCogType(self):
        return Any

    def getCogNameString(self):
        numCogs = self.getNumCogs()
        if numCogs == 1:
            return TTLocalizer.ACogVP
        else:
            return TTLocalizer.CogVPs

    def doesCogCount(self, avId, cogDict, zoneId, avList):
        return 0

    def doesVPCount(self, avId, cogDict, zoneId, avList):
        return self.isLocationMatch(zoneId)


class VPNewbieQuest(VPQuest, NewbieQuest):
    def __init__(self, id, quest):
        VPQuest.__init__(self, id, quest)
        self.checkNewbieLevel(self.quest[2])

    def getNewbieLevel(self):
        return self.quest[2]

    def getString(self):
        return NewbieQuest.getString(self)

    def doesVPCount(self, avId, cogDict, zoneId, avList):
        if VPQuest.doesVPCount(self, avId, cogDict, zoneId, avList):
            return self.getNumNewbies(avId, avList)
        else:
            return 0


class SupervisorQuest(CogQuest):
    def __init__(self, id, quest):
        CogQuest.__init__(self, id, quest)
        self.checkNumSupervisors(self.quest[1])

    def getCogType(self):
        return Any

    def getCogNameString(self):
        numCogs = self.getNumCogs()
        if numCogs == 1:
            return TTLocalizer.ASupervisor
        else:
            return TTLocalizer.SupervisorP

    def doesCogCount(self, avId, cogDict, zoneId, avList):
        return bool(CogQuest.doesCogCount(self, avId, cogDict, zoneId, avList) and cogDict['isSupervisor'])


class SupervisorNewbieQuest(SupervisorQuest, NewbieQuest):
    def __init__(self, id, quest):
        SupervisorQuest.__init__(self, id, quest)
        self.checkNewbieLevel(self.quest[2])

    def getNewbieLevel(self):
        return self.quest[2]

    def getString(self):
        return NewbieQuest.getString(self)

    def doesCogCount(self, avId, cogDict, zoneId, avList):
        if SupervisorQuest.doesCogCount(self, avId, cogDict, zoneId, avList):
            return self.getNumNewbies(avId, avList)
        else:
            return 0


class CFOQuest(CogQuest):
    def __init__(self, id, quest):
        CogQuest.__init__(self, id, quest)
        self.checkNumCFOs(self.quest[1])

    def getCogType(self):
        return Any

    def getCogNameString(self):
        numCogs = self.getNumCogs()
        if numCogs == 1:
            return TTLocalizer.ACogCFO
        else:
            return TTLocalizer.CogCFOs

    def doesCogCount(self, avId, cogDict, zoneId, avList):
        return 0

    def doesCFOCount(self, avId, cogDict, zoneId, avList):
        return self.isLocationMatch(zoneId)


class CFONewbieQuest(CFOQuest, NewbieQuest):
    def __init__(self, id, quest):
        CFOQuest.__init__(self, id, quest)
        self.checkNewbieLevel(self.quest[2])

    def getNewbieLevel(self):
        return self.quest[2]

    def getString(self):
        return NewbieQuest.getString(self)

    def doesCFOCount(self, avId, cogDict, zoneId, avList):
        if CFOQuest.doesCFOCount(self, avId, cogDict, zoneId, avList):
            return self.getNumNewbies(avId, avList)
        else:
            return 0


class RescueQuest(VPQuest):
    def __init__(self, id, quest):
        VPQuest.__init__(self, id, quest)

    def getNumToons(self):
        return self.getNumCogs()

    def getProgressString(self, avatar, questDesc):
        if self.getCompletionStatus(avatar, questDesc) == COMPLETE:
            return CompleteString
        elif self.getNumToons() == 1:
            return ''
        else:
            return TTLocalizer.QuestsRescueQuestProgress % {'progress': questDesc[4],
             'numToons': self.getNumToons()}

    def getObjectiveStrings(self):
        numToons = self.getNumCogs()
        if numToons == 1:
            text = TTLocalizer.QuestsRescueQuestToonS
        else:
            text = TTLocalizer.QuestsRescueQuestRescueDesc % {'numToons': numToons}
        return (text,)

    def getString(self):
        return TTLocalizer.QuestsRescueQuestRescue % self.getObjectiveStrings()[0]

    def getSCStrings(self, toNpcId, progress):
        if progress >= self.getNumToons():
            return getFinishToonTaskSCStrings(toNpcId)
        numToons = self.getNumToons()
        if numToons == 1:
            text = TTLocalizer.QuestsRescueQuestSCStringS
        else:
            text = TTLocalizer.QuestsRescueQuestSCStringP
        toonLoc = self.getLocationName()
        return text % {'toonLoc': toonLoc}

    def getHeadlineString(self):
        return TTLocalizer.QuestsRescueQuestHeadline


class RescueNewbieQuest(RescueQuest, NewbieQuest):
    def __init__(self, id, quest):
        RescueQuest.__init__(self, id, quest)
        self.checkNewbieLevel(self.quest[2])

    def getNewbieLevel(self):
        return self.quest[2]

    def getString(self):
        return NewbieQuest.getString(self, newStr=TTLocalizer.QuestsRescueNewNewbieQuestObjective, oldStr=TTLocalizer.QuestsRescueOldNewbieQuestObjective)

    def doesVPCount(self, avId, cogDict, zoneId, avList):
        if RescueQuest.doesVPCount(self, avId, cogDict, zoneId, avList):
            return self.getNumNewbies(avId, avList)
        else:
            return 0


class BuildingQuest(CogQuest):
    trackCodes = ['c',
     'l',
     'm',
     's']
    trackNames = [TTLocalizer.Bossbot,
     TTLocalizer.Lawbot,
     TTLocalizer.Cashbot,
     TTLocalizer.Sellbot]

    def __init__(self, id, quest):
        CogQuest.__init__(self, id, quest)
        self.checkNumBuildings(self.quest[1])
        self.checkBuildingTrack(self.quest[2])
        self.checkBuildingFloors(self.quest[3])

    def getNumFloors(self):
        return self.quest[3]

    def getBuildingTrack(self):
        return self.quest[2]

    def getNumQuestItems(self):
        return self.getNumBuildings()

    def getNumBuildings(self):
        return self.quest[1]

    def getCompletionStatus(self, av, questDesc, npc = None):
        questId, fromNpcId, toNpcId, rewardId, toonProgress = questDesc
        questComplete = toonProgress >= self.getNumBuildings()
        return getCompleteStatusWithNpc(questComplete, toNpcId, npc)

    def getProgressString(self, avatar, questDesc):
        if self.getCompletionStatus(avatar, questDesc) == COMPLETE:
            return CompleteString
        elif self.getNumBuildings() == 1:
            return ''
        else:
            return TTLocalizer.QuestsBuildingQuestProgressString % {'progress': questDesc[4],
             'num': self.getNumBuildings()}

    def getObjectiveStrings(self):
        count = self.getNumBuildings()
        floors = TTLocalizer.QuestsBuildingQuestFloorNumbers[self.getNumFloors() - 1]
        buildingTrack = self.getBuildingTrack()
        if buildingTrack == Any:
            type = TTLocalizer.Cog
        else:
            type = self.trackNames[self.trackCodes.index(buildingTrack)]
        if count == 1:
            if floors == '':
                text = TTLocalizer.QuestsBuildingQuestDesc
            else:
                text = TTLocalizer.QuestsBuildingQuestDescF
        elif floors == '':
            text = TTLocalizer.QuestsBuildingQuestDescC
        else:
            text = TTLocalizer.QuestsBuildingQuestDescCF
        return (text % {'count': count,
          'floors': floors,
          'type': type},)

    def getString(self):
        return TTLocalizer.QuestsBuildingQuestString % self.getObjectiveStrings()[0]

    def getSCStrings(self, toNpcId, progress):
        if progress >= self.getNumBuildings():
            return getFinishToonTaskSCStrings(toNpcId)
        count = self.getNumBuildings()
        floors = TTLocalizer.QuestsBuildingQuestFloorNumbers[self.getNumFloors() - 1]
        buildingTrack = self.getBuildingTrack()
        if buildingTrack == Any:
            type = TTLocalizer.Cog
        else:
            type = self.trackNames[self.trackCodes.index(buildingTrack)]
        if count == 1:
            if floors == '':
                text = TTLocalizer.QuestsBuildingQuestDesc
            else:
                text = TTLocalizer.QuestsBuildingQuestDescF
        elif floors == '':
            text = TTLocalizer.QuestsBuildingQuestDescI
        else:
            text = TTLocalizer.QuestsBuildingQuestDescIF
        objective = text % {'floors': floors,
         'type': type}
        location = self.getLocationName()
        return TTLocalizer.QuestsBuildingQuestSCString % {'objective': objective,
         'location': location}

    def getHeadlineString(self):
        return TTLocalizer.QuestsBuildingQuestHeadline

    def doesCogCount(self, avId, cogDict, zoneId, avList):
        return 0

    def doesBuildingCount(self, avId, avList):
        return 1


class BuildingNewbieQuest(BuildingQuest, NewbieQuest):
    def __init__(self, id, quest):
        BuildingQuest.__init__(self, id, quest)
        self.checkNewbieLevel(self.quest[4])

    def getNewbieLevel(self):
        return self.quest[4]

    def getString(self):
        return NewbieQuest.getString(self)

    def getHeadlineString(self):
        return TTLocalizer.QuestsNewbieQuestHeadline

    def doesBuildingCount(self, avId, avList):
        return self.getNumNewbies(avId, avList)


class FactoryQuest(LocationBasedQuest):
    factoryTypeNames = {FT_FullSuit: TTLocalizer.Cog,
     FT_Leg: TTLocalizer.FactoryTypeLeg,
     FT_Arm: TTLocalizer.FactoryTypeArm,
     FT_Torso: TTLocalizer.FactoryTypeTorso}

    def __init__(self, id, quest):
        LocationBasedQuest.__init__(self, id, quest)
        self.checkNumFactories(self.quest[1])

    def getNumQuestItems(self):
        return self.getNumFactories()

    def getNumFactories(self):
        return self.quest[1]

    def getFactoryType(self):
        loc = self.getLocation()
        type = Any
        if loc in ToontownGlobals.factoryId2factoryType:
            type = ToontownGlobals.factoryId2factoryType[loc]
        return type

    def getCompletionStatus(self, av, questDesc, npc = None):
        questId, fromNpcId, toNpcId, rewardId, toonProgress = questDesc
        questComplete = toonProgress >= self.getNumFactories()
        return getCompleteStatusWithNpc(questComplete, toNpcId, npc)

    def getProgressString(self, avatar, questDesc):
        if self.getCompletionStatus(avatar, questDesc) == COMPLETE:
            return CompleteString
        elif self.getNumFactories() == 1:
            return ''
        else:
            return TTLocalizer.QuestsFactoryQuestProgressString % {'progress': questDesc[4],
             'num': self.getNumFactories()}

    def getObjectiveStrings(self):
        count = self.getNumFactories()
        factoryType = self.getFactoryType()
        if factoryType == Any:
            type = TTLocalizer.Cog
        else:
            type = FactoryQuest.factoryTypeNames[factoryType]
        if count == 1:
            text = TTLocalizer.QuestsFactoryQuestDesc
        else:
            text = TTLocalizer.QuestsFactoryQuestDescC
        return (text % {'count': count,
          'type': type},)

    def getString(self):
        return TTLocalizer.QuestsFactoryQuestString % self.getObjectiveStrings()[0]

    def getSCStrings(self, toNpcId, progress):
        if progress >= self.getNumFactories():
            return getFinishToonTaskSCStrings(toNpcId)
        factoryType = self.getFactoryType()
        if factoryType == Any:
            type = TTLocalizer.Cog
        else:
            type = FactoryQuest.factoryTypeNames[factoryType]
        count = self.getNumFactories()
        if count == 1:
            text = TTLocalizer.QuestsFactoryQuestDesc
        else:
            text = TTLocalizer.QuestsFactoryQuestDescI
        objective = text % {'type': type}
        location = self.getLocationName()
        return TTLocalizer.QuestsFactoryQuestSCString % {'objective': objective,
         'location': location}

    def getHeadlineString(self):
        return TTLocalizer.QuestsFactoryQuestHeadline

    def doesFactoryCount(self, avId, location, avList):
        return self.isLocationMatch(location)


class FactoryNewbieQuest(FactoryQuest, NewbieQuest):
    def __init__(self, id, quest):
        FactoryQuest.__init__(self, id, quest)
        self.checkNewbieLevel(self.quest[2])

    def getNewbieLevel(self):
        return self.quest[2]

    def getString(self):
        return NewbieQuest.getString(self)

    def getHeadlineString(self):
        return TTLocalizer.QuestsNewbieQuestHeadline

    def doesFactoryCount(self, avId, location, avList):
        if FactoryQuest.doesFactoryCount(self, avId, location, avList):
            return self.getNumNewbies(avId, avList)
        else:
            return num


class MintQuest(LocationBasedQuest):
    def __init__(self, id, quest):
        LocationBasedQuest.__init__(self, id, quest)
        self.checkNumMints(self.quest[1])

    def getNumQuestItems(self):
        return self.getNumMints()

    def getNumMints(self):
        return self.quest[1]

    def getCompletionStatus(self, av, questDesc, npc = None):
        questId, fromNpcId, toNpcId, rewardId, toonProgress = questDesc
        questComplete = toonProgress >= self.getNumMints()
        return getCompleteStatusWithNpc(questComplete, toNpcId, npc)

    def getProgressString(self, avatar, questDesc):
        if self.getCompletionStatus(avatar, questDesc) == COMPLETE:
            return CompleteString
        elif self.getNumMints() == 1:
            return ''
        else:
            return TTLocalizer.QuestsMintQuestProgressString % {'progress': questDesc[4],
             'num': self.getNumMints()}

    def getObjectiveStrings(self):
        count = self.getNumMints()
        if count == 1:
            text = TTLocalizer.QuestsMintQuestDesc
        else:
            text = TTLocalizer.QuestsMintQuestDescC % {'count': count}
        return (text,)

    def getString(self):
        return TTLocalizer.QuestsMintQuestString % self.getObjectiveStrings()[0]

    def getSCStrings(self, toNpcId, progress):
        if progress >= self.getNumMints():
            return getFinishToonTaskSCStrings(toNpcId)
        count = self.getNumMints()
        if count == 1:
            objective = TTLocalizer.QuestsMintQuestDesc
        else:
            objective = TTLocalizer.QuestsMintQuestDescI
        location = self.getLocationName()
        return TTLocalizer.QuestsMintQuestSCString % {'objective': objective,
         'location': location}

    def getHeadlineString(self):
        return TTLocalizer.QuestsMintQuestHeadline

    def doesMintCount(self, avId, location, avList):
        return self.isLocationMatch(location)


class MintNewbieQuest(MintQuest, NewbieQuest):
    def __init__(self, id, quest):
        MintQuest.__init__(self, id, quest)
        self.checkNewbieLevel(self.quest[2])

    def getNewbieLevel(self):
        return self.quest[2]

    def getString(self):
        return NewbieQuest.getString(self)

    def getHeadlineString(self):
        return TTLocalizer.QuestsNewbieQuestHeadline

    def doesMintCount(self, avId, location, avList):
        if MintQuest.doesMintCount(self, avId, location, avList):
            return self.getNumNewbies(avId, avList)
        else:
            return num


class CogPartQuest(LocationBasedQuest):
    def __init__(self, id, quest):
        LocationBasedQuest.__init__(self, id, quest)
        self.checkNumCogParts(self.quest[1])

    def getNumQuestItems(self):
        return self.getNumParts()

    def getNumParts(self):
        return self.quest[1]

    def getCompletionStatus(self, av, questDesc, npc = None):
        questId, fromNpcId, toNpcId, rewardId, toonProgress = questDesc
        questComplete = toonProgress >= self.getNumParts()
        return getCompleteStatusWithNpc(questComplete, toNpcId, npc)

    def getProgressString(self, avatar, questDesc):
        if self.getCompletionStatus(avatar, questDesc) == COMPLETE:
            return CompleteString
        elif self.getNumParts() == 1:
            return ''
        else:
            return TTLocalizer.QuestsCogPartQuestProgressString % {'progress': questDesc[4],
             'num': self.getNumParts()}

    def getObjectiveStrings(self):
        count = self.getNumParts()
        if count == 1:
            text = TTLocalizer.QuestsCogPartQuestDesc
        else:
            text = TTLocalizer.QuestsCogPartQuestDescC
        return (text % {'count': count},)

    def getString(self):
        return TTLocalizer.QuestsCogPartQuestString % self.getObjectiveStrings()[0]

    def getSCStrings(self, toNpcId, progress):
        if progress >= self.getNumParts():
            return getFinishToonTaskSCStrings(toNpcId)
        count = self.getNumParts()
        if count == 1:
            text = TTLocalizer.QuestsCogPartQuestDesc
        else:
            text = TTLocalizer.QuestsCogPartQuestDescI
        objective = text
        location = self.getLocationName()
        return TTLocalizer.QuestsCogPartQuestSCString % {'objective': objective,
         'location': location}

    def getHeadlineString(self):
        return TTLocalizer.QuestsCogPartQuestHeadline

    def doesCogPartCount(self, avId, location, avList):
        return self.isLocationMatch(location)


class CogPartNewbieQuest(CogPartQuest, NewbieQuest):
    def __init__(self, id, quest):
        CogPartQuest.__init__(self, id, quest)
        self.checkNewbieLevel(self.quest[2])

    def getNewbieLevel(self):
        return self.quest[2]

    def getString(self):
        return NewbieQuest.getString(self, newStr=TTLocalizer.QuestsCogPartNewNewbieQuestObjective, oldStr=TTLocalizer.QuestsCogPartOldNewbieQuestObjective)

    def getHeadlineString(self):
        return TTLocalizer.QuestsNewbieQuestHeadline

    def doesCogPartCount(self, avId, location, avList):
        if CogPartQuest.doesCogPartCount(self, avId, location, avList):
            return self.getNumNewbies(avId, avList)
        else:
            return num


class DeliverGagQuest(Quest):
    def __init__(self, id, quest):
        Quest.__init__(self, id, quest)
        self.checkNumGags(self.quest[0])
        self.checkGagTrack(self.quest[1])
        self.checkGagItem(self.quest[2])

    def getGagType(self):
        return (self.quest[1], self.quest[2])

    def getNumQuestItems(self):
        return self.getNumGags()

    def getNumGags(self):
        return self.quest[0]

    def getCompletionStatus(self, av, questDesc, npc = None):
        questId, fromNpcId, toNpcId, rewardId, toonProgress = questDesc
        gag = self.getGagType()
        num = self.getNumGags()
        track = gag[0]
        level = gag[1]
        questComplete = npc and av.inventory and av.inventory.numItem(track, level) >= num
        return getCompleteStatusWithNpc(questComplete, toNpcId, npc)

    def getProgressString(self, avatar, questDesc):
        if self.getCompletionStatus(avatar, questDesc) == COMPLETE:
            return CompleteString
        elif self.getNumGags() == 1:
            return ''
        else:
            return TTLocalizer.QuestsDeliverGagQuestProgress % {'progress': questDesc[4],
             'numGags': self.getNumGags()}

    def getObjectiveStrings(self):
        track, item = self.getGagType()
        num = self.getNumGags()
        if num == 1:
            text = ToontownBattleGlobals.AvPropStringsSingular[track][item]
        else:
            gagName = ToontownBattleGlobals.AvPropStringsPlural[track][item]
            text = TTLocalizer.QuestsItemNameAndNum % {'num': TTLocalizer.getLocalNum(num),
             'name': gagName}
        return (text,)

    def getString(self):
        return TTLocalizer.QuestsDeliverGagQuestString % self.getObjectiveStrings()[0]

    def getRewardString(self, progress):
        return TTLocalizer.QuestsDeliverGagQuestStringLong % self.getObjectiveStrings()[0]

    def getDefaultQuestDialog(self):
        return TTLocalizer.QuestsDeliverGagQuestStringLong % self.getObjectiveStrings()[0] + '\x07' + TTLocalizer.QuestsDeliverGagQuestInstructions

    def getSCStrings(self, toNpcId, progress):
        if progress >= self.getNumGags():
            return getFinishToonTaskSCStrings(toNpcId)
        track, item = self.getGagType()
        num = self.getNumGags()
        if num == 1:
            text = TTLocalizer.QuestsDeliverGagQuestToSCStringS
            gagName = ToontownBattleGlobals.AvPropStringsSingular[track][item]
        else:
            text = TTLocalizer.QuestsDeliverGagQuestToSCStringP
            gagName = ToontownBattleGlobals.AvPropStringsPlural[track][item]
        return [text % {'gagName': gagName}, TTLocalizer.QuestsDeliverGagQuestSCString] + getVisitSCStrings(toNpcId)

    def getHeadlineString(self):
        return TTLocalizer.QuestsDeliverGagQuestHeadline


class DeliverItemQuest(Quest):
    def __init__(self, id, quest):
        Quest.__init__(self, id, quest)
        self.checkDeliveryItem(self.quest[0])

    def getItem(self):
        return self.quest[0]

    def getCompletionStatus(self, av, questDesc, npc = None):
        questId, fromNpcId, toNpcId, rewardId, toonProgress = questDesc
        if npc and npcMatches(toNpcId, npc):
            return COMPLETE
        else:
            return INCOMPLETE_WRONG_NPC

    def getProgressString(self, avatar, questDesc):
        return TTLocalizer.QuestsDeliverItemQuestProgress

    def getObjectiveStrings(self):
        iDict = ItemDict[self.getItem()]
        article = iDict[2]
        itemName = iDict[0]
        return [article + itemName]

    def getString(self):
        return TTLocalizer.QuestsDeliverItemQuestString % self.getObjectiveStrings()[0]

    def getRewardString(self, progress):
        return TTLocalizer.QuestsDeliverItemQuestStringLong % self.getObjectiveStrings()[0]

    def getDefaultQuestDialog(self):
        return TTLocalizer.QuestsDeliverItemQuestStringLong % self.getObjectiveStrings()[0]

    def getSCStrings(self, toNpcId, progress):
        iDict = ItemDict[self.getItem()]
        article = iDict[2]
        itemName = iDict[0]
        return [TTLocalizer.QuestsDeliverItemQuestSCString % {'article': article,
          'itemName': itemName}] + getVisitSCStrings(toNpcId)

    def getHeadlineString(self):
        return TTLocalizer.QuestsDeliverItemQuestHeadline


class VisitQuest(Quest):
    def __init__(self, id, quest):
        Quest.__init__(self, id, quest)

    def getCompletionStatus(self, av, questDesc, npc = None):
        questId, fromNpcId, toNpcId, rewardId, toonProgress = questDesc
        if npc and npcMatches(toNpcId, npc):
            return COMPLETE
        else:
            return INCOMPLETE_WRONG_NPC

    def getProgressString(self, avatar, questDesc):
        return TTLocalizer.QuestsVisitQuestProgress

    def getObjectiveStrings(self):
        return ['']

    def getString(self):
        return TTLocalizer.QuestsVisitQuestStringShort

    def getChooseString(self):
        return TTLocalizer.QuestsVisitQuestStringLong

    def getRewardString(self, progress):
        return TTLocalizer.QuestsVisitQuestStringLong

    def getDefaultQuestDialog(self):
        return random.choice(DefaultVisitQuestDialog)

    def getSCStrings(self, toNpcId, progress):
        return getVisitSCStrings(toNpcId)

    def getHeadlineString(self):
        return TTLocalizer.QuestsVisitQuestHeadline


class RecoverItemQuest(LocationBasedQuest):
    def __init__(self, id, quest):
        LocationBasedQuest.__init__(self, id, quest)
        self.checkNumItems(self.quest[1])
        self.checkRecoveryItem(self.quest[2])
        self.checkPercentChance(self.quest[3])
        if len(self.quest) > 5:
            self.checkRecoveryItemHolderAndType(self.quest[4], self.quest[5])
        else:
            self.checkRecoveryItemHolderAndType(self.quest[4])

    def testRecover(self, progress):
        test = random.random() * 100
        chance = self.getPercentChance()
        numberDone = progress & pow(2, 16) - 1
        numberNotDone = progress >> 16
        returnTest = None
        avgNum2Kill = 1.0 / (chance / 100.0)
        if numberNotDone >= avgNum2Kill * 1.5:
            chance = 100
        elif numberNotDone > avgNum2Kill * 0.5:
            diff = float(numberNotDone - avgNum2Kill * 0.5)
            luck = 1.0 + abs(diff / (avgNum2Kill * 0.5))
            chance *= luck
        if test <= chance:
            returnTest = 1
            numberNotDone = 0
            numberDone += 1
        else:
            returnTest = 0
            numberNotDone += 1
            numberDone += 0
        returnCount = numberNotDone << 16
        returnCount += numberDone
        return (returnTest, returnCount)

    def testDone(self, progress):
        numberDone = progress & pow(2, 16) - 1
        print('Quest number done %s' % numberDone)
        if numberDone >= self.getNumItems():
            return 1
        else:
            return 0

    def getNumQuestItems(self):
        return self.getNumItems()

    def getNumItems(self):
        return self.quest[1]

    def getItem(self):
        return self.quest[2]

    def getPercentChance(self):
        return self.quest[3]

    def getHolder(self):
        return self.quest[4]

    def getHolderType(self):
        if len(self.quest) == 5:
            return 'type'
        else:
            return self.quest[5]

    def getCompletionStatus(self, av, questDesc, npc = None):
        questId, fromNpcId, toNpcId, rewardId, toonProgress = questDesc
        forwardProgress = toonProgress & pow(2, 16) - 1
        questComplete = forwardProgress >= self.getNumItems()
        return getCompleteStatusWithNpc(questComplete, toNpcId, npc)

    def getProgressString(self, avatar, questDesc):
        if self.getCompletionStatus(avatar, questDesc) == COMPLETE:
            return CompleteString
        elif self.getNumItems() == 1:
            return ''
        else:
            progress = questDesc[4] & pow(2, 16) - 1
            return TTLocalizer.QuestsRecoverItemQuestProgress % {'progress': progress,
             'numItems': self.getNumItems()}

    def getObjectiveStrings(self):
        holder = self.getHolder()
        holderType = self.getHolderType()
        if holder == Any:
            holderName = TTLocalizer.TheCogs
        elif holder == AnyFish:
            holderName = TTLocalizer.AFish
        elif holderType == 'type':
            holderName = SuitBattleGlobals.SuitAttributes[holder]['pluralname']
        elif holderType == 'level':
            holderName = TTLocalizer.QuestsRecoverItemQuestHolderString % {'level': TTLocalizer.Level,
             'holder': holder,
             'cogs': TTLocalizer.Cogs}
        elif holderType == 'track':
            if holder == 'c':
                holderName = TTLocalizer.BossbotP
            elif holder == 's':
                holderName = TTLocalizer.SellbotP
            elif holder == 'm':
                holderName = TTLocalizer.CashbotP
            elif holder == 'l':
                holderName = TTLocalizer.LawbotP
        item = self.getItem()
        num = self.getNumItems()
        if num == 1:
            itemName = ItemDict[item][2] + ItemDict[item][0]
        else:
            itemName = TTLocalizer.QuestsItemNameAndNum % {'num': TTLocalizer.getLocalNum(num),
             'name': ItemDict[item][1]}
        return [itemName, holderName]

    def getString(self):
        return TTLocalizer.QuestsRecoverItemQuestString % {'item': self.getObjectiveStrings()[0],
         'holder': self.getObjectiveStrings()[1]}

    def getSCStrings(self, toNpcId, progress):
        item = self.getItem()
        num = self.getNumItems()
        forwardProgress = progress & pow(2, 16) - 1
        if forwardProgress >= self.getNumItems():
            if num == 1:
                itemName = ItemDict[item][2] + ItemDict[item][0]
            else:
                itemName = TTLocalizer.QuestsItemNameAndNum % {'num': TTLocalizer.getLocalNum(num),
                 'name': ItemDict[item][1]}
            if toNpcId == ToonHQ:
                strings = [TTLocalizer.QuestsRecoverItemQuestReturnToHQSCString % itemName, TTLocalizer.QuestsRecoverItemQuestGoToHQSCString]
            elif toNpcId:
                npcName, hoodName, buildingArticle, buildingName, toStreet, streetName, isInPlayground = getNpcInfo(toNpcId)
                strings = [TTLocalizer.QuestsRecoverItemQuestReturnToSCString % {'item': itemName,
                  'npcName': npcName}]
                if isInPlayground:
                    strings.append(TTLocalizer.QuestsRecoverItemQuestGoToPlaygroundSCString % hoodName)
                else:
                    strings.append(TTLocalizer.QuestsRecoverItemQuestGoToStreetSCString % {'to': toStreet,
                     'street': streetName,
                     'hood': hoodName})
                strings.extend([TTLocalizer.QuestsRecoverItemQuestVisitBuildingSCString % (buildingArticle, buildingName), TTLocalizer.QuestsRecoverItemQuestWhereIsBuildingSCString % (buildingArticle, buildingName)])
            return strings
        holder = self.getHolder()
        holderType = self.getHolderType()
        locName = self.getLocationName()
        if holder == Any:
            holderName = TTLocalizer.TheCogs
        elif holder == AnyFish:
            holderName = TTLocalizer.TheFish
        elif holderType == 'type':
            holderName = SuitBattleGlobals.SuitAttributes[holder]['pluralname']
        elif holderType == 'level':
            holderName = TTLocalizer.QuestsRecoverItemQuestHolderString % {'level': TTLocalizer.Level,
             'holder': holder,
             'cogs': TTLocalizer.Cogs}
        elif holderType == 'track':
            if holder == 'c':
                holderName = TTLocalizer.BossbotP
            elif holder == 's':
                holderName = TTLocalizer.SellbotP
            elif holder == 'm':
                holderName = TTLocalizer.CashbotP
            elif holder == 'l':
                holderName = TTLocalizer.LawbotP
        if num == 1:
            itemName = ItemDict[item][2] + ItemDict[item][0]
        else:
            itemName = TTLocalizer.QuestsItemNameAndNum % {'num': TTLocalizer.getLocalNum(num),
             'name': ItemDict[item][1]}
        return TTLocalizer.QuestsRecoverItemQuestRecoverFromSCString % {'item': itemName,
         'holder': holderName,
         'loc': locName}

    def getHeadlineString(self):
        return TTLocalizer.QuestsRecoverItemQuestHeadline


class TrackChoiceQuest(Quest):
    def __init__(self, id, quest):
        Quest.__init__(self, id, quest)
        self.checkTrackChoice(self.quest[0])
        self.checkTrackChoice(self.quest[1])

    def getChoices(self):
        return (self.quest[0], self.quest[1])

    def getCompletionStatus(self, av, questDesc, npc = None):
        questId, fromNpcId, toNpcId, rewardId, toonProgress = questDesc
        if npc and npcMatches(toNpcId, npc):
            return COMPLETE
        else:
            return INCOMPLETE_WRONG_NPC

    def getProgressString(self, avatar, questDesc):
        if self.getCompletionStatus(avatar, questDesc) == COMPLETE:
            return CompleteString
        else:
            return NotChosenString

    def getObjectiveStrings(self):
        trackA, trackB = self.getChoices()
        trackAName = ToontownBattleGlobals.Tracks[trackA].capitalize()
        trackBName = ToontownBattleGlobals.Tracks[trackB].capitalize()
        return [trackAName, trackBName]

    def getString(self):
        return TTLocalizer.QuestsTrackChoiceQuestString % {'trackA': self.getObjectiveStrings()[0],
         'trackB': self.getObjectiveStrings()[1]}

    def getSCStrings(self, toNpcId, progress):
        trackA, trackB = self.getChoices()
        trackAName = ToontownBattleGlobals.Tracks[trackA].capitalize()
        trackBName = ToontownBattleGlobals.Tracks[trackB].capitalize()
        return [TTLocalizer.QuestsTrackChoiceQuestSCString % {'trackA': trackAName,
          'trackB': trackBName}, TTLocalizer.QuestsTrackChoiceQuestMaybeSCString % trackAName, TTLocalizer.QuestsTrackChoiceQuestMaybeSCString % trackBName] + getVisitSCStrings(toNpcId)

    def getHeadlineString(self):
        return TTLocalizer.QuestsTrackChoiceQuestHeadline


class FriendQuest(Quest):
    def filterFunc(avatar):
        if len(avatar.getFriendsList()) == 0:
            return 1
        else:
            return 0

    filterFunc = staticmethod(filterFunc)

    def __init__(self, id, quest):
        Quest.__init__(self, id, quest)

    def getCompletionStatus(self, av, questDesc, npc = None):
        questId, fromNpcId, toNpcId, rewardId, toonProgress = questDesc
        questComplete = toonProgress >= 1 or len(av.getFriendsList()) > 0
        return getCompleteStatusWithNpc(questComplete, toNpcId, npc)

    def getProgressString(self, avatar, questDesc):
        if self.getCompletionStatus(avatar, questDesc) == COMPLETE:
            return CompleteString
        else:
            return ''

    def getString(self):
        return TTLocalizer.QuestsFriendQuestString

    def getSCStrings(self, toNpcId, progress):
        if progress:
            return getFinishToonTaskSCStrings(toNpcId)
        return TTLocalizer.QuestsFriendQuestSCString

    def getHeadlineString(self):
        return TTLocalizer.QuestsFriendQuestHeadline

    def getObjectiveStrings(self):
        return [TTLocalizer.QuestsFriendQuestString]

    def doesFriendCount(self, av, otherAv):
        return 1


class FriendNewbieQuest(FriendQuest, NewbieQuest):
    def filterFunc(avatar):
        return 1

    filterFunc = staticmethod(filterFunc)

    def __init__(self, id, quest):
        FriendQuest.__init__(self, id, quest)
        self.checkNumFriends(self.quest[0])
        self.checkNewbieLevel(self.quest[1])

    def getNumQuestItems(self):
        return self.getNumFriends()

    def getNumFriends(self):
        return self.quest[0]

    def getNewbieLevel(self):
        return self.quest[1]

    def getCompletionStatus(self, av, questDesc, npc = None):
        questId, fromNpcId, toNpcId, rewardId, toonProgress = questDesc
        questComplete = toonProgress >= self.getNumFriends()
        return getCompleteStatusWithNpc(questComplete, toNpcId, npc)

    def getProgressString(self, avatar, questDesc):
        if self.getCompletionStatus(avatar, questDesc) == COMPLETE:
            return CompleteString
        elif self.getNumFriends() == 1:
            return ''
        else:
            return TTLocalizer.QuestsFriendNewbieQuestProgress % {'progress': questDesc[4],
             'numFriends': self.getNumFriends()}

    def getString(self):
        return TTLocalizer.QuestsFriendNewbieQuestObjective % self.getNumFriends()

    def getObjectiveStrings(self):
        return [TTLocalizer.QuestsFriendNewbieQuestString % (self.getNumFriends(), self.getNewbieLevel())]

    def doesFriendCount(self, av, otherAv):
        if otherAv != None and otherAv.getMaxHp() <= self.getNewbieLevel():
            return 1
        return 0


class TrolleyQuest(Quest):
    def __init__(self, id, quest):
        Quest.__init__(self, id, quest)

    def getCompletionStatus(self, av, questDesc, npc = None):
        questId, fromNpcId, toNpcId, rewardId, toonProgress = questDesc
        questComplete = toonProgress >= 1
        return getCompleteStatusWithNpc(questComplete, toNpcId, npc)

    def getProgressString(self, avatar, questDesc):
        if self.getCompletionStatus(avatar, questDesc) == COMPLETE:
            return CompleteString
        else:
            return ''

    def getString(self):
        return TTLocalizer.QuestsFriendQuestString

    def getSCStrings(self, toNpcId, progress):
        if progress:
            return getFinishToonTaskSCStrings(toNpcId)
        return TTLocalizer.QuestsTrolleyQuestSCString

    def getHeadlineString(self):
        return TTLocalizer.QuestsTrolleyQuestHeadline

    def getObjectiveStrings(self):
        return [TTLocalizer.QuestsTrolleyQuestString]


class MailboxQuest(Quest):
    def __init__(self, id, quest):
        Quest.__init__(self, id, quest)

    def getCompletionStatus(self, av, questDesc, npc = None):
        questId, fromNpcId, toNpcId, rewardId, toonProgress = questDesc
        questComplete = toonProgress >= 1
        return getCompleteStatusWithNpc(questComplete, toNpcId, npc)

    def getProgressString(self, avatar, questDesc):
        if self.getCompletionStatus(avatar, questDesc) == COMPLETE:
            return CompleteString
        else:
            return ''

    def getString(self):
        return TTLocalizer.QuestsMailboxQuestString

    def getSCStrings(self, toNpcId, progress):
        if progress:
            return getFinishToonTaskSCStrings(toNpcId)
        return TTLocalizer.QuestsMailboxQuestSCString

    def getHeadlineString(self):
        return TTLocalizer.QuestsMailboxQuestHeadline

    def getObjectiveStrings(self):
        return [TTLocalizer.QuestsMailboxQuestString]


class PhoneQuest(Quest):
    def __init__(self, id, quest):
        Quest.__init__(self, id, quest)

    def getCompletionStatus(self, av, questDesc, npc = None):
        questId, fromNpcId, toNpcId, rewardId, toonProgress = questDesc
        questComplete = toonProgress >= 1
        return getCompleteStatusWithNpc(questComplete, toNpcId, npc)

    def getProgressString(self, avatar, questDesc):
        if self.getCompletionStatus(avatar, questDesc) == COMPLETE:
            return CompleteString
        else:
            return ''

    def getString(self):
        return TTLocalizer.QuestsPhoneQuestString

    def getSCStrings(self, toNpcId, progress):
        if progress:
            return getFinishToonTaskSCStrings(toNpcId)
        return TTLocalizer.QuestsPhoneQuestSCString

    def getHeadlineString(self):
        return TTLocalizer.QuestsPhoneQuestHeadline

    def getObjectiveStrings(self):
        return [TTLocalizer.QuestsPhoneQuestString]


class MinigameNewbieQuest(Quest, NewbieQuest):
    def __init__(self, id, quest):
        Quest.__init__(self, id, quest)
        self.checkNumMinigames(self.quest[0])
        self.checkNewbieLevel(self.quest[1])

    def getNumQuestItems(self):
        return self.getNumMinigames()

    def getNumMinigames(self):
        return self.quest[0]

    def getNewbieLevel(self):
        return self.quest[1]

    def getCompletionStatus(self, av, questDesc, npc = None):
        questId, fromNpcId, toNpcId, rewardId, toonProgress = questDesc
        questComplete = toonProgress >= self.getNumMinigames()
        return getCompleteStatusWithNpc(questComplete, toNpcId, npc)

    def getProgressString(self, avatar, questDesc):
        if self.getCompletionStatus(avatar, questDesc) == COMPLETE:
            return CompleteString
        elif self.getNumMinigames() == 1:
            return ''
        else:
            return TTLocalizer.QuestsMinigameNewbieQuestProgress % {'progress': questDesc[4],
             'numMinigames': self.getNumMinigames()}

    def getString(self):
        return TTLocalizer.QuestsMinigameNewbieQuestObjective % self.getNumMinigames()

    def getObjectiveStrings(self):
        return [TTLocalizer.QuestsMinigameNewbieQuestString % self.getNumMinigames()]

    def getHeadlineString(self):
        return TTLocalizer.QuestsNewbieQuestHeadline

    def getSCStrings(self, toNpcId, progress):
        if progress:
            return getFinishToonTaskSCStrings(toNpcId)
        return TTLocalizer.QuestsTrolleyQuestSCString

    def doesMinigameCount(self, av, avList):
        newbieHp = self.getNewbieLevel()
        points = 0
        for toon in avList:
            if toon != av and toon.getMaxHp() <= newbieHp:
                points += 1

        return points


DefaultDialog = {GREETING: DefaultGreeting,
 QUEST: DefaultQuest,
 INCOMPLETE: DefaultIncomplete,
 INCOMPLETE_PROGRESS: DefaultIncompleteProgress,
 INCOMPLETE_WRONG_NPC: DefaultIncompleteWrongNPC,
 COMPLETE: DefaultComplete,
 LEAVING: DefaultLeaving}

def getQuestFromNpcId(id):
    return QuestDict.get(id)[QuestDictFromNpcIndex]


def getQuestToNpcId(id):
    return QuestDict.get(id)[QuestDictToNpcIndex]


def getQuestDialog(id):
    return QuestDict.get(id)[QuestDictDialogIndex]


def getQuestReward(id, av):
    baseRewardId = QuestDict.get(id)[QuestDictRewardIndex]
    return transformReward(baseRewardId, av)


def isQuestJustForFun(questId, rewardId):
    questEntry = QuestDict.get(questId)
    if questEntry:
        tier = questEntry[QuestDictTierIndex]
        return isRewardOptional(tier, rewardId)
    else:
        return False


NoRewardTierZeroQuests = (101,
 110,
 121,
 131,
 141,
 145,
 150,
 160,
 161,
 162,
 163)
RewardTierZeroQuests = ()
PreClarabelleQuestIds = NoRewardTierZeroQuests + RewardTierZeroQuests
QuestDict = {
  101: (TT_TIER,
       Start,
       (CogQuest,
        Anywhere,
        1,
        'f'),
       Any,
       ToonHQ,
       NA,
       110,
       DefaultDialog),
 110: (TT_TIER,
       Cont,
       (TrolleyQuest,),
       Any,
       ToonHQ,
       NA,
       145,
       DefaultDialog),
 120: (TT_TIER,
       OBSOLETE,
       (DeliverItemQuest, 5),
       ToonHQ,
       2002,
       NA,
       121,
       DefaultDialog),
 121: (TT_TIER,
       OBSOLETE,
       (RecoverItemQuest,
        ToontownGlobals.ToontownCentral,
        1,
        2,
        VeryEasy,
        Any,
        'type'),
       2002,
       2002,
       NA,
       150,
       DefaultDialog),
 130: (TT_TIER,
       OBSOLETE,
       (DeliverItemQuest, 6),
       ToonHQ,
       2003,
       NA,
       131,
       DefaultDialog),
 131: (TT_TIER,
       OBSOLETE,
       (RecoverItemQuest,
        ToontownGlobals.ToontownCentral,
        1,
        3,
        VeryEasy,
        Any,
        'type'),
       2003,
       2003,
       NA,
       150,
       DefaultDialog),
 140: (TT_TIER,
       OBSOLETE,
       (DeliverItemQuest, 4),
       ToonHQ,
       2005,
       NA,
       141,
       DefaultDialog),
 141: (TT_TIER,
       OBSOLETE,
       (RecoverItemQuest,
        ToontownGlobals.ToontownCentral,
        1,
        1,
        VeryEasy,
        Any,
        'type'),
       2005,
       2005,
       NA,
       150,
       DefaultDialog),
 145: (TT_TIER,
       Cont,
       (RecoverItemQuest,
        ToontownGlobals.ToontownCentral,
        1,
        20,
        VeryEasy,
        Any,
        'type'),
       ToonHQ,
       ToonHQ,
       NA,
       150,
       DefaultDialog),
 150: (TT_TIER,
       Cont,
       (FriendQuest,),
       Same,
       Same,
       NA,
       175,
       DefaultDialog),
 160: (TT_TIER,
       OBSOLETE,
       (CogTrackQuest,
        ToontownGlobals.ToontownCentral,
        3,
        'c'),
       Same,
       ToonHQ,
       NA,
       175,
       TTLocalizer.QuestDialogDict[160]),
 161: (TT_TIER,
       OBSOLETE,
       (CogTrackQuest,
        ToontownGlobals.ToontownCentral,
        3,
        'l'),
       Same,
       ToonHQ,
       NA,
       175,
       TTLocalizer.QuestDialogDict[161]),
 162: (TT_TIER,
       OBSOLETE,
       (CogTrackQuest,
        ToontownGlobals.ToontownCentral,
        3,
        's'),
       Same,
       ToonHQ,
       NA,
       175,
       TTLocalizer.QuestDialogDict[162]),
 163: (TT_TIER,
       OBSOLETE,
       (CogTrackQuest,
        ToontownGlobals.ToontownCentral,
        3,
        'm'),
       Same,
       ToonHQ,
       NA,
       175,
       TTLocalizer.QuestDialogDict[163]),
 175: (TT_TIER,
       Cont,
       (PhoneQuest,),
       Same,
       ToonHQ,
       100,
       NA,
       TTLocalizer.QuestDialogDict[175]),
 164: (TT_TIER + 1,
       Start,
       (VisitQuest,),
       Any,
       2001,
       NA,
       165,
       TTLocalizer.QuestDialogDict[164]),
 165: (TT_TIER + 1,
       Start,
       (CogQuest,
        Anywhere,
        4,
        Any),
       2001,
       Same,
       NA,
       (166,
        167,
        168,
        169),
       TTLocalizer.QuestDialogDict[165]),
 166: (TT_TIER + 1,
       Cont,
       (CogTrackQuest,
        Anywhere,
        4,
        'c'),
       Same,
       Same,
       NA,
       (170, 171, 172),
       TTLocalizer.QuestDialogDict[166]),
 167: (TT_TIER + 1,
       Cont,
       (CogTrackQuest,
        Anywhere,
        4,
        'l'),
       Same,
       Same,
       NA,
       (170, 171, 172),
       TTLocalizer.QuestDialogDict[167]),
 168: (TT_TIER + 1,
       Cont,
       (CogTrackQuest,
        Anywhere,
        4,
        's'),
       Same,
       Same,
       NA,
       (170, 171, 172),
       TTLocalizer.QuestDialogDict[168]),
 169: (TT_TIER + 1,
       Cont,
       (CogTrackQuest,
        Anywhere,
        4,
        'm'),
       Same,
       Same,
       NA,
       (170, 171, 172),
       TTLocalizer.QuestDialogDict[169]),
 170: (TT_TIER + 1,
       Cont,
       (VisitQuest,),
       Same,
       2005,
       NA,
       400,
       TTLocalizer.QuestDialogDict[170]),
 171: (TT_TIER + 1,
       Cont,
       (VisitQuest,),
       Same,
       2311,
       NA,
       400,
       TTLocalizer.QuestDialogDict[171]),
 172: (TT_TIER + 1,
       Cont,
       (VisitQuest,),
       Same,
       2119,
       NA,
       400,
       TTLocalizer.QuestDialogDict[172]),
 400: (TT_TIER + 1,
       Cont,
       (TrackChoiceQuest, ToontownBattleGlobals.SOUND_TRACK, ToontownBattleGlobals.HEAL_TRACK),
       Same,
       Same,
       400,
       NA,
       TTLocalizer.QuestDialogDict[400]),
 1001: (TT_TIER + 2,
        Start,
        (CogQuest,
         ToontownGlobals.ToontownCentral,
         3,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1002: (TT_TIER + 2,
        Start,
        (CogQuest,
         ToontownGlobals.ToontownCentral,
         4,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1003: (TT_TIER + 2,
        Start,
        (CogQuest,
         ToontownGlobals.ToontownCentral,
         5,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1004: (TT_TIER + 2,
        Start,
        (CogQuest,
         ToontownGlobals.ToontownCentral,
         6,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1005: (TT_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         2,
         'f'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1006: (TT_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         2,
         'p'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1007: (TT_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         2,
         'bf'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1008: (TT_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         2,
         'b'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1009: (TT_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         2,
         'sc'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1010: (TT_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         2,
         'pp'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1011: (TT_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         2,
         'cc'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1012: (TT_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         2,
         'tm'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1013: (TT_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         4,
         'f'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1014: (TT_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         4,
         'p'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1015: (TT_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         4,
         'bf'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1016: (TT_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         4,
         'b'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1017: (TT_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         1,
         'ym'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1018: (TT_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         1,
         'nd'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1019: (TT_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         1,
         'tw'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1020: (TT_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         1,
         'dt'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1021: (TT_TIER + 2,
        Start,
        (CogLevelQuest,
         ToontownGlobals.ToontownCentral,
         2,
         2),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1022: (TT_TIER + 2,
        Start,
        (CogLevelQuest,
         ToontownGlobals.ToontownCentral,
         6,
         2),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1023: (TT_TIER + 2,
        Start,
        (CogLevelQuest,
         ToontownGlobals.ToontownCentral,
         3,
         2),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1024: (TT_TIER + 2,
        Start,
        (CogLevelQuest,
         ToontownGlobals.ToontownCentral,
         4,
         2),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1025: (TT_TIER + 2,
        Start,
        (CogLevelQuest,
         ToontownGlobals.ToontownCentral,
         4,
         3),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1026: (TT_TIER + 2,
        Start,
        (CogLevelQuest,
         ToontownGlobals.ToontownCentral,
         6,
         3),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1027: (TT_TIER + 2,
        Start,
        (CogTrackQuest,
         ToontownGlobals.ToontownCentral,
         2,
         'm'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1028: (TT_TIER + 2,
        Start,
        (CogTrackQuest,
         ToontownGlobals.ToontownCentral,
         2,
         's'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1029: (TT_TIER + 2,
        Start,
        (CogTrackQuest,
         ToontownGlobals.ToontownCentral,
         2,
         'c'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1030: (TT_TIER + 2,
        Start,
        (CogTrackQuest,
         ToontownGlobals.ToontownCentral,
         2,
         'l'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1031: (TT_TIER + 2,
        Start,
        (CogTrackQuest,
         ToontownGlobals.ToontownCentral,
         3,
         'm'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1032: (TT_TIER + 2,
        Start,
        (CogTrackQuest,
         ToontownGlobals.ToontownCentral,
         3,
         's'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1033: (TT_TIER + 2,
        Start,
        (CogTrackQuest,
         ToontownGlobals.ToontownCentral,
         3,
         'c'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1034: (TT_TIER + 2,
        Start,
        (CogTrackQuest,
         ToontownGlobals.ToontownCentral,
         3,
         'l'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1035: (TT_TIER + 2,
        Start,
        (CogTrackQuest,
         ToontownGlobals.ToontownCentral,
         5,
         'm'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1036: (TT_TIER + 2,
        Start,
        (CogTrackQuest,
         ToontownGlobals.ToontownCentral,
         5,
         's'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1037: (TT_TIER + 2,
        Start,
        (CogTrackQuest,
         ToontownGlobals.ToontownCentral,
         5,
         'c'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1038: (TT_TIER + 2,
        Start,
        (CogTrackQuest,
         ToontownGlobals.ToontownCentral,
         5,
         'l'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1039: (TT_TIER + 2,
        Start,
        (VisitQuest,),
        Any,
        2135,
        NA,
        (1041, 1042, 1043),
        TTLocalizer.QuestDialogDict[1039]),
 1040: (TT_TIER + 2,
        Start,
        (VisitQuest,),
        Any,
        2207,
        NA,
        (1041, 1042, 1043),
        TTLocalizer.QuestDialogDict[1040]),
 1041: (TT_TIER + 2,
        Cont,
        (VisitQuest,),
        Same,
        2211,
        NA,
        1044,
        TTLocalizer.QuestDialogDict[1041]),
 1042: (TT_TIER + 2,
        Cont,
        (VisitQuest,),
        Same,
        2209,
        NA,
        1044,
        TTLocalizer.QuestDialogDict[1042]),
 1043: (TT_TIER + 2,
        Cont,
        (VisitQuest,),
        Same,
        2210,
        NA,
        1044,
        TTLocalizer.QuestDialogDict[1043]),
 1044: (TT_TIER + 2,
        Cont,
        (RecoverItemQuest,
         Anywhere,
         4,
         7,
         VeryEasy,
         Any,
         'type'),
        Same,
        Same,
        NA,
        1045,
        TTLocalizer.QuestDialogDict[1044]),
 1045: (TT_TIER + 2,
        Cont,
        (DeliverItemQuest, 8),
        Same,
        ToonHQ,
        300,
        NA,
        TTLocalizer.QuestDialogDict[1045]),
 1046: (TT_TIER + 2,
        Start,
        (VisitQuest,),
        Any,
        2127,
        NA,
        1047,
        TTLocalizer.QuestDialogDict[1046]),
 1047: (TT_TIER + 2,
        Start,
        (RecoverItemQuest,
         Anywhere,
         5,
         9,
         VeryEasy,
         'm',
         'track'),
        2127,
        Same,
        NA,
        1048,
        TTLocalizer.QuestDialogDict[1047]),
 1048: (TT_TIER + 2,
        Cont,
        (DeliverItemQuest, 9),
        Same,
        2131,
        NA,
        1049,
        TTLocalizer.QuestDialogDict[1048]),
 1049: (TT_TIER + 2,
        Cont,
        (RecoverItemQuest,
         Anywhere,
         10,
         2007,
         VeryEasy,
         3,
         'level'),
        Same,
        Same,
        NA,
        1053,
        TTLocalizer.QuestDialogDict[1049]),
 1053: (TT_TIER + 2,
        Cont,
        (DeliverItemQuest, 9),
        Same,
        2127,
        700,
        NA,
        TTLocalizer.QuestDialogDict[1053]),
 1054: (TT_TIER + 2,
        Start,
        (VisitQuest,),
        Any,
        2128,
        NA,
        1055,
        TTLocalizer.QuestDialogDict[1054]),
 1055: (TT_TIER + 2,
        Start,
        (RecoverItemQuest,
         Anywhere,
         4,
         10,
         Easy,
         AnyFish),
        2128,
        Same,
        NA,
        1056,
        TTLocalizer.QuestDialogDict[1055]),
 1056: (TT_TIER + 2,
        Cont,
        (VisitQuest,),
        Same,
        2213,
        NA,
        1057,
        TTLocalizer.QuestDialogDict[1056]),
 1057: (TT_TIER + 2,
        Cont,
        (CogLevelQuest,
         ToontownGlobals.ToontownCentral,
         6,
         3),
        Same,
        Same,
        NA,
        1058,
        TTLocalizer.QuestDialogDict[1057]),
 1058: (TT_TIER + 2,
        Cont,
        (DeliverItemQuest, 11),
        Same,
        2128,
        200,
        NA,
        TTLocalizer.QuestDialogDict[1058]),
 1059: (TT_TIER + 2,
        Start,
        (VisitQuest,),
        Any,
        2302,
        NA,
        1060,
        TTLocalizer.QuestDialogDict[1059]),
 1060: (TT_TIER + 2,
        Start,
        (RecoverItemQuest,
         Anywhere,
         1,
         12,
         Medium,
         AnyFish),
        2302,
        Same,
        NA,
        1062,
        TTLocalizer.QuestDialogDict[1060]),
 1061: (TT_TIER + 2,
        Cont,
        (CogQuest,
         ToontownGlobals.ToontownCentral,
         6,
         'p'),
        Same,
        Same,
        101,
        NA,
        TTLocalizer.QuestDialogDict[1061]),
 1062: (TT_TIER + 2,
        Cont,
        (CogQuest,
         ToontownGlobals.ToontownCentral,
         6,
         'b'),
        Same,
        Same,
        101,
        NA,
        TTLocalizer.QuestDialogDict[1062]),
 900: (TT_TIER + 3,
       Start,
       (VisitQuest,),
       Any,
       2201,
       NA,
       1063,
       TTLocalizer.QuestDialogDict[900]),
 1063: (TT_TIER + 3,
        Start,
        (RecoverItemQuest,
         Anywhere,
         1,
         13,
         Medium,
         3,
         'level'),
        2201,
        Same,
        NA,
        1067,
        TTLocalizer.QuestDialogDict[1063]),
 1067: (TT_TIER + 3,
        Cont,
        (DeliverItemQuest, 13),
        Same,
        2112,
        NA,
        1068,
        TTLocalizer.QuestDialogDict[1067]),
 1068: (TT_TIER + 3,
        Cont,
        (CogQuest,
         ToontownGlobals.ToontownCentral,
         10,
         Any),
        Same,
        Same,
        NA,
        (1069, 1070, 1071),
        TTLocalizer.QuestDialogDict[1068]),
 1069: (TT_TIER + 3,
        Cont,
        (RecoverItemQuest,
         Anywhere,
         1,
         13,
         Medium,
         'm',
         'track'),
        Same,
        Same,
        NA,
        1072,
        TTLocalizer.QuestDialogDict[1069]),
 1070: (TT_TIER + 3,
        Cont,
        (RecoverItemQuest,
         Anywhere,
         1,
         13,
         Medium,
         's',
         'track'),
        Same,
        Same,
        NA,
        1072,
        TTLocalizer.QuestDialogDict[1070]),
 1071: (TT_TIER + 3,
        Cont,
        (RecoverItemQuest,
         Anywhere,
         1,
         13,
         Medium,
         'c',
         'track'),
        Same,
        Same,
        NA,
        1072,
        TTLocalizer.QuestDialogDict[1071]),
 1072: (TT_TIER + 3,
        Cont,
        (DeliverItemQuest, 13),
        Same,
        2301,
        NA,
        1073,
        TTLocalizer.QuestDialogDict[1072]),
 1073: (TT_TIER + 3,
        Cont,
        (VisitQuest,),
        Any,
        2201,
        NA,
        1074,
        TTLocalizer.QuestDialogDict[1073]),
 1074: (TT_TIER + 3,
        Cont,
        (RecoverItemQuest,
         Anywhere,
         1,
         13,
         Hard,
         Any),
        Same,
        Same,
        NA,
        1075,
        TTLocalizer.QuestDialogDict[1074]),
 1075: (TT_TIER + 3,
        Cont,
        (DeliverItemQuest, 13),
        Same,
        2301,
        900,
        NA,
        TTLocalizer.QuestDialogDict[1075]),
 1076: (TT_TIER + 2,
        Start,
        (VisitQuest,),
        Any,
        2217,
        NA,
        1077,
        TTLocalizer.QuestDialogDict[1076]),
 1077: (TT_TIER + 2,
        Start,
        (RecoverItemQuest,
         Anywhere,
         1,
         14,
         Medium,
         Any),
        2217,
        Same,
        NA,
        1078,
        TTLocalizer.QuestDialogDict[1077]),
 1078: (TT_TIER + 2,
        Cont,
        (DeliverItemQuest, 14),
        Same,
        2302,
        NA,
        1079,
        TTLocalizer.QuestDialogDict[1078]),
 1079: (TT_TIER + 2,
        Cont,
        (RecoverItemQuest,
         Anywhere,
         1,
         15,
         Easy,
         'f'),
        Same,
        2217,
        NA,
        1080,
        TTLocalizer.QuestDialogDict[1079]),
 1092: (TT_TIER + 2,
        Cont,
        (RecoverItemQuest,
         Anywhere,
         1,
         15,
         Easy,
         'sc'),
        Same,
        2217,
        NA,
        1080,
        TTLocalizer.QuestDialogDict[1092]),
 1080: (TT_TIER + 2,
        Cont,
        (RecoverItemQuest,
         Anywhere,
         4,
         15,
         Easy,
         AnyFish),
        Same,
        Same,
        500,
        NA,
        TTLocalizer.QuestDialogDict[1080]),
 1081: (TT_TIER + 2,
        Start,
        (VisitQuest,),
        Any,
        2208,
        NA,
        1082,
        TTLocalizer.QuestDialogDict[1081]),
 1082: (TT_TIER + 2,
        Start,
        (RecoverItemQuest,
         Anywhere,
         1,
         16,
         Medium,
         's',
         'track'),
        2208,
        Same,
        NA,
        1083,
        TTLocalizer.QuestDialogDict[1082]),
 1083: (TT_TIER + 2,
        Cont,
        (RecoverItemQuest,
         Anywhere,
         1,
         17,
         Medium,
         'l',
         'track'),
        Same,
        Same,
        NA,
        1084,
        TTLocalizer.QuestDialogDict[1083]),
 1084: (TT_TIER + 2,
        Cont,
        (RecoverItemQuest,
         Anywhere,
         1,
         18,
         Medium,
         'm',
         'track'),
        Same,
        Same,
        102,
        NA,
        TTLocalizer.QuestDialogDict[1084]),
 1085: (TT_TIER + 2,
        Start,
        (VisitQuest,),
        Any,
        2003,
        NA,
        1086,
        TTLocalizer.QuestDialogDict[1085]),
 1086: (TT_TIER + 2,
        Start,
        (RecoverItemQuest,
         Anywhere,
         5,
         2007,
         Easy,
         2,
         'level'),
        2003,
        Same,
        NA,
        1089,
        TTLocalizer.QuestDialogDict[1086]),
 1089: (TT_TIER + 2,
        Cont,
        (DeliverItemQuest, 19),
        Same,
        ToonHQ,
        100,
        NA,
        TTLocalizer.QuestDialogDict[1089]),
 1090: (TT_TIER + 2,
        Start,
        (VisitQuest,),
        Any,
        2119,
        NA,
        1091,
        TTLocalizer.QuestDialogDict[1090]),
 1091: (TT_TIER + 2,
        Start,
        (CogLevelQuest,
         ToontownGlobals.ToontownCentral,
         8,
         2),
        2119,
        ToonHQ,
        101,
        NA,
        TTLocalizer.QuestDialogDict[1091]),
 1100: (TT_TIER + 2,
        Start,
        (CogQuest,
         ToontownGlobals.ToontownCentral,
         10,
         Any),
        Any,
        ToonHQ,
        NA,
        1101,
        DefaultDialog),
 1101: (TT_TIER + 2,
        Cont,
        (DeliverItemQuest, 1000),
        Any,
        2004,
        1000,
        NA,
        DefaultDialog),
 1102: (TT_TIER + 2,
        Start,
        (CogLevelQuest,
         ToontownGlobals.ToontownCentral,
         8,
         3),
        Any,
        ToonHQ,
        NA,
        1103,
        DefaultDialog),
 1103: (TT_TIER + 2,
        Cont,
        (DeliverItemQuest, 1000),
        Any,
        2004,
        1000,
        NA,
        DefaultDialog),
 1105: (TT_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         2,
         'f'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1106: (TT_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         2,
         'p'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1107: (TT_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         2,
         'bf'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1108: (TT_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         2,
         'b'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1109: (TT_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         2,
         'sc'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1110: (TT_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         2,
         'pp'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1111: (TT_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         2,
         'cc'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1112: (TT_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         2,
         'tm'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1205: (TT_TIER + 3,
        Start,
        (CogQuest,
         Anywhere,
         4,
         'f'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1206: (TT_TIER + 3,
        Start,
        (CogQuest,
         Anywhere,
         4,
         'p'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1207: (TT_TIER + 3,
        Start,
        (CogQuest,
         Anywhere,
         4,
         'bf'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1208: (TT_TIER + 3,
        Start,
        (CogQuest,
         Anywhere,
         4,
         'b'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1209: (TT_TIER + 3,
        Start,
        (CogQuest,
         Anywhere,
         4,
         'sc'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1210: (TT_TIER + 3,
        Start,
        (CogQuest,
         Anywhere,
         4,
         'pp'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1211: (TT_TIER + 3,
        Start,
        (CogQuest,
         Anywhere,
         4,
         'cc'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 1212: (TT_TIER + 3,
        Start,
        (CogQuest,
         Anywhere,
         4,
         'tm'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 401: (DD_TIER,
       Start,
       (TrackChoiceQuest, ToontownBattleGlobals.DROP_TRACK, ToontownBattleGlobals.LURE_TRACK),
       Any,
       ToonHQ,
       400,
       NA,
       TTLocalizer.QuestDialogDict[401]),
 2001: (DD_TIER,
        Start,
        (CogQuest,
         Anywhere,
         3,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2002: (DD_TIER,
        Start,
        (CogQuest,
         Anywhere,
         4,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2003: (DD_TIER,
        Start,
        (CogQuest,
         Anywhere,
         5,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2004: (DD_TIER,
        Start,
        (CogQuest,
         Anywhere,
         6,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2005: (DD_TIER,
        Start,
        (CogQuest,
         Anywhere,
         7,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2006: (DD_TIER,
        Start,
        (CogQuest,
         Anywhere,
         8,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2007: (DD_TIER,
        Start,
        (CogQuest,
         Anywhere,
         9,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2008: (DD_TIER,
        Start,
        (CogQuest,
         Anywhere,
         10,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2009: (DD_TIER,
        Start,
        (CogQuest,
         Anywhere,
         12,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2010: (DD_TIER,
        Start,
        (CogLevelQuest,
         Anywhere,
         2,
         3),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2011: (DD_TIER,
        Start,
        (CogLevelQuest,
         Anywhere,
         3,
         3),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2012: (DD_TIER,
        Start,
        (CogLevelQuest,
         Anywhere,
         2,
         4),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2013: (DD_TIER,
        Start,
        (CogLevelQuest,
         Anywhere,
         4,
         4),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2014: (DD_TIER,
        Start,
        (CogLevelQuest,
         Anywhere,
         4,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2015: (DD_TIER,
        Start,
        (CogLevelQuest,
         Anywhere,
         5,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2816: (DD_TIER,
        Start,
        (CogLevelQuest,
         Anywhere,
         4,
         6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2817: (DD_TIER,
        Start,
        (CogLevelQuest,
         Anywhere,
         5,
         6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2818: (DD_TIER,
        Start,
        (CogLevelQuest,
         Anywhere,
         6,
         6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2819: (DD_TIER,
        Start,
        (CogLevelQuest,
         Anywhere,
         7,
         6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2020: (DD_TIER,
        Start,
        (CogQuest,
         Anywhere,
         10,
         Any),
        Any,
        ToonHQ,
        NA,
        2021,
        DefaultDialog),
 2021: (DD_TIER,
        Cont,
        (DeliverItemQuest, 1000),
        Any,
        1007,
        1000,
        NA,
        DefaultDialog),
 2101: (DD_TIER + 1,
        Start,
        (CogQuest,
         ToontownGlobals.DonaldsDock,
         3,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2102: (DD_TIER + 1,
        Start,
        (CogQuest,
         ToontownGlobals.DonaldsDock,
         4,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2103: (DD_TIER + 1,
        Start,
        (CogQuest,
         ToontownGlobals.DonaldsDock,
         5,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2104: (DD_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         6,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2105: (DD_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         7,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2106: (DD_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         8,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2107: (DD_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         6,
         'f'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2108: (DD_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         4,
         'p'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2109: (DD_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         4,
         'ym'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2110: (DD_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         3,
         'mm'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2111: (DD_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         2,
         'ds'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2112: (DD_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         1,
         'hh'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2113: (DD_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         6,
         'cc'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2114: (DD_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         4,
         'tm'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2115: (DD_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         4,
         'nd'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2116: (DD_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         3,
         'gh'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2117: (DD_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         2,
         'ms'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2118: (DD_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         1,
         'tf'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2119: (DD_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         6,
         'sc'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2120: (DD_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         4,
         'pp'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2121: (DD_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         4,
         'tw'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2122: (DD_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         3,
         'bc'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2123: (DD_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         2,
         'nc'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2124: (DD_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         1,
         'mb'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2125: (DD_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         6,
         'bf'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2126: (DD_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         4,
         'b'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2127: (DD_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         4,
         'dt'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2128: (DD_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         3,
         'ac'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2129: (DD_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         2,
         'bs'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2130: (DD_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         1,
         'sd'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2131: (DD_TIER + 1,
        Start,
        (CogLevelQuest,
         ToontownGlobals.DonaldsDock,
         2,
         3),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2132: (DD_TIER + 1,
        Start,
        (CogLevelQuest,
         ToontownGlobals.DonaldsDock,
         3,
         3),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2133: (DD_TIER + 1,
        Start,
        (CogLevelQuest,
         ToontownGlobals.DonaldsDock,
         2,
         4),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2134: (DD_TIER + 1,
        Start,
        (CogLevelQuest,
         ToontownGlobals.DonaldsDock,
         4,
         4),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2135: (DD_TIER + 1,
        Start,
        (CogLevelQuest,
         ToontownGlobals.DonaldsDock,
         4,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2136: (DD_TIER + 1,
        Start,
        (CogLevelQuest,
         ToontownGlobals.DonaldsDock,
         5,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2137: (DD_TIER + 1,
        Start,
        (CogLevelQuest,
         ToontownGlobals.DonaldsDock,
         4,
         6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2138: (DD_TIER + 1,
        Start,
        (CogLevelQuest,
         ToontownGlobals.DonaldsDock,
         6,
         6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2139: (DD_TIER + 1,
        Start,
        (CogTrackQuest,
         ToontownGlobals.DonaldsDock,
         3,
         'm'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2140: (DD_TIER + 1,
        Start,
        (CogTrackQuest,
         ToontownGlobals.DonaldsDock,
         3,
         's'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2141: (DD_TIER + 1,
        Start,
        (CogTrackQuest,
         ToontownGlobals.DonaldsDock,
         3,
         'c'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2142: (DD_TIER + 1,
        Start,
        (CogTrackQuest,
         ToontownGlobals.DonaldsDock,
         3,
         'l'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2143: (DD_TIER + 1,
        Start,
        (CogTrackQuest,
         ToontownGlobals.DonaldsDock,
         5,
         'm'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2144: (DD_TIER + 1,
        Start,
        (CogTrackQuest,
         ToontownGlobals.DonaldsDock,
         5,
         's'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2145: (DD_TIER + 1,
        Start,
        (CogTrackQuest,
         ToontownGlobals.DonaldsDock,
         5,
         'c'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2146: (DD_TIER + 1,
        Start,
        (CogTrackQuest,
         ToontownGlobals.DonaldsDock,
         5,
         'l'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2147: (DD_TIER + 1,
        Start,
        (CogTrackQuest,
         Anywhere,
         7,
         'm'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2148: (DD_TIER + 1,
        Start,
        (CogTrackQuest,
         Anywhere,
         7,
         's'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2149: (DD_TIER + 1,
        Start,
        (CogTrackQuest,
         Anywhere,
         7,
         'c'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2150: (DD_TIER + 1,
        Start,
        (CogTrackQuest,
         Anywhere,
         7,
         'l'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2151: (DD_TIER + 1,
        Start,
        (BuildingQuest,
         Anywhere,
         1,
         Any,
         1),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2152: (DD_TIER + 1,
        Start,
        (BuildingQuest,
         Anywhere,
         1,
         Any,
         2),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2153: (DD_TIER + 1,
        Start,
        (BuildingQuest,
         Anywhere,
         2,
         Any,
         1),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2154: (DD_TIER + 1,
        Start,
        (BuildingQuest,
         Anywhere,
         2,
         Any,
         2),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2155: (DD_TIER + 1,
        Start,
        (BuildingQuest,
         Anywhere,
         1,
         'm',
         1),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2156: (DD_TIER + 1,
        Start,
        (BuildingQuest,
         Anywhere,
         1,
         's',
         1),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2157: (DD_TIER + 1,
        Start,
        (BuildingQuest,
         Anywhere,
         1,
         'c',
         1),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2158: (DD_TIER + 1,
        Start,
        (BuildingQuest,
         Anywhere,
         1,
         'l',
         1),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2159: (DD_TIER + 1,
        Start,
        (DeliverGagQuest,
         2,
         ToontownBattleGlobals.THROW_TRACK,
         1),
        Any,
        Any,
        Any,
        NA,
        DefaultDialog),
 2160: (DD_TIER + 1,
        Start,
        (DeliverGagQuest,
         1,
         ToontownBattleGlobals.SQUIRT_TRACK,
         1),
        Any,
        Any,
        Any,
        NA,
        DefaultDialog),
 2161: (DD_TIER + 1,
        Start,
        (DeliverGagQuest,
         1,
         ToontownBattleGlobals.SQUIRT_TRACK,
         2),
        Any,
        Any,
        Any,
        NA,
        DefaultDialog),
 2162: (DD_TIER + 1,
        Start,
        (DeliverGagQuest,
         2,
         ToontownBattleGlobals.THROW_TRACK,
         2),
        Any,
        Any,
        Any,
        NA,
        DefaultDialog),
 2201: (DD_TIER + 1,
        Start,
        (VisitQuest,),
        Any,
        1101,
        NA,
        2202,
        TTLocalizer.QuestDialogDict[2201]),
 2202: (DD_TIER + 1,
        Start,
        (RecoverItemQuest,
         Anywhere,
         1,
         2001,
         Medium,
         'pp'),
        1101,
        Same,
        101,
        NA,
        TTLocalizer.QuestDialogDict[2202]),
 2203: (DD_TIER + 1,
        Start,
        (VisitQuest,),
        Any,
        1102,
        NA,
        2204,
        TTLocalizer.QuestDialogDict[2203]),
 2204: (DD_TIER + 1,
        Start,
        (DeliverItemQuest, 2002),
        1102,
        1104,
        NA,
        2205,
        TTLocalizer.QuestDialogDict[2204]),
 2205: (DD_TIER + 1,
        Cont,
        (RecoverItemQuest,
         Anywhere,
         1,
         2003,
         Medium,
         'f'),
        Same,
        Same,
        NA,
        2206,
        TTLocalizer.QuestDialogDict[2205]),
 2206: (DD_TIER + 1,
        Cont,
        (DeliverItemQuest, 2004),
        Same,
        1102,
        201,
        NA,
        TTLocalizer.QuestDialogDict[2206]),
 2207: (DD_TIER + 1,
        Start,
        (VisitQuest,),
        Any,
        1201,
        NA,
        2208,
        TTLocalizer.QuestDialogDict[2207]),
 2208: (DD_TIER + 1,
        Start,
        (RecoverItemQuest,
         Anywhere,
         1,
         2005,
         Easy,
         'bs'),
        1201,
        Same,
        701,
        NA,
        TTLocalizer.QuestDialogDict[2208]),
 2209: (DD_TIER + 1,
        Start,
        (VisitQuest,),
        Any,
        1302,
        NA,
        2210,
        TTLocalizer.QuestDialogDict[2209]),
 2210: (DD_TIER + 1,
        Start,
        (VisitQuest,),
        1302,
        1301,
        NA,
        2211,
        TTLocalizer.QuestDialogDict[2210]),
 2211: (DD_TIER + 1,
        Cont,
        (CogQuest,
         ToontownGlobals.DonaldsDock,
         5,
         'mm'),
        Same,
        Same,
        NA,
        2212,
        TTLocalizer.QuestDialogDict[2211]),
 2212: (DD_TIER + 1,
        Cont,
        (DeliverItemQuest, 2006),
        Same,
        1302,
        NA,
        2213,
        TTLocalizer.QuestDialogDict[2212]),
 2213: (DD_TIER + 1,
        Cont,
        (VisitQuest,),
        Same,
        1202,
        NA,
        2214,
        TTLocalizer.QuestDialogDict[2213]),
 2214: (DD_TIER + 1,
        Cont,
        (RecoverItemQuest,
         ToontownGlobals.DonaldsDock,
         3,
         2007,
         Hard,
         Any),
        Same,
        Same,
        NA,
        2215,
        TTLocalizer.QuestDialogDict[2214]),
 2215: (DD_TIER + 1,
        Cont,
        (DeliverItemQuest, 2008),
        Same,
        1302,
        301,
        NA,
        TTLocalizer.QuestDialogDict[2215]),
 2500: (DD_TIER + 1,
        Start,
        (CogQuest,
         ToontownGlobals.DonaldsDock,
         15,
         Any),
        Any,
        ToonHQ,
        NA,
        2501,
        DefaultDialog),
 2501: (DD_TIER + 1,
        Cont,
        (DeliverItemQuest, 1000),
        Any,
        1007,
        1000,
        NA,
        DefaultDialog),
 2801: (DD_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         3,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2802: (DD_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         4,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2803: (DD_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         5,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2804: (DD_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         6,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2805: (DD_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         7,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2806: (DD_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         8,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2807: (DD_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         9,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2808: (DD_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         10,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2809: (DD_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         12,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2810: (DD_TIER + 2,
        Start,
        (CogLevelQuest,
         Anywhere,
         2,
         3),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2811: (DD_TIER + 2,
        Start,
        (CogLevelQuest,
         Anywhere,
         3,
         3),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2812: (DD_TIER + 2,
        Start,
        (CogLevelQuest,
         Anywhere,
         2,
         4),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2813: (DD_TIER + 2,
        Start,
        (CogLevelQuest,
         Anywhere,
         4,
         4),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2814: (DD_TIER + 2,
        Start,
        (CogLevelQuest,
         Anywhere,
         4,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2815: (DD_TIER + 2,
        Start,
        (CogLevelQuest,
         Anywhere,
         5,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2816: (DD_TIER + 2,
        Start,
        (CogLevelQuest,
         Anywhere,
         4,
         6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2817: (DD_TIER + 2,
        Start,
        (CogLevelQuest,
         Anywhere,
         5,
         6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2818: (DD_TIER + 2,
        Start,
        (CogLevelQuest,
         Anywhere,
         6,
         6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2819: (DD_TIER + 2,
        Start,
        (CogLevelQuest,
         Anywhere,
         7,
         6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 2820: (DD_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         20,
         Any),
        Any,
        ToonHQ,
        NA,
        2821,
        DefaultDialog),
 2821: (DD_TIER + 2,
        Cont,
        (DeliverItemQuest, 1000),
        Any,
        1007,
        1000,
        NA,
        DefaultDialog),
 901: (DD_TIER + 2,
       Start,
       (VisitQuest,),
       Any,
       1203,
       NA,
       2902,
       TTLocalizer.QuestDialogDict[901]),
 2902: (DD_TIER + 2,
        Start,
        (VisitQuest,),
        1203,
        1303,
        NA,
        2903,
        TTLocalizer.QuestDialogDict[2902]),
 2903: (DD_TIER + 2,
        Cont,
        (DeliverItemQuest, 2009),
        Same,
        1106,
        NA,
        2904,
        TTLocalizer.QuestDialogDict[2903]),
 2904: (DD_TIER + 2,
        Cont,
        (DeliverItemQuest, 2010),
        Same,
        1203,
        NA,
        2905,
        TTLocalizer.QuestDialogDict[2904]),
 2905: (DD_TIER + 2,
        Cont,
        (VisitQuest, 2009),
        Same,
        1105,
        NA,
        2906,
        TTLocalizer.QuestDialogDict[2905]),
 2906: (DD_TIER + 2,
        Cont,
        (DeliverGagQuest,
         3,
         ToontownBattleGlobals.SQUIRT_TRACK,
         2),
        Same,
        Same,
        NA,
        2907,
        TTLocalizer.QuestDialogDict[2906]),
 2907: (DD_TIER + 2,
        Cont,
        (DeliverItemQuest, 2011),
        Same,
        1203,
        NA,
        (2910, 2915, 2920),
        TTLocalizer.QuestDialogDict[2907]),
 2910: (DD_TIER + 2,
        Cont,
        (VisitQuest,),
        Same,
        1107,
        NA,
        2911,
        TTLocalizer.QuestDialog_2910),
 2911: (DD_TIER + 2,
        Cont,
        (CogTrackQuest,
         ToontownGlobals.DonaldsDock,
         4,
         'm'),
        Same,
        Same,
        NA,
        2925,
        TTLocalizer.QuestDialogDict[2911]),
 2915: (DD_TIER + 2,
        Cont,
        (VisitQuest,),
        Same,
        1204,
        NA,
        2916,
        TTLocalizer.QuestDialog_2910),
 2916: (DD_TIER + 2,
        Cont,
        (CogTrackQuest,
         ToontownGlobals.DonaldsDock,
         2,
         's'),
        Same,
        Same,
        NA,
        2925,
        TTLocalizer.QuestDialogDict[2916]),
 2920: (DD_TIER + 2,
        Cont,
        (VisitQuest,),
        Same,
        1204,
        NA,
        2921,
        TTLocalizer.QuestDialog_2910),
 2921: (DD_TIER + 2,
        Cont,
        (CogTrackQuest,
         ToontownGlobals.DonaldsDock,
         6,
         'c'),
        Same,
        Same,
        NA,
        2925,
        TTLocalizer.QuestDialogDict[2921]),
 2925: (DD_TIER + 2,
        Cont,
        (DeliverItemQuest, 2012),
        Same,
        1203,
        NA,
        2926,
        TTLocalizer.QuestDialogDict[2925]),
 2926: (DD_TIER + 2,
        Cont,
        (BuildingQuest,
         ToontownGlobals.DonaldsDock,
         1,
         Any,
         2),
        Same,
        Same,
        900,
        NA,
        TTLocalizer.QuestDialogDict[2926]),
 3101: (DG_TIER,
        Start,
        (CogQuest,
         ToontownGlobals.DaisyGardens,
         8,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 3102: (DG_TIER,
        Start,
        (CogQuest,
         ToontownGlobals.DaisyGardens,
         10,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 3103: (DG_TIER,
        Start,
        (CogQuest,
         ToontownGlobals.DaisyGardens,
         12,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 3104: (DG_TIER,
        Start,
        (CogQuest,
         Anywhere,
         14,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 3105: (DG_TIER,
        Start,
        (CogQuest,
         Anywhere,
         16,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 3106: (DG_TIER,
        Start,
        (CogQuest,
         Anywhere,
         18,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 3107: (DG_TIER,
        Start,
        (CogQuest,
         Anywhere,
         10,
         'f'),
        Any,
        ToonHQ,
        OBSOLETE,
        NA,
        DefaultDialog),
 3108: (DG_TIER,
        Start,
        (CogQuest,
         Anywhere,
         8,
         'p'),
        Any,
        ToonHQ,
        OBSOLETE,
        NA,
        DefaultDialog),
 3109: (DG_TIER,
        Start,
        (CogQuest,
         Anywhere,
         8,
         'ym'),
        Any,
        ToonHQ,
        OBSOLETE,
        NA,
        DefaultDialog),
 3110: (DG_TIER,
        Start,
        (CogQuest,
         Anywhere,
         6,
         'mm'),
        Any,
        ToonHQ,
        OBSOLETE,
        NA,
        DefaultDialog),
 3111: (DG_TIER,
        Start,
        (CogQuest,
         Anywhere,
         6,
         'ds'),
        Any,
        ToonHQ,
        OBSOLETE,
        NA,
        DefaultDialog),
 3112: (DG_TIER,
        Start,
        (CogQuest,
         Anywhere,
         6,
         'hh'),
        Any,
        ToonHQ,
        OBSOLETE,
        NA,
        DefaultDialog),
 3113: (DG_TIER,
        Start,
        (CogQuest,
         Anywhere,
         10,
         'cc'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 3114: (DG_TIER,
        Start,
        (CogQuest,
         Anywhere,
         8,
         'tm'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 3115: (DG_TIER,
        Start,
        (CogQuest,
         Anywhere,
         8,
         'nd'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 3116: (DG_TIER,
        Start,
        (CogQuest,
         Anywhere,
         6,
         'gh'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 3117: (DG_TIER,
        Start,
        (CogQuest,
         Anywhere,
         6,
         'ms'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 3118: (DG_TIER,
        Start,
        (CogQuest,
         Anywhere,
         6,
         'tf'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 3119: (DG_TIER,
        Start,
        (CogQuest,
         Anywhere,
         10,
         'sc'),
        Any,
        ToonHQ,
        OBSOLETE,
        NA,
        DefaultDialog),
 3120: (DG_TIER,
        Start,
        (CogQuest,
         Anywhere,
         8,
         'pp'),
        Any,
        ToonHQ,
        OBSOLETE,
        NA,
        DefaultDialog),
 3121: (DG_TIER,
        Start,
        (CogQuest,
         Anywhere,
         8,
         'tw'),
        Any,
        ToonHQ,
        OBSOLETE,
        NA,
        DefaultDialog),
 3122: (DG_TIER,
        Start,
        (CogQuest,
         Anywhere,
         6,
         'bc'),
        Any,
        ToonHQ,
        OBSOLETE,
        NA,
        DefaultDialog),
 3123: (DG_TIER,
        Start,
        (CogQuest,
         Anywhere,
         6,
         'nc'),
        Any,
        ToonHQ,
        OBSOLETE,
        NA,
        DefaultDialog),
 3124: (DG_TIER,
        Start,
        (CogQuest,
         Anywhere,
         6,
         'mb'),
        Any,
        ToonHQ,
        OBSOLETE,
        NA,
        DefaultDialog),
 3125: (DG_TIER,
        Start,
        (CogQuest,
         Anywhere,
         10,
         'bf'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 3126: (DG_TIER,
        Start,
        (CogQuest,
         Anywhere,
         8,
         'b'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 3127: (DG_TIER,
        Start,
        (CogQuest,
         Anywhere,
         8,
         'dt'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 3128: (DG_TIER,
        Start,
        (CogQuest,
         Anywhere,
         6,
         'ac'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 3129: (DG_TIER,
        Start,
        (CogQuest,
         Anywhere,
         6,
         'bs'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 3130: (DG_TIER,
        Start,
        (CogQuest,
         Anywhere,
         6,
         'sd'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 3131: (DG_TIER,
        Start,
        (CogLevelQuest,
         Anywhere,
         10,
         3),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 3132: (DG_TIER,
        Start,
        (CogLevelQuest,
         Anywhere,
         15,
         3),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 3133: (DG_TIER,
        Start,
        (CogLevelQuest,
         Anywhere,
         8,
         4),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 3134: (DG_TIER,
        Start,
        (CogLevelQuest,
         Anywhere,
         12,
         4),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 3135: (DG_TIER,
        Start,
        (CogLevelQuest,
         Anywhere,
         4,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 3136: (DG_TIER,
        Start,
        (CogLevelQuest,
         Anywhere,
         6,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 3137: (DG_TIER,
        Start,
        (CogLevelQuest,
         Anywhere,
         8,
         6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 3138: (DG_TIER,
        Start,
        (CogLevelQuest,
         Anywhere,
         12,
         6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 3139: (DG_TIER,
        Start,
        (CogTrackQuest,
         ToontownGlobals.DaisyGardens,
         6,
         'm'),
        Any,
        ToonHQ,
        OBSOLETE,
        NA,
        DefaultDialog),
 3140: (DG_TIER,
        Start,
        (CogTrackQuest,
         ToontownGlobals.DaisyGardens,
         6,
         's'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 3141: (DG_TIER,
        Start,
        (CogTrackQuest,
         ToontownGlobals.DaisyGardens,
         6,
         'c'),
        Any,
        ToonHQ,
        OBSOLETE,
        NA,
        DefaultDialog),
 3142: (DG_TIER,
        Start,
        (CogTrackQuest,
         ToontownGlobals.DaisyGardens,
         6,
         'l'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 3143: (DG_TIER,
        Start,
        (CogTrackQuest,
         ToontownGlobals.DaisyGardens,
         10,
         'm'),
        Any,
        ToonHQ,
        OBSOLETE,
        NA,
        DefaultDialog),
 3144: (DG_TIER,
        Start,
        (CogTrackQuest,
         ToontownGlobals.DaisyGardens,
         10,
         's'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 3145: (DG_TIER,
        Start,
        (CogTrackQuest,
         ToontownGlobals.DaisyGardens,
         10,
         'c'),
        Any,
        ToonHQ,
        OBSOLETE,
        NA,
        DefaultDialog),
 3146: (DG_TIER,
        Start,
        (CogTrackQuest,
         ToontownGlobals.DaisyGardens,
         10,
         'l'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 3147: (DG_TIER,
        Start,
        (CogTrackQuest,
         Anywhere,
         14,
         'm'),
        Any,
        ToonHQ,
        OBSOLETE,
        NA,
        DefaultDialog),
 3148: (DG_TIER,
        Start,
        (CogTrackQuest,
         Anywhere,
         14,
         's'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 3149: (DG_TIER,
        Start,
        (CogTrackQuest,
         Anywhere,
         14,
         'c'),
        Any,
        ToonHQ,
        OBSOLETE,
        NA,
        DefaultDialog),
 3150: (DG_TIER,
        Start,
        (CogTrackQuest,
         Anywhere,
         14,
         'l'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 3151: (DG_TIER,
        Start,
        (BuildingQuest,
         Anywhere,
         1,
         Any,
         2),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 3152: (DG_TIER,
        Start,
        (BuildingQuest,
         Anywhere,
         2,
         Any,
         2),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 3153: (DG_TIER,
        Start,
        (BuildingQuest,
         Anywhere,
         3,
         Any,
         2),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 3154: (DG_TIER,
        Start,
        (BuildingQuest,
         Anywhere,
         4,
         Any,
         2),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 3155: (DG_TIER,
        Start,
        (BuildingQuest,
         Anywhere,
         2,
         'm',
         2),
        Any,
        ToonHQ,
        OBSOLETE,
        NA,
        DefaultDialog),
 3156: (DG_TIER,
        Start,
        (BuildingQuest,
         Anywhere,
         2,
         's',
         2),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 3157: (DG_TIER,
        Start,
        (BuildingQuest,
         Anywhere,
         2,
         'c',
         2),
        Any,
        ToonHQ,
        OBSOLETE,
        NA,
        DefaultDialog),
 3158: (DG_TIER,
        Start,
        (BuildingQuest,
         Anywhere,
         2,
         'l',
         2),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 3200: (DG_TIER,
        Start,
        (VisitQuest,),
        Any,
        5101,
        NA,
        3201,
        TTLocalizer.QuestDialogDict[3200]),
 3201: (DG_TIER,
        Start,
        (DeliverItemQuest, 5001),
        5101,
        5206,
        NA,
        3203,
        TTLocalizer.QuestDialogDict[3201]),
 3203: (DG_TIER,
        Cont,
        (RecoverItemQuest,
         ToontownGlobals.DaisyGardens,
         1,
         5002,
         VeryHard,
         Any),
        Same,
        Same,
        100,
        NA,
        TTLocalizer.QuestDialogDict[3203]),
 3204: (DG_TIER,
        Start,
        (VisitQuest,),
        Any,
        5106,
        NA,
        3205,
        TTLocalizer.QuestDialogDict[3204]),
 3205: (DG_TIER,
        Start,
        (RecoverItemQuest,
         Anywhere,
         1,
         5003,
         Medium,
         'b'),
        5106,
        Same,
        100,
        NA,
        TTLocalizer.QuestDialogDict[3205]),
 3206: (DG_TIER,
        Start,
        (VisitQuest,),
        Any,
        5107,
        NA,
        3207,
        TTLocalizer.QuestDialogDict[3206]),
 3207: (DG_TIER,
        Start,
        (RecoverItemQuest,
         ToontownGlobals.DaisyGardens,
         10,
         5004,
         VeryEasy,
         'dt'),
        5107,
        Same,
        101,
        NA,
        TTLocalizer.QuestDialogDict[3207]),
 3208: (DG_TIER,
        OBSOLETE,
        (CogQuest,
         ToontownGlobals.DaisyGardens,
         10,
         'cc'),
        Any,
        ToonHQ,
        NA,
        3209,
        TTLocalizer.QuestDialogDict[3208]),
 3209: (DG_TIER,
        OBSOLETE,
        (CogQuest,
         ToontownGlobals.DaisyGardens,
         10,
         'tm'),
        Same,
        Same,
        202,
        NA,
        TTLocalizer.QuestDialogDict[3209]),
 3247: (DG_TIER,
        OBSOLETE,
        (CogQuest,
         ToontownGlobals.DaisyGardens,
         20,
         'b'),
        Any,
        ToonHQ,
        202,
        NA,
        TTLocalizer.QuestDialogDict[3247]),
 3210: (DG_TIER,
        Start,
        (DeliverGagQuest,
         10,
         ToontownBattleGlobals.SQUIRT_TRACK,
         0),
        Any,
        5207,
        NA,
        3211,
        TTLocalizer.QuestDialogDict[3210]),
 3211: (DG_TIER,
        Cont,
        (CogQuest,
         5200,
         20,
         Any),
        Same,
        Same,
        100,
        NA,
        TTLocalizer.QuestDialogDict[3211]),
 3212: (DG_TIER,
        OBSOLETE,
        (VisitQuest,),
        Any,
        5208,
        NA,
        3213,
        TTLocalizer.QuestDialogDict[3212]),
 3213: (DG_TIER,
        OBSOLETE,
        (RecoverItemQuest,
         ToontownGlobals.DaisyGardens,
         1,
         5005,
         VeryHard,
         Any),
        5208,
        Same,
        NA,
        3214,
        TTLocalizer.QuestDialogDict[3213]),
 3214: (DG_TIER,
        OBSOLETE,
        (RecoverItemQuest,
         ToontownGlobals.DaisyGardens,
         1,
         5006,
         VeryHard,
         Any),
        Same,
        Same,
        NA,
        3215,
        TTLocalizer.QuestDialogDict[3214]),
 3215: (DG_TIER,
        OBSOLETE,
        (RecoverItemQuest,
         ToontownGlobals.DaisyGardens,
         1,
         5007,
         VeryHard,
         Any),
        Same,
        Same,
        NA,
        3216,
        TTLocalizer.QuestDialogDict[3215]),
 3216: (DG_TIER,
        OBSOLETE,
        (RecoverItemQuest,
         ToontownGlobals.DaisyGardens,
         1,
         5008,
         VeryHard,
         Any),
        Same,
        Same,
        202,
        NA,
        TTLocalizer.QuestDialogDict[3216]),
 3217: (DG_TIER,
        Start,
        (RecoverItemQuest,
         Anywhere,
         1,
         5010,
         VeryEasy,
         'nd'),
        ToonHQ,
        ToonHQ,
        NA,
        3218,
        TTLocalizer.QuestDialogDict[3217]),
 3218: (DG_TIER,
        Cont,
        (RecoverItemQuest,
         Anywhere,
         1,
         5010,
         VeryHard,
         'gh'),
        Same,
        Same,
        NA,
        3219,
        TTLocalizer.QuestDialogDict[3218]),
 3219: (DG_TIER,
        Cont,
        (RecoverItemQuest,
         Anywhere,
         1,
         5010,
         Easy,
         'ms'),
        Same,
        Same,
        101,
        NA,
        TTLocalizer.QuestDialogDict[3219]),
 3244: (DG_TIER,
        Start,
        (RecoverItemQuest,
         Anywhere,
         1,
         5010,
         VeryEasy,
         'ac'),
        ToonHQ,
        ToonHQ,
        NA,
        3245,
        TTLocalizer.QuestDialogDict[3244]),
 3245: (DG_TIER,
        Cont,
        (RecoverItemQuest,
         Anywhere,
         1,
         5010,
         VeryHard,
         'bs'),
        Same,
        Same,
        NA,
        3246,
        TTLocalizer.QuestDialogDict[3245]),
 3246: (DG_TIER,
        Cont,
        (RecoverItemQuest,
         Anywhere,
         1,
         5010,
         VeryHard,
         'sd'),
        Same,
        Same,
        101,
        NA,
        TTLocalizer.QuestDialogDict[3246]),
 3220: (DG_TIER,
        Start,
        (VisitQuest,),
        Any,
        5207,
        NA,
        3221,
        TTLocalizer.QuestDialogDict[3220]),
 3221: (DG_TIER,
        Start,
        (CogQuest,
         ToontownGlobals.DaisyGardens,
         20,
         Any),
        5207,
        Same,
        100,
        NA,
        TTLocalizer.QuestDialogDict[3221]),
 3222: (DG_TIER,
        Start,
        (BuildingQuest,
         Anywhere,
         2,
         Any,
         1),
        ToonHQ,
        ToonHQ,
        NA,
        3223,
        TTLocalizer.QuestDialogDict[3222]),
 3223: (DG_TIER,
        Cont,
        (BuildingQuest,
         Anywhere,
         2,
         Any,
         2),
        Same,
        Same,
        NA,
        3224,
        TTLocalizer.QuestDialogDict[3223]),
 3224: (DG_TIER,
        Cont,
        (BuildingQuest,
         Anywhere,
         2,
         Any,
         3),
        Same,
        Same,
        501,
        NA,
        TTLocalizer.QuestDialogDict[3224]),
 3225: (DG_TIER,
        Start,
        (VisitQuest,),
        Any,
        5108,
        NA,
        (3226,
         3227,
         3228,
         3229,
         3230,
         3231,
         3232,
         3233,
         3234),
        TTLocalizer.QuestDialogDict[3225]),
 3226: (DG_TIER,
        Start,
        (DeliverItemQuest, 5011),
        5108,
        5201,
        NA,
        3235,
        TTLocalizer.QuestDialog_3225),
 3227: (DG_TIER,
        Start,
        (DeliverItemQuest, 5011),
        5108,
        5203,
        NA,
        3235,
        TTLocalizer.QuestDialog_3225),
 3228: (DG_TIER,
        Start,
        (DeliverItemQuest, 5011),
        5108,
        5204,
        NA,
        3235,
        TTLocalizer.QuestDialog_3225),
 3229: (DG_TIER,
        Start,
        (DeliverItemQuest, 5011),
        5108,
        5205,
        NA,
        3235,
        TTLocalizer.QuestDialog_3225),
 3230: (DG_TIER,
        Start,
        (DeliverItemQuest, 5011),
        5108,
        5102,
        NA,
        3235,
        TTLocalizer.QuestDialog_3225),
 3231: (DG_TIER,
        Start,
        (DeliverItemQuest, 5011),
        5108,
        5103,
        NA,
        3235,
        TTLocalizer.QuestDialog_3225),
 3232: (DG_TIER,
        Start,
        (DeliverItemQuest, 5011),
        5108,
        5104,
        NA,
        3235,
        TTLocalizer.QuestDialog_3225),
 3233: (DG_TIER,
        Start,
        (DeliverItemQuest, 5011),
        5108,
        5105,
        NA,
        3235,
        TTLocalizer.QuestDialog_3225),
 3234: (DG_TIER,
        Start,
        (DeliverItemQuest, 5011),
        5108,
        5207,
        NA,
        3235,
        TTLocalizer.QuestDialog_3225),
 3235: (DG_TIER,
        Cont,
        (CogQuest,
         ToontownGlobals.DaisyGardens,
         10,
         Any),
        Same,
        5108,
        100,
        NA,
        TTLocalizer.QuestDialogDict[3235]),
 3236: (DG_TIER,
        OBSOLETE,
        (BuildingQuest,
         Anywhere,
         3,
         'l',
         2),
        Any,
        ToonHQ,
        NA,
        3237,
        TTLocalizer.QuestDialogDict[3236]),
 3237: (DG_TIER,
        OBSOLETE,
        (BuildingQuest,
         Anywhere,
         3,
         's',
         2),
        Same,
        Same,
        702,
        NA,
        TTLocalizer.QuestDialogDict[3237]),
 3238: (DG_TIER,
        Start,
        (RecoverItemQuest,
         Anywhere,
         1,
         2,
         VeryEasy,
         'm'),
        Any,
        ToonHQ,
        NA,
        3239,
        TTLocalizer.QuestDialogDict[3238]),
 3239: (DG_TIER,
        Cont,
        (RecoverItemQuest,
         Anywhere,
         1,
         5012,
         Hard,
         'm'),
        Same,
        Same,
        302,
        NA,
        TTLocalizer.QuestDialogDict[3239]),
 3242: (DG_TIER,
        Start,
        (RecoverItemQuest,
         Anywhere,
         1,
         2,
         VeryEasy,
         'le'),
        Any,
        ToonHQ,
        NA,
        3243,
        TTLocalizer.QuestDialogDict[3242]),
 3243: (DG_TIER,
        Cont,
        (RecoverItemQuest,
         Anywhere,
         1,
         5012,
         Hard,
         'le'),
        Same,
        Same,
        302,
        NA,
        TTLocalizer.QuestDialogDict[3243]),
 3240: (DG_TIER,
        OBSOLETE,
        (RecoverItemQuest,
         Anywhere,
         1,
         5009,
         Hard,
         'le'),
        Any,
        5103,
        102,
        NA,
        TTLocalizer.QuestDialogDict[3240]),
 3241: (DG_TIER,
        OBSOLETE,
        (BuildingQuest,
         Anywhere,
         5,
         Any,
         3),
        Any,
        ToonHQ,
        102,
        NA,
        TTLocalizer.QuestDialogDict[3241]),
 3250: (DG_TIER,
        Start,
        (VisitQuest,),
        Any,
        5317,
        NA,
        3251,
        TTLocalizer.QuestDialogDict[3250]),
 3251: (DG_TIER,
        Start,
        (CogTrackQuest,
         ToontownGlobals.SellbotHQ,
         5,
         's'),
        5317,
        Same,
        NA,
        3252,
        TTLocalizer.QuestDialogDict[3251]),
 3252: (DG_TIER,
        Cont,
        (VisitQuest,),
        Same,
        5311,
        NA,
        3253,
        TTLocalizer.QuestDialogDict[3252]),
 3253: (DG_TIER,
        Cont,
        (RecoverItemQuest,
         ToontownGlobals.SellbotHQ,
         1,
         5013,
         Medium,
         's',
         'track'),
        Same,
        Same,
        NA,
        3254,
        TTLocalizer.QuestDialogDict[3253]),
 3254: (DG_TIER,
        Cont,
        (DeliverItemQuest, 5013),
        Same,
        5317,
        202,
        NA,
        TTLocalizer.QuestDialogDict[3254]),
 3255: (DG_TIER,
        Start,
        (VisitQuest,),
        Any,
        5314,
        NA,
        3258,
        TTLocalizer.QuestDialogDict[3255]),
 3256: (DG_TIER,
        Start,
        (VisitQuest,),
        Any,
        5315,
        NA,
        3258,
        TTLocalizer.QuestDialogDict[3256]),
 3257: (DG_TIER,
        Start,
        (VisitQuest,),
        Any,
        5316,
        NA,
        3258,
        TTLocalizer.QuestDialogDict[3257]),
 3258: (DG_TIER,
        Cont,
        (RecoverItemQuest,
         ToontownGlobals.SellbotHQ,
         1,
         5014,
         VeryEasy,
         's',
         'track'),
        Same,
        Same,
        NA,
        3259,
        TTLocalizer.QuestDialogDict[3258]),
 3259: (DG_TIER,
        Cont,
        (RecoverItemQuest,
         ToontownGlobals.SellbotHQ,
         1,
         5015,
         Easy,
         's',
         'track'),
        Same,
        Same,
        NA,
        3260,
        TTLocalizer.QuestDialogDict[3259]),
 3260: (DG_TIER,
        Cont,
        (RecoverItemQuest,
         ToontownGlobals.SellbotHQ,
         1,
         5016,
         Easy,
         's',
         'track'),
        Same,
        Same,
        NA,
        3261,
        TTLocalizer.QuestDialogDict[3260]),
 3261: (DG_TIER,
        Cont,
        (RecoverItemQuest,
         ToontownGlobals.SellbotHQ,
         1,
         5017,
         Medium,
         's',
         'track'),
        Same,
        Same,
        102,
        NA,
        TTLocalizer.QuestDialogDict[3261]),
 3262: (DG_TIER,
        Start,
        (VisitQuest,),
        Any,
        5313,
        NA,
        3263,
        TTLocalizer.QuestDialogDict[3262]),
 3263: (DG_TIER,
        Start,
        (FactoryQuest, ToontownGlobals.SellbotHQ, 1),
        5313,
        5313,
        702,
        NA,
        TTLocalizer.QuestDialogDict[3263]),
 3500: (DG_TIER,
        Start,
        (CogQuest,
         ToontownGlobals.DaisyGardens,
         25,
         Any),
        Any,
        ToonHQ,
        NA,
        3501,
        DefaultDialog),
 3501: (DG_TIER,
        Cont,
        (DeliverItemQuest, 1000),
        Any,
        5007,
        1000,
        NA,
        DefaultDialog),
 4001: (MM_TIER,
        Start,
        (TrackChoiceQuest, ToontownBattleGlobals.TRAP_TRACK, ToontownBattleGlobals.HEAL_TRACK),
        Any,
        ToonHQ,
        400,
        NA,
        TTLocalizer.QuestDialogDict[4001]),
 4002: (MM_TIER,
        Start,
        (TrackChoiceQuest, ToontownBattleGlobals.TRAP_TRACK, ToontownBattleGlobals.SOUND_TRACK),
        Any,
        ToonHQ,
        400,
        NA,
        TTLocalizer.QuestDialogDict[4002]),
 4010: (MM_TIER,
        Start,
        (CogQuest,
         Anywhere,
         16,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4011: (MM_TIER,
        Start,
        (CogQuest,
         Anywhere,
         18,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4012: (MM_TIER,
        Start,
        (CogQuest,
         Anywhere,
         20,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4013: (MM_TIER,
        Start,
        (CogQuest,
         Anywhere,
         22,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4014: (MM_TIER,
        Start,
        (CogQuest,
         Anywhere,
         24,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4015: (MM_TIER,
        Start,
        (CogQuest,
         Anywhere,
         26,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4016: (MM_TIER,
        Start,
        (CogQuest,
         Anywhere,
         28,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4017: (MM_TIER,
        Start,
        (CogQuest,
         Anywhere,
         30,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4018: (MM_TIER,
        Start,
        (CogQuest,
         Anywhere,
         32,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4019: (MM_TIER,
        Start,
        (CogQuest,
         Anywhere,
         34,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4020: (MM_TIER,
        Start,
        (CogLevelQuest,
         Anywhere,
         20,
         3),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4021: (MM_TIER,
        Start,
        (CogLevelQuest,
         Anywhere,
         25,
         3),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4022: (MM_TIER,
        Start,
        (CogLevelQuest,
         Anywhere,
         16,
         4),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4023: (MM_TIER,
        Start,
        (CogLevelQuest,
         Anywhere,
         20,
         4),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4024: (MM_TIER,
        Start,
        (CogLevelQuest,
         Anywhere,
         10,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4025: (MM_TIER,
        Start,
        (CogLevelQuest,
         Anywhere,
         20,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4026: (MM_TIER,
        Start,
        (CogLevelQuest,
         Anywhere,
         16,
         6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4027: (MM_TIER,
        Start,
        (CogLevelQuest,
         Anywhere,
         18,
         6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4028: (MM_TIER,
        Start,
        (CogLevelQuest,
         Anywhere,
         20,
         6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4029: (MM_TIER,
        Start,
        (CogLevelQuest,
         Anywhere,
         24,
         6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4030: (MM_TIER,
        Start,
        (CogQuest,
         Anywhere,
         45,
         Any),
        Any,
        ToonHQ,
        NA,
        4031,
        DefaultDialog),
 4031: (MM_TIER,
        Cont,
        (DeliverItemQuest, 1000),
        Any,
        4008,
        1000,
        NA,
        DefaultDialog),
 4040: (MM_TIER,
        Start,
        (CogQuest,
         ToontownGlobals.SellbotHQ,
         6,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4041: (MM_TIER,
        Start,
        (CogQuest,
         ToontownGlobals.SellbotHQ,
         6,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4042: (MM_TIER,
        Start,
        (CogLevelQuest,
         ToontownGlobals.SellbotHQ,
         3,
         4),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4043: (MM_TIER,
        Start,
        (SkelecogQuest, ToontownGlobals.SellbotFactoryInt, 3),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4101: (MM_TIER + 1,
        Start,
        (CogQuest,
         ToontownGlobals.MinniesMelodyland,
         16,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4102: (MM_TIER + 1,
        Start,
        (CogQuest,
         ToontownGlobals.MinniesMelodyland,
         18,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4103: (MM_TIER + 1,
        Start,
        (CogQuest,
         ToontownGlobals.MinniesMelodyland,
         20,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4104: (MM_TIER + 1,
        Start,
        (CogQuest,
         ToontownGlobals.MinniesMelodyland,
         24,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4105: (MM_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         28,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4106: (MM_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         32,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4107: (MM_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         20,
         'f'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4108: (MM_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         16,
         'p'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4109: (MM_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         16,
         'ym'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4110: (MM_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         12,
         'mm'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4111: (MM_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         12,
         'ds'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4112: (MM_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         12,
         'hh'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4113: (MM_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         20,
         'cc'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4114: (MM_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         16,
         'tm'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4115: (MM_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         16,
         'nd'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4116: (MM_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         12,
         'gh'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4117: (MM_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         12,
         'ms'),
        None,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4118: (MM_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         12,
         'tf'),
        None,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4119: (MM_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         20,
         'sc'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4120: (MM_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         16,
         'pp'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4121: (MM_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         16,
         'tw'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4122: (MM_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         12,
         'bc'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4123: (MM_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         12,
         'nc'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4124: (MM_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         12,
         'mb'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4125: (MM_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         20,
         'bf'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4126: (MM_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         16,
         'b'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4127: (MM_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         16,
         'dt'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4128: (MM_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         12,
         'ac'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4129: (MM_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         12,
         'bs'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4130: (MM_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         12,
         'sd'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4131: (MM_TIER + 1,
        Start,
        (CogLevelQuest,
         Anywhere,
         20,
         3),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4132: (MM_TIER + 1,
        Start,
        (CogLevelQuest,
         Anywhere,
         25,
         3),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4133: (MM_TIER + 1,
        Start,
        (CogLevelQuest,
         Anywhere,
         16,
         4),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4134: (MM_TIER + 1,
        Start,
        (CogLevelQuest,
         Anywhere,
         20,
         4),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4135: (MM_TIER + 1,
        Start,
        (CogLevelQuest,
         Anywhere,
         10,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4136: (MM_TIER + 1,
        Start,
        (CogLevelQuest,
         Anywhere,
         20,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4137: (MM_TIER + 1,
        Start,
        (CogLevelQuest,
         Anywhere,
         16,
         6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4138: (MM_TIER + 1,
        Start,
        (CogLevelQuest,
         Anywhere,
         24,
         6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4139: (MM_TIER + 1,
        Start,
        (CogTrackQuest,
         ToontownGlobals.MinniesMelodyland,
         15,
         'm'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4140: (MM_TIER + 1,
        Start,
        (CogTrackQuest,
         ToontownGlobals.MinniesMelodyland,
         15,
         's'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4141: (MM_TIER + 1,
        Start,
        (CogTrackQuest,
         ToontownGlobals.MinniesMelodyland,
         15,
         'c'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4142: (MM_TIER + 1,
        Start,
        (CogTrackQuest,
         ToontownGlobals.MinniesMelodyland,
         15,
         'l'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4143: (MM_TIER + 1,
        Start,
        (CogTrackQuest,
         ToontownGlobals.MinniesMelodyland,
         24,
         'm'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4144: (MM_TIER + 1,
        Start,
        (CogTrackQuest,
         ToontownGlobals.MinniesMelodyland,
         24,
         's'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4145: (MM_TIER + 1,
        Start,
        (CogTrackQuest,
         ToontownGlobals.MinniesMelodyland,
         24,
         'c'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4146: (MM_TIER + 1,
        Start,
        (CogTrackQuest,
         ToontownGlobals.MinniesMelodyland,
         24,
         'l'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4147: (MM_TIER + 1,
        Start,
        (CogTrackQuest,
         Anywhere,
         30,
         'm'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4148: (MM_TIER + 1,
        Start,
        (CogTrackQuest,
         Anywhere,
         30,
         's'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4149: (MM_TIER + 1,
        Start,
        (CogTrackQuest,
         Anywhere,
         30,
         'c'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4150: (MM_TIER + 1,
        Start,
        (CogTrackQuest,
         Anywhere,
         30,
         'l'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4151: (MM_TIER + 1,
        Start,
        (BuildingQuest,
         Anywhere,
         1,
         Any,
         3),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4152: (MM_TIER + 1,
        Start,
        (BuildingQuest,
         Anywhere,
         2,
         Any,
         3),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4153: (MM_TIER + 1,
        Start,
        (BuildingQuest,
         Anywhere,
         3,
         Any,
         3),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4154: (MM_TIER + 1,
        Start,
        (BuildingQuest,
         Anywhere,
         4,
         Any,
         3),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4155: (MM_TIER + 1,
        Start,
        (BuildingQuest,
         Anywhere,
         3,
         'm',
         3),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4156: (MM_TIER + 1,
        Start,
        (BuildingQuest,
         Anywhere,
         3,
         's',
         3),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4157: (MM_TIER + 1,
        Start,
        (BuildingQuest,
         Anywhere,
         3,
         'c',
         3),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4158: (MM_TIER + 1,
        Start,
        (BuildingQuest,
         Anywhere,
         3,
         'l',
         3),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4160: (MM_TIER + 1,
        Start,
        (CogQuest,
         ToontownGlobals.SellbotHQ,
         10,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4161: (MM_TIER + 1,
        Start,
        (CogQuest,
         ToontownGlobals.SellbotHQ,
         12,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4162: (MM_TIER + 1,
        Start,
        (CogLevelQuest,
         ToontownGlobals.SellbotHQ,
         6,
         4),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4163: (MM_TIER + 1,
        Start,
        (FactoryQuest, ToontownGlobals.SellbotHQ, 1),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4164: (MM_TIER + 1,
        Start,
        (FactoryQuest, ToontownGlobals.SellbotHQ, 1),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4165: (MM_TIER + 1,
        Start,
        (SkelecogQuest, ToontownGlobals.SellbotFactoryInt, 4),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4166: (MM_TIER + 1,
        Start,
        (ForemanQuest, ToontownGlobals.SellbotHQ, 1),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4200: (MM_TIER + 1,
        Start,
        (VisitQuest,),
        Any,
        4101,
        NA,
        4201,
        TTLocalizer.QuestDialogDict[4200]),
 4201: (MM_TIER + 1,
        Start,
        (VisitQuest,),
        4101,
        4201,
        NA,
        4202,
        TTLocalizer.QuestDialogDict[4201]),
 4202: (MM_TIER + 1,
        Cont,
        (DeliverItemQuest, 4001),
        Same,
        4101,
        NA,
        4203,
        TTLocalizer.QuestDialogDict[4202]),
 4203: (MM_TIER + 1,
        Cont,
        (VisitQuest,),
        Same,
        4301,
        NA,
        4204,
        TTLocalizer.QuestDialogDict[4203]),
 4204: (MM_TIER + 1,
        Cont,
        (CogQuest,
         ToontownGlobals.MinniesMelodyland,
         10,
         Any),
        Same,
        Same,
        NA,
        4205,
        TTLocalizer.QuestDialogDict[4204]),
 4205: (MM_TIER + 1,
        Cont,
        (DeliverItemQuest, 4002),
        Same,
        4101,
        NA,
        4206,
        TTLocalizer.QuestDialogDict[4205]),
 4206: (MM_TIER + 1,
        Cont,
        (VisitQuest,),
        Same,
        4102,
        NA,
        4207,
        TTLocalizer.QuestDialogDict[4206]),
 4207: (MM_TIER + 1,
        Cont,
        (VisitQuest,),
        Same,
        4108,
        NA,
        4208,
        TTLocalizer.QuestDialogDict[4207]),
 4208: (MM_TIER + 1,
        Cont,
        (DeliverGagQuest,
         1,
         ToontownBattleGlobals.THROW_TRACK,
         4),
        Same,
        Same,
        NA,
        4209,
        TTLocalizer.QuestDialogDict[4208]),
 4209: (MM_TIER + 1,
        Cont,
        (DeliverItemQuest, 4003),
        Same,
        4102,
        NA,
        4210,
        TTLocalizer.QuestDialogDict[4209]),
 4210: (MM_TIER + 1,
        Cont,
        (DeliverItemQuest, 4004),
        Same,
        4101,
        203,
        NA,
        TTLocalizer.QuestDialogDict[4210]),
 4211: (MM_TIER + 1,
        Start,
        (VisitQuest,),
        ToonHQ,
        4103,
        NA,
        4212,
        TTLocalizer.QuestDialogDict[4211]),
 4212: (MM_TIER + 1,
        Start,
        (CogQuest,
         ToontownGlobals.MinniesMelodyland,
         10,
         'nc'),
        4103,
        Same,
        NA,
        4213,
        TTLocalizer.QuestDialogDict[4212]),
 4213: (MM_TIER + 1,
        Cont,
        (CogTrackQuest,
         ToontownGlobals.MinniesMelodyland,
         20,
         'm'),
        Same,
        Same,
        NA,
        4214,
        TTLocalizer.QuestDialogDict[4213]),
 4214: (MM_TIER + 1,
        Cont,
        (BuildingQuest,
         Anywhere,
         1,
         'm',
         Any),
        Same,
        Same,
        303,
        NA,
        TTLocalizer.QuestDialogDict[4214]),
 4215: (MM_TIER + 1,
        Start,
        (VisitQuest,),
        Any,
        4302,
        NA,
        4216,
        TTLocalizer.QuestDialogDict[4215]),
 4216: (MM_TIER + 1,
        Start,
        (RecoverItemQuest,
         Anywhere,
         1,
         4005,
         VeryHard,
         'gh'),
        4302,
        Same,
        NA,
        4217,
        TTLocalizer.QuestDialogDict[4216]),
 4217: (MM_TIER + 1,
        Cont,
        (DeliverItemQuest, 4005),
        Same,
        4203,
        NA,
        4218,
        TTLocalizer.QuestDialogDict[4217]),
 4218: (MM_TIER + 1,
        Cont,
        (VisitQuest,),
        Any,
        4302,
        NA,
        4219,
        TTLocalizer.QuestDialogDict[4218]),
 4219: (MM_TIER + 1,
        Cont,
        (RecoverItemQuest,
         Anywhere,
         1,
         4006,
         VeryHard,
         'gh'),
        Same,
        Same,
        NA,
        4220,
        TTLocalizer.QuestDialogDict[4219]),
 4220: (MM_TIER + 1,
        Cont,
        (DeliverItemQuest, 4006),
        Same,
        4308,
        NA,
        4221,
        TTLocalizer.QuestDialogDict[4220]),
 4221: (MM_TIER + 1,
        Cont,
        (VisitQuest,),
        Any,
        4302,
        NA,
        4222,
        TTLocalizer.QuestDialogDict[4221]),
 4222: (MM_TIER + 1,
        Cont,
        (RecoverItemQuest,
         Anywhere,
         1,
         4007,
         VeryHard,
         'gh'),
        Same,
        Same,
        NA,
        4223,
        TTLocalizer.QuestDialogDict[4222]),
 4223: (MM_TIER + 1,
        Cont,
        (DeliverItemQuest, 4007),
        Same,
        4202,
        NA,
        4224,
        TTLocalizer.QuestDialogDict[4223]),
 4224: (MM_TIER + 1,
        Cont,
        (VisitQuest,),
        Any,
        4302,
        703,
        NA,
        TTLocalizer.QuestDialogDict[4224]),
 4500: (MM_TIER + 1,
        Start,
        (CogQuest,
         ToontownGlobals.MinniesMelodyland,
         40,
         Any),
        Any,
        ToonHQ,
        NA,
        4501,
        DefaultDialog),
 4501: (MM_TIER + 1,
        Cont,
        (DeliverItemQuest, 1000),
        Any,
        4008,
        1000,
        NA,
        DefaultDialog),
 902: (MM_TIER + 2,
       Start,
       (VisitQuest,),
       Any,
       4303,
       NA,
       4903,
       TTLocalizer.QuestDialogDict[902]),
 4903: (MM_TIER + 2,
        Start,
        (DeliverItemQuest, 4008),
        4303,
        4109,
        NA,
        4904,
        TTLocalizer.QuestDialogDict[4903]),
 4904: (MM_TIER + 2,
        Cont,
        (RecoverItemQuest,
         Anywhere,
         1,
         4009,
         VeryHard,
         AnyFish),
        Same,
        Same,
        NA,
        4905,
        TTLocalizer.QuestDialogDict[4904]),
 4905: (MM_TIER + 2,
        Cont,
        (BuildingQuest,
         Anywhere,
         1,
         Any,
         1),
        Same,
        Same,
        NA,
        4906,
        TTLocalizer.QuestDialogDict[4905]),
 4906: (MM_TIER + 2,
        Cont,
        (DeliverItemQuest, 4010),
        Same,
        4303,
        NA,
        4907,
        TTLocalizer.QuestDialogDict[4906]),
 4907: (MM_TIER + 2,
        Cont,
        (VisitQuest,),
        Same,
        4208,
        NA,
        4908,
        TTLocalizer.QuestDialogDict[4907]),
 4908: (MM_TIER + 2,
        Cont,
        (BuildingQuest,
         Anywhere,
         1,
         Any,
         2),
        Same,
        Same,
        NA,
        4909,
        TTLocalizer.QuestDialogDict[4908]),
 4909: (MM_TIER + 2,
        Cont,
        (BuildingQuest,
         Anywhere,
         1,
         Any,
         3),
        Same,
        Same,
        NA,
        4910,
        TTLocalizer.QuestDialogDict[4909]),
 4910: (MM_TIER + 2,
        Cont,
        (DeliverItemQuest, 4011),
        Same,
        4303,
        900,
        NA,
        TTLocalizer.QuestDialogDict[4910]),
 4810: (MM_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         16,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4811: (MM_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         18,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4812: (MM_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         20,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4813: (MM_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         22,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4814: (MM_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         24,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4815: (MM_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         26,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4816: (MM_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         28,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4817: (MM_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         30,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4818: (MM_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         32,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4819: (MM_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         34,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4820: (MM_TIER + 2,
        Start,
        (CogLevelQuest,
         Anywhere,
         20,
         3),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4821: (MM_TIER + 2,
        Start,
        (CogLevelQuest,
         Anywhere,
         25,
         3),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4822: (MM_TIER + 2,
        Start,
        (CogLevelQuest,
         Anywhere,
         16,
         4),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4823: (MM_TIER + 2,
        Start,
        (CogLevelQuest,
         Anywhere,
         20,
         4),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4824: (MM_TIER + 2,
        Start,
        (CogLevelQuest,
         Anywhere,
         10,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4825: (MM_TIER + 2,
        Start,
        (CogLevelQuest,
         Anywhere,
         20,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4826: (MM_TIER + 2,
        Start,
        (CogLevelQuest,
         Anywhere,
         16,
         6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4827: (MM_TIER + 2,
        Start,
        (CogLevelQuest,
         Anywhere,
         18,
         6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4828: (MM_TIER + 2,
        Start,
        (CogLevelQuest,
         Anywhere,
         20,
         6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4829: (MM_TIER + 2,
        Start,
        (CogLevelQuest,
         Anywhere,
         24,
         6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4830: (MM_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         45,
         Any),
        Any,
        ToonHQ,
        NA,
        4831,
        DefaultDialog),
 4831: (MM_TIER + 2,
        Cont,
        (DeliverItemQuest, 1000),
        Any,
        4008,
        1000,
        NA,
        DefaultDialog),
 4840: (MM_TIER + 2,
        Start,
        (CogQuest,
         ToontownGlobals.SellbotHQ,
         12,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4841: (MM_TIER + 2,
        Start,
        (CogQuest,
         ToontownGlobals.SellbotHQ,
         15,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4842: (MM_TIER + 2,
        Start,
        (CogLevelQuest,
         ToontownGlobals.SellbotHQ,
         12,
         4),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4843: (MM_TIER + 2,
        Start,
        (CogLevelQuest,
         ToontownGlobals.SellbotFactoryInt,
         10,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4844: (MM_TIER + 2,
        Start,
        (FactoryQuest, ToontownGlobals.SellbotHQ, 1),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4845: (MM_TIER + 2,
        Start,
        (FactoryQuest, ToontownGlobals.SellbotHQ, 1),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4846: (MM_TIER + 2,
        Start,
        (SkelecogQuest, ToontownGlobals.SellbotFactoryInt, 5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4847: (MM_TIER + 2,
        Start,
        (SkelecogLevelQuest,
         ToontownGlobals.SellbotHQ,
         3,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 4848: (MM_TIER + 2,
        Start,
        (ForemanQuest, ToontownGlobals.SellbotHQ, 1),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5247: (BR_TIER,
        Start,
        (VisitQuest,),
        Any,
        3112,
        NA,
        5248,
        TTLocalizer.QuestDialogDict[5247]),
 5248: (BR_TIER,
        Start,
        (CogLevelQuest,
         Anywhere,
         10,
         8),
        3112,
        Same,
        NA,
        5249,
        TTLocalizer.QuestDialogDict[5248]),
 5249: (BR_TIER,
        Cont,
        (RecoverItemQuest,
         Anywhere,
         3,
         3018,
         VeryHard,
         AnyFish),
        Same,
        Same,
        NA,
        (5250,
         5258,
         5259,
         5260),
        TTLocalizer.QuestDialogDict[5249]),
 5250: (BR_TIER,
        Cont,
        (BuildingQuest,
         Anywhere,
         2,
         'l',
         4),
        Same,
        Same,
        NA,
        (5001,
         5002,
         5003,
         5004,
         5005,
         5006,
         5007,
         5008),
        TTLocalizer.QuestDialogDict[5250]),
 5258: (BR_TIER,
        Cont,
        (BuildingQuest,
         Anywhere,
         2,
         'c',
         4),
        Same,
        Same,
        NA,
        (5001,
         5002,
         5003,
         5004,
         5005,
         5006,
         5007,
         5008),
        TTLocalizer.QuestDialogDict[5258]),
 5259: (BR_TIER,
        Cont,
        (BuildingQuest,
         Anywhere,
         2,
         'm',
         4),
        Same,
        Same,
        NA,
        (5001,
         5002,
         5003,
         5004,
         5005,
         5006,
         5007,
         5008),
        TTLocalizer.QuestDialogDict[5259]),
 5260: (BR_TIER,
        Cont,
        (BuildingQuest,
         Anywhere,
         2,
         's',
         4),
        Same,
        Same,
        NA,
        (5001,
         5002,
         5003,
         5004,
         5005,
         5006,
         5007,
         5008),
        TTLocalizer.QuestDialogDict[5260]),
 5001: (BR_TIER,
        Cont,
        (TrackChoiceQuest, ToontownBattleGlobals.SOUND_TRACK, ToontownBattleGlobals.DROP_TRACK),
        Same,
        Same,
        400,
        NA,
        TTLocalizer.TheBrrrghTrackQuestDict),
 5002: (BR_TIER,
        Cont,
        (TrackChoiceQuest, ToontownBattleGlobals.SOUND_TRACK, ToontownBattleGlobals.LURE_TRACK),
        Same,
        Same,
        400,
        NA,
        TTLocalizer.TheBrrrghTrackQuestDict),
 5003: (BR_TIER,
        Cont,
        (TrackChoiceQuest, ToontownBattleGlobals.HEAL_TRACK, ToontownBattleGlobals.DROP_TRACK),
        Same,
        Same,
        400,
        NA,
        TTLocalizer.TheBrrrghTrackQuestDict),
 5004: (BR_TIER,
        Cont,
        (TrackChoiceQuest, ToontownBattleGlobals.HEAL_TRACK, ToontownBattleGlobals.LURE_TRACK),
        Same,
        Same,
        400,
        NA,
        TTLocalizer.TheBrrrghTrackQuestDict),
 5005: (BR_TIER,
        Cont,
        (TrackChoiceQuest, ToontownBattleGlobals.TRAP_TRACK, ToontownBattleGlobals.SOUND_TRACK),
        Same,
        Same,
        400,
        NA,
        TTLocalizer.TheBrrrghTrackQuestDict),
 5006: (BR_TIER,
        Cont,
        (TrackChoiceQuest, ToontownBattleGlobals.TRAP_TRACK, ToontownBattleGlobals.HEAL_TRACK),
        Same,
        Same,
        400,
        NA,
        TTLocalizer.TheBrrrghTrackQuestDict),
 5007: (BR_TIER,
        Cont,
        (TrackChoiceQuest, ToontownBattleGlobals.TRAP_TRACK, ToontownBattleGlobals.DROP_TRACK),
        Same,
        Same,
        400,
        NA,
        TTLocalizer.TheBrrrghTrackQuestDict),
 5008: (BR_TIER,
        Cont,
        (TrackChoiceQuest, ToontownBattleGlobals.TRAP_TRACK, ToontownBattleGlobals.LURE_TRACK),
        Same,
        Same,
        400,
        NA,
        TTLocalizer.TheBrrrghTrackQuestDict),
 5020: (BR_TIER,
        Start,
        (CogQuest,
         Anywhere,
         36,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5021: (BR_TIER,
        Start,
        (CogQuest,
         Anywhere,
         38,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5022: (BR_TIER,
        Start,
        (CogQuest,
         Anywhere,
         40,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5023: (BR_TIER,
        Start,
        (CogQuest,
         Anywhere,
         42,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5024: (BR_TIER,
        Start,
        (CogQuest,
         Anywhere,
         44,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5025: (BR_TIER,
        Start,
        (CogQuest,
         Anywhere,
         46,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5026: (BR_TIER,
        Start,
        (CogQuest,
         Anywhere,
         48,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5027: (BR_TIER,
        Start,
        (CogQuest,
         Anywhere,
         50,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5028: (BR_TIER,
        Start,
        (CogQuest,
         Anywhere,
         52,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5029: (BR_TIER,
        Start,
        (CogQuest,
         Anywhere,
         54,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5030: (BR_TIER,
        Start,
        (CogLevelQuest,
         Anywhere,
         25,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5031: (BR_TIER,
        Start,
        (CogLevelQuest,
         Anywhere,
         30,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5032: (BR_TIER,
        Start,
        (CogLevelQuest,
         Anywhere,
         35,
         6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5033: (BR_TIER,
        Start,
        (CogLevelQuest,
         Anywhere,
         6,
         7),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5034: (BR_TIER,
        Start,
        (CogLevelQuest,
         Anywhere,
         10,
         7),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5035: (BR_TIER,
        Start,
        (CogLevelQuest,
         Anywhere,
         20,
         7),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5036: (BR_TIER,
        Start,
        (CogLevelQuest,
         Anywhere,
         2,
         8),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5037: (BR_TIER,
        Start,
        (CogLevelQuest,
         Anywhere,
         8,
         8),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5038: (BR_TIER,
        Start,
        (CogLevelQuest,
         Anywhere,
         10,
         8),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5039: (BR_TIER,
        Start,
        (CogLevelQuest,
         Anywhere,
         12,
         8),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5040: (BR_TIER,
        Start,
        (CogQuest,
         ToontownGlobals.TheBrrrgh,
         75,
         Any),
        Any,
        ToonHQ,
        NA,
        5041,
        DefaultDialog),
 5041: (BR_TIER,
        Cont,
        (DeliverItemQuest, 1000),
        Any,
        3008,
        1000,
        NA,
        DefaultDialog),
 5060: (BR_TIER,
        Start,
        (CogNewbieQuest,
         ToontownGlobals.ToontownCentral,
         5,
         Any,
         NEWBIE_HP),
        Any,
        ToonHQ,
        606,
        NA,
        DefaultDialog),
 5061: (BR_TIER,
        Start,
        (CogNewbieQuest,
         ToontownGlobals.ToontownCentral,
         5,
         Any,
         NEWBIE_HP),
        Any,
        ToonHQ,
        606,
        NA,
        DefaultDialog),
 5062: (BR_TIER,
        Start,
        (CogNewbieQuest,
         ToontownGlobals.ToontownCentral,
         5,
         Any,
         NEWBIE_HP),
        Any,
        ToonHQ,
        606,
        NA,
        DefaultDialog),
 5063: (BR_TIER,
        Start,
        (CogNewbieQuest,
         ToontownGlobals.ToontownCentral,
         5,
         Any,
         NEWBIE_HP),
        Any,
        ToonHQ,
        606,
        NA,
        DefaultDialog),
 5064: (BR_TIER,
        Start,
        (BuildingNewbieQuest,
         Anywhere,
         1,
         Any,
         1,
         NEWBIE_HP),
        Any,
        ToonHQ,
        607,
        NA,
        DefaultDialog),
 5065: (BR_TIER,
        Start,
        (BuildingNewbieQuest,
         Anywhere,
         1,
         Any,
         1,
         NEWBIE_HP),
        Any,
        ToonHQ,
        607,
        NA,
        DefaultDialog),
 5066: (BR_TIER,
        Start,
        (BuildingNewbieQuest,
         Anywhere,
         1,
         Any,
         1,
         NEWBIE_HP),
        Any,
        ToonHQ,
        607,
        NA,
        DefaultDialog),
 5067: (BR_TIER,
        Start,
        (BuildingNewbieQuest,
         Anywhere,
         1,
         Any,
         1,
         NEWBIE_HP),
        Any,
        ToonHQ,
        607,
        NA,
        DefaultDialog),
 5070: (BR_TIER,
        Start,
        (CogQuest,
         ToontownGlobals.SellbotHQ,
         20,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5071: (BR_TIER,
        Start,
        (CogQuest,
         ToontownGlobals.SellbotHQ,
         22,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5072: (BR_TIER,
        Start,
        (CogLevelQuest,
         ToontownGlobals.SellbotHQ,
         15,
         4),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5073: (BR_TIER,
        Start,
        (CogLevelQuest,
         ToontownGlobals.SellbotHQ,
         10,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5074: (BR_TIER,
        Start,
        (CogLevelQuest,
         ToontownGlobals.SellbotFactoryInt,
         12,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5075: (BR_TIER,
        Start,
        (CogLevelQuest,
         ToontownGlobals.SellbotFactoryInt,
         8,
         6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5076: (BR_TIER,
        Start,
        (FactoryQuest, ToontownGlobals.SellbotHQ, 1),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5077: (BR_TIER,
        Start,
        (FactoryQuest, ToontownGlobals.SellbotHQ, 2),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5078: (BR_TIER,
        Start,
        (FactoryQuest, ToontownGlobals.SellbotHQ, 1),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5079: (BR_TIER,
        Start,
        (FactoryQuest, ToontownGlobals.SellbotHQ, 2),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5080: (BR_TIER,
        Start,
        (SkelecogQuest, ToontownGlobals.SellbotFactoryInt, 10),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5081: (BR_TIER,
        Start,
        (SkelecogLevelQuest,
         ToontownGlobals.SellbotHQ,
         5,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5082: (BR_TIER,
        Start,
        (SkelecogLevelQuest,
         ToontownGlobals.SellbotHQ,
         2,
         6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5083: (BR_TIER,
        Start,
        (ForemanQuest, ToontownGlobals.SellbotHQ, 1),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5084: (BR_TIER,
        Start,
        (ForemanQuest, ToontownGlobals.SellbotHQ, 2),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5101: (BR_TIER + 1,
        Start,
        (CogQuest,
         ToontownGlobals.TheBrrrgh,
         36,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5102: (BR_TIER + 1,
        Start,
        (CogQuest,
         ToontownGlobals.TheBrrrgh,
         40,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5103: (BR_TIER + 1,
        Start,
        (CogQuest,
         ToontownGlobals.TheBrrrgh,
         42,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5104: (BR_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         45,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5105: (BR_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         50,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5106: (BR_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         55,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5107: (BR_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         25,
         'p'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5108: (BR_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         20,
         'ym'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5109: (BR_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         20,
         'mm'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5110: (BR_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         15,
         'ds'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5111: (BR_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         15,
         'hh'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5112: (BR_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         8,
         'cr'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5113: (BR_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         25,
         'tm'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5114: (BR_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         20,
         'nd'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5115: (BR_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         20,
         'gh'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5116: (BR_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         15,
         'ms'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5117: (BR_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         15,
         'tf'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5118: (BR_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         8,
         'm'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5119: (BR_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         25,
         'pp'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5120: (BR_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         20,
         'tw'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5121: (BR_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         20,
         'bc'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5122: (BR_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         15,
         'nc'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5123: (BR_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         15,
         'mb'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5124: (BR_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         8,
         'ls'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5125: (BR_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         25,
         'b'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5126: (BR_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         20,
         'dt'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5127: (BR_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         20,
         'ac'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5128: (BR_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         15,
         'bs'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5129: (BR_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         15,
         'sd'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5130: (BR_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         8,
         'le'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5131: (BR_TIER + 1,
        Start,
        (CogLevelQuest,
         Anywhere,
         25,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5132: (BR_TIER + 1,
        Start,
        (CogLevelQuest,
         Anywhere,
         30,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5133: (BR_TIER + 1,
        Start,
        (CogLevelQuest,
         Anywhere,
         35,
         6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5134: (BR_TIER + 1,
        Start,
        (CogLevelQuest,
         Anywhere,
         6,
         7),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5135: (BR_TIER + 1,
        Start,
        (CogLevelQuest,
         Anywhere,
         10,
         7),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5136: (BR_TIER + 1,
        Start,
        (CogLevelQuest,
         Anywhere,
         20,
         7),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5137: (BR_TIER + 1,
        Start,
        (CogLevelQuest,
         Anywhere,
         2,
         8),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5138: (BR_TIER + 1,
        Start,
        (CogLevelQuest,
         Anywhere,
         8,
         8),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5139: (BR_TIER + 1,
        Start,
        (CogTrackQuest,
         ToontownGlobals.TheBrrrgh,
         32,
         'm'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5140: (BR_TIER + 1,
        Start,
        (CogTrackQuest,
         ToontownGlobals.TheBrrrgh,
         32,
         's'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5141: (BR_TIER + 1,
        Start,
        (CogTrackQuest,
         ToontownGlobals.TheBrrrgh,
         32,
         'c'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5142: (BR_TIER + 1,
        Start,
        (CogTrackQuest,
         ToontownGlobals.TheBrrrgh,
         32,
         'l'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5143: (BR_TIER + 1,
        Start,
        (CogTrackQuest,
         ToontownGlobals.TheBrrrgh,
         40,
         'm'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5144: (BR_TIER + 1,
        Start,
        (CogTrackQuest,
         ToontownGlobals.TheBrrrgh,
         40,
         's'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5145: (BR_TIER + 1,
        Start,
        (CogTrackQuest,
         ToontownGlobals.TheBrrrgh,
         40,
         'c'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5146: (BR_TIER + 1,
        Start,
        (CogTrackQuest,
         ToontownGlobals.TheBrrrgh,
         40,
         'l'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5147: (BR_TIER + 1,
        Start,
        (CogTrackQuest,
         Anywhere,
         45,
         'm'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5148: (BR_TIER + 1,
        Start,
        (CogTrackQuest,
         Anywhere,
         45,
         's'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5149: (BR_TIER + 1,
        Start,
        (CogTrackQuest,
         Anywhere,
         45,
         'c'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5150: (BR_TIER + 1,
        Start,
        (CogTrackQuest,
         Anywhere,
         45,
         'l'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5151: (BR_TIER + 1,
        Start,
        (BuildingQuest,
         Anywhere,
         8,
         Any,
         3),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5152: (BR_TIER + 1,
        Start,
        (BuildingQuest,
         Anywhere,
         2,
         Any,
         4),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5153: (BR_TIER + 1,
        Start,
        (BuildingQuest,
         Anywhere,
         5,
         Any,
         4),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5154: (BR_TIER + 1,
        Start,
        (BuildingQuest,
         Anywhere,
         6,
         Any,
         4),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5155: (BR_TIER + 1,
        Start,
        (BuildingQuest,
         Anywhere,
         2,
         'm',
         4),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5156: (BR_TIER + 1,
        Start,
        (BuildingQuest,
         Anywhere,
         2,
         's',
         4),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5157: (BR_TIER + 1,
        Start,
        (BuildingQuest,
         Anywhere,
         2,
         'c',
         4),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5158: (BR_TIER + 1,
        Start,
        (BuildingQuest,
         Anywhere,
         2,
         'l',
         4),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5160: (BR_TIER + 1,
        Start,
        (CogQuest,
         ToontownGlobals.SellbotHQ,
         22,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5161: (BR_TIER + 1,
        Start,
        (CogQuest,
         ToontownGlobals.SellbotHQ,
         25,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5162: (BR_TIER + 1,
        Start,
        (CogLevelQuest,
         ToontownGlobals.SellbotHQ,
         16,
         4),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5163: (BR_TIER + 1,
        Start,
        (CogLevelQuest,
         ToontownGlobals.SellbotHQ,
         12,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5164: (BR_TIER + 1,
        Start,
        (CogLevelQuest,
         ToontownGlobals.SellbotFactoryInt,
         14,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5165: (BR_TIER + 1,
        Start,
        (CogLevelQuest,
         ToontownGlobals.SellbotFactoryInt,
         10,
         6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5166: (BR_TIER + 1,
        Start,
        (FactoryQuest, ToontownGlobals.SellbotHQ, 1),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5167: (BR_TIER + 1,
        Start,
        (FactoryQuest, ToontownGlobals.SellbotHQ, 2),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5168: (BR_TIER + 1,
        Start,
        (FactoryQuest, ToontownGlobals.SellbotHQ, 1),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5169: (BR_TIER + 1,
        Start,
        (FactoryQuest, ToontownGlobals.SellbotHQ, 2),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5170: (BR_TIER + 1,
        Start,
        (SkelecogQuest, ToontownGlobals.SellbotFactoryInt, 12),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5171: (BR_TIER + 1,
        Start,
        (SkelecogLevelQuest,
         ToontownGlobals.SellbotHQ,
         6,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5172: (BR_TIER + 1,
        Start,
        (SkelecogLevelQuest,
         ToontownGlobals.SellbotHQ,
         3,
         6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5173: (BR_TIER + 1,
        Start,
        (ForemanQuest, ToontownGlobals.SellbotHQ, 1),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5174: (BR_TIER + 1,
        Start,
        (ForemanQuest, ToontownGlobals.SellbotHQ, 2),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5200: (BR_TIER + 1,
        Start,
        (VisitQuest,),
        Any,
        3110,
        NA,
        (5201,
         5261,
         5262,
         5263),
        TTLocalizer.QuestDialogDict[5200]),
 5201: (BR_TIER + 1,
        Start,
        (RecoverItemQuest,
         Anywhere,
         1,
         3001,
         VeryHard,
         'hh'),
        3110,
        Same,
        100,
        NA,
        TTLocalizer.QuestDialogDict[5201]),
 5261: (BR_TIER + 1,
        Start,
        (RecoverItemQuest,
         Anywhere,
         1,
         3001,
         VeryHard,
         'tf'),
        3110,
        Same,
        100,
        NA,
        TTLocalizer.QuestDialogDict[5261]),
 5262: (BR_TIER + 1,
        Start,
        (RecoverItemQuest,
         Anywhere,
         1,
         3001,
         VeryHard,
         'mb'),
        3110,
        Same,
        100,
        NA,
        TTLocalizer.QuestDialogDict[5262]),
 5263: (BR_TIER + 1,
        Start,
        (RecoverItemQuest,
         Anywhere,
         1,
         3001,
         VeryHard,
         'sd'),
        3110,
        Same,
        100,
        NA,
        TTLocalizer.QuestDialogDict[5263]),
 5202: (BR_TIER + 1,
        Start,
        (VisitQuest,),
        Any,
        3108,
        NA,
        5203,
        TTLocalizer.QuestDialogDict[5202]),
 5203: (BR_TIER + 1,
        Start,
        (RecoverItemQuest,
         ToontownGlobals.TheBrrrgh,
         1,
         3002,
         VeryHard,
         Any),
        3108,
        Same,
        NA,
        5204,
        TTLocalizer.QuestDialogDict[5203]),
 5204: (BR_TIER + 1,
        Cont,
        (VisitQuest,),
        Same,
        3205,
        NA,
        5205,
        TTLocalizer.QuestDialogDict[5204]),
 5205: (BR_TIER + 1,
        Cont,
        (RecoverItemQuest,
         ToontownGlobals.TheBrrrgh,
         3,
         3003,
         Hard,
         AnyFish),
        Same,
        Same,
        NA,
        5206,
        TTLocalizer.QuestDialogDict[5205]),
 5206: (BR_TIER + 1,
        Cont,
        (VisitQuest,),
        Same,
        3210,
        NA,
        5207,
        TTLocalizer.QuestDialogDict[5206]),
 5207: (BR_TIER + 1,
        Cont,
        (BuildingQuest,
         Anywhere,
         5,
         Any,
         4),
        Same,
        Same,
        NA,
        5208,
        TTLocalizer.QuestDialogDict[5207]),
 5208: (BR_TIER + 1,
        Cont,
        (VisitQuest,),
        Same,
        3114,
        NA,
        5209,
        TTLocalizer.QuestDialogDict[5208]),
 5209: (BR_TIER + 1,
        Cont,
        (CogLevelQuest,
         Anywhere,
         20,
         7),
        Same,
        Same,
        204,
        NA,
        TTLocalizer.QuestDialogDict[5209]),
 5210: (BR_TIER + 1,
        Start,
        (VisitQuest,),
        Any,
        3206,
        NA,
        (5211,
         5264,
         5265,
         5266),
        TTLocalizer.QuestDialogDict[5210]),
 5211: (BR_TIER + 1,
        Start,
        (RecoverItemQuest,
         ToontownGlobals.TheBrrrgh,
         1,
         3004,
         Medium,
         'le'),
        3206,
        Same,
        NA,
        5212,
        TTLocalizer.QuestDialogDict[5211]),
 5264: (BR_TIER + 1,
        Start,
        (RecoverItemQuest,
         ToontownGlobals.TheBrrrgh,
         1,
         3004,
         Hard,
         'ls'),
        3206,
        Same,
        NA,
        5212,
        TTLocalizer.QuestDialogDict[5264]),
 5265: (BR_TIER + 1,
        Start,
        (RecoverItemQuest,
         ToontownGlobals.TheBrrrgh,
         1,
         3004,
         Hard,
         'm'),
        3206,
        Same,
        NA,
        5212,
        TTLocalizer.QuestDialogDict[5265]),
 5266: (BR_TIER + 1,
        Start,
        (RecoverItemQuest,
         ToontownGlobals.TheBrrrgh,
         1,
         3004,
         Hard,
         'cr'),
        3206,
        Same,
        NA,
        5212,
        TTLocalizer.QuestDialogDict[5266]),
 5212: (BR_TIER + 1,
        Cont,
        (DeliverItemQuest, 3004),
        Same,
        3111,
        NA,
        5213,
        TTLocalizer.QuestDialogDict[5212]),
 5213: (BR_TIER + 1,
        Cont,
        (RecoverItemQuest,
         ToontownGlobals.TheBrrrgh,
         10,
         3005,
         Hard,
         Any),
        Same,
        Same,
        NA,
        5214,
        TTLocalizer.QuestDialogDict[5213]),
 5214: (BR_TIER + 1,
        Cont,
        (VisitQuest,),
        Same,
        3119,
        NA,
        5215,
        TTLocalizer.QuestDialogDict[5214]),
 5215: (BR_TIER + 1,
        Cont,
        (CogLevelQuest,
         Anywhere,
         10,
         8),
        Same,
        Same,
        NA,
        5216,
        TTLocalizer.QuestDialogDict[5215]),
 5216: (BR_TIER + 1,
        Cont,
        (DeliverItemQuest, 3006),
        Same,
        3206,
        704,
        NA,
        TTLocalizer.QuestDialogDict[5216]),
 5217: (BR_TIER + 1,
        Start,
        (VisitQuest,),
        Any,
        3113,
        NA,
        5218,
        TTLocalizer.QuestDialogDict[5217]),
 5218: (BR_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         10,
         'm'),
        3113,
        Same,
        NA,
        5219,
        TTLocalizer.QuestDialogDict[5218]),
 5219: (BR_TIER + 1,
        Cont,
        (CogQuest,
         Anywhere,
         10,
         'cr'),
        Same,
        Same,
        NA,
        5220,
        TTLocalizer.QuestDialogDict[5219]),
 5220: (BR_TIER + 1,
        Cont,
        (CogQuest,
         Anywhere,
         10,
         'ls'),
        Same,
        Same,
        NA,
        5221,
        TTLocalizer.QuestDialogDict[5220]),
 5221: (BR_TIER + 1,
        Cont,
        (VisitQuest,),
        Same,
        3211,
        NA,
        5222,
        TTLocalizer.QuestDialogDict[5221]),
 5222: (BR_TIER + 1,
        Cont,
        (RecoverItemQuest,
         Anywhere,
         2,
         3007,
         Hard,
         AnyFish),
        Same,
        Same,
        NA,
        5223,
        TTLocalizer.QuestDialogDict[5222]),
 5223: (BR_TIER + 1,
        Cont,
        (DeliverItemQuest, 3008),
        Same,
        3113,
        NA,
        5224,
        TTLocalizer.QuestDialogDict[5223]),
 5224: (BR_TIER + 1,
        Cont,
        (CogQuest,
         Anywhere,
         5,
         'le'),
        Same,
        Same,
        502,
        NA,
        TTLocalizer.QuestDialogDict[5224]),
 5225: (BR_TIER + 1,
        Start,
        (VisitQuest,),
        Any,
        3106,
        NA,
        5226,
        TTLocalizer.QuestDialogDict[5225]),
 5226: (BR_TIER + 1,
        Start,
        (BuildingQuest,
         Anywhere,
         3,
         'm',
         4),
        3106,
        Same,
        NA,
        5227,
        TTLocalizer.QuestDialogDict[5226]),
 5227: (BR_TIER + 1,
        Cont,
        (VisitQuest,),
        Same,
        3208,
        NA,
        5228,
        TTLocalizer.QuestDialogDict[5227]),
 5228: (BR_TIER + 1,
        Cont,
        (DeliverItemQuest, 3009),
        Same,
        3207,
        NA,
        (5229,
         5267,
         5268,
         5269),
        TTLocalizer.QuestDialogDict[5228]),
 5229: (BR_TIER + 1,
        Cont,
        (CogTrackQuest,
         ToontownGlobals.TheBrrrgh,
         8,
         'm'),
        Same,
        Same,
        NA,
        5230,
        TTLocalizer.QuestDialogDict[5229]),
 5267: (BR_TIER + 1,
        Cont,
        (CogTrackQuest,
         ToontownGlobals.TheBrrrgh,
         8,
         's'),
        Same,
        Same,
        NA,
        5230,
        TTLocalizer.QuestDialogDict[5267]),
 5268: (BR_TIER + 1,
        Cont,
        (CogTrackQuest,
         ToontownGlobals.TheBrrrgh,
         8,
         'l'),
        Same,
        Same,
        NA,
        5230,
        TTLocalizer.QuestDialogDict[5268]),
 5269: (BR_TIER + 1,
        Cont,
        (CogTrackQuest,
         ToontownGlobals.TheBrrrgh,
         8,
         'c'),
        Same,
        Same,
        NA,
        (5230,
         5270,
         5271,
         5272),
        TTLocalizer.QuestDialogDict[5269]),
 5230: (BR_TIER + 1,
        Cont,
        (RecoverItemQuest,
         Anywhere,
         1,
         3010,
         Hard,
         'rb'),
        Same,
        Same,
        NA,
        5231,
        TTLocalizer.QuestDialogDict[5230]),
 5270: (BR_TIER + 1,
        Cont,
        (RecoverItemQuest,
         Anywhere,
         1,
         3010,
         Hard,
         'tbc'),
        Same,
        Same,
        NA,
        5231,
        TTLocalizer.QuestDialogDict[5270]),
 5271: (BR_TIER + 1,
        Cont,
        (RecoverItemQuest,
         Anywhere,
         1,
         3010,
         Hard,
         'mh'),
        Same,
        Same,
        NA,
        5231,
        TTLocalizer.QuestDialogDict[5271]),
 5272: (BR_TIER + 1,
        Cont,
        (RecoverItemQuest,
         Anywhere,
         1,
         3010,
         Medium,
         'bw'),
        Same,
        Same,
        NA,
        5231,
        TTLocalizer.QuestDialogDict[5272]),
 5231: (BR_TIER + 1,
        Cont,
        (DeliverItemQuest, 3010),
        Same,
        3208,
        NA,
        5232,
        TTLocalizer.QuestDialogDict[5231]),
 5232: (BR_TIER + 1,
        Cont,
        (VisitQuest,),
        Same,
        3106,
        NA,
        5233,
        TTLocalizer.QuestDialogDict[5232]),
 5233: (BR_TIER + 1,
        Cont,
        (DeliverItemQuest, 3011),
        Same,
        3208,
        304,
        NA,
        TTLocalizer.QuestDialogDict[5233]),
 5243: (BR_TIER + 1,
        Start,
        (VisitQuest,),
        Any,
        3217,
        NA,
        5244,
        TTLocalizer.QuestDialogDict[5243]),
 5244: (BR_TIER + 1,
        Start,
        (RecoverItemQuest,
         Anywhere,
         1,
         2007,
         VeryHard,
         'mm'),
        3217,
        Same,
        NA,
        5245,
        TTLocalizer.QuestDialogDict[5244]),
 5245: (BR_TIER + 1,
        Cont,
        (RecoverItemQuest,
         Anywhere,
         1,
         3017,
         Hard,
         AnyFish),
        Same,
        Same,
        NA,
        5246,
        TTLocalizer.QuestDialogDict[5245]),
 5246: (BR_TIER + 1,
        Cont,
        (BuildingQuest,
         ToontownGlobals.TheBrrrgh,
         5,
         Any,
         1),
        Same,
        Same,
        101,
        NA,
        TTLocalizer.QuestDialogDict[5246]),
 5251: (BR_TIER + 1,
        Start,
        (VisitQuest,),
        Any,
        3134,
        NA,
        5252,
        TTLocalizer.QuestDialogDict[5251]),
 5252: (BR_TIER + 1,
        Start,
        (RecoverItemQuest,
         Anywhere,
         1,
         3019,
         VeryHard,
         Any),
        3134,
        Same,
        NA,
        (5253,
         5273,
         5274,
         5275),
        TTLocalizer.QuestDialogDict[5252]),
 5253: (BR_TIER + 1,
        Cont,
        (RecoverItemQuest,
         Anywhere,
         1,
         3020,
         VeryHard,
         'cr'),
        Same,
        Same,
        NA,
        (5254,
         5282,
         5283,
         5284),
        TTLocalizer.QuestDialogDict[5253]),
 5273: (BR_TIER + 1,
        Cont,
        (RecoverItemQuest,
         Anywhere,
         1,
         3020,
         VeryHard,
         'm'),
        Same,
        Same,
        NA,
        (5254,
         5282,
         5283,
         5284),
        TTLocalizer.QuestDialogDict[5273]),
 5274: (BR_TIER + 1,
        Cont,
        (RecoverItemQuest,
         Anywhere,
         1,
         3020,
         VeryHard,
         'ls'),
        Same,
        Same,
        NA,
        (5254,
         5282,
         5283,
         5284),
        TTLocalizer.QuestDialogDict[5274]),
 5275: (BR_TIER + 1,
        Cont,
        (RecoverItemQuest,
         Anywhere,
         1,
         3020,
         Hard,
         'le'),
        Same,
        Same,
        NA,
        (5254,
         5282,
         5283,
         5284),
        TTLocalizer.QuestDialogDict[5275]),
 5254: (BR_TIER + 1,
        Cont,
        (RecoverItemQuest,
         Anywhere,
         1,
         3021,
         VeryHard,
         'mh'),
        Same,
        Same,
        102,
        NA,
        TTLocalizer.QuestDialogDict[5254]),
 5282: (BR_TIER + 1,
        Cont,
        (RecoverItemQuest,
         Anywhere,
         1,
         3021,
         VeryHard,
         'tbc'),
        Same,
        Same,
        102,
        NA,
        TTLocalizer.QuestDialogDict[5282]),
 5283: (BR_TIER + 1,
        Cont,
        (RecoverItemQuest,
         Anywhere,
         1,
         3021,
         VeryHard,
         'rb'),
        Same,
        Same,
        102,
        NA,
        TTLocalizer.QuestDialogDict[5283]),
 5284: (BR_TIER + 1,
        Cont,
        (RecoverItemQuest,
         Anywhere,
         1,
         3021,
         Hard,
         'bw'),
        Same,
        Same,
        102,
        NA,
        TTLocalizer.QuestDialogDict[5284]),
 5255: (BR_TIER + 1,
        Start,
        (VisitQuest,),
        Any,
        3228,
        NA,
        (5256, 5276),
        TTLocalizer.QuestDialogDict[5255]),
 5256: (BR_TIER + 1,
        Cont,
        (CogTrackQuest,
         Anywhere,
         45,
         'c'),
        3228,
        Same,
        NA,
        (5257, 5277),
        TTLocalizer.QuestDialogDict[5256]),
 5276: (BR_TIER + 1,
        Cont,
        (CogTrackQuest,
         Anywhere,
         40,
         'l'),
        3228,
        Same,
        NA,
        (5257, 5277),
        TTLocalizer.QuestDialogDict[5276]),
 5257: (BR_TIER + 1,
        Cont,
        (CogTrackQuest,
         Anywhere,
         45,
         's'),
        Same,
        Same,
        100,
        NA,
        TTLocalizer.QuestDialogDict[5257]),
 5277: (BR_TIER + 1,
        Cont,
        (CogTrackQuest,
         Anywhere,
         45,
         'm'),
        Same,
        Same,
        100,
        NA,
        TTLocalizer.QuestDialogDict[5277]),
 5301: (BR_TIER + 1,
        Start,
        (VisitQuest,),
        Any,
        3304,
        NA,
        5302,
        TTLocalizer.QuestDialogDict[5301]),
 5302: (BR_TIER + 1,
        Cont,
        (CogTrackQuest,
         Anywhere,
         90,
         'l'),
        Same,
        Same,
        100,
        NA,
        TTLocalizer.QuestDialogDict[5302]),
 5303: (BR_TIER + 1,
        Start,
        (VisitQuest,),
        Any,
        3318,
        NA,
        5304,
        TTLocalizer.QuestDialogDict[5303]),
 5304: (BR_TIER + 1,
        Cont,
        (RecoverItemQuest,
         ToontownGlobals.TheBrrrgh,
         1,
         3024,
         VeryHard,
         'l',
         'track'),
        Same,
        Same,
        NA,
        5305,
        TTLocalizer.QuestDialogDict[5304]),
 5305: (BR_TIER + 1,
        Cont,
        (CogLevelQuest,
         Anywhere,
         20,
         7),
        Same,
        Same,
        NA,
        5306,
        TTLocalizer.QuestDialogDict[5305]),
 5306: (BR_TIER + 1,
        Cont,
        (RecoverItemQuest,
         ToontownGlobals.TheBrrrgh,
         2,
         3025,
         Hard,
         AnyFish),
        Same,
        Same,
        NA,
        5307,
        TTLocalizer.QuestDialogDict[5306]),
 5307: (BR_TIER + 1,
        Cont,
        (BuildingQuest,
         Anywhere,
         5,
         Any,
         4),
        Same,
        Same,
        204,
        NA,
        TTLocalizer.QuestDialogDict[5307]),
 5308: (BR_TIER + 1,
        Start,
        (VisitQuest,),
        Any,
        3312,
        NA,
        5309,
        TTLocalizer.QuestDialogDict[5308]),
 5309: (BR_TIER + 1,
        Start,
        (CogTrackQuest,
         ToontownGlobals.PolarPlace,
         30,
         'l'),
        Same,
        Same,
        NA,
        5310,
        TTLocalizer.QuestDialogDict[5309]),
 5310: (BR_TIER + 1,
        Cont,
        (VisitQuest,),
        Same,
        3113,
        NA,
        5311,
        TTLocalizer.QuestDialogDict[5310]),
 5311: (BR_TIER + 1,
        Cont,
        (RecoverItemQuest,
         Anywhere,
         2,
         3026,
         Medium,
         'le'),
        Same,
        Same,
        NA,
        5312,
        TTLocalizer.QuestDialogDict[5311]),
 5312: (BR_TIER + 1,
        Cont,
        (DeliverItemQuest, 3026),
        Same,
        3312,
        502,
        NA,
        TTLocalizer.QuestDialogDict[5312]),
 5290: (BR_TIER + 1,
        Start,
        (CogNewbieQuest,
         ToontownGlobals.ToontownCentral,
         12,
         Any,
         NEWBIE_HP),
        Any,
        ToonHQ,
        606,
        NA,
        DefaultDialog),
 5291: (BR_TIER + 1,
        Start,
        (CogNewbieQuest,
         ToontownGlobals.ToontownCentral,
         12,
         Any,
         NEWBIE_HP),
        Any,
        ToonHQ,
        606,
        NA,
        DefaultDialog),
 5292: (BR_TIER + 1,
        Start,
        (CogNewbieQuest,
         ToontownGlobals.ToontownCentral,
         12,
         Any,
         NEWBIE_HP),
        Any,
        ToonHQ,
        606,
        NA,
        DefaultDialog),
 5293: (BR_TIER + 1,
        Start,
        (CogNewbieQuest,
         ToontownGlobals.ToontownCentral,
         12,
         Any,
         NEWBIE_HP),
        Any,
        ToonHQ,
        606,
        NA,
        DefaultDialog),
 5294: (BR_TIER + 1,
        Start,
        (BuildingNewbieQuest,
         Anywhere,
         1,
         Any,
         1,
         NEWBIE_HP),
        Any,
        ToonHQ,
        607,
        NA,
        DefaultDialog),
 5295: (BR_TIER + 1,
        Start,
        (BuildingNewbieQuest,
         Anywhere,
         1,
         Any,
         1,
         NEWBIE_HP),
        Any,
        ToonHQ,
        607,
        NA,
        DefaultDialog),
 5296: (BR_TIER + 1,
        Start,
        (BuildingNewbieQuest,
         Anywhere,
         1,
         Any,
         1,
         NEWBIE_HP),
        Any,
        ToonHQ,
        607,
        NA,
        DefaultDialog),
 5297: (BR_TIER + 1,
        Start,
        (BuildingNewbieQuest,
         Anywhere,
         1,
         Any,
         1,
         NEWBIE_HP),
        Any,
        ToonHQ,
        607,
        NA,
        DefaultDialog),
 5500: (BR_TIER + 1,
        Start,
        (CogQuest,
         ToontownGlobals.TheBrrrgh,
         75,
         Any),
        Any,
        ToonHQ,
        NA,
        5501,
        DefaultDialog),
 5501: (BR_TIER + 1,
        Cont,
        (DeliverItemQuest, 1000),
        Any,
        3008,
        1000,
        NA,
        DefaultDialog),
 903: (BR_TIER + 2,
       Start,
       (VisitQuest,),
       Any,
       3112,
       NA,
       (5234, 5278),
       TTLocalizer.QuestDialogDict[903]),
 5234: (BR_TIER + 2,
        Start,
        (RecoverItemQuest,
         Anywhere,
         6,
         3012,
         Medium,
         'tbc'),
        3112,
        Same,
        NA,
        (5235, 5279),
        TTLocalizer.QuestDialogDict[5234]),
 5278: (BR_TIER + 2,
        Start,
        (RecoverItemQuest,
         Anywhere,
         6,
         3022,
         Medium,
         'mh'),
        3112,
        Same,
        NA,
        (5235, 5279),
        TTLocalizer.QuestDialogDict[5278]),
 5235: (BR_TIER + 2,
        Cont,
        (RecoverItemQuest,
         Anywhere,
         1,
         3013,
         Hard,
         'rb'),
        Same,
        Same,
        NA,
        5236,
        TTLocalizer.QuestDialogDict[5235]),
 5279: (BR_TIER + 2,
        Cont,
        (RecoverItemQuest,
         Anywhere,
         1,
         3013,
         Medium,
         'bw'),
        Same,
        Same,
        NA,
        5236,
        TTLocalizer.QuestDialogDict[5279]),
 5236: (BR_TIER + 2,
        Cont,
        (RecoverItemQuest,
         Anywhere,
         1,
         3014,
         VeryHard,
         AnyFish),
        Same,
        Same,
        NA,
        5237,
        TTLocalizer.QuestDialogDict[5236]),
 5237: (BR_TIER + 2,
        Cont,
        (VisitQuest,),
        Same,
        3128,
        NA,
        (5238, 5280),
        TTLocalizer.QuestDialogDict[5237]),
 5238: (BR_TIER + 2,
        Cont,
        (RecoverItemQuest,
         Anywhere,
         10,
         3015,
         VeryEasy,
         'mh'),
        Same,
        Same,
        NA,
        5239,
        TTLocalizer.QuestDialogDict[5238]),
 5280: (BR_TIER + 2,
        Cont,
        (RecoverItemQuest,
         Anywhere,
         10,
         3015,
         VeryEasy,
         'tbc'),
        Same,
        Same,
        NA,
        5239,
        TTLocalizer.QuestDialogDict[5280]),
 5239: (BR_TIER + 2,
        Cont,
        (DeliverItemQuest, 3015),
        Same,
        3112,
        NA,
        (5240, 5281),
        TTLocalizer.QuestDialogDict[5239]),
 5240: (BR_TIER + 2,
        Cont,
        (RecoverItemQuest,
         Anywhere,
         1,
         3016,
         Hard,
         'bw'),
        Same,
        Same,
        NA,
        5241,
        TTLocalizer.QuestDialogDict[5240]),
 5281: (BR_TIER + 2,
        Cont,
        (RecoverItemQuest,
         Anywhere,
         1,
         3023,
         Hard,
         'mh'),
        Same,
        Same,
        NA,
        5241,
        TTLocalizer.QuestDialogDict[5281]),
 5241: (BR_TIER + 2,
        Cont,
        (BuildingQuest,
         Anywhere,
         20,
         Any,
         4),
        Same,
        Same,
        NA,
        5242,
        TTLocalizer.QuestDialogDict[5241]),
 5242: (BR_TIER + 2,
        Cont,
        (RecoverItemQuest,
         Anywhere,
         1,
         3014,
         VeryHard,
         AnyFish),
        Same,
        Same,
        900,
        NA,
        TTLocalizer.QuestDialogDict[5242]),
 5320: (BR_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         36,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5321: (BR_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         38,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5322: (BR_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         40,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5323: (BR_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         42,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5324: (BR_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         44,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5325: (BR_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         46,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5326: (BR_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         48,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5327: (BR_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         53,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5328: (BR_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         52,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5329: (BR_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         54,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5330: (BR_TIER + 2,
        Start,
        (CogLevelQuest,
         Anywhere,
         25,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5331: (BR_TIER + 2,
        Start,
        (CogLevelQuest,
         Anywhere,
         30,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5332: (BR_TIER + 2,
        Start,
        (CogLevelQuest,
         Anywhere,
         35,
         6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5333: (BR_TIER + 2,
        Start,
        (CogLevelQuest,
         Anywhere,
         6,
         7),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5334: (BR_TIER + 2,
        Start,
        (CogLevelQuest,
         Anywhere,
         10,
         7),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5335: (BR_TIER + 2,
        Start,
        (CogLevelQuest,
         Anywhere,
         20,
         7),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5336: (BR_TIER + 2,
        Start,
        (CogLevelQuest,
         Anywhere,
         2,
         8),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5337: (BR_TIER + 2,
        Start,
        (CogLevelQuest,
         Anywhere,
         8,
         8),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5338: (BR_TIER + 2,
        Start,
        (CogLevelQuest,
         Anywhere,
         10,
         8),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5339: (BR_TIER + 2,
        Start,
        (CogLevelQuest,
         Anywhere,
         12,
         8),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5340: (BR_TIER + 2,
        Start,
        (CogQuest,
         ToontownGlobals.TheBrrrgh,
         75,
         Any),
        Any,
        ToonHQ,
        NA,
        5341,
        DefaultDialog),
 5341: (BR_TIER + 2,
        Cont,
        (DeliverItemQuest, 1000),
        Any,
        3008,
        1000,
        NA,
        DefaultDialog),
 5360: (BR_TIER + 2,
        Start,
        (CogNewbieQuest,
         ToontownGlobals.ToontownCentral,
         20,
         Any,
         NEWBIE_HP),
        Any,
        ToonHQ,
        606,
        NA,
        DefaultDialog),
 5361: (BR_TIER + 2,
        Start,
        (CogNewbieQuest,
         ToontownGlobals.ToontownCentral,
         20,
         Any,
         NEWBIE_HP),
        Any,
        ToonHQ,
        606,
        NA,
        DefaultDialog),
 5362: (BR_TIER + 2,
        Start,
        (CogNewbieQuest,
         ToontownGlobals.ToontownCentral,
         20,
         Any,
         NEWBIE_HP),
        Any,
        ToonHQ,
        606,
        NA,
        DefaultDialog),
 5363: (BR_TIER + 2,
        Start,
        (CogNewbieQuest,
         ToontownGlobals.ToontownCentral,
         20,
         Any,
         NEWBIE_HP),
        Any,
        ToonHQ,
        606,
        NA,
        DefaultDialog),
 5364: (BR_TIER + 2,
        Start,
        (BuildingNewbieQuest,
         Anywhere,
         1,
         Any,
         1,
         NEWBIE_HP),
        Any,
        ToonHQ,
        607,
        NA,
        DefaultDialog),
 5365: (BR_TIER + 2,
        Start,
        (BuildingNewbieQuest,
         Anywhere,
         1,
         Any,
         1,
         NEWBIE_HP),
        Any,
        ToonHQ,
        607,
        NA,
        DefaultDialog),
 5366: (BR_TIER + 2,
        Start,
        (BuildingNewbieQuest,
         Anywhere,
         1,
         Any,
         1,
         NEWBIE_HP),
        Any,
        ToonHQ,
        607,
        NA,
        DefaultDialog),
 5367: (BR_TIER + 2,
        Start,
        (BuildingNewbieQuest,
         Anywhere,
         1,
         Any,
         1,
         NEWBIE_HP),
        Any,
        ToonHQ,
        607,
        NA,
        DefaultDialog),
 5370: (BR_TIER + 2,
        Start,
        (CogQuest,
         ToontownGlobals.SellbotHQ,
         22,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5371: (BR_TIER + 2,
        Start,
        (CogQuest,
         ToontownGlobals.SellbotHQ,
         25,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5372: (BR_TIER + 2,
        Start,
        (CogLevelQuest,
         ToontownGlobals.SellbotHQ,
         16,
         4),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5373: (BR_TIER + 2,
        Start,
        (CogLevelQuest,
         ToontownGlobals.SellbotHQ,
         12,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5374: (BR_TIER + 2,
        Start,
        (CogLevelQuest,
         ToontownGlobals.SellbotFactoryInt,
         14,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5375: (BR_TIER + 2,
        Start,
        (CogLevelQuest,
         ToontownGlobals.SellbotFactoryInt,
         10,
         6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5376: (BR_TIER + 2,
        Start,
        (FactoryQuest, ToontownGlobals.SellbotHQ, 1),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5377: (BR_TIER + 2,
        Start,
        (FactoryQuest, ToontownGlobals.SellbotHQ, 2),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5378: (BR_TIER + 2,
        Start,
        (FactoryQuest, ToontownGlobals.SellbotHQ, 1),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5379: (BR_TIER + 2,
        Start,
        (FactoryQuest, ToontownGlobals.SellbotHQ, 2),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5380: (BR_TIER + 2,
        Start,
        (SkelecogQuest, ToontownGlobals.SellbotFactoryInt, 12),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5381: (BR_TIER + 2,
        Start,
        (SkelecogLevelQuest,
         ToontownGlobals.SellbotHQ,
         6,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5382: (BR_TIER + 2,
        Start,
        (SkelecogLevelQuest,
         ToontownGlobals.SellbotHQ,
         3,
         6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5383: (BR_TIER + 2,
        Start,
        (ForemanQuest, ToontownGlobals.SellbotHQ, 1),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 5384: (BR_TIER + 2,
        Start,
        (ForemanQuest, ToontownGlobals.SellbotHQ, 2),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6101: (DL_TIER,
        Start,
        (CogQuest,
         ToontownGlobals.DonaldsDreamland,
         60,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6102: (DL_TIER,
        Start,
        (CogQuest,
         ToontownGlobals.DonaldsDreamland,
         65,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6103: (DL_TIER,
        OBSOLETE,
        (CogQuest,
         ToontownGlobals.DonaldsDreamland,
         70,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6104: (DL_TIER,
        Start,
        (CogQuest,
         Anywhere,
         80,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6105: (DL_TIER,
        Start,
        (CogQuest,
         Anywhere,
         90,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6106: (DL_TIER,
        Start,
        (CogQuest,
         Anywhere,
         100,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6107: (DL_TIER,
        Start,
        (CogQuest,
         Anywhere,
         25,
         'ym'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6108: (DL_TIER,
        Start,
        (CogQuest,
         Anywhere,
         25,
         'mm'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6109: (DL_TIER,
        Start,
        (CogQuest,
         Anywhere,
         25,
         'ds'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6110: (DL_TIER,
        Start,
        (CogQuest,
         Anywhere,
         25,
         'hh'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6111: (DL_TIER,
        Start,
        (CogQuest,
         Anywhere,
         15,
         'cr'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6112: (DL_TIER,
        Start,
        (CogQuest,
         Anywhere,
         8,
         'tbc'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6113: (DL_TIER,
        Start,
        (CogQuest,
         Anywhere,
         25,
         'nd'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6114: (DL_TIER,
        Start,
        (CogQuest,
         Anywhere,
         25,
         'gh'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6115: (DL_TIER,
        Start,
        (CogQuest,
         Anywhere,
         25,
         'ms'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6116: (DL_TIER,
        Start,
        (CogQuest,
         Anywhere,
         25,
         'tf'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6117: (DL_TIER,
        Start,
        (CogQuest,
         Anywhere,
         15,
         'm'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6118: (DL_TIER,
        Start,
        (CogQuest,
         Anywhere,
         8,
         'mh'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6119: (DL_TIER,
        Start,
        (CogQuest,
         Anywhere,
         25,
         'tw'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6120: (DL_TIER,
        Start,
        (CogQuest,
         Anywhere,
         25,
         'bc'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6121: (DL_TIER,
        Start,
        (CogQuest,
         Anywhere,
         25,
         'nc'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6122: (DL_TIER,
        OBSOLETE,
        (CogQuest,
         Anywhere,
         25,
         'mb'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6123: (DL_TIER,
        Start,
        (CogQuest,
         Anywhere,
         15,
         'ls'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6124: (DL_TIER,
        Start,
        (CogQuest,
         Anywhere,
         8,
         'rb'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6125: (DL_TIER,
        Start,
        (CogQuest,
         Anywhere,
         25,
         'dt'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6126: (DL_TIER,
        Start,
        (CogQuest,
         Anywhere,
         25,
         'ac'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6127: (DL_TIER,
        Start,
        (CogQuest,
         Anywhere,
         25,
         'bs'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6128: (DL_TIER,
        Start,
        (CogQuest,
         Anywhere,
         25,
         'sd'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6129: (DL_TIER,
        Start,
        (CogQuest,
         Anywhere,
         15,
         'le'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6130: (DL_TIER,
        Start,
        (CogQuest,
         Anywhere,
         8,
         'bw'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6131: (DL_TIER,
        Start,
        (CogLevelQuest,
         Anywhere,
         50,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6132: (DL_TIER,
        Start,
        (CogLevelQuest,
         Anywhere,
         40,
         6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6133: (DL_TIER,
        Start,
        (CogLevelQuest,
         Anywhere,
         35,
         7),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6134: (DL_TIER,
        Start,
        (CogLevelQuest,
         Anywhere,
         30,
         8),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6135: (DL_TIER,
        Start,
        (CogLevelQuest,
         Anywhere,
         25,
         9),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6136: (DL_TIER,
        Start,
        (CogLevelQuest,
         Anywhere,
         20,
         9),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6137: (DL_TIER,
        Start,
        (CogLevelQuest,
         Anywhere,
         15,
         9),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6138: (DL_TIER,
        Start,
        (CogLevelQuest,
         Anywhere,
         10,
         10),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6139: (DL_TIER,
        Start,
        (CogTrackQuest,
         ToontownGlobals.DonaldsDreamland,
         50,
         'm'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6140: (DL_TIER,
        Start,
        (CogTrackQuest,
         ToontownGlobals.DonaldsDreamland,
         50,
         's'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6141: (DL_TIER,
        OBSOLETE,
        (CogTrackQuest,
         ToontownGlobals.DonaldsDreamland,
         50,
         'c'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6142: (DL_TIER,
        Start,
        (CogTrackQuest,
         ToontownGlobals.DonaldsDreamland,
         50,
         'l'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6143: (DL_TIER,
        OBSOLETE,
        (CogTrackQuest,
         ToontownGlobals.DonaldsDreamland,
         55,
         'm'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6144: (DL_TIER,
        Start,
        (CogTrackQuest,
         ToontownGlobals.DonaldsDreamland,
         55,
         's'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6145: (DL_TIER,
        Start,
        (CogTrackQuest,
         ToontownGlobals.DonaldsDreamland,
         55,
         'c'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6146: (DL_TIER,
        Start,
        (CogTrackQuest,
         ToontownGlobals.DonaldsDreamland,
         55,
         'l'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6147: (DL_TIER,
        OBSOLETE,
        (CogTrackQuest,
         Anywhere,
         70,
         'm'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6148: (DL_TIER,
        Start,
        (CogTrackQuest,
         Anywhere,
         70,
         's'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6149: (DL_TIER,
        Start,
        (CogTrackQuest,
         Anywhere,
         70,
         'c'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6150: (DL_TIER,
        Start,
        (CogTrackQuest,
         Anywhere,
         70,
         'l'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6151: (DL_TIER,
        Start,
        (BuildingQuest,
         Anywhere,
         10,
         Any,
         2),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6152: (DL_TIER,
        Start,
        (BuildingQuest,
         Anywhere,
         6,
         Any,
         4),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6153: (DL_TIER,
        OBSOLETE,
        (BuildingQuest,
         Anywhere,
         8,
         Any,
         4),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6154: (DL_TIER,
        Start,
        (BuildingQuest,
         Anywhere,
         6,
         Any,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6155: (DL_TIER,
        Start,
        (BuildingQuest,
         Anywhere,
         2,
         'm',
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6156: (DL_TIER,
        Start,
        (BuildingQuest,
         Anywhere,
         2,
         's',
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6157: (DL_TIER,
        Start,
        (BuildingQuest,
         Anywhere,
         2,
         'c',
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6158: (DL_TIER,
        Start,
        (BuildingQuest,
         Anywhere,
         2,
         'l',
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6160: (DL_TIER,
        Start,
        (CogNewbieQuest,
         ToontownGlobals.ToontownCentral,
         25,
         Any,
         NEWBIE_HP),
        Any,
        ToonHQ,
        607,
        NA,
        DefaultDialog),
 6161: (DL_TIER,
        Start,
        (CogNewbieQuest,
         ToontownGlobals.ToontownCentral,
         25,
         Any,
         NEWBIE_HP),
        Any,
        ToonHQ,
        607,
        NA,
        DefaultDialog),
 6162: (DL_TIER,
        Start,
        (CogNewbieQuest,
         ToontownGlobals.ToontownCentral,
         25,
         Any,
         NEWBIE_HP),
        Any,
        ToonHQ,
        607,
        NA,
        DefaultDialog),
 6163: (DL_TIER,
        Start,
        (CogNewbieQuest,
         ToontownGlobals.ToontownCentral,
         25,
         Any,
         NEWBIE_HP),
        Any,
        ToonHQ,
        607,
        NA,
        DefaultDialog),
 6164: (DL_TIER,
        Start,
        (BuildingNewbieQuest,
         Anywhere,
         2,
         Any,
         1,
         NEWBIE_HP),
        Any,
        ToonHQ,
        608,
        NA,
        DefaultDialog),
 6165: (DL_TIER,
        Start,
        (BuildingNewbieQuest,
         Anywhere,
         2,
         Any,
         1,
         NEWBIE_HP),
        Any,
        ToonHQ,
        608,
        NA,
        DefaultDialog),
 6166: (DL_TIER,
        Start,
        (BuildingNewbieQuest,
         Anywhere,
         2,
         Any,
         1,
         NEWBIE_HP),
        Any,
        ToonHQ,
        608,
        NA,
        DefaultDialog),
 6167: (DL_TIER,
        Start,
        (BuildingNewbieQuest,
         Anywhere,
         2,
         Any,
         1,
         NEWBIE_HP),
        Any,
        ToonHQ,
        608,
        NA,
        DefaultDialog),
 6170: (DL_TIER,
        OBSOLETE,
        (CogQuest,
         ToontownGlobals.SellbotHQ,
         40,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6171: (DL_TIER,
        OBSOLETE,
        (CogQuest,
         ToontownGlobals.SellbotHQ,
         45,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6172: (DL_TIER,
        OBSOLETE,
        (CogQuest,
         ToontownGlobals.SellbotHQ,
         50,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6173: (DL_TIER,
        OBSOLETE,
        (CogLevelQuest,
         ToontownGlobals.SellbotHQ,
         30,
         4),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6174: (DL_TIER,
        OBSOLETE,
        (CogLevelQuest,
         ToontownGlobals.SellbotHQ,
         20,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6175: (DL_TIER,
        OBSOLETE,
        (CogLevelQuest,
         ToontownGlobals.SellbotHQ,
         20,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6176: (DL_TIER,
        OBSOLETE,
        (CogLevelQuest,
         ToontownGlobals.SellbotFactoryInt,
         15,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6177: (DL_TIER,
        OBSOLETE,
        (CogLevelQuest,
         ToontownGlobals.SellbotFactoryInt,
         10,
         6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6178: (DL_TIER,
        OBSOLETE,
        (CogLevelQuest,
         ToontownGlobals.SellbotFactoryInt,
         10,
         6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6179: (DL_TIER,
        OBSOLETE,
        (FactoryQuest, ToontownGlobals.SellbotHQ, 3),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6180: (DL_TIER,
        OBSOLETE,
        (FactoryQuest, ToontownGlobals.SellbotHQ, 4),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6181: (DL_TIER,
        OBSOLETE,
        (FactoryQuest, ToontownGlobals.SellbotHQ, 3),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6182: (DL_TIER,
        OBSOLETE,
        (FactoryQuest, ToontownGlobals.SellbotHQ, 4),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6183: (DL_TIER,
        OBSOLETE,
        (SkelecogQuest, ToontownGlobals.SellbotFactoryInt, 20),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6184: (DL_TIER,
        OBSOLETE,
        (SkelecogLevelQuest,
         ToontownGlobals.SellbotHQ,
         10,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6185: (DL_TIER,
        OBSOLETE,
        (SkelecogLevelQuest,
         ToontownGlobals.SellbotHQ,
         4,
         6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6186: (DL_TIER,
        OBSOLETE,
        (ForemanQuest, ToontownGlobals.SellbotHQ, 3),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6187: (DL_TIER,
        OBSOLETE,
        (ForemanQuest, ToontownGlobals.SellbotHQ, 4),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6190: (DL_TIER,
        Start,
        (CogNewbieQuest,
         ToontownGlobals.SellbotHQ,
         15,
         Any,
         SELLBOT_HQ_NEWBIE_HP),
        Any,
        ToonHQ,
        609,
        NA,
        DefaultDialog),
 6191: (DL_TIER,
        Start,
        (CogNewbieQuest,
         ToontownGlobals.SellbotHQ,
         15,
         Any,
         SELLBOT_HQ_NEWBIE_HP),
        Any,
        ToonHQ,
        609,
        NA,
        DefaultDialog),
 6192: (DL_TIER,
        Start,
        (CogNewbieQuest,
         ToontownGlobals.SellbotHQ,
         15,
         Any,
         SELLBOT_HQ_NEWBIE_HP),
        Any,
        ToonHQ,
        609,
        NA,
        DefaultDialog),
 6193: (DL_TIER,
        Start,
        (SkelecogNewbieQuest,
         ToontownGlobals.SellbotHQ,
         3,
         SELLBOT_HQ_NEWBIE_HP),
        Any,
        ToonHQ,
        609,
        NA,
        DefaultDialog),
 6194: (DL_TIER,
        Start,
        (FactoryNewbieQuest,
         ToontownGlobals.SellbotHQ,
         1,
         SELLBOT_HQ_NEWBIE_HP),
        Any,
        ToonHQ,
        609,
        NA,
        DefaultDialog),
 6195: (DL_TIER,
        Start,
        (FactoryNewbieQuest,
         ToontownGlobals.SellbotHQ,
         1,
         SELLBOT_HQ_NEWBIE_HP),
        Any,
        ToonHQ,
        609,
        NA,
        DefaultDialog),
 6196: (DL_TIER,
        Start,
        (ForemanNewbieQuest,
         ToontownGlobals.SellbotFactoryInt,
         1,
         SELLBOT_HQ_NEWBIE_HP),
        Any,
        ToonHQ,
        609,
        NA,
        DefaultDialog),
 6201: (DL_TIER,
        Start,
        (VisitQuest,),
        Any,
        9111,
        NA,
        6202,
        TTLocalizer.QuestDialogDict[6201]),
 6202: (DL_TIER,
        Start,
        (CogQuest,
         ToontownGlobals.DonaldsDreamland,
         70,
         Any),
        9111,
        Same,
        100,
        NA,
        TTLocalizer.QuestDialogDict[6202]),
 6206: (DL_TIER,
        Start,
        (VisitQuest,),
        Any,
        9131,
        NA,
        6207,
        TTLocalizer.QuestDialogDict[6206]),
 6207: (DL_TIER,
        Start,
        (BuildingQuest,
         ToontownGlobals.DonaldsDreamland,
         8,
         Any,
         4),
        9131,
        Same,
        205,
        NA,
        TTLocalizer.QuestDialogDict[6207]),
 6211: (DL_TIER,
        Start,
        (VisitQuest,),
        Any,
        9217,
        NA,
        6212,
        TTLocalizer.QuestDialogDict[6211]),
 6212: (DL_TIER,
        Start,
        (RecoverItemQuest,
         Anywhere,
         3,
         6002,
         Medium,
         'bc'),
        9217,
        Same,
        NA,
        6213,
        TTLocalizer.QuestDialogDict[6212]),
 6213: (DL_TIER,
        Cont,
        (RecoverItemQuest,
         Anywhere,
         1,
         6003,
         Hard,
         'mb'),
        Same,
        Same,
        NA,
        6214,
        TTLocalizer.QuestDialogDict[6213]),
 6214: (DL_TIER,
        Cont,
        (RecoverItemQuest,
         Anywhere,
         1,
         6004,
         VeryHard,
         'pp'),
        Same,
        Same,
        101,
        NA,
        TTLocalizer.QuestDialogDict[6214]),
 6221: (DL_TIER,
        Start,
        (VisitQuest,),
        Any,
        9119,
        NA,
        6222,
        TTLocalizer.QuestDialogDict[6221]),
 6222: (DL_TIER,
        Start,
        (CogTrackQuest,
         ToontownGlobals.DonaldsDreamland,
         50,
         'c'),
        9119,
        Same,
        102,
        NA,
        TTLocalizer.QuestDialogDict[6222]),
 6231: (DL_TIER,
        Start,
        (VisitQuest,),
        Any,
        9203,
        NA,
        6232,
        TTLocalizer.QuestDialogDict[6231]),
 6232: (DL_TIER,
        Start,
        (VisitQuest,),
        9203,
        9103,
        NA,
        6233,
        TTLocalizer.QuestDialogDict[6232]),
 6233: (DL_TIER,
        Cont,
        (CogTrackQuest,
         ToontownGlobals.CashbotHQ,
         10,
         'm'),
        Same,
        Same,
        NA,
        6234,
        TTLocalizer.QuestDialogDict[6233]),
 6234: (DL_TIER,
        Cont,
        (VisitQuest,),
        Same,
        9203,
        NA,
        6235,
        TTLocalizer.QuestDialogDict[6234]),
 6235: (DL_TIER,
        Cont,
        (RecoverItemQuest,
         ToontownGlobals.CashbotHQ,
         1,
         6001,
         VeryHard,
         'm',
         'track'),
        Same,
        Same,
        4000,
        NA,
        TTLocalizer.QuestDialogDict[6235]),
 6241: (DL_TIER,
        Start,
        (VisitQuest,),
        Any,
        9219,
        NA,
        6242,
        TTLocalizer.QuestDialogDict[6241]),
 6242: (DL_TIER,
        Start,
        (CogQuest,
         ToontownGlobals.DonaldsDreamland,
         25,
         'nc'),
        9219,
        Same,
        705,
        NA,
        TTLocalizer.QuestDialogDict[6242]),
 6251: (DL_TIER,
        Start,
        (VisitQuest,),
        Any,
        9221,
        NA,
        6252,
        TTLocalizer.QuestDialogDict[6251]),
 6252: (DL_TIER,
        Start,
        (DeliverItemQuest, 6006),
        9221,
        9222,
        NA,
        6253,
        TTLocalizer.QuestDialogDict[6252]),
 6253: (DL_TIER,
        Cont,
        (VisitQuest,),
        Same,
        9221,
        NA,
        6254,
        TTLocalizer.QuestDialogDict[6253]),
 6254: (DL_TIER,
        Cont,
        (DeliverItemQuest, 6007),
        Same,
        9210,
        NA,
        6255,
        TTLocalizer.QuestDialogDict[6254]),
 6255: (DL_TIER,
        Cont,
        (CogTrackQuest,
         Anywhere,
         70,
         'm'),
        Same,
        Same,
        NA,
        6256,
        TTLocalizer.QuestDialogDict[6255]),
 6256: (DL_TIER,
        Cont,
        (VisitQuest,),
        Same,
        9221,
        NA,
        6257,
        TTLocalizer.QuestDialogDict[6256]),
 6257: (DL_TIER,
        Cont,
        (DeliverItemQuest, 6008),
        Same,
        9205,
        NA,
        6258,
        TTLocalizer.QuestDialogDict[6257]),
 6258: (DL_TIER,
        Cont,
        (CogQuest,
         Anywhere,
         25,
         'ms'),
        Same,
        Same,
        NA,
        6259,
        TTLocalizer.QuestDialogDict[6258]),
 6259: (DL_TIER,
        Cont,
        (VisitQuest,),
        Same,
        9221,
        NA,
        6260,
        TTLocalizer.QuestDialogDict[6259]),
 6260: (DL_TIER,
        Cont,
        (DeliverItemQuest, 6009),
        Same,
        9229,
        NA,
        6261,
        TTLocalizer.QuestDialogDict[6260]),
 6261: (DL_TIER,
        Cont,
        (VisitQuest,),
        Same,
        9221,
        NA,
        6262,
        TTLocalizer.QuestDialogDict[6261]),
 6262: (DL_TIER,
        Cont,
        (DeliverItemQuest, 6010),
        Same,
        9126,
        NA,
        6263,
        TTLocalizer.QuestDialogDict[6262]),
 6263: (DL_TIER,
        Cont,
        (DeliverItemQuest, 6010),
        Same,
        9112,
        NA,
        6264,
        TTLocalizer.QuestDialogDict[6263]),
 6264: (DL_TIER,
        Cont,
        (DeliverItemQuest, 6011),
        Same,
        9221,
        NA,
        6265,
        TTLocalizer.QuestDialogDict[6264]),
 6265: (DL_TIER,
        Cont,
        (DeliverItemQuest, 6012),
        Same,
        9115,
        NA,
        6266,
        TTLocalizer.QuestDialogDict[6265]),
 6266: (DL_TIER,
        Cont,
        (VisitQuest,),
        Same,
        9221,
        103,
        NA,
        TTLocalizer.QuestDialogDict[6266]),
 6271: (DL_TIER,
        Start,
        (VisitQuest,),
        Any,
        9208,
        NA,
        6272,
        TTLocalizer.QuestDialogDict[6271]),
 6272: (DL_TIER,
        Start,
        (BuildingQuest,
         ToontownGlobals.DonaldsDreamland,
         2,
         'm',
         5),
        9208,
        Same,
        305,
        NA,
        TTLocalizer.QuestDialogDict[6272]),
 6281: (DL_TIER,
        Start,
        (VisitQuest,),
        Any,
        9123,
        NA,
        6282,
        TTLocalizer.QuestDialogDict[6281]),
 6282: (DL_TIER,
        Start,
        (CogTrackQuest,
         ToontownGlobals.DonaldsDreamland,
         55,
         'm'),
        9123,
        Same,
        4001,
        NA,
        TTLocalizer.QuestDialogDict[6282]),
 6291: (DL_TIER,
        Start,
        (VisitQuest,),
        Any,
        9226,
        NA,
        6292,
        TTLocalizer.QuestDialogDict[6291]),
 6292: (DL_TIER,
        Start,
        (RecoverItemQuest,
         ToontownGlobals.DonaldsDreamland,
         1,
         6005,
         VeryHard,
         'm',
         'track'),
        9226,
        Same,
        4002,
        NA,
        TTLocalizer.QuestDialogDict[6292]),
 6301: (DL_TIER,
        Start,
        (CogQuest,
         ToontownGlobals.CashbotHQ,
         40,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6302: (DL_TIER,
        Start,
        (CogQuest,
         ToontownGlobals.CashbotHQ,
         45,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6303: (DL_TIER,
        Start,
        (CogQuest,
         ToontownGlobals.CashbotHQ,
         50,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6304: (DL_TIER,
        Start,
        (CogLevelQuest,
         ToontownGlobals.CashbotHQ,
         30,
         7),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6305: (DL_TIER,
        Start,
        (CogLevelQuest,
         ToontownGlobals.CashbotHQ,
         20,
         8),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6306: (DL_TIER,
        Start,
        (CogLevelQuest,
         ToontownGlobals.CashbotHQ,
         15,
         9),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6307: (DL_TIER,
        Start,
        (CogLevelQuest,
         ToontownGlobals.CashbotMintIntA,
         12,
         10),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6308: (DL_TIER,
        OBSOLETE,
        (CogLevelQuest,
         ToontownGlobals.CashbotMintIntB,
         10,
         10),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6309: (DL_TIER,
        OBSOLETE,
        (CogLevelQuest,
         ToontownGlobals.CashbotMintIntC,
         8,
         10),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6310: (DL_TIER,
        Start,
        (MintQuest, ToontownGlobals.CashbotMintIntA, 5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6311: (DL_TIER,
        OBSOLETE,
        (MintQuest, ToontownGlobals.CashbotMintIntB, 4),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6312: (DL_TIER,
        OBSOLETE,
        (MintQuest, ToontownGlobals.CashbotMintIntC, 3),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6313: (DL_TIER,
        Start,
        (SkelecogQuest, ToontownGlobals.CashbotHQ, 20),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6314: (DL_TIER,
        Start,
        (SkelecogLevelQuest,
         ToontownGlobals.CashbotHQ,
         10,
         11),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6315: (DL_TIER,
        Start,
        (SkelecogLevelQuest,
         ToontownGlobals.CashbotHQ,
         6,
         12),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6318: (DL_TIER,
        Start,
        (SupervisorQuest, ToontownGlobals.CashbotMintIntA, 5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6319: (DL_TIER,
        OBSOLETE,
        (SupervisorQuest, ToontownGlobals.CashbotMintIntB, 4),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6320: (DL_TIER,
        OBSOLETE,
        (SupervisorQuest, ToontownGlobals.CashbotMintIntC, 3),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6321: (DL_TIER,
        Start,
        (CogLevelQuest,
         ToontownGlobals.CashbotMintIntA,
         10,
         10),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6322: (DL_TIER,
        Start,
        (CogLevelQuest,
         ToontownGlobals.CashbotMintIntA,
         8,
         10),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6323: (DL_TIER,
        Start,
        (MintQuest, ToontownGlobals.CashbotMintIntA, 4),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6324: (DL_TIER,
        Start,
        (MintQuest, ToontownGlobals.CashbotMintIntA, 3),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6325: (DL_TIER,
        Start,
        (SupervisorQuest, ToontownGlobals.CashbotMintIntA, 4),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 6326: (DL_TIER,
        Start,
        (SupervisorQuest, ToontownGlobals.CashbotMintIntA, 3),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7101: (DL_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         120,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7102: (DL_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         130,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7103: (DL_TIER + 1,
        OBSOLETE,
        (CogQuest,
         Anywhere,
         140,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7104: (DL_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         160,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7105: (DL_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         180,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7106: (DL_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         200,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7107: (DL_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         70,
         'ym'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7108: (DL_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         60,
         'mm'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7109: (DL_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         50,
         'ds'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7110: (DL_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         50,
         'hh'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7111: (DL_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         30,
         'cr'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7112: (DL_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         20,
         'tbc'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7113: (DL_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         70,
         'nd'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7114: (DL_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         60,
         'gh'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7115: (DL_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         50,
         'ms'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7116: (DL_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         50,
         'tf'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7117: (DL_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         30,
         'm'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7118: (DL_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         20,
         'mh'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7119: (DL_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         70,
         'tw'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7120: (DL_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         60,
         'bc'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7121: (DL_TIER + 1,
        OBSOLETE,
        (CogQuest,
         Anywhere,
         50,
         'nc'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7122: (DL_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         50,
         'mb'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7123: (DL_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         30,
         'ls'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7124: (DL_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         20,
         'rb'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7125: (DL_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         70,
         'dt'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7126: (DL_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         60,
         'ac'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7127: (DL_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         50,
         'bs'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7128: (DL_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         50,
         'sd'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7129: (DL_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         30,
         'le'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7130: (DL_TIER + 1,
        Start,
        (CogQuest,
         Anywhere,
         20,
         'bw'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7131: (DL_TIER + 1,
        Start,
        (CogLevelQuest,
         Anywhere,
         100,
         7),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7132: (DL_TIER + 1,
        Start,
        (CogLevelQuest,
         Anywhere,
         80,
         8),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7133: (DL_TIER + 1,
        Start,
        (CogLevelQuest,
         Anywhere,
         60,
         9),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7134: (DL_TIER + 1,
        Start,
        (CogLevelQuest,
         Anywhere,
         70,
         9),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7135: (DL_TIER + 1,
        Start,
        (CogLevelQuest,
         Anywhere,
         40,
         10),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7136: (DL_TIER + 1,
        Start,
        (CogLevelQuest,
         Anywhere,
         50,
         10),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7137: (DL_TIER + 1,
        Start,
        (CogLevelQuest,
         Anywhere,
         20,
         11),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7138: (DL_TIER + 1,
        Start,
        (CogLevelQuest,
         Anywhere,
         30,
         11),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7139: (DL_TIER + 1,
        Start,
        (CogTrackQuest,
         Anywhere,
         100,
         'm'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7140: (DL_TIER + 1,
        Start,
        (CogTrackQuest,
         Anywhere,
         100,
         's'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7141: (DL_TIER + 1,
        Start,
        (CogTrackQuest,
         Anywhere,
         100,
         'c'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7142: (DL_TIER + 1,
        Start,
        (CogTrackQuest,
         Anywhere,
         100,
         'l'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7143: (DL_TIER + 1,
        OBSOLETE,
        (CogTrackQuest,
         Anywhere,
         120,
         'm'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7144: (DL_TIER + 1,
        Start,
        (CogTrackQuest,
         Anywhere,
         120,
         's'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7145: (DL_TIER + 1,
        Start,
        (CogTrackQuest,
         Anywhere,
         120,
         'c'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7146: (DL_TIER + 1,
        Start,
        (CogTrackQuest,
         Anywhere,
         120,
         'l'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7147: (DL_TIER + 1,
        Start,
        (CogTrackQuest,
         Anywhere,
         140,
         'm'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7148: (DL_TIER + 1,
        Start,
        (CogTrackQuest,
         Anywhere,
         140,
         's'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7149: (DL_TIER + 1,
        Start,
        (CogTrackQuest,
         Anywhere,
         140,
         'c'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7150: (DL_TIER + 1,
        Start,
        (CogTrackQuest,
         Anywhere,
         140,
         'l'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7151: (DL_TIER + 1,
        Start,
        (BuildingQuest,
         Anywhere,
         20,
         Any,
         2),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7152: (DL_TIER + 1,
        OBSOLETE,
        (BuildingQuest,
         Anywhere,
         10,
         Any,
         3),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7153: (DL_TIER + 1,
        Start,
        (BuildingQuest,
         Anywhere,
         10,
         Any,
         4),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7154: (DL_TIER + 1,
        Start,
        (BuildingQuest,
         Anywhere,
         10,
         Any,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7155: (DL_TIER + 1,
        OBSOLETE,
        (BuildingQuest,
         Anywhere,
         5,
         'm',
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7156: (DL_TIER + 1,
        Start,
        (BuildingQuest,
         Anywhere,
         5,
         's',
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7157: (DL_TIER + 1,
        Start,
        (BuildingQuest,
         Anywhere,
         5,
         'c',
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7158: (DL_TIER + 1,
        Start,
        (BuildingQuest,
         Anywhere,
         5,
         'l',
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7160: (DL_TIER + 1,
        Start,
        (CogNewbieQuest,
         ToontownGlobals.ToontownCentral,
         35,
         Any,
         NEWBIE_HP),
        Any,
        ToonHQ,
        607,
        NA,
        DefaultDialog),
 7161: (DL_TIER + 1,
        Start,
        (CogNewbieQuest,
         ToontownGlobals.ToontownCentral,
         35,
         Any,
         NEWBIE_HP),
        Any,
        ToonHQ,
        607,
        NA,
        DefaultDialog),
 7162: (DL_TIER + 1,
        Start,
        (CogNewbieQuest,
         ToontownGlobals.ToontownCentral,
         35,
         Any,
         NEWBIE_HP),
        Any,
        ToonHQ,
        607,
        NA,
        DefaultDialog),
 7163: (DL_TIER + 1,
        Start,
        (CogNewbieQuest,
         ToontownGlobals.ToontownCentral,
         35,
         Any,
         NEWBIE_HP),
        Any,
        ToonHQ,
        607,
        NA,
        DefaultDialog),
 7164: (DL_TIER + 1,
        Start,
        (BuildingNewbieQuest,
         Anywhere,
         1,
         Any,
         2,
         NEWBIE_HP),
        Any,
        ToonHQ,
        608,
        NA,
        DefaultDialog),
 7165: (DL_TIER + 1,
        Start,
        (BuildingNewbieQuest,
         Anywhere,
         1,
         Any,
         2,
         NEWBIE_HP),
        Any,
        ToonHQ,
        608,
        NA,
        DefaultDialog),
 7166: (DL_TIER + 1,
        Start,
        (BuildingNewbieQuest,
         Anywhere,
         1,
         Any,
         2,
         NEWBIE_HP),
        Any,
        ToonHQ,
        608,
        NA,
        DefaultDialog),
 7167: (DL_TIER + 1,
        Start,
        (BuildingNewbieQuest,
         Anywhere,
         1,
         Any,
         2,
         NEWBIE_HP),
        Any,
        ToonHQ,
        608,
        NA,
        DefaultDialog),
 7170: (DL_TIER + 1,
        OBSOLETE,
        (CogQuest,
         ToontownGlobals.SellbotHQ,
         80,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7171: (DL_TIER + 1,
        OBSOLETE,
        (CogQuest,
         ToontownGlobals.SellbotHQ,
         90,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7172: (DL_TIER + 1,
        OBSOLETE,
        (CogQuest,
         ToontownGlobals.SellbotHQ,
         100,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7173: (DL_TIER + 1,
        OBSOLETE,
        (CogLevelQuest,
         ToontownGlobals.SellbotHQ,
         50,
         4),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7174: (DL_TIER + 1,
        OBSOLETE,
        (CogLevelQuest,
         ToontownGlobals.SellbotHQ,
         35,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7175: (DL_TIER + 1,
        OBSOLETE,
        (CogLevelQuest,
         ToontownGlobals.SellbotHQ,
         35,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7176: (DL_TIER + 1,
        OBSOLETE,
        (CogLevelQuest,
         ToontownGlobals.SellbotFactoryInt,
         30,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7177: (DL_TIER + 1,
        OBSOLETE,
        (CogLevelQuest,
         ToontownGlobals.SellbotFactoryInt,
         20,
         6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7178: (DL_TIER + 1,
        OBSOLETE,
        (CogLevelQuest,
         ToontownGlobals.SellbotFactoryInt,
         20,
         6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7179: (DL_TIER + 1,
        OBSOLETE,
        (FactoryQuest, ToontownGlobals.SellbotHQ, 6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7180: (DL_TIER + 1,
        OBSOLETE,
        (FactoryQuest, ToontownGlobals.SellbotHQ, 8),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7181: (DL_TIER + 1,
        OBSOLETE,
        (FactoryQuest, ToontownGlobals.SellbotHQ, 6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7182: (DL_TIER + 1,
        OBSOLETE,
        (FactoryQuest, ToontownGlobals.SellbotHQ, 8),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7183: (DL_TIER + 1,
        OBSOLETE,
        (SkelecogQuest, ToontownGlobals.SellbotFactoryInt, 40),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7184: (DL_TIER + 1,
        OBSOLETE,
        (SkelecogLevelQuest,
         ToontownGlobals.SellbotHQ,
         20,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7185: (DL_TIER + 1,
        OBSOLETE,
        (SkelecogLevelQuest,
         ToontownGlobals.SellbotHQ,
         8,
         6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7186: (DL_TIER + 1,
        OBSOLETE,
        (ForemanQuest, ToontownGlobals.SellbotHQ, 6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7187: (DL_TIER + 1,
        OBSOLETE,
        (ForemanQuest, ToontownGlobals.SellbotHQ, 8),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7190: (DL_TIER + 1,
        Start,
        (CogNewbieQuest,
         ToontownGlobals.SellbotHQ,
         25,
         Any,
         SELLBOT_HQ_NEWBIE_HP),
        Any,
        ToonHQ,
        609,
        NA,
        DefaultDialog),
 7191: (DL_TIER + 1,
        Start,
        (CogNewbieQuest,
         ToontownGlobals.SellbotHQ,
         25,
         Any,
         SELLBOT_HQ_NEWBIE_HP),
        Any,
        ToonHQ,
        609,
        NA,
        DefaultDialog),
 7192: (DL_TIER + 1,
        Start,
        (CogNewbieQuest,
         ToontownGlobals.SellbotHQ,
         25,
         Any,
         SELLBOT_HQ_NEWBIE_HP),
        Any,
        ToonHQ,
        609,
        NA,
        DefaultDialog),
 7193: (DL_TIER + 1,
        Start,
        (SkelecogNewbieQuest,
         ToontownGlobals.SellbotHQ,
         6,
         SELLBOT_HQ_NEWBIE_HP),
        Any,
        ToonHQ,
        609,
        NA,
        DefaultDialog),
 7194: (DL_TIER + 1,
        Start,
        (FactoryNewbieQuest,
         ToontownGlobals.SellbotHQ,
         2,
         SELLBOT_HQ_NEWBIE_HP),
        Any,
        ToonHQ,
        609,
        NA,
        DefaultDialog),
 7195: (DL_TIER + 1,
        Start,
        (FactoryNewbieQuest,
         ToontownGlobals.SellbotHQ,
         2,
         SELLBOT_HQ_NEWBIE_HP),
        Any,
        ToonHQ,
        609,
        NA,
        DefaultDialog),
 7196: (DL_TIER + 1,
        Start,
        (ForemanNewbieQuest,
         ToontownGlobals.SellbotFactoryInt,
         2,
         SELLBOT_HQ_NEWBIE_HP),
        Any,
        ToonHQ,
        609,
        NA,
        DefaultDialog),
 7201: (DL_TIER + 1,
        Start,
        (VisitQuest,),
        Any,
        9124,
        NA,
        7202,
        TTLocalizer.QuestDialogDict[7201]),
 7202: (DL_TIER + 1,
        Start,
        (VisitQuest,),
        9124,
        9128,
        NA,
        7203,
        TTLocalizer.QuestDialogDict[7202]),
 7203: (DL_TIER + 1,
        Cont,
        (DeliverItemQuest, 7001),
        Same,
        9124,
        NA,
        7204,
        TTLocalizer.QuestDialogDict[7203]),
 7204: (DL_TIER + 1,
        Cont,
        (VisitQuest,),
        Same,
        9128,
        NA,
        7205,
        TTLocalizer.QuestDialogDict[7204]),
 7205: (DL_TIER + 1,
        Cont,
        (CogQuest,
         ToontownGlobals.DonaldsDreamland,
         140,
         Any),
        Same,
        Same,
        NA,
        7206,
        TTLocalizer.QuestDialogDict[7205]),
 7206: (DL_TIER + 1,
        Cont,
        (DeliverItemQuest, 7002),
        Same,
        9124,
        4003,
        NA,
        TTLocalizer.QuestDialogDict[7206]),
 7209: (DL_TIER + 1,
        Start,
        (VisitQuest,),
        Any,
        9232,
        NA,
        7210,
        TTLocalizer.QuestDialogDict[7209]),
 7210: (DL_TIER + 1,
        Start,
        (VisitQuest,),
        9232,
        9101,
        NA,
        7211,
        TTLocalizer.QuestDialogDict[7210]),
 7211: (DL_TIER + 1,
        Cont,
        (CogQuest,
         Anywhere,
         30,
         'nc'),
        Same,
        Same,
        NA,
        7212,
        TTLocalizer.QuestDialogDict[7211]),
 7212: (DL_TIER + 1,
        Cont,
        (DeliverItemQuest, 7003),
        Same,
        9232,
        NA,
        7213,
        TTLocalizer.QuestDialogDict[7212]),
 7213: (DL_TIER + 1,
        Cont,
        (VisitQuest,),
        Same,
        9101,
        NA,
        7214,
        TTLocalizer.QuestDialogDict[7213]),
 7214: (DL_TIER + 1,
        Cont,
        (CogTrackQuest,
         Anywhere,
         65,
         'm'),
        Same,
        Same,
        NA,
        7215,
        TTLocalizer.QuestDialogDict[7214]),
 7215: (DL_TIER + 1,
        Cont,
        (DeliverItemQuest, 7004),
        Same,
        9232,
        4004,
        NA,
        TTLocalizer.QuestDialogDict[7215]),
 7218: (DL_TIER + 1,
        Start,
        (VisitQuest,),
        Any,
        9109,
        NA,
        7219,
        TTLocalizer.QuestDialogDict[7218]),
 7219: (DL_TIER + 1,
        Start,
        (VisitQuest,),
        9109,
        9230,
        NA,
        7220,
        TTLocalizer.QuestDialogDict[7219]),
 7220: (DL_TIER + 1,
        Cont,
        (DeliverItemQuest, 7005),
        Same,
        9109,
        NA,
        7221,
        TTLocalizer.QuestDialogDict[7220]),
 7221: (DL_TIER + 1,
        Cont,
        (VisitQuest,),
        Same,
        9230,
        NA,
        7222,
        TTLocalizer.QuestDialogDict[7221]),
 7222: (DL_TIER + 1,
        Cont,
        (BuildingQuest,
         Anywhere,
         10,
         Any,
         3),
        Same,
        Same,
        NA,
        7223,
        TTLocalizer.QuestDialogDict[7222]),
 7223: (DL_TIER + 1,
        Cont,
        (DeliverItemQuest, 7006),
        Same,
        9109,
        4005,
        NA,
        TTLocalizer.QuestDialogDict[7223]),
 7226: (DL_TIER + 1,
        Start,
        (VisitQuest,),
        Any,
        9224,
        NA,
        7227,
        TTLocalizer.QuestDialogDict[7226]),
 7227: (DL_TIER + 1,
        Start,
        (VisitQuest,),
        9224,
        9102,
        NA,
        7228,
        TTLocalizer.QuestDialogDict[7227]),
 7228: (DL_TIER + 1,
        Cont,
        (DeliverItemQuest, 7007),
        Same,
        9224,
        NA,
        7229,
        TTLocalizer.QuestDialogDict[7228]),
 7229: (DL_TIER + 1,
        Cont,
        (VisitQuest,),
        Same,
        9102,
        NA,
        7230,
        TTLocalizer.QuestDialogDict[7229]),
 7230: (DL_TIER + 1,
        Cont,
        (DeliverItemQuest, 7008),
        Same,
        9224,
        NA,
        7231,
        TTLocalizer.QuestDialogDict[7230]),
 7231: (DL_TIER + 1,
        Cont,
        (VisitQuest,),
        Same,
        9102,
        NA,
        7232,
        TTLocalizer.QuestDialogDict[7231]),
 7232: (DL_TIER + 1,
        Cont,
        (VisitQuest,),
        Same,
        9216,
        NA,
        7233,
        TTLocalizer.QuestDialogDict[7232]),
 7233: (DL_TIER + 1,
        Cont,
        (DeliverItemQuest, 7009),
        Same,
        9224,
        NA,
        7234,
        TTLocalizer.QuestDialogDict[7233]),
 7234: (DL_TIER + 1,
        Cont,
        (VisitQuest,),
        Same,
        9216,
        NA,
        7235,
        TTLocalizer.QuestDialogDict[7234]),
 7235: (DL_TIER + 1,
        Cont,
        (BuildingQuest,
         Anywhere,
         5,
         'm',
         5),
        Same,
        Same,
        NA,
        7236,
        TTLocalizer.QuestDialogDict[7235]),
 7236: (DL_TIER + 1,
        Cont,
        (DeliverItemQuest, 7010),
        Same,
        9224,
        4006,
        NA,
        TTLocalizer.QuestDialogDict[7236]),
 7239: (DL_TIER + 1,
        Start,
        (VisitQuest,),
        Any,
        9114,
        NA,
        7240,
        TTLocalizer.QuestDialogDict[7239]),
 7240: (DL_TIER + 1,
        Start,
        (VisitQuest,),
        9114,
        9215,
        NA,
        7241,
        TTLocalizer.QuestDialogDict[7240]),
 7241: (DL_TIER + 1,
        Cont,
        (RecoverItemQuest,
         ToontownGlobals.DonaldsDreamland,
         1,
         7011,
         Hard,
         AnyFish),
        Same,
        Same,
        NA,
        7242,
        TTLocalizer.QuestDialogDict[7241]),
 7242: (DL_TIER + 1,
        Cont,
        (RecoverItemQuest,
         ToontownGlobals.DonaldsDreamland,
         1,
         7012,
         VeryHard,
         AnyFish),
        Same,
        Same,
        NA,
        7243,
        TTLocalizer.QuestDialogDict[7242]),
 7243: (DL_TIER + 1,
        Cont,
        (RecoverItemQuest,
         ToontownGlobals.CashbotHQ,
         1,
         7013,
         Hard,
         'ls'),
        Same,
        Same,
        NA,
        7244,
        TTLocalizer.QuestDialogDict[7243]),
 7244: (DL_TIER + 1,
        Cont,
        (DeliverItemQuest, 7014),
        Same,
        9114,
        4007,
        NA,
        TTLocalizer.QuestDialogDict[7244]),
 7250: (DL_TIER + 1,
        Start,
        (CogQuest,
         ToontownGlobals.CashbotHQ,
         80,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7251: (DL_TIER + 1,
        Start,
        (CogQuest,
         ToontownGlobals.CashbotHQ,
         90,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7252: (DL_TIER + 1,
        Start,
        (CogQuest,
         ToontownGlobals.CashbotHQ,
         100,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7253: (DL_TIER + 1,
        Start,
        (CogLevelQuest,
         ToontownGlobals.CashbotHQ,
         50,
         7),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7254: (DL_TIER + 1,
        Start,
        (CogLevelQuest,
         ToontownGlobals.CashbotHQ,
         35,
         8),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7255: (DL_TIER + 1,
        Start,
        (CogLevelQuest,
         ToontownGlobals.CashbotHQ,
         35,
         9),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7256: (DL_TIER + 1,
        Start,
        (CogLevelQuest,
         ToontownGlobals.CashbotMintIntA,
         30,
         10),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7257: (DL_TIER + 1,
        Start,
        (CogLevelQuest,
         ToontownGlobals.CashbotMintIntB,
         25,
         11),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7258: (DL_TIER + 1,
        OBSOLETE,
        (CogLevelQuest,
         ToontownGlobals.CashbotMintIntC,
         20,
         11),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7259: (DL_TIER + 1,
        Start,
        (MintQuest, ToontownGlobals.CashbotMintIntA, 8),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7260: (DL_TIER + 1,
        Start,
        (MintQuest, ToontownGlobals.CashbotMintIntB, 7),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7261: (DL_TIER + 1,
        OBSOLETE,
        (MintQuest, ToontownGlobals.CashbotMintIntC, 6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7262: (DL_TIER + 1,
        Start,
        (SkelecogQuest, ToontownGlobals.CashbotHQ, 30),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7263: (DL_TIER + 1,
        Start,
        (SkelecogLevelQuest,
         ToontownGlobals.CashbotHQ,
         20,
         11),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7264: (DL_TIER + 1,
        Start,
        (SkelecogLevelQuest,
         ToontownGlobals.CashbotHQ,
         10,
         12),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7265: (DL_TIER + 1,
        Start,
        (SupervisorQuest, ToontownGlobals.CashbotMintIntA, 10),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7266: (DL_TIER + 1,
        Start,
        (SupervisorQuest, ToontownGlobals.CashbotMintIntB, 8),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7267: (DL_TIER + 1,
        OBSOLETE,
        (SupervisorQuest, ToontownGlobals.CashbotMintIntC, 6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7268: (DL_TIER + 1,
        Start,
        (CogLevelQuest,
         ToontownGlobals.CashbotMintIntB,
         20,
         11),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7269: (DL_TIER + 1,
        Start,
        (MintQuest, ToontownGlobals.CashbotMintIntB, 6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7270: (DL_TIER + 1,
        Start,
        (SupervisorQuest, ToontownGlobals.CashbotMintIntB, 6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 7500: (DL_TIER + 1,
        Start,
        (CogQuest,
         ToontownGlobals.DonaldsDreamland,
         100,
         Any),
        Any,
        ToonHQ,
        NA,
        7501,
        DefaultDialog),
 7501: (DL_TIER + 1,
        Cont,
        (DeliverItemQuest, 1000),
        Any,
        9010,
        1000,
        NA,
        DefaultDialog),
 8101: (DL_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         240,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8102: (DL_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         260,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8103: (DL_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         280,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8104: (DL_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         320,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8105: (DL_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         360,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8106: (DL_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         400,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8107: (DL_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         140,
         'ym'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8108: (DL_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         120,
         'mm'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8109: (DL_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         100,
         'ds'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8110: (DL_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         100,
         'hh'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8111: (DL_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         60,
         'cr'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8112: (DL_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         40,
         'tbc'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8113: (DL_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         140,
         'nd'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8114: (DL_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         120,
         'gh'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8115: (DL_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         100,
         'ms'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8116: (DL_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         100,
         'tf'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8117: (DL_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         60,
         'm'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8118: (DL_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         40,
         'mh'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8119: (DL_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         140,
         'tw'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8120: (DL_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         120,
         'bc'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8121: (DL_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         100,
         'nc'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8122: (DL_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         100,
         'mb'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8123: (DL_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         60,
         'ls'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8124: (DL_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         40,
         'rb'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8125: (DL_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         140,
         'dt'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8126: (DL_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         120,
         'ac'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8127: (DL_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         100,
         'bs'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8128: (DL_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         100,
         'sd'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8129: (DL_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         60,
         'le'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8130: (DL_TIER + 2,
        Start,
        (CogQuest,
         Anywhere,
         40,
         'bw'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8131: (DL_TIER + 2,
        Start,
        (CogLevelQuest,
         Anywhere,
         160,
         9),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8132: (DL_TIER + 2,
        Start,
        (CogLevelQuest,
         Anywhere,
         200,
         9),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8133: (DL_TIER + 2,
        Start,
        (CogLevelQuest,
         Anywhere,
         120,
         10),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8134: (DL_TIER + 2,
        Start,
        (CogLevelQuest,
         Anywhere,
         140,
         10),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8135: (DL_TIER + 2,
        Start,
        (CogLevelQuest,
         Anywhere,
         80,
         11),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8136: (DL_TIER + 2,
        Start,
        (CogLevelQuest,
         Anywhere,
         100,
         11),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8137: (DL_TIER + 2,
        Start,
        (CogLevelQuest,
         Anywhere,
         40,
         12),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8138: (DL_TIER + 2,
        Start,
        (CogLevelQuest,
         Anywhere,
         60,
         12),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8139: (DL_TIER + 2,
        Start,
        (CogTrackQuest,
         Anywhere,
         200,
         'm'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8140: (DL_TIER + 2,
        Start,
        (CogTrackQuest,
         Anywhere,
         200,
         's'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8141: (DL_TIER + 2,
        Start,
        (CogTrackQuest,
         Anywhere,
         200,
         'c'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8142: (DL_TIER + 2,
        Start,
        (CogTrackQuest,
         Anywhere,
         200,
         'l'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8143: (DL_TIER + 2,
        Start,
        (CogTrackQuest,
         Anywhere,
         250,
         'm'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8144: (DL_TIER + 2,
        Start,
        (CogTrackQuest,
         Anywhere,
         250,
         's'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8145: (DL_TIER + 2,
        Start,
        (CogTrackQuest,
         Anywhere,
         250,
         'c'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8146: (DL_TIER + 2,
        Start,
        (CogTrackQuest,
         Anywhere,
         250,
         'l'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8147: (DL_TIER + 2,
        Start,
        (CogTrackQuest,
         Anywhere,
         300,
         'm'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8148: (DL_TIER + 2,
        Start,
        (CogTrackQuest,
         Anywhere,
         300,
         's'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8149: (DL_TIER + 2,
        Start,
        (CogTrackQuest,
         Anywhere,
         300,
         'c'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8150: (DL_TIER + 2,
        Start,
        (CogTrackQuest,
         Anywhere,
         300,
         'l'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8151: (DL_TIER + 2,
        Start,
        (BuildingQuest,
         Anywhere,
         40,
         Any,
         2),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8152: (DL_TIER + 2,
        Start,
        (BuildingQuest,
         Anywhere,
         20,
         Any,
         3),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8153: (DL_TIER + 2,
        Start,
        (BuildingQuest,
         Anywhere,
         20,
         Any,
         4),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8154: (DL_TIER + 2,
        Start,
        (BuildingQuest,
         Anywhere,
         20,
         Any,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8155: (DL_TIER + 2,
        Start,
        (BuildingQuest,
         Anywhere,
         10,
         'm',
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8156: (DL_TIER + 2,
        Start,
        (BuildingQuest,
         Anywhere,
         10,
         's',
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8157: (DL_TIER + 2,
        Start,
        (BuildingQuest,
         Anywhere,
         10,
         'c',
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8158: (DL_TIER + 2,
        Start,
        (BuildingQuest,
         Anywhere,
         10,
         'l',
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8160: (DL_TIER + 2,
        Start,
        (CogNewbieQuest,
         ToontownGlobals.ToontownCentral,
         40,
         Any,
         NEWBIE_HP),
        Any,
        ToonHQ,
        608,
        NA,
        DefaultDialog),
 8161: (DL_TIER + 2,
        Start,
        (CogNewbieQuest,
         ToontownGlobals.ToontownCentral,
         40,
         Any,
         NEWBIE_HP),
        Any,
        ToonHQ,
        608,
        NA,
        DefaultDialog),
 8162: (DL_TIER + 2,
        Start,
        (CogNewbieQuest,
         ToontownGlobals.ToontownCentral,
         40,
         Any,
         NEWBIE_HP),
        Any,
        ToonHQ,
        608,
        NA,
        DefaultDialog),
 8163: (DL_TIER + 2,
        Start,
        (CogNewbieQuest,
         ToontownGlobals.ToontownCentral,
         40,
         Any,
         NEWBIE_HP),
        Any,
        ToonHQ,
        608,
        NA,
        DefaultDialog),
 8164: (DL_TIER + 2,
        Start,
        (BuildingNewbieQuest,
         Anywhere,
         1,
         Any,
         3,
         NEWBIE_HP),
        Any,
        ToonHQ,
        609,
        NA,
        DefaultDialog),
 8165: (DL_TIER + 2,
        Start,
        (BuildingNewbieQuest,
         Anywhere,
         1,
         Any,
         3,
         NEWBIE_HP),
        Any,
        ToonHQ,
        609,
        NA,
        DefaultDialog),
 8166: (DL_TIER + 2,
        Start,
        (BuildingNewbieQuest,
         Anywhere,
         1,
         Any,
         3,
         NEWBIE_HP),
        Any,
        ToonHQ,
        609,
        NA,
        DefaultDialog),
 8167: (DL_TIER + 2,
        Start,
        (BuildingNewbieQuest,
         Anywhere,
         1,
         Any,
         3,
         NEWBIE_HP),
        Any,
        ToonHQ,
        609,
        NA,
        DefaultDialog),
 8170: (DL_TIER + 2,
        OBSOLETE,
        (CogQuest,
         ToontownGlobals.SellbotHQ,
         160,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8171: (DL_TIER + 2,
        OBSOLETE,
        (CogQuest,
         ToontownGlobals.SellbotHQ,
         180,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8172: (DL_TIER + 2,
        OBSOLETE,
        (CogQuest,
         ToontownGlobals.SellbotHQ,
         200,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8173: (DL_TIER + 2,
        OBSOLETE,
        (CogLevelQuest,
         ToontownGlobals.SellbotHQ,
         100,
         4),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8174: (DL_TIER + 2,
        OBSOLETE,
        (CogLevelQuest,
         ToontownGlobals.SellbotHQ,
         70,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8175: (DL_TIER + 2,
        OBSOLETE,
        (CogLevelQuest,
         ToontownGlobals.SellbotHQ,
         70,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8176: (DL_TIER + 2,
        OBSOLETE,
        (CogLevelQuest,
         ToontownGlobals.SellbotFactoryInt,
         60,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8177: (DL_TIER + 2,
        OBSOLETE,
        (CogLevelQuest,
         ToontownGlobals.SellbotFactoryInt,
         40,
         6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8178: (DL_TIER + 2,
        OBSOLETE,
        (CogLevelQuest,
         ToontownGlobals.SellbotFactoryInt,
         40,
         6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8179: (DL_TIER + 2,
        OBSOLETE,
        (FactoryQuest, ToontownGlobals.SellbotHQ, 12),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8180: (DL_TIER + 2,
        OBSOLETE,
        (FactoryQuest, ToontownGlobals.SellbotHQ, 16),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8181: (DL_TIER + 2,
        OBSOLETE,
        (FactoryQuest, ToontownGlobals.SellbotHQ, 12),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8182: (DL_TIER + 2,
        OBSOLETE,
        (FactoryQuest, ToontownGlobals.SellbotHQ, 16),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8183: (DL_TIER + 2,
        OBSOLETE,
        (SkelecogQuest, ToontownGlobals.SellbotFactoryInt, 80),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8184: (DL_TIER + 2,
        OBSOLETE,
        (SkelecogLevelQuest,
         ToontownGlobals.SellbotHQ,
         40,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8185: (DL_TIER + 2,
        OBSOLETE,
        (SkelecogLevelQuest,
         ToontownGlobals.SellbotHQ,
         16,
         6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8186: (DL_TIER + 2,
        OBSOLETE,
        (ForemanQuest, ToontownGlobals.SellbotHQ, 12),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8187: (DL_TIER + 2,
        OBSOLETE,
        (ForemanQuest, ToontownGlobals.SellbotHQ, 16),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8188: (DL_TIER + 2,
        OBSOLETE,
        (VPQuest, ToontownGlobals.SellbotHQ, 2),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8189: (DL_TIER + 2,
        OBSOLETE,
        (RescueQuest, ToontownGlobals.SellbotHQ, 2),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8190: (DL_TIER + 2,
        OBSOLETE,
        (CogNewbieQuest,
         ToontownGlobals.SellbotHQ,
         30,
         Any,
         SELLBOT_HQ_NEWBIE_HP),
        Any,
        ToonHQ,
        610,
        NA,
        DefaultDialog),
 8191: (DL_TIER + 2,
        OBSOLETE,
        (CogNewbieQuest,
         ToontownGlobals.SellbotHQ,
         30,
         Any,
         SELLBOT_HQ_NEWBIE_HP),
        Any,
        ToonHQ,
        610,
        NA,
        DefaultDialog),
 8192: (DL_TIER + 2,
        OBSOLETE,
        (CogNewbieQuest,
         ToontownGlobals.SellbotHQ,
         30,
         Any,
         SELLBOT_HQ_NEWBIE_HP),
        Any,
        ToonHQ,
        610,
        NA,
        DefaultDialog),
 8193: (DL_TIER + 2,
        OBSOLETE,
        (SkelecogNewbieQuest,
         ToontownGlobals.SellbotHQ,
         8,
         SELLBOT_HQ_NEWBIE_HP),
        Any,
        ToonHQ,
        610,
        NA,
        DefaultDialog),
 8194: (DL_TIER + 2,
        OBSOLETE,
        (FactoryNewbieQuest,
         ToontownGlobals.SellbotHQ,
         3,
         SELLBOT_HQ_NEWBIE_HP),
        Any,
        ToonHQ,
        610,
        NA,
        DefaultDialog),
 8195: (DL_TIER + 2,
        OBSOLETE,
        (FactoryNewbieQuest,
         ToontownGlobals.SellbotHQ,
         3,
         SELLBOT_HQ_NEWBIE_HP),
        Any,
        ToonHQ,
        610,
        NA,
        DefaultDialog),
 8196: (DL_TIER + 2,
        OBSOLETE,
        (ForemanNewbieQuest,
         ToontownGlobals.SellbotFactoryInt,
         3,
         SELLBOT_HQ_NEWBIE_HP),
        Any,
        ToonHQ,
        610,
        NA,
        DefaultDialog),
 8197: (DL_TIER + 2,
        OBSOLETE,
        (VPNewbieQuest,
         ToontownGlobals.SellbotHQ,
         1,
         SELLBOT_HQ_NEWBIE_HP),
        Any,
        ToonHQ,
        610,
        NA,
        DefaultDialog),
 8198: (DL_TIER + 2,
        OBSOLETE,
        (RescueNewbieQuest,
         ToontownGlobals.SellbotHQ,
         1,
         SELLBOT_HQ_NEWBIE_HP),
        Any,
        ToonHQ,
        610,
        NA,
        DefaultDialog),
 8201: (DL_TIER + 2,
        Start,
        (CogQuest,
         ToontownGlobals.CashbotHQ,
         160,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8202: (DL_TIER + 2,
        Start,
        (CogQuest,
         ToontownGlobals.CashbotHQ,
         180,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8203: (DL_TIER + 2,
        Start,
        (CogQuest,
         ToontownGlobals.CashbotHQ,
         200,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8204: (DL_TIER + 2,
        Start,
        (CogLevelQuest,
         ToontownGlobals.CashbotHQ,
         100,
         7),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8205: (DL_TIER + 2,
        Start,
        (CogLevelQuest,
         ToontownGlobals.CashbotHQ,
         90,
         8),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8206: (DL_TIER + 2,
        Start,
        (CogLevelQuest,
         ToontownGlobals.CashbotHQ,
         80,
         9),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8207: (DL_TIER + 2,
        Start,
        (CogLevelQuest,
         ToontownGlobals.CashbotMintIntA,
         60,
         10),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8208: (DL_TIER + 2,
        Start,
        (CogLevelQuest,
         ToontownGlobals.CashbotMintIntB,
         50,
         11),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8209: (DL_TIER + 2,
        Start,
        (CogLevelQuest,
         ToontownGlobals.CashbotMintIntC,
         40,
         11),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8210: (DL_TIER + 2,
        Start,
        (MintQuest, ToontownGlobals.CashbotMintIntA, 16),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8211: (DL_TIER + 2,
        Start,
        (MintQuest, ToontownGlobals.CashbotMintIntB, 14),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8212: (DL_TIER + 2,
        Start,
        (MintQuest, ToontownGlobals.CashbotMintIntC, 12),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8213: (DL_TIER + 2,
        Start,
        (SkelecogQuest, ToontownGlobals.CashbotMintIntA, 80),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8214: (DL_TIER + 2,
        Start,
        (SkelecogQuest, ToontownGlobals.CashbotMintIntB, 60),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8215: (DL_TIER + 2,
        Start,
        (SkelecogQuest, ToontownGlobals.CashbotMintIntC, 40),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8216: (DL_TIER + 2,
        Start,
        (SupervisorQuest, ToontownGlobals.CashbotMintIntA, 16),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8217: (DL_TIER + 2,
        Start,
        (SupervisorQuest, ToontownGlobals.CashbotMintIntB, 14),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8218: (DL_TIER + 2,
        Start,
        (SupervisorQuest, ToontownGlobals.CashbotMintIntC, 12),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 8219: (DL_TIER + 2,
        Start,
        (CFOQuest, ToontownGlobals.CashbotHQ, 2),
        Any,
        ToonHQ,
        621,
        NA,
        DefaultDialog),
 9101: (DL_TIER + 3,
        Start,
        (CogQuest,
         Anywhere,
         500,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9102: (DL_TIER + 3,
        Start,
        (CogQuest,
         Anywhere,
         600,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9103: (DL_TIER + 3,
        Start,
        (CogQuest,
         Anywhere,
         700,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9104: (DL_TIER + 3,
        Start,
        (CogQuest,
         Anywhere,
         800,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9105: (DL_TIER + 3,
        Start,
        (CogQuest,
         Anywhere,
         900,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9106: (DL_TIER + 3,
        Start,
        (CogQuest,
         Anywhere,
         1000,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9107: (DL_TIER + 3,
        Start,
        (CogQuest,
         Anywhere,
         300,
         'ym'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9108: (DL_TIER + 3,
        Start,
        (CogQuest,
         Anywhere,
         250,
         'mm'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9109: (DL_TIER + 3,
        Start,
        (CogQuest,
         Anywhere,
         200,
         'ds'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9110: (DL_TIER + 3,
        Start,
        (CogQuest,
         Anywhere,
         200,
         'hh'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9111: (DL_TIER + 3,
        Start,
        (CogQuest,
         Anywhere,
         120,
         'cr'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9112: (DL_TIER + 3,
        Start,
        (CogQuest,
         Anywhere,
         80,
         'tbc'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9113: (DL_TIER + 3,
        Start,
        (CogQuest,
         Anywhere,
         280,
         'nd'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9114: (DL_TIER + 3,
        Start,
        (CogQuest,
         Anywhere,
         240,
         'gh'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9115: (DL_TIER + 3,
        Start,
        (CogQuest,
         Anywhere,
         200,
         'ms'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9116: (DL_TIER + 3,
        Start,
        (CogQuest,
         Anywhere,
         200,
         'tf'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9117: (DL_TIER + 3,
        Start,
        (CogQuest,
         Anywhere,
         120,
         'm'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9118: (DL_TIER + 3,
        Start,
        (CogQuest,
         Anywhere,
         80,
         'mh'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9119: (DL_TIER + 3,
        Start,
        (CogQuest,
         Anywhere,
         280,
         'tw'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9120: (DL_TIER + 3,
        Start,
        (CogQuest,
         Anywhere,
         240,
         'bc'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9121: (DL_TIER + 3,
        Start,
        (CogQuest,
         Anywhere,
         200,
         'nc'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9122: (DL_TIER + 3,
        Start,
        (CogQuest,
         Anywhere,
         200,
         'mb'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9123: (DL_TIER + 3,
        Start,
        (CogQuest,
         Anywhere,
         120,
         'ls'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9124: (DL_TIER + 3,
        Start,
        (CogQuest,
         Anywhere,
         80,
         'rb'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9125: (DL_TIER + 3,
        Start,
        (CogQuest,
         Anywhere,
         280,
         'dt'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9126: (DL_TIER + 3,
        Start,
        (CogQuest,
         Anywhere,
         240,
         'ac'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9127: (DL_TIER + 3,
        Start,
        (CogQuest,
         Anywhere,
         200,
         'bs'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9128: (DL_TIER + 3,
        Start,
        (CogQuest,
         Anywhere,
         200,
         'sd'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9129: (DL_TIER + 3,
        Start,
        (CogQuest,
         Anywhere,
         120,
         'le'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9130: (DL_TIER + 3,
        Start,
        (CogQuest,
         Anywhere,
         80,
         'bw'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9131: (DL_TIER + 3,
        Start,
        (CogLevelQuest,
         Anywhere,
         320,
         9),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9132: (DL_TIER + 3,
        Start,
        (CogLevelQuest,
         Anywhere,
         400,
         9),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9133: (DL_TIER + 3,
        Start,
        (CogLevelQuest,
         Anywhere,
         240,
         10),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9134: (DL_TIER + 3,
        Start,
        (CogLevelQuest,
         Anywhere,
         280,
         10),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9135: (DL_TIER + 3,
        Start,
        (CogLevelQuest,
         Anywhere,
         160,
         11),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9136: (DL_TIER + 3,
        Start,
        (CogLevelQuest,
         Anywhere,
         200,
         11),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9137: (DL_TIER + 3,
        Start,
        (CogLevelQuest,
         Anywhere,
         80,
         12),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9138: (DL_TIER + 3,
        Start,
        (CogLevelQuest,
         Anywhere,
         120,
         12),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9139: (DL_TIER + 3,
        Start,
        (CogTrackQuest,
         Anywhere,
         400,
         'm'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9140: (DL_TIER + 3,
        Start,
        (CogTrackQuest,
         Anywhere,
         400,
         's'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9141: (DL_TIER + 3,
        Start,
        (CogTrackQuest,
         Anywhere,
         400,
         'c'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9142: (DL_TIER + 3,
        Start,
        (CogTrackQuest,
         Anywhere,
         400,
         'l'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9143: (DL_TIER + 3,
        Start,
        (CogTrackQuest,
         Anywhere,
         500,
         'm'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9144: (DL_TIER + 3,
        Start,
        (CogTrackQuest,
         Anywhere,
         500,
         's'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9145: (DL_TIER + 3,
        Start,
        (CogTrackQuest,
         Anywhere,
         500,
         'c'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9146: (DL_TIER + 3,
        Start,
        (CogTrackQuest,
         Anywhere,
         500,
         'l'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9147: (DL_TIER + 3,
        Start,
        (CogTrackQuest,
         Anywhere,
         600,
         'm'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9148: (DL_TIER + 3,
        Start,
        (CogTrackQuest,
         Anywhere,
         600,
         's'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9149: (DL_TIER + 3,
        Start,
        (CogTrackQuest,
         Anywhere,
         600,
         'c'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9150: (DL_TIER + 3,
        Start,
        (CogTrackQuest,
         Anywhere,
         600,
         'l'),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9151: (DL_TIER + 3,
        Start,
        (BuildingQuest,
         Anywhere,
         400,
         Any,
         2),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9152: (DL_TIER + 3,
        Start,
        (BuildingQuest,
         Anywhere,
         200,
         Any,
         3),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9153: (DL_TIER + 3,
        Start,
        (BuildingQuest,
         Anywhere,
         200,
         Any,
         4),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9154: (DL_TIER + 3,
        Start,
        (BuildingQuest,
         Anywhere,
         200,
         Any,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9155: (DL_TIER + 3,
        Start,
        (BuildingQuest,
         Anywhere,
         100,
         Any,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9156: (DL_TIER + 3,
        Start,
        (BuildingQuest,
         Anywhere,
         100,
         Any,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9157: (DL_TIER + 3,
        Start,
        (BuildingQuest,
         Anywhere,
         100,
         Any,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9158: (DL_TIER + 3,
        Start,
        (BuildingQuest,
         Anywhere,
         100,
         Any,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9160: (DL_TIER + 3,
        Start,
        (CogNewbieQuest,
         ToontownGlobals.ToontownCentral,
         45,
         Any,
         NEWBIE_HP),
        Any,
        ToonHQ,
        609,
        NA,
        DefaultDialog),
 9161: (DL_TIER + 3,
        Start,
        (CogNewbieQuest,
         ToontownGlobals.ToontownCentral,
         45,
         Any,
         NEWBIE_HP),
        Any,
        ToonHQ,
        609,
        NA,
        DefaultDialog),
 9162: (DL_TIER + 3,
        Start,
        (CogNewbieQuest,
         ToontownGlobals.ToontownCentral,
         45,
         Any,
         NEWBIE_HP),
        Any,
        ToonHQ,
        609,
        NA,
        DefaultDialog),
 9163: (DL_TIER + 3,
        Start,
        (CogNewbieQuest,
         ToontownGlobals.ToontownCentral,
         45,
         Any,
         NEWBIE_HP),
        Any,
        ToonHQ,
        609,
        NA,
        DefaultDialog),
 9164: (DL_TIER + 3,
        Start,
        (BuildingNewbieQuest,
         Anywhere,
         1,
         Any,
         3,
         NEWBIE_HP),
        Any,
        ToonHQ,
        609,
        NA,
        DefaultDialog),
 9165: (DL_TIER + 3,
        Start,
        (BuildingNewbieQuest,
         Anywhere,
         1,
         Any,
         3,
         NEWBIE_HP),
        Any,
        ToonHQ,
        609,
        NA,
        DefaultDialog),
 9166: (DL_TIER + 3,
        Start,
        (BuildingNewbieQuest,
         Anywhere,
         1,
         Any,
         3,
         NEWBIE_HP),
        Any,
        ToonHQ,
        609,
        NA,
        DefaultDialog),
 9167: (DL_TIER + 3,
        Start,
        (BuildingNewbieQuest,
         Anywhere,
         1,
         Any,
         3,
         NEWBIE_HP),
        Any,
        ToonHQ,
        609,
        NA,
        DefaultDialog),
 9170: (DL_TIER + 3,
        OBSOLETE,
        (CogQuest,
         ToontownGlobals.SellbotHQ,
         350,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9171: (DL_TIER + 3,
        OBSOLETE,
        (CogQuest,
         ToontownGlobals.SellbotHQ,
         400,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9172: (DL_TIER + 3,
        OBSOLETE,
        (CogQuest,
         ToontownGlobals.SellbotHQ,
         500,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9173: (DL_TIER + 3,
        OBSOLETE,
        (CogLevelQuest,
         ToontownGlobals.SellbotHQ,
         200,
         4),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9174: (DL_TIER + 3,
        OBSOLETE,
        (CogLevelQuest,
         ToontownGlobals.SellbotHQ,
         150,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9175: (DL_TIER + 3,
        OBSOLETE,
        (CogLevelQuest,
         ToontownGlobals.SellbotHQ,
         150,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9176: (DL_TIER + 3,
        OBSOLETE,
        (CogLevelQuest,
         ToontownGlobals.SellbotFactoryInt,
         150,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9177: (DL_TIER + 3,
        OBSOLETE,
        (CogLevelQuest,
         ToontownGlobals.SellbotFactoryInt,
         100,
         6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9178: (DL_TIER + 3,
        OBSOLETE,
        (CogLevelQuest,
         ToontownGlobals.SellbotFactoryInt,
         100,
         6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9179: (DL_TIER + 3,
        OBSOLETE,
        (FactoryQuest, ToontownGlobals.SellbotHQ, 25),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9180: (DL_TIER + 3,
        OBSOLETE,
        (FactoryQuest, ToontownGlobals.SellbotHQ, 35),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9181: (DL_TIER + 3,
        OBSOLETE,
        (FactoryQuest, ToontownGlobals.SellbotHQ, 25),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9182: (DL_TIER + 3,
        OBSOLETE,
        (FactoryQuest, ToontownGlobals.SellbotHQ, 35),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9183: (DL_TIER + 3,
        OBSOLETE,
        (SkelecogQuest, ToontownGlobals.SellbotFactoryInt, 150),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9184: (DL_TIER + 3,
        OBSOLETE,
        (SkelecogLevelQuest,
         ToontownGlobals.SellbotHQ,
         80,
         5),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9185: (DL_TIER + 3,
        OBSOLETE,
        (SkelecogLevelQuest,
         ToontownGlobals.SellbotHQ,
         32,
         6),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9186: (DL_TIER + 3,
        OBSOLETE,
        (ForemanQuest, ToontownGlobals.SellbotHQ, 25),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9187: (DL_TIER + 3,
        OBSOLETE,
        (ForemanQuest, ToontownGlobals.SellbotHQ, 35),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9188: (DL_TIER + 3,
        OBSOLETE,
        (VPQuest, ToontownGlobals.SellbotHQ, 3),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9189: (DL_TIER + 3,
        OBSOLETE,
        (RescueQuest, ToontownGlobals.SellbotHQ, 3),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9190: (DL_TIER + 3,
        OBSOLETE,
        (CogNewbieQuest,
         ToontownGlobals.SellbotHQ,
         35,
         Any,
         SELLBOT_HQ_NEWBIE_HP),
        Any,
        ToonHQ,
        611,
        NA,
        DefaultDialog),
 9191: (DL_TIER + 3,
        OBSOLETE,
        (CogNewbieQuest,
         ToontownGlobals.SellbotHQ,
         35,
         Any,
         SELLBOT_HQ_NEWBIE_HP),
        Any,
        ToonHQ,
        611,
        NA,
        DefaultDialog),
 9192: (DL_TIER + 3,
        OBSOLETE,
        (CogNewbieQuest,
         ToontownGlobals.SellbotHQ,
         35,
         Any,
         SELLBOT_HQ_NEWBIE_HP),
        Any,
        ToonHQ,
        611,
        NA,
        DefaultDialog),
 9193: (DL_TIER + 3,
        OBSOLETE,
        (SkelecogNewbieQuest,
         ToontownGlobals.SellbotHQ,
         10,
         SELLBOT_HQ_NEWBIE_HP),
        Any,
        ToonHQ,
        611,
        NA,
        DefaultDialog),
 9194: (DL_TIER + 3,
        OBSOLETE,
        (FactoryNewbieQuest,
         ToontownGlobals.SellbotHQ,
         4,
         SELLBOT_HQ_NEWBIE_HP),
        Any,
        ToonHQ,
        611,
        NA,
        DefaultDialog),
 9195: (DL_TIER + 3,
        OBSOLETE,
        (FactoryNewbieQuest,
         ToontownGlobals.SellbotHQ,
         4,
         SELLBOT_HQ_NEWBIE_HP),
        Any,
        ToonHQ,
        611,
        NA,
        DefaultDialog),
 9196: (DL_TIER + 3,
        OBSOLETE,
        (ForemanNewbieQuest,
         ToontownGlobals.SellbotFactoryInt,
         4,
         SELLBOT_HQ_NEWBIE_HP),
        Any,
        ToonHQ,
        611,
        NA,
        DefaultDialog),
 9197: (DL_TIER + 3,
        OBSOLETE,
        (VPNewbieQuest,
         ToontownGlobals.SellbotHQ,
         2,
         SELLBOT_HQ_NEWBIE_HP),
        Any,
        ToonHQ,
        611,
        NA,
        DefaultDialog),
 9198: (DL_TIER + 3,
        OBSOLETE,
        (RescueNewbieQuest,
         ToontownGlobals.SellbotHQ,
         2,
         SELLBOT_HQ_NEWBIE_HP),
        Any,
        ToonHQ,
        611,
        NA,
        DefaultDialog),
 9201: (DL_TIER + 3,
        Start,
        (CogQuest,
         ToontownGlobals.CashbotHQ,
         350,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9202: (DL_TIER + 3,
        Start,
        (CogQuest,
         ToontownGlobals.CashbotHQ,
         400,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9203: (DL_TIER + 3,
        Start,
        (CogQuest,
         ToontownGlobals.CashbotHQ,
         450,
         Any),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9204: (DL_TIER + 3,
        Start,
        (CogLevelQuest,
         ToontownGlobals.CashbotHQ,
         200,
         7),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9205: (DL_TIER + 3,
        Start,
        (CogLevelQuest,
         ToontownGlobals.CashbotHQ,
         150,
         8),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9206: (DL_TIER + 3,
        Start,
        (CogLevelQuest,
         ToontownGlobals.CashbotHQ,
         100,
         9),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9207: (DL_TIER + 3,
        Start,
        (CogLevelQuest,
         ToontownGlobals.CashbotMintIntA,
         200,
         10),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9208: (DL_TIER + 3,
        Start,
        (CogLevelQuest,
         ToontownGlobals.CashbotMintIntB,
         150,
         10),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9209: (DL_TIER + 3,
        Start,
        (CogLevelQuest,
         ToontownGlobals.CashbotMintIntC,
         100,
         11),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9210: (DL_TIER + 3,
        Start,
        (MintQuest, ToontownGlobals.CashbotMintIntA, 35),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9211: (DL_TIER + 3,
        Start,
        (MintQuest, ToontownGlobals.CashbotMintIntB, 30),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9212: (DL_TIER + 3,
        Start,
        (MintQuest, ToontownGlobals.CashbotMintIntC, 25),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9213: (DL_TIER + 3,
        Start,
        (SkelecogQuest, ToontownGlobals.CashbotMintIntA, 150),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9214: (DL_TIER + 3,
        Start,
        (SkelecogQuest, ToontownGlobals.CashbotMintIntB, 100),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9215: (DL_TIER + 3,
        Start,
        (SkelecogQuest, ToontownGlobals.CashbotMintIntC, 50),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9216: (DL_TIER + 3,
        Start,
        (SupervisorQuest, ToontownGlobals.CashbotMintIntA, 35),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9217: (DL_TIER + 3,
        Start,
        (SupervisorQuest, ToontownGlobals.CashbotMintIntB, 30),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9218: (DL_TIER + 3,
        Start,
        (SupervisorQuest, ToontownGlobals.CashbotMintIntC, 25),
        Any,
        ToonHQ,
        Any,
        NA,
        DefaultDialog),
 9219: (DL_TIER + 3,
        Start,
        (CFOQuest, ToontownGlobals.CashbotHQ, 3),
        Any,
        ToonHQ,
        622,
        NA,
        DefaultDialog),
 9220: (DL_TIER + 3,
        Start,
        (CogNewbieQuest,
         ToontownGlobals.CashbotMintIntA,
         35,
         Any,
         CASHBOT_HQ_NEWBIE_HP),
        Any,
        ToonHQ,
        611,
        NA,
        DefaultDialog),
 9221: (DL_TIER + 3,
        Start,
        (CogNewbieQuest,
         ToontownGlobals.CashbotMintIntB,
         30,
         Any,
         CASHBOT_HQ_NEWBIE_HP),
        Any,
        ToonHQ,
        611,
        NA,
        DefaultDialog),
 9222: (DL_TIER + 3,
        Start,
        (CogNewbieQuest,
         ToontownGlobals.CashbotMintIntC,
         25,
         Any,
         CASHBOT_HQ_NEWBIE_HP),
        Any,
        ToonHQ,
        611,
        NA,
        DefaultDialog),
 9223: (DL_TIER + 3,
        Start,
        (SkelecogNewbieQuest,
         ToontownGlobals.CashbotHQ,
         10,
         CASHBOT_HQ_NEWBIE_HP),
        Any,
        ToonHQ,
        611,
        NA,
        DefaultDialog),
 9224: (DL_TIER + 3,
        Start,
        (MintNewbieQuest,
         ToontownGlobals.CashbotMintIntA,
         6,
         CASHBOT_HQ_NEWBIE_HP),
        Any,
        ToonHQ,
        611,
        NA,
        DefaultDialog),
 9225: (DL_TIER + 3,
        Start,
        (MintNewbieQuest,
         ToontownGlobals.CashbotMintIntB,
         4,
         CASHBOT_HQ_NEWBIE_HP),
        Any,
        ToonHQ,
        611,
        NA,
        DefaultDialog),
 9226: (DL_TIER + 3,
        Start,
        (MintNewbieQuest,
         ToontownGlobals.CashbotMintIntC,
         2,
         CASHBOT_HQ_NEWBIE_HP),
        Any,
        ToonHQ,
        611,
        NA,
        DefaultDialog),
 9227: (DL_TIER + 3,
        Start,
        (SupervisorNewbieQuest,
         ToontownGlobals.CashbotMintIntA,
         6,
         CASHBOT_HQ_NEWBIE_HP),
        Any,
        ToonHQ,
        611,
        NA,
        DefaultDialog),
 9228: (DL_TIER + 3,
        Start,
        (SupervisorNewbieQuest,
         ToontownGlobals.CashbotMintIntB,
         4,
         CASHBOT_HQ_NEWBIE_HP),
        Any,
        ToonHQ,
        611,
        NA,
        DefaultDialog),
 9229: (DL_TIER + 3,
        Start,
        (SupervisorNewbieQuest,
         ToontownGlobals.CashbotMintIntC,
         2,
         CASHBOT_HQ_NEWBIE_HP),
        Any,
        ToonHQ,
        611,
        NA,
        DefaultDialog),
 9500: (DL_TIER + 3,
        Start,
        (CogQuest,
         ToontownGlobals.DonaldsDreamland,
         1000,
         Any),
        Any,
        ToonHQ,
        NA,
        9501,
        DefaultDialog),
 9501: (DL_TIER + 3,
        Cont,
        (DeliverItemQuest, 1000),
        Any,
        2004,
        1000,
        NA,
        DefaultDialog),
 10001: (ELDER_TIER,
         Start,
         (CogNewbieQuest,
          ToontownGlobals.ToontownCentral,
          50,
          Any,
          NEWBIE_HP),
         Any,
         ToonHQ,
         Any,
         NA,
         DefaultDialog),
 10002: (ELDER_TIER,
         Start,
         (BuildingNewbieQuest,
          Anywhere,
          4,
          Any,
          1,
          NEWBIE_HP),
         Any,
         ToonHQ,
         Any,
         NA,
         DefaultDialog),
 10100: (ELDER_TIER,
         Start,
         (CogQuest,
          Anywhere,
          80,
          Any),
         Any,
         ToonHQ,
         Any,
         NA,
         DefaultDialog),
 10101: (ELDER_TIER,
         Start,
         (CogQuest,
          Anywhere,
          100,
          Any),
         Any,
         ToonHQ,
         Any,
         NA,
         DefaultDialog),
 10102: (ELDER_TIER,
         Start,
         (CogQuest,
          Anywhere,
          120,
          Any),
         Any,
         ToonHQ,
         Any,
         NA,
         DefaultDialog),
 10103: (ELDER_TIER,
         Start,
         (CogQuest,
          Anywhere,
          200,
          Any),
         Any,
         ToonHQ,
         613,
         NA,
         DefaultDialog),
 10104: (ELDER_TIER,
         Start,
         (CogQuest,
          Anywhere,
          250,
          Any),
         Any,
         ToonHQ,
         615,
         NA,
         DefaultDialog),
 10105: (ELDER_TIER,
         Start,
         (CogQuest,
          Anywhere,
          300,
          Any),
         Any,
         ToonHQ,
         616,
         NA,
         DefaultDialog),
 10106: (ELDER_TIER,
         Start,
         (CogQuest,
          Anywhere,
          400,
          Any),
         Any,
         ToonHQ,
         618,
         NA,
         DefaultDialog),
 10110: (ELDER_TIER,
         Start,
         (BuildingQuest,
          Anywhere,
          40,
          Any,
          2),
         Any,
         ToonHQ,
         Any,
         NA,
         DefaultDialog),
 10111: (ELDER_TIER,
         Start,
         (BuildingQuest,
          Anywhere,
          30,
          Any,
          3),
         Any,
         ToonHQ,
         Any,
         NA,
         DefaultDialog),
 10112: (ELDER_TIER,
         Start,
         (BuildingQuest,
          Anywhere,
          25,
          Any,
          4),
         Any,
         ToonHQ,
         Any,
         NA,
         DefaultDialog),
 10113: (ELDER_TIER,
         Start,
         (BuildingQuest,
          Anywhere,
          20,
          Any,
          5),
         Any,
         ToonHQ,
         Any,
         NA,
         DefaultDialog),
 10114: (ELDER_TIER,
         Start,
         (BuildingQuest,
          Anywhere,
          20,
          'm',
          5),
         Any,
         ToonHQ,
         Any,
         NA,
         DefaultDialog),
 10115: (ELDER_TIER,
         Start,
         (BuildingQuest,
          Anywhere,
          20,
          's',
          5),
         Any,
         ToonHQ,
         Any,
         NA,
         DefaultDialog),
 10116: (ELDER_TIER,
         Start,
         (BuildingQuest,
          Anywhere,
          20,
          'c',
          5),
         Any,
         ToonHQ,
         Any,
         NA,
         DefaultDialog),
 10117: (ELDER_TIER,
         Start,
         (BuildingQuest,
          Anywhere,
          20,
          'l',
          5),
         Any,
         ToonHQ,
         Any,
         NA,
         DefaultDialog),
 10118: (ELDER_TIER,
         Start,
         (BuildingQuest,
          Anywhere,
          50,
          Any,
          1),
         Any,
         ToonHQ,
         620,
         NA,
         DefaultDialog),
 10120: (ELDER_TIER,
         OBSOLETE,
         (CogQuest,
          ToontownGlobals.SellbotHQ,
          60,
          Any),
         Any,
         ToonHQ,
         Any,
         NA,
         DefaultDialog),
 10121: (ELDER_TIER,
         OBSOLETE,
         (FactoryQuest, ToontownGlobals.SellbotHQ, 10),
         Any,
         ToonHQ,
         Any,
         NA,
         DefaultDialog),
 10122: (ELDER_TIER,
         OBSOLETE,
         (ForemanQuest, ToontownGlobals.SellbotHQ, 10),
         Any,
         ToonHQ,
         Any,
         NA,
         DefaultDialog),
 10123: (ELDER_TIER,
         OBSOLETE,
         (VPQuest, ToontownGlobals.SellbotHQ, 2),
         Any,
         ToonHQ,
         Any,
         NA,
         DefaultDialog),
 10124: (ELDER_TIER,
         OBSOLETE,
         (RescueQuest, ToontownGlobals.SellbotHQ, 2),
         Any,
         ToonHQ,
         Any,
         NA,
         DefaultDialog),
 10130: (ELDER_TIER,
         OBSOLETE,
         (CogNewbieQuest,
          ToontownGlobals.SellbotHQ,
          40,
          Any,
          SELLBOT_HQ_NEWBIE_HP),
         Any,
         ToonHQ,
         Any,
         NA,
         DefaultDialog),
 10131: (ELDER_TIER,
         OBSOLETE,
         (FactoryNewbieQuest,
          ToontownGlobals.SellbotHQ,
          3,
          SELLBOT_HQ_NEWBIE_HP),
         Any,
         ToonHQ,
         Any,
         NA,
         DefaultDialog),
 10132: (ELDER_TIER,
         OBSOLETE,
         (VPNewbieQuest,
          ToontownGlobals.SellbotHQ,
          1,
          SELLBOT_HQ_NEWBIE_HP),
         Any,
         ToonHQ,
         Any,
         NA,
         DefaultDialog),
 10140: (ELDER_TIER,
         Start,
         (CogQuest,
          ToontownGlobals.CashbotHQ,
          60,
          Any),
         Any,
         ToonHQ,
         Any,
         NA,
         DefaultDialog),
 10141: (ELDER_TIER,
         Start,
         (MintQuest, ToontownGlobals.CashbotHQ, 10),
         Any,
         ToonHQ,
         Any,
         NA,
         DefaultDialog),
 10142: (ELDER_TIER,
         Start,
         (SupervisorQuest, ToontownGlobals.CashbotHQ, 10),
         Any,
         ToonHQ,
         Any,
         NA,
         DefaultDialog),
 10143: (ELDER_TIER,
         Start,
         (CFOQuest, ToontownGlobals.CashbotHQ, 2),
         Any,
         ToonHQ,
         623,
         NA,
         DefaultDialog),
 10145: (ELDER_TIER,
         Start,
         (CogNewbieQuest,
          ToontownGlobals.CashbotHQ,
          40,
          Any,
          CASHBOT_HQ_NEWBIE_HP),
         Any,
         ToonHQ,
         Any,
         NA,
         DefaultDialog),
 10146: (ELDER_TIER,
         Start,
         (MintNewbieQuest,
          ToontownGlobals.CashbotHQ,
          3,
          CASHBOT_HQ_NEWBIE_HP),
         Any,
         ToonHQ,
         Any,
         NA,
         DefaultDialog),
 10147: (ELDER_TIER,
         Start,
         (SupervisorNewbieQuest,
          ToontownGlobals.CashbotHQ,
          3,
          CASHBOT_HQ_NEWBIE_HP),
         Any,
         ToonHQ,
         611,
         NA,
         DefaultDialog),
 10200: (ELDER_TIER,
         Start,
         (CogQuest,
          Anywhere,
          100,
          Any),
         Any,
         ToonHQ,
         NA,
         10201,
         DefaultDialog),
 10201: (ELDER_TIER,
         Cont,
         (DeliverItemQuest, 1000),
         Any,
         ToonTailor,
         1000,
         NA,
         DefaultDialog),
 10202: (ELDER_TIER,
         Start,
         (BuildingQuest,
          Anywhere,
          25,
          Any,
          1),
         Any,
         ToonHQ,
         NA,
         10203,
         DefaultDialog),
 10203: (ELDER_TIER,
         Cont,
         (DeliverItemQuest, 1000),
         Any,
         ToonTailor,
         1000,
         NA,
         DefaultDialog),
 10204: (ELDER_TIER,
         Start,
         (CogNewbieQuest,
          ToontownGlobals.ToontownCentral,
          60,
          Any,
          NEWBIE_HP),
         Any,
         ToonHQ,
         NA,
         10205,
         DefaultDialog),
 10205: (ELDER_TIER,
         Cont,
         (DeliverItemQuest, 1000),
         Any,
         ToonTailor,
         1000,
         NA,
         DefaultDialog),
 10206: (ELDER_TIER,
         Start,
         (BuildingNewbieQuest,
          Anywhere,
          4,
          Any,
          1,
          NEWBIE_HP),
         Any,
         ToonHQ,
         NA,
         10207,
         DefaultDialog),
 10207: (ELDER_TIER,
         Cont,
         (DeliverItemQuest, 1000),
         Any,
         ToonTailor,
         1000,
         NA,
         DefaultDialog),
 11000: (LAWBOT_HQ_TIER,
         Start,
         (VisitQuest,),
         Any,
         3310,
         NA,
         11001,
         TTLocalizer.QuestDialogDict[11000]),
 11001: (LAWBOT_HQ_TIER,
         Start,
         (RecoverItemQuest,
          ToontownGlobals.SillyStreet,
          1,
          3027,
          Hard,
          Any),
         Same,
         Same,
         4100,
         NA,
         TTLocalizer.QuestDialogDict[11001]),
 11002: (LAWBOT_HQ_TIER + 1,
         Start,
         (VisitQuest,),
         Any,
         3310,
         NA,
         11003,
         TTLocalizer.QuestDialogDict[11002]),
 11003: (LAWBOT_HQ_TIER + 1,
         Start,
         (RecoverItemQuest,
          ToontownGlobals.LoopyLane,
          1,
          3027,
          Hard,
          Any),
         Same,
         Same,
         4101,
         NA,
         TTLocalizer.QuestDialogDict[11003]),
 11004: (LAWBOT_HQ_TIER + 2,
         Start,
         (VisitQuest,),
         Any,
         3310,
         NA,
         11005,
         TTLocalizer.QuestDialogDict[11004]),
 11005: (LAWBOT_HQ_TIER + 2,
         Start,
         (RecoverItemQuest,
          ToontownGlobals.PunchlinePlace,
          1,
          3027,
          Hard,
          Any),
         Same,
         Same,
         4102,
         NA,
         TTLocalizer.QuestDialogDict[11005]),
 11006: (LAWBOT_HQ_TIER + 3,
         Start,
         (VisitQuest,),
         Any,
         3310,
         NA,
         11007,
         TTLocalizer.QuestDialogDict[11006]),
 11007: (LAWBOT_HQ_TIER + 3,
         Start,
         (RecoverItemQuest,
          ToontownGlobals.BarnacleBoulevard,
          1,
          3027,
          Hard,
          Any),
         Same,
         Same,
         4103,
         NA,
         TTLocalizer.QuestDialogDict[11007]),
 11008: (LAWBOT_HQ_TIER + 4,
         Start,
         (VisitQuest,),
         Any,
         3310,
         NA,
         11009,
         TTLocalizer.QuestDialogDict[11008]),
 11009: (LAWBOT_HQ_TIER + 4,
         Start,
         (RecoverItemQuest,
          ToontownGlobals.SeaweedStreet,
          1,
          3027,
          Hard,
          Any),
         Same,
         Same,
         4104,
         NA,
         TTLocalizer.QuestDialogDict[11009]),
 11010: (LAWBOT_HQ_TIER + 5,
         Start,
         (VisitQuest,),
         Any,
         3310,
         NA,
         11011,
         TTLocalizer.QuestDialogDict[11010]),
 11011: (LAWBOT_HQ_TIER + 5,
         Start,
         (RecoverItemQuest,
          ToontownGlobals.LighthouseLane,
          1,
          3027,
          Hard,
          Any),
         Same,
         Same,
         4105,
         NA,
         TTLocalizer.QuestDialogDict[11011]),
 11012: (LAWBOT_HQ_TIER + 6,
         Start,
         (VisitQuest,),
         Any,
         3310,
         NA,
         11013,
         TTLocalizer.QuestDialogDict[11012]),
 11013: (LAWBOT_HQ_TIER + 6,
         Start,
         (RecoverItemQuest,
          ToontownGlobals.ElmStreet,
          1,
          3027,
          Hard,
          Any),
         Same,
         Same,
         4106,
         NA,
         TTLocalizer.QuestDialogDict[11013]),
 11014: (LAWBOT_HQ_TIER + 7,
         Start,
         (VisitQuest,),
         Any,
         3310,
         NA,
         11015,
         TTLocalizer.QuestDialogDict[11014]),
 11015: (LAWBOT_HQ_TIER + 7,
         Start,
         (RecoverItemQuest,
          ToontownGlobals.MapleStreet,
          1,
          3027,
          Hard,
          Any),
         Same,
         Same,
         4107,
         NA,
         TTLocalizer.QuestDialogDict[11015]),
 11016: (LAWBOT_HQ_TIER + 8,
         Start,
         (VisitQuest,),
         Any,
         3310,
         NA,
         11017,
         TTLocalizer.QuestDialogDict[11016]),
 11017: (LAWBOT_HQ_TIER + 8,
         Start,
         (RecoverItemQuest,
          ToontownGlobals.OakStreet,
          1,
          3027,
          Hard,
          Any),
         Same,
         Same,
         4108,
         NA,
         TTLocalizer.QuestDialogDict[11017]),
 11018: (LAWBOT_HQ_TIER + 9,
         Start,
         (VisitQuest,),
         Any,
         3310,
         NA,
         11019,
         TTLocalizer.QuestDialogDict[11018]),
 11019: (LAWBOT_HQ_TIER + 9,
         Start,
         (RecoverItemQuest,
          ToontownGlobals.AltoAvenue,
          1,
          3027,
          Hard,
          Any),
         Same,
         Same,
         4109,
         NA,
         TTLocalizer.QuestDialogDict[11019]),
 11020: (LAWBOT_HQ_TIER + 10,
         Start,
         (VisitQuest,),
         Any,
         3310,
         NA,
         11021,
         TTLocalizer.QuestDialogDict[11020]),
 11021: (LAWBOT_HQ_TIER + 10,
         Start,
         (RecoverItemQuest,
          ToontownGlobals.BaritoneBoulevard,
          1,
          3027,
          Hard,
          Any),
         Same,
         Same,
         4110,
         NA,
         TTLocalizer.QuestDialogDict[11021]),
 11022: (LAWBOT_HQ_TIER + 11,
         Start,
         (VisitQuest,),
         Any,
         3310,
         NA,
         11023,
         TTLocalizer.QuestDialogDict[11022]),
 11023: (LAWBOT_HQ_TIER + 11,
         Start,
         (RecoverItemQuest,
          ToontownGlobals.TenorTerrace,
          1,
          3027,
          Hard,
          Any),
         Same,
         Same,
         4111,
         NA,
         TTLocalizer.QuestDialogDict[11023]),
 11024: (LAWBOT_HQ_TIER + 12,
         Start,
         (VisitQuest,),
         Any,
         3310,
         NA,
         11025,
         TTLocalizer.QuestDialogDict[11024]),
 11025: (LAWBOT_HQ_TIER + 12,
         Start,
         (RecoverItemQuest,
          ToontownGlobals.LullabyLane,
          1,
          3027,
          Hard,
          Any),
         Same,
         Same,
         4112,
         NA,
         TTLocalizer.QuestDialogDict[11025]),
 11026: (LAWBOT_HQ_TIER + 13,
         Start,
         (VisitQuest,),
         Any,
         3310,
         NA,
         11027,
         TTLocalizer.QuestDialogDict[11026]),
 11027: (LAWBOT_HQ_TIER + 13,
         Start,
         (RecoverItemQuest,
          ToontownGlobals.PajamaPlace,
          1,
          3027,
          Hard,
          Any),
         Same,
         Same,
         4113,
         NA,
         TTLocalizer.QuestDialogDict[11027]),
 12000: (BOSSBOT_HQ_TIER,
         Start,
         (VisitQuest,),
         Any,
         1222,
         NA,
         12001,
         TTLocalizer.QuestDialogDict[12000]),
 12001: (BOSSBOT_HQ_TIER,
         Start,
         (CogQuest,
          Anywhere,
          1,
          'f'),
         Same,
         Same,
         4200,
         NA,
         TTLocalizer.QuestDialogDict[12001]),
 12002: (BOSSBOT_HQ_TIER + 1,
         Start,
         (VisitQuest,),
         Any,
         1222,
         NA,
         12003,
         TTLocalizer.QuestDialogDict[12002]),
 12003: (BOSSBOT_HQ_TIER + 1,
         Start,
         (CogQuest,
          Anywhere,
          1,
          'p'),
         Same,
         Same,
         4201,
         NA,
         TTLocalizer.QuestDialogDict[12003]),
 12004: (BOSSBOT_HQ_TIER + 2,
         Start,
         (VisitQuest,),
         Any,
         1222,
         NA,
         12005,
         TTLocalizer.QuestDialogDict[12004]),
 12005: (BOSSBOT_HQ_TIER + 2,
         Start,
         (CogQuest,
          Anywhere,
          1,
          'ym'),
         Same,
         Same,
         4202,
         NA,
         TTLocalizer.QuestDialogDict[12005]),
 12006: (BOSSBOT_HQ_TIER + 3,
         Start,
         (VisitQuest,),
         Any,
         1222,
         NA,
         12007,
         TTLocalizer.QuestDialogDict[12006]),
 12007: (BOSSBOT_HQ_TIER + 3,
         Start,
         (CogQuest,
          Anywhere,
          1,
          'mm'),
         Same,
         Same,
         4203,
         NA,
         TTLocalizer.QuestDialogDict[12007]),
 12008: (BOSSBOT_HQ_TIER + 4,
         Start,
         (VisitQuest,),
         Any,
         1222,
         NA,
         12009,
         TTLocalizer.QuestDialogDict[12008]),
 12009: (BOSSBOT_HQ_TIER + 4,
         Start,
         (CogQuest,
          Anywhere,
          1,
          'ds'),
         Same,
         Same,
         4204,
         NA,
         TTLocalizer.QuestDialogDict[12009]),
 12010: (BOSSBOT_HQ_TIER + 5,
         Start,
         (VisitQuest,),
         Any,
         1222,
         NA,
         12011,
         TTLocalizer.QuestDialogDict[12010]),
 12011: (BOSSBOT_HQ_TIER + 5,
         Start,
         (CogQuest,
          Anywhere,
          1,
          'hh'),
         Same,
         Same,
         4205,
         NA,
         TTLocalizer.QuestDialogDict[12011]),
 12012: (BOSSBOT_HQ_TIER + 6,
         Start,
         (VisitQuest,),
         Any,
         1222,
         NA,
         12013,
         TTLocalizer.QuestDialogDict[12012]),
 12013: (BOSSBOT_HQ_TIER + 6,
         Start,
         (CogQuest,
          Anywhere,
          1,
          'cr'),
         Same,
         Same,
         4206,
         NA,
         TTLocalizer.QuestDialogDict[12013]),
 12014: (BOSSBOT_HQ_TIER + 7,
         Start,
         (VisitQuest,),
         Any,
         1222,
         NA,
         12015,
         TTLocalizer.QuestDialogDict[12014]),
 12015: (BOSSBOT_HQ_TIER + 7,
         Start,
         (CogQuest,
          Anywhere,
          1,
          'tbc'),
         Same,
         Same,
         4207,
         NA,
         TTLocalizer.QuestDialogDict[12015]),
 12016: (BOSSBOT_HQ_TIER + 8,
         Start,
         (VisitQuest,),
         Any,
         1222,
         NA,
         12017,
         TTLocalizer.QuestDialogDict[12016]),
 12017: (BOSSBOT_HQ_TIER + 8,
         Start,
         (SkeleReviveQuest, Anywhere, 1),
         Same,
         Same,
         4208,
         NA,
         TTLocalizer.QuestDialogDict[12017]),
 12018: (BOSSBOT_HQ_TIER + 9,
         Start,
         (VisitQuest,),
         Any,
         1222,
         NA,
         12019,
         TTLocalizer.QuestDialogDict[12018]),
 12019: (BOSSBOT_HQ_TIER + 9,
         Start,
         (SkeleReviveQuest, Anywhere, 1),
         Same,
         Same,
         4209,
         NA,
         TTLocalizer.QuestDialogDict[12019]),
 12020: (BOSSBOT_HQ_TIER + 10,
         Start,
         (VisitQuest,),
         Any,
         1222,
         NA,
         12021,
         TTLocalizer.QuestDialogDict[12020]),
 12021: (BOSSBOT_HQ_TIER + 10,
         Start,
         (SkeleReviveQuest, Anywhere, 1),
         Same,
         Same,
         4210,
         NA,
         TTLocalizer.QuestDialogDict[12021]),
 12022: (BOSSBOT_HQ_TIER + 11,
         Start,
         (VisitQuest,),
         Any,
         1222,
         NA,
         12023,
         TTLocalizer.QuestDialogDict[12022]),
 12023: (BOSSBOT_HQ_TIER + 11,
         Start,
         (SkeleReviveQuest, Anywhere, 1),
         Same,
         Same,
         4211,
         NA,
         TTLocalizer.QuestDialogDict[12023]),
 12024: (BOSSBOT_HQ_TIER + 12,
         Start,
         (VisitQuest,),
         Any,
         1222,
         NA,
         12025,
         TTLocalizer.QuestDialogDict[12024]),
 12025: (BOSSBOT_HQ_TIER + 12,
         Start,
         (SkeleReviveQuest, Anywhere, 1),
         Same,
         Same,
         4212,
         NA,
         TTLocalizer.QuestDialogDict[12025]),
 12026: (BOSSBOT_HQ_TIER + 13,
         Start,
         (VisitQuest,),
         Any,
         1222,
         NA,
         12027,
         TTLocalizer.QuestDialogDict[12026]),
 12027: (BOSSBOT_HQ_TIER + 13,
         Start,
         (SkeleReviveQuest, Anywhere, 1),
         Same,
         Same,
         4213,
         NA,
         TTLocalizer.QuestDialogDict[12027]),
 12028: (BOSSBOT_HQ_TIER + 14,
         Start,
         (VisitQuest,),
         Any,
         1222,
         NA,
         12029,
         TTLocalizer.QuestDialogDict[12028]),
 12029: (BOSSBOT_HQ_TIER + 14,
         Start,
         (SkeleReviveQuest, Anywhere, 1),
         Same,
         Same,
         4214,
         NA,
         TTLocalizer.QuestDialogDict[12029]),
 12030: (BOSSBOT_HQ_TIER + 15,
         Start,
         (VisitQuest,),
         Any,
         1222,
         NA,
         12031,
         TTLocalizer.QuestDialogDict[12030]),
 12031: (BOSSBOT_HQ_TIER + 15,
         Start,
         (SkeleReviveQuest, Anywhere, 1),
         Same,
         Same,
         4215,
         NA,
         TTLocalizer.QuestDialogDict[12031]),
 12032: (BOSSBOT_HQ_TIER + 16,
         Start,
         (VisitQuest,),
         Any,
         2001,
         4216,
         NA,
         TTLocalizer.QuestDialogDict[12032])}

Tier2QuestsDict = {}
for questId, questDesc in list(QuestDict.items()):
    if questDesc[QuestDictStartIndex] == Start:
        tier = questDesc[QuestDictTierIndex]
        if tier in Tier2QuestsDict:
            Tier2QuestsDict[tier].append(questId)
        else:
            Tier2QuestsDict[tier] = [questId]

Quest2RewardDict = {}
Tier2Reward2QuestsDict = {}
Quest2RemainingStepsDict = {}

def getAllRewardIdsForReward(rewardId):
    if rewardId is AnyCashbotSuitPart:
        return list(range(4000, 4011 + 1))
    if rewardId is AnyLawbotSuitPart:
        return list(range(4100, 4113 + 1))
    if rewardId is AnyBossbotSuitPart:
        return list(range(4200, 4216 + 1))
    return (rewardId,)


def findFinalRewardId(questId):
    finalRewardId = Quest2RewardDict.get(questId)
    if finalRewardId:
        remainingSteps = Quest2RemainingStepsDict.get(questId)
    else:
        try:
            questDesc = QuestDict[questId]
        except KeyError:
            print('findFinalRewardId: Quest ID: %d not found' % questId)
            return -1

        nextQuestId = questDesc[QuestDictNextQuestIndex]
        if nextQuestId == NA:
            finalRewardId = questDesc[QuestDictRewardIndex]
            remainingSteps = 1
        else:
            if type(nextQuestId) == type(()):
                finalRewardId, remainingSteps = findFinalRewardId(nextQuestId[0])
                for id in nextQuestId[1:]:
                    findFinalRewardId(id)

            else:
                finalRewardId, remainingSteps = findFinalRewardId(nextQuestId)
            remainingSteps += 1
        if finalRewardId != OBSOLETE:
            if questDesc[QuestDictStartIndex] == Start:
                tier = questDesc[QuestDictTierIndex]
                tier2RewardDict = Tier2Reward2QuestsDict.setdefault(tier, {})
                rewardIds = getAllRewardIdsForReward(finalRewardId)
                for rewardId in rewardIds:
                    questList = tier2RewardDict.setdefault(rewardId, [])
                    questList.append(questId)

        else:
            finalRewardId = None
        Quest2RewardDict[questId] = finalRewardId
        Quest2RemainingStepsDict[questId] = remainingSteps
    return (finalRewardId, remainingSteps)


for questId in list(QuestDict.keys()):
    findFinalRewardId(questId)

def getStartingQuests(tier = None):
    startingQuests = []
    for questId in list(QuestDict.keys()):
        if isStartingQuest(questId):
            if tier is None:
                startingQuests.append(questId)
            elif questId in Tier2QuestsDict[tier]:
                startingQuests.append(questId)

    startingQuests.sort()
    return startingQuests


def getFinalRewardId(questId, fAll = 0):
    if fAll or isStartingQuest(questId):
        return Quest2RewardDict.get(questId)
    else:
        return None
    return None


def isStartingQuest(questId):
    try:
        return QuestDict[questId][QuestDictStartIndex] == Start
    except KeyError:
        return None

    return None


def getNumChoices(tier):
    if tier in (0,):
        return 0
    if tier in (1,):
        return 2
    else:
        return 3


def getAvatarRewardId(av, questId):
    for quest in av.quests:
        if questId == quest[0]:
            return quest[3]

    notify.warning('getAvatarRewardId(): quest not found on avatar')
    return None


def getNextQuest(id, currentNpc, av):
    nextQuest = QuestDict[id][QuestDictNextQuestIndex]
    if nextQuest == NA:
        return (NA, NA)
    elif type(nextQuest) == type(()):
        nextReward = QuestDict[nextQuest[0]][QuestDictRewardIndex]
        nextNextQuest, nextNextToNpcId = getNextQuest(nextQuest[0], currentNpc, av)
        if nextReward == 400 and nextNextQuest == NA:
            nextQuest = chooseTrackChoiceQuest(av.getRewardTier(), av)
        else:
            nextQuest = random.choice(nextQuest)
    if not getQuestClass(nextQuest).filterFunc(av):
        return getNextQuest(nextQuest, currentNpc, av)
    nextToNpcId = getQuestToNpcId(nextQuest)
    if nextToNpcId == Any:
        nextToNpcId = 2004
    elif nextToNpcId == Same:
        if currentNpc.getHq():
            nextToNpcId = ToonHQ
        else:
            nextToNpcId = currentNpc.getNpcId()
    elif nextToNpcId == ToonHQ:
        nextToNpcId = ToonHQ
    return (nextQuest, nextToNpcId)


def filterQuests(entireQuestPool, currentNpc, av):
    if notify.getDebug():
        notify.debug('filterQuests: entireQuestPool: %s' % entireQuestPool)
    validQuestPool = dict([ (questId, 1) for questId in entireQuestPool ])
    if isLoopingFinalTier(av.getRewardTier()):
        history = [questDesc[0] for questDesc in av.quests]
    else:
        history = av.getQuestHistory()
    if notify.getDebug():
        notify.debug('filterQuests: av quest history: %s' % history)
    currentQuests = av.quests
    for questId in entireQuestPool:
        if questId in history:
            if notify.getDebug():
                notify.debug('filterQuests: Removed %s because in history' % questId)
            validQuestPool[questId] = 0
            continue
        potentialFromNpc = getQuestFromNpcId(questId)
        if not npcMatches(potentialFromNpc, currentNpc):
            if notify.getDebug():
                notify.debug('filterQuests: Removed %s: potentialFromNpc does not match currentNpc' % questId)
            validQuestPool[questId] = 0
            continue
        potentialToNpc = getQuestToNpcId(questId)
        if currentNpc.getNpcId() == potentialToNpc:
            if notify.getDebug():
                notify.debug('filterQuests: Removed %s because potentialToNpc is currentNpc' % questId)
            validQuestPool[questId] = 0
            continue
        if not getQuestClass(questId).filterFunc(av):
            if notify.getDebug():
                notify.debug('filterQuests: Removed %s because of filterFunc' % questId)
            validQuestPool[questId] = 0
            continue
        for quest in currentQuests:
            fromNpcId = quest[1]
            toNpcId = quest[2]
            if potentialToNpc == toNpcId and toNpcId != ToonHQ:
                validQuestPool[questId] = 0
                if notify.getDebug():
                    notify.debug('filterQuests: Removed %s because npc involved' % questId)
                break

    finalQuestPool = [key for key in list(validQuestPool.keys()) if validQuestPool[key]]
    if notify.getDebug():
        notify.debug('filterQuests: finalQuestPool: %s' % finalQuestPool)
    return finalQuestPool


def chooseTrackChoiceQuest(tier, av, fixed = 0):

    def fixAndCallAgain():
        if not fixed and av.fixTrackAccess():
            notify.info('av %s trackAccess fixed: %s' % (av.getDoId(), trackAccess))
            return chooseTrackChoiceQuest(tier, av, fixed=1)
        else:
            return None
        return None

    bestQuest = None
    trackAccess = av.getTrackAccess()
    if tier == MM_TIER:
        if trackAccess[ToontownBattleGlobals.HEAL_TRACK] == 1:
            bestQuest = 4002
        elif trackAccess[ToontownBattleGlobals.SOUND_TRACK] == 1:
            bestQuest = 4001
        else:
            notify.warning('av %s has bogus trackAccess: %s' % (av.getDoId(), trackAccess))
            return fixAndCallAgain()
    elif tier == BR_TIER:
        if trackAccess[ToontownBattleGlobals.TRAP_TRACK] == 1:
            if trackAccess[ToontownBattleGlobals.SOUND_TRACK] == 1:
                if trackAccess[ToontownBattleGlobals.DROP_TRACK] == 1:
                    bestQuest = 5004
                elif trackAccess[ToontownBattleGlobals.LURE_TRACK] == 1:
                    bestQuest = 5003
                else:
                    notify.warning('av %s has bogus trackAccess: %s' % (av.getDoId(), trackAccess))
                    return fixAndCallAgain()
            elif trackAccess[ToontownBattleGlobals.HEAL_TRACK] == 1:
                if trackAccess[ToontownBattleGlobals.DROP_TRACK] == 1:
                    bestQuest = 5002
                elif trackAccess[ToontownBattleGlobals.LURE_TRACK] == 1:
                    bestQuest = 5001
                else:
                    notify.warning('av %s has bogus trackAccess: %s' % (av.getDoId(), trackAccess))
                    return fixAndCallAgain()
        elif trackAccess[ToontownBattleGlobals.SOUND_TRACK] == 0:
            bestQuest = 5005
        elif trackAccess[ToontownBattleGlobals.HEAL_TRACK] == 0:
            bestQuest = 5006
        elif trackAccess[ToontownBattleGlobals.DROP_TRACK] == 0:
            bestQuest = 5007
        elif trackAccess[ToontownBattleGlobals.LURE_TRACK] == 0:
            bestQuest = 5008
        else:
            notify.warning('av %s has bogus trackAccess: %s' % (av.getDoId(), trackAccess))
            return fixAndCallAgain()
    else:
        if notify.getDebug():
            notify.debug('questPool for reward 400 had no dynamic choice, tier: %s' % tier)
        bestQuest = seededRandomChoice(Tier2Reward2QuestsDict[tier][400])
    if notify.getDebug():
        notify.debug('chooseTrackChoiceQuest: avId: %s trackAccess: %s tier: %s bestQuest: %s' % (av.getDoId(),
         trackAccess,
         tier,
         bestQuest))
    return bestQuest


def chooseMatchingQuest(tier, validQuestPool, rewardId, npc, av):
    questsMatchingReward = Tier2Reward2QuestsDict[tier].get(rewardId, [])
    if notify.getDebug():
        notify.debug('questsMatchingReward: %s tier: %s = %s' % (rewardId, tier, questsMatchingReward))
    if rewardId == 400 and QuestDict[questsMatchingReward[0]][QuestDictNextQuestIndex] == NA:
        bestQuest = chooseTrackChoiceQuest(tier, av)
        if notify.getDebug():
            notify.debug('single part track choice quest: %s tier: %s avId: %s trackAccess: %s bestQuest: %s' % (rewardId,
             tier,
             av.getDoId(),
             av.getTrackAccess(),
             bestQuest))
    else:
        validQuestsMatchingReward = PythonUtil.intersection(questsMatchingReward, validQuestPool)
        if notify.getDebug():
            notify.debug('validQuestsMatchingReward: %s tier: %s = %s' % (rewardId, tier, validQuestsMatchingReward))
        if validQuestsMatchingReward:
            bestQuest = seededRandomChoice(validQuestsMatchingReward)
        else:
            questsMatchingReward = Tier2Reward2QuestsDict[tier].get(AnyCashbotSuitPart, [])
            if notify.getDebug():
                notify.debug('questsMatchingReward: AnyCashbotSuitPart tier: %s = %s' % (tier, questsMatchingReward))
            validQuestsMatchingReward = PythonUtil.intersection(questsMatchingReward, validQuestPool)
            if validQuestsMatchingReward:
                if notify.getDebug():
                    notify.debug('validQuestsMatchingReward: AnyCashbotSuitPart tier: %s = %s' % (tier, validQuestsMatchingReward))
                bestQuest = seededRandomChoice(validQuestsMatchingReward)
            else:
                questsMatchingReward = Tier2Reward2QuestsDict[tier].get(AnyLawbotSuitPart, [])
                if notify.getDebug():
                    notify.debug('questsMatchingReward: AnyLawbotSuitPart tier: %s = %s' % (tier, questsMatchingReward))
                validQuestsMatchingReward = PythonUtil.intersection(questsMatchingReward, validQuestPool)
                if validQuestsMatchingReward:
                    if notify.getDebug():
                        notify.debug('validQuestsMatchingReward: AnyLawbotSuitPart tier: %s = %s' % (tier, validQuestsMatchingReward))
                    bestQuest = seededRandomChoice(validQuestsMatchingReward)
                else:
                    questsMatchingReward = Tier2Reward2QuestsDict[tier].get(Any, [])
                    if notify.getDebug():
                        notify.debug('questsMatchingReward: Any tier: %s = %s' % (tier, questsMatchingReward))
                    if not questsMatchingReward:
                        notify.warning('chooseMatchingQuests, no questsMatchingReward')
                        return None
                    validQuestsMatchingReward = PythonUtil.intersection(questsMatchingReward, validQuestPool)
                    if not validQuestsMatchingReward:
                        notify.warning('chooseMatchingQuests, no validQuestsMatchingReward')
                        return None
                    if notify.getDebug():
                        notify.debug('validQuestsMatchingReward: Any tier: %s = %s' % (tier, validQuestsMatchingReward))
                    bestQuest = seededRandomChoice(validQuestsMatchingReward)
    return bestQuest


def transformReward(baseRewardId, av):
    if baseRewardId == 900:
        trackId, progress = av.getTrackProgress()
        if trackId == -1:
            notify.warning('transformReward: asked to transform 900 but av is not training')
            actualRewardId = baseRewardId
        else:
            actualRewardId = 900 + 1 + trackId
        return actualRewardId
    elif baseRewardId > 800 and baseRewardId < 900:
        trackId, progress = av.getTrackProgress()
        if trackId < 0:
            notify.warning('transformReward: av: %s is training a track with none chosen!' % av.getDoId())
            return 601
        else:
            actualRewardId = baseRewardId + 200 + trackId * 100
            return actualRewardId
    else:
        return baseRewardId


def chooseBestQuests(tier, currentNpc, av):
    if isLoopingFinalTier(tier):
        rewardHistory = [questDesc[3] for questDesc in av.quests]
    else:
        rewardHistory = av.getRewardHistory()[1]
    seedRandomGen(currentNpc.getNpcId(), av.getDoId(), tier, rewardHistory)
    numChoices = getNumChoices(tier)
    rewards = getNextRewards(numChoices, tier, av)
    if not rewards:
        return []
    possibleQuests = []
    possibleRewards = list(rewards)
    if Any not in possibleRewards:
        possibleRewards.append(Any)
    for rewardId in possibleRewards:
        possibleQuests.extend(Tier2Reward2QuestsDict[tier].get(rewardId, []))

    validQuestPool = filterQuests(possibleQuests, currentNpc, av)
    if not validQuestPool:
        return []
    if numChoices == 0:
        numChoices = 1
    bestQuests = []
    for i in range(numChoices):
        if len(validQuestPool) == 0:
            break
        if len(rewards) == 0:
            break
        rewardId = rewards.pop(0)
        bestQuestId = chooseMatchingQuest(tier, validQuestPool, rewardId, currentNpc, av)
        if bestQuestId is None:
            continue
        validQuestPool.remove(bestQuestId)
        bestQuestToNpcId = getQuestToNpcId(bestQuestId)
        if bestQuestToNpcId == Any:
            bestQuestToNpcId = 2003
        elif bestQuestToNpcId == Same:
            if currentNpc.getHq():
                bestQuestToNpcId = ToonHQ
            else:
                bestQuestToNpcId = currentNpc.getNpcId()
        elif bestQuestToNpcId == ToonHQ:
            bestQuestToNpcId = ToonHQ
        bestQuests.append([bestQuestId, rewardId, bestQuestToNpcId])

    for quest in bestQuests:
        quest[1] = transformReward(quest[1], av)

    return bestQuests


def questExists(id):
    return id in QuestDict


def getQuest(id):
    questEntry = QuestDict.get(id)
    if questEntry:
        questDesc = questEntry[QuestDictDescIndex]
        questClass = questDesc[0]
        return questClass(id, questDesc[1:])
    else:
        return None
    return None


def getQuestClass(id):
    questEntry = QuestDict.get(id)
    if questEntry:
        return questEntry[QuestDictDescIndex][0]
    else:
        return None
    return None


def getVisitSCStrings(npcId):
    if npcId == ToonHQ:
        strings = [TTLocalizer.QuestsRecoverItemQuestSeeHQSCString, TTLocalizer.QuestsRecoverItemQuestGoToHQSCString]
    elif npcId == ToonTailor:
        strings = [TTLocalizer.QuestsTailorQuestSCString]
    elif npcId:
        npcName, hoodName, buildingArticle, buildingName, toStreet, streetName, isInPlayground = getNpcInfo(npcId)
        strings = [TTLocalizer.QuestsVisitQuestSeeSCString % npcName]
        if isInPlayground:
            strings.append(TTLocalizer.QuestsRecoverItemQuestGoToPlaygroundSCString % hoodName)
        else:
            strings.append(TTLocalizer.QuestsRecoverItemQuestGoToStreetSCString % {'to': toStreet,
             'street': streetName,
             'hood': hoodName})
        strings.extend([TTLocalizer.QuestsRecoverItemQuestVisitBuildingSCString % (buildingArticle, buildingName), TTLocalizer.QuestsRecoverItemQuestWhereIsBuildingSCString % (buildingArticle, buildingName)])
    return strings


def getFinishToonTaskSCStrings(npcId):
    return [TTLocalizer.QuestsGenericFinishSCString] + getVisitSCStrings(npcId)


def chooseQuestDialog(id, status):
    questDialog = getQuestDialog(id).get(status)
    if questDialog == None:
        if status == QUEST:
            quest = getQuest(id)
            questDialog = quest.getDefaultQuestDialog()
        else:
            questDialog = DefaultDialog[status]
    if type(questDialog) == type(()):
        return random.choice(questDialog)
    else:
        return questDialog
    return


def chooseQuestDialogReject():
    return random.choice(DefaultReject)


def chooseQuestDialogTierNotDone():
    return random.choice(DefaultTierNotDone)


def getNpcInfo(npcId):
    npcName = NPCToons.getNPCName(npcId)
    npcZone = NPCToons.getNPCZone(npcId)
    hoodId = ZoneUtil.getCanonicalHoodId(npcZone)
    hoodName = base.cr.hoodMgr.getFullnameFromId(hoodId)
    buildingArticle = NPCToons.getBuildingArticle(npcZone)
    buildingName = NPCToons.getBuildingTitle(npcZone)
    branchId = ZoneUtil.getCanonicalBranchZone(npcZone)
    toStreet = ToontownGlobals.StreetNames[branchId][0]
    streetName = ToontownGlobals.StreetNames[branchId][-1]
    isInPlayground = ZoneUtil.isPlayground(branchId)
    return (npcName,
     hoodName,
     buildingArticle,
     buildingName,
     toStreet,
     streetName,
     isInPlayground)


def getNpcLocationDialog(fromNpcId, toNpcId):
    if not toNpcId:
        return (None, None, None)
    fromNpcZone = None
    fromBranchId = None
    if fromNpcId:
        fromNpcZone = NPCToons.getNPCZone(fromNpcId)
        fromBranchId = ZoneUtil.getCanonicalBranchZone(fromNpcZone)
    toNpcZone = NPCToons.getNPCZone(toNpcId)
    toBranchId = ZoneUtil.getCanonicalBranchZone(toNpcZone)
    toNpcName, toHoodName, toBuildingArticle, toBuildingName, toStreetTo, toStreetName, isInPlayground = getNpcInfo(toNpcId)
    if fromBranchId == toBranchId:
        if isInPlayground:
            streetDesc = TTLocalizer.QuestsStreetLocationThisPlayground
        else:
            streetDesc = TTLocalizer.QuestsStreetLocationThisStreet
    elif isInPlayground:
        streetDesc = TTLocalizer.QuestsStreetLocationNamedPlayground % toHoodName
    else:
        streetDesc = TTLocalizer.QuestsStreetLocationNamedStreet % {'toStreetName': toStreetName,
         'toHoodName': toHoodName}
    paragraph = TTLocalizer.QuestsLocationParagraph % {'building': TTLocalizer.QuestsLocationBuilding % toNpcName,
     'buildingName': toBuildingName,
     'buildingVerb': TTLocalizer.QuestsLocationBuildingVerb,
     'street': streetDesc}
    return (paragraph, toBuildingName, streetDesc)


def fillInQuestNames(text, avName = None, fromNpcId = None, toNpcId = None):
    text = copy.deepcopy(text)
    if avName != None:
        text = text.replace('_avName_', avName)
    if toNpcId:
        if toNpcId == ToonHQ:
            toNpcName = TTLocalizer.QuestsHQOfficerFillin
            where = TTLocalizer.QuestsHQWhereFillin
            buildingName = TTLocalizer.QuestsHQBuildingNameFillin
            streetDesc = TTLocalizer.QuestsHQLocationNameFillin
        elif toNpcId == ToonTailor:
            toNpcName = TTLocalizer.QuestsTailorFillin
            where = TTLocalizer.QuestsTailorWhereFillin
            buildingName = TTLocalizer.QuestsTailorBuildingNameFillin
            streetDesc = TTLocalizer.QuestsTailorLocationNameFillin
        else:
            toNpcName = str(NPCToons.getNPCName(toNpcId))
            where, buildingName, streetDesc = getNpcLocationDialog(fromNpcId, toNpcId)
        text = text.replace('_toNpcName_', toNpcName)
        text = text.replace('_where_', where)
        text = text.replace('_buildingName_', buildingName)
        text = text.replace('_streetDesc_', streetDesc)
    return text


def getVisitingQuest():
    return VisitQuest(VISIT_QUEST_ID)


class Reward:
    def __init__(self, id, reward):
        self.id = id
        self.reward = reward

    def getId(self):
        return self.id

    def getType(self):
        return self.__class__

    def getAmount(self):
        return None

    def sendRewardAI(self, av):
        raise NotImplementedError

    def countReward(self, qrc):
        raise NotImplementedError

    def getString(self):
        return 'undefined'

    def getPosterString(self):
        return 'base class'


class MaxHpReward(Reward):
    def __init__(self, id, reward):
        Reward.__init__(self, id, reward)

    def getAmount(self):
        return self.reward[0]

    def sendRewardAI(self, av):
        maxHp = av.getMaxHp()
        maxHp = min(ToontownGlobals.MaxHpLimit, maxHp + self.getAmount())
        av.b_setMaxHp(maxHp)
        av.toonUp(maxHp)

    def countReward(self, qrc):
        qrc.maxHp += self.getAmount()

    def getString(self):
        return TTLocalizer.QuestsMaxHpReward % self.getAmount()

    def getPosterString(self):
        return TTLocalizer.QuestsMaxHpRewardPoster % self.getAmount()


class MoneyReward(Reward):
    def __init__(self, id, reward):
        Reward.__init__(self, id, reward)

    def getAmount(self):
        return self.reward[0]

    def sendRewardAI(self, av):
        money = av.getMoney()
        maxMoney = av.getMaxMoney()
        av.addMoney(self.getAmount())

    def countReward(self, qrc):
        qrc.money += self.getAmount()

    def getString(self):
        amt = self.getAmount()
        if amt == 1:
            return TTLocalizer.QuestsMoneyRewardSingular
        else:
            return TTLocalizer.QuestsMoneyRewardPlural % amt

    def getPosterString(self):
        amt = self.getAmount()
        if amt == 1:
            return TTLocalizer.QuestsMoneyRewardPosterSingular
        else:
            return TTLocalizer.QuestsMoneyRewardPosterPlural % amt


class MaxMoneyReward(Reward):
    def __init__(self, id, reward):
        Reward.__init__(self, id, reward)

    def getAmount(self):
        return self.reward[0]

    def sendRewardAI(self, av):
        av.b_setMaxMoney(self.getAmount())

    def countReward(self, qrc):
        qrc.maxMoney = self.getAmount()

    def getString(self):
        amt = self.getAmount()
        if amt == 1:
            return TTLocalizer.QuestsMaxMoneyRewardSingular
        else:
            return TTLocalizer.QuestsMaxMoneyRewardPlural % amt

    def getPosterString(self):
        amt = self.getAmount()
        if amt == 1:
            return TTLocalizer.QuestsMaxMoneyRewardPosterSingular
        else:
            return TTLocalizer.QuestsMaxMoneyRewardPosterPlural % amt


class MaxGagCarryReward(Reward):
    def __init__(self, id, reward):
        Reward.__init__(self, id, reward)

    def getAmount(self):
        return self.reward[0]

    def getName(self):
        return self.reward[1]

    def sendRewardAI(self, av):
        av.b_setMaxCarry(self.getAmount())

    def countReward(self, qrc):
        qrc.maxCarry = self.getAmount()

    def getString(self):
        name = self.getName()
        amt = self.getAmount()
        return TTLocalizer.QuestsMaxGagCarryReward % {'name': name,
         'num': amt}

    def getPosterString(self):
        name = self.getName()
        amt = self.getAmount()
        return TTLocalizer.QuestsMaxGagCarryRewardPoster % {'name': name,
         'num': amt}


class MaxQuestCarryReward(Reward):
    def __init__(self, id, reward):
        Reward.__init__(self, id, reward)

    def getAmount(self):
        return self.reward[0]

    def sendRewardAI(self, av):
        av.b_setQuestCarryLimit(self.getAmount())

    def countReward(self, qrc):
        qrc.questCarryLimit = self.getAmount()

    def getString(self):
        amt = self.getAmount()
        return TTLocalizer.QuestsMaxQuestCarryReward % amt

    def getPosterString(self):
        amt = self.getAmount()
        return TTLocalizer.QuestsMaxQuestCarryRewardPoster % amt


class TeleportReward(Reward):
    def __init__(self, id, reward):
        Reward.__init__(self, id, reward)

    def getZone(self):
        return self.reward[0]

    def sendRewardAI(self, av):
        av.addTeleportAccess(self.getZone())

    def countReward(self, qrc):
        qrc.addTeleportAccess(self.getZone())

    def getString(self):
        hoodName = ToontownGlobals.hoodNameMap[self.getZone()][-1]
        return TTLocalizer.QuestsTeleportReward % hoodName

    def getPosterString(self):
        hoodName = ToontownGlobals.hoodNameMap[self.getZone()][-1]
        return TTLocalizer.QuestsTeleportRewardPoster % hoodName


TrackTrainingQuotas = {ToontownBattleGlobals.HEAL_TRACK: 15,
 ToontownBattleGlobals.TRAP_TRACK: 15,
 ToontownBattleGlobals.LURE_TRACK: 15,
 ToontownBattleGlobals.SOUND_TRACK: 15,
 ToontownBattleGlobals.THROW_TRACK: 15,
 ToontownBattleGlobals.SQUIRT_TRACK: 15,
 ToontownBattleGlobals.DROP_TRACK: 15}

class TrackTrainingReward(Reward):
    def __init__(self, id, reward):
        Reward.__init__(self, id, reward)

    def getTrack(self):
        track = self.reward[0]
        if track == None:
            track = 0
        return track

    def sendRewardAI(self, av):
        av.b_setTrackProgress(self.getTrack(), 0)

    def countReward(self, qrc):
        qrc.trackProgressId = self.getTrack()
        qrc.trackProgress = 0

    def getString(self):
        trackName = ToontownBattleGlobals.Tracks[self.getTrack()].capitalize()
        return TTLocalizer.QuestsTrackTrainingReward % trackName

    def getPosterString(self):
        return TTLocalizer.QuestsTrackTrainingRewardPoster


class TrackProgressReward(Reward):
    def __init__(self, id, reward):
        Reward.__init__(self, id, reward)

    def getTrack(self):
        track = self.reward[0]
        if track == None:
            track = 0
        return track

    def getProgressIndex(self):
        return self.reward[1]

    def sendRewardAI(self, av):
        av.addTrackProgress(self.getTrack(), self.getProgressIndex())

    def countReward(self, qrc):
        qrc.addTrackProgress(self.getTrack(), self.getProgressIndex())

    def getString(self):
        trackName = ToontownBattleGlobals.Tracks[self.getTrack()].capitalize()
        return TTLocalizer.QuestsTrackProgressReward % {'frameNum': self.getProgressIndex(),
         'trackName': trackName}

    def getPosterString(self):
        trackName = ToontownBattleGlobals.Tracks[self.getTrack()].capitalize()
        return TTLocalizer.QuestsTrackProgressRewardPoster % {'trackName': trackName,
         'frameNum': self.getProgressIndex()}


class TrackCompleteReward(Reward):
    def __init__(self, id, reward):
        Reward.__init__(self, id, reward)

    def getTrack(self):
        track = self.reward[0]
        if track == None:
            track = 0
        return track

    def sendRewardAI(self, av):
        av.addTrackAccess(self.getTrack())
        av.clearTrackProgress()

    def countReward(self, qrc):
        qrc.addTrackAccess(self.getTrack())
        qrc.clearTrackProgress()

    def getString(self):
        trackName = ToontownBattleGlobals.Tracks[self.getTrack()].capitalize()
        return TTLocalizer.QuestsTrackCompleteReward % trackName

    def getPosterString(self):
        trackName = ToontownBattleGlobals.Tracks[self.getTrack()].capitalize()
        return TTLocalizer.QuestsTrackCompleteRewardPoster % trackName


class ClothingTicketReward(Reward):
    def __init__(self, id, reward):
        Reward.__init__(self, id, reward)

    def sendRewardAI(self, av):
        pass

    def countReward(self, qrc):
        pass

    def getString(self):
        return TTLocalizer.QuestsClothingTicketReward

    def getPosterString(self):
        return TTLocalizer.QuestsClothingTicketRewardPoster


class TIPClothingTicketReward(ClothingTicketReward):
    def __init__(self, id, reward):
        ClothingTicketReward.__init__(self, id, reward)

    def getString(self):
        return TTLocalizer.TIPQuestsClothingTicketReward

    def getPosterString(self):
        return TTLocalizer.TIPQuestsClothingTicketRewardPoster


class CheesyEffectReward(Reward):
    def __init__(self, id, reward):
        Reward.__init__(self, id, reward)

    def getEffect(self):
        return self.reward[0]

    def getHoodId(self):
        return self.reward[1]

    def getDurationMinutes(self):
        return self.reward[2]

    def sendRewardAI(self, av):
        expireTime = int(time.time() / 60 + 0.5) + self.getDurationMinutes()
        av.b_setCheesyEffect(self.getEffect(), self.getHoodId(), expireTime)

    def countReward(self, qrc):
        pass

    def getString(self):
        effect = self.getEffect()
        hoodId = self.getHoodId()
        duration = self.getDurationMinutes()
        string = TTLocalizer.CheesyEffectMinutes
        if duration > 90:
            duration = int((duration + 30) / 60)
            string = TTLocalizer.CheesyEffectHours
            if duration > 36:
                duration = int((duration + 12) / 24)
                string = TTLocalizer.CheesyEffectDays
        desc = TTLocalizer.CheesyEffectDescriptions[effect][1]
        if hoodId == 0:
            whileStr = ''
        elif hoodId == 1:
            whileStr = TTLocalizer.CheesyEffectExceptIn % TTLocalizer.ToontownCentral[-1]
        else:
            hoodName = base.cr.hoodMgr.getFullnameFromId(hoodId)
            whileStr = TTLocalizer.CheesyEffectWhileYouAreIn % hoodName
        if duration:
            return string % {'time': duration,
             'effectName': desc,
             'whileIn': whileStr}
        else:
            return TTLocalizer.CheesyEffectIndefinite % {'effectName': desc,
             'whileIn': whileStr}

    def getPosterString(self):
        effect = self.getEffect()
        desc = TTLocalizer.CheesyEffectDescriptions[effect][0]
        return TTLocalizer.QuestsCheesyEffectRewardPoster % desc


class CogSuitPartReward(Reward):
    trackNames = [TTLocalizer.Bossbot,
     TTLocalizer.Lawbot,
     TTLocalizer.Cashbot,
     TTLocalizer.Sellbot]

    def __init__(self, id, reward):
        Reward.__init__(self, id, reward)

    def getCogTrack(self):
        return self.reward[0]

    def getCogPart(self):
        return self.reward[1]

    def sendRewardAI(self, av):
        dept = self.getCogTrack()
        part = self.getCogPart()
        av.giveCogPart(part, dept)

    def countReward(self, qrc):
        pass

    def getCogTrackName(self):
        index = ToontownGlobals.cogDept2index[self.getCogTrack()]
        return CogSuitPartReward.trackNames[index]

    def getCogPartName(self):
        index = ToontownGlobals.cogDept2index[self.getCogTrack()]
        return CogDisguiseGlobals.PartsQueryNames[index][self.getCogPart()]

    def getString(self):
        return TTLocalizer.QuestsCogSuitPartReward % {'cogTrack': self.getCogTrackName(),
         'part': self.getCogPartName()}

    def getPosterString(self):
        return TTLocalizer.QuestsCogSuitPartRewardPoster % {'cogTrack': self.getCogTrackName(),
         'part': self.getCogPartName()}


def getRewardClass(id):
    reward = RewardDict.get(id)
    if reward:
        return reward[0]
    else:
        return None
    return None


def getReward(id):
    reward = RewardDict.get(id)
    if reward:
        rewardClass = reward[0]
        return rewardClass(id, reward[1:])
    else:
        notify.warning('getReward(): id %s not found.' % id)
        return None
    return None


def getNextRewards(numChoices, tier, av):
    rewardTier = list(getRewardsInTier(tier))
    optRewards = list(getOptionalRewardsInTier(tier))
    if av.getGameAccess() == OTPGlobals.AccessFull and tier == TT_TIER + 3:
        optRewards = []
    if isLoopingFinalTier(tier):
        rewardHistory = [questDesc[3] for questDesc in av.quests]
        if notify.getDebug():
            notify.debug('getNextRewards: current rewards (history): %s' % rewardHistory)
    else:
        rewardHistory = av.getRewardHistory()[1]
        if notify.getDebug():
            notify.debug('getNextRewards: rewardHistory: %s' % rewardHistory)
    if notify.getDebug():
        notify.debug('getNextRewards: rewardTier: %s' % rewardTier)
        notify.debug('getNextRewards: numChoices: %s' % numChoices)
    for rewardId in getRewardsInTier(tier):
        if getRewardClass(rewardId) == CogSuitPartReward:
            deptStr = RewardDict.get(rewardId)[1]
            cogPart = RewardDict.get(rewardId)[2]
            dept = ToontownGlobals.cogDept2index[deptStr]
            if av.hasCogPart(cogPart, dept):
                notify.debug('getNextRewards: already has cog part: %s dept: %s' % (cogPart, dept))
                rewardTier.remove(rewardId)
            else:
                notify.debug('getNextRewards: keeping quest for cog part: %s dept: %s' % (cogPart, dept))

    for rewardId in rewardHistory:
        if rewardId in rewardTier:
            rewardTier.remove(rewardId)
        elif rewardId in optRewards:
            optRewards.remove(rewardId)
        elif rewardId in (901, 902, 903, 904, 905, 906, 907):
            genericRewardId = 900
            if genericRewardId in rewardTier:
                rewardTier.remove(genericRewardId)
        elif rewardId > 1000 and rewardId < 1699:
            index = rewardId % 100
            genericRewardId = 800 + index
            if genericRewardId in rewardTier:
                rewardTier.remove(genericRewardId)

    if numChoices == 0:
        if len(rewardTier) == 0:
            return []
        else:
            return [rewardTier[0]]
    rewardPool = rewardTier[:numChoices]
    for i in range(len(rewardPool), numChoices * 2):
        if optRewards:
            optionalReward = seededRandomChoice(optRewards)
            optRewards.remove(optionalReward)
            rewardPool.append(optionalReward)
        else:
            break

    if notify.getDebug():
        notify.debug('getNextRewards: starting reward pool: %s' % rewardPool)
    if len(rewardPool) == 0:
        if notify.getDebug():
            notify.debug('getNextRewards: no rewards left at all')
        return []
    finalRewardPool = [rewardPool.pop(0)]
    for i in range(numChoices - 1):
        if len(rewardPool) == 0:
            break
        selectedReward = seededRandomChoice(rewardPool)
        rewardPool.remove(selectedReward)
        finalRewardPool.append(selectedReward)

    if notify.getDebug():
        notify.debug('getNextRewards: final reward pool: %s' % finalRewardPool)
    return finalRewardPool


RewardDict = {100: (MaxHpReward, 1),
 101: (MaxHpReward, 2),
 102: (MaxHpReward, 3),
 103: (MaxHpReward, 4),
 104: (MaxHpReward, 5),
 105: (MaxHpReward, 6),
 106: (MaxHpReward, 7),
 107: (MaxHpReward, 8),
 108: (MaxHpReward, 9),
 109: (MaxHpReward, 10),
 200: (MaxGagCarryReward, 25, TTLocalizer.QuestsMediumPouch),
 201: (MaxGagCarryReward, 30, TTLocalizer.QuestsLargePouch),
 202: (MaxGagCarryReward, 35, TTLocalizer.QuestsSmallBag),
 203: (MaxGagCarryReward, 40, TTLocalizer.QuestsMediumBag),
 204: (MaxGagCarryReward, 50, TTLocalizer.QuestsLargeBag),
 205: (MaxGagCarryReward, 60, TTLocalizer.QuestsSmallBackpack),
 206: (MaxGagCarryReward, 70, TTLocalizer.QuestsMediumBackpack),
 207: (MaxGagCarryReward, 80, TTLocalizer.QuestsLargeBackpack),
 300: (TeleportReward, ToontownGlobals.ToontownCentral),
 301: (TeleportReward, ToontownGlobals.DonaldsDock),
 302: (TeleportReward, ToontownGlobals.DaisyGardens),
 303: (TeleportReward, ToontownGlobals.MinniesMelodyland),
 304: (TeleportReward, ToontownGlobals.TheBrrrgh),
 305: (TeleportReward, ToontownGlobals.DonaldsDreamland),
 400: (TrackTrainingReward, None),
 401: (TrackTrainingReward, ToontownBattleGlobals.HEAL_TRACK),
 402: (TrackTrainingReward, ToontownBattleGlobals.TRAP_TRACK),
 403: (TrackTrainingReward, ToontownBattleGlobals.LURE_TRACK),
 404: (TrackTrainingReward, ToontownBattleGlobals.SOUND_TRACK),
 405: (TrackTrainingReward, ToontownBattleGlobals.THROW_TRACK),
 406: (TrackTrainingReward, ToontownBattleGlobals.SQUIRT_TRACK),
 407: (TrackTrainingReward, ToontownBattleGlobals.DROP_TRACK),
 500: (MaxQuestCarryReward, 2),
 501: (MaxQuestCarryReward, 3),
 502: (MaxQuestCarryReward, 4),
 600: (MoneyReward, 10),
 601: (MoneyReward, 20),
 602: (MoneyReward, 40),
 603: (MoneyReward, 60),
 604: (MoneyReward, 100),
 605: (MoneyReward, 150),
 606: (MoneyReward, 200),
 607: (MoneyReward, 250),
 608: (MoneyReward, 300),
 609: (MoneyReward, 400),
 610: (MoneyReward, 500),
 611: (MoneyReward, 600),
 612: (MoneyReward, 700),
 613: (MoneyReward, 800),
 614: (MoneyReward, 900),
 615: (MoneyReward, 1000),
 616: (MoneyReward, 1100),
 617: (MoneyReward, 1200),
 618: (MoneyReward, 1300),
 619: (MoneyReward, 1400),
 620: (MoneyReward, 1500),
 621: (MoneyReward, 1750),
 622: (MoneyReward, 2000),
 623: (MoneyReward, 2500),
 700: (MaxMoneyReward, 50),
 701: (MaxMoneyReward, 60),
 702: (MaxMoneyReward, 80),
 703: (MaxMoneyReward, 100),
 704: (MaxMoneyReward, 120),
 705: (MaxMoneyReward, 150),
 706: (MaxMoneyReward, 200),
 707: (MaxMoneyReward, 250),
 801: (TrackProgressReward, None, 1),
 802: (TrackProgressReward, None, 2),
 803: (TrackProgressReward, None, 3),
 804: (TrackProgressReward, None, 4),
 805: (TrackProgressReward, None, 5),
 806: (TrackProgressReward, None, 6),
 807: (TrackProgressReward, None, 7),
 808: (TrackProgressReward, None, 8),
 809: (TrackProgressReward, None, 9),
 810: (TrackProgressReward, None, 10),
 811: (TrackProgressReward, None, 11),
 812: (TrackProgressReward, None, 12),
 813: (TrackProgressReward, None, 13),
 814: (TrackProgressReward, None, 14),
 815: (TrackProgressReward, None, 15),
 110: (TIPClothingTicketReward,),
 1000: (ClothingTicketReward,),
 1001: (TrackProgressReward, ToontownBattleGlobals.HEAL_TRACK, 1),
 1002: (TrackProgressReward, ToontownBattleGlobals.HEAL_TRACK, 2),
 1003: (TrackProgressReward, ToontownBattleGlobals.HEAL_TRACK, 3),
 1004: (TrackProgressReward, ToontownBattleGlobals.HEAL_TRACK, 4),
 1005: (TrackProgressReward, ToontownBattleGlobals.HEAL_TRACK, 5),
 1006: (TrackProgressReward, ToontownBattleGlobals.HEAL_TRACK, 6),
 1007: (TrackProgressReward, ToontownBattleGlobals.HEAL_TRACK, 7),
 1008: (TrackProgressReward, ToontownBattleGlobals.HEAL_TRACK, 8),
 1009: (TrackProgressReward, ToontownBattleGlobals.HEAL_TRACK, 9),
 1010: (TrackProgressReward, ToontownBattleGlobals.HEAL_TRACK, 10),
 1011: (TrackProgressReward, ToontownBattleGlobals.HEAL_TRACK, 11),
 1012: (TrackProgressReward, ToontownBattleGlobals.HEAL_TRACK, 12),
 1013: (TrackProgressReward, ToontownBattleGlobals.HEAL_TRACK, 13),
 1014: (TrackProgressReward, ToontownBattleGlobals.HEAL_TRACK, 14),
 1015: (TrackProgressReward, ToontownBattleGlobals.HEAL_TRACK, 15),
 1101: (TrackProgressReward, ToontownBattleGlobals.TRAP_TRACK, 1),
 1102: (TrackProgressReward, ToontownBattleGlobals.TRAP_TRACK, 2),
 1103: (TrackProgressReward, ToontownBattleGlobals.TRAP_TRACK, 3),
 1104: (TrackProgressReward, ToontownBattleGlobals.TRAP_TRACK, 4),
 1105: (TrackProgressReward, ToontownBattleGlobals.TRAP_TRACK, 5),
 1106: (TrackProgressReward, ToontownBattleGlobals.TRAP_TRACK, 6),
 1107: (TrackProgressReward, ToontownBattleGlobals.TRAP_TRACK, 7),
 1108: (TrackProgressReward, ToontownBattleGlobals.TRAP_TRACK, 8),
 1109: (TrackProgressReward, ToontownBattleGlobals.TRAP_TRACK, 9),
 1110: (TrackProgressReward, ToontownBattleGlobals.TRAP_TRACK, 10),
 1111: (TrackProgressReward, ToontownBattleGlobals.TRAP_TRACK, 11),
 1112: (TrackProgressReward, ToontownBattleGlobals.TRAP_TRACK, 12),
 1113: (TrackProgressReward, ToontownBattleGlobals.TRAP_TRACK, 13),
 1114: (TrackProgressReward, ToontownBattleGlobals.TRAP_TRACK, 14),
 1115: (TrackProgressReward, ToontownBattleGlobals.TRAP_TRACK, 15),
 1201: (TrackProgressReward, ToontownBattleGlobals.LURE_TRACK, 1),
 1202: (TrackProgressReward, ToontownBattleGlobals.LURE_TRACK, 2),
 1203: (TrackProgressReward, ToontownBattleGlobals.LURE_TRACK, 3),
 1204: (TrackProgressReward, ToontownBattleGlobals.LURE_TRACK, 4),
 1205: (TrackProgressReward, ToontownBattleGlobals.LURE_TRACK, 5),
 1206: (TrackProgressReward, ToontownBattleGlobals.LURE_TRACK, 6),
 1207: (TrackProgressReward, ToontownBattleGlobals.LURE_TRACK, 7),
 1208: (TrackProgressReward, ToontownBattleGlobals.LURE_TRACK, 8),
 1209: (TrackProgressReward, ToontownBattleGlobals.LURE_TRACK, 9),
 1210: (TrackProgressReward, ToontownBattleGlobals.LURE_TRACK, 10),
 1211: (TrackProgressReward, ToontownBattleGlobals.LURE_TRACK, 11),
 1212: (TrackProgressReward, ToontownBattleGlobals.LURE_TRACK, 12),
 1213: (TrackProgressReward, ToontownBattleGlobals.LURE_TRACK, 13),
 1214: (TrackProgressReward, ToontownBattleGlobals.LURE_TRACK, 14),
 1215: (TrackProgressReward, ToontownBattleGlobals.LURE_TRACK, 15),
 1301: (TrackProgressReward, ToontownBattleGlobals.SOUND_TRACK, 1),
 1302: (TrackProgressReward, ToontownBattleGlobals.SOUND_TRACK, 2),
 1303: (TrackProgressReward, ToontownBattleGlobals.SOUND_TRACK, 3),
 1304: (TrackProgressReward, ToontownBattleGlobals.SOUND_TRACK, 4),
 1305: (TrackProgressReward, ToontownBattleGlobals.SOUND_TRACK, 5),
 1306: (TrackProgressReward, ToontownBattleGlobals.SOUND_TRACK, 6),
 1307: (TrackProgressReward, ToontownBattleGlobals.SOUND_TRACK, 7),
 1308: (TrackProgressReward, ToontownBattleGlobals.SOUND_TRACK, 8),
 1309: (TrackProgressReward, ToontownBattleGlobals.SOUND_TRACK, 9),
 1310: (TrackProgressReward, ToontownBattleGlobals.SOUND_TRACK, 10),
 1311: (TrackProgressReward, ToontownBattleGlobals.SOUND_TRACK, 11),
 1312: (TrackProgressReward, ToontownBattleGlobals.SOUND_TRACK, 12),
 1313: (TrackProgressReward, ToontownBattleGlobals.SOUND_TRACK, 13),
 1314: (TrackProgressReward, ToontownBattleGlobals.SOUND_TRACK, 14),
 1315: (TrackProgressReward, ToontownBattleGlobals.SOUND_TRACK, 15),
 1601: (TrackProgressReward, ToontownBattleGlobals.DROP_TRACK, 1),
 1602: (TrackProgressReward, ToontownBattleGlobals.DROP_TRACK, 2),
 1603: (TrackProgressReward, ToontownBattleGlobals.DROP_TRACK, 3),
 1604: (TrackProgressReward, ToontownBattleGlobals.DROP_TRACK, 4),
 1605: (TrackProgressReward, ToontownBattleGlobals.DROP_TRACK, 5),
 1606: (TrackProgressReward, ToontownBattleGlobals.DROP_TRACK, 6),
 1607: (TrackProgressReward, ToontownBattleGlobals.DROP_TRACK, 7),
 1608: (TrackProgressReward, ToontownBattleGlobals.DROP_TRACK, 8),
 1609: (TrackProgressReward, ToontownBattleGlobals.DROP_TRACK, 9),
 1610: (TrackProgressReward, ToontownBattleGlobals.DROP_TRACK, 10),
 1611: (TrackProgressReward, ToontownBattleGlobals.DROP_TRACK, 11),
 1612: (TrackProgressReward, ToontownBattleGlobals.DROP_TRACK, 12),
 1613: (TrackProgressReward, ToontownBattleGlobals.DROP_TRACK, 13),
 1614: (TrackProgressReward, ToontownBattleGlobals.DROP_TRACK, 14),
 1615: (TrackProgressReward, ToontownBattleGlobals.DROP_TRACK, 15),
 900: (TrackCompleteReward, None),
 901: (TrackCompleteReward, ToontownBattleGlobals.HEAL_TRACK),
 902: (TrackCompleteReward, ToontownBattleGlobals.TRAP_TRACK),
 903: (TrackCompleteReward, ToontownBattleGlobals.LURE_TRACK),
 904: (TrackCompleteReward, ToontownBattleGlobals.SOUND_TRACK),
 905: (TrackCompleteReward, ToontownBattleGlobals.THROW_TRACK),
 906: (TrackCompleteReward, ToontownBattleGlobals.SQUIRT_TRACK),
 907: (TrackCompleteReward, ToontownBattleGlobals.DROP_TRACK),
 2205: (CheesyEffectReward,
        ToontownGlobals.CEBigToon,
        2000,
        10),
 2206: (CheesyEffectReward,
        ToontownGlobals.CESmallToon,
        2000,
        10),
 2101: (CheesyEffectReward,
        ToontownGlobals.CEBigHead,
        1000,
        10),
 2102: (CheesyEffectReward,
        ToontownGlobals.CESmallHead,
        1000,
        10),
 2105: (CheesyEffectReward,
        ToontownGlobals.CEBigToon,
        0,
        20),
 2106: (CheesyEffectReward,
        ToontownGlobals.CESmallToon,
        0,
        20),
 2501: (CheesyEffectReward,
        ToontownGlobals.CEBigHead,
        5000,
        60),
 2502: (CheesyEffectReward,
        ToontownGlobals.CESmallHead,
        5000,
        60),
 2503: (CheesyEffectReward,
        ToontownGlobals.CEBigLegs,
        5000,
        20),
 2504: (CheesyEffectReward,
        ToontownGlobals.CESmallLegs,
        5000,
        20),
 2505: (CheesyEffectReward,
        ToontownGlobals.CEBigToon,
        0,
        60),
 2506: (CheesyEffectReward,
        ToontownGlobals.CESmallToon,
        0,
        60),
 2401: (CheesyEffectReward,
        ToontownGlobals.CEBigHead,
        1,
        120),
 2402: (CheesyEffectReward,
        ToontownGlobals.CESmallHead,
        1,
        120),
 2403: (CheesyEffectReward,
        ToontownGlobals.CEBigLegs,
        4000,
        60),
 2404: (CheesyEffectReward,
        ToontownGlobals.CESmallLegs,
        4000,
        60),
 2405: (CheesyEffectReward,
        ToontownGlobals.CEBigToon,
        0,
        120),
 2406: (CheesyEffectReward,
        ToontownGlobals.CESmallToon,
        0,
        120),
 2407: (CheesyEffectReward,
        ToontownGlobals.CEFlatPortrait,
        4000,
        30),
 2408: (CheesyEffectReward,
        ToontownGlobals.CEFlatProfile,
        4000,
        30),
 2409: (CheesyEffectReward,
        ToontownGlobals.CETransparent,
        4000,
        30),
 2410: (CheesyEffectReward,
        ToontownGlobals.CENoColor,
        4000,
        30),
 2301: (CheesyEffectReward,
        ToontownGlobals.CEBigHead,
        1,
        360),
 2302: (CheesyEffectReward,
        ToontownGlobals.CESmallHead,
        1,
        360),
 2303: (CheesyEffectReward,
        ToontownGlobals.CEBigLegs,
        1,
        360),
 2304: (CheesyEffectReward,
        ToontownGlobals.CESmallLegs,
        1,
        360),
 2305: (CheesyEffectReward,
        ToontownGlobals.CEBigToon,
        0,
        1440),
 2306: (CheesyEffectReward,
        ToontownGlobals.CESmallToon,
        0,
        1440),
 2307: (CheesyEffectReward,
        ToontownGlobals.CEFlatPortrait,
        3000,
        240),
 2308: (CheesyEffectReward,
        ToontownGlobals.CEFlatProfile,
        3000,
        240),
 2309: (CheesyEffectReward,
        ToontownGlobals.CETransparent,
        1,
        120),
 2310: (CheesyEffectReward,
        ToontownGlobals.CENoColor,
        1,
        120),
 2311: (CheesyEffectReward,
        ToontownGlobals.CEInvisible,
        3000,
        120),
 2900: (CheesyEffectReward,
        ToontownGlobals.CENormal,
        0,
        0),
 2901: (CheesyEffectReward,
        ToontownGlobals.CEBigHead,
        1,
        1440),
 2902: (CheesyEffectReward,
        ToontownGlobals.CESmallHead,
        1,
        1440),
 2903: (CheesyEffectReward,
        ToontownGlobals.CEBigLegs,
        1,
        1440),
 2904: (CheesyEffectReward,
        ToontownGlobals.CESmallLegs,
        1,
        1440),
 2905: (CheesyEffectReward,
        ToontownGlobals.CEBigToon,
        0,
        1440),
 2906: (CheesyEffectReward,
        ToontownGlobals.CESmallToon,
        0,
        1440),
 2907: (CheesyEffectReward,
        ToontownGlobals.CEFlatPortrait,
        1,
        1440),
 2908: (CheesyEffectReward,
        ToontownGlobals.CEFlatProfile,
        1,
        1440),
 2909: (CheesyEffectReward,
        ToontownGlobals.CETransparent,
        1,
        1440),
 2910: (CheesyEffectReward,
        ToontownGlobals.CENoColor,
        1,
        1440),
 2911: (CheesyEffectReward,
        ToontownGlobals.CEInvisible,
        1,
        1440),
 2920: (CheesyEffectReward,
        ToontownGlobals.CENormal,
        0,
        0),
 2921: (CheesyEffectReward,
        ToontownGlobals.CEBigHead,
        1,
        2880),
 2922: (CheesyEffectReward,
        ToontownGlobals.CESmallHead,
        1,
        2880),
 2923: (CheesyEffectReward,
        ToontownGlobals.CEBigLegs,
        1,
        2880),
 2924: (CheesyEffectReward,
        ToontownGlobals.CESmallLegs,
        1,
        2880),
 2925: (CheesyEffectReward,
        ToontownGlobals.CEBigToon,
        0,
        2880),
 2926: (CheesyEffectReward,
        ToontownGlobals.CESmallToon,
        0,
        2880),
 2927: (CheesyEffectReward,
        ToontownGlobals.CEFlatPortrait,
        1,
        2880),
 2928: (CheesyEffectReward,
        ToontownGlobals.CEFlatProfile,
        1,
        2880),
 2929: (CheesyEffectReward,
        ToontownGlobals.CETransparent,
        1,
        2880),
 2930: (CheesyEffectReward,
        ToontownGlobals.CENoColor,
        1,
        2880),
 2931: (CheesyEffectReward,
        ToontownGlobals.CEInvisible,
        1,
        2880),
 2940: (CheesyEffectReward,
        ToontownGlobals.CENormal,
        0,
        0),
 2941: (CheesyEffectReward,
        ToontownGlobals.CEBigHead,
        1,
        10080),
 2942: (CheesyEffectReward,
        ToontownGlobals.CESmallHead,
        1,
        10080),
 2943: (CheesyEffectReward,
        ToontownGlobals.CEBigLegs,
        1,
        10080),
 2944: (CheesyEffectReward,
        ToontownGlobals.CESmallLegs,
        1,
        10080),
 2945: (CheesyEffectReward,
        ToontownGlobals.CEBigToon,
        0,
        10080),
 2946: (CheesyEffectReward,
        ToontownGlobals.CESmallToon,
        0,
        10080),
 2947: (CheesyEffectReward,
        ToontownGlobals.CEFlatPortrait,
        1,
        10080),
 2948: (CheesyEffectReward,
        ToontownGlobals.CEFlatProfile,
        1,
        10080),
 2949: (CheesyEffectReward,
        ToontownGlobals.CETransparent,
        1,
        10080),
 2950: (CheesyEffectReward,
        ToontownGlobals.CENoColor,
        1,
        10080),
 2951: (CheesyEffectReward,
        ToontownGlobals.CEInvisible,
        1,
        10080),
 2960: (CheesyEffectReward,
        ToontownGlobals.CENormal,
        0,
        0),
 2961: (CheesyEffectReward,
        ToontownGlobals.CEBigHead,
        1,
        43200),
 2962: (CheesyEffectReward,
        ToontownGlobals.CESmallHead,
        1,
        43200),
 2963: (CheesyEffectReward,
        ToontownGlobals.CEBigLegs,
        1,
        43200),
 2964: (CheesyEffectReward,
        ToontownGlobals.CESmallLegs,
        1,
        43200),
 2965: (CheesyEffectReward,
        ToontownGlobals.CEBigToon,
        0,
        43200),
 2966: (CheesyEffectReward,
        ToontownGlobals.CESmallToon,
        0,
        43200),
 2967: (CheesyEffectReward,
        ToontownGlobals.CEFlatPortrait,
        1,
        43200),
 2968: (CheesyEffectReward,
        ToontownGlobals.CEFlatProfile,
        1,
        43200),
 2969: (CheesyEffectReward,
        ToontownGlobals.CETransparent,
        1,
        43200),
 2970: (CheesyEffectReward,
        ToontownGlobals.CENoColor,
        1,
        43200),
 2971: (CheesyEffectReward,
        ToontownGlobals.CEInvisible,
        1,
        43200),
 4000: (CogSuitPartReward, 'm', CogDisguiseGlobals.leftLegUpper),
 4001: (CogSuitPartReward, 'm', CogDisguiseGlobals.leftLegLower),
 4002: (CogSuitPartReward, 'm', CogDisguiseGlobals.leftLegFoot),
 4003: (CogSuitPartReward, 'm', CogDisguiseGlobals.rightLegUpper),
 4004: (CogSuitPartReward, 'm', CogDisguiseGlobals.rightLegLower),
 4005: (CogSuitPartReward, 'm', CogDisguiseGlobals.rightLegFoot),
 4006: (CogSuitPartReward, 'm', CogDisguiseGlobals.upperTorso),
 4007: (CogSuitPartReward, 'm', CogDisguiseGlobals.torsoPelvis),
 4008: (CogSuitPartReward, 'm', CogDisguiseGlobals.leftArmUpper),
 4009: (CogSuitPartReward, 'm', CogDisguiseGlobals.leftArmLower),
 4010: (CogSuitPartReward, 'm', CogDisguiseGlobals.rightArmUpper),
 4011: (CogSuitPartReward, 'm', CogDisguiseGlobals.rightArmLower),
 4100: (CogSuitPartReward, 'l', CogDisguiseGlobals.leftLegUpper),
 4101: (CogSuitPartReward, 'l', CogDisguiseGlobals.leftLegLower),
 4102: (CogSuitPartReward, 'l', CogDisguiseGlobals.leftLegFoot),
 4103: (CogSuitPartReward, 'l', CogDisguiseGlobals.rightLegUpper),
 4104: (CogSuitPartReward, 'l', CogDisguiseGlobals.rightLegLower),
 4105: (CogSuitPartReward, 'l', CogDisguiseGlobals.rightLegFoot),
 4106: (CogSuitPartReward, 'l', CogDisguiseGlobals.upperTorso),
 4107: (CogSuitPartReward, 'l', CogDisguiseGlobals.torsoPelvis),
 4108: (CogSuitPartReward, 'l', CogDisguiseGlobals.leftArmUpper),
 4109: (CogSuitPartReward, 'l', CogDisguiseGlobals.leftArmLower),
 4110: (CogSuitPartReward, 'l', CogDisguiseGlobals.leftArmHand),
 4111: (CogSuitPartReward, 'l', CogDisguiseGlobals.rightArmUpper),
 4112: (CogSuitPartReward, 'l', CogDisguiseGlobals.rightArmLower),
 4113: (CogSuitPartReward, 'l', CogDisguiseGlobals.rightArmHand),
 4200: (CogSuitPartReward, 'c', CogDisguiseGlobals.leftLegUpper),
 4201: (CogSuitPartReward, 'c', CogDisguiseGlobals.leftLegLower),
 4202: (CogSuitPartReward, 'c', CogDisguiseGlobals.leftLegFoot),
 4203: (CogSuitPartReward, 'c', CogDisguiseGlobals.rightLegUpper),
 4204: (CogSuitPartReward, 'c', CogDisguiseGlobals.rightLegLower),
 4205: (CogSuitPartReward, 'c', CogDisguiseGlobals.rightLegFoot),
 4206: (CogSuitPartReward, 'c', CogDisguiseGlobals.torsoLeftShoulder),
 4207: (CogSuitPartReward, 'c', CogDisguiseGlobals.torsoRightShoulder),
 4208: (CogSuitPartReward, 'c', CogDisguiseGlobals.torsoChest),
 4209: (CogSuitPartReward, 'c', CogDisguiseGlobals.torsoHealthMeter),
 4210: (CogSuitPartReward, 'c', CogDisguiseGlobals.torsoPelvis),
 4211: (CogSuitPartReward, 'c', CogDisguiseGlobals.leftArmUpper),
 4212: (CogSuitPartReward, 'c', CogDisguiseGlobals.leftArmLower),
 4213: (CogSuitPartReward, 'c', CogDisguiseGlobals.leftArmHand),
 4214: (CogSuitPartReward, 'c', CogDisguiseGlobals.rightArmUpper),
 4215: (CogSuitPartReward, 'c', CogDisguiseGlobals.rightArmLower),
 4216: (CogSuitPartReward, 'c', CogDisguiseGlobals.rightArmHand)}

def getNumTiers():
    return len(RequiredRewardTrackDict) - 1


def isLoopingFinalTier(tier):
    return tier == LOOPING_FINAL_TIER


def getRewardsInTier(tier):
    return RequiredRewardTrackDict.get(tier, [])


def getNumRewardsInTier(tier):
    return len(RequiredRewardTrackDict.get(tier, []))


def rewardTierExists(tier):
    return tier in RequiredRewardTrackDict


def getOptionalRewardsInTier(tier):
    return OptionalRewardTrackDict.get(tier, [])


def getRewardIdFromTrackId(trackId):
    return 401 + trackId


RequiredRewardTrackDict = {TT_TIER: (100,),
 TT_TIER + 1: (400,),
 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),
 TT_TIER + 3: (900,),
 DD_TIER: (400,),
 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),
 DD_TIER + 2: (900,),
 DG_TIER: (100,
           202,
           101,
           102,
           100,
           101,
           501,
           702,
           302),
 MM_TIER: (400,),
 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),
 MM_TIER + 2: (900,),
 BR_TIER: (400,),
 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),
 BR_TIER + 2: (900,),
 DL_TIER: (4000,
           100,
           205,
           101,
           102,
           705,
           103,
           305,
           4001,
           4002),
 DL_TIER + 1: (100,
               206,
               101,
               4003,
               4004,
               4005,
               102,
               4006,
               4007,
               4008,
               706,
               103,
               4009,
               4010,
               4011,
               4000,
               4001,
               4002),
 DL_TIER + 2: (4006,
               4007,
               4008,
               100,
               4000,
               4001,
               4002,
               4003,
               101,
               4004,
               4005,
               4009,
               102,
               103,
               4010,
               4011),
 DL_TIER + 3: (4009,
               4010,
               4011,
               100,
               4000,
               4001,
               101,
               4002,
               4003,
               102,
               4004,
               4005,
               102,
               4006,
               4007,
               707,
               207,
               4008),
 LAWBOT_HQ_TIER: (4100,),
 LAWBOT_HQ_TIER + 1: (4101,),
 LAWBOT_HQ_TIER + 2: (4102,),
 LAWBOT_HQ_TIER + 3: (4103,),
 LAWBOT_HQ_TIER + 4: (4104,),
 LAWBOT_HQ_TIER + 5: (4105,),
 LAWBOT_HQ_TIER + 6: (4106,),
 LAWBOT_HQ_TIER + 7: (4107,),
 LAWBOT_HQ_TIER + 8: (4108,),
 LAWBOT_HQ_TIER + 9: (4109,),
 LAWBOT_HQ_TIER + 10: (4110,),
 LAWBOT_HQ_TIER + 11: (4111,),
 LAWBOT_HQ_TIER + 12: (4112,),
 LAWBOT_HQ_TIER + 13: (4113,),
 BOSSBOT_HQ_TIER: (4200,),
 BOSSBOT_HQ_TIER + 1: (4201,),
 BOSSBOT_HQ_TIER + 2: (4202,),
 BOSSBOT_HQ_TIER + 3: (4203,),
 BOSSBOT_HQ_TIER + 4: (4204,),
 BOSSBOT_HQ_TIER + 5: (4205,),
 BOSSBOT_HQ_TIER + 6: (4206,),
 BOSSBOT_HQ_TIER + 7: (4207,),
 BOSSBOT_HQ_TIER + 8: (4208,),
 BOSSBOT_HQ_TIER + 9: (4209,),
 BOSSBOT_HQ_TIER + 10: (4210,),
 BOSSBOT_HQ_TIER + 11: (4211,),
 BOSSBOT_HQ_TIER + 12: (4212,),
 BOSSBOT_HQ_TIER + 13: (4213,),
 BOSSBOT_HQ_TIER + 14: (4214,),
 BOSSBOT_HQ_TIER + 15: (4215,),
 BOSSBOT_HQ_TIER + 16: (4216,),
 ELDER_TIER: (4000,
              4001,
              4002,
              4003,
              4004,
              4005,
              4006,
              4007,
              4008,
              4009,
              4010,
              4011)}
OptionalRewardTrackDict = {TT_TIER: (),
 TT_TIER + 1: (),
 TT_TIER + 2: (1000,
               601,
               601,
               602,
               602,
               2205,
               2206,
               2205,
               2206),
 TT_TIER + 3: (601,
               601,
               602,
               602,
               2205,
               2206,
               2205,
               2206),
 DD_TIER: (1000,
           602,
           602,
           603,
           603,
           2101,
           2102,
           2105,
           2106),
 DD_TIER + 1: (1000,
               602,
               602,
               603,
               603,
               2101,
               2102,
               2105,
               2106),
 DD_TIER + 2: (1000,
               602,
               602,
               603,
               603,
               2101,
               2102,
               2105,
               2106),
 DG_TIER: (1000,
           603,
           603,
           604,
           604,
           2501,
           2502,
           2503,
           2504,
           2505,
           2506),
 MM_TIER: (1000,
           604,
           604,
           605,
           605,
           2403,
           2404,
           2405,
           2406,
           2407,
           2408,
           2409),
 MM_TIER + 1: (1000,
               604,
               604,
               605,
               605,
               2403,
               2404,
               2405,
               2406,
               2407,
               2408,
               2409),
 MM_TIER + 2: (1000,
               604,
               604,
               605,
               605,
               2403,
               2404,
               2405,
               2406,
               2407,
               2408,
               2409),
 BR_TIER: (1000,
           606,
           606,
           606,
           606,
           606,
           607,
           607,
           607,
           607,
           607,
           2305,
           2306,
           2307,
           2308,
           2309,
           2310,
           2311),
 BR_TIER + 1: (1000,
               606,
               606,
               606,
               606,
               606,
               607,
               607,
               607,
               607,
               607,
               2305,
               2306,
               2307,
               2308,
               2309,
               2310,
               2311),
 BR_TIER + 2: (1000,
               606,
               606,
               606,
               606,
               606,
               607,
               607,
               607,
               607,
               607,
               2305,
               2306,
               2307,
               2308,
               2309,
               2310,
               2311),
 DL_TIER: (607,
           607,
           607,
           607,
           608,
           608,
           608,
           608,
           2901,
           2902,
           2907,
           2908,
           2909,
           2910,
           2911),
 DL_TIER + 1: (1000,
               607,
               607,
               607,
               607,
               608,
               608,
               608,
               608,
               2923,
               2924,
               2927,
               2928,
               2929,
               2930,
               2931),
 DL_TIER + 2: (608,
               608,
               608,
               608,
               609,
               609,
               609,
               609,
               2941,
               2942,
               2943,
               2944,
               2947,
               2948,
               2949,
               2950,
               2951),
 DL_TIER + 3: (1000,
               609,
               609,
               609,
               609,
               609,
               609,
               2961,
               2962,
               2963,
               2964,
               2965,
               2966,
               2967,
               2968,
               2969,
               2970,
               2971),
 ELDER_TIER: (1000,
              1000,
              610,
              611,
              612,
              613,
              614,
              615,
              616,
              617,
              618,
              2961,
              2962,
              2963,
              2964,
              2965,
              2966,
              2967,
              2968,
              2969,
              2970,
              2971)}

def isRewardOptional(tier, rewardId):
    return tier in OptionalRewardTrackDict and rewardId in OptionalRewardTrackDict[tier]


def getItemName(itemId):
    return ItemDict[itemId][0]


def getPluralItemName(itemId):
    return ItemDict[itemId][1]


def avatarHasTrolleyQuest(av):
    return len(av.quests) == 1 and av.quests[0][0] == TROLLEY_QUEST_ID


def avatarHasCompletedTrolleyQuest(av):
    return av.quests[0][4] > 0


def avatarHasFirstCogQuest(av):
    return len(av.quests) == 1 and av.quests[0][0] == FIRST_COG_QUEST_ID


def avatarHasCompletedFirstCogQuest(av):
    return av.quests[0][4] > 0


def avatarHasFriendQuest(av):
    return len(av.quests) == 1 and av.quests[0][0] == FRIEND_QUEST_ID


def avatarHasCompletedFriendQuest(av):
    return av.quests[0][4] > 0


def avatarHasPhoneQuest(av):
    return len(av.quests) == 1 and av.quests[0][0] == PHONE_QUEST_ID


def avatarHasCompletedPhoneQuest(av):
    return av.quests[0][4] > 0


def avatarWorkingOnRequiredRewards(av):
    tier = av.getRewardTier()
    rewardList = list(getRewardsInTier(tier))
    for i in range(len(rewardList)):
        actualRewardId = transformReward(rewardList[i], av)
        rewardList[i] = actualRewardId

    for questDesc in av.quests:
        questId = questDesc[0]
        rewardId = questDesc[3]
        if rewardId in rewardList:
            return 1
        elif rewardId == NA:
            rewardId = transformReward(getFinalRewardId(questId, fAll=1), av)
            if rewardId in rewardList:
                return 1

    return 0


def avatarHasAllRequiredRewards(av, tier):
    rewardHistory = list(av.getRewardHistory()[1])
    rewardList = getRewardsInTier(tier)
    notify.debug('checking avatarHasAllRequiredRewards: history: %s, tier: %s' % (rewardHistory, rewardList))
    for rewardId in rewardList:
        if rewardId == 900:
            found = 0
            for actualRewardId in (901, 902, 903, 904, 905, 906, 907):
                if actualRewardId in rewardHistory:
                    found = 1
                    rewardHistory.remove(actualRewardId)
                    if notify.getDebug():
                        notify.debug('avatarHasAllRequiredRewards: rewardId 900 found as: %s' % actualRewardId)
                    break

            if not found:
                if notify.getDebug():
                    notify.debug('avatarHasAllRequiredRewards: rewardId 900 not found')
                return 0
        else:
            actualRewardId = transformReward(rewardId, av)
            if actualRewardId in rewardHistory:
                rewardHistory.remove(actualRewardId)
            elif getRewardClass(rewardId) == CogSuitPartReward:
                deptStr = RewardDict.get(rewardId)[1]
                cogPart = RewardDict.get(rewardId)[2]
                dept = ToontownGlobals.cogDept2index[deptStr]
                if av.hasCogPart(cogPart, dept):
                    if notify.getDebug():
                        notify.debug('avatarHasAllRequiredRewards: rewardId: %s counts, avatar has cog part: %s dept: %s' % (actualRewardId, cogPart, dept))
                else:
                    if notify.getDebug():
                        notify.debug('avatarHasAllRequiredRewards: CogSuitPartReward: %s not found' % actualRewardId)
                    return 0
            else:
                if notify.getDebug():
                    notify.debug('avatarHasAllRequiredRewards: rewardId %s not found' % actualRewardId)
                return 0

    if notify.getDebug():
        notify.debug('avatarHasAllRequiredRewards: remaining rewards: %s' % rewardHistory)
        for rewardId in rewardHistory:
            if not isRewardOptional(tier, rewardId):
                notify.warning('required reward found, expected only optional: %s' % rewardId)

    return 1


def nextQuestList(nextQuest):
    if nextQuest == NA:
        return None
    seqTypes = (list, tuple)
    if type(nextQuest) in seqTypes:
        return nextQuest
    else:
        return (nextQuest,)
    return None


def checkReward(questId, forked = 0):
    quest = QuestDict[questId]
    reward = quest[5]
    nextQuests = nextQuestList(quest[6])
    if nextQuests is None:
        validRewards = list(RewardDict.keys()) + [Any,
         AnyCashbotSuitPart,
         AnyLawbotSuitPart,
         OBSOLETE]
        if reward is OBSOLETE:
            print('warning: quest %s is obsolete' % questId)
        return reward
    else:
        forked = forked or len(nextQuests) > 1
        firstReward = checkReward(nextQuests[0], forked)
        for qId in nextQuests[1:]:
            thisReward = checkReward(qId, forked)

        return firstReward
    return


def assertAllQuestsValid():
    print('checking quests...')
    for questId in list(QuestDict.keys()):
        try:
            quest = getQuest(questId)
        except AssertionError as e:
            err = 'invalid quest: %s' % questId
            print(err)
            raise

    for questId in list(QuestDict.keys()):
        quest = QuestDict[questId]
        tier, start, questDesc, fromNpc, toNpc, reward, nextQuest, dialog = quest
        if start:
            checkReward(questId)