{
  // 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 license file.
  "ServerName": "Alexandria",
  "CatchHandlerExceptions": false,

  "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",

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

  "DNSServerPort": 0,
  "IPStackListen": [],
  "PPPStackListen": [],
  "Episode3BehaviorFlags": 0xFA,

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

  "PortConfiguration": {
    "gc-jp10":       [9000,  "gc",    "login_server"],
    "gc-jp11":       [9001,  "gc",    "login_server"],
    "gc-jp3te":      [9002,  "gc",    "login_server"],
    "gc-jp3":        [9003,  "gc",    "login_server"],
    "gc-us12t1":     [9064,  "gc",    "login_server"],
    "gc-us10":       [9100,  "pc",    "pc_console_detect"],
    "gc-us3":        [9103,  "gc",    "login_server"],
    "gc-eu10":       [9200,  "gc",    "login_server"],
    "gc-eu11":       [9201,  "gc",    "login_server"],
    "gc-eu3-50":     [9202,  "gc",    "login_server"],
    "gc-eu3-60a":    [9203,  "gc",    "login_server"],
    "gc-eu3-60b":    [9204,  "gc",    "login_server"],
    "pc":            [9300,  "pc",    "login_server"],
    "xb":            [9500,  "xb",    "login_server"],
    "pc-patch":      [10000, "patch", "patch_server_pc"],
    "bb-patch":      [11000, "patch", "patch_server_bb"],
    "bb-init":       [12000, "bb",    "login_server"],
    "bb-patch2":     [10500, "patch", "patch_server_bb"],
    "bb-proxy2":     [9932,  "bb",    "proxy_server"],
    "bb-patch3":     [13000, "bb",    "login_server"],
    "console-login": [5100,  "gc",    "login_server"],
    "pc-login":      [5101,  "pc",    "login_server"],
    "xb-login":      [5102,  "xb",    "login_server"],
    "console-lobby": [5110,  "gc",    "lobby_server"],
    "pc-lobby":      [5111,  "pc",    "lobby_server"],
    "xb-lobby":      [5105,  "xb",    "lobby_server"],
    "bb-lobby":      [5112,  "bb",    "lobby_server"],
    "dc-proxy":      [5107,  "dc",    "proxy_server"],
    "gc-proxy":      [5109,  "gc",    "proxy_server"],
    "xb-proxy":      [5113,  "xb",    "proxy_server"],
    "pc-proxy":      [5121,  "pc",    "proxy_server"],
    "bb-proxy":      [5122,  "bb",    "proxy_server"],
    "bb-data1":      [12004, "bb",    "login_server"],
    "bb-data2":      [12005, "bb",    "login_server"],
  },

  "ProxyDestinations-GC": {
    "Schtserv": "psobb.dyndns.org:9103",
    "Sylverant": "sylverant.net:9103",
  },
  "ProxyDestinations-PC": {
    "Schtserv": "psobb.dyndns.org:9100",
    "Sylverant": "sylverant.net:9100",
  },

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

  "AllowUnregisteredUsers": true,
  "AllowPCNTE": true,
  "AllowDCPCGames": true,
  "AllowGCXBGames": true,

  "InformationMenuContents": [
    ["Text colors", "$C7Display color values", "These values can be used to color text in\nsome situations, with escape codes like %sC6.\n\n$C0Color 0$C7 - Black\n$C1Color 1$C7 - Blue\n$C2Color 2$C7 - Green\n$C3Color 3$C7 - Cyan\n$C4Color 4$C7 - Red\n$C5Color 5$C7 - Purple\n$C6Color 6$C7 - Yellow\n$C7Color 7$C7 - White\n$C8Color 8$C7 - Pink\n$C9Color 9$C7 - Violet\n$CGColor G$C7 - Orange Pulse"],
    ["Lobby commands", "$C7Display commands\nfor use in the\nlobby", "Lobby commands: you must be a moderator to use\nthese commands.\n\n%sallevent <event>: Change the server's event\n%sevent <event>: Change this lobby's event\n%stype <type>: Change this lobby's type\n%sann <message>: Announce a message to all players\n%sax <message>: Send a message to the server"],
    ["Game commands", "$C7Display commands\nfor use in games", "Game commands: you must be the game leader to\nuse these commands.\n\n%spassword <password>: Set the game's password.\n    If used with no password, unlocks the game.\n%smaxlevel <%n>: Set the game's maximum level.\n%sminlevel <%n>: Set the game's minimum level.\n%scheat: Enable or disable cheat mode."],
    ["Player commands", "$C7Display commands\nfor player data", "Player commands: anyone can use these commands.\n\n%sarrow <color>: Change your lobby arrow color.\n%sbbchar <username> <password> <slot>: Convert\n    your character to PSOBB format.\n%sli: Show lobby or game information.\n%swhat: Describes the nearest item on the ground."],
    ["Cheat commands", "$C7Display commands\nfor cheating", "Cheat commands: cheat mode must be enabled in the\ngame for these commands to work.\n\n%scheat: Enables or disables cheat mode in a game.\n%sinfhp: Enables or disables infinite HP for you.\n%sinftp: Enables or disables infinite TP for you.\n%swarp <area>: Sends you to a certain area.\n%sitem <data>: Creates an item. The item will appear\n    from the next box opened or enemy defeated.\n%sedit <stat> <value>: Changes your character stats.\n    This command works only on Blue Burst."],
    ["Mod commands", "$C7Display commands\nfor moderators", "Moderation commands: you must be a moderator to\nuse these commands.\n\n%ssilence <serial>: Silence/unsilence a player.\n%skick <serial>: Disconnect a player from the server.\n%sban <duration> <serial>: Ban a player. Duration may\n    be of the form 60m, 24h, 2w, etc."],
    ["Using $item", "$C7Show how to use\nthe %sitem command", "Using the %sitem command\n\nThe %sitem command is used to create items.\nUse it like this:\n\n%sitem <item code in hexadecimal>\n\nThe item code must be from 2 to 16 bytes (4 to 32\ncharacters) of hexadecimal data. Any bytes you\nomit will become zeroes.\n\nThe item that you specify will appear from the next\nenemy you kill or box you break.\n\nTo create meseta, use the command like this:\n\n%sitem 04000000 %n0 %n0 <amount>"],
    ["Using $edit", "$C7Show how to use\nthe %sedit command", "Using the %sedit command\n\n%sedit is used on PSOBB to change character stats.\nUse one of the following subcommands:\n\n%sedit ATP <value>\n%sedit MST <value>\n%sedit EVP <value>\n%sedit HP <value>\n%sedit DFP <value>\n%sedit ATA <value>\n%sedit LCK <value>\n%sedit MESETA <amount>\n%sedit EXP <amount>\n%sedit LEVEL <level>\n%sedit NAMECOLOR <color in hex, AARRGGBB format)\n%sedit SECID <section ID name>\n%sedit NAME <new character name>\n%sedit NPC <NPC name>\n%sedit TECH <technique name> <new technique level>\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", "Using the %sbbchar command\n\n%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%sbbchar <username> <password> <slot>\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)."],
    ["Arrow colors", "$C7Display lobby arrow\ncolor list", "$C7These values can be used with the $C6%sarrow$C7 command.\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 values", "$C7Display lobby event\nlist", "These values can be used with the $C6%sevent$C7 command.\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", "$C7Display lobby type\nlist for Episodes\nI & II", "These values can be used with the %stype command.\n$C6*$C7 indicates lobbies where players can't move.\n$C2Green$C7 indicates Episode 1 & 2 (GC) only lobbies.\n\nnormal - standard lobby\n$C2inormal$C7 - under standard lobby $C6*$C7\n$C2ipc$C7 - under PC lobby $C6*$C7\n$C2iball$C7 - under soccer lobby $C6*$C7\n$C2cave1$C7 - Cave 1 $C6*$C7\n$C2cave2u$C7 - Cave 2 Ultimate $C6*$C7\n$C2dragon$C7 - Dragon stage (floor is black)\n$C2derolle$C7 - De Rol Le stage (water/walls are gone)\n$C2volopt$C7 - Vol Opt stage\n$C2darkfalz$C7 - Dark Falz stage"],
    ["Ep3 lobby types", "$C7Display lobby type\nlist for Episode\nIII", "These values can be used with the %sln command.\n$C6*$C7 indicates lobbies where players can't move.\n$C8Pink$C7 indicates Episode 3 only lobbies.\n\nnormal - standard lobby\n$C8planet$C7 - Blank Ragol Lobby\n$C8clouds$C7 - Blank Sky Lobby\n$C8cave$C7 - Unguis Lapis\n$C8jungle$C7 - Episode 2 Jungle\n$C8forest2-1$C7 - Episode 1 Forest 2 (ground)\n$C8forest2-2$C7 - Episode 1 Forest 2 (near Dome)\n$C8windpower$C7\n$C8overview$C7\n$C8seaside$C7 - Episode 2 Seaside\n$C8some?$C7\n$C8dmorgue$C7 - Destroyed Morgue\n$C8caelum$C7 - Caelum\n$C8digital$C7\n$C8boss1$C7\n$C8boss2$C7\n$C8boss3$C7\n$C8knight$C7 - Leukon Knight stage\n$C8sky$C7 - Via Tubus\n$C8morgue$C7 - Morgue"],
    ["Area list", "$C7Display stage code\nlist", "These values can be used with the $C6%swarp$C7 command.\n\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 Million\n10: Ruins 3   / Seabed Upper    / $C6Purgatory$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"],
    ["Debug commands", "$C7Display commands\nfor debugging\nnewserv itself", "The following commands may be useful for\ninvestigating bugs in newserv.\n\n%sdbgid: Enable or disable high ID preference.\n    When enabled, you'll be placed into the\n    latest slot in lobbies/games instead of\n    the earliest.\n%sgc: Send your own Guild Card to yourself.\n%srand <value in hex>: Set the random seed for\n    all games you create."]
  ],
  "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": [
    [0x01, "retrieval", "Retrieval", "$E$C6Quests that involve\nretrieving an object"],
    [0x01, "extermination", "Extermination", "$E$C6Quests that involve\ndestroying all\nmonsters"],
    [0x01, "events", "Events", "$E$C6Quests that are part\nof an event"],
    [0x01, "shops", "Shops", "$E$C6Quests that contain\nshops"],
    [0x01, "vr", "Virtual Reality", "$E$C6Quests that are\ndone in a simulator"],
    [0x81, "tower", "Control Tower", "$E$C6Quests that take\nplace at the Control\nTower"],
    [0x81, "team", "Team", "$E$C6Quests for you\nand your team\nmembers."],
    [0x02, "battle", "Battle", "$E$C6Battle mode rule\nsets"],
    [0x04, "challenge-ep1", "Challenge (Episode 1)", "$E$C6Challenge mode\nquests in Episode 1"],
    [0x84, "challenge-ep2", "Challenge (Episode 2)", "$E$C6Challenge mode\nquests in Episode 2"],
    [0x08, "solo-story", "Story", "$E$C6Quests that follow\nthe Episode 1 story"],
    [0x08, "solo-extra", "Solo", "$E$C6Quests that require\na single player"],
    [0x10, "government-ep1", "Hero in Red", "$E$CG-Red Ring Rico-\n$C6Quests that follow\nthe Episode 1\nstoryline"],
    [0x10, "government-ep2", "The Military's Hero", "$E$CG-Heathcliff Flowen-\n$C6Quests that follow\nthe Episode 2\nstoryline"],
    [0x10, "government-ep4", "The Meteor Impact Incident", "$E$C6Quests that follow\nthe Episode 4\nstoryline"],
    [0x20, "download", "Download", "$E$C6Quests to download\nto your Memory Card"],
    [0x40, "download-ep3-trial", "Trial Download", "$E$C6Quests to download\nto your Memory Card\nfrom Episode 3\nTrial Edition"],
    [0x40, "download-ep3", "Download", "$E$C6Quests to download\nto your Memory Card"],
  ],

  "QuestF95EResultItems": [
    [
      ["009000", "009001", "009002", "009003", "009004", "009005", "009006", "009007", "009008", "00B400", "01014E", "010307", "010341", "040000", "040000", "040000", "040000", "040000", "040000", "040000", "040000", "040000"],
      ["00B900", "003400", "000901", "009002", "009007", "002C00", "002D00", "010235", "000106", "000105", "040000", "040000", "040000", "040000", "040000", "040000", "040000", "040000", "040000"],
      ["00B600", "008A01", "001001", "001002", "001003", "001004", "001005", "001006", "002700", "000107", "040000", "040000", "040000", "040000", "040000", "040000", "040000", "040000", "040000"],
      ["00B700", "001001", "001002", "001003", "001004", "001005", "001006", "002900", "008A00", "008A02", "040000", "040000", "040000", "040000", "040000", "040000", "040000", "040000", "040000"],
    ], [
      ["01028B", "010228", "010134", "010303", "01030B", "031807", "005500", "010329", "01032F", "01032C", "010323", "040000", "040000", "040000", "040000", "040000", "040000", "040000", "040000", "040000"],
      ["01028C", "010215", "01028A", "010140", "010344", "010346", "010345", "010347", "031807", "040000", "040000", "040000", "040000", "040000", "040000", "040000", "040000", "040000"],
      ["00CB00", "003A00", "008C02", "01022B", "005000", "000B06", "000A06", "000A04", "005500", "002300", "003B00", "031807", "040000", "040000", "040000", "040000", "040000", "040000", "040000", "040000", "040000"],
      ["005100", "010352", "010320", "01033E", "010229", "031807", "000B04", "000A06", "005600", "003B00", "002300", "000A05", "040000", "040000", "040000", "040000", "040000", "040000", "040000", "040000", "040000"],
    ], [
      ["010132", "002F01", "00B300", "005E00", "000E02", "002E00", "009500", "009A00", "002F00", "01031B", "040000", "040000", "040000", "040000", "040000", "040000", "040000", "040000", "040000"],
      ["00C000", "00D200", "008D00", "01012E", "008B00", "000907", "004E00", "006D00", "001500", "008B02", "040000", "040000", "040000", "040000", "040000", "040000", "040000", "040000", "040000"],
      ["00AA00", "010141", "010151", "010223", "003F00", "004100", "000507", "000506", "000505", "040000", "040000", "040000", "040000", "040000", "040000", "040000", "040000", "040000"],
      ["00AF00", "004300", "010351", "00CD00", "009900", "006C00", "004500", "006B00", "001200", "006500", "010229", "001300", "040000", "040000", "040000", "040000", "040000", "040000", "040000", "040000", "040000"],
    ], [], [
      ["00BA00", "000D03", "004301", "000708", "004201", "00C900", "031000", "010295", "01028F", "010291"],
      ["00BB00", "000D03", "00B700", "004201", "000708", "00C900", "010136", "01028A", "010299", "010351", "01035B", "010352", "031000", "03180A"],
      ["00BA00", "00B400", "000D03", "00B600", "00B300", "000708", "004301", "00C900", "010136", "01028A", "010299", "010285", "010348", "010351", "01035B", "010352", "031000"],
      ["00BA00", "00B400", "000D03", "00B600", "00B300", "000708", "004301", "00C900", "010136", "01028A", "010299", "010285", "010348", "010351", "01035B", "010352"],
    ],
  ],
  "QuestF95FResultItems": [
    [0, "000100"], // Unused
    [10, "00D500"],
    [15, "000A07"],
    [20, "010157"],
  ],
  "QuestF960SuccessResultItems": [
    {
      "MesetaCost": 1000,
      "BaseProbability": 0x0A3D70A3, // 4%
      "ProbabilityUpgrade": 0x0A3D70A3, // 4%
      "Sunday": ["God/Power", "Cure/Poison", "Cure/Paralysis", "Cure/Slow", "Cure/Confuse", "Cure/Freeze", "Cure/Shock", "Tablet"],
      "Monday": ["Three Seals", "God/Mind", "God/Arm", "Hero/Ability", "HP/Revival", "PB/Create", "Devil/Battle", "Cure/Slow"],
      "Tuesday": ["God/HP", "God/Body", "PB/Create", "Cure/Poison", "Cure/Paralysis", "Cure/Freeze"],
      "Wednesday": ["God/Legs", "Hero/Ability", "TP/Revival", "Devil/Battle", "Cure/Slow", "Tablet"],
      "Thursday": ["God/TP", "Hero/Ability", "HP/Revival", "God/Technique", "Cure/Shock"],
      "Friday": ["God/Luck", "TP/Revival", "PB/Create", "Devil/Battle", "Cure/Paralysis", "Cure/Slow", "Cure/Shock", "Tablet"],
      "Saturday": ["Three Seals", "Hero/Ability", "God/Ability", "HP/Revival", "PB/Create", "Cure/Poison", "Cure/Paralysis", "Cure/Freeze"],
    }, {
      "MesetaCost": 10000,
      "BaseProbability": 0x0A3D70A3, // 4%
      "ProbabilityUpgrade": 0x0A3D70A3, // 4%
      "Sunday": ["Kaladbolg", "Durandal", "Blade Dance", "M&A60 Vise", "H&S25 Justice", "L&K14 Combat", "Club of Laconium", "Photon Claw", "Silence Claw", "Stag Cutlery", "Holy Ray", "Ancient Saber", "Elysion", "Twin Psychogun", "Guilty Light", "Red Scorpio", "DB's Saber", "DF Field", "Morning Prayer", "S-Parts ver1.16", "Standstill Shield", "Kasami Bracer", "Secure Feet", "AddSlot", "Photon Crystal", "Dragon Scale", "Rappy's Beak"],
      "Monday": ["Kaladbolg", "Flowen's Sword", "Last Survivor", "Dragon Slayer", "Rianov 303SNR", "H&S25 Justice", "L&K14 Combat", "Crush Bullet", "Meteor Smash", "Final Impact", "Club of Zumiuran", "Brave Hammer", "Alive Aqhu", "Ice Staff:Dagon", "Double Saber", "Elysion", "Red Saber", "Meteor Cudgel", "Red Sword", "Panzer Faust", "Plantain Leaf", "Fatsia", "Sange", "Kamui", "Talis", "DB's Saber", "Guardianna", "Regenerate Gear", "DB's Shield", "AddSlot", "Photon Crystal", "Dragon Scale", "Rappy's Beak"],
      "Tuesday": ["Blade Dance", "Bloody Art", "Cross Scar", "Brionac", "Diska of Braveman", "M&A60 Vise", "Club of Laconium", "Mace of Adaman", "Twin Brand", "Brave Knuckle", "Angry Fist", "God Hand", "Red Dagger", "Maser Beam", "Asuka", "Talis", "DB's Saber", "Red Coat", "Secret Gear", "Regenerate Gear", "Black Ring", "AddSlot", "Photon Crystal", "Dragon Scale", "Rappy's Beak"],
      "Wednesday": ["Bloody Art", "Brionac", "Vjaya", "Rianov 303SNR", "Battle Verge", "Brave Hammer", "Alive Aqhu", "Soul Banish", "Red Partisan", "Yasminkov 2000H", "Yasminkov 7000V", "Maser Beam", "Musashi", "Yamato", "Zanba", "Ruby Bullet", "Sacred Guard", "S-Parts ver1.16", "S-Parts ver2.01", "Light Relief", "Attribute Wall", "AddSlot", "Photon Crystal", "Dragon Scale", "Rappy's Beak"],
      "Thursday": ["Gae Bolg", "Slicer of Assassin", "Diska of Liberator", "Diska of Braveman", "Varista", "M&A60 Vise", "Mace of Adaman", "Battle Verge", "Fire Scepter:Agni", "Ice Staff:Dagon", "Storm Wand:Indra", "Twin Brand", "Spread Needle", "Holy Ray", "Inferno Bazooka", "Victor Axe", "Flight Cutter", "Red Slicer", "Branch of Pakupaku", "Heart of Poumn", "Photon Launcher", "Guilty Light", "Talis", "Demolition Comet", "Ruby Bullet", "Guard Wave", "DF Field", "Luminous Field", "Morning Prayer", "Red Coat", "Infantry Mantle", "Regenerate Gear", "AddSlot", "Photon Crystal", "Dragon Scale", "Rappy's Beak"],
      "Friday": ["Varista", "Custom Ray ver.OO", "Bravace", "Visk-235W", "Rianov 303SNR", "M&A60 Vise", "H&S25 Justice", "Crush Bullet", "Club of Laconium", "Fire Scepter:Agni", "Victor Axe", "Caduceus", "Sting Tip", "Ancient Saber", "Red Saber", "Red Handgun", "Twin Psychogun", "Fatsia", "The Sigh of a God", "Guilty Light", "Talis", "Mahu", "Graviton Plate", "Attribute Plate", "Aura Field", "Electro Frame", "Sacred Cloth", "Smoking Plate", "Red Coat", "AddSlot", "Photon Crystal", "Dragon Scale", "Rappy's Beak"],
      "Saturday": ["Kaladbolg", "Varista", "Visk-235W", "Wals-MK2", "Justy-23ST", "Rianov 303SNR", "Club of Zumiuran", "Storm Wand:Indra", "Double Saber", "Caduceus", "Sting Tip", "Suppressed Gun", "Ancient Saber", "Twin Psychogun", "Red Mechgun", "Windmill", "Plantain Leaf", "Fatsia", "Revival Garment", "Spirit Garment", "Stink Frame", "D-Parts ver1.01", "D-Parts ver2.10", "Sense Plate", "Graviton Plate", "Custom Frame ver.OO", "AddSlot", "Photon Crystal", "Dragon Scale", "Rappy's Beak"],
    }, {
      "MesetaCost": 100000,
      "BaseProbability": 0x0A3D70A3, // 4%
      "ProbabilityUpgrade": 0x0A3D70A3, // 4%
      "Sunday": ["Zero Divide", "Asteron Belt", "Raikiri", "Skyly Card", "Purplenum Card", "Oran Card", "Guren", "Black Odoshi Red Nimaidou", "V101"],
      "Monday": ["Earth Wand Brownie", "Viridia Card", "Greenill Card", "Yellowboze Card", "Yunchang", "Black Odoshi Domaru", "Revival Cuirass", "Gratia", "Regenerate Gear B.P.", "Honeycomb Reflector", "V501", "Heavenly/Battle"],
      "Tuesday": ["Zero Divide", "Asteron Belt", "Phoenix Claw", "Skyly Card", "Pinkal Card", "Whitill Card", "Morning Glory", "Ignition Cloak", "Bunny Ears", "Cat Ears", "V502", "Smartlink"],
      "Wednesday": ["Phoenix Claw", "Bluefull Card", "Purplenum Card", "Pinkal Card", "Morning Glory", "Cannon Rouge", "Clio", "Morning Prayer", "Sacred Guard", "Honeycomb Reflector", "Heavenly/Legs"],
      "Thursday": ["Asteron Belt", "Earth Wand Brownie", "Phoenix Claw", "Raikiri", "Greenill Card", "Redria Card", "Whitill Card", "Flamberge", "Cannon Rouge", "Glide Divine", "Star Cuirass", "Stink Shield"],
      "Friday": ["Zero Divide", "Phoenix Claw", "Raikiri", "Power Maser", "Viridia Card", "Yellowboze Card", "Ophelie Seize", "Black Odoshi Domaru", "Black Odoshi Red Nimaidou"],
      "Saturday": ["Earth Wand Brownie", "Bluefull Card", "Redria Card", "Oran Card", "Kusanagi", "Honeycomb Reflector"],
    },
  ],
  "QuestF960FailureResultItems": {
    "Sunday": ["Monomate x1", "Dimate x1", "Trimate x1", "Monofluid x1", "Difluid x1", "Trifluid x1", "Sol Atomizer x1", "Moon Atomizer x1", "Antidote x1", "Antiparalysis x1", "Telepipe x1", "Trap Vision x1"],
    "Monday": ["Monomate x1", "Dimate x1", "Trimate x1", "Monofluid x1", "Difluid x1", "Trifluid x1", "Sol Atomizer x1", "Moon Atomizer x1", "Antidote x1", "Antiparalysis x1", "Telepipe x1", "Trap Vision x1"],
    "Tuesday": ["Monomate x1", "Dimate x1", "Trimate x1", "Monofluid x1", "Difluid x1", "Trifluid x1", "Sol Atomizer x1", "Moon Atomizer x1", "Antidote x1", "Antiparalysis x1", "Telepipe x1", "Trap Vision x1"],
    "Wednesday": ["Monomate x1", "Dimate x1", "Trimate x1", "Monofluid x1", "Difluid x1", "Trifluid x1", "Sol Atomizer x1", "Moon Atomizer x1", "Antidote x1", "Antiparalysis x1", "Telepipe x1", "Trap Vision x1"],
    "Thursday": ["Monomate x1", "Dimate x1", "Trimate x1", "Monofluid x1", "Difluid x1", "Trifluid x1", "Sol Atomizer x1", "Moon Atomizer x1", "Antidote x1", "Antiparalysis x1", "Telepipe x1", "Trap Vision x1"],
    "Friday": ["Monomate x1", "Dimate x1", "Trimate x1", "Monofluid x1", "Difluid x1", "Trifluid x1", "Sol Atomizer x1", "Moon Atomizer x1", "Antidote x1", "Antiparalysis x1", "Telepipe x1", "Trap Vision x1"],
    "Saturday": ["Monomate x1", "Dimate x1", "Trimate x1", "Monofluid x1", "Difluid x1", "Trifluid x1", "Sol Atomizer x1", "Moon Atomizer x1", "Antidote x1", "Antiparalysis x1", "Telepipe x1", "Trap Vision x1"],
  },
  "SecretLotteryResultItems": [
    "000106", "000107", "000206", "000407", "000606", "000807", "000D01",
    "001300", "002000", "002700", "002C00", "003400", "003900", "003C00",
    "003E00", "004100", "004400", "004500", "004C00", "006A00", "008F07",
    "009A00", "01011B", "01011C", "010129", "010129", "010130", "010131",
    "010132", "010133", "010221", "010224", "010229", "01022B", "010235",
    "031000",
  ],
  "BBGlobalEXPMultiplier": 1,

  "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": "UnionGuard",
      "Name": "Union Guard",
      "Description": "Create a Union Guard\nshield",
      "IsUnique": false,
      "Points": 100,
      // TODO: There are 4 of these in names-v4.json; which should we use?
      "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],
  },
  "PreventPersistQuestFlags": [0x0046, 0x0047, 0x0048],
}
