{
  // This configuration file is used when replaying tests. It mostly matches the
  // configuration file fuzziqersoftware uses while developing, with a few
  // relevant differences:
  // 1. The LocalAddress and ExternalAddress are both set to en0, since the
  //    replay runner uses virtual connections instead.
  // 2. The IP stack simulator is disabled.
  // 3. Unregistered users are allowed. This enables the tests to run on other
  //    machines, which won't have the same account files.
  "ServerName": "Alexandria",
  "WorkerThreads": 1,

  "PersistentGameIdleTimeout": 1800000000,
  "AllowedDropModesV1V2Normal": 0x1F,
  "AllowedDropModesV1V2Battle": 0x07,
  "AllowedDropModesV1V2Challenge": 0x07,
  "AllowedDropModesV3Normal": 0x1F,
  "AllowedDropModesV3Battle": 0x07,
  "AllowedDropModesV3Challenge": 0x07,
  "AllowedDropModesV4Normal": 0x1D,
  "AllowedDropModesV4Challenge": 0x05,
  "AllowedDropModesV4Battle": 0x05,
  "DefaultDropModeV1V2Normal": "CLIENT",
  "DefaultDropModeV1V2Battle": "CLIENT",
  "DefaultDropModeV1V2Challenge": "CLIENT",
  "DefaultDropModeV3Normal": "CLIENT",
  "DefaultDropModeV3Battle": "CLIENT",
  "DefaultDropModeV3Challenge": "CLIENT",
  "DefaultDropModeV4Normal": "SERVER_SHARED",
  "DefaultDropModeV4Battle": "SERVER_SHARED",
  "DefaultDropModeV4Challenge": "SERVER_SHARED",
  "CheatModeBehavior": "OnByDefault",
  "CheatingBehaviors": [
    "CreateItems",
    "EditSectionID",
    "EditStats",
    "Ep3ReplaceAssist",
    "Ep3UnsetFieldCharacter",
    "InfiniteHPTP",
    "FastKills",
    "InsufficientMinimumLevel",
    // "OverrideRandomSeed",
    "OverrideSectionID",
    // "OverrideVariations",
    "ProxyOverrideDrops",
    // "ResetMaterials",
    "Warp",
  ],
  "EnableSwitchAssistByDefault": false,
  "RareNotificationsEnabledByDefault": false,
  "NotifyGameForItemPrimaryIdentifiersV1V2": [],
  "NotifyGameForItemPrimaryIdentifiersV3": [],
  "NotifyGameForItemPrimaryIdentifiersV4": [],
  "NotifyServerForItemPrimaryIdentifiersV1V2": [],
  "NotifyServerForItemPrimaryIdentifiersV3": [],
  "NotifyServerForItemPrimaryIdentifiersV4": [],
  "NotifyServerForMaxLevelAchieved": false,

  "LocalAddress": "en0",
  "ExternalAddress": "en0",

  "DNSServerPort": 0,
  "IPStackListen": [],
  "PPPStackListen": [],
  "HTTPListen": [],
  "BannedIPV4Ranges": [],
  "Episode3BehaviorFlags": 0xFA,
  "EnableSendFunctionCallQuestNumbers": {
    "3OE2": 88530, // US Plus (v1.2) + customizations
    "3OJ5": 88531, // JP Plus (v1.5)
    "3SE0": 88532, // US Ep3
    "3SP0": 88533, // EU Ep3
  },
  "EnableV3V4ProtectedSubcommands": true,
  "AllowSavingAccounts": false,

  "Episode3InfiniteMeseta": false,
  "Episode3DefeatPlayerMeseta": [400, 500, 600, 700, 800],
  "Episode3DefeatCOMMeseta": [100, 200, 300, 400, 500],
  "Episode3FinalRoundMesetaBonus": 300,

  "PortConfiguration": {
    "gc-jp10":       [9000,  "gc",    "game_server"],
    "gc-jp11":       [9001,  "gc",    "game_server"],
    "gc-jp3te":      [9002,  "gc",    "game_server"],
    "gc-jp3":        [9003,  "gc",    "game_server"],
    "gc-us12t1":     [9064,  "gc",    "game_server"],
    "gc-us10":       [9100,  "pc",    "pc_console_detect"],
    "gc-us3":        [9103,  "gc",    "game_server"],
    "gc-eu10":       [9200,  "gc",    "game_server"],
    "gc-eu11":       [9201,  "gc",    "game_server"],
    "gc-eu3-50":     [9202,  "gc",    "game_server"],
    "gc-eu3-60a":    [9203,  "gc",    "game_server"],
    "gc-eu3-60b":    [9204,  "gc",    "game_server"],
    "pc":            [9300,  "pc",    "game_server"],
    "pc-patch":      [10000, "patch", "patch_server_pc"],
    "bb-patch":      [11000, "patch", "patch_server_bb"],
    "bb-patch-hg":   [11200, "patch", "patch_server_bb"],
    "bb":            [12000, "bb",    "game_server"],
    "xb":            [9500,  "xb",    "game_server"],
    "bb-jp-patch":   [11100, "patch", "patch_server_bb"],
    "bb-jp":         [11101, "bb",    "game_server"],
    "bb-data1":      [12004, "bb",    "game_server"],
    "bb-data2":      [12005, "bb",    "game_server"],
  },

  "ProxyDestinations-DC": {
    "Schtserv": "psobb.dyndns.org:9200",
    "Sylverant": "sylverant.net:9200",
    "EU/Ragol": "ragol.org:9200",
  },
  "ProxyDestinations-PC": {
    "Schtserv": "psobb.dyndns.org:9100",
    "Sylverant": "sylverant.net:9100",
    "EU/Ragol": "ragol.org:9100",
  },
  "ProxyDestinations-GC": {
    "Schtserv": "psobb.dyndns.org:9103",
    "Sylverant": "sylverant.net:9103",
    "EU/Ragol": "ragol.org:9103",
  },
  "ProxyDestinations-XB": {
    "Schtserv": "psobb.dyndns.org:9500",
    "Sylverant": "sylverant.net:9500",
    "EU/Ragol": "ragol.org:9500",
  },

  "ClientPingInterval": 30000000,
  "ClientIdleTimeout": 60000000,

  "LobbySearchOrders": [
    [],
    [],
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
    [16, 17, 18, 19, 20, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
    [16, 17, 18, 19, 20, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
  ],
  "ClientCustomizationLobbySearchOrder": [8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, 7],
    "LobbyEvents": [
    "xmas", // Lobby 1
    "none", // Lobby 2
    "val", // Lobby 3
    "easter", // Lobby 4
    "hallo", // Lobby 5
    "sonic", // Lobby 6
    "newyear", // Lobby 7
    "summer", // Lobby 8
    "white", // Lobby 9
    "wedding", // Lobby 10 (or Lobby 0 on early versions)
    "fall", // Lobby 11 (DCv2 and later only)
    "s-spring", // Lobby 12 (DCv2 and later only)
    "s-summer", // Lobby 13 (DCv2 and later only)
    "spring", // Lobby 14 (DCv2 and later only)
    "none", // Lobby 15 (DCv2 and later only)
    "xmas", // Lobby C1 (Episode 3 only)
    "sonic", // Lobby C2 (Episode 3 only)
    "fall", // Lobby C3 (Episode 3 only)
    "s-summer", // Lobby C4 (Episode 3 only)
    "sonic", // Lobby C5 (Episode 3 only)
  ],
  "MenuEvent": "xmas",

  "LogLevels": {
    "ChannelExceptions": "WARNING",
    "Clients": "WARNING",
    "CommandData": "ERROR",
    "Config": "WARNING",
    "DNSServer": "WARNING",
    "FunctionCompiler": "WARNING",
    "IPStackSimulator": "WARNING",
    "Lobbies": "WARNING",
    "Replay": "INFO",
    "GameServer": "WARNING",
    "PlayerData": "WARNING",
    "ProxyServer": "WARNING",
    "StaticGameData": "WARNING",
  },
  "HideDownloadCommands": true,

  "AllowUnregisteredUsers": true,
  "UseTemporaryAccountsForPrototypes": true,
  "AllowPCNTE": true,
  "EnableChatCommands": true,
  "CompatibilityGroups": [0x0000, 0x0000, 0x0004, 0x0008, 0x00B0, 0x00B0, 0x0040, 0x00B0, 0x0100, 0x1200, 0x0400, 0x0800, 0x1200, 0x2000],
  "VersionNameColors": [
    0xFFCCCCCC, // DC NTE
    0xFFAAAAAA, // DC 11/2000
    0xFFFFFFFF, // DC v1
    0xFFFFAE35, // DC v2
    0xFFC78626, // PC NTE
    0xFFFFAE35, // PC v2
    0xFF9999FF, // GC NTE
    0xFFFFCCFF, // GC
    0xFFCCCC00, // Ep3 NTE
    0xFFDFF56E, // Ep3
    0xFFCCFFCC, // Xbox
    0xFF55FDE3, // BB (the official Episode 4 color is probably 0xFFC69141)
  ],
  "InformationMenuContents": [
    ["Lobby commands", "Show commands used\nin the lobby", "These commands can be used in the lobby.\n\n$C6%sli$C7: Show basic information about the lobby\n$C6%sarrow <color-id>$C7: Change your lobby arrow color\n$C6%sln [name]$C7: Change the lobby type (for you only)\n$C6%sexit$C7: Leave the current game or lobby\n$C6%spatch <name>$C7: Run a patch on your client\n\n$C8Episode 3 only:$C7\n$C6%ssong <song-id>$C7: Play a jukebox song"],
    ["Game commands", "Show commands used\nin games", "These commands can be used to customize games.\n\n$C8Before starting a game:$C7\n$C6%ssecid <section-id>$C7: Set your override section ID\n$C6%srand <seed>$C7: Set your override random seed\n\n$C8When in a game:$C7\n$C6%sli$C7: Show basic information about the game\n$C6%swhat$C7: Describe the nearest item on the ground\n$C6%smaxlevel <level>$C7: Set maximum level to join\n$C6%sminlevel <level>$C7: Set minimum level to join\n$C6%spassword [password]$C7: Lock or unlock the game"],
    ["Player commands", "Show commands used\nto edit player data", "These commands can be used to work with your player data.\n\n$C6%sbbchar <username> <password> <1-4>$C7: Convert your\n    character to BB format\n$C6%sedit <stat> <value>$C7: Modify your character data"],
    ["Ep3 commands", "Show commands used\nin Episode 3 games", "These commands can be used in Episode 3 games.\n\n$C8Before battle begins:$C7\n$C6%sinftime$C7: Disable all battle time limits, regardless\n    of limits set in battle rules\n$C6%sdefrange <min>-<max>$C7: Set the DEF dice range for\n    the next battle\n\n$C8During battle:$C7\n$C6%sspec$C7: Allow or forbid spectators\n$C6%sstat <what>$C7: Show a live statistic\n$C6%ssurrender$C7: Immediately lose the current battle\n\n$C8In game after battle:$C7\n$C6%ssaverec <name>$C7: Save recording of the last battle"],
    ["Cheat commands", "Show commands used\nfor cheating", "These commands can be used to cheat.\n\n$C8In a game:$C7\n$C6%scheat$C7: Enable or disable cheat mode\n\n$C8When cheat mode is enabled:$C7\n$C6%sinfhp$C7 / $C6%sinftp$C7: Enable or disable infinite HP or TP\n$C6%swarpme <area-id>$C7: Warp yourself to the given area\n$C6%swarpall <area-id>$C7: Warp everyone to the given area\n$C6%snext$C7: Warp yourself to the next area\n$C6%sswa$C7: Enable or disable switch assist\n$C6%si <name>$C7 / $C6%si <hex>$C7: Create an item\n\n$C8Episode 3 only:$C7\n$C6%sunset <index>$C7: Remove one of your set cards from\n    the field"],
    ["Admin commands", "Show commands used\nfor setting server\noptions", "These commands provide administration functions.\n\n$C6%sevent <event>$C7: Set the holiday in the current lobby\n$C6%sallevent <event>$C7: Set the holiday in all lobbies\n$C6%sann <message>$C7: Send an announcement message to\n    all players\n$C6%sax <message>$C7: Send a message to the server\n$C6%ssilence <who>$C7: Silence or unsilence a player\n$C6%skick <who>$C7: Disconnect a player\n$C6%sban <who>$C7: Ban a player"],
    ["Debug commands", "Show commands used\nfor debugging", "These commands are used for debugging.\n\n$C6%sdebug$C7: Enable or disable debug messages\n$C6%scall <id>$C7: Call a quest function\n$C6%sgc$C7: Send your own Guild Card to yourself\n$C6%spersist$C7: Cause game to not close when last player\n    leaves\n$C6%ssc <data>$C7: Send a command to yourself\n\n$C8Proxy only:$C7\n$C6%sss <data>$C7: Send a command to the remote server"],
    ["Using $i", "$C7Show how to use\nthe %si command", "The %si command is used to create items.\nUse it like this (for example):\n\n$C6%si Double Cannon +10 0/0/20/15/35$C7\n$C6%si Hell Pallasch$C7\n$C6%si Black Ring +5DEF$C7\n$C6%si Knight/Power++$C7\n$C6%si Sato 5/50/10.5/50 120% 200IQ$C7\n$C6%si Trimate x3$C7\n$C6%si 1000 Meseta$C7\n\nYou can also use a hex code instead of a name\n(this is the same as the Sato example above):\n\n$C6%si 023F7300F40188131A04881378C80000$C7"],
    ["Using $edit", "$C7Show how to use\nthe %sedit command", "%sedit is used in PSOBB to change character stats.\nUse one of the following subcommands:\n\n$C6%sedit ATP <value>$C7\n$C6%sedit MST <value>$C7\n$C6%sedit EVP <value>$C7\n$C6%sedit HP <value>$C7\n$C6%sedit DFP <value>$C7\n$C6%sedit ATA <value>$C7\n$C6%sedit LCK <value>$C7\n$C6%sedit MESETA <amount>$C7\n$C6%sedit EXP <amount>$C7\n$C6%sedit LEVEL <level>$C7\n$C6%sedit NAMECOLOR <color in hex, AARRGGBB format>$C7\n$C6%sedit SECID <section ID name>$C7\n$C6%sedit NAME <new character name>$C7\n$C6%sedit NPC <NPC name>$C7\n$C6%sedit TECH <technique name> <new technique level>$C7\n\nNPC names: none, ninja, rico, sonic, knuckles,\n    flowen, elly\n\nTechnique names: foie, gifoie, rafoie, barta,\n    gibarta, rabarta, zonde, gizonde, razonde,\n    grants, deband, jellen, zalure, shifta, ryuker,\n    resta, anti, reverser, megid, all"],
    ["Using $bbchar", "$C7Show how to use\nthe %sbbchar command", "%sbbchar is used to convert a character from an\nolder version of PSO to Blue Burst format and save\nit on this server. Use the command like this:\n\n$C6%sbbchar <username> <password> <slot>$C7\n\nIf the username and password are correct, the\ncharacter that you're currently playing as will be\nconverted to PSOBB format and saved under that\naccount, in the specified character slot (1-4)."],
    ["Text colors", "Show color values", "These values can be used to color text in\nsome situations with escape codes like %sC6.\nFor example, these can be used in the Info Board.\n\n$C0%sC0$C7 - Black     $C1%sC1$C7 - Blue     $C2%sC2$C7 - Green\n$C3%sC3$C7 - Cyan      $C4%sC4$C7 - Red     $C5%sC5$C7 - Purple\n$C6%sC6$C7 - Yellow    $C7%sC7$C7 - White   $C8%sC8$C7 - Pink\n$C9%sC9$C7 - Violet     $CG%sCG$C7 - Orange Pulse\n\n$Ca%sCa$C7 - Orange (Episode 3 only)"],
    ["Arrow colors", "$C7Show lobby arrow\ncolor list", "Use these names with %sarrow.\n\n0 - no marker\n1 - red\n2 - blue\n3 - green\n4 - yellow\n5 - purple\n6 - cyan\n7 - orange\n8 - pink\n9 - white\n10 - white\n11 - white\n12 - black"],
    ["Event names", "$C7Show lobby event\nnames", "Use these names with %sevent and %sallevent.\n\nnone - no event\nxmas - Christmas event\nval - Valentine's Day\neaster - Easter Sunday event\nhallo - Halloween event\nsonic - Sonic Adventure DX event\nnewyear - New Year's event\nbval - White Day\nwedding - Wedding Day event\nspring - spring event\ns-spring - spring event with striped background\nsummer - summer event\ns-summer - summer event with striped background\nfall - fall event"],
    ["GC lobby types", "$C7Show lobby type\nlist for Episodes\nI & II", "Use these names with %sln on Episodes 1 & 2.\n$C6*$C7 indicates lobbies where players can't move.\n\nnormal - standard lobby\ninormal - under standard lobby $C6*$C7\nipc - under PC lobby $C6*$C7\niball - under soccer lobby $C6*$C7\ncave1 - Cave 1 $C6*$C7\ncave2u - Cave 2 Ultimate $C6*$C7\ndragon - Dragon stage (floor is black)\nderolle - De Rol Le stage (water/walls are gone)\nvolopt - Vol Opt stage\ndarkfalz - Dark Falz stage"],
    ["Ep3 lobby types", "$C7Show lobby type\nlist for Episode III", "Use these names with %sln on Episode 3.\n\nnormal - Standard lobby\nplanet - Blank Ragol lobby\nclouds - Blank sky lobby\ncave - Unguis Lapis (platform missing)\njungle - Nebula Montana 1 (Ep2 Jungle)\nforest2-1 - Lupus Silva 2 (Ep1 Forest 2)\nforest2-2 - Lupus Silva 1 (Ep1 Forest 2)\nwindpower - Molae Venti\noverview - Nebula Montana 2\nseaside - Tener Sinus (Ep2 Seaside)\nfons - Mortis Fons\ndmorgue - Destroyed Morgue (column missing)\ncaelum - Tower of Caelum (top)\ncyber - Cyber\nboss1 - Castor/Pollux map\nboss2 - Amplum Umbra map\ndolor - Dolor Odor\nravum - Ravum Aedes Sacra\nsky - Via Tubus (tube missing)\nmorgue - Morgue (column missing)"],
    ["Area list", "$C7Show stage code\nlist", "Use these names with %swarpme and %swarpall.\n$C2Green$C7 areas will be empty unless you are in a quest.\n$C6Yellow$C7 areas will not allow you to move.\n\n    $C8Episode 1  / Episode 2        / Episode 4$C7\n0: Pioneer 2  / Pioneer 2        / Pioneer 2\n1: Forest 1   / Temple Alpha    / Crater East\n2: Forest 2   / Temple Beta     / Crater West\n3: Caves 1    / Spaceship Alpha / Crater South\n4: Caves 2    / Spaceship Beta  / Crater North\n5: Caves 3    / CCA              / Crater Interior\n6: Mines 1    / Jungle North     / Desert 1\n7: Mines 2    / Jungle South     / Desert 2\n8: Ruins 1     / Mountain         / Desert 3\n9: Ruins 2     / Seaside          / Saint-Milion\n10: Ruins 3   / Seabed Upper    / $C6Test map$C7\n11: Dragon    / Seabed Lower\n12: De Rol Le / Gal Gryphon\n13: Vol Opt   / Olga Flow\n14: Dark Falz / Barba Ray\n15: $C2Lobby$C7     / Gol Dragon\n16: $C6Battle 1$C7  / $C6Seaside Night$C7\n17: $C6Battle 2$C7  / $C2Tower$C7"],
  ],
  "WelcomeMessage": "You are connected to $C6Alexandria$C7.",
  "PCPatchServerMessage": "newserv patch server\r\n\r\nThis server is not affiliated with, sponsored by, or in any other way connected to SEGA or Sonic Team, and is owned and operated completely independently.",
  "BBPatchServerMessage": "$C7newserv patch server\n\nThis server is not affiliated with, sponsored by, or in any\nother way connected to SEGA or Sonic Team, and is owned\nand operated completely independently.",

  "Episode3EXResultValues": {
    "Default": {
      "Win": [[50, 100], [30, 80], [15, 70], [10, 55], [7, 45], [4, 35], [1, 25], [-1, 20], [-9, 15], [0, 10]],
      "Lose": [[1, 0], [-2, 0], [-3, 0], [-4, 0], [-5, 0], [-6, 0], [-7, 0], [-10, -10], [-30, -10], [0, -15]],
    },
    "Tournament": {
      "Win": [[60, 70], [40, 50], [25, 45], [20, 40], [13, 35], [8, 30], [5, 25], [2, 20], [-1, 15], [0, 10]],
      "Lose": [[1, 0], [-1, 0], [-3, 0], [-5, 0], [-7, 0], [-10, 0], [-12, 0], [-15, 0], [-18, 0], [0, 0]],
    },
    "TournamentFinalMatch": {
      "Win": [[40, 100], [25, 95], [20, 85], [15, 75], [10, 65], [8, 60], [5, 50], [2, 40], [-1, 30], [0, 20]],
      "Lose": [[1, -5], [-1, -10], [-3, -15], [-7, -20], [-15, -20], [-20, -25], [-30, -30], [-40, -30], [-50, -34], [0, -40]],
    },
  },

  "QuestCategories": [
    [0x000, "hidden", "Hidden", "$E$C6Quests that do not\nappear in any menu"],
    [0x081, "government-console-ep1", "Hero in Red", "$E$CG-Red Ring Rico-\n$C6Quests that follow\nthe Episode 1\nstoryline"],
    [0x081, "government-console-ep2", "The Military's Hero", "$E$CG-Heathcliff Flowen-\n$C6Quests that follow\nthe Episode 2\nstoryline"],
    [0x081, "retrieval", "Retrieval", "$E$C6Quests that involve\nretrieving an object"],
    [0x081, "extermination", "Extermination", "$E$C6Quests that involve\ndestroying all\nmonsters"],
    [0x081, "events", "Events", "$E$C6Quests that are part\nof an event"],
    [0x081, "shops", "Shops", "$E$C6Quests that contain\nshops"],
    [0x081, "vr", "Virtual Reality", "$E$C6Quests that are\ndone in a simulator"],
    [0x081, "tower", "Control Tower", "$E$C6Quests that take\nplace at the Control\nTower"],
    [0x081, "team", "Team", "$E$C6Quests for you\nand your team\nmembers."],
    [0x002, "battle", "Battle", "$E$C6Battle mode rule\nsets"],
    [0x004, "challenge-ep1", "Challenge (Episode 1)", "$E$C6Challenge mode\nquests in Episode 1"],
    [0x004, "challenge-solo-ep1", "Solo Challenge (Episode 1)", "$E$C6Challenge mode\nquests in Episode 1\nthat you can solo"],
    [0x104, "challenge-ep2", "Challenge (Episode 2)", "$E$C6Challenge mode\nquests in Episode 2"],
    [0x104, "challenge-solo-ep2", "Solo Challenge (Episode 2)", "$E$C6Challenge mode\nquests in Episode 2\nthat you can solo"],
    [0x088, "solo-story", "Story", "$E$C6Quests that follow\nthe story"],
    [0x088, "solo-extra", "Solo", "$E$C6Quests that require\na single player"],
    [0x010, "government-ep1", "Hero in Red", "$E$CG-Red Ring Rico-\n$C6Quests that follow\nthe Episode 1\nstoryline"],
    [0x010, "government-ep2", "The Military's Hero", "$E$CG-Heathcliff Flowen-\n$C6Quests that follow\nthe Episode 2\nstoryline"],
    [0x010, "government-ep4", "The Meteor Impact Incident", "$E$C6Quests that follow\nthe Episode 4\nstoryline"],
    [0x020, "download", "Download", "$E$C6Quests to download\nto your Memory Card"],
  ],

  "ItemStackLimits": [
    {"MesetaLimit": 999999, "ToolLimits": [10]}, // DC NTE
    {"MesetaLimit": 999999, "ToolLimits": [10]}, // DC 11/2000
    {"MesetaLimit": 999999, "ToolLimits": [10, 10, 1, 10, 10, 10, 10, 10, 10, 1]}, // DC V1
    {"MesetaLimit": 999999, "ToolLimits": [10, 10, 1, 10, 10, 10, 10, 10, 10, 1]}, // DC V2
    {"MesetaLimit": 999999, "ToolLimits": [10, 10, 1, 10, 10, 10, 10, 10, 10, 1]}, // PC NTE
    {"MesetaLimit": 999999, "ToolLimits": [10, 10, 1, 10, 10, 10, 10, 10, 10, 1]}, // PC
    {"MesetaLimit": 999999, "ToolLimits": [10, 10, 1, 10, 10, 10, 10, 10, 10, 1, 1, 1, 1, 1, 1, 1, 99, 1]}, // GC NTE
    {"MesetaLimit": 999999, "ToolLimits": [10, 10, 1, 10, 10, 10, 10, 10, 10, 1, 1, 1, 1, 1, 1, 1, 99, 1]}, // GC
    {"MesetaLimit": 999999, "ToolLimits": [10, 10, 1, 10, 10, 10, 10, 10, 10, 1, 1, 1, 1, 1, 1, 1, 99, 1]}, // GC Ep3 NTE
    {"MesetaLimit": 999999, "ToolLimits": [10, 10, 1, 10, 10, 10, 10, 10, 10, 1, 1, 1, 1, 1, 1, 1, 99, 1]}, // GC Ep3
    {"MesetaLimit": 999999, "ToolLimits": [10, 10, 1, 10, 10, 10, 10, 10, 10, 1, 1, 1, 1, 1, 1, 1, 99, 1]}, // XB
    {"MesetaLimit": 999999, "ToolLimits": [10, 10, 1, 10, 10, 10, 10, 10, 10, 1, 1, 1, 1, 1, 1, 1, 99, 1]}, // BB
  ],
  "QuestF95EResultItems": [
    [
      [0x00900000, 0x00900100, 0x00900200, 0x00900300, 0x00900400, 0x00900500,
       0x00900600, 0x00900700, 0x00900800, 0x00B40000, 0x01014E00, 0x01030700,
       0x01034100, 0x04000000, 0x04000000, 0x04000000, 0x04000000, 0x04000000,
       0x04000000, 0x04000000, 0x04000000, 0x04000000],
      [0x00B90000, 0x00340000, 0x00090100, 0x00900200, 0x00900700, 0x002C0000,
       0x002D0000, 0x01023500, 0x00010600, 0x00010500, 0x04000000, 0x04000000,
       0x04000000, 0x04000000, 0x04000000, 0x04000000, 0x04000000, 0x04000000,
       0x04000000],
      [0x00B60000, 0x008A0100, 0x00100100, 0x00100200, 0x00100300, 0x00100400,
       0x00100500, 0x00100600, 0x00270000, 0x00010700, 0x04000000, 0x04000000,
       0x04000000, 0x04000000, 0x04000000, 0x04000000, 0x04000000, 0x04000000,
       0x04000000],
      [0x00B70000, 0x00100100, 0x00100200, 0x00100300, 0x00100400, 0x00100500,
       0x00100600, 0x00290000, 0x008A0000, 0x008A0200, 0x04000000, 0x04000000,
       0x04000000, 0x04000000, 0x04000000, 0x04000000, 0x04000000, 0x04000000,
       0x04000000],
    ], [
      [0x01028B00, 0x01022800, 0x01013400, 0x01030300, 0x01030B00, 0x03180700,
       0x00550000, 0x01032900, 0x01032F00, 0x01032C00, 0x01032300, 0x04000000,
       0x04000000, 0x04000000, 0x04000000, 0x04000000, 0x04000000, 0x04000000,
       0x04000000, 0x04000000],
      [0x01028C00, 0x01021500, 0x01028A00, 0x01014000, 0x01034400, 0x01034600,
       0x01034500, 0x01034700, 0x03180700, 0x04000000, 0x04000000, 0x04000000,
       0x04000000, 0x04000000, 0x04000000, 0x04000000, 0x04000000, 0x04000000],
      [0x00CB0000, 0x003A0000, 0x008C0200, 0x01022B00, 0x00500000, 0x000B0600,
       0x000A0600, 0x000A0400, 0x00550000, 0x00230000, 0x003B0000, 0x03180700,
       0x04000000, 0x04000000, 0x04000000, 0x04000000, 0x04000000, 0x04000000,
       0x04000000, 0x04000000, 0x04000000],
      [0x00510000, 0x01035200, 0x01032000, 0x01033E00, 0x01022900, 0x03180700,
       0x000B0400, 0x000A0600, 0x00560000, 0x003B0000, 0x00230000, 0x000A0500,
       0x04000000, 0x04000000, 0x04000000, 0x04000000, 0x04000000, 0x04000000,
       0x04000000, 0x04000000, 0x04000000],
    ], [
      [0x01013200, 0x002F0100, 0x00B30000, 0x005E0000, 0x000E0200, 0x002E0000,
       0x00950000, 0x009A0000, 0x002F0000, 0x01031B00, 0x04000000, 0x04000000,
       0x04000000, 0x04000000, 0x04000000, 0x04000000, 0x04000000, 0x04000000,
       0x04000000],
      [0x00C00000, 0x00D20000, 0x008D0000, 0x01012E00, 0x008B0000, 0x00090700,
       0x004E0000, 0x006D0000, 0x00150000, 0x008B0200, 0x04000000, 0x04000000,
       0x04000000, 0x04000000, 0x04000000, 0x04000000, 0x04000000, 0x04000000,
       0x04000000],
      [0x00AA0000, 0x01014100, 0x01015100, 0x01022300, 0x003F0000, 0x00410000,
       0x00050700, 0x00050600, 0x00050500, 0x04000000, 0x04000000, 0x04000000,
       0x04000000, 0x04000000, 0x04000000, 0x04000000, 0x04000000, 0x04000000],
      [0x00AF0000, 0x00430000, 0x01035100, 0x00CD0000, 0x00990000, 0x006C0000,
       0x00450000, 0x006B0000, 0x00120000, 0x00650000, 0x01022900, 0x00130000,
       0x04000000, 0x04000000, 0x04000000, 0x04000000, 0x04000000, 0x04000000,
       0x04000000, 0x04000000, 0x04000000],
    ], [], [
      [0x00BA0000, 0x000D0300, 0x00430100, 0x00070800, 0x00420100, 0x00C90000,
       0x03100000, 0x01029500, 0x01028F00, 0x01029100],
      [0x00BB0000, 0x000D0300, 0x00B70000, 0x00420100, 0x00070800, 0x00C90000,
       0x01013600, 0x01028A00, 0x01029900, 0x01035100, 0x01035B00, 0x01035200,
       0x03100000, 0x03180A00],
      [0x00BA0000, 0x00B40000, 0x000D0300, 0x00B60000, 0x00B30000, 0x00070800,
       0x00430100, 0x00C90000, 0x01013600, 0x01028A00, 0x01029900, 0x01028500,
       0x01034800, 0x01035100, 0x01035B00, 0x01035200, 0x03100000],
      [0x00BA0000, 0x00B40000, 0x000D0300, 0x00B60000, 0x00B30000, 0x00070800,
       0x00430100, 0x00C90000, 0x01013600, 0x01028A00, 0x01029900, 0x01028500,
       0x01034800, 0x01035100, 0x01035B00, 0x01035200],
    ],
  ],
  "QuestF95FResultItems": [
    [0, 0x00010000], // Unused
    [10, 0x00D50000],
    [15, 0x000A0700],
    [20, 0x01015700],
  ],
  "QuestF960SuccessResultItems": [
    {
      "MesetaCost": 1000,
      "BaseProbability": 0x0A3D70A3, // 4%
      "ProbabilityUpgrade": 0x0A3D70A3, // 4%
      "Sunday": [0x01030300, 0x01034200, 0x01034300, 0x01034400, 0x01034500, 0x01034600, 0x01034700, 0x03180000],
      "Monday": [0x01028D00, 0x01030700, 0x01030B00, 0x01031F00, 0x01033500, 0x01033B00, 0x01034000, 0x01034400],
      "Tuesday": [0x01031300, 0x01031B00, 0x01033B00, 0x01034200, 0x01034300, 0x01034600],
      "Wednesday": [0x01030F00, 0x01031F00, 0x01033800, 0x01034000, 0x01034400, 0x03180000],
      "Thursday": [0x01031700, 0x01031F00, 0x01033500, 0x01033E00, 0x01034700],
      "Friday": [0x01031D00, 0x01033800, 0x01033B00, 0x01034000, 0x01034300, 0x01034400, 0x01034700, 0x03180000],
      "Saturday": [0x01028D00, 0x01031F00, 0x01032000, 0x01033500, 0x01033B00, 0x01034200, 0x01034300, 0x01034600],
    }, {
      "MesetaCost": 10000,
      "BaseProbability": 0x0A3D70A3, // 4%
      "ProbabilityUpgrade": 0x0A3D70A3, // 4%
      "Sunday": [0x00010600, 0x00010700, 0x00080500, 0x00080600, 0x00080700, 0x000D0000, 0x000D0100, 0x00100700, 0x00490000, 0x00010500, 0x01013700, 0x01034500, 0x01034400, 0x01034300, 0x01034600, 0x01034200, 0x03100200, 0x03180200, 0x03180700, 0x030B0000],
      "Monday": [0x00020500, 0x00020600, 0x00020700, 0x00070800, 0x00080600, 0x000E0000, 0x00090500, 0x00090600, 0x00090700, 0x00560000, 0x00560100, 0x00010500, 0x01022600, 0x01034000, 0x01031F00],
      "Tuesday": [0x00030600, 0x006D0000, 0x01022200, 0x01027B00, 0x03100200, 0x03180200, 0x03180700],
      "Wednesday": [0x00040600, 0x00890000, 0x00890100, 0x00070800, 0x000B0400, 0x000B0500, 0x000B0600, 0x01021600, 0x01021800, 0x01021900, 0x01021E00, 0x01033800, 0x01031F00, 0x01030F00, 0x03100200, 0x03180700],
      "Thursday": [0x00100700, 0x00050500, 0x00050600, 0x00050700, 0x00060500, 0x000B0400, 0x000C0400, 0x000C0500, 0x000C0600, 0x00200000, 0x008B0000, 0x01013700, 0x01014000, 0x01015300, 0x01022200, 0x01033500, 0x01034600, 0x030F0000, 0x03100200, 0x03180200, 0x030B0300, 0x030B0600],
      "Friday": [0x00060500, 0x00060600, 0x00060700, 0x00070500, 0x00070800, 0x00080500, 0x000A0400, 0x00220000, 0x00230000, 0x00560100, 0x008C0000, 0x008C0100, 0x00490000, 0x01013100, 0x01013200, 0x01013300, 0x01013400, 0x01014000, 0x01033800, 0x01034700, 0x01034400, 0x01031D00, 0x03100200, 0x03180200, 0x030B0400],
      "Saturday": [0x000E0000, 0x00260000, 0x00070600, 0x00070700, 0x00070800, 0x00270000, 0x01012700, 0x01034300, 0x01033900, 0x01033B00, 0x030B0000],
    }, {
      "MesetaCost": 100000,
      "BaseProbability": 0x0A3D70A3, // 4%
      "ProbabilityUpgrade": 0x0A3D70A3, // 4%
      "Sunday": [0x00010500, 0x00270000, 0x002C0000, 0x00030500, 0x00030800, 0x00040800, 0x00100700, 0x000E0100, 0x000D0100, 0x000D0000, 0x00B60000, 0x00080600, 0x00080500, 0x00130000, 0x008B0100, 0x008B0200, 0x000A0400, 0x00930200, 0x00930900, 0x01012A00, 0x01021700, 0x01013A00, 0x01022B00, 0x01022900, 0x01023500, 0x01034900, 0x01034700, 0x01034300, 0x01034600, 0x01033200, 0x030F0000, 0x03100200],
      "Monday": [0x00010500, 0x00010600, 0x002C0000, 0x002D0000, 0x00020700, 0x00020500, 0x00020600, 0x00340000, 0x00BA0000, 0x000E0000, 0x002E0000, 0x008A0200, 0x008A0000, 0x00080600, 0x00080700, 0x00090500, 0x00090600, 0x004E0000, 0x000C0700, 0x00920000, 0x008C0000, 0x01014C00, 0x01013800, 0x01028500, 0x01029200, 0x01022200, 0x01028800, 0x01034A00, 0x01035300, 0x01031F00, 0x01034400, 0x01030B00, 0x03100200, 0x030B0600],
      "Tuesday": [0x00010500, 0x00030700, 0x00030600, 0x00030500, 0x00030800, 0x00040500, 0x00040800, 0x00050700, 0x00940000, 0x000D0300, 0x00890200, 0x000F0100, 0x000F0200, 0x000F0000, 0x00080500, 0x000A0500, 0x000A0400, 0x00930200, 0x008C0000, 0x00930500, 0x01014600, 0x01014000, 0x01021F00, 0x01028B00, 0x01028C00, 0x01034B00, 0x01033B00, 0x01034300, 0x01035100, 0x03100200, 0x030B0100],
      "Wednesday": [0x00970000, 0x00030600, 0x00040600, 0x00040500, 0x00110100, 0x003E0000, 0x00940000, 0x000D0300, 0x006A0000, 0x00A30000, 0x006B0000, 0x006D0000, 0x00C00000, 0x00C30000, 0x000B0400, 0x000B0500, 0x01013700, 0x01021700, 0x01021800, 0x01021E00, 0x01021600, 0x01029200, 0x030F0000],
      "Thursday": [0x00B90000, 0x00200000, 0x00040700, 0x00040800, 0x00050500, 0x00050600, 0x00050700, 0x003F0000, 0x00410000, 0x009A0000, 0x00690000, 0x000D0300, 0x00A30000, 0x00120000, 0x00130000, 0x00080500, 0x00140000, 0x00C00000, 0x00C50000, 0x00680000, 0x000C0400, 0x000C0500, 0x000C0600, 0x000C0700, 0x008C0000, 0x01012A00, 0x00930600, 0x01012900, 0x01013500, 0x01012B00, 0x01029900, 0x01033400, 0x01033300, 0x01034700, 0x01031700, 0x01031F00, 0x030F0000, 0x030B0300, 0x030B0400],
      "Friday": [0x002D0000, 0x00200000, 0x00030800, 0x000D0300, 0x00060500, 0x00060700, 0x00AF0000, 0x00440000, 0x00070500, 0x00080600, 0x00090500, 0x006D0100, 0x008B0100, 0x00220000, 0x000C0400, 0x005B0000, 0x01012500, 0x01013200, 0x01013100, 0x01012400, 0x01014800, 0x01013800, 0x01013A00, 0x01033B00, 0x01033800, 0x01034000],
      "Saturday": [0x00010600, 0x00B40000, 0x00060500, 0x00260000, 0x00070500, 0x00070600, 0x00070700, 0x00490000, 0x004C0000, 0x00500000, 0x00230000, 0x00220000, 0x00560000, 0x00560100, 0x000C0700, 0x00930600, 0x00930700, 0x01011E00, 0x01011F00, 0x01012400, 0x01011C00, 0x01012300, 0x01011B00, 0x01011D00, 0x01029200, 0x01033B00, 0x01034600, 0x01034200, 0x01032000, 0x03100200, 0x030F0000],
    },
  ],
  "QuestF960FailureResultItems": { // Items given when all tiers failed to give a prize
    "Sunday": [0x03000000, 0x03000100, 0x03000200, 0x03010000, 0x03010100, 0x03010200, 0x03030000, 0x03040000, 0x03060000, 0x03060100, 0x03070000, 0x03080000],
    "Monday": [0x03000000, 0x03000100, 0x03000200, 0x03010000, 0x03010100, 0x03010200, 0x03030000, 0x03040000, 0x03060000, 0x03060100, 0x03070000, 0x03080000],
    "Tuesday": [0x03000000, 0x03000100, 0x03000200, 0x03010000, 0x03010100, 0x03010200, 0x03030000, 0x03040000, 0x03060000, 0x03060100, 0x03070000, 0x03080000],
    "Wednesday": [0x03000000, 0x03000100, 0x03000200, 0x03010000, 0x03010100, 0x03010200, 0x03030000, 0x03040000, 0x03060000, 0x03060100, 0x03070000, 0x03080000],
    "Thursday": [0x03000000, 0x03000100, 0x03000200, 0x03010000, 0x03010100, 0x03010200, 0x03030000, 0x03040000, 0x03060000, 0x03060100, 0x03070000, 0x03080000],
    "Friday": [0x03000000, 0x03000100, 0x03000200, 0x03010000, 0x03010100, 0x03010200, 0x03030000, 0x03040000, 0x03060000, 0x03060100, 0x03070000, 0x03080000],
    "Saturday": [0x03000000, 0x03000100, 0x03000200, 0x03010000, 0x03010100, 0x03010200, 0x03030000, 0x03040000, 0x03060000, 0x03060100, 0x03070000, 0x03080000],
  },
  "BBGlobalEXPMultiplier": 1,
  "BBEXPShareMultiplier": 0.5,
  "ServerGlobalDropRateMultiplier": 1.0,
  "BBRequiredPatches": [],
  "UseGameCreatorSectionID": false,

  "TeamRewards": [
    {
      "Key": "TeamFlag",
      "Name": "Team flag",
      "Description": "Show a custom banner\nabove your team's\nplayers in the lobby",
      "Points": 2500,
      "RewardFlag": 0x00000001,
    }, {
      "Key": "DressingRoom",
      "Name": "Dressing room",
      "Description": "Unlock the ability to\nchange your character's\nappearance",
      "Points": 3000,
      "RewardFlag": 0x00000002,
    }, {
      "Key": "Members20Leaders3",
      "Name": "20 team members",
      "Description": "Increase your team's\nsize limit to 30 members\nand 3 leaders",
      "Points": 1500,
      "RewardFlag": 0x00000004,
    }, {
      "Key": "Members40Leaders5",
      "Name": "40 team members",
      "Description": "Increase your team's\nsize limit to 40 members\nand 5 leaders",
      "Points": 4000,
      "PrerequisiteKeys": ["Members20Leaders3"],
      "RewardFlag": 0x00000008,
    }, {
      "Key": "Members70Leaders8",
      "Name": "70 team members",
      "Description": "Increase your team's\nsize limit to 70 members\nand 8 leaders",
      "Points": 9000,
      "PrerequisiteKeys": ["Members40Leaders5"],
      "RewardFlag": 0x00000010,
    }, {
      "Key": "Members100Leaders10",
      "Name": "100 team members",
      "Description": "Increase your team's\nsize limit to 100 members\nand 10 leaders",
      "Points": 18000,
      "PrerequisiteKeys": ["Members70Leaders8"],
      "RewardFlag": 0x00000020,
    }, {
      "Key": "PointOfDisasterQuest",
      "Name": "Quest: Point of Disaster",
      "Description": "Unlock the quest\nPoint of Disaster\nfor your team",
      "Points": 1000,
    }, {
      "Key": "TheRobotsReckoningQuest",
      "Name": "Quest: The Robots' Reckoning",
      "Description": "Unlock the quest\nThe Robots' Reckoning\nfor your team",
      "Points": 1000,
    }, {
      "Key": "CommanderBlade",
      "Name": "Commander Blade",
      "Description": "Create a Commander\nBlade weapon",
      "IsUnique": false,
      "Points": 8000,
      "RewardItem": "00B200",
    }, {
      "Key": "UnionField",
      "Name": "Union Field",
      "Description": "Create a Union Field\narmor",
      "IsUnique": false,
      "Points": 100,
      "RewardItem": "010155",
    }, {
      "Key": "UnionGuard",
      "Name": "Union Guard",
      "Description": "Create a Union Guard\nshield",
      "IsUnique": false,
      "Points": 100,
      "RewardItem": "010295",
    }, {
      "Key": "Ticket500",
      "Name": "Team Points Ticket 500",
      "Description": "Create a 500-point ticket",
      "IsUnique": false,
      "Points": 500,
      "RewardItem": "031900",
    }, {
      "Key": "Ticket1000",
      "Name": "Team Points Ticket 1000",
      "Description": "Create a 1000-point ticket",
      "IsUnique": false,
      "Points": 1000,
      "RewardItem": "031901",
    }, {
      "Key": "Ticket5000",
      "Name": "Team Points Ticket 5000",
      "Description": "Create a 5000-point ticket",
      "IsUnique": false,
      "Points": 5000,
      "RewardItem": "031902",
    }, {
      "Key": "Ticket10000",
      "Name": "Team Points Ticket 10000",
      "Description": "Create a 10000-point ticket",
      "IsUnique": false,
      "Points": 10000,
      "RewardItem": "031903",
    },
  ],

  "BBMinimumLevels": {
    "Episode1": [1, 20, 50, 90],
    "Episode2": [1, 30, 60, 100],
    "Episode4": [1, 40, 70, 110],
  },

"QuestFlagRewritesV1V2": {
    "F_0017": true, // Ep1 area unlocks
    "F_0020": true, // Ep1 area unlocks
    "F_002A": true, // Ep1 area unlocks
  },
  "QuestFlagRewritesV3": {
    "F_0017": true, // Ep1 area unlocks
    "F_0020": true, // Ep1 area unlocks
    "F_002A": true, // Ep1 area unlocks
    "F_004C": true, // Ep2 area unlocks
    "F_004F": true, // Ep2 area unlocks
    "F_0052": true, // Ep2 area unlocks
  },
  "QuestFlagRewritesV4": {
    "F_01F9": true, // Ep1 area unlocks
    "F_0201": true, // Ep1 area unlocks
    "F_0207": true, // Ep1 area unlocks
    "F_021B": true, // Ep2 area unlocks
    "F_0225": true, // Ep2 area unlocks
    "F_022F": true, // Ep2 area unlocks
    "F_02BD": true, // Ep4 area unlocks
    "F_02BE": true, // Ep4 area unlocks
    "F_02BF": true, // Ep4 area unlocks
    "F_02C0": true, // Ep4 area unlocks
    "F_02C1": true, // Ep4 area unlocks
    "F_0046": false, // Ep2 CCA door lock fix
    "F_0047": false, // Ep2 CCA door lock fix
    "F_0048": false, // Ep2 CCA door lock fix
    "F_002C": "F_01F7", // Ep1 Forest monument state = 1-2 cleared
    "F_002D": "F_01FD", // Ep1 Cave monument state = 2-2 cleared
    "F_002E": "F_0209", // Ep1 Mine monument state = 4-1 cleared
    "F_002F": "F_01F7 && F_01FD && F_0209", // All monuments state
  },

  "QuestCounterFields": {
    "betaluckycoins": [0x01, 0x003F8000],
    "garonbscore":    [0x00, 0x0003FC00],
    "garonpoints":    [0x00, 0x000003FF],
    "garontscore":    [0x00, 0x03FC0000],
    "killcount":      [0x03, 0x003FFF00],
    "luckycoins":     [0x0B, 0x000001FC],
    "luckytickets1":  [0x03, 0x000000FF],
    "luckytickets2":  [0x06, 0x0FF00000],
    "luckytickets3":  [0x0A, 0x7FC00000],
    "ma1v2points":    [0x09, 0x00003FFF],
    "ma2v2points":    [0x09, 0x0FFFC000],
    "ma4kills":       [0x0E, 0x7FFFFFFF],
    "ma4killsc":      [0x08, 0x7FFFFFFF],
    "ma4killscd":     [0x03, 0x7FFFFFFF],
    "ma4killsgdv":    [0x04, 0x7FFFFFFF],
    "ma4tickets":     [0x0F, 0x000000FF],
    "pgcandyid":      [0x05, 0x00007FFF],
    "rhpoints":       [0x02, 0x003FC000],
    "songcount":      [0x03, 0x07C00000],
    "wrappingpapers": [0x0B, 0x1FF00000],
  },
}
